summaryrefslogtreecommitdiff
path: root/core/src/commonMain/kotlin/coffee/liz/rookery/Platform.kt
blob: efcb3c06fc53b7d4d42008e16cd700f607701ea8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package coffee.liz.rookery

/** Wall-clock time in Unix epoch milliseconds. */
expect fun epochMillis(): Long

/** Monotonic milliseconds for measuring durations; never goes backwards. */
expect fun monoMillis(): Long

/** A random identifier, unique enough to name devices and new entities. */
expect fun randomId(): String

/** Today's date here, as yyyy-mm-dd. */
expect fun today(): String

/** Mutual exclusion on [lock] (reentrant). */
expect fun <T> locked(lock: Any, block: () -> T): T