Duration overview
Added in v1.0.0
Table of contents
constructors
days
Signature
export declare const days: (days: number) => Duration
Added in v1.0.0
hours
Signature
export declare const hours: (hours: number) => Duration
Added in v1.0.0
infinity
Signature
export declare const infinity: Duration
Added in v1.0.0
micros
Signature
export declare const micros: (micros: bigint) => Duration
Added in v1.0.0
millis
Signature
export declare const millis: (millis: number) => Duration
Added in v1.0.0
minutes
Signature
export declare const minutes: (minutes: number) => Duration
Added in v1.0.0
nanos
Signature
export declare const nanos: (nanos: bigint) => Duration
Added in v1.0.0
seconds
Signature
export declare const seconds: (seconds: number) => Duration
Added in v1.0.0
weeks
Signature
export declare const weeks: (weeks: number) => Duration
Added in v1.0.0
zero
Signature
export declare const zero: Duration
Added in v1.0.0
getters
toHrTime
Signature
export declare const toHrTime: (self: DurationInput) => readonly [seconds: number, nanos: number]
Added in v1.0.0
toMillis
Signature
export declare const toMillis: (self: DurationInput) => number
Added in v1.0.0
toNanos
Get the duration in nanoseconds as a bigint.
If the duration is infinite, returns Option.none()
Signature
export declare const toNanos: (self: DurationInput) => Option.Option<bigint>
Added in v1.0.0
toSeconds
Signature
export declare const toSeconds: (self: DurationInput) => number
Added in v1.0.0
unsafeToNanos
Get the duration in nanoseconds as a bigint.
If the duration is infinite, it throws an error.
Signature
export declare const unsafeToNanos: (self: DurationInput) => bigint
Added in v1.0.0
guards
isDuration
Signature
export declare const isDuration: (u: unknown) => u is Duration
Added in v1.0.0
instances
Equivalence
Signature
export declare const Equivalence: equivalence.Equivalence<Duration>
Added in v1.0.0
Order
Signature
export declare const Order: order.Order<Duration>
Added in v1.0.0
math
sum
Signature
export declare const sum: {
(that: DurationInput): (self: DurationInput) => Duration
(self: DurationInput, that: DurationInput): Duration
}
Added in v1.0.0
times
Signature
export declare const times: {
(times: number): (self: DurationInput) => Duration
(self: DurationInput, times: number): Duration
}
Added in v1.0.0
models
Duration (interface)
Signature
export interface Duration extends Equal.Equal, Pipeable, Inspectable {
readonly [TypeId]: TypeId
readonly value: DurationValue
}
Added in v1.0.0
DurationInput (type alias)
Signature
export type DurationInput =
| Duration
| number // millis
| bigint // nanos
| `${number} ${Unit}`
Added in v1.0.0
DurationValue (type alias)
Signature
export type DurationValue = { _tag: 'Millis'; millis: number } | { _tag: 'Nanos'; nanos: bigint } | { _tag: 'Infinity' }
Added in v1.0.0
Unit (type alias)
Signature
export type Unit = 'nanos' | 'micros' | 'millis' | 'seconds' | 'minutes' | 'hours' | 'days' | 'weeks'
Added in v1.0.0
pattern matching
match
Signature
export declare const match: {
<A, B>(options: { readonly onMillis: (millis: number) => A; readonly onNanos: (nanos: bigint) => B }): (
self: DurationInput
) => A | B
<A, B>(
self: DurationInput,
options: { readonly onMillis: (millis: number) => A; readonly onNanos: (nanos: bigint) => B }
): A | B
}
Added in v1.0.0
matchWith
Signature
export declare const matchWith: {
<A, B>(
that: DurationInput,
options: {
readonly onMillis: (self: number, that: number) => A
readonly onNanos: (self: bigint, that: bigint) => B
}
): (self: DurationInput) => A | B
<A, B>(
self: DurationInput,
that: DurationInput,
options: {
readonly onMillis: (self: number, that: number) => A
readonly onNanos: (self: bigint, that: bigint) => B
}
): A | B
}
Added in v1.0.0
predicates
between
Checks if a Duration
is between a minimum
and maximum
value.
Signature
export declare const between: {
(minimum: DurationInput, maximum: DurationInput): (self: DurationInput) => boolean
(self: DurationInput, minimum: DurationInput, maximum: DurationInput): boolean
}
Added in v1.0.0
equals
Signature
export declare const equals: {
(that: DurationInput): (self: DurationInput) => boolean
(self: DurationInput, that: DurationInput): boolean
}
Added in v1.0.0
greaterThan
Signature
export declare const greaterThan: {
(that: DurationInput): (self: DurationInput) => boolean
(self: DurationInput, that: DurationInput): boolean
}
Added in v1.0.0
greaterThanOrEqualTo
Signature
export declare const greaterThanOrEqualTo: {
(that: DurationInput): (self: DurationInput) => boolean
(self: DurationInput, that: DurationInput): boolean
}
Added in v1.0.0
lessThan
Signature
export declare const lessThan: {
(that: DurationInput): (self: DurationInput) => boolean
(self: DurationInput, that: DurationInput): boolean
}
Added in v1.0.0
lessThanOrEqualTo
Signature
export declare const lessThanOrEqualTo: {
(that: DurationInput): (self: DurationInput) => boolean
(self: DurationInput, that: DurationInput): boolean
}
Added in v1.0.0
symbol
TypeId (type alias)
Signature
export type TypeId = typeof TypeId
Added in v1.0.0
utils
clamp
Signature
export declare const clamp: {
(minimum: DurationInput, maximum: DurationInput): (self: DurationInput) => Duration
(self: DurationInput, minimum: DurationInput, maximum: DurationInput): Duration
}
Added in v1.0.0
decode
Signature
export declare const decode: (input: DurationInput) => Duration
Added in v1.0.0
max
Signature
export declare const max: {
(that: DurationInput): (self: DurationInput) => Duration
(self: DurationInput, that: DurationInput): Duration
}
Added in v1.0.0
min
Signature
export declare const min: {
(that: DurationInput): (self: DurationInput) => Duration
(self: DurationInput, that: DurationInput): Duration
}
Added in v1.0.0