diff options
Diffstat (limited to 'js/src/builtin/temporal/TemporalUnit.h')
-rw-r--r-- | js/src/builtin/temporal/TemporalUnit.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/js/src/builtin/temporal/TemporalUnit.h b/js/src/builtin/temporal/TemporalUnit.h index 3c8801cb85..0294c1062d 100644 --- a/js/src/builtin/temporal/TemporalUnit.h +++ b/js/src/builtin/temporal/TemporalUnit.h @@ -52,6 +52,31 @@ constexpr int64_t ToNanoseconds(TemporalUnit unit) { MOZ_CRASH("Unexpected temporal unit"); } +constexpr int64_t ToMicroseconds(TemporalUnit unit) { + switch (unit) { + case TemporalUnit::Day: + return 86'400'000'000; + case TemporalUnit::Hour: + return 3'600'000'000; + case TemporalUnit::Minute: + return 60'000'000; + case TemporalUnit::Second: + return 1'000'000; + case TemporalUnit::Millisecond: + return 1'000; + case TemporalUnit::Microsecond: + return 1; + + case TemporalUnit::Auto: + case TemporalUnit::Year: + case TemporalUnit::Month: + case TemporalUnit::Week: + case TemporalUnit::Nanosecond: + break; + } + MOZ_CRASH("Unexpected temporal unit"); +} + constexpr int64_t ToMilliseconds(TemporalUnit unit) { switch (unit) { case TemporalUnit::Day: @@ -76,6 +101,29 @@ constexpr int64_t ToMilliseconds(TemporalUnit unit) { MOZ_CRASH("Unexpected temporal unit"); } +constexpr int64_t ToSeconds(TemporalUnit unit) { + switch (unit) { + case TemporalUnit::Day: + return 86'400; + case TemporalUnit::Hour: + return 3'600; + case TemporalUnit::Minute: + return 60; + case TemporalUnit::Second: + return 1; + + case TemporalUnit::Auto: + case TemporalUnit::Year: + case TemporalUnit::Month: + case TemporalUnit::Week: + case TemporalUnit::Millisecond: + case TemporalUnit::Microsecond: + case TemporalUnit::Nanosecond: + break; + } + MOZ_CRASH("Unexpected temporal unit"); +} + constexpr int64_t UnitsPerDay(TemporalUnit unit) { switch (unit) { case TemporalUnit::Day: |