Package-level declarations

Types

Link copied to clipboard

ConcurrentValueCache is a thread-safe ValueCache. ConcurrentValueCache caches a value based on dependencies. Any time a dependency changes, the value is recomputed. If the dependencies do not change, the cached value will be returned.

Link copied to clipboard
class Deferrer
Link copied to clipboard
external object JSON
Link copied to clipboard
external interface JsResult<T : JsAny?> : JsAny
Link copied to clipboard
data class KmpUrl(val scheme: String, val username: String?, val password: String?, val host: String, val port: Int?, val path: String, val query: String, val fragment: String, val encodedUrl: String)

A multiplatform URL parser

Link copied to clipboard
class LazyComputed<P1, R>(initializer: (P1) -> R)

A Lazy value initialized with a parameter

Link copied to clipboard
Link copied to clipboard
data class SemVer(val major: Int = 0, val minor: Int = 0, val patch: Int = 0) : Comparable<SemVer>
Link copied to clipboard
Link copied to clipboard
class ValueCache<T>

ValueCache caches a value based on dependencies. Any time a dependency changes, the value is recomputed. If the dependencies do not change, the cached value will be returned.

Properties

Link copied to clipboard
actual val Platform.Companion.current: Platform
actual val Platform.Companion.current: Platform
Link copied to clipboard
val Path.pathString: String

Functions

Link copied to clipboard
fun Path.absolute(): Path
Link copied to clipboard
inline suspend fun <T> channelFlowWithDefer(crossinline block: suspend ProducerScope<T>.(defer: (() -> Unit) -> Unit) -> Unit): Flow<T>
Link copied to clipboard
inline suspend fun <T> channelFlowWithSuspendDefer(crossinline block: suspend ProducerScope<T>.(defer: (suspend () -> Unit) -> Unit) -> Unit): Flow<T>
Link copied to clipboard
fun <T> Collection<T>.containsAll(vararg list: T): Boolean
Link copied to clipboard
fun <T> Iterable<T>.containsAny(vararg list: T): Boolean
fun <T> Iterable<T>.containsAny(list: List<T>): Boolean
Link copied to clipboard
fun Uint8Array.copyInto(destination: ByteArray, destinationOffset: Int = 0, startIndex: Int = 0, endIndex: Int = length)
Link copied to clipboard
inline suspend fun <T> coroutineScopeWithDefer(crossinline block: suspend CoroutineScope.(defer: (() -> Unit) -> Unit) -> T): T
Link copied to clipboard
inline suspend fun <T> coroutineScopeWithSuspendDefer(crossinline block: suspend CoroutineScope.(defer: (suspend () -> Unit) -> Unit) -> T): T
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
inline fun <T : Enum<T>> EnumSerializer(crossinline value: (T) -> Any, default: T? = null): KSerializer<T>

A kotlinx.serialization serializer that allow serialization to/from a specific value type while also allowing for an optional default value. The optional value only works for values of the same type. KotlinX Serialization throws an exception for anything of an unexpected type.

