summaryrefslogtreecommitdiffstats
path: root/js/src/builtin/temporal/TemporalUnit.h
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/builtin/temporal/TemporalUnit.h')
-rw-r--r--js/src/builtin/temporal/TemporalUnit.h48
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: