Rename DefaultTimeMark to TimeSource.Monotonic.ValueTimeMark
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
package kotlin.time
|
||||
|
||||
import kotlin.wasm.internal.ExternalInterfaceType
|
||||
import kotlin.time.TimeSource.Monotonic.ValueTimeMark
|
||||
|
||||
@JsFun("() => typeof globalThis !== 'undefined' && typeof globalThis.performance !== 'undefined' ? globalThis.performance : null")
|
||||
private external fun tryGetPerformance(): ExternalInterfaceType?
|
||||
@@ -24,16 +25,16 @@ internal actual object MonotonicTimeSource : TimeSource {
|
||||
private fun read(): Double =
|
||||
if (performance != null) getPerformanceNow(performance) else dateNow()
|
||||
|
||||
actual override fun markNow(): DefaultTimeMark = DefaultTimeMark(read())
|
||||
actual fun elapsedFrom(timeMark: DefaultTimeMark): Duration = (read() - timeMark.reading as Double).milliseconds
|
||||
actual fun adjustReading(timeMark: DefaultTimeMark, duration: Duration): DefaultTimeMark =
|
||||
DefaultTimeMark(sumCheckNaN(timeMark.reading as Double + duration.toDouble(DurationUnit.MILLISECONDS)))
|
||||
actual override fun markNow(): ValueTimeMark = ValueTimeMark(read())
|
||||
actual fun elapsedFrom(timeMark: ValueTimeMark): Duration = (read() - timeMark.reading as Double).milliseconds
|
||||
actual fun adjustReading(timeMark: ValueTimeMark, duration: Duration): ValueTimeMark =
|
||||
ValueTimeMark(sumCheckNaN(timeMark.reading as Double + duration.toDouble(DurationUnit.MILLISECONDS)))
|
||||
|
||||
override fun toString(): String =
|
||||
if (performance != null) "TimeSource(globalThis.performance.now())" else "TimeSource(Date.now())"
|
||||
}
|
||||
|
||||
@Suppress("ACTUAL_WITHOUT_EXPECT") // visibility
|
||||
internal actual typealias DefaultTimeMarkReading = Double
|
||||
internal actual typealias ValueTimeMarkReading = Double
|
||||
|
||||
private fun sumCheckNaN(value: Double): Double = value.also { if (it.isNaN()) throw IllegalArgumentException("Summing infinities of different signs") }
|
||||
Reference in New Issue
Block a user