Link copied to clipboard
inline fun <R> Iterable<*>.filterIsInstance(predicate: (R) -> Boolean): List<R>
Link copied to clipboard
inline fun <R, C : MutableCollection<in R>> Iterable<*>.filterIsInstanceTo(destination: C, predicate: (R) -> Boolean): C
Link copied to clipboard
fun ByteArray.find(pattern: ByteArray, fromIndex: Int = 0): Int
Link copied to clipboard
inline fun <R> Iterable<Any>.findInstance(predicate: (R) -> Boolean = { true }): R?
Link copied to clipboard
inline fun <T, R> Iterable<T>.findMapped(transform: (T) -> R?): R?
Link copied to clipboard
inline suspend fun <T> flowWithDefer(crossinline block: suspend FlowCollector<T>.(defer: (() -> Unit) -> Unit) -> Unit): Flow<T>
Link copied to clipboard
inline suspend fun <T> flowWithSuspendDefer(crossinline block: suspend FlowCollector<T>.(defer: (suspend () -> Unit) -> Unit) -> Unit): Flow<T>
Link copied to clipboard
fun <T> List<List<T>>.intersect(): List<T>
Link copied to clipboard
fun <T : JsAny> jsTryOutcome(block: () -> T): Outcome<T, Any>
Link copied to clipboard
fun LocalDateTime.kmpFormat(format: String): String
Link copied to clipboard
inline fun <T, R> List<T>.lastNotNullOfOrNull(transform: (T) -> R?): R?
Link copied to clipboard
inline fun <K, V, R> Map<K, V>.mapValuesNotNull(transform: (Map.Entry<K, V>) -> R?): Map<K, R>
Link copied to clipboard
inline suspend fun <T> measureTimePrinted(tag: String? = null, block: suspend () -> T): T
Link copied to clipboard
fun printAll(vararg args: Any?)
Link copied to clipboard
fun <T> T.printed(): T
Link copied to clipboard
Link copied to clipboard
fun Float.snapTo(value: Float): Float
fun Int.snapTo(value: Int): Int
Link copied to clipboard
Link copied to clipboard
fun ByteArray.toArrayBuffer(startIndex: Int = 0, byteCount: Int = size - startIndex): ArrayBuffer
Link copied to clipboard
fun ArrayBuffer.toByteArray(): ByteArray
Link copied to clipboard
fun Double.toBytes(buffer: ByteArray = ByteArray(8), start: Int = 0): ByteArray
fun Float.toBytes(buffer: ByteArray = ByteArray(4), start: Int = 0): ByteArray
fun Int.toBytes(buffer: ByteArray = ByteArray(4), start: Int = 0): ByteArray
fun Long.toBytes(buffer: ByteArray = ByteArray(8), start: Int = 0): ByteArray
fun Short.toBytes(buffer: ByteArray = ByteArray(2), start: Int = 0): ByteArray
fun UInt.toBytes(buffer: ByteArray = ByteArray(4), start: Int = 0): ByteArray
fun ULong.toBytes(buffer: ByteArray = ByteArray(8), start: Int = 0): ByteArray
fun UShort.toBytes(buffer: ByteArray = ByteArray(2), start: Int = 0): ByteArray
Link copied to clipboard
fun Double.toBytesLe(buffer: ByteArray = ByteArray(8), start: Int = 0): ByteArray
fun Float.toBytesLe(buffer: ByteArray = ByteArray(4), start: Int = 0): ByteArray
fun Int.toBytesLe(buffer: ByteArray = ByteArray(4), start: Int = 0): ByteArray
fun Long.toBytesLe(buffer: ByteArray = ByteArray(8), start: Int = 0): ByteArray
fun Short.toBytesLe(buffer: ByteArray = ByteArray(2), start: Int = 0): ByteArray
fun UInt.toBytesLe(buffer: ByteArray = ByteArray(4), start: Int = 0): ByteArray
fun ULong.toBytesLe(buffer: ByteArray = ByteArray(8), start: Int = 0): ByteArray
fun UShort.toBytesLe(buffer: ByteArray = ByteArray(2), start: Int = 0): ByteArray
Link copied to clipboard
fun ByteArray.toDouble(start: Int = 0): Double
Link copied to clipboard
fun ByteArray.toDoubleLe(start: Int = 0): Double
Link copied to clipboard
fun ByteArray.toFloat(start: Int = 0): Float
Link copied to clipboard
fun ByteArray.toFloatLe(start: Int = 0): Float
Link copied to clipboard
fun ByteArray.toInt(start: Int = 0): Int
Link copied to clipboard
fun ByteArray.toIntLe(start: Int = 0): Int
Link copied to clipboard

Converts a Long to a JsNumber Note: this potentially loses precision just like the int versions. JsNumbers are 64-bit floating values that can support higher numbers with less precision than Kotlin Long

Link copied to clipboard
fun ByteArray.toLong(start: Int = 0): Long

Converts a JsNumber to Long Note: this potentially loses precision just like the int versions. JsNumbers are 64-bit floating values that can support higher numbers with less precision than Kotlin Long

Link copied to clipboard
fun ByteArray.toLongLe(start: Int = 0): Long
Link copied to clipboard
fun ByteArray.toShort(start: Int = 0): Short
Link copied to clipboard
fun ByteArray.toShortLe(start: Int = 0): Short
Link copied to clipboard
fun ByteArray.toUInt(start: Int = 0): UInt
Link copied to clipboard
fun ArrayBuffer.toUint8Array(): Uint8Array
Link copied to clipboard
fun ByteArray.toUIntLe(start: Int = 0): UInt
Link copied to clipboard
fun ByteArray.toULong(start: Int = 0): ULong
Link copied to clipboard
fun ByteArray.toULongLe(start: Int = 0): ULong
Link copied to clipboard
fun ByteArray.toUShort(start: Int = 0): UShort
Link copied to clipboard
fun ByteArray.toUShortLe(start: Int = 0): UShort
Link copied to clipboard
inline fun <K, V> Map<K, V>.update(block: MutableMap<K, V>.() -> Unit): Map<K, V>
Link copied to clipboard
inline fun <T> withDefer(block: (defer: (() -> Unit) -> Unit) -> T): T
Link copied to clipboard
inline suspend fun <T> withSuspendDefer(block: (defer: (suspend () -> Unit) -> Unit) -> T): T