Package-level declarations

Types

Link copied to clipboard
interface Buildable<out T>

A type that knows how to build another type

Link copied to clipboard
class CachedValue<T>(value: ExpiringValue<T>? = null, bufferTime: <Error class: unknown class> = Duration.ZERO, clock: Clock = Clock.System) : Closeable

Expiry aware value

Link copied to clipboard
interface CanDeepCopy<out T>

Indicates that an object supports a deepCopy operation which will return a copy that can be safely mutated without affecting other instances.

Link copied to clipboard
class DslBuilderProperty<SuperBuilder, SuperBuilt>(defaultFactory: DslFactory<SuperBuilder, SuperBuilt>, toBuilderApplicator: SuperBuilt.() -> SuperBuilder.() -> Unit, managedTransform: (SuperBuilt) -> SuperBuilt = { it })

Encapsulates a mutable property for a complex (i.e., non-scalar) type meant to be modified in a mutable builder implementation. This single property provides an instance field for setting a literal value and two dsl overloads for providing configuration for a dynamically-constructed instance. Note that callers should not read the value of instance and should instead use the supply function.

Link copied to clipboard
interface DslFactory<out Builder, out Built>

A factory type that can turn a Builder instance into a Built instance. Implementing this factory type can enable usage of custom classes in DSL builders.

Link copied to clipboard

Provide a mapping from key to value

Link copied to clipboard
data class ExpiringValue<T>(val value: T, val expiresAt: Instant)

A value with an expiration

Link copied to clipboard
interface Filesystem

Abstraction over filesystem

Link copied to clipboard
interface LazyAsyncValue<out T>

A value that is produced asynchronously and cached after first initialized.

Link copied to clipboard
data class OperatingSystem(val family: OsFamily, val version: String?)
Link copied to clipboard
Link copied to clipboard

Provide a mapping from (JVM) property key to value

Link copied to clipboard

Dedupe multiple calls for a resource. A new SingleFlightGroup should be created for each async call that requires debouncing.

Link copied to clipboard
class TestPlatformProvider(env: Map<String, String> = emptyMap(), props: Map<String, String> = emptyMap(), fs: Map<String, String> = emptyMap(), os: OperatingSystem = OperatingSystem(OsFamily.Linux, "test")) : PlatformProvider, Filesystem

An implementation of PlatformProvider meant for testing

Link copied to clipboard
data class Uuid(val high: Long, val low: Long)

A KMP-compatible implementation of UUID, necessary because no cross-platform implementation exists yet.

Properties

Link copied to clipboard

Determines the length of a collection. This is a synonym for Collection.size.

Functions

Link copied to clipboard
fun <T> asyncLazy(initializer: suspend () -> T): LazyAsyncValue<T>

Create a LazyAsyncValue with the given initializer

Link copied to clipboard
fun <Error class: unknown class>.derivedName(name: String): <Error class: unknown class>

Append to the existing coroutine name if it exists in the context otherwise use name as is.

Link copied to clipboard
Link copied to clipboard
inline fun <T> <Error class: unknown class><T>.mapErr(onFailure: (Throwable) -> Throwable): <Error class: unknown class><T>

Maps the exception to a new error if this instance represents Result.isFailure, leaving a Result.isSuccess value untouched.

Link copied to clipboard
fun <T> mergeSequential(vararg flows: <Error class: unknown class><T>): <Error class: unknown class><T>
Link copied to clipboard
Link copied to clipboard
fun truthiness(value: Any?): Boolean

Evaluates the "truthiness" of a value based on JMESPath definitions.

Link copied to clipboard
fun Any?.type(): String

Returns a JS type as a string