Init
This commit is contained in:
34
node_modules/luxon/src/impl/zoneUtil.js
generated
vendored
Normal file
34
node_modules/luxon/src/impl/zoneUtil.js
generated
vendored
Normal file
@ -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" && input.offset && typeof input.offset === "number") {
|
||||
// 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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user