first commit
This commit is contained in:
61
node_modules/luxon/src/zones/systemZone.js
generated
vendored
Normal file
61
node_modules/luxon/src/zones/systemZone.js
generated
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
import { formatOffset, parseZoneInfo } from "../impl/util.js";
|
||||
import Zone from "../zone.js";
|
||||
|
||||
let singleton = null;
|
||||
|
||||
/**
|
||||
* Represents the local zone for this JavaScript environment.
|
||||
* @implements {Zone}
|
||||
*/
|
||||
export default class SystemZone extends Zone {
|
||||
/**
|
||||
* Get a singleton instance of the local zone
|
||||
* @return {SystemZone}
|
||||
*/
|
||||
static get instance() {
|
||||
if (singleton === null) {
|
||||
singleton = new SystemZone();
|
||||
}
|
||||
return singleton;
|
||||
}
|
||||
|
||||
/** @override **/
|
||||
get type() {
|
||||
return "system";
|
||||
}
|
||||
|
||||
/** @override **/
|
||||
get name() {
|
||||
return new Intl.DateTimeFormat().resolvedOptions().timeZone;
|
||||
}
|
||||
|
||||
/** @override **/
|
||||
get isUniversal() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/** @override **/
|
||||
offsetName(ts, { format, locale }) {
|
||||
return parseZoneInfo(ts, format, locale);
|
||||
}
|
||||
|
||||
/** @override **/
|
||||
formatOffset(ts, format) {
|
||||
return formatOffset(this.offset(ts), format);
|
||||
}
|
||||
|
||||
/** @override **/
|
||||
offset(ts) {
|
||||
return -new Date(ts).getTimezoneOffset();
|
||||
}
|
||||
|
||||
/** @override **/
|
||||
equals(otherZone) {
|
||||
return otherZone.type === "system";
|
||||
}
|
||||
|
||||
/** @override **/
|
||||
get isValid() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user