diff options
| author | Shipwreckt <me@shipwreckt.co.uk> | 2025-10-31 20:02:14 +0000 |
|---|---|---|
| committer | Shipwreckt <me@shipwreckt.co.uk> | 2025-10-31 20:02:14 +0000 |
| commit | 7a52ddeba2a68388b544f529d2d92104420f77b0 (patch) | |
| tree | 15ddd47457a2cb4a96060747437d36474e4f6b4e /node_modules/luxon/src/impl/zoneUtil.js | |
| parent | 53d6ae2b5568437afa5e4995580a3fb679b7b91b (diff) | |
Changed from static to 11ty!
Diffstat (limited to 'node_modules/luxon/src/impl/zoneUtil.js')
| -rw-r--r-- | node_modules/luxon/src/impl/zoneUtil.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/node_modules/luxon/src/impl/zoneUtil.js b/node_modules/luxon/src/impl/zoneUtil.js new file mode 100644 index 0000000..c3151a7 --- /dev/null +++ b/node_modules/luxon/src/impl/zoneUtil.js @@ -0,0 +1,34 @@ +/** + * @private + */ + +import Zone from "../zone.js"; +import IANAZone from "../zones/IANAZone.js"; +import FixedOffsetZone from "../zones/fixedOffsetZone.js"; +import InvalidZone from "../zones/invalidZone.js"; + +import { isUndefined, isString, isNumber } from "./util.js"; +import SystemZone from "../zones/systemZone.js"; + +export function normalizeZone(input, defaultZone) { + let offset; + if (isUndefined(input) || input === null) { + return defaultZone; + } else if (input instanceof Zone) { + return input; + } else if (isString(input)) { + const lowered = input.toLowerCase(); + if (lowered === "default") return defaultZone; + else if (lowered === "local" || lowered === "system") return SystemZone.instance; + else if (lowered === "utc" || lowered === "gmt") return FixedOffsetZone.utcInstance; + else return FixedOffsetZone.parseSpecifier(lowered) || IANAZone.create(input); + } else if (isNumber(input)) { + return FixedOffsetZone.instance(input); + } else if (typeof input === "object" && "offset" in input && typeof input.offset === "function") { + // This is dumb, but the instanceof check above doesn't seem to really work + // so we're duck checking it + return input; + } else { + return new InvalidZone(input); + } +} |
