UNPKG

vremel

Version:

JavaScript date utility library for Temporal API

148 lines 4.11 kB
/** @internal */ export function isInstant(dt) { return dt[Symbol.toStringTag] === "Temporal.Instant"; } /** @internal */ export function isZonedDateTime(dt) { return dt[Symbol.toStringTag] === "Temporal.ZonedDateTime"; } /** @internal */ export function isPlainDateTime(dt) { return dt[Symbol.toStringTag] === "Temporal.PlainDateTime"; } /** @internal */ export function isPlainTime(dt) { return dt[Symbol.toStringTag] === "Temporal.PlainTime"; } /** @internal */ export function isPlainDate(dt) { return dt[Symbol.toStringTag] === "Temporal.PlainDate"; } /** @internal */ export function isPlainYearMonth(dt) { return dt[Symbol.toStringTag] === "Temporal.PlainYearMonth"; } /** @internal */ export function isPlainMonthDay(dt) { return dt[Symbol.toStringTag] === "Temporal.PlainMonthDay"; } /** @internal */ export function isDuration(dt) { return dt[Symbol.toStringTag] === "Temporal.Duration"; } /** @internal */ export function isInstantArray(a) { return a.every((dt) => isInstant(dt)); } /** @internal */ export function isZonedDateTimeArray(a) { return a.every((dt) => isZonedDateTime(dt)); } /** @internal */ export function isPlainDateTimeArray(a) { return a.every((dt) => isPlainDateTime(dt)); } /** @internal */ export function isPlainDateArray(a) { return a.every((dt) => isPlainDate(dt)); } /** @internal */ export function isPlainTimeArray(a) { return a.every((dt) => isPlainTime(dt)); } /** @internal */ export function isPlainYearMonthArray(a) { return a.every((dt) => isPlainYearMonth(dt)); } /** @internal */ export function isPlainMonthDayArray(a) { return a.every((dt) => isPlainMonthDay(dt)); } /** @internal */ export function isDurationArray(a) { return a.every((dt) => isDuration(dt)); } /** @internal */ export function isInstantConstructor(c) { return isInstant(c.from("2024-01-01T00:00:00+00:00[Europe/London]")); } /** @internal */ export function isZonedDateTimeConstructor(c) { return isZonedDateTime(c.from("2024-01-01T00:00:00+00:00[Europe/London]")); } /** @internal */ export function isPlainDateConstructor(c) { return isPlainDate(c.from("2024-01-01T00:00:00+00:00[Europe/London]")); } /** @internal */ export function isPlainTimeConstructor(c) { return isPlainTime(c.from("2024-01-01T00:00:00+00:00[Europe/London]")); } /** @internal */ export function isPlainDateTimeConstructor(c) { return isPlainDateTime(c.from("2024-01-01T00:00:00+00:00[Europe/London]")); } /** @internal */ export function isPlainYearMonthConstructor(c) { return isPlainYearMonth(c.from("2024-01-01T00:00:00+00:00[Europe/London]")); } /** @internal */ export function isPlainMonthDayConstructor(c) { return isPlainMonthDay(c.from("2024-01-01T00:00:00+00:00[Europe/London]")); } /** @internal */ export function getTypeName(dt) { if (isDuration(dt)) { return "Temporal.Duration"; } if (isInstant(dt)) { return "Temporal.Instant"; } if (isZonedDateTime(dt)) { return "Temporal.ZonedDateTime"; } if (isPlainDate(dt)) { return "Temporal.PlainDate"; } if (isPlainTime(dt)) { return "Temporal.PlainTime"; } if (isPlainDateTime(dt)) { return "Temporal.PlainDateTime"; } if (isPlainYearMonth(dt)) { return "Temporal.PlainYearMonth"; } if (isPlainMonthDay(dt)) { return "Temporal.PlainMonthDay"; } throw new Error("Unknown type"); } export function getConstructor(dt) { if (isDuration(dt)) { return dt.constructor; } if (isInstant(dt)) { return dt.constructor; } if (isZonedDateTime(dt)) { return dt.constructor; } if (isPlainDate(dt)) { return dt.constructor; } if (isPlainTime(dt)) { return dt.constructor; } if (isPlainDateTime(dt)) { return dt.constructor; } if (isPlainYearMonth(dt)) { return dt.constructor; } if (isPlainMonthDay(dt)) { return dt.constructor; } throw new Error(`Unknown object: ${dt}`); } //# sourceMappingURL=type-utils.js.map