const require_zone = require('../zone.js');
const require_util = require('../impl/util.js');

//#region ../../node_modules/.pnpm/luxon@3.5.0/node_modules/luxon/src/zones/systemZone.js
let singleton = null;
/**
* Represents the local zone for this JavaScript environment.
* @implements {Zone}
*/
var SystemZone = class SystemZone extends require_zone.default {
	/**
	* 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 require_util.parseZoneInfo(ts, format, locale);
	}
	/** @override **/
	formatOffset(ts, format) {
		return require_util.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;
	}
};

//#endregion
exports.default = SystemZone;