UNPKG

nhb-toolbox

Version:

A versatile collection of smart, efficient, and reusable utility functions, classes and types for everyday development needs.

41 lines (40 loc) 1.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.chronusts = exports.chronusjs = exports.chronus = exports.chronosts = exports.chronosjs = exports.chronos = void 0; const non_primitives_1 = require("../guards/non-primitives"); const primitives_1 = require("../guards/primitives"); const Chronos_1 = require("./Chronos"); const $chronos = (valueOrYear, month, date, hours, minutes, seconds, ms) => { if ((0, primitives_1.isNumber)(valueOrYear) && (0, primitives_1.isNumber)(month)) { return new Chronos_1.Chronos(valueOrYear, month, date ?? 1, hours ?? 0, minutes ?? 0, seconds ?? 0, ms ?? 0); } else { return new Chronos_1.Chronos(valueOrYear); } }; function _isChronosStaticKey(prop) { return (prop in Chronos_1.Chronos && prop !== 'prototype' && prop !== 'name' && prop !== 'length' && (0, non_primitives_1.isFunction)(Chronos_1.Chronos[prop])); } exports.chronos = new Proxy($chronos, { get(target, prop, receiver) { if (prop in target) { return Reflect.get(target, prop, receiver); } if (_isChronosStaticKey(prop)) { return Chronos_1.Chronos[prop]; } return Reflect.get(target, prop, receiver); }, has(target, prop) { return prop in target || _isChronosStaticKey(prop); }, }); exports.chronosjs = exports.chronos; exports.chronosts = exports.chronos; exports.chronus = exports.chronos; exports.chronusjs = exports.chronos; exports.chronusts = exports.chronos;