@fluixi/utils 1.0.0-alpha.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +73 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.mjs +1 -0
- package/dist/lib/array/advanced.cjs +1 -0
- package/dist/lib/array/advanced.d.ts +1116 -0
- package/dist/lib/array/advanced.d.ts.map +1 -0
- package/dist/lib/array/advanced.js +2429 -0
- package/dist/lib/array/advanced.mjs +1 -0
- package/dist/lib/array/array.cjs +1 -0
- package/dist/lib/array/array.d.ts +6 -0
- package/dist/lib/array/array.d.ts.map +1 -0
- package/dist/lib/array/array.js +31 -0
- package/dist/lib/array/array.mjs +1 -0
- package/dist/lib/array/index.cjs +1 -0
- package/dist/lib/array/index.d.ts +4 -0
- package/dist/lib/array/index.d.ts.map +1 -0
- package/dist/lib/array/index.js +3 -0
- package/dist/lib/array/index.mjs +1 -0
- package/dist/lib/array/utils.cjs +1 -0
- package/dist/lib/array/utils.d.ts +100 -0
- package/dist/lib/array/utils.d.ts.map +1 -0
- package/dist/lib/array/utils.js +165 -0
- package/dist/lib/array/utils.mjs +1 -0
- package/dist/lib/color/color.cjs +1 -0
- package/dist/lib/color/color.d.ts +366 -0
- package/dist/lib/color/color.d.ts.map +1 -0
- package/dist/lib/color/color.js +722 -0
- package/dist/lib/color/color.mjs +1 -0
- package/dist/lib/color/constants.cjs +1 -0
- package/dist/lib/color/constants.d.ts +361 -0
- package/dist/lib/color/constants.d.ts.map +1 -0
- package/dist/lib/color/constants.js +358 -0
- package/dist/lib/color/constants.mjs +1 -0
- package/dist/lib/color/conversions.cjs +1 -0
- package/dist/lib/color/conversions.d.ts +166 -0
- package/dist/lib/color/conversions.d.ts.map +1 -0
- package/dist/lib/color/conversions.js +766 -0
- package/dist/lib/color/conversions.mjs +1 -0
- package/dist/lib/color/helpers.cjs +1 -0
- package/dist/lib/color/helpers.d.ts +75 -0
- package/dist/lib/color/helpers.d.ts.map +1 -0
- package/dist/lib/color/helpers.js +419 -0
- package/dist/lib/color/helpers.mjs +1 -0
- package/dist/lib/color/index.cjs +1 -0
- package/dist/lib/color/index.d.ts +12 -0
- package/dist/lib/color/index.d.ts.map +1 -0
- package/dist/lib/color/index.js +15 -0
- package/dist/lib/color/index.mjs +1 -0
- package/dist/lib/color/types.cjs +1 -0
- package/dist/lib/color/types.d.ts +179 -0
- package/dist/lib/color/types.d.ts.map +1 -0
- package/dist/lib/color/types.js +1 -0
- package/dist/lib/color/types.mjs +0 -0
- package/dist/lib/color/utils.cjs +1 -0
- package/dist/lib/color/utils.d.ts +199 -0
- package/dist/lib/color/utils.d.ts.map +1 -0
- package/dist/lib/color/utils.js +858 -0
- package/dist/lib/color/utils.mjs +1 -0
- package/dist/lib/compare/comparators.cjs +1 -0
- package/dist/lib/compare/comparators.d.ts +65 -0
- package/dist/lib/compare/comparators.d.ts.map +1 -0
- package/dist/lib/compare/comparators.js +210 -0
- package/dist/lib/compare/comparators.mjs +1 -0
- package/dist/lib/compare/index.cjs +1 -0
- package/dist/lib/compare/index.d.ts +2 -0
- package/dist/lib/compare/index.d.ts.map +1 -0
- package/dist/lib/compare/index.js +1 -0
- package/dist/lib/compare/index.mjs +1 -0
- package/dist/lib/crypto/hash.cjs +1 -0
- package/dist/lib/crypto/hash.d.ts +6 -0
- package/dist/lib/crypto/hash.d.ts.map +1 -0
- package/dist/lib/crypto/hash.js +53 -0
- package/dist/lib/crypto/hash.mjs +1 -0
- package/dist/lib/crypto/index.cjs +1 -0
- package/dist/lib/crypto/index.d.ts +2 -0
- package/dist/lib/crypto/index.d.ts.map +1 -0
- package/dist/lib/crypto/index.js +1 -0
- package/dist/lib/crypto/index.mjs +1 -0
- package/dist/lib/dom/events.cjs +1 -0
- package/dist/lib/dom/events.d.ts +159 -0
- package/dist/lib/dom/events.d.ts.map +1 -0
- package/dist/lib/dom/events.js +50 -0
- package/dist/lib/dom/events.mjs +1 -0
- package/dist/lib/dom/index.cjs +1 -0
- package/dist/lib/dom/index.d.ts +3 -0
- package/dist/lib/dom/index.d.ts.map +1 -0
- package/dist/lib/dom/index.js +2 -0
- package/dist/lib/dom/index.mjs +1 -0
- package/dist/lib/dom/utils.cjs +1 -0
- package/dist/lib/dom/utils.d.ts +6 -0
- package/dist/lib/dom/utils.d.ts.map +1 -0
- package/dist/lib/dom/utils.js +37 -0
- package/dist/lib/dom/utils.mjs +1 -0
- package/dist/lib/functions/functions.cjs +1 -0
- package/dist/lib/functions/functions.d.ts +329 -0
- package/dist/lib/functions/functions.d.ts.map +1 -0
- package/dist/lib/functions/functions.js +585 -0
- package/dist/lib/functions/functions.mjs +1 -0
- package/dist/lib/functions/index.cjs +1 -0
- package/dist/lib/functions/index.d.ts +3 -0
- package/dist/lib/functions/index.d.ts.map +1 -0
- package/dist/lib/functions/index.js +1 -0
- package/dist/lib/functions/index.mjs +1 -0
- package/dist/lib/functions/types.cjs +1 -0
- package/dist/lib/functions/types.d.ts +2 -0
- package/dist/lib/functions/types.d.ts.map +1 -0
- package/dist/lib/functions/types.js +1 -0
- package/dist/lib/functions/types.mjs +0 -0
- package/dist/lib/helpers.cjs +1 -0
- package/dist/lib/helpers.d.ts +13 -0
- package/dist/lib/helpers.d.ts.map +1 -0
- package/dist/lib/helpers.js +66 -0
- package/dist/lib/helpers.mjs +1 -0
- package/dist/lib/index.cjs +1 -0
- package/dist/lib/index.d.ts +6 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +8 -0
- package/dist/lib/index.mjs +1 -0
- package/dist/lib/maths/constants.cjs +1 -0
- package/dist/lib/maths/constants.d.ts +84 -0
- package/dist/lib/maths/constants.d.ts.map +1 -0
- package/dist/lib/maths/constants.js +79 -0
- package/dist/lib/maths/constants.mjs +1 -0
- package/dist/lib/maths/fn/advanced.cjs +1 -0
- package/dist/lib/maths/fn/advanced.d.ts +149 -0
- package/dist/lib/maths/fn/advanced.d.ts.map +1 -0
- package/dist/lib/maths/fn/advanced.js +264 -0
- package/dist/lib/maths/fn/advanced.mjs +1 -0
- package/dist/lib/maths/fn/basic.cjs +1 -0
- package/dist/lib/maths/fn/basic.d.ts +182 -0
- package/dist/lib/maths/fn/basic.d.ts.map +1 -0
- package/dist/lib/maths/fn/basic.js +343 -0
- package/dist/lib/maths/fn/basic.mjs +1 -0
- package/dist/lib/maths/fn/complex.cjs +1 -0
- package/dist/lib/maths/fn/complex.d.ts +153 -0
- package/dist/lib/maths/fn/complex.d.ts.map +1 -0
- package/dist/lib/maths/fn/complex.js +383 -0
- package/dist/lib/maths/fn/complex.mjs +1 -0
- package/dist/lib/maths/fn/index.cjs +1 -0
- package/dist/lib/maths/fn/index.d.ts +10 -0
- package/dist/lib/maths/fn/index.d.ts.map +1 -0
- package/dist/lib/maths/fn/index.js +9 -0
- package/dist/lib/maths/fn/index.mjs +1 -0
- package/dist/lib/maths/fn/trigo.cjs +1 -0
- package/dist/lib/maths/fn/trigo.d.ts +147 -0
- package/dist/lib/maths/fn/trigo.d.ts.map +1 -0
- package/dist/lib/maths/fn/trigo.js +227 -0
- package/dist/lib/maths/fn/trigo.mjs +1 -0
- package/dist/lib/maths/fn/vector.cjs +1 -0
- package/dist/lib/maths/fn/vector.d.ts +512 -0
- package/dist/lib/maths/fn/vector.d.ts.map +1 -0
- package/dist/lib/maths/fn/vector.js +1136 -0
- package/dist/lib/maths/fn/vector.mjs +1 -0
- package/dist/lib/maths/formatter.cjs +1 -0
- package/dist/lib/maths/formatter.d.ts +35 -0
- package/dist/lib/maths/formatter.d.ts.map +1 -0
- package/dist/lib/maths/formatter.js +56 -0
- package/dist/lib/maths/formatter.mjs +1 -0
- package/dist/lib/maths/guards.cjs +1 -0
- package/dist/lib/maths/guards.d.ts +166 -0
- package/dist/lib/maths/guards.d.ts.map +1 -0
- package/dist/lib/maths/guards.js +315 -0
- package/dist/lib/maths/guards.mjs +1 -0
- package/dist/lib/maths/index.cjs +1 -0
- package/dist/lib/maths/index.d.ts +24 -0
- package/dist/lib/maths/index.d.ts.map +1 -0
- package/dist/lib/maths/index.js +29 -0
- package/dist/lib/maths/index.mjs +1 -0
- package/dist/lib/maths/parser.cjs +1 -0
- package/dist/lib/maths/parser.d.ts +20 -0
- package/dist/lib/maths/parser.d.ts.map +1 -0
- package/dist/lib/maths/parser.js +78 -0
- package/dist/lib/maths/parser.mjs +1 -0
- package/dist/lib/maths/random.cjs +1 -0
- package/dist/lib/maths/random.d.ts +27 -0
- package/dist/lib/maths/random.d.ts.map +1 -0
- package/dist/lib/maths/random.js +49 -0
- package/dist/lib/maths/random.mjs +1 -0
- package/dist/lib/maths/types/advanced.cjs +1 -0
- package/dist/lib/maths/types/advanced.d.ts +357 -0
- package/dist/lib/maths/types/advanced.d.ts.map +1 -0
- package/dist/lib/maths/types/advanced.js +5 -0
- package/dist/lib/maths/types/advanced.mjs +0 -0
- package/dist/lib/maths/types/basic.cjs +1 -0
- package/dist/lib/maths/types/basic.d.ts +95 -0
- package/dist/lib/maths/types/basic.d.ts.map +1 -0
- package/dist/lib/maths/types/basic.js +5 -0
- package/dist/lib/maths/types/basic.mjs +0 -0
- package/dist/lib/maths/types/index.cjs +1 -0
- package/dist/lib/maths/types/index.d.ts +4 -0
- package/dist/lib/maths/types/index.d.ts.map +1 -0
- package/dist/lib/maths/types/index.js +3 -0
- package/dist/lib/maths/types/index.mjs +0 -0
- package/dist/lib/maths/types/negative.cjs +1 -0
- package/dist/lib/maths/types/negative.d.ts +51 -0
- package/dist/lib/maths/types/negative.d.ts.map +1 -0
- package/dist/lib/maths/types/negative.js +5 -0
- package/dist/lib/maths/types/negative.mjs +0 -0
- package/dist/lib/maths/types/operations.cjs +1 -0
- package/dist/lib/maths/types/operations.d.ts +188 -0
- package/dist/lib/maths/types/operations.d.ts.map +1 -0
- package/dist/lib/maths/types/operations.js +6 -0
- package/dist/lib/maths/types/operations.mjs +0 -0
- package/dist/lib/object/clone.cjs +1 -0
- package/dist/lib/object/clone.d.ts +46 -0
- package/dist/lib/object/clone.d.ts.map +1 -0
- package/dist/lib/object/clone.js +104 -0
- package/dist/lib/object/clone.mjs +1 -0
- package/dist/lib/object/diff.cjs +1 -0
- package/dist/lib/object/diff.d.ts +203 -0
- package/dist/lib/object/diff.d.ts.map +1 -0
- package/dist/lib/object/diff.js +805 -0
- package/dist/lib/object/diff.mjs +1 -0
- package/dist/lib/object/getter-setter.cjs +1 -0
- package/dist/lib/object/getter-setter.d.ts +361 -0
- package/dist/lib/object/getter-setter.d.ts.map +1 -0
- package/dist/lib/object/getter-setter.js +1771 -0
- package/dist/lib/object/getter-setter.mjs +1 -0
- package/dist/lib/object/index.cjs +6 -0
- package/dist/lib/object/index.d.ts +13 -0
- package/dist/lib/object/index.d.ts.map +1 -0
- package/dist/lib/object/index.js +12 -0
- package/dist/lib/object/index.mjs +6 -0
- package/dist/lib/object/merge.cjs +1 -0
- package/dist/lib/object/merge.d.ts +93 -0
- package/dist/lib/object/merge.d.ts.map +1 -0
- package/dist/lib/object/merge.js +474 -0
- package/dist/lib/object/merge.mjs +1 -0
- package/dist/lib/object/object.cjs +1 -0
- package/dist/lib/object/object.d.ts +128 -0
- package/dist/lib/object/object.d.ts.map +1 -0
- package/dist/lib/object/object.js +432 -0
- package/dist/lib/object/object.mjs +1 -0
- package/dist/lib/object/omit.cjs +1 -0
- package/dist/lib/object/omit.d.ts +351 -0
- package/dist/lib/object/omit.d.ts.map +1 -0
- package/dist/lib/object/omit.js +656 -0
- package/dist/lib/object/omit.mjs +1 -0
- package/dist/lib/object/reconcile.cjs +1 -0
- package/dist/lib/object/reconcile.d.ts +7 -0
- package/dist/lib/object/reconcile.d.ts.map +1 -0
- package/dist/lib/object/reconcile.js +122 -0
- package/dist/lib/object/reconcile.mjs +1 -0
- package/dist/lib/object/selector.cjs +1 -0
- package/dist/lib/object/selector.d.ts +50 -0
- package/dist/lib/object/selector.d.ts.map +1 -0
- package/dist/lib/object/selector.js +371 -0
- package/dist/lib/object/selector.mjs +1 -0
- package/dist/lib/object/sort.cjs +1 -0
- package/dist/lib/object/sort.d.ts +149 -0
- package/dist/lib/object/sort.d.ts.map +1 -0
- package/dist/lib/object/sort.js +298 -0
- package/dist/lib/object/sort.mjs +1 -0
- package/dist/lib/object/transform.cjs +1 -0
- package/dist/lib/object/transform.d.ts +620 -0
- package/dist/lib/object/transform.d.ts.map +1 -0
- package/dist/lib/object/transform.js +1058 -0
- package/dist/lib/object/transform.mjs +1 -0
- package/dist/lib/object/types.cjs +1 -0
- package/dist/lib/object/types.d.ts +250 -0
- package/dist/lib/object/types.d.ts.map +1 -0
- package/dist/lib/object/types.js +1 -0
- package/dist/lib/object/types.mjs +0 -0
- package/dist/lib/object/utils.cjs +6 -0
- package/dist/lib/object/utils.d.ts +165 -0
- package/dist/lib/object/utils.d.ts.map +1 -0
- package/dist/lib/object/utils.js +444 -0
- package/dist/lib/object/utils.mjs +6 -0
- package/dist/lib/primitive/boolean/boolean.cjs +1 -0
- package/dist/lib/primitive/boolean/boolean.d.ts +276 -0
- package/dist/lib/primitive/boolean/boolean.d.ts.map +1 -0
- package/dist/lib/primitive/boolean/boolean.js +615 -0
- package/dist/lib/primitive/boolean/boolean.mjs +1 -0
- package/dist/lib/primitive/boolean/index.cjs +1 -0
- package/dist/lib/primitive/boolean/index.d.ts +3 -0
- package/dist/lib/primitive/boolean/index.d.ts.map +1 -0
- package/dist/lib/primitive/boolean/index.js +2 -0
- package/dist/lib/primitive/boolean/index.mjs +1 -0
- package/dist/lib/primitive/boolean/types.cjs +1 -0
- package/dist/lib/primitive/boolean/types.d.ts +14 -0
- package/dist/lib/primitive/boolean/types.d.ts.map +1 -0
- package/dist/lib/primitive/boolean/types.js +1 -0
- package/dist/lib/primitive/boolean/types.mjs +0 -0
- package/dist/lib/primitive/date/date.cjs +1 -0
- package/dist/lib/primitive/date/date.d.ts +641 -0
- package/dist/lib/primitive/date/date.d.ts.map +1 -0
- package/dist/lib/primitive/date/date.js +1998 -0
- package/dist/lib/primitive/date/date.mjs +1 -0
- package/dist/lib/primitive/date/index.cjs +1 -0
- package/dist/lib/primitive/date/index.d.ts +3 -0
- package/dist/lib/primitive/date/index.d.ts.map +1 -0
- package/dist/lib/primitive/date/index.js +2 -0
- package/dist/lib/primitive/date/index.mjs +1 -0
- package/dist/lib/primitive/date/types.cjs +1 -0
- package/dist/lib/primitive/date/types.d.ts +205 -0
- package/dist/lib/primitive/date/types.d.ts.map +1 -0
- package/dist/lib/primitive/date/types.js +7 -0
- package/dist/lib/primitive/date/types.mjs +0 -0
- package/dist/lib/primitive/index.cjs +5 -0
- package/dist/lib/primitive/index.d.ts +5 -0
- package/dist/lib/primitive/index.d.ts.map +1 -0
- package/dist/lib/primitive/index.js +4 -0
- package/dist/lib/primitive/index.mjs +5 -0
- package/dist/lib/primitive/string/index.cjs +5 -0
- package/dist/lib/primitive/string/index.d.ts +3 -0
- package/dist/lib/primitive/string/index.d.ts.map +1 -0
- package/dist/lib/primitive/string/index.js +2 -0
- package/dist/lib/primitive/string/index.mjs +5 -0
- package/dist/lib/primitive/string/parser-2.cjs +8 -0
- package/dist/lib/primitive/string/parser-2.d.ts +17 -0
- package/dist/lib/primitive/string/parser-2.d.ts.map +1 -0
- package/dist/lib/primitive/string/parser-2.js +656 -0
- package/dist/lib/primitive/string/parser-2.mjs +8 -0
- package/dist/lib/primitive/string/parser.cjs +3 -0
- package/dist/lib/primitive/string/parser.d.ts +9 -0
- package/dist/lib/primitive/string/parser.d.ts.map +1 -0
- package/dist/lib/primitive/string/parser.js +775 -0
- package/dist/lib/primitive/string/parser.mjs +3 -0
- package/dist/lib/primitive/string/string.cjs +5 -0
- package/dist/lib/primitive/string/string.d.ts +535 -0
- package/dist/lib/primitive/string/string.d.ts.map +1 -0
- package/dist/lib/primitive/string/string.js +1301 -0
- package/dist/lib/primitive/string/string.mjs +5 -0
- package/dist/lib/primitive/string/types.cjs +1 -0
- package/dist/lib/primitive/string/types.d.ts +318 -0
- package/dist/lib/primitive/string/types.d.ts.map +1 -0
- package/dist/lib/primitive/string/types.js +5 -0
- package/dist/lib/primitive/string/types.mjs +0 -0
- package/dist/lib/primitive/types.cjs +1 -0
- package/dist/lib/primitive/types.d.ts +27 -0
- package/dist/lib/primitive/types.d.ts.map +1 -0
- package/dist/lib/primitive/types.js +1 -0
- package/dist/lib/primitive/types.mjs +0 -0
- package/dist/lib/url/index.cjs +1 -0
- package/dist/lib/url/index.d.ts +3 -0
- package/dist/lib/url/index.d.ts.map +1 -0
- package/dist/lib/url/index.js +2 -0
- package/dist/lib/url/index.mjs +1 -0
- package/dist/lib/url/parser.cjs +1 -0
- package/dist/lib/url/parser.d.ts +216 -0
- package/dist/lib/url/parser.d.ts.map +1 -0
- package/dist/lib/url/parser.js +488 -0
- package/dist/lib/url/parser.mjs +1 -0
- package/dist/lib/url/types.cjs +1 -0
- package/dist/lib/url/types.d.ts +18 -0
- package/dist/lib/url/types.d.ts.map +1 -0
- package/dist/lib/url/types.js +1 -0
- package/dist/lib/url/types.mjs +0 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -0
- package/package.json +150 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var I=1e3,$=60,E=60,T=24,b=7;var v=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],C=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],_=["January","February","March","April","May","June","July","August","September","October","November","December"],A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],R={defaultTimezone:"UTC",defaultLocale:"en-US",weekStartsOn:0,businessDays:{businessDays:[1,2,3,4,5],holidays:[],holidayCheck:()=>!1,workStartHour:9,workEndHour:17}},D={...R};function bt(t){D={...D,...t,businessDays:{...D.businessDays,...t.businessDays||{}}}}function wt(){D={...R}}function u(t,e={}){let{format:n="ISO",customFormat:r="",timezone:a=D.defaultTimezone,strict:o=!0,locale:s=D.defaultLocale}=e;if(t instanceof Date&&f(t))return t;let i=null;if(typeof t=="number"){if(i=new Date(t),!f(i))throw new Error(`Invalid timestamp: ${t}`);return F(i,a)}if(typeof t!="string")throw new Error(`Invalid input type: ${typeof t}`);let c=t.trim();if(!c)throw new Error("Empty date string");try{switch(n){case"ISO":case"ISO_DATE":case"ISO_TIME":i=J(c,n);break;case"US":i=V(c);break;case"EU":i=Z(c);break;case"CUSTOM":i=j(c,r);break;case"RFC_2822":i=K(c);break;case"TIMESTAMP":i=G(c);break;default:i=Q(c,s,o)}if(!i||!f(i)){if(o)throw new Error(`Parsing resulted in invalid date from input: "${c}"`);if(i=new Date(c),!f(i))throw new Error(`Invalid date format: ${c}`)}if(a&&a!=="UTC"&&(i=L(i,a)),!i)throw new Error(`Invalid date format: ${c}`);return i}catch(l){if(o)throw new Error(`Failed to parse date "${c}" with format ${n}: ${l instanceof Error?l.message:String(l)}`);let m=new Date(c);if(f(m)){let d=F(m,a);if(!d)throw new Error(`Invalid date format: ${c}`);return d}throw new Error(`Invalid date format: ${c}`)}}function J(t,e){try{if(e==="ISO_DATE"){let r=t.split("-").map(i=>parseInt(i,10));if(r.length<3||r.some(isNaN))throw new Error("Invalid ISO date format");let[a,o,s]=r;return new Date(Date.UTC(a,o-1,s))}if(e==="ISO_TIME"){let a=new Date().toISOString().split("T")[0];return new Date(`${a}T${t}Z`)}let n=new Date(t);if(!f(n))throw new Error("Invalid ISO date");return n}catch{throw new Error(`Invalid ISO ${e} format: ${t}`)}}function V(t){try{let e=t.split("/");if(e.length!==3)throw new Error("Invalid US date format - expected MM/DD/YYYY");let n=parseInt(e[0],10)-1,r=parseInt(e[1],10),a=parseInt(e[2],10);if(isNaN(n)||isNaN(r)||isNaN(a))throw new Error("Invalid US date format - non-numeric parts");if(a<100){let s=new Date().getFullYear(),i=Math.floor(s/100)*100;a+=a<50?i:i-100}if(n<0||n>11)throw new Error(`Month must be between 1 and 12, got ${n+1}`);let o=new Date(a,n,r);if(!f(o))throw new Error("Invalid date");if(o.getFullYear()!==a||o.getMonth()!==n||o.getDate()!==r)throw new Error("Invalid date");return o}catch(e){throw new Error(`Invalid US date format: ${t} - ${e instanceof Error?e.message:String(e)}`)}}function Z(t){try{let e=t.split("/");if(e.length!==3)throw new Error("Invalid EU date format - expected DD/MM/YYYY");let n=parseInt(e[0],10),r=parseInt(e[1],10)-1,a=parseInt(e[2],10);if(isNaN(n)||isNaN(r)||isNaN(a))throw new Error("Invalid EU date format - non-numeric parts");if(a<100){let s=new Date().getFullYear(),i=Math.floor(s/100)*100;a+=a<50?i:i-100}if(r<0||r>11)throw new Error(`Month must be between 1 and 12, got ${r+1}`);let o=new Date(a,r,n);if(!f(o))throw new Error("Invalid date");if(o.getFullYear()!==a||o.getMonth()!==r||o.getDate()!==n)throw new Error("Invalid date");return o}catch(e){throw new Error(`Invalid EU date format: ${t} - ${e instanceof Error?e.message:String(e)}`)}}function j(t,e){try{if(!e)throw new Error("Custom format string is required");let n=e.replace(/YYYY/g,"(\\d{4})").replace(/YY/g,"(\\d{2})").replace(/MM/g,"(\\d{2})").replace(/M/g,"(\\d{1,2})").replace(/DD/g,"(\\d{2})").replace(/D/g,"(\\d{1,2})").replace(/HH/g,"(\\d{2})").replace(/H/g,"(\\d{1,2})").replace(/hh/g,"(\\d{2})").replace(/h/g,"(\\d{1,2})").replace(/mm/g,"(\\d{2})").replace(/m/g,"(\\d{1,2})").replace(/ss/g,"(\\d{2})").replace(/s/g,"(\\d{1,2})"),r=new RegExp(`^${n}$`),a=t.match(r);if(!a)throw new Error(`Input does not match custom format: ${e}`);let o=0,s=0,i=1,c=0,l=0,m=0,d=1,q=e.match(/YYYY|YY|MM|M|DD|D|HH|H|hh|h|mm|m|ss|s/g)||[];for(let x of q){let g=parseInt(a[d],10);if(isNaN(g))throw new Error(`Invalid numeric value for token ${x}`);switch(x){case"YYYY":o=g;break;case"YY":if(o=g,o<100){let B=new Date().getFullYear(),O=Math.floor(B/100)*100;o+=o<50?O:O-100}break;case"MM":case"M":s=g-1;break;case"DD":case"D":i=g;break;case"HH":case"H":c=g;break;case"hh":case"h":c=g;break;case"mm":case"m":l=g;break;case"ss":case"s":m=g;break}d++}if(o<1e3||o>9999)throw new Error(`Year must be between 1000 and 9999: ${o}`);if(s<0||s>11)throw new Error(`Month must be between 1 and 12: ${s+1}`);let w=new Date(o,s,i,c,l,m);if(!f(w))throw new Error("Invalid date");if(w.getFullYear()!==o||w.getMonth()!==s||w.getDate()!==i)throw new Error("Invalid date");return w}catch(n){throw new Error(`Failed to parse with custom format "${e}": ${n instanceof Error?n.message:String(n)}`)}}function K(t){try{let e=new Date(t);if(!f(e))throw new Error("Invalid RFC 2822 date");return e}catch{throw new Error(`Invalid RFC 2822 date format: ${t}`)}}function G(t){try{if(!/^\d{8}(\d{6})?$/.test(t))throw new Error("Invalid timestamp format - expected YYYYMMDD or YYYYMMDDHHMMSS");let e=parseInt(t.substring(0,4),10),n=parseInt(t.substring(4,6),10)-1,r=parseInt(t.substring(6,8),10),a=0,o=0,s=0;if(t.length===14&&(a=parseInt(t.substring(8,10),10),o=parseInt(t.substring(10,12),10),s=parseInt(t.substring(12,14),10)),n<0||n>11)throw new Error(`Month must be between 1 and 12: ${n+1}`);let i=new Date(e,n,r,a,o,s);if(!f(i))throw new Error("Invalid timestamp");return i}catch(e){throw new Error(`Invalid timestamp format: ${t} - ${e instanceof Error?e.message:String(e)}`)}}function Q(t,e,n){try{let r=new Date(t);if(f(r))return r;let a=new Intl.DateTimeFormat(e,{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),o=new Date(t);if(f(o))return o;if(n)throw new Error(`Could not parse date with locale ${e}`);return new Date(NaN)}catch(r){if(n)throw new Error(`Failed to parse locale date: ${r instanceof Error?r.message:String(r)}`);return new Date(NaN)}}function F(t,e){return t}function f(t){if(!t||typeof t!="object")return!1;let e=t;if(typeof e.getTime!="function"||typeof e.getFullYear!="function")return!1;let n=e.getTime();return!isNaN(n)&&typeof n=="number"&&isFinite(n)}function N(t,e={}){let n=u(t),{format:r="ISO",customFormat:a="",timezone:o=D.defaultTimezone,locale:s=D.defaultLocale,includeTime:i=!0,includeSeconds:c=!1,includeMilliseconds:l=!1}=e,m=n;switch(o&&o!=="UTC"&&(m=L(n,o)),r){case"ISO":return m.toISOString();case"ISO_DATE":return m.toISOString().split("T")[0];case"ISO_TIME":{let d=m.toISOString().split("T")[1];return l?d:d.split(".")[0]}case"US":return ot(m);case"EU":return st(m);case"FULL":return it(m,s);case"LONG":return ut(m,s);case"MEDIUM":return H(m,s);case"SHORT":return ct(m,s);case"TIME":return U(m,s,c);case"TIME_24":return mt(m,c);case"DATETIME":return`${H(m,s)}, ${U(m,s,c)}`;case"TIMESTAMP":return ft(m);case"RFC_2822":return Dt(m);case"CUSTOM":return gt(m,a);default:return m.toISOString()}}function p(){return new Date}function Y(){return y(new Date)}function pt(){return P(Y(),1)}function Mt(){return tt(Y(),1)}function X(t,e,n,r=0,a=0,o=0,s=0){return lt(t,e,n,r,a,o,s),new Date(t,e,n,r,a,o,s)}function M(t,e,n="day"){let r=u(t),a=new Date(r);switch(n){case"millisecond":a.setMilliseconds(a.getMilliseconds()+e);break;case"second":a.setSeconds(a.getSeconds()+e);break;case"minute":a.setMinutes(a.getMinutes()+e);break;case"hour":a.setHours(a.getHours()+e);break;case"day":a.setDate(a.getDate()+e);break;case"week":a.setDate(a.getDate()+e*b);break;case"month":a.setMonth(a.getMonth()+e);break;case"quarter":a.setMonth(a.getMonth()+e*3);break;case"year":a.setFullYear(a.getFullYear()+e);break;default:throw new Error(`Unsupported date unit: ${n}`)}return a}function k(t,e,n="day"){return M(t,-e,n)}function P(t,e){return M(t,e,"day")}function tt(t,e){return k(t,e,"day")}function St(t,e){return M(t,e,"month")}function yt(t,e){return k(t,e,"month")}function It(t,e){return M(t,e,"year")}function $t(t,e){return k(t,e,"year")}function h(t,e){let n=u(t),r=new Date(n);switch(e){case"year":r.setMonth(0,1),r.setHours(0,0,0,0);break;case"month":r.setDate(1),r.setHours(0,0,0,0);break;case"day":r.setHours(0,0,0,0);break;case"hour":r.setMinutes(0,0,0);break;case"minute":r.setSeconds(0,0);break;case"second":r.setMilliseconds(0);break;case"week":{let o=(r.getDay()-D.weekStartsOn+b)%b;r.setDate(r.getDate()-o),r.setHours(0,0,0,0);break}case"quarter":{let a=Math.floor(r.getMonth()/3);r.setMonth(a*3,1),r.setHours(0,0,0,0);break}default:throw new Error(`Unsupported unit for startOf: ${e}`)}return r}function S(t,e){let n=h(t,e),r=new Date(n);switch(e){case"year":r.setFullYear(r.getFullYear()+1);break;case"quarter":r.setMonth(r.getMonth()+3);break;case"month":r.setMonth(r.getMonth()+1);break;case"week":r.setDate(r.getDate()+b);break;case"day":r.setDate(r.getDate()+1);break;case"hour":r.setHours(r.getHours()+1);break;case"minute":r.setMinutes(r.getMinutes()+1);break;case"second":r.setSeconds(r.getSeconds()+1);break;default:throw new Error(`Unsupported unit for endOf: ${e}`)}return r.setMilliseconds(r.getMilliseconds()-1),r}function y(t){return h(t,"day")}function Et(t){return S(t,"day")}function Tt(t){return h(t,"month")}function Yt(t){return S(t,"month")}function kt(t){return h(t,"year")}function xt(t){return S(t,"year")}function Ot(t){return h(t,"week")}function Ft(t){return S(t,"week")}function Nt(t,e,n,r=!0){let a=u(t),o=u(e),s=u(n);return r?a>=o&&a<=s:a>o&&a<s}function Ht(t,e){return u(t)<u(e)}function Ut(t,e){return u(t)>u(e)}function z(t,e,n){let r=u(t),a=u(e);if(!n)return r.getTime()===a.getTime();let o=h(r,n),s=h(a,n);return o.getTime()===s.getTime()}function vt(t){return z(t,Y(),"day")}function et(t){return u(t)<p()}function rt(t){return u(t)>p()}function nt(t,e){let n=u(t),r=u(e),a=Math.abs(r.getTime()-n.getTime()),o=Math.floor(a/I),s=Math.floor(o/$),i=Math.floor(s/E),c=Math.floor(i/T);return{years:Math.floor(c/365),months:Math.floor(c/30),weeks:Math.floor(c/b),days:c,hours:i,minutes:s,seconds:o,milliseconds:a,totalDays:c,totalHours:i,totalMinutes:s,totalSeconds:o,totalMilliseconds:a}}function Ct(t,e=p(),n=!1){let r=nt(t,e),o=u(t)<u(e)?"ago":"in";return r.years>0?n?`${r.years} year${r.years===1?"":"s"} ${o}`:`${r.years}y ${o}`:r.months>0?n?`${r.months} month${r.months===1?"":"s"} ${o}`:`${r.months}mo ${o}`:r.weeks>0?n?`${r.weeks} week${r.weeks===1?"":"s"} ${o}`:`${r.weeks}w ${o}`:r.days>0?n?`${r.days} day${r.days===1?"":"s"} ${o}`:`${r.days}d ${o}`:r.hours>0?n?`${r.hours} hour${r.hours===1?"":"s"} ${o}`:`${r.hours}h ${o}`:r.minutes>0?n?`${r.minutes} minute${r.minutes===1?"":"s"} ${o}`:`${r.minutes}m ${o}`:n?`${r.seconds} second${r.seconds===1?"":"s"} ${o}`:`${r.seconds}s ${o}`}function W(t){let n=u(t).getDay();return n===0||n===6}function _t(t){return!W(t)}function at(t){let e=u(t);return W(e)||!D.businessDays.businessDays.includes(e.getDay())?!1:!(D.businessDays.holidays?.some(r=>z(r,e,"day"))||D.businessDays.holidayCheck?.(e))}function At(t,e){let n=u(t),r=0,a=e>0?1:-1;for(;r<Math.abs(e);)n=P(n,a),at(n)&&r++;return n}function Rt(t,e,n=!1){let r=y(u(t)),a=y(u(e)),o=Math.abs(a.getTime()-r.getTime()),s=Math.floor(o/(I*$*E*T));return n?s+1:s}function Pt(t,e){let n=u(t),r=u(e),a=r.getFullYear()-n.getFullYear(),o=r.getMonth()-n.getMonth();return a*12+o}function zt(t,e){let n=u(t);return u(e).getFullYear()-n.getFullYear()}function Wt(t,e=p()){let n=u(t),r=u(e),a=r.getFullYear()-n.getFullYear(),o=r.getMonth()-n.getMonth();return(o<0||o===0&&r.getDate()<n.getDate())&&a--,Math.max(0,a)}function Lt(t){let e=u(t),n=new Date(e.getFullYear(),0,1),r=(e.getTime()-n.getTime())/(I*$*E*T);return Math.ceil((r+n.getDay()+1)/b)}function qt(t){let e=u(t).getMonth();return Math.floor(e/3)+1}function Bt(t,e="full"){let r=u(t).getDay();return e==="full"?v[r]:C[r]}function Jt(t,e="full"){let r=u(t).getMonth();return e==="full"?_[r]:A[r]}function Vt(t){let e=u(t);return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()}function Zt(t){return t%4===0&&t%100!==0||t%400===0}function jt(t,e={}){let n=[];try{let r=u(t);if(e.required&&!r&&n.push("Date is required"),e.min||e.minDate){let a=u(e.min||e.minDate);r<a&&n.push(`Date must be on or after ${N(a,{format:"MEDIUM"})}`)}if(e.max||e.maxDate){let a=u(e.max||e.maxDate);r>a&&n.push(`Date must be on or before ${N(a,{format:"MEDIUM"})}`)}e.allowPast===!1&&et(r)&&n.push("Date must be in the future"),e.allowFuture===!1&&rt(r)&&n.push("Date must be in the past")}catch(r){n.push(r instanceof Error?r.message:"Invalid date")}return{isValid:n.length===0,errors:n}}function Kt(t){let e=u(t),n=Intl.DateTimeFormat().resolvedOptions().timeZone,r=-e.getTimezoneOffset(),a=Math.floor(Math.abs(r)/60),o=Math.abs(r)%60,s=r>=0?"+":"-";return{abbreviation:dt(e),name:n,offset:r,offsetString:`UTC${s}${String(a).padStart(2,"0")}:${String(o).padStart(2,"0")}`,isDST:ht(e)}}function L(t,e){let n=u(t);if(e==="UTC")return new Date(n.getTime()+n.getTimezoneOffset()*6e4);let a=new Intl.DateTimeFormat("en-US",{timeZone:e,year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}).formatToParts(n),o=s=>a.find(i=>i.type===s)?.value;return X(parseInt(o("year")),parseInt(o("month"))-1,parseInt(o("day")),parseInt(o("hour")),parseInt(o("minute")),parseInt(o("second")))}function ot(t){let e=(t.getMonth()+1).toString().padStart(2,"0"),n=t.getDate().toString().padStart(2,"0"),r=t.getFullYear();return`${e}/${n}/${r}`}function st(t){let e=t.getDate().toString().padStart(2,"0"),n=(t.getMonth()+1).toString().padStart(2,"0"),r=t.getFullYear();return`${e}/${n}/${r}`}function it(t,e){return new Intl.DateTimeFormat(e,{weekday:"long",year:"numeric",month:"long",day:"numeric"}).format(t)}function ut(t,e){return new Intl.DateTimeFormat(e,{year:"numeric",month:"long",day:"numeric"}).format(t)}function H(t,e){return new Intl.DateTimeFormat(e,{year:"numeric",month:"short",day:"numeric"}).format(t)}function ct(t,e){return new Intl.DateTimeFormat(e,{year:"2-digit",month:"numeric",day:"numeric"}).format(t)}function U(t,e,n){return new Intl.DateTimeFormat(e,{hour:"numeric",minute:"2-digit",second:n?"2-digit":void 0,hour12:!0}).format(t)}function mt(t,e){let n=t.getHours().toString().padStart(2,"0"),r=t.getMinutes().toString().padStart(2,"0"),a=e?`:${t.getSeconds().toString().padStart(2,"0")}`:"";return`${n}:${r}${a}`}function ft(t){let e=t.getFullYear(),n=(t.getMonth()+1).toString().padStart(2,"0"),r=t.getDate().toString().padStart(2,"0"),a=t.getHours().toString().padStart(2,"0"),o=t.getMinutes().toString().padStart(2,"0"),s=t.getSeconds().toString().padStart(2,"0");return`${e}${n}${r}${a}${o}${s}`}function Dt(t){return t.toUTCString()}function gt(t,e){let n={YYYY:t.getFullYear().toString(),YY:t.getFullYear().toString().slice(-2),MMMM:_[t.getMonth()],MMM:A[t.getMonth()],MM:(t.getMonth()+1).toString().padStart(2,"0"),M:(t.getMonth()+1).toString(),DDDD:v[t.getDay()],DDD:C[t.getDay()],DD:t.getDate().toString().padStart(2,"0"),D:t.getDate().toString(),HH:t.getHours().toString().padStart(2,"0"),H:t.getHours().toString(),hh:(t.getHours()%12||12).toString().padStart(2,"0"),h:(t.getHours()%12||12).toString(),mm:t.getMinutes().toString().padStart(2,"0"),m:t.getMinutes().toString(),ss:t.getSeconds().toString().padStart(2,"0"),s:t.getSeconds().toString(),SSS:t.getMilliseconds().toString().padStart(3,"0"),A:t.getHours()<12?"AM":"PM",a:t.getHours()<12?"am":"pm"};return e.replace(/YYYY|YY|MMMM|MMM|MM|M|DDDD|DDD|DD|D|HH|H|hh|h|mm|m|ss|s|SSS|A|a/g,r=>n[r]||r)}function lt(t,e,n,r=0,a=0,o=0,s=0){if(t<1e3||t>9999)throw new Error(`Year must be between 1000 and 9999: ${t}`);if(e<0||e>11)throw new Error(`Month must be between 0 and 11: ${e}`);let i=new Date(t,e+1,0).getDate();if(n<1||n>i)throw new Error(`Day must be between 1 and ${i} for month ${e}: ${n}`);if(r<0||r>23)throw new Error(`Hour must be between 0 and 23: ${r}`);if(a<0||a>59)throw new Error(`Minute must be between 0 and 59: ${a}`);if(o<0||o>59)throw new Error(`Second must be between 0 and 59: ${o}`);if(s<0||s>999)throw new Error(`Millisecond must be between 0 and 999: ${s}`)}function dt(t){let r=new Intl.DateTimeFormat("en-US",{timeZoneName:"short"}).formatToParts(t).find(a=>a.type==="timeZoneName");return r?r.value:"UTC"}function ht(t){let e=new Date(t.getFullYear(),0,1),n=new Date(t.getFullYear(),6,1),r=Math.max(e.getTimezoneOffset(),n.getTimezoneOffset());return t.getTimezoneOffset()<r}export{M as add,At as addBusinessDays,P as addDays,St as addMonths,It as addYears,bt as configureDateUtils,L as convertTimezone,X as createDate,Rt as daysBetween,nt as difference,S as endOf,Et as endOfDay,Yt as endOfMonth,Ft as endOfWeek,xt as endOfYear,N as formatDate,Wt as getAge,Bt as getDayName,Vt as getDaysInMonth,Jt as getMonthName,qt as getQuarter,Kt as getTimezoneInfo,Lt as getWeekNumber,Ct as humanizeDifference,Ut as isAfter,Ht as isBefore,Nt as isBetween,at as isBusinessDay,f as isDate,rt as isFuture,Zt as isLeapYear,et as isPast,z as isSame,vt as isToday,_t as isWeekday,W as isWeekend,Pt as monthsBetween,p as now,u as parseDate,wt as resetDateConfig,h as startOf,y as startOfDay,Tt as startOfMonth,Ot as startOfWeek,kt as startOfYear,k as subtract,tt as subtractDays,yt as subtractMonths,$t as subtractYears,Y as today,pt as tomorrow,jt as validateDate,zt as yearsBetween,Mt as yesterday};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var E=Object.defineProperty;var X=Object.getOwnPropertyDescriptor;var tt=Object.getOwnPropertyNames;var et=Object.prototype.hasOwnProperty;var rt=(t,e)=>{for(var n in e)E(t,n,{get:e[n],enumerable:!0})},nt=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of tt(e))!et.call(t,a)&&a!==n&&E(t,a,{get:()=>e[a],enumerable:!(r=X(e,a))||r.enumerable});return t};var at=t=>nt(E({},"__esModule",{value:!0}),t);var ae={};rt(ae,{add:()=>M,addBusinessDays:()=>Ht,addDays:()=>F,addMonths:()=>ht,addYears:()=>wt,configureDateUtils:()=>ot,convertTimezone:()=>U,createDate:()=>B,daysBetween:()=>Ut,difference:()=>j,endOf:()=>S,endOfDay:()=>Mt,endOfMonth:()=>yt,endOfWeek:()=>Tt,endOfYear:()=>$t,formatDate:()=>T,getAge:()=>_t,getDayName:()=>Pt,getDaysInMonth:()=>Wt,getMonthName:()=>zt,getQuarter:()=>Rt,getTimezoneInfo:()=>Bt,getWeekNumber:()=>At,humanizeDifference:()=>Ft,isAfter:()=>xt,isBefore:()=>kt,isBetween:()=>Yt,isBusinessDay:()=>K,isDate:()=>f,isFuture:()=>Z,isLeapYear:()=>Lt,isPast:()=>V,isSame:()=>N,isToday:()=>Ot,isWeekday:()=>Nt,isWeekend:()=>H,monthsBetween:()=>vt,now:()=>p,parseDate:()=>u,resetDateConfig:()=>st,startOf:()=>h,startOfDay:()=>y,startOfMonth:()=>St,startOfWeek:()=>Et,startOfYear:()=>It,subtract:()=>$,subtractDays:()=>J,subtractMonths:()=>bt,subtractYears:()=>pt,today:()=>I,tomorrow:()=>lt,validateDate:()=>qt,yearsBetween:()=>Ct,yesterday:()=>dt});module.exports=at(ae);var Y=1e3,k=60,x=60,O=24,b=7;var P=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],z=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],W=["January","February","March","April","May","June","July","August","September","October","November","December"],L=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],q={defaultTimezone:"UTC",defaultLocale:"en-US",weekStartsOn:0,businessDays:{businessDays:[1,2,3,4,5],holidays:[],holidayCheck:()=>!1,workStartHour:9,workEndHour:17}},D={...q};function ot(t){D={...D,...t,businessDays:{...D.businessDays,...t.businessDays||{}}}}function st(){D={...q}}function u(t,e={}){let{format:n="ISO",customFormat:r="",timezone:a=D.defaultTimezone,strict:o=!0,locale:s=D.defaultLocale}=e;if(t instanceof Date&&f(t))return t;let i=null;if(typeof t=="number"){if(i=new Date(t),!f(i))throw new Error(`Invalid timestamp: ${t}`);return _(i,a)}if(typeof t!="string")throw new Error(`Invalid input type: ${typeof t}`);let c=t.trim();if(!c)throw new Error("Empty date string");try{switch(n){case"ISO":case"ISO_DATE":case"ISO_TIME":i=it(c,n);break;case"US":i=ut(c);break;case"EU":i=ct(c);break;case"CUSTOM":i=mt(c,r);break;case"RFC_2822":i=ft(c);break;case"TIMESTAMP":i=Dt(c);break;default:i=gt(c,s,o)}if(!i||!f(i)){if(o)throw new Error(`Parsing resulted in invalid date from input: "${c}"`);if(i=new Date(c),!f(i))throw new Error(`Invalid date format: ${c}`)}if(a&&a!=="UTC"&&(i=U(i,a)),!i)throw new Error(`Invalid date format: ${c}`);return i}catch(l){if(o)throw new Error(`Failed to parse date "${c}" with format ${n}: ${l instanceof Error?l.message:String(l)}`);let m=new Date(c);if(f(m)){let d=_(m,a);if(!d)throw new Error(`Invalid date format: ${c}`);return d}throw new Error(`Invalid date format: ${c}`)}}function it(t,e){try{if(e==="ISO_DATE"){let r=t.split("-").map(i=>parseInt(i,10));if(r.length<3||r.some(isNaN))throw new Error("Invalid ISO date format");let[a,o,s]=r;return new Date(Date.UTC(a,o-1,s))}if(e==="ISO_TIME"){let a=new Date().toISOString().split("T")[0];return new Date(`${a}T${t}Z`)}let n=new Date(t);if(!f(n))throw new Error("Invalid ISO date");return n}catch{throw new Error(`Invalid ISO ${e} format: ${t}`)}}function ut(t){try{let e=t.split("/");if(e.length!==3)throw new Error("Invalid US date format - expected MM/DD/YYYY");let n=parseInt(e[0],10)-1,r=parseInt(e[1],10),a=parseInt(e[2],10);if(isNaN(n)||isNaN(r)||isNaN(a))throw new Error("Invalid US date format - non-numeric parts");if(a<100){let s=new Date().getFullYear(),i=Math.floor(s/100)*100;a+=a<50?i:i-100}if(n<0||n>11)throw new Error(`Month must be between 1 and 12, got ${n+1}`);let o=new Date(a,n,r);if(!f(o))throw new Error("Invalid date");if(o.getFullYear()!==a||o.getMonth()!==n||o.getDate()!==r)throw new Error("Invalid date");return o}catch(e){throw new Error(`Invalid US date format: ${t} - ${e instanceof Error?e.message:String(e)}`)}}function ct(t){try{let e=t.split("/");if(e.length!==3)throw new Error("Invalid EU date format - expected DD/MM/YYYY");let n=parseInt(e[0],10),r=parseInt(e[1],10)-1,a=parseInt(e[2],10);if(isNaN(n)||isNaN(r)||isNaN(a))throw new Error("Invalid EU date format - non-numeric parts");if(a<100){let s=new Date().getFullYear(),i=Math.floor(s/100)*100;a+=a<50?i:i-100}if(r<0||r>11)throw new Error(`Month must be between 1 and 12, got ${r+1}`);let o=new Date(a,r,n);if(!f(o))throw new Error("Invalid date");if(o.getFullYear()!==a||o.getMonth()!==r||o.getDate()!==n)throw new Error("Invalid date");return o}catch(e){throw new Error(`Invalid EU date format: ${t} - ${e instanceof Error?e.message:String(e)}`)}}function mt(t,e){try{if(!e)throw new Error("Custom format string is required");let n=e.replace(/YYYY/g,"(\\d{4})").replace(/YY/g,"(\\d{2})").replace(/MM/g,"(\\d{2})").replace(/M/g,"(\\d{1,2})").replace(/DD/g,"(\\d{2})").replace(/D/g,"(\\d{1,2})").replace(/HH/g,"(\\d{2})").replace(/H/g,"(\\d{1,2})").replace(/hh/g,"(\\d{2})").replace(/h/g,"(\\d{1,2})").replace(/mm/g,"(\\d{2})").replace(/m/g,"(\\d{1,2})").replace(/ss/g,"(\\d{2})").replace(/s/g,"(\\d{1,2})"),r=new RegExp(`^${n}$`),a=t.match(r);if(!a)throw new Error(`Input does not match custom format: ${e}`);let o=0,s=0,i=1,c=0,l=0,m=0,d=1,G=e.match(/YYYY|YY|MM|M|DD|D|HH|H|hh|h|mm|m|ss|s/g)||[];for(let v of G){let g=parseInt(a[d],10);if(isNaN(g))throw new Error(`Invalid numeric value for token ${v}`);switch(v){case"YYYY":o=g;break;case"YY":if(o=g,o<100){let Q=new Date().getFullYear(),C=Math.floor(Q/100)*100;o+=o<50?C:C-100}break;case"MM":case"M":s=g-1;break;case"DD":case"D":i=g;break;case"HH":case"H":c=g;break;case"hh":case"h":c=g;break;case"mm":case"m":l=g;break;case"ss":case"s":m=g;break}d++}if(o<1e3||o>9999)throw new Error(`Year must be between 1000 and 9999: ${o}`);if(s<0||s>11)throw new Error(`Month must be between 1 and 12: ${s+1}`);let w=new Date(o,s,i,c,l,m);if(!f(w))throw new Error("Invalid date");if(w.getFullYear()!==o||w.getMonth()!==s||w.getDate()!==i)throw new Error("Invalid date");return w}catch(n){throw new Error(`Failed to parse with custom format "${e}": ${n instanceof Error?n.message:String(n)}`)}}function ft(t){try{let e=new Date(t);if(!f(e))throw new Error("Invalid RFC 2822 date");return e}catch{throw new Error(`Invalid RFC 2822 date format: ${t}`)}}function Dt(t){try{if(!/^\d{8}(\d{6})?$/.test(t))throw new Error("Invalid timestamp format - expected YYYYMMDD or YYYYMMDDHHMMSS");let e=parseInt(t.substring(0,4),10),n=parseInt(t.substring(4,6),10)-1,r=parseInt(t.substring(6,8),10),a=0,o=0,s=0;if(t.length===14&&(a=parseInt(t.substring(8,10),10),o=parseInt(t.substring(10,12),10),s=parseInt(t.substring(12,14),10)),n<0||n>11)throw new Error(`Month must be between 1 and 12: ${n+1}`);let i=new Date(e,n,r,a,o,s);if(!f(i))throw new Error("Invalid timestamp");return i}catch(e){throw new Error(`Invalid timestamp format: ${t} - ${e instanceof Error?e.message:String(e)}`)}}function gt(t,e,n){try{let r=new Date(t);if(f(r))return r;let a=new Intl.DateTimeFormat(e,{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),o=new Date(t);if(f(o))return o;if(n)throw new Error(`Could not parse date with locale ${e}`);return new Date(NaN)}catch(r){if(n)throw new Error(`Failed to parse locale date: ${r instanceof Error?r.message:String(r)}`);return new Date(NaN)}}function _(t,e){return t}function f(t){if(!t||typeof t!="object")return!1;let e=t;if(typeof e.getTime!="function"||typeof e.getFullYear!="function")return!1;let n=e.getTime();return!isNaN(n)&&typeof n=="number"&&isFinite(n)}function T(t,e={}){let n=u(t),{format:r="ISO",customFormat:a="",timezone:o=D.defaultTimezone,locale:s=D.defaultLocale,includeTime:i=!0,includeSeconds:c=!1,includeMilliseconds:l=!1}=e,m=n;switch(o&&o!=="UTC"&&(m=U(n,o)),r){case"ISO":return m.toISOString();case"ISO_DATE":return m.toISOString().split("T")[0];case"ISO_TIME":{let d=m.toISOString().split("T")[1];return l?d:d.split(".")[0]}case"US":return Jt(m);case"EU":return Vt(m);case"FULL":return Zt(m,s);case"LONG":return jt(m,s);case"MEDIUM":return A(m,s);case"SHORT":return Kt(m,s);case"TIME":return R(m,s,c);case"TIME_24":return Gt(m,c);case"DATETIME":return`${A(m,s)}, ${R(m,s,c)}`;case"TIMESTAMP":return Qt(m);case"RFC_2822":return Xt(m);case"CUSTOM":return te(m,a);default:return m.toISOString()}}function p(){return new Date}function I(){return y(new Date)}function lt(){return F(I(),1)}function dt(){return J(I(),1)}function B(t,e,n,r=0,a=0,o=0,s=0){return ee(t,e,n,r,a,o,s),new Date(t,e,n,r,a,o,s)}function M(t,e,n="day"){let r=u(t),a=new Date(r);switch(n){case"millisecond":a.setMilliseconds(a.getMilliseconds()+e);break;case"second":a.setSeconds(a.getSeconds()+e);break;case"minute":a.setMinutes(a.getMinutes()+e);break;case"hour":a.setHours(a.getHours()+e);break;case"day":a.setDate(a.getDate()+e);break;case"week":a.setDate(a.getDate()+e*b);break;case"month":a.setMonth(a.getMonth()+e);break;case"quarter":a.setMonth(a.getMonth()+e*3);break;case"year":a.setFullYear(a.getFullYear()+e);break;default:throw new Error(`Unsupported date unit: ${n}`)}return a}function $(t,e,n="day"){return M(t,-e,n)}function F(t,e){return M(t,e,"day")}function J(t,e){return $(t,e,"day")}function ht(t,e){return M(t,e,"month")}function bt(t,e){return $(t,e,"month")}function wt(t,e){return M(t,e,"year")}function pt(t,e){return $(t,e,"year")}function h(t,e){let n=u(t),r=new Date(n);switch(e){case"year":r.setMonth(0,1),r.setHours(0,0,0,0);break;case"month":r.setDate(1),r.setHours(0,0,0,0);break;case"day":r.setHours(0,0,0,0);break;case"hour":r.setMinutes(0,0,0);break;case"minute":r.setSeconds(0,0);break;case"second":r.setMilliseconds(0);break;case"week":{let o=(r.getDay()-D.weekStartsOn+b)%b;r.setDate(r.getDate()-o),r.setHours(0,0,0,0);break}case"quarter":{let a=Math.floor(r.getMonth()/3);r.setMonth(a*3,1),r.setHours(0,0,0,0);break}default:throw new Error(`Unsupported unit for startOf: ${e}`)}return r}function S(t,e){let n=h(t,e),r=new Date(n);switch(e){case"year":r.setFullYear(r.getFullYear()+1);break;case"quarter":r.setMonth(r.getMonth()+3);break;case"month":r.setMonth(r.getMonth()+1);break;case"week":r.setDate(r.getDate()+b);break;case"day":r.setDate(r.getDate()+1);break;case"hour":r.setHours(r.getHours()+1);break;case"minute":r.setMinutes(r.getMinutes()+1);break;case"second":r.setSeconds(r.getSeconds()+1);break;default:throw new Error(`Unsupported unit for endOf: ${e}`)}return r.setMilliseconds(r.getMilliseconds()-1),r}function y(t){return h(t,"day")}function Mt(t){return S(t,"day")}function St(t){return h(t,"month")}function yt(t){return S(t,"month")}function It(t){return h(t,"year")}function $t(t){return S(t,"year")}function Et(t){return h(t,"week")}function Tt(t){return S(t,"week")}function Yt(t,e,n,r=!0){let a=u(t),o=u(e),s=u(n);return r?a>=o&&a<=s:a>o&&a<s}function kt(t,e){return u(t)<u(e)}function xt(t,e){return u(t)>u(e)}function N(t,e,n){let r=u(t),a=u(e);if(!n)return r.getTime()===a.getTime();let o=h(r,n),s=h(a,n);return o.getTime()===s.getTime()}function Ot(t){return N(t,I(),"day")}function V(t){return u(t)<p()}function Z(t){return u(t)>p()}function j(t,e){let n=u(t),r=u(e),a=Math.abs(r.getTime()-n.getTime()),o=Math.floor(a/Y),s=Math.floor(o/k),i=Math.floor(s/x),c=Math.floor(i/O);return{years:Math.floor(c/365),months:Math.floor(c/30),weeks:Math.floor(c/b),days:c,hours:i,minutes:s,seconds:o,milliseconds:a,totalDays:c,totalHours:i,totalMinutes:s,totalSeconds:o,totalMilliseconds:a}}function Ft(t,e=p(),n=!1){let r=j(t,e),o=u(t)<u(e)?"ago":"in";return r.years>0?n?`${r.years} year${r.years===1?"":"s"} ${o}`:`${r.years}y ${o}`:r.months>0?n?`${r.months} month${r.months===1?"":"s"} ${o}`:`${r.months}mo ${o}`:r.weeks>0?n?`${r.weeks} week${r.weeks===1?"":"s"} ${o}`:`${r.weeks}w ${o}`:r.days>0?n?`${r.days} day${r.days===1?"":"s"} ${o}`:`${r.days}d ${o}`:r.hours>0?n?`${r.hours} hour${r.hours===1?"":"s"} ${o}`:`${r.hours}h ${o}`:r.minutes>0?n?`${r.minutes} minute${r.minutes===1?"":"s"} ${o}`:`${r.minutes}m ${o}`:n?`${r.seconds} second${r.seconds===1?"":"s"} ${o}`:`${r.seconds}s ${o}`}function H(t){let n=u(t).getDay();return n===0||n===6}function Nt(t){return!H(t)}function K(t){let e=u(t);return H(e)||!D.businessDays.businessDays.includes(e.getDay())?!1:!(D.businessDays.holidays?.some(r=>N(r,e,"day"))||D.businessDays.holidayCheck?.(e))}function Ht(t,e){let n=u(t),r=0,a=e>0?1:-1;for(;r<Math.abs(e);)n=F(n,a),K(n)&&r++;return n}function Ut(t,e,n=!1){let r=y(u(t)),a=y(u(e)),o=Math.abs(a.getTime()-r.getTime()),s=Math.floor(o/(Y*k*x*O));return n?s+1:s}function vt(t,e){let n=u(t),r=u(e),a=r.getFullYear()-n.getFullYear(),o=r.getMonth()-n.getMonth();return a*12+o}function Ct(t,e){let n=u(t);return u(e).getFullYear()-n.getFullYear()}function _t(t,e=p()){let n=u(t),r=u(e),a=r.getFullYear()-n.getFullYear(),o=r.getMonth()-n.getMonth();return(o<0||o===0&&r.getDate()<n.getDate())&&a--,Math.max(0,a)}function At(t){let e=u(t),n=new Date(e.getFullYear(),0,1),r=(e.getTime()-n.getTime())/(Y*k*x*O);return Math.ceil((r+n.getDay()+1)/b)}function Rt(t){let e=u(t).getMonth();return Math.floor(e/3)+1}function Pt(t,e="full"){let r=u(t).getDay();return e==="full"?P[r]:z[r]}function zt(t,e="full"){let r=u(t).getMonth();return e==="full"?W[r]:L[r]}function Wt(t){let e=u(t);return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()}function Lt(t){return t%4===0&&t%100!==0||t%400===0}function qt(t,e={}){let n=[];try{let r=u(t);if(e.required&&!r&&n.push("Date is required"),e.min||e.minDate){let a=u(e.min||e.minDate);r<a&&n.push(`Date must be on or after ${T(a,{format:"MEDIUM"})}`)}if(e.max||e.maxDate){let a=u(e.max||e.maxDate);r>a&&n.push(`Date must be on or before ${T(a,{format:"MEDIUM"})}`)}e.allowPast===!1&&V(r)&&n.push("Date must be in the future"),e.allowFuture===!1&&Z(r)&&n.push("Date must be in the past")}catch(r){n.push(r instanceof Error?r.message:"Invalid date")}return{isValid:n.length===0,errors:n}}function Bt(t){let e=u(t),n=Intl.DateTimeFormat().resolvedOptions().timeZone,r=-e.getTimezoneOffset(),a=Math.floor(Math.abs(r)/60),o=Math.abs(r)%60,s=r>=0?"+":"-";return{abbreviation:re(e),name:n,offset:r,offsetString:`UTC${s}${String(a).padStart(2,"0")}:${String(o).padStart(2,"0")}`,isDST:ne(e)}}function U(t,e){let n=u(t);if(e==="UTC")return new Date(n.getTime()+n.getTimezoneOffset()*6e4);let a=new Intl.DateTimeFormat("en-US",{timeZone:e,year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}).formatToParts(n),o=s=>a.find(i=>i.type===s)?.value;return B(parseInt(o("year")),parseInt(o("month"))-1,parseInt(o("day")),parseInt(o("hour")),parseInt(o("minute")),parseInt(o("second")))}function Jt(t){let e=(t.getMonth()+1).toString().padStart(2,"0"),n=t.getDate().toString().padStart(2,"0"),r=t.getFullYear();return`${e}/${n}/${r}`}function Vt(t){let e=t.getDate().toString().padStart(2,"0"),n=(t.getMonth()+1).toString().padStart(2,"0"),r=t.getFullYear();return`${e}/${n}/${r}`}function Zt(t,e){return new Intl.DateTimeFormat(e,{weekday:"long",year:"numeric",month:"long",day:"numeric"}).format(t)}function jt(t,e){return new Intl.DateTimeFormat(e,{year:"numeric",month:"long",day:"numeric"}).format(t)}function A(t,e){return new Intl.DateTimeFormat(e,{year:"numeric",month:"short",day:"numeric"}).format(t)}function Kt(t,e){return new Intl.DateTimeFormat(e,{year:"2-digit",month:"numeric",day:"numeric"}).format(t)}function R(t,e,n){return new Intl.DateTimeFormat(e,{hour:"numeric",minute:"2-digit",second:n?"2-digit":void 0,hour12:!0}).format(t)}function Gt(t,e){let n=t.getHours().toString().padStart(2,"0"),r=t.getMinutes().toString().padStart(2,"0"),a=e?`:${t.getSeconds().toString().padStart(2,"0")}`:"";return`${n}:${r}${a}`}function Qt(t){let e=t.getFullYear(),n=(t.getMonth()+1).toString().padStart(2,"0"),r=t.getDate().toString().padStart(2,"0"),a=t.getHours().toString().padStart(2,"0"),o=t.getMinutes().toString().padStart(2,"0"),s=t.getSeconds().toString().padStart(2,"0");return`${e}${n}${r}${a}${o}${s}`}function Xt(t){return t.toUTCString()}function te(t,e){let n={YYYY:t.getFullYear().toString(),YY:t.getFullYear().toString().slice(-2),MMMM:W[t.getMonth()],MMM:L[t.getMonth()],MM:(t.getMonth()+1).toString().padStart(2,"0"),M:(t.getMonth()+1).toString(),DDDD:P[t.getDay()],DDD:z[t.getDay()],DD:t.getDate().toString().padStart(2,"0"),D:t.getDate().toString(),HH:t.getHours().toString().padStart(2,"0"),H:t.getHours().toString(),hh:(t.getHours()%12||12).toString().padStart(2,"0"),h:(t.getHours()%12||12).toString(),mm:t.getMinutes().toString().padStart(2,"0"),m:t.getMinutes().toString(),ss:t.getSeconds().toString().padStart(2,"0"),s:t.getSeconds().toString(),SSS:t.getMilliseconds().toString().padStart(3,"0"),A:t.getHours()<12?"AM":"PM",a:t.getHours()<12?"am":"pm"};return e.replace(/YYYY|YY|MMMM|MMM|MM|M|DDDD|DDD|DD|D|HH|H|hh|h|mm|m|ss|s|SSS|A|a/g,r=>n[r]||r)}function ee(t,e,n,r=0,a=0,o=0,s=0){if(t<1e3||t>9999)throw new Error(`Year must be between 1000 and 9999: ${t}`);if(e<0||e>11)throw new Error(`Month must be between 0 and 11: ${e}`);let i=new Date(t,e+1,0).getDate();if(n<1||n>i)throw new Error(`Day must be between 1 and ${i} for month ${e}: ${n}`);if(r<0||r>23)throw new Error(`Hour must be between 0 and 23: ${r}`);if(a<0||a>59)throw new Error(`Minute must be between 0 and 59: ${a}`);if(o<0||o>59)throw new Error(`Second must be between 0 and 59: ${o}`);if(s<0||s>999)throw new Error(`Millisecond must be between 0 and 999: ${s}`)}function re(t){let r=new Intl.DateTimeFormat("en-US",{timeZoneName:"short"}).formatToParts(t).find(a=>a.type==="timeZoneName");return r?r.value:"UTC"}function ne(t){let e=new Date(t.getFullYear(),0,1),n=new Date(t.getFullYear(),6,1),r=Math.max(e.getTimezoneOffset(),n.getTimezoneOffset());return t.getTimezoneOffset()<r}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/primitive/date/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var I=1e3,$=60,E=60,T=24,b=7;var v=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],C=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],_=["January","February","March","April","May","June","July","August","September","October","November","December"],A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],R={defaultTimezone:"UTC",defaultLocale:"en-US",weekStartsOn:0,businessDays:{businessDays:[1,2,3,4,5],holidays:[],holidayCheck:()=>!1,workStartHour:9,workEndHour:17}},D={...R};function bt(t){D={...D,...t,businessDays:{...D.businessDays,...t.businessDays||{}}}}function wt(){D={...R}}function u(t,e={}){let{format:n="ISO",customFormat:r="",timezone:a=D.defaultTimezone,strict:o=!0,locale:s=D.defaultLocale}=e;if(t instanceof Date&&f(t))return t;let i=null;if(typeof t=="number"){if(i=new Date(t),!f(i))throw new Error(`Invalid timestamp: ${t}`);return F(i,a)}if(typeof t!="string")throw new Error(`Invalid input type: ${typeof t}`);let c=t.trim();if(!c)throw new Error("Empty date string");try{switch(n){case"ISO":case"ISO_DATE":case"ISO_TIME":i=J(c,n);break;case"US":i=V(c);break;case"EU":i=Z(c);break;case"CUSTOM":i=j(c,r);break;case"RFC_2822":i=K(c);break;case"TIMESTAMP":i=G(c);break;default:i=Q(c,s,o)}if(!i||!f(i)){if(o)throw new Error(`Parsing resulted in invalid date from input: "${c}"`);if(i=new Date(c),!f(i))throw new Error(`Invalid date format: ${c}`)}if(a&&a!=="UTC"&&(i=L(i,a)),!i)throw new Error(`Invalid date format: ${c}`);return i}catch(l){if(o)throw new Error(`Failed to parse date "${c}" with format ${n}: ${l instanceof Error?l.message:String(l)}`);let m=new Date(c);if(f(m)){let d=F(m,a);if(!d)throw new Error(`Invalid date format: ${c}`);return d}throw new Error(`Invalid date format: ${c}`)}}function J(t,e){try{if(e==="ISO_DATE"){let r=t.split("-").map(i=>parseInt(i,10));if(r.length<3||r.some(isNaN))throw new Error("Invalid ISO date format");let[a,o,s]=r;return new Date(Date.UTC(a,o-1,s))}if(e==="ISO_TIME"){let a=new Date().toISOString().split("T")[0];return new Date(`${a}T${t}Z`)}let n=new Date(t);if(!f(n))throw new Error("Invalid ISO date");return n}catch{throw new Error(`Invalid ISO ${e} format: ${t}`)}}function V(t){try{let e=t.split("/");if(e.length!==3)throw new Error("Invalid US date format - expected MM/DD/YYYY");let n=parseInt(e[0],10)-1,r=parseInt(e[1],10),a=parseInt(e[2],10);if(isNaN(n)||isNaN(r)||isNaN(a))throw new Error("Invalid US date format - non-numeric parts");if(a<100){let s=new Date().getFullYear(),i=Math.floor(s/100)*100;a+=a<50?i:i-100}if(n<0||n>11)throw new Error(`Month must be between 1 and 12, got ${n+1}`);let o=new Date(a,n,r);if(!f(o))throw new Error("Invalid date");if(o.getFullYear()!==a||o.getMonth()!==n||o.getDate()!==r)throw new Error("Invalid date");return o}catch(e){throw new Error(`Invalid US date format: ${t} - ${e instanceof Error?e.message:String(e)}`)}}function Z(t){try{let e=t.split("/");if(e.length!==3)throw new Error("Invalid EU date format - expected DD/MM/YYYY");let n=parseInt(e[0],10),r=parseInt(e[1],10)-1,a=parseInt(e[2],10);if(isNaN(n)||isNaN(r)||isNaN(a))throw new Error("Invalid EU date format - non-numeric parts");if(a<100){let s=new Date().getFullYear(),i=Math.floor(s/100)*100;a+=a<50?i:i-100}if(r<0||r>11)throw new Error(`Month must be between 1 and 12, got ${r+1}`);let o=new Date(a,r,n);if(!f(o))throw new Error("Invalid date");if(o.getFullYear()!==a||o.getMonth()!==r||o.getDate()!==n)throw new Error("Invalid date");return o}catch(e){throw new Error(`Invalid EU date format: ${t} - ${e instanceof Error?e.message:String(e)}`)}}function j(t,e){try{if(!e)throw new Error("Custom format string is required");let n=e.replace(/YYYY/g,"(\\d{4})").replace(/YY/g,"(\\d{2})").replace(/MM/g,"(\\d{2})").replace(/M/g,"(\\d{1,2})").replace(/DD/g,"(\\d{2})").replace(/D/g,"(\\d{1,2})").replace(/HH/g,"(\\d{2})").replace(/H/g,"(\\d{1,2})").replace(/hh/g,"(\\d{2})").replace(/h/g,"(\\d{1,2})").replace(/mm/g,"(\\d{2})").replace(/m/g,"(\\d{1,2})").replace(/ss/g,"(\\d{2})").replace(/s/g,"(\\d{1,2})"),r=new RegExp(`^${n}$`),a=t.match(r);if(!a)throw new Error(`Input does not match custom format: ${e}`);let o=0,s=0,i=1,c=0,l=0,m=0,d=1,q=e.match(/YYYY|YY|MM|M|DD|D|HH|H|hh|h|mm|m|ss|s/g)||[];for(let x of q){let g=parseInt(a[d],10);if(isNaN(g))throw new Error(`Invalid numeric value for token ${x}`);switch(x){case"YYYY":o=g;break;case"YY":if(o=g,o<100){let B=new Date().getFullYear(),O=Math.floor(B/100)*100;o+=o<50?O:O-100}break;case"MM":case"M":s=g-1;break;case"DD":case"D":i=g;break;case"HH":case"H":c=g;break;case"hh":case"h":c=g;break;case"mm":case"m":l=g;break;case"ss":case"s":m=g;break}d++}if(o<1e3||o>9999)throw new Error(`Year must be between 1000 and 9999: ${o}`);if(s<0||s>11)throw new Error(`Month must be between 1 and 12: ${s+1}`);let w=new Date(o,s,i,c,l,m);if(!f(w))throw new Error("Invalid date");if(w.getFullYear()!==o||w.getMonth()!==s||w.getDate()!==i)throw new Error("Invalid date");return w}catch(n){throw new Error(`Failed to parse with custom format "${e}": ${n instanceof Error?n.message:String(n)}`)}}function K(t){try{let e=new Date(t);if(!f(e))throw new Error("Invalid RFC 2822 date");return e}catch{throw new Error(`Invalid RFC 2822 date format: ${t}`)}}function G(t){try{if(!/^\d{8}(\d{6})?$/.test(t))throw new Error("Invalid timestamp format - expected YYYYMMDD or YYYYMMDDHHMMSS");let e=parseInt(t.substring(0,4),10),n=parseInt(t.substring(4,6),10)-1,r=parseInt(t.substring(6,8),10),a=0,o=0,s=0;if(t.length===14&&(a=parseInt(t.substring(8,10),10),o=parseInt(t.substring(10,12),10),s=parseInt(t.substring(12,14),10)),n<0||n>11)throw new Error(`Month must be between 1 and 12: ${n+1}`);let i=new Date(e,n,r,a,o,s);if(!f(i))throw new Error("Invalid timestamp");return i}catch(e){throw new Error(`Invalid timestamp format: ${t} - ${e instanceof Error?e.message:String(e)}`)}}function Q(t,e,n){try{let r=new Date(t);if(f(r))return r;let a=new Intl.DateTimeFormat(e,{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),o=new Date(t);if(f(o))return o;if(n)throw new Error(`Could not parse date with locale ${e}`);return new Date(NaN)}catch(r){if(n)throw new Error(`Failed to parse locale date: ${r instanceof Error?r.message:String(r)}`);return new Date(NaN)}}function F(t,e){return t}function f(t){if(!t||typeof t!="object")return!1;let e=t;if(typeof e.getTime!="function"||typeof e.getFullYear!="function")return!1;let n=e.getTime();return!isNaN(n)&&typeof n=="number"&&isFinite(n)}function N(t,e={}){let n=u(t),{format:r="ISO",customFormat:a="",timezone:o=D.defaultTimezone,locale:s=D.defaultLocale,includeTime:i=!0,includeSeconds:c=!1,includeMilliseconds:l=!1}=e,m=n;switch(o&&o!=="UTC"&&(m=L(n,o)),r){case"ISO":return m.toISOString();case"ISO_DATE":return m.toISOString().split("T")[0];case"ISO_TIME":{let d=m.toISOString().split("T")[1];return l?d:d.split(".")[0]}case"US":return ot(m);case"EU":return st(m);case"FULL":return it(m,s);case"LONG":return ut(m,s);case"MEDIUM":return H(m,s);case"SHORT":return ct(m,s);case"TIME":return U(m,s,c);case"TIME_24":return mt(m,c);case"DATETIME":return`${H(m,s)}, ${U(m,s,c)}`;case"TIMESTAMP":return ft(m);case"RFC_2822":return Dt(m);case"CUSTOM":return gt(m,a);default:return m.toISOString()}}function p(){return new Date}function Y(){return y(new Date)}function pt(){return P(Y(),1)}function Mt(){return tt(Y(),1)}function X(t,e,n,r=0,a=0,o=0,s=0){return lt(t,e,n,r,a,o,s),new Date(t,e,n,r,a,o,s)}function M(t,e,n="day"){let r=u(t),a=new Date(r);switch(n){case"millisecond":a.setMilliseconds(a.getMilliseconds()+e);break;case"second":a.setSeconds(a.getSeconds()+e);break;case"minute":a.setMinutes(a.getMinutes()+e);break;case"hour":a.setHours(a.getHours()+e);break;case"day":a.setDate(a.getDate()+e);break;case"week":a.setDate(a.getDate()+e*b);break;case"month":a.setMonth(a.getMonth()+e);break;case"quarter":a.setMonth(a.getMonth()+e*3);break;case"year":a.setFullYear(a.getFullYear()+e);break;default:throw new Error(`Unsupported date unit: ${n}`)}return a}function k(t,e,n="day"){return M(t,-e,n)}function P(t,e){return M(t,e,"day")}function tt(t,e){return k(t,e,"day")}function St(t,e){return M(t,e,"month")}function yt(t,e){return k(t,e,"month")}function It(t,e){return M(t,e,"year")}function $t(t,e){return k(t,e,"year")}function h(t,e){let n=u(t),r=new Date(n);switch(e){case"year":r.setMonth(0,1),r.setHours(0,0,0,0);break;case"month":r.setDate(1),r.setHours(0,0,0,0);break;case"day":r.setHours(0,0,0,0);break;case"hour":r.setMinutes(0,0,0);break;case"minute":r.setSeconds(0,0);break;case"second":r.setMilliseconds(0);break;case"week":{let o=(r.getDay()-D.weekStartsOn+b)%b;r.setDate(r.getDate()-o),r.setHours(0,0,0,0);break}case"quarter":{let a=Math.floor(r.getMonth()/3);r.setMonth(a*3,1),r.setHours(0,0,0,0);break}default:throw new Error(`Unsupported unit for startOf: ${e}`)}return r}function S(t,e){let n=h(t,e),r=new Date(n);switch(e){case"year":r.setFullYear(r.getFullYear()+1);break;case"quarter":r.setMonth(r.getMonth()+3);break;case"month":r.setMonth(r.getMonth()+1);break;case"week":r.setDate(r.getDate()+b);break;case"day":r.setDate(r.getDate()+1);break;case"hour":r.setHours(r.getHours()+1);break;case"minute":r.setMinutes(r.getMinutes()+1);break;case"second":r.setSeconds(r.getSeconds()+1);break;default:throw new Error(`Unsupported unit for endOf: ${e}`)}return r.setMilliseconds(r.getMilliseconds()-1),r}function y(t){return h(t,"day")}function Et(t){return S(t,"day")}function Tt(t){return h(t,"month")}function Yt(t){return S(t,"month")}function kt(t){return h(t,"year")}function xt(t){return S(t,"year")}function Ot(t){return h(t,"week")}function Ft(t){return S(t,"week")}function Nt(t,e,n,r=!0){let a=u(t),o=u(e),s=u(n);return r?a>=o&&a<=s:a>o&&a<s}function Ht(t,e){return u(t)<u(e)}function Ut(t,e){return u(t)>u(e)}function z(t,e,n){let r=u(t),a=u(e);if(!n)return r.getTime()===a.getTime();let o=h(r,n),s=h(a,n);return o.getTime()===s.getTime()}function vt(t){return z(t,Y(),"day")}function et(t){return u(t)<p()}function rt(t){return u(t)>p()}function nt(t,e){let n=u(t),r=u(e),a=Math.abs(r.getTime()-n.getTime()),o=Math.floor(a/I),s=Math.floor(o/$),i=Math.floor(s/E),c=Math.floor(i/T);return{years:Math.floor(c/365),months:Math.floor(c/30),weeks:Math.floor(c/b),days:c,hours:i,minutes:s,seconds:o,milliseconds:a,totalDays:c,totalHours:i,totalMinutes:s,totalSeconds:o,totalMilliseconds:a}}function Ct(t,e=p(),n=!1){let r=nt(t,e),o=u(t)<u(e)?"ago":"in";return r.years>0?n?`${r.years} year${r.years===1?"":"s"} ${o}`:`${r.years}y ${o}`:r.months>0?n?`${r.months} month${r.months===1?"":"s"} ${o}`:`${r.months}mo ${o}`:r.weeks>0?n?`${r.weeks} week${r.weeks===1?"":"s"} ${o}`:`${r.weeks}w ${o}`:r.days>0?n?`${r.days} day${r.days===1?"":"s"} ${o}`:`${r.days}d ${o}`:r.hours>0?n?`${r.hours} hour${r.hours===1?"":"s"} ${o}`:`${r.hours}h ${o}`:r.minutes>0?n?`${r.minutes} minute${r.minutes===1?"":"s"} ${o}`:`${r.minutes}m ${o}`:n?`${r.seconds} second${r.seconds===1?"":"s"} ${o}`:`${r.seconds}s ${o}`}function W(t){let n=u(t).getDay();return n===0||n===6}function _t(t){return!W(t)}function at(t){let e=u(t);return W(e)||!D.businessDays.businessDays.includes(e.getDay())?!1:!(D.businessDays.holidays?.some(r=>z(r,e,"day"))||D.businessDays.holidayCheck?.(e))}function At(t,e){let n=u(t),r=0,a=e>0?1:-1;for(;r<Math.abs(e);)n=P(n,a),at(n)&&r++;return n}function Rt(t,e,n=!1){let r=y(u(t)),a=y(u(e)),o=Math.abs(a.getTime()-r.getTime()),s=Math.floor(o/(I*$*E*T));return n?s+1:s}function Pt(t,e){let n=u(t),r=u(e),a=r.getFullYear()-n.getFullYear(),o=r.getMonth()-n.getMonth();return a*12+o}function zt(t,e){let n=u(t);return u(e).getFullYear()-n.getFullYear()}function Wt(t,e=p()){let n=u(t),r=u(e),a=r.getFullYear()-n.getFullYear(),o=r.getMonth()-n.getMonth();return(o<0||o===0&&r.getDate()<n.getDate())&&a--,Math.max(0,a)}function Lt(t){let e=u(t),n=new Date(e.getFullYear(),0,1),r=(e.getTime()-n.getTime())/(I*$*E*T);return Math.ceil((r+n.getDay()+1)/b)}function qt(t){let e=u(t).getMonth();return Math.floor(e/3)+1}function Bt(t,e="full"){let r=u(t).getDay();return e==="full"?v[r]:C[r]}function Jt(t,e="full"){let r=u(t).getMonth();return e==="full"?_[r]:A[r]}function Vt(t){let e=u(t);return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()}function Zt(t){return t%4===0&&t%100!==0||t%400===0}function jt(t,e={}){let n=[];try{let r=u(t);if(e.required&&!r&&n.push("Date is required"),e.min||e.minDate){let a=u(e.min||e.minDate);r<a&&n.push(`Date must be on or after ${N(a,{format:"MEDIUM"})}`)}if(e.max||e.maxDate){let a=u(e.max||e.maxDate);r>a&&n.push(`Date must be on or before ${N(a,{format:"MEDIUM"})}`)}e.allowPast===!1&&et(r)&&n.push("Date must be in the future"),e.allowFuture===!1&&rt(r)&&n.push("Date must be in the past")}catch(r){n.push(r instanceof Error?r.message:"Invalid date")}return{isValid:n.length===0,errors:n}}function Kt(t){let e=u(t),n=Intl.DateTimeFormat().resolvedOptions().timeZone,r=-e.getTimezoneOffset(),a=Math.floor(Math.abs(r)/60),o=Math.abs(r)%60,s=r>=0?"+":"-";return{abbreviation:dt(e),name:n,offset:r,offsetString:`UTC${s}${String(a).padStart(2,"0")}:${String(o).padStart(2,"0")}`,isDST:ht(e)}}function L(t,e){let n=u(t);if(e==="UTC")return new Date(n.getTime()+n.getTimezoneOffset()*6e4);let a=new Intl.DateTimeFormat("en-US",{timeZone:e,year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}).formatToParts(n),o=s=>a.find(i=>i.type===s)?.value;return X(parseInt(o("year")),parseInt(o("month"))-1,parseInt(o("day")),parseInt(o("hour")),parseInt(o("minute")),parseInt(o("second")))}function ot(t){let e=(t.getMonth()+1).toString().padStart(2,"0"),n=t.getDate().toString().padStart(2,"0"),r=t.getFullYear();return`${e}/${n}/${r}`}function st(t){let e=t.getDate().toString().padStart(2,"0"),n=(t.getMonth()+1).toString().padStart(2,"0"),r=t.getFullYear();return`${e}/${n}/${r}`}function it(t,e){return new Intl.DateTimeFormat(e,{weekday:"long",year:"numeric",month:"long",day:"numeric"}).format(t)}function ut(t,e){return new Intl.DateTimeFormat(e,{year:"numeric",month:"long",day:"numeric"}).format(t)}function H(t,e){return new Intl.DateTimeFormat(e,{year:"numeric",month:"short",day:"numeric"}).format(t)}function ct(t,e){return new Intl.DateTimeFormat(e,{year:"2-digit",month:"numeric",day:"numeric"}).format(t)}function U(t,e,n){return new Intl.DateTimeFormat(e,{hour:"numeric",minute:"2-digit",second:n?"2-digit":void 0,hour12:!0}).format(t)}function mt(t,e){let n=t.getHours().toString().padStart(2,"0"),r=t.getMinutes().toString().padStart(2,"0"),a=e?`:${t.getSeconds().toString().padStart(2,"0")}`:"";return`${n}:${r}${a}`}function ft(t){let e=t.getFullYear(),n=(t.getMonth()+1).toString().padStart(2,"0"),r=t.getDate().toString().padStart(2,"0"),a=t.getHours().toString().padStart(2,"0"),o=t.getMinutes().toString().padStart(2,"0"),s=t.getSeconds().toString().padStart(2,"0");return`${e}${n}${r}${a}${o}${s}`}function Dt(t){return t.toUTCString()}function gt(t,e){let n={YYYY:t.getFullYear().toString(),YY:t.getFullYear().toString().slice(-2),MMMM:_[t.getMonth()],MMM:A[t.getMonth()],MM:(t.getMonth()+1).toString().padStart(2,"0"),M:(t.getMonth()+1).toString(),DDDD:v[t.getDay()],DDD:C[t.getDay()],DD:t.getDate().toString().padStart(2,"0"),D:t.getDate().toString(),HH:t.getHours().toString().padStart(2,"0"),H:t.getHours().toString(),hh:(t.getHours()%12||12).toString().padStart(2,"0"),h:(t.getHours()%12||12).toString(),mm:t.getMinutes().toString().padStart(2,"0"),m:t.getMinutes().toString(),ss:t.getSeconds().toString().padStart(2,"0"),s:t.getSeconds().toString(),SSS:t.getMilliseconds().toString().padStart(3,"0"),A:t.getHours()<12?"AM":"PM",a:t.getHours()<12?"am":"pm"};return e.replace(/YYYY|YY|MMMM|MMM|MM|M|DDDD|DDD|DD|D|HH|H|hh|h|mm|m|ss|s|SSS|A|a/g,r=>n[r]||r)}function lt(t,e,n,r=0,a=0,o=0,s=0){if(t<1e3||t>9999)throw new Error(`Year must be between 1000 and 9999: ${t}`);if(e<0||e>11)throw new Error(`Month must be between 0 and 11: ${e}`);let i=new Date(t,e+1,0).getDate();if(n<1||n>i)throw new Error(`Day must be between 1 and ${i} for month ${e}: ${n}`);if(r<0||r>23)throw new Error(`Hour must be between 0 and 23: ${r}`);if(a<0||a>59)throw new Error(`Minute must be between 0 and 59: ${a}`);if(o<0||o>59)throw new Error(`Second must be between 0 and 59: ${o}`);if(s<0||s>999)throw new Error(`Millisecond must be between 0 and 999: ${s}`)}function dt(t){let r=new Intl.DateTimeFormat("en-US",{timeZoneName:"short"}).formatToParts(t).find(a=>a.type==="timeZoneName");return r?r.value:"UTC"}function ht(t){let e=new Date(t.getFullYear(),0,1),n=new Date(t.getFullYear(),6,1),r=Math.max(e.getTimezoneOffset(),n.getTimezoneOffset());return t.getTimezoneOffset()<r}export{M as add,At as addBusinessDays,P as addDays,St as addMonths,It as addYears,bt as configureDateUtils,L as convertTimezone,X as createDate,Rt as daysBetween,nt as difference,S as endOf,Et as endOfDay,Yt as endOfMonth,Ft as endOfWeek,xt as endOfYear,N as formatDate,Wt as getAge,Bt as getDayName,Vt as getDaysInMonth,Jt as getMonthName,qt as getQuarter,Kt as getTimezoneInfo,Lt as getWeekNumber,Ct as humanizeDifference,Ut as isAfter,Ht as isBefore,Nt as isBetween,at as isBusinessDay,f as isDate,rt as isFuture,Zt as isLeapYear,et as isPast,z as isSame,vt as isToday,_t as isWeekday,W as isWeekend,Pt as monthsBetween,p as now,u as parseDate,wt as resetDateConfig,h as startOf,y as startOfDay,Tt as startOfMonth,Ot as startOfWeek,kt as startOfYear,k as subtract,tt as subtractDays,yt as subtractMonths,$t as subtractYears,Y as today,pt as tomorrow,jt as validateDate,zt as yearsBetween,Mt as yesterday};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var o=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var u=(t,e,a,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of s(e))!m.call(t,n)&&n!==a&&o(t,n,{get:()=>e[n],enumerable:!(r=i(e,n))||r.enumerable});return t};var l=t=>u(o({},"__esModule",{value:!0}),t);var b={};module.exports=l(b);
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module DateUtils
|
|
3
|
+
* @description Comprehensive date utility library with TypeScript support
|
|
4
|
+
* @version 1.0.0
|
|
5
|
+
* @license MIT
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Date format patterns for parsing and formatting
|
|
9
|
+
* @typedef {Object} DateFormat
|
|
10
|
+
* @property {'ISO'} ISO - ISO 8601 format: 2024-01-15T10:30:00.000Z
|
|
11
|
+
* @property {'ISO_DATE'} ISO_DATE - ISO date only: 2024-01-15
|
|
12
|
+
* @property {'ISO_TIME'} ISO_TIME - ISO time only: 10:30:00.000
|
|
13
|
+
* @property {'US'} US - US format: 01/15/2024
|
|
14
|
+
* @property {'EU'} EU - European format: 15/01/2024
|
|
15
|
+
* @property {'FULL'} FULL - Full textual format: Monday, January 15, 2024
|
|
16
|
+
* @property {'LONG'} LONG - Long format: January 15, 2024
|
|
17
|
+
* @property {'MEDIUM'} MEDIUM - Medium format: Jan 15, 2024
|
|
18
|
+
* @property {'SHORT'} SHORT - Short format: 1/15/24
|
|
19
|
+
* @property {'TIME'} TIME - Time format: 10:30 AM
|
|
20
|
+
* @property {'TIME_24'} TIME_24 - 24-hour time format: 10:30
|
|
21
|
+
* @property {'DATETIME'} DATETIME - Date and time: Jan 15, 2024, 10:30 AM
|
|
22
|
+
* @property {'TIMESTAMP'} TIMESTAMP - Timestamp format: 20240115103000
|
|
23
|
+
* @property {'RFC_2822'} RFC_2822 - RFC 2822 format: Mon, 15 Jan 2024 10:30:00 +0000
|
|
24
|
+
* @property {'CUSTOM'} CUSTOM - Custom format string
|
|
25
|
+
*/
|
|
26
|
+
export type DateFormat = 'ISO' | 'ISO_DATE' | 'ISO_TIME' | 'US' | 'EU' | 'FULL' | 'LONG' | 'MEDIUM' | 'SHORT' | 'TIME' | 'TIME_24' | 'DATETIME' | 'TIMESTAMP' | 'RFC_2822' | 'CUSTOM';
|
|
27
|
+
/**
|
|
28
|
+
* Date units for manipulation
|
|
29
|
+
* @typedef {Object} DateUnit
|
|
30
|
+
* @property {'millisecond'} millisecond - Millisecond unit
|
|
31
|
+
* @property {'second'} second - Second unit
|
|
32
|
+
* @property {'minute'} minute - Minute unit
|
|
33
|
+
* @property {'hour'} hour - Hour unit
|
|
34
|
+
* @property {'day'} day - Day unit
|
|
35
|
+
* @property {'week'} week - Week unit
|
|
36
|
+
* @property {'month'} month - Month unit
|
|
37
|
+
* @property {'quarter'} quarter - Quarter unit
|
|
38
|
+
* @property {'year'} year - Year unit
|
|
39
|
+
*/
|
|
40
|
+
export type DateUnit = 'millisecond' | 'second' | 'minute' | 'hour' | 'day' | 'week' | 'month' | 'quarter' | 'year';
|
|
41
|
+
/**
|
|
42
|
+
* Weekday indices (0 = Sunday, 1 = Monday, etc.)
|
|
43
|
+
* @typedef {number} Weekday
|
|
44
|
+
*/
|
|
45
|
+
export type Weekday = 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
46
|
+
/**
|
|
47
|
+
* Month indices (0 = January, 11 = December)
|
|
48
|
+
* @typedef {number} Month
|
|
49
|
+
*/
|
|
50
|
+
export type Month = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11;
|
|
51
|
+
/**
|
|
52
|
+
* Date range with start and end dates
|
|
53
|
+
* @interface DateRange
|
|
54
|
+
* @property {Date} start - Start date
|
|
55
|
+
* @property {Date} end - End date
|
|
56
|
+
*/
|
|
57
|
+
export interface DateRange {
|
|
58
|
+
start: Date;
|
|
59
|
+
end: Date;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Result of date difference calculation
|
|
63
|
+
* @interface DateDifference
|
|
64
|
+
* @property {number} years - Difference in years
|
|
65
|
+
* @property {number} months - Difference in months
|
|
66
|
+
* @property {number} weeks - Difference in weeks
|
|
67
|
+
* @property {number} days - Difference in days
|
|
68
|
+
* @property {number} hours - Difference in hours
|
|
69
|
+
* @property {number} minutes - Difference in minutes
|
|
70
|
+
* @property {number} seconds - Difference in seconds
|
|
71
|
+
* @property {number} milliseconds - Difference in milliseconds
|
|
72
|
+
* @property {number} totalDays - Total difference in days
|
|
73
|
+
* @property {number} totalHours - Total difference in hours
|
|
74
|
+
* @property {number} totalMinutes - Total difference in minutes
|
|
75
|
+
* @property {number} totalSeconds - Total difference in seconds
|
|
76
|
+
* @property {number} totalMilliseconds - Total difference in milliseconds
|
|
77
|
+
*/
|
|
78
|
+
export interface DateDifference {
|
|
79
|
+
years: number;
|
|
80
|
+
months: number;
|
|
81
|
+
weeks: number;
|
|
82
|
+
days: number;
|
|
83
|
+
hours: number;
|
|
84
|
+
minutes: number;
|
|
85
|
+
seconds: number;
|
|
86
|
+
milliseconds: number;
|
|
87
|
+
totalDays: number;
|
|
88
|
+
totalHours: number;
|
|
89
|
+
totalMinutes: number;
|
|
90
|
+
totalSeconds: number;
|
|
91
|
+
totalMilliseconds: number;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Options for parsing dates
|
|
95
|
+
* @interface DateParseOptions
|
|
96
|
+
* @property {DateFormat} [format='ISO'] - Date format to parse
|
|
97
|
+
* @property {string} [customFormat=''] - Custom format string (used with format='CUSTOM')
|
|
98
|
+
* @property {string} [timezone] - Timezone for parsing
|
|
99
|
+
* @property {boolean} [strict=true] - Whether to throw errors on invalid dates
|
|
100
|
+
* @property {string} [locale='en-US'] - Locale for parsing
|
|
101
|
+
*/
|
|
102
|
+
export interface DateParseOptions {
|
|
103
|
+
format?: DateFormat;
|
|
104
|
+
customFormat?: string;
|
|
105
|
+
timezone?: string;
|
|
106
|
+
strict?: boolean;
|
|
107
|
+
locale?: string;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Options for formatting dates
|
|
111
|
+
* @interface FormatOptions
|
|
112
|
+
* @property {DateFormat} [format='ISO'] - Date format to output
|
|
113
|
+
* @property {string} [customFormat=''] - Custom format string (used with format='CUSTOM')
|
|
114
|
+
* @property {string} [timezone] - Timezone for formatting
|
|
115
|
+
* @property {string} [locale='en-US'] - Locale for formatting
|
|
116
|
+
* @property {boolean} [includeTime=true] - Whether to include time in output
|
|
117
|
+
* @property {boolean} [includeSeconds=false] - Whether to include seconds
|
|
118
|
+
* @property {boolean} [includeMilliseconds=false] - Whether to include milliseconds
|
|
119
|
+
*/
|
|
120
|
+
export interface FormatOptions {
|
|
121
|
+
format?: DateFormat;
|
|
122
|
+
customFormat?: string;
|
|
123
|
+
timezone?: string;
|
|
124
|
+
locale?: string;
|
|
125
|
+
includeTime?: boolean;
|
|
126
|
+
includeSeconds?: boolean;
|
|
127
|
+
includeMilliseconds?: boolean;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Options for validating dates
|
|
131
|
+
* @interface ValidationOptions
|
|
132
|
+
* @property {Date|string|number} [min] - Minimum allowed date
|
|
133
|
+
* @property {Date|string|number} [max] - Maximum allowed date
|
|
134
|
+
* @property {Date|string|number} [minDate] - Minimum allowed date (alias for min)
|
|
135
|
+
* @property {Date|string|number} [maxDate] - Maximum allowed date (alias for max)
|
|
136
|
+
* @property {boolean} [allowPast=true] - Whether to allow past dates
|
|
137
|
+
* @property {boolean} [allowFuture=true] - Whether to allow future dates
|
|
138
|
+
* @property {boolean} [required=true] - Whether the date is required
|
|
139
|
+
*/
|
|
140
|
+
export interface ValidationOptions {
|
|
141
|
+
min?: Date | string | number;
|
|
142
|
+
max?: Date | string | number;
|
|
143
|
+
minDate?: Date | string | number;
|
|
144
|
+
maxDate?: Date | string | number;
|
|
145
|
+
allowPast?: boolean;
|
|
146
|
+
allowFuture?: boolean;
|
|
147
|
+
required?: boolean;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Timezone information
|
|
151
|
+
* @interface TimezoneInfo
|
|
152
|
+
* @property {string} abbreviation - Timezone abbreviation (e.g., 'EST')
|
|
153
|
+
* @property {string} name - Full timezone name
|
|
154
|
+
* @property {number} offset - Timezone offset in minutes from UTC
|
|
155
|
+
* @property {string} offsetString - Timezone offset as string (e.g., 'UTC-05:00')
|
|
156
|
+
* @property {boolean} isDST - Whether Daylight Saving Time is active
|
|
157
|
+
*/
|
|
158
|
+
export interface TimezoneInfo {
|
|
159
|
+
abbreviation: string;
|
|
160
|
+
name: string;
|
|
161
|
+
offset: number;
|
|
162
|
+
offsetString: string;
|
|
163
|
+
isDST: boolean;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Business day configuration
|
|
167
|
+
* @interface BusinessDayConfig
|
|
168
|
+
* @property {Weekday[]} businessDays - Array of weekdays considered business days
|
|
169
|
+
* @property {Date[]} [holidays] - Array of holiday dates
|
|
170
|
+
* @property {(date: Date) => boolean} [holidayCheck] - Function to check if date is a holiday
|
|
171
|
+
* @property {number} [workStartHour=9] - Start hour of workday (0-23)
|
|
172
|
+
* @property {number} [workEndHour=17] - End hour of workday (0-23)
|
|
173
|
+
*/
|
|
174
|
+
export interface BusinessDayConfig {
|
|
175
|
+
businessDays: Weekday[];
|
|
176
|
+
holidays?: Date[];
|
|
177
|
+
holidayCheck?: (date: Date) => boolean;
|
|
178
|
+
workStartHour?: number;
|
|
179
|
+
workEndHour?: number;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Date utility configuration
|
|
183
|
+
* @interface DateConfig
|
|
184
|
+
* @property {string} [defaultTimezone='UTC'] - Default timezone for operations
|
|
185
|
+
* @property {string} [defaultLocale='en-US'] - Default locale for formatting
|
|
186
|
+
* @property {Weekday} [weekStartsOn=0] - First day of week (0 = Sunday)
|
|
187
|
+
* @property {BusinessDayConfig} [businessDays] - Business day configuration
|
|
188
|
+
*/
|
|
189
|
+
export interface DateConfig {
|
|
190
|
+
defaultTimezone?: string;
|
|
191
|
+
defaultLocale?: string;
|
|
192
|
+
weekStartsOn?: Weekday;
|
|
193
|
+
businessDays?: BusinessDayConfig;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Validation result
|
|
197
|
+
* @interface ValidationResult
|
|
198
|
+
* @property {boolean} isValid - Whether validation passed
|
|
199
|
+
* @property {string[]} errors - Array of validation error messages
|
|
200
|
+
*/
|
|
201
|
+
export interface ValidationResult {
|
|
202
|
+
isValid: boolean;
|
|
203
|
+
errors: string[];
|
|
204
|
+
}
|
|
205
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/primitive/date/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,UAAU,GAClB,KAAK,GACL,UAAU,GACV,UAAU,GACV,IAAI,GACJ,IAAI,GACJ,MAAM,GACN,MAAM,GACN,QAAQ,GACR,OAAO,GACP,MAAM,GACN,SAAS,GACT,UAAU,GACV,WAAW,GACX,UAAU,GACV,QAAQ,CAAC;AAEb;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,QAAQ,GAChB,aAAa,GACb,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,KAAK,GACL,MAAM,GACN,OAAO,GACP,SAAS,GACT,MAAM,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEhD;;;GAGG;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,EAAE,IAAI,CAAC;CACX;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAC7B,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,OAAO,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,OAAO,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,iBAAiB,CAAC;CAClC;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB"}
|
|
File without changes
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";var F=Object.defineProperty;var he=Object.getOwnPropertyDescriptor;var be=Object.getOwnPropertyNames;var De=Object.prototype.hasOwnProperty;var ye=(e,t)=>{for(var r in t)F(e,r,{get:t[r],enumerable:!0})},we=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of be(t))!De.call(e,s)&&s!==r&&F(e,s,{get:()=>t[s],enumerable:!(n=he(t,s))||n.enumerable});return e};var Se=e=>we(F({},"__esModule",{value:!0}),e);var Yr={};ye(Yr,{add:()=>O,addBusinessDays:()=>ir,addDays:()=>W,addMonths:()=>Bt,addYears:()=>Jt,all:()=>Q,any:()=>G,capitalize:()=>Ae,checkConditions:()=>$t,compare:()=>te,compareBoolean:()=>Yt,configureDateUtils:()=>Nt,convertTimezone:()=>J,countFalsy:()=>xt,countOccurrences:()=>Je,countTruthy:()=>ee,createDate:()=>le,createPipeline:()=>At,createToggle:()=>Mt,daysBetween:()=>ur,debounceBoolean:()=>Ot,difference:()=>me,endOf:()=>I,endOfDay:()=>vt,endOfMonth:()=>Vt,endOfWeek:()=>er,endOfYear:()=>Gt,endsWith:()=>Ye,escapeHtml:()=>Ue,escapeRegExp:()=>R,escapeString:()=>rt,extractDomain:()=>Be,formatDate:()=>H,getAge:()=>fr,getDayName:()=>mr,getDaysInMonth:()=>hr,getInitials:()=>Qe,getMonthName:()=>pr,getQuarter:()=>dr,getTimezoneInfo:()=>yr,getWeekNumber:()=>gr,humanizeDifference:()=>or,includes:()=>Ne,includesIgnoreCase:()=>Fe,isAfter:()=>nr,isBefore:()=>rr,isBetween:()=>tr,isBoolean:()=>ft,isBooleanArray:()=>kt,isBooleanLike:()=>V,isBooleanLikeArray:()=>Ct,isBusinessDay:()=>pe,isDate:()=>w,isEmpty:()=>_e,isFuture:()=>de,isLeapYear:()=>br,isPalindrome:()=>ve,isPast:()=>ge,isPrimitiveArray:()=>ct,isSame:()=>B,isString:()=>et,isStringArray:()=>at,isToday:()=>sr,isValidEmail:()=>ze,isValidUrl:()=>We,isWeekday:()=>ar,isWeekend:()=>Z,mask:()=>Ve,memoizeBoolean:()=>It,monthsBetween:()=>cr,nand:()=>yt,none:()=>X,nor:()=>wt,normalizeLineEndings:()=>Ge,not:()=>bt,now:()=>E,pad:()=>je,parseArrayLiteral:()=>P,parseDate:()=>d,parseLiteral:()=>ot,parsePrimitiveValue:()=>lt,randomBoolean:()=>Et,randomString:()=>Ze,removeWhitespace:()=>qe,replaceAll:()=>Re,replaceAllIgnoreCase:()=>Pe,replaceString:()=>nt,replaceStringPattern:()=>st,resetDateConfig:()=>Ft,reverse:()=>K,safeToBoolean:()=>ht,slugify:()=>Ke,startOf:()=>M,startOfDay:()=>C,startOfMonth:()=>Kt,startOfWeek:()=>Xt,startOfYear:()=>Qt,startsWith:()=>Ce,stringToObjectArray:()=>U,stringToObjectArrayOnly:()=>ut,stringToPrimitiveArray:()=>it,subtract:()=>N,subtractDays:()=>fe,subtractMonths:()=>Zt,subtractYears:()=>qt,toBoolean:()=>k,toCamelCase:()=>Te,toKebabCase:()=>Oe,toPascalCase:()=>Ee,toSnakeCase:()=>Ie,toString:()=>tt,toTitleCase:()=>ke,today:()=>Y,tomorrow:()=>zt,trim:()=>xe,trimEnd:()=>$e,trimStart:()=>Me,truncate:()=>Le,unescapeHtml:()=>He,validateBooleanConstraint:()=>Tt,validateDate:()=>Dr,wordWrap:()=>Xe,xnor:()=>St,xor:()=>Dt,yearsBetween:()=>lr,yesterday:()=>Wt});module.exports=Se(Yr);function q(e,t={}){let{allowComments:r=!0,allowUnquotedKeys:n=!0,allowSingleQuotes:s=!0,allowTrailingCommas:o=!0,allowUndefined:i=!1}=t,a=e.trim();if(r&&(a=a.replace(/\/\*[\s\S]*?\*\//g,""),a=a.split(`
|
|
2
|
+
`).map(l=>{let p=!1,f="",m=!1;for(let y=0;y<l.length;y++){let D=l[y];if(m){m=!1;continue}if(D==="\\"){m=!0;continue}if(!p&&(D==='"'||D==="'"))p=!0,f=D;else if(p&&D===f)p=!1,f="";else if(!p&&D==="/"&&l[y+1]==="/")return l.substring(0,y)}return l}).join(`
|
|
3
|
+
`)),n&&(a=a.replace(/([{,]\s*)([a-zA-Z_$][a-zA-Z0-9_$]*)(\s*:)/g,'$1"$2"$3')),s){let u="",c=!1,l=!1,p=!1,f=0;for(;f<a.length;){let m=a[f];if(p){u+=m,p=!1,f++;continue}if(m==="\\"){p=!0,u+=m,f++;continue}m==="'"&&!l?c?(u+='"',c=!1):(u+='"',c=!0):(m==='"'&&!c&&(l?l=!1:l=!0),u+=m),f++}a=u}if(o){let u="",c=!1,l="",p=!1,f=0;for(;f<a.length;){let m=a[f];if(p){u+=m,p=!1,f++;continue}if(m==="\\"){p=!0,u+=m,f++;continue}if((m==='"'||m==="'")&&!c)c=!0,l=m,u+=m;else if(c&&m===l)c=!1,l="",u+=m;else if(!c&&m===","){let y=f+1;for(;y<a.length&&/\s/.test(a[y]);)y++;if(y<a.length&&(a[y]==="]"||a[y]==="}")){f++;continue}else u+=m}else u+=m;f++}a=u}if(i){let u="",c=!1,l="",p=!1,f=0;for(;f<a.length;){if(p){u+=a[f],p=!1,f++;continue}if(a[f]==="\\"){p=!0,u+=a[f],f++;continue}if((a[f]==='"'||a[f]==="'")&&!c)c=!0,l=a[f],u+=a[f];else if(c&&a[f]===l)c=!1,l="",u+=a[f];else if(!c&&a.substr(f,9)==="undefined"){let m=f>0?a[f-1]:"",y=f+8<a.length?a[f+9]:"";if(/[a-zA-Z0-9_$]/.test(m)||/[a-zA-Z0-9_$]/.test(y))u+=a[f];else{u+="null",f+=9;continue}}else u+=a[f];f++}a=u}try{return JSON.parse(a)}catch{return}}var xe=e=>e.trim(),Me=e=>e.trimStart(),$e=e=>e.trimEnd(),Te=e=>e.replace(/[^a-zA-Z0-9]+(.)/g,(t,r)=>r.toUpperCase()).replace(/^[A-Z]/,t=>t.toLowerCase()),Ee=e=>e.replace(/[^a-zA-Z0-9]+(.)/g,(t,r)=>r.toUpperCase()).replace(/^[a-z]/,t=>t.toUpperCase()),Oe=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[_\s]+/g,"-").toLowerCase(),Ie=e=>e.replace(/([a-z])([A-Z])/g,"$1_$2").replace(/[-\s]+/g,"_").toLowerCase(),Ae=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),ke=e=>e.replace(/\b\w+/g,t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()),Ce=(e,t,r=0)=>e.startsWith(t,r),Ye=(e,t,r)=>e.endsWith(t,r),Ne=(e,t)=>e.includes(t),Fe=(e,t)=>e.toLowerCase().includes(t.toLowerCase()),Re=(e,t,r)=>typeof e.replaceAll=="function"?e.replaceAll(t,r):e.replace(new RegExp(R(t),"g"),r),Pe=(e,t,r)=>e.replace(new RegExp(R(t),"gi"),r),R=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Ue=e=>{let t={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return e.replace(/[&<>"'/]/g,r=>t[r]||r)},He=e=>{let t={"&":"&","<":"<",">":">",""":'"',"'":"'","/":"/"};return e.replace(/&(?:amp|lt|gt|quot|#39|#x2F);/g,r=>t[r]||r)},Le=(e,t,r="...")=>e.length<=t?e:e.slice(0,t-r.length)+r,je=(e,t,r=" ",n="start")=>{let s=t-e.length;if(s<=0)return e;let o=r.repeat(s);switch(n){case"start":return o+e;case"end":return e+o;case"both":let i=Math.floor(s/2),a=s-i;return r.repeat(i)+e+r.repeat(a)}},_e=e=>e.trim().length===0,ze=e=>/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(e.trim()),We=e=>{try{return new URL(e),!0}catch{return!1}},Be=e=>{try{return new URL(e).hostname.replace(/^www\./,"")}catch{return""}},Ze=(e=10,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")=>{let r="",n=t.length;for(let s=0;s<e;s++)r+=t.charAt(Math.floor(Math.random()*n));return r},Je=(e,t,r=!0)=>{if(!t)return 0;let n=r?e:e.toLowerCase(),s=r?t:t.toLowerCase(),o=0,i=0;for(;(i=n.indexOf(s,i))!==-1;)o++,i+=s.length;return o},qe=e=>e.replace(/\s+/g,""),K=e=>e.split("").reverse().join(""),ve=(e,t=!1)=>{let n=(t?e:e.toLowerCase()).replace(/[^a-z0-9]/gi,"");return n===K(n)},Ke=e=>e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,""),Ve=(e,t=0,r=0,n="*")=>{if(t+r>=e.length)return e;let s=e.slice(0,t),o=r>0?e.slice(-r):"",i=n.repeat(e.length-t-r);return s+i+o},Qe=(e,t=2)=>e.split(/\s+/).slice(0,t).map(r=>r.charAt(0).toUpperCase()).join(""),Ge=e=>e.replace(/\r\n/g,`
|
|
4
|
+
`).replace(/\r/g,`
|
|
5
|
+
`),Xe=(e,t=80)=>{let r=e.split(" "),n=[],s="";for(let o of r){let i=s.length+o.length+1;s.length+o.length<=t?s+=(s?" ":"")+o:(s&&n.push(s),s=o)}return s&&n.push(s),n},et=e=>typeof e=="string",tt=(e,t)=>{if(e==null)return t!==void 0?t:"";let r=e;if(Array.isArray(r)){if(r.length===0)return t!==void 0?t:""}else if(typeof r=="object"&&Object.keys(r).length===0)return t!==void 0?t:"";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return String(e);try{return String(e)}catch{return t!==void 0?t:""}},rt=(e,t=!0)=>{if(!t||new Set([" "," "," ","_space_"]).has(e))return e;let n=/[.*+?^${}()|[\]\\]/g;return e.replace(n,"\\$&")};function v(e,t,r,n){if(t<0||t>e.length)throw new Error("Start index out of bounds");if(r<t||r>e.length)throw new Error("End index out of bounds");let s=e.substring(0,t),o=e.substring(r);return s+n+o}var nt=(e,t,r="start",n="")=>{if(!e||!t||t.length===0||e.length<t.length)return e;if(r==="both"){let o=e;return o.startsWith(t)&&(o=v(o,0,t.length,n)),o.endsWith(t)&&(o=v(o,o.length-t.length,o.length,n)),o}return r==="start"&&e.startsWith(t)||r==="end"&&e.endsWith(t)?r==="start"?n+e.substring(t.length):e.substring(0,e.length-t.length)+n:e},st=(e,t)=>{let{pattern:r,position:n,newValue:s,useRegex:o=!1,flags:i}={...t};if(!e)return e;s||(s="");let a,u=typeof n>"u"||n==="start";if(o&&r instanceof RegExp){a=r;let c=a.source;n&&(n==="start"?r=`^${c}`:n==="end"?r=`${c}$`:r=`^${c}|${c}$`,r=new RegExp(r,i))}else if(o)n&&(n==="start"?r=`^${r}`:n==="end"?r=`${r}$`:n==="both"&&(r=`^${r}|${r}$`)),a=new RegExp(r,i);else{let c=r;a=new RegExp(u?`^${c}`:n==="end"?`${c}$`:n==="both"?`^${c}|${c}$`:`${c}`,i||"g")}return e.replace(a,s)},P=e=>{if(!e.startsWith("[")||!e.endsWith("]"))return e;let t=e.slice(1,-1).trim();if(t==="")return[];try{let u=`[${t}]`,c=JSON.parse(u);if(Array.isArray(c))return c}catch{}let r=[],n="",s=!1,o="",i=!1,a=0;for(let u=0;u<t.length;u++){let c=t[u];if(i){n+=c,i=!1;continue}if(c==="\\"&&s){i=!0;continue}(c==='"'||c==="'")&&!s?(s=!0,o=c):c===o&&s?(s=!1,o=""):c==="["&&!s?(a++,n+=c):c==="]"&&!s?(a--,n+=c):c===","&&!s&&a===0?(r.push(n.trim()),n=""):n+=c}return n.trim()&&r.push(n.trim()),r.map(u=>{let c=u.trim();return c.startsWith('"')&&c.endsWith('"')||c.startsWith("'")&&c.endsWith("'")?c.slice(1,-1):c})},ot=e=>{let t=e.trim();if(t.startsWith("[")&&t.endsWith("]")){let r=P(t);return Array.isArray(r)?r:t}if(t.startsWith("{")&&t.endsWith("}"))try{return JSON.parse(t)}catch{let r=q(t);if(r!==void 0)return r;let n=t.replace(/([{,]\s*)(\w+)(\s*:)/g,'$1"$2"$3').replace(/:\s*'([^']*)'/g,':"$1"');try{return JSON.parse(n)}catch{return t}}try{return JSON.parse(t)}catch{return t}},at=e=>Array.isArray(e)&&e.every(t=>typeof t=="string"),U=(e,t={})=>{let{delimiters:r=["|"],valueKey:n,labelKey:s,defaultObject:o,trimItems:i=!0,filterEmpty:a=!0,returnObjects:u,parsePrimitives:c=!1,preserveNullUndefined:l=!1}=t,p=u??(n!==void 0||s!==void 0||o!==void 0),f=g=>{let h=o?{...o}:{},b=i?g.trim():g;if(n!==void 0&&(h[n]=c?m(b):b),n!==s||n===void 0&&s===void 0){let x;n===void 0&&s===void 0?x=u?"label":n:x=s,x!==void 0&&(h[x]=b)}return h},m=g=>{let h=g.trim();if(h==="")return l?null:"";if(h.toLowerCase()==="null")return l?null:"null";if(h.toLowerCase()==="undefined")return l?null:"undefined";if(h.toLowerCase()==="true")return!0;if(h.toLowerCase()==="false")return!1;if(/^-?\d+$/.test(h)){let b=parseInt(h,10);return isNaN(b)?i?h:g:b}if(/^-?\d+\.\d+$/.test(h)){let b=parseFloat(h);return isNaN(b)?i?h:g:b}return i?h:g},y=g=>{if(g==null)return l?g:null;if(typeof g=="string"){let b=i?g.trim():g;return g==="null"?null:g==="undefined"?l?void 0:"undefined":g===""?l?null:"":a&&b===""?l?b:null:p?f(b):c?m(b):b}if(typeof g=="number"||typeof g=="boolean")if(p){let b=o?{...o}:{};return n!==void 0&&(b[n]=g),s!==void 0&&s!==n&&(b[s]=String(g)),b}else return g;if(typeof g=="object"&&!Array.isArray(g))return p?o?{...o,...g}:g:n&&g[n]!==void 0?g[n]:g;if(Array.isArray(g)){let b=JSON.stringify(g);return p?f(b):b}let h=String(g);return p?f(h):h};if(Array.isArray(e)){let g=e.map(y);return l?g:g.filter(h=>h!==null)}if(typeof e!="string")return e==null?[]:y(String(e))?[y(String(e))]:[];let D=e.trim();if(D==="")return[];if(D.startsWith("[")&&D.endsWith("]")||D.startsWith("{")&&D.endsWith("}"))try{let g=JSON.parse(D);if(Array.isArray(g)){let b=g.map(y);return l?b:b.filter(x=>x!==null)}let h=y(g);return h?[h]:[]}catch{}let A=P(D);if(Array.isArray(A)){let g=A.map(h=>y(h));return l?g:g.filter(h=>h!==null)}for(let g of r)if(D.includes(g)){let b=(i?D:e).split(g).map(x=>y(x));return l?b:b.filter(x=>x!==null&&(!a||x!==""))}let T=y(D);return T?[T]:[]},it=(e,t={})=>U(e,{...t,returnObjects:!1}),ut=(e,t={})=>U(e,{...t,returnObjects:!0}),ct=e=>e.every(t=>t==null||typeof t=="string"||typeof t=="number"||typeof t=="boolean"),lt=e=>{let t=e.trim();if(t===""||t.toLowerCase()==="null")return null;if(t.toLowerCase()!=="undefined"){if(t.toLowerCase()==="true")return!0;if(t.toLowerCase()==="false")return!1;if(/^-?\d+$/.test(t)){let r=parseInt(t,10);return isNaN(r)?t:r}if(/^-?\d+\.\d+$/.test(t)){let r=parseFloat(t);return isNaN(r)?t:r}if(/^-?\d+(?:\.\d+)?[eE][+-]?\d+$/.test(t)){let r=parseFloat(t);return isNaN(r)?t:r}return t}};var ft=e=>e===!0||e===!1,V=e=>{if(e===!0||e===!1||e===0||e===1)return!0;if(typeof e=="string"){let t=e.toLowerCase().trim();return t==="true"||t==="false"||t==="0"||t==="1"}return!1},k=(e,t="strict",r=!1)=>{if(e===null&&t==="strict")throw new Error(`Cannot convert ${e} to boolean with strict strategy`);if(typeof e=="boolean")return e;switch(t){case"strict":return gt(e);case"truthy":return!!e;case"falsy":return dt(e);case"string":return mt(e);case"number":return pt(e);default:return!!e}},gt=e=>{let t=typeof e=="string"?e.trim().toLowerCase():e;if(t===1||t==="1")return!0;if(t===0||t==="0")return!1;if(typeof t=="string"){let r=t.trim().toLowerCase();if(r==="true")return!0;if(r==="false")return!1;throw new Error(`Cannot convert string "${t}" to boolean with strict strategy`)}if(t===!0)return!0;if(t===!1)return!1;throw new Error(`Cannot convert ${typeof t} to boolean with strict strategy`)},dt=e=>{if(typeof e=="string"){let t=e.trim().toLowerCase();return!(t===""||t==="0"||t==="false"||t==="null"||t==="undefined"||t==="nan")}return typeof e=="number"?!(e===0||isNaN(e)):!!e},mt=e=>{if(typeof e!="string")throw new Error(`String strategy requires string input, got ${typeof e}`);let t=e.trim().toLowerCase();if(["true","yes","y","on","1","enabled","enable","active"].includes(t))return!0;if(["false","no","n","off","0","disabled","disable","inactive"].includes(t))return!1;if(!isNaN(Number(t)))return Number(t)!==0;throw new Error(`Cannot convert string "${e}" to boolean`)},pt=e=>{if(typeof e!="number")throw new Error(`Number strategy requires number input, got ${typeof e}`);return isNaN(e)||e===0?!1:e===1?!0:e!==0},ht=(e,t)=>{try{return k(e,"strict")}catch{return t!==void 0?t:!1}},Q=e=>{if(!Array.isArray(e)||e.length===0)return!1;for(let t of e)if(!t)return!1;return!0},G=e=>{if(!Array.isArray(e)||e.length===0)return!1;for(let t of e)if(t)return!0;return!1},X=e=>!G(e),bt=e=>!e,Dt=e=>{if(!Array.isArray(e))return!1;let t=0;for(let r of e)if(r&&(t++,t>1))return!1;return t===1},yt=e=>!Q(e),wt=e=>X(e),St=e=>{if(!Array.isArray(e)||e.length===0)return!0;let t=!!e[0];for(let r=1;r<e.length;r++)if(!!e[r]!==t)return!1;return!0},ee=e=>{if(!Array.isArray(e))return 0;let t=0;for(let r of e)r&&t++;return t},xt=e=>Array.isArray(e)?e.length-ee(e):0,Mt=(e=!1)=>{let t=e;return()=>(t=!t,t)},te=(e,t,r="===")=>{switch(r){case"==":return e==t;case"===":return e===t;case"!=":return e!=t;case"!==":return e!==t;case">":return e>t;case"<":return e<t;case">=":return e>=t;case"<=":return e<=t;default:throw new Error(`Unsupported operator: ${r}`)}},$t=(e,t)=>{for(let r of t)if(!te(e,r.value,r.operator))return!1;return!0},Tt=(e,t)=>{switch(t){case"required":return e===!0;case"optional":return e===!0||e===!1;case"true":return e===!0;case"false":return e===!1;case"truthy":return!!e;case"falsy":return!e;default:return!1}},Et=(e=.5)=>{if(e<0||e>1)throw new Error("Probability must be between 0 and 1");return e===0?!1:Math.random()<=e},Ot=(e,t)=>{let r,n;return(...s)=>(r&&clearTimeout(r),r=setTimeout(()=>{n=e(...s)},t),n)},It=e=>{let t=new WeakMap;return((...r)=>{let n=null,s="";for(let o=0;o<r.length;o++)if(r[o]!==null&&typeof r[o]=="object"){n=r[o];break}if(s=JSON.stringify(r),n){let o=t.get(n);if(o||(o=new Map,t.set(n,o)),o.has(s))return o.get(s);let i=e(...r);return o.set(s,i),i}else{let o=t.get(Object.prototype)||new Map;if(t.has(Object.prototype)||t.set(Object.prototype,o),o.has(s))return o.get(s);let i=e(...r);return o.set(s,i),i}})},At=e=>t=>{for(let r of e)if(!r(t))return!1;return!0},kt=e=>Array.isArray(e)&&e.every(t=>t===!0||t===!1),Ct=e=>Array.isArray(e)&&e.every(t=>V(t)),Yt=(e,t)=>{let r=k(e),n=k(t);return r!==n};var L=1e3,j=60,_=60,z=24,$=7;var oe=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ae=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],ie=["January","February","March","April","May","June","July","August","September","October","November","December"],ue=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],ce={defaultTimezone:"UTC",defaultLocale:"en-US",weekStartsOn:0,businessDays:{businessDays:[1,2,3,4,5],holidays:[],holidayCheck:()=>!1,workStartHour:9,workEndHour:17}},S={...ce};function Nt(e){S={...S,...e,businessDays:{...S.businessDays,...e.businessDays||{}}}}function Ft(){S={...ce}}function d(e,t={}){let{format:r="ISO",customFormat:n="",timezone:s=S.defaultTimezone,strict:o=!0,locale:i=S.defaultLocale}=t;if(e instanceof Date&&w(e))return e;let a=null;if(typeof e=="number"){if(a=new Date(e),!w(a))throw new Error(`Invalid timestamp: ${e}`);return re(a,s)}if(typeof e!="string")throw new Error(`Invalid input type: ${typeof e}`);let u=e.trim();if(!u)throw new Error("Empty date string");try{switch(r){case"ISO":case"ISO_DATE":case"ISO_TIME":a=Rt(u,r);break;case"US":a=Pt(u);break;case"EU":a=Ut(u);break;case"CUSTOM":a=Ht(u,n);break;case"RFC_2822":a=Lt(u);break;case"TIMESTAMP":a=jt(u);break;default:a=_t(u,i,o)}if(!a||!w(a)){if(o)throw new Error(`Parsing resulted in invalid date from input: "${u}"`);if(a=new Date(u),!w(a))throw new Error(`Invalid date format: ${u}`)}if(s&&s!=="UTC"&&(a=J(a,s)),!a)throw new Error(`Invalid date format: ${u}`);return a}catch(c){if(o)throw new Error(`Failed to parse date "${u}" with format ${r}: ${c instanceof Error?c.message:String(c)}`);let l=new Date(u);if(w(l)){let p=re(l,s);if(!p)throw new Error(`Invalid date format: ${u}`);return p}throw new Error(`Invalid date format: ${u}`)}}function Rt(e,t){try{if(t==="ISO_DATE"){let n=e.split("-").map(a=>parseInt(a,10));if(n.length<3||n.some(isNaN))throw new Error("Invalid ISO date format");let[s,o,i]=n;return new Date(Date.UTC(s,o-1,i))}if(t==="ISO_TIME"){let s=new Date().toISOString().split("T")[0];return new Date(`${s}T${e}Z`)}let r=new Date(e);if(!w(r))throw new Error("Invalid ISO date");return r}catch{throw new Error(`Invalid ISO ${t} format: ${e}`)}}function Pt(e){try{let t=e.split("/");if(t.length!==3)throw new Error("Invalid US date format - expected MM/DD/YYYY");let r=parseInt(t[0],10)-1,n=parseInt(t[1],10),s=parseInt(t[2],10);if(isNaN(r)||isNaN(n)||isNaN(s))throw new Error("Invalid US date format - non-numeric parts");if(s<100){let i=new Date().getFullYear(),a=Math.floor(i/100)*100;s+=s<50?a:a-100}if(r<0||r>11)throw new Error(`Month must be between 1 and 12, got ${r+1}`);let o=new Date(s,r,n);if(!w(o))throw new Error("Invalid date");if(o.getFullYear()!==s||o.getMonth()!==r||o.getDate()!==n)throw new Error("Invalid date");return o}catch(t){throw new Error(`Invalid US date format: ${e} - ${t instanceof Error?t.message:String(t)}`)}}function Ut(e){try{let t=e.split("/");if(t.length!==3)throw new Error("Invalid EU date format - expected DD/MM/YYYY");let r=parseInt(t[0],10),n=parseInt(t[1],10)-1,s=parseInt(t[2],10);if(isNaN(r)||isNaN(n)||isNaN(s))throw new Error("Invalid EU date format - non-numeric parts");if(s<100){let i=new Date().getFullYear(),a=Math.floor(i/100)*100;s+=s<50?a:a-100}if(n<0||n>11)throw new Error(`Month must be between 1 and 12, got ${n+1}`);let o=new Date(s,n,r);if(!w(o))throw new Error("Invalid date");if(o.getFullYear()!==s||o.getMonth()!==n||o.getDate()!==r)throw new Error("Invalid date");return o}catch(t){throw new Error(`Invalid EU date format: ${e} - ${t instanceof Error?t.message:String(t)}`)}}function Ht(e,t){try{if(!t)throw new Error("Custom format string is required");let r=t.replace(/YYYY/g,"(\\d{4})").replace(/YY/g,"(\\d{2})").replace(/MM/g,"(\\d{2})").replace(/M/g,"(\\d{1,2})").replace(/DD/g,"(\\d{2})").replace(/D/g,"(\\d{1,2})").replace(/HH/g,"(\\d{2})").replace(/H/g,"(\\d{1,2})").replace(/hh/g,"(\\d{2})").replace(/h/g,"(\\d{1,2})").replace(/mm/g,"(\\d{2})").replace(/m/g,"(\\d{1,2})").replace(/ss/g,"(\\d{2})").replace(/s/g,"(\\d{1,2})"),n=new RegExp(`^${r}$`),s=e.match(n);if(!s)throw new Error(`Input does not match custom format: ${t}`);let o=0,i=0,a=1,u=0,c=0,l=0,p=1,f=t.match(/YYYY|YY|MM|M|DD|D|HH|H|hh|h|mm|m|ss|s/g)||[];for(let y of f){let D=parseInt(s[p],10);if(isNaN(D))throw new Error(`Invalid numeric value for token ${y}`);switch(y){case"YYYY":o=D;break;case"YY":if(o=D,o<100){let A=new Date().getFullYear(),T=Math.floor(A/100)*100;o+=o<50?T:T-100}break;case"MM":case"M":i=D-1;break;case"DD":case"D":a=D;break;case"HH":case"H":u=D;break;case"hh":case"h":u=D;break;case"mm":case"m":c=D;break;case"ss":case"s":l=D;break}p++}if(o<1e3||o>9999)throw new Error(`Year must be between 1000 and 9999: ${o}`);if(i<0||i>11)throw new Error(`Month must be between 1 and 12: ${i+1}`);let m=new Date(o,i,a,u,c,l);if(!w(m))throw new Error("Invalid date");if(m.getFullYear()!==o||m.getMonth()!==i||m.getDate()!==a)throw new Error("Invalid date");return m}catch(r){throw new Error(`Failed to parse with custom format "${t}": ${r instanceof Error?r.message:String(r)}`)}}function Lt(e){try{let t=new Date(e);if(!w(t))throw new Error("Invalid RFC 2822 date");return t}catch{throw new Error(`Invalid RFC 2822 date format: ${e}`)}}function jt(e){try{if(!/^\d{8}(\d{6})?$/.test(e))throw new Error("Invalid timestamp format - expected YYYYMMDD or YYYYMMDDHHMMSS");let t=parseInt(e.substring(0,4),10),r=parseInt(e.substring(4,6),10)-1,n=parseInt(e.substring(6,8),10),s=0,o=0,i=0;if(e.length===14&&(s=parseInt(e.substring(8,10),10),o=parseInt(e.substring(10,12),10),i=parseInt(e.substring(12,14),10)),r<0||r>11)throw new Error(`Month must be between 1 and 12: ${r+1}`);let a=new Date(t,r,n,s,o,i);if(!w(a))throw new Error("Invalid timestamp");return a}catch(t){throw new Error(`Invalid timestamp format: ${e} - ${t instanceof Error?t.message:String(t)}`)}}function _t(e,t,r){try{let n=new Date(e);if(w(n))return n;let s=new Intl.DateTimeFormat(t,{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),o=new Date(e);if(w(o))return o;if(r)throw new Error(`Could not parse date with locale ${t}`);return new Date(NaN)}catch(n){if(r)throw new Error(`Failed to parse locale date: ${n instanceof Error?n.message:String(n)}`);return new Date(NaN)}}function re(e,t){return e}function w(e){if(!e||typeof e!="object")return!1;let t=e;if(typeof t.getTime!="function"||typeof t.getFullYear!="function")return!1;let r=t.getTime();return!isNaN(r)&&typeof r=="number"&&isFinite(r)}function H(e,t={}){let r=d(e),{format:n="ISO",customFormat:s="",timezone:o=S.defaultTimezone,locale:i=S.defaultLocale,includeTime:a=!0,includeSeconds:u=!1,includeMilliseconds:c=!1}=t,l=r;switch(o&&o!=="UTC"&&(l=J(r,o)),n){case"ISO":return l.toISOString();case"ISO_DATE":return l.toISOString().split("T")[0];case"ISO_TIME":{let p=l.toISOString().split("T")[1];return c?p:p.split(".")[0]}case"US":return wr(l);case"EU":return Sr(l);case"FULL":return xr(l,i);case"LONG":return Mr(l,i);case"MEDIUM":return ne(l,i);case"SHORT":return $r(l,i);case"TIME":return se(l,i,u);case"TIME_24":return Tr(l,u);case"DATETIME":return`${ne(l,i)}, ${se(l,i,u)}`;case"TIMESTAMP":return Er(l);case"RFC_2822":return Or(l);case"CUSTOM":return Ir(l,s);default:return l.toISOString()}}function E(){return new Date}function Y(){return C(new Date)}function zt(){return W(Y(),1)}function Wt(){return fe(Y(),1)}function le(e,t,r,n=0,s=0,o=0,i=0){return Ar(e,t,r,n,s,o,i),new Date(e,t,r,n,s,o,i)}function O(e,t,r="day"){let n=d(e),s=new Date(n);switch(r){case"millisecond":s.setMilliseconds(s.getMilliseconds()+t);break;case"second":s.setSeconds(s.getSeconds()+t);break;case"minute":s.setMinutes(s.getMinutes()+t);break;case"hour":s.setHours(s.getHours()+t);break;case"day":s.setDate(s.getDate()+t);break;case"week":s.setDate(s.getDate()+t*$);break;case"month":s.setMonth(s.getMonth()+t);break;case"quarter":s.setMonth(s.getMonth()+t*3);break;case"year":s.setFullYear(s.getFullYear()+t);break;default:throw new Error(`Unsupported date unit: ${r}`)}return s}function N(e,t,r="day"){return O(e,-t,r)}function W(e,t){return O(e,t,"day")}function fe(e,t){return N(e,t,"day")}function Bt(e,t){return O(e,t,"month")}function Zt(e,t){return N(e,t,"month")}function Jt(e,t){return O(e,t,"year")}function qt(e,t){return N(e,t,"year")}function M(e,t){let r=d(e),n=new Date(r);switch(t){case"year":n.setMonth(0,1),n.setHours(0,0,0,0);break;case"month":n.setDate(1),n.setHours(0,0,0,0);break;case"day":n.setHours(0,0,0,0);break;case"hour":n.setMinutes(0,0,0);break;case"minute":n.setSeconds(0,0);break;case"second":n.setMilliseconds(0);break;case"week":{let o=(n.getDay()-S.weekStartsOn+$)%$;n.setDate(n.getDate()-o),n.setHours(0,0,0,0);break}case"quarter":{let s=Math.floor(n.getMonth()/3);n.setMonth(s*3,1),n.setHours(0,0,0,0);break}default:throw new Error(`Unsupported unit for startOf: ${t}`)}return n}function I(e,t){let r=M(e,t),n=new Date(r);switch(t){case"year":n.setFullYear(n.getFullYear()+1);break;case"quarter":n.setMonth(n.getMonth()+3);break;case"month":n.setMonth(n.getMonth()+1);break;case"week":n.setDate(n.getDate()+$);break;case"day":n.setDate(n.getDate()+1);break;case"hour":n.setHours(n.getHours()+1);break;case"minute":n.setMinutes(n.getMinutes()+1);break;case"second":n.setSeconds(n.getSeconds()+1);break;default:throw new Error(`Unsupported unit for endOf: ${t}`)}return n.setMilliseconds(n.getMilliseconds()-1),n}function C(e){return M(e,"day")}function vt(e){return I(e,"day")}function Kt(e){return M(e,"month")}function Vt(e){return I(e,"month")}function Qt(e){return M(e,"year")}function Gt(e){return I(e,"year")}function Xt(e){return M(e,"week")}function er(e){return I(e,"week")}function tr(e,t,r,n=!0){let s=d(e),o=d(t),i=d(r);return n?s>=o&&s<=i:s>o&&s<i}function rr(e,t){return d(e)<d(t)}function nr(e,t){return d(e)>d(t)}function B(e,t,r){let n=d(e),s=d(t);if(!r)return n.getTime()===s.getTime();let o=M(n,r),i=M(s,r);return o.getTime()===i.getTime()}function sr(e){return B(e,Y(),"day")}function ge(e){return d(e)<E()}function de(e){return d(e)>E()}function me(e,t){let r=d(e),n=d(t),s=Math.abs(n.getTime()-r.getTime()),o=Math.floor(s/L),i=Math.floor(o/j),a=Math.floor(i/_),u=Math.floor(a/z);return{years:Math.floor(u/365),months:Math.floor(u/30),weeks:Math.floor(u/$),days:u,hours:a,minutes:i,seconds:o,milliseconds:s,totalDays:u,totalHours:a,totalMinutes:i,totalSeconds:o,totalMilliseconds:s}}function or(e,t=E(),r=!1){let n=me(e,t),o=d(e)<d(t)?"ago":"in";return n.years>0?r?`${n.years} year${n.years===1?"":"s"} ${o}`:`${n.years}y ${o}`:n.months>0?r?`${n.months} month${n.months===1?"":"s"} ${o}`:`${n.months}mo ${o}`:n.weeks>0?r?`${n.weeks} week${n.weeks===1?"":"s"} ${o}`:`${n.weeks}w ${o}`:n.days>0?r?`${n.days} day${n.days===1?"":"s"} ${o}`:`${n.days}d ${o}`:n.hours>0?r?`${n.hours} hour${n.hours===1?"":"s"} ${o}`:`${n.hours}h ${o}`:n.minutes>0?r?`${n.minutes} minute${n.minutes===1?"":"s"} ${o}`:`${n.minutes}m ${o}`:r?`${n.seconds} second${n.seconds===1?"":"s"} ${o}`:`${n.seconds}s ${o}`}function Z(e){let r=d(e).getDay();return r===0||r===6}function ar(e){return!Z(e)}function pe(e){let t=d(e);return Z(t)||!S.businessDays.businessDays.includes(t.getDay())?!1:!(S.businessDays.holidays?.some(n=>B(n,t,"day"))||S.businessDays.holidayCheck?.(t))}function ir(e,t){let r=d(e),n=0,s=t>0?1:-1;for(;n<Math.abs(t);)r=W(r,s),pe(r)&&n++;return r}function ur(e,t,r=!1){let n=C(d(e)),s=C(d(t)),o=Math.abs(s.getTime()-n.getTime()),i=Math.floor(o/(L*j*_*z));return r?i+1:i}function cr(e,t){let r=d(e),n=d(t),s=n.getFullYear()-r.getFullYear(),o=n.getMonth()-r.getMonth();return s*12+o}function lr(e,t){let r=d(e);return d(t).getFullYear()-r.getFullYear()}function fr(e,t=E()){let r=d(e),n=d(t),s=n.getFullYear()-r.getFullYear(),o=n.getMonth()-r.getMonth();return(o<0||o===0&&n.getDate()<r.getDate())&&s--,Math.max(0,s)}function gr(e){let t=d(e),r=new Date(t.getFullYear(),0,1),n=(t.getTime()-r.getTime())/(L*j*_*z);return Math.ceil((n+r.getDay()+1)/$)}function dr(e){let t=d(e).getMonth();return Math.floor(t/3)+1}function mr(e,t="full"){let n=d(e).getDay();return t==="full"?oe[n]:ae[n]}function pr(e,t="full"){let n=d(e).getMonth();return t==="full"?ie[n]:ue[n]}function hr(e){let t=d(e);return new Date(t.getFullYear(),t.getMonth()+1,0).getDate()}function br(e){return e%4===0&&e%100!==0||e%400===0}function Dr(e,t={}){let r=[];try{let n=d(e);if(t.required&&!n&&r.push("Date is required"),t.min||t.minDate){let s=d(t.min||t.minDate);n<s&&r.push(`Date must be on or after ${H(s,{format:"MEDIUM"})}`)}if(t.max||t.maxDate){let s=d(t.max||t.maxDate);n>s&&r.push(`Date must be on or before ${H(s,{format:"MEDIUM"})}`)}t.allowPast===!1&&ge(n)&&r.push("Date must be in the future"),t.allowFuture===!1&&de(n)&&r.push("Date must be in the past")}catch(n){r.push(n instanceof Error?n.message:"Invalid date")}return{isValid:r.length===0,errors:r}}function yr(e){let t=d(e),r=Intl.DateTimeFormat().resolvedOptions().timeZone,n=-t.getTimezoneOffset(),s=Math.floor(Math.abs(n)/60),o=Math.abs(n)%60,i=n>=0?"+":"-";return{abbreviation:kr(t),name:r,offset:n,offsetString:`UTC${i}${String(s).padStart(2,"0")}:${String(o).padStart(2,"0")}`,isDST:Cr(t)}}function J(e,t){let r=d(e);if(t==="UTC")return new Date(r.getTime()+r.getTimezoneOffset()*6e4);let s=new Intl.DateTimeFormat("en-US",{timeZone:t,year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}).formatToParts(r),o=i=>s.find(a=>a.type===i)?.value;return le(parseInt(o("year")),parseInt(o("month"))-1,parseInt(o("day")),parseInt(o("hour")),parseInt(o("minute")),parseInt(o("second")))}function wr(e){let t=(e.getMonth()+1).toString().padStart(2,"0"),r=e.getDate().toString().padStart(2,"0"),n=e.getFullYear();return`${t}/${r}/${n}`}function Sr(e){let t=e.getDate().toString().padStart(2,"0"),r=(e.getMonth()+1).toString().padStart(2,"0"),n=e.getFullYear();return`${t}/${r}/${n}`}function xr(e,t){return new Intl.DateTimeFormat(t,{weekday:"long",year:"numeric",month:"long",day:"numeric"}).format(e)}function Mr(e,t){return new Intl.DateTimeFormat(t,{year:"numeric",month:"long",day:"numeric"}).format(e)}function ne(e,t){return new Intl.DateTimeFormat(t,{year:"numeric",month:"short",day:"numeric"}).format(e)}function $r(e,t){return new Intl.DateTimeFormat(t,{year:"2-digit",month:"numeric",day:"numeric"}).format(e)}function se(e,t,r){return new Intl.DateTimeFormat(t,{hour:"numeric",minute:"2-digit",second:r?"2-digit":void 0,hour12:!0}).format(e)}function Tr(e,t){let r=e.getHours().toString().padStart(2,"0"),n=e.getMinutes().toString().padStart(2,"0"),s=t?`:${e.getSeconds().toString().padStart(2,"0")}`:"";return`${r}:${n}${s}`}function Er(e){let t=e.getFullYear(),r=(e.getMonth()+1).toString().padStart(2,"0"),n=e.getDate().toString().padStart(2,"0"),s=e.getHours().toString().padStart(2,"0"),o=e.getMinutes().toString().padStart(2,"0"),i=e.getSeconds().toString().padStart(2,"0");return`${t}${r}${n}${s}${o}${i}`}function Or(e){return e.toUTCString()}function Ir(e,t){let r={YYYY:e.getFullYear().toString(),YY:e.getFullYear().toString().slice(-2),MMMM:ie[e.getMonth()],MMM:ue[e.getMonth()],MM:(e.getMonth()+1).toString().padStart(2,"0"),M:(e.getMonth()+1).toString(),DDDD:oe[e.getDay()],DDD:ae[e.getDay()],DD:e.getDate().toString().padStart(2,"0"),D:e.getDate().toString(),HH:e.getHours().toString().padStart(2,"0"),H:e.getHours().toString(),hh:(e.getHours()%12||12).toString().padStart(2,"0"),h:(e.getHours()%12||12).toString(),mm:e.getMinutes().toString().padStart(2,"0"),m:e.getMinutes().toString(),ss:e.getSeconds().toString().padStart(2,"0"),s:e.getSeconds().toString(),SSS:e.getMilliseconds().toString().padStart(3,"0"),A:e.getHours()<12?"AM":"PM",a:e.getHours()<12?"am":"pm"};return t.replace(/YYYY|YY|MMMM|MMM|MM|M|DDDD|DDD|DD|D|HH|H|hh|h|mm|m|ss|s|SSS|A|a/g,n=>r[n]||n)}function Ar(e,t,r,n=0,s=0,o=0,i=0){if(e<1e3||e>9999)throw new Error(`Year must be between 1000 and 9999: ${e}`);if(t<0||t>11)throw new Error(`Month must be between 0 and 11: ${t}`);let a=new Date(e,t+1,0).getDate();if(r<1||r>a)throw new Error(`Day must be between 1 and ${a} for month ${t}: ${r}`);if(n<0||n>23)throw new Error(`Hour must be between 0 and 23: ${n}`);if(s<0||s>59)throw new Error(`Minute must be between 0 and 59: ${s}`);if(o<0||o>59)throw new Error(`Second must be between 0 and 59: ${o}`);if(i<0||i>999)throw new Error(`Millisecond must be between 0 and 999: ${i}`)}function kr(e){let n=new Intl.DateTimeFormat("en-US",{timeZoneName:"short"}).formatToParts(e).find(s=>s.type==="timeZoneName");return n?n.value:"UTC"}function Cr(e){let t=new Date(e.getFullYear(),0,1),r=new Date(e.getFullYear(),6,1),n=Math.max(t.getTimezoneOffset(),r.getTimezoneOffset());return e.getTimezoneOffset()<n}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/primitive/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
function H(e,t={}){let{allowComments:r=!0,allowUnquotedKeys:n=!0,allowSingleQuotes:s=!0,allowTrailingCommas:o=!0,allowUndefined:i=!1}=t,a=e.trim();if(r&&(a=a.replace(/\/\*[\s\S]*?\*\//g,""),a=a.split(`
|
|
2
|
+
`).map(l=>{let p=!1,f="",m=!1;for(let y=0;y<l.length;y++){let D=l[y];if(m){m=!1;continue}if(D==="\\"){m=!0;continue}if(!p&&(D==='"'||D==="'"))p=!0,f=D;else if(p&&D===f)p=!1,f="";else if(!p&&D==="/"&&l[y+1]==="/")return l.substring(0,y)}return l}).join(`
|
|
3
|
+
`)),n&&(a=a.replace(/([{,]\s*)([a-zA-Z_$][a-zA-Z0-9_$]*)(\s*:)/g,'$1"$2"$3')),s){let u="",c=!1,l=!1,p=!1,f=0;for(;f<a.length;){let m=a[f];if(p){u+=m,p=!1,f++;continue}if(m==="\\"){p=!0,u+=m,f++;continue}m==="'"&&!l?c?(u+='"',c=!1):(u+='"',c=!0):(m==='"'&&!c&&(l?l=!1:l=!0),u+=m),f++}a=u}if(o){let u="",c=!1,l="",p=!1,f=0;for(;f<a.length;){let m=a[f];if(p){u+=m,p=!1,f++;continue}if(m==="\\"){p=!0,u+=m,f++;continue}if((m==='"'||m==="'")&&!c)c=!0,l=m,u+=m;else if(c&&m===l)c=!1,l="",u+=m;else if(!c&&m===","){let y=f+1;for(;y<a.length&&/\s/.test(a[y]);)y++;if(y<a.length&&(a[y]==="]"||a[y]==="}")){f++;continue}else u+=m}else u+=m;f++}a=u}if(i){let u="",c=!1,l="",p=!1,f=0;for(;f<a.length;){if(p){u+=a[f],p=!1,f++;continue}if(a[f]==="\\"){p=!0,u+=a[f],f++;continue}if((a[f]==='"'||a[f]==="'")&&!c)c=!0,l=a[f],u+=a[f];else if(c&&a[f]===l)c=!1,l="",u+=a[f];else if(!c&&a.substr(f,9)==="undefined"){let m=f>0?a[f-1]:"",y=f+8<a.length?a[f+9]:"";if(/[a-zA-Z0-9_$]/.test(m)||/[a-zA-Z0-9_$]/.test(y))u+=a[f];else{u+="null",f+=9;continue}}else u+=a[f];f++}a=u}try{return JSON.parse(a)}catch{return}}var je=e=>e.trim(),_e=e=>e.trimStart(),ze=e=>e.trimEnd(),We=e=>e.replace(/[^a-zA-Z0-9]+(.)/g,(t,r)=>r.toUpperCase()).replace(/^[A-Z]/,t=>t.toLowerCase()),Be=e=>e.replace(/[^a-zA-Z0-9]+(.)/g,(t,r)=>r.toUpperCase()).replace(/^[a-z]/,t=>t.toUpperCase()),Ze=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[_\s]+/g,"-").toLowerCase(),Je=e=>e.replace(/([a-z])([A-Z])/g,"$1_$2").replace(/[-\s]+/g,"_").toLowerCase(),qe=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),ve=e=>e.replace(/\b\w+/g,t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()),Ke=(e,t,r=0)=>e.startsWith(t,r),Ve=(e,t,r)=>e.endsWith(t,r),Qe=(e,t)=>e.includes(t),Ge=(e,t)=>e.toLowerCase().includes(t.toLowerCase()),Xe=(e,t,r)=>typeof e.replaceAll=="function"?e.replaceAll(t,r):e.replace(new RegExp(j(t),"g"),r),et=(e,t,r)=>e.replace(new RegExp(j(t),"gi"),r),j=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),tt=e=>{let t={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return e.replace(/[&<>"'/]/g,r=>t[r]||r)},rt=e=>{let t={"&":"&","<":"<",">":">",""":'"',"'":"'","/":"/"};return e.replace(/&(?:amp|lt|gt|quot|#39|#x2F);/g,r=>t[r]||r)},nt=(e,t,r="...")=>e.length<=t?e:e.slice(0,t-r.length)+r,st=(e,t,r=" ",n="start")=>{let s=t-e.length;if(s<=0)return e;let o=r.repeat(s);switch(n){case"start":return o+e;case"end":return e+o;case"both":let i=Math.floor(s/2),a=s-i;return r.repeat(i)+e+r.repeat(a)}},ot=e=>e.trim().length===0,at=e=>/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(e.trim()),it=e=>{try{return new URL(e),!0}catch{return!1}},ut=e=>{try{return new URL(e).hostname.replace(/^www\./,"")}catch{return""}},ct=(e=10,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")=>{let r="",n=t.length;for(let s=0;s<e;s++)r+=t.charAt(Math.floor(Math.random()*n));return r},lt=(e,t,r=!0)=>{if(!t)return 0;let n=r?e:e.toLowerCase(),s=r?t:t.toLowerCase(),o=0,i=0;for(;(i=n.indexOf(s,i))!==-1;)o++,i+=s.length;return o},ft=e=>e.replace(/\s+/g,""),re=e=>e.split("").reverse().join(""),gt=(e,t=!1)=>{let n=(t?e:e.toLowerCase()).replace(/[^a-z0-9]/gi,"");return n===re(n)},dt=e=>e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,""),mt=(e,t=0,r=0,n="*")=>{if(t+r>=e.length)return e;let s=e.slice(0,t),o=r>0?e.slice(-r):"",i=n.repeat(e.length-t-r);return s+i+o},pt=(e,t=2)=>e.split(/\s+/).slice(0,t).map(r=>r.charAt(0).toUpperCase()).join(""),ht=e=>e.replace(/\r\n/g,`
|
|
4
|
+
`).replace(/\r/g,`
|
|
5
|
+
`),bt=(e,t=80)=>{let r=e.split(" "),n=[],s="";for(let o of r){let i=s.length+o.length+1;s.length+o.length<=t?s+=(s?" ":"")+o:(s&&n.push(s),s=o)}return s&&n.push(s),n},Dt=e=>typeof e=="string",yt=(e,t)=>{if(e==null)return t!==void 0?t:"";let r=e;if(Array.isArray(r)){if(r.length===0)return t!==void 0?t:""}else if(typeof r=="object"&&Object.keys(r).length===0)return t!==void 0?t:"";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return String(e);try{return String(e)}catch{return t!==void 0?t:""}},wt=(e,t=!0)=>{if(!t||new Set([" "," "," ","_space_"]).has(e))return e;let n=/[.*+?^${}()|[\]\\]/g;return e.replace(n,"\\$&")};function L(e,t,r,n){if(t<0||t>e.length)throw new Error("Start index out of bounds");if(r<t||r>e.length)throw new Error("End index out of bounds");let s=e.substring(0,t),o=e.substring(r);return s+n+o}var St=(e,t,r="start",n="")=>{if(!e||!t||t.length===0||e.length<t.length)return e;if(r==="both"){let o=e;return o.startsWith(t)&&(o=L(o,0,t.length,n)),o.endsWith(t)&&(o=L(o,o.length-t.length,o.length,n)),o}return r==="start"&&e.startsWith(t)||r==="end"&&e.endsWith(t)?r==="start"?n+e.substring(t.length):e.substring(0,e.length-t.length)+n:e},xt=(e,t)=>{let{pattern:r,position:n,newValue:s,useRegex:o=!1,flags:i}={...t};if(!e)return e;s||(s="");let a,u=typeof n>"u"||n==="start";if(o&&r instanceof RegExp){a=r;let c=a.source;n&&(n==="start"?r=`^${c}`:n==="end"?r=`${c}$`:r=`^${c}|${c}$`,r=new RegExp(r,i))}else if(o)n&&(n==="start"?r=`^${r}`:n==="end"?r=`${r}$`:n==="both"&&(r=`^${r}|${r}$`)),a=new RegExp(r,i);else{let c=r;a=new RegExp(u?`^${c}`:n==="end"?`${c}$`:n==="both"?`^${c}|${c}$`:`${c}`,i||"g")}return e.replace(a,s)},_=e=>{if(!e.startsWith("[")||!e.endsWith("]"))return e;let t=e.slice(1,-1).trim();if(t==="")return[];try{let u=`[${t}]`,c=JSON.parse(u);if(Array.isArray(c))return c}catch{}let r=[],n="",s=!1,o="",i=!1,a=0;for(let u=0;u<t.length;u++){let c=t[u];if(i){n+=c,i=!1;continue}if(c==="\\"&&s){i=!0;continue}(c==='"'||c==="'")&&!s?(s=!0,o=c):c===o&&s?(s=!1,o=""):c==="["&&!s?(a++,n+=c):c==="]"&&!s?(a--,n+=c):c===","&&!s&&a===0?(r.push(n.trim()),n=""):n+=c}return n.trim()&&r.push(n.trim()),r.map(u=>{let c=u.trim();return c.startsWith('"')&&c.endsWith('"')||c.startsWith("'")&&c.endsWith("'")?c.slice(1,-1):c})},Mt=e=>{let t=e.trim();if(t.startsWith("[")&&t.endsWith("]")){let r=_(t);return Array.isArray(r)?r:t}if(t.startsWith("{")&&t.endsWith("}"))try{return JSON.parse(t)}catch{let r=H(t);if(r!==void 0)return r;let n=t.replace(/([{,]\s*)(\w+)(\s*:)/g,'$1"$2"$3').replace(/:\s*'([^']*)'/g,':"$1"');try{return JSON.parse(n)}catch{return t}}try{return JSON.parse(t)}catch{return t}},$t=e=>Array.isArray(e)&&e.every(t=>typeof t=="string"),z=(e,t={})=>{let{delimiters:r=["|"],valueKey:n,labelKey:s,defaultObject:o,trimItems:i=!0,filterEmpty:a=!0,returnObjects:u,parsePrimitives:c=!1,preserveNullUndefined:l=!1}=t,p=u??(n!==void 0||s!==void 0||o!==void 0),f=g=>{let h=o?{...o}:{},b=i?g.trim():g;if(n!==void 0&&(h[n]=c?m(b):b),n!==s||n===void 0&&s===void 0){let x;n===void 0&&s===void 0?x=u?"label":n:x=s,x!==void 0&&(h[x]=b)}return h},m=g=>{let h=g.trim();if(h==="")return l?null:"";if(h.toLowerCase()==="null")return l?null:"null";if(h.toLowerCase()==="undefined")return l?null:"undefined";if(h.toLowerCase()==="true")return!0;if(h.toLowerCase()==="false")return!1;if(/^-?\d+$/.test(h)){let b=parseInt(h,10);return isNaN(b)?i?h:g:b}if(/^-?\d+\.\d+$/.test(h)){let b=parseFloat(h);return isNaN(b)?i?h:g:b}return i?h:g},y=g=>{if(g==null)return l?g:null;if(typeof g=="string"){let b=i?g.trim():g;return g==="null"?null:g==="undefined"?l?void 0:"undefined":g===""?l?null:"":a&&b===""?l?b:null:p?f(b):c?m(b):b}if(typeof g=="number"||typeof g=="boolean")if(p){let b=o?{...o}:{};return n!==void 0&&(b[n]=g),s!==void 0&&s!==n&&(b[s]=String(g)),b}else return g;if(typeof g=="object"&&!Array.isArray(g))return p?o?{...o,...g}:g:n&&g[n]!==void 0?g[n]:g;if(Array.isArray(g)){let b=JSON.stringify(g);return p?f(b):b}let h=String(g);return p?f(h):h};if(Array.isArray(e)){let g=e.map(y);return l?g:g.filter(h=>h!==null)}if(typeof e!="string")return e==null?[]:y(String(e))?[y(String(e))]:[];let D=e.trim();if(D==="")return[];if(D.startsWith("[")&&D.endsWith("]")||D.startsWith("{")&&D.endsWith("}"))try{let g=JSON.parse(D);if(Array.isArray(g)){let b=g.map(y);return l?b:b.filter(x=>x!==null)}let h=y(g);return h?[h]:[]}catch{}let E=_(D);if(Array.isArray(E)){let g=E.map(h=>y(h));return l?g:g.filter(h=>h!==null)}for(let g of r)if(D.includes(g)){let b=(i?D:e).split(g).map(x=>y(x));return l?b:b.filter(x=>x!==null&&(!a||x!==""))}let T=y(D);return T?[T]:[]},Tt=(e,t={})=>z(e,{...t,returnObjects:!1}),Et=(e,t={})=>z(e,{...t,returnObjects:!0}),Ot=e=>e.every(t=>t==null||typeof t=="string"||typeof t=="number"||typeof t=="boolean"),It=e=>{let t=e.trim();if(t===""||t.toLowerCase()==="null")return null;if(t.toLowerCase()!=="undefined"){if(t.toLowerCase()==="true")return!0;if(t.toLowerCase()==="false")return!1;if(/^-?\d+$/.test(t)){let r=parseInt(t,10);return isNaN(r)?t:r}if(/^-?\d+\.\d+$/.test(t)){let r=parseFloat(t);return isNaN(r)?t:r}if(/^-?\d+(?:\.\d+)?[eE][+-]?\d+$/.test(t)){let r=parseFloat(t);return isNaN(r)?t:r}return t}};var kt=e=>e===!0||e===!1,ne=e=>{if(e===!0||e===!1||e===0||e===1)return!0;if(typeof e=="string"){let t=e.toLowerCase().trim();return t==="true"||t==="false"||t==="0"||t==="1"}return!1},k=(e,t="strict",r=!1)=>{if(e===null&&t==="strict")throw new Error(`Cannot convert ${e} to boolean with strict strategy`);if(typeof e=="boolean")return e;switch(t){case"strict":return se(e);case"truthy":return!!e;case"falsy":return oe(e);case"string":return ae(e);case"number":return ie(e);default:return!!e}},se=e=>{let t=typeof e=="string"?e.trim().toLowerCase():e;if(t===1||t==="1")return!0;if(t===0||t==="0")return!1;if(typeof t=="string"){let r=t.trim().toLowerCase();if(r==="true")return!0;if(r==="false")return!1;throw new Error(`Cannot convert string "${t}" to boolean with strict strategy`)}if(t===!0)return!0;if(t===!1)return!1;throw new Error(`Cannot convert ${typeof t} to boolean with strict strategy`)},oe=e=>{if(typeof e=="string"){let t=e.trim().toLowerCase();return!(t===""||t==="0"||t==="false"||t==="null"||t==="undefined"||t==="nan")}return typeof e=="number"?!(e===0||isNaN(e)):!!e},ae=e=>{if(typeof e!="string")throw new Error(`String strategy requires string input, got ${typeof e}`);let t=e.trim().toLowerCase();if(["true","yes","y","on","1","enabled","enable","active"].includes(t))return!0;if(["false","no","n","off","0","disabled","disable","inactive"].includes(t))return!1;if(!isNaN(Number(t)))return Number(t)!==0;throw new Error(`Cannot convert string "${e}" to boolean`)},ie=e=>{if(typeof e!="number")throw new Error(`Number strategy requires number input, got ${typeof e}`);return isNaN(e)||e===0?!1:e===1?!0:e!==0},Ct=(e,t)=>{try{return k(e,"strict")}catch{return t!==void 0?t:!1}},ue=e=>{if(!Array.isArray(e)||e.length===0)return!1;for(let t of e)if(!t)return!1;return!0},ce=e=>{if(!Array.isArray(e)||e.length===0)return!1;for(let t of e)if(t)return!0;return!1},le=e=>!ce(e),Yt=e=>!e,Nt=e=>{if(!Array.isArray(e))return!1;let t=0;for(let r of e)if(r&&(t++,t>1))return!1;return t===1},Ft=e=>!ue(e),Rt=e=>le(e),Pt=e=>{if(!Array.isArray(e)||e.length===0)return!0;let t=!!e[0];for(let r=1;r<e.length;r++)if(!!e[r]!==t)return!1;return!0},fe=e=>{if(!Array.isArray(e))return 0;let t=0;for(let r of e)r&&t++;return t},Ut=e=>Array.isArray(e)?e.length-fe(e):0,Ht=(e=!1)=>{let t=e;return()=>(t=!t,t)},ge=(e,t,r="===")=>{switch(r){case"==":return e==t;case"===":return e===t;case"!=":return e!=t;case"!==":return e!==t;case">":return e>t;case"<":return e<t;case">=":return e>=t;case"<=":return e<=t;default:throw new Error(`Unsupported operator: ${r}`)}},Lt=(e,t)=>{for(let r of t)if(!ge(e,r.value,r.operator))return!1;return!0},jt=(e,t)=>{switch(t){case"required":return e===!0;case"optional":return e===!0||e===!1;case"true":return e===!0;case"false":return e===!1;case"truthy":return!!e;case"falsy":return!e;default:return!1}},_t=(e=.5)=>{if(e<0||e>1)throw new Error("Probability must be between 0 and 1");return e===0?!1:Math.random()<=e},zt=(e,t)=>{let r,n;return(...s)=>(r&&clearTimeout(r),r=setTimeout(()=>{n=e(...s)},t),n)},Wt=e=>{let t=new WeakMap;return((...r)=>{let n=null,s="";for(let o=0;o<r.length;o++)if(r[o]!==null&&typeof r[o]=="object"){n=r[o];break}if(s=JSON.stringify(r),n){let o=t.get(n);if(o||(o=new Map,t.set(n,o)),o.has(s))return o.get(s);let i=e(...r);return o.set(s,i),i}else{let o=t.get(Object.prototype)||new Map;if(t.has(Object.prototype)||t.set(Object.prototype,o),o.has(s))return o.get(s);let i=e(...r);return o.set(s,i),i}})},Bt=e=>t=>{for(let r of e)if(!r(t))return!1;return!0},Zt=e=>Array.isArray(e)&&e.every(t=>t===!0||t===!1),Jt=e=>Array.isArray(e)&&e.every(t=>ne(t)),qt=(e,t)=>{let r=k(e),n=k(t);return r!==n};var Y=1e3,N=60,F=60,R=24,$=7;var q=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],v=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],K=["January","February","March","April","May","June","July","August","September","October","November","December"],V=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Q={defaultTimezone:"UTC",defaultLocale:"en-US",weekStartsOn:0,businessDays:{businessDays:[1,2,3,4,5],holidays:[],holidayCheck:()=>!1,workStartHour:9,workEndHour:17}},S={...Q};function Kt(e){S={...S,...e,businessDays:{...S.businessDays,...e.businessDays||{}}}}function Vt(){S={...Q}}function d(e,t={}){let{format:r="ISO",customFormat:n="",timezone:s=S.defaultTimezone,strict:o=!0,locale:i=S.defaultLocale}=t;if(e instanceof Date&&w(e))return e;let a=null;if(typeof e=="number"){if(a=new Date(e),!w(a))throw new Error(`Invalid timestamp: ${e}`);return W(a,s)}if(typeof e!="string")throw new Error(`Invalid input type: ${typeof e}`);let u=e.trim();if(!u)throw new Error("Empty date string");try{switch(r){case"ISO":case"ISO_DATE":case"ISO_TIME":a=de(u,r);break;case"US":a=me(u);break;case"EU":a=pe(u);break;case"CUSTOM":a=he(u,n);break;case"RFC_2822":a=be(u);break;case"TIMESTAMP":a=De(u);break;default:a=ye(u,i,o)}if(!a||!w(a)){if(o)throw new Error(`Parsing resulted in invalid date from input: "${u}"`);if(a=new Date(u),!w(a))throw new Error(`Invalid date format: ${u}`)}if(s&&s!=="UTC"&&(a=te(a,s)),!a)throw new Error(`Invalid date format: ${u}`);return a}catch(c){if(o)throw new Error(`Failed to parse date "${u}" with format ${r}: ${c instanceof Error?c.message:String(c)}`);let l=new Date(u);if(w(l)){let p=W(l,s);if(!p)throw new Error(`Invalid date format: ${u}`);return p}throw new Error(`Invalid date format: ${u}`)}}function de(e,t){try{if(t==="ISO_DATE"){let n=e.split("-").map(a=>parseInt(a,10));if(n.length<3||n.some(isNaN))throw new Error("Invalid ISO date format");let[s,o,i]=n;return new Date(Date.UTC(s,o-1,i))}if(t==="ISO_TIME"){let s=new Date().toISOString().split("T")[0];return new Date(`${s}T${e}Z`)}let r=new Date(e);if(!w(r))throw new Error("Invalid ISO date");return r}catch{throw new Error(`Invalid ISO ${t} format: ${e}`)}}function me(e){try{let t=e.split("/");if(t.length!==3)throw new Error("Invalid US date format - expected MM/DD/YYYY");let r=parseInt(t[0],10)-1,n=parseInt(t[1],10),s=parseInt(t[2],10);if(isNaN(r)||isNaN(n)||isNaN(s))throw new Error("Invalid US date format - non-numeric parts");if(s<100){let i=new Date().getFullYear(),a=Math.floor(i/100)*100;s+=s<50?a:a-100}if(r<0||r>11)throw new Error(`Month must be between 1 and 12, got ${r+1}`);let o=new Date(s,r,n);if(!w(o))throw new Error("Invalid date");if(o.getFullYear()!==s||o.getMonth()!==r||o.getDate()!==n)throw new Error("Invalid date");return o}catch(t){throw new Error(`Invalid US date format: ${e} - ${t instanceof Error?t.message:String(t)}`)}}function pe(e){try{let t=e.split("/");if(t.length!==3)throw new Error("Invalid EU date format - expected DD/MM/YYYY");let r=parseInt(t[0],10),n=parseInt(t[1],10)-1,s=parseInt(t[2],10);if(isNaN(r)||isNaN(n)||isNaN(s))throw new Error("Invalid EU date format - non-numeric parts");if(s<100){let i=new Date().getFullYear(),a=Math.floor(i/100)*100;s+=s<50?a:a-100}if(n<0||n>11)throw new Error(`Month must be between 1 and 12, got ${n+1}`);let o=new Date(s,n,r);if(!w(o))throw new Error("Invalid date");if(o.getFullYear()!==s||o.getMonth()!==n||o.getDate()!==r)throw new Error("Invalid date");return o}catch(t){throw new Error(`Invalid EU date format: ${e} - ${t instanceof Error?t.message:String(t)}`)}}function he(e,t){try{if(!t)throw new Error("Custom format string is required");let r=t.replace(/YYYY/g,"(\\d{4})").replace(/YY/g,"(\\d{2})").replace(/MM/g,"(\\d{2})").replace(/M/g,"(\\d{1,2})").replace(/DD/g,"(\\d{2})").replace(/D/g,"(\\d{1,2})").replace(/HH/g,"(\\d{2})").replace(/H/g,"(\\d{1,2})").replace(/hh/g,"(\\d{2})").replace(/h/g,"(\\d{1,2})").replace(/mm/g,"(\\d{2})").replace(/m/g,"(\\d{1,2})").replace(/ss/g,"(\\d{2})").replace(/s/g,"(\\d{1,2})"),n=new RegExp(`^${r}$`),s=e.match(n);if(!s)throw new Error(`Input does not match custom format: ${t}`);let o=0,i=0,a=1,u=0,c=0,l=0,p=1,f=t.match(/YYYY|YY|MM|M|DD|D|HH|H|hh|h|mm|m|ss|s/g)||[];for(let y of f){let D=parseInt(s[p],10);if(isNaN(D))throw new Error(`Invalid numeric value for token ${y}`);switch(y){case"YYYY":o=D;break;case"YY":if(o=D,o<100){let E=new Date().getFullYear(),T=Math.floor(E/100)*100;o+=o<50?T:T-100}break;case"MM":case"M":i=D-1;break;case"DD":case"D":a=D;break;case"HH":case"H":u=D;break;case"hh":case"h":u=D;break;case"mm":case"m":c=D;break;case"ss":case"s":l=D;break}p++}if(o<1e3||o>9999)throw new Error(`Year must be between 1000 and 9999: ${o}`);if(i<0||i>11)throw new Error(`Month must be between 1 and 12: ${i+1}`);let m=new Date(o,i,a,u,c,l);if(!w(m))throw new Error("Invalid date");if(m.getFullYear()!==o||m.getMonth()!==i||m.getDate()!==a)throw new Error("Invalid date");return m}catch(r){throw new Error(`Failed to parse with custom format "${t}": ${r instanceof Error?r.message:String(r)}`)}}function be(e){try{let t=new Date(e);if(!w(t))throw new Error("Invalid RFC 2822 date");return t}catch{throw new Error(`Invalid RFC 2822 date format: ${e}`)}}function De(e){try{if(!/^\d{8}(\d{6})?$/.test(e))throw new Error("Invalid timestamp format - expected YYYYMMDD or YYYYMMDDHHMMSS");let t=parseInt(e.substring(0,4),10),r=parseInt(e.substring(4,6),10)-1,n=parseInt(e.substring(6,8),10),s=0,o=0,i=0;if(e.length===14&&(s=parseInt(e.substring(8,10),10),o=parseInt(e.substring(10,12),10),i=parseInt(e.substring(12,14),10)),r<0||r>11)throw new Error(`Month must be between 1 and 12: ${r+1}`);let a=new Date(t,r,n,s,o,i);if(!w(a))throw new Error("Invalid timestamp");return a}catch(t){throw new Error(`Invalid timestamp format: ${e} - ${t instanceof Error?t.message:String(t)}`)}}function ye(e,t,r){try{let n=new Date(e);if(w(n))return n;let s=new Intl.DateTimeFormat(t,{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),o=new Date(e);if(w(o))return o;if(r)throw new Error(`Could not parse date with locale ${t}`);return new Date(NaN)}catch(n){if(r)throw new Error(`Failed to parse locale date: ${n instanceof Error?n.message:String(n)}`);return new Date(NaN)}}function W(e,t){return e}function w(e){if(!e||typeof e!="object")return!1;let t=e;if(typeof t.getTime!="function"||typeof t.getFullYear!="function")return!1;let r=t.getTime();return!isNaN(r)&&typeof r=="number"&&isFinite(r)}function B(e,t={}){let r=d(e),{format:n="ISO",customFormat:s="",timezone:o=S.defaultTimezone,locale:i=S.defaultLocale,includeTime:a=!0,includeSeconds:u=!1,includeMilliseconds:c=!1}=t,l=r;switch(o&&o!=="UTC"&&(l=te(r,o)),n){case"ISO":return l.toISOString();case"ISO_DATE":return l.toISOString().split("T")[0];case"ISO_TIME":{let p=l.toISOString().split("T")[1];return c?p:p.split(".")[0]}case"US":return Ee(l);case"EU":return Oe(l);case"FULL":return Ie(l,i);case"LONG":return Ae(l,i);case"MEDIUM":return Z(l,i);case"SHORT":return ke(l,i);case"TIME":return J(l,i,u);case"TIME_24":return Ce(l,u);case"DATETIME":return`${Z(l,i)}, ${J(l,i,u)}`;case"TIMESTAMP":return Ye(l);case"RFC_2822":return Ne(l);case"CUSTOM":return Fe(l,s);default:return l.toISOString()}}function O(){return new Date}function P(){return C(new Date)}function Qt(){return G(P(),1)}function Gt(){return Se(P(),1)}function we(e,t,r,n=0,s=0,o=0,i=0){return Re(e,t,r,n,s,o,i),new Date(e,t,r,n,s,o,i)}function I(e,t,r="day"){let n=d(e),s=new Date(n);switch(r){case"millisecond":s.setMilliseconds(s.getMilliseconds()+t);break;case"second":s.setSeconds(s.getSeconds()+t);break;case"minute":s.setMinutes(s.getMinutes()+t);break;case"hour":s.setHours(s.getHours()+t);break;case"day":s.setDate(s.getDate()+t);break;case"week":s.setDate(s.getDate()+t*$);break;case"month":s.setMonth(s.getMonth()+t);break;case"quarter":s.setMonth(s.getMonth()+t*3);break;case"year":s.setFullYear(s.getFullYear()+t);break;default:throw new Error(`Unsupported date unit: ${r}`)}return s}function U(e,t,r="day"){return I(e,-t,r)}function G(e,t){return I(e,t,"day")}function Se(e,t){return U(e,t,"day")}function Xt(e,t){return I(e,t,"month")}function er(e,t){return U(e,t,"month")}function tr(e,t){return I(e,t,"year")}function rr(e,t){return U(e,t,"year")}function M(e,t){let r=d(e),n=new Date(r);switch(t){case"year":n.setMonth(0,1),n.setHours(0,0,0,0);break;case"month":n.setDate(1),n.setHours(0,0,0,0);break;case"day":n.setHours(0,0,0,0);break;case"hour":n.setMinutes(0,0,0);break;case"minute":n.setSeconds(0,0);break;case"second":n.setMilliseconds(0);break;case"week":{let o=(n.getDay()-S.weekStartsOn+$)%$;n.setDate(n.getDate()-o),n.setHours(0,0,0,0);break}case"quarter":{let s=Math.floor(n.getMonth()/3);n.setMonth(s*3,1),n.setHours(0,0,0,0);break}default:throw new Error(`Unsupported unit for startOf: ${t}`)}return n}function A(e,t){let r=M(e,t),n=new Date(r);switch(t){case"year":n.setFullYear(n.getFullYear()+1);break;case"quarter":n.setMonth(n.getMonth()+3);break;case"month":n.setMonth(n.getMonth()+1);break;case"week":n.setDate(n.getDate()+$);break;case"day":n.setDate(n.getDate()+1);break;case"hour":n.setHours(n.getHours()+1);break;case"minute":n.setMinutes(n.getMinutes()+1);break;case"second":n.setSeconds(n.getSeconds()+1);break;default:throw new Error(`Unsupported unit for endOf: ${t}`)}return n.setMilliseconds(n.getMilliseconds()-1),n}function C(e){return M(e,"day")}function nr(e){return A(e,"day")}function sr(e){return M(e,"month")}function or(e){return A(e,"month")}function ar(e){return M(e,"year")}function ir(e){return A(e,"year")}function ur(e){return M(e,"week")}function cr(e){return A(e,"week")}function lr(e,t,r,n=!0){let s=d(e),o=d(t),i=d(r);return n?s>=o&&s<=i:s>o&&s<i}function fr(e,t){return d(e)<d(t)}function gr(e,t){return d(e)>d(t)}function X(e,t,r){let n=d(e),s=d(t);if(!r)return n.getTime()===s.getTime();let o=M(n,r),i=M(s,r);return o.getTime()===i.getTime()}function dr(e){return X(e,P(),"day")}function xe(e){return d(e)<O()}function Me(e){return d(e)>O()}function $e(e,t){let r=d(e),n=d(t),s=Math.abs(n.getTime()-r.getTime()),o=Math.floor(s/Y),i=Math.floor(o/N),a=Math.floor(i/F),u=Math.floor(a/R);return{years:Math.floor(u/365),months:Math.floor(u/30),weeks:Math.floor(u/$),days:u,hours:a,minutes:i,seconds:o,milliseconds:s,totalDays:u,totalHours:a,totalMinutes:i,totalSeconds:o,totalMilliseconds:s}}function mr(e,t=O(),r=!1){let n=$e(e,t),o=d(e)<d(t)?"ago":"in";return n.years>0?r?`${n.years} year${n.years===1?"":"s"} ${o}`:`${n.years}y ${o}`:n.months>0?r?`${n.months} month${n.months===1?"":"s"} ${o}`:`${n.months}mo ${o}`:n.weeks>0?r?`${n.weeks} week${n.weeks===1?"":"s"} ${o}`:`${n.weeks}w ${o}`:n.days>0?r?`${n.days} day${n.days===1?"":"s"} ${o}`:`${n.days}d ${o}`:n.hours>0?r?`${n.hours} hour${n.hours===1?"":"s"} ${o}`:`${n.hours}h ${o}`:n.minutes>0?r?`${n.minutes} minute${n.minutes===1?"":"s"} ${o}`:`${n.minutes}m ${o}`:r?`${n.seconds} second${n.seconds===1?"":"s"} ${o}`:`${n.seconds}s ${o}`}function ee(e){let r=d(e).getDay();return r===0||r===6}function pr(e){return!ee(e)}function Te(e){let t=d(e);return ee(t)||!S.businessDays.businessDays.includes(t.getDay())?!1:!(S.businessDays.holidays?.some(n=>X(n,t,"day"))||S.businessDays.holidayCheck?.(t))}function hr(e,t){let r=d(e),n=0,s=t>0?1:-1;for(;n<Math.abs(t);)r=G(r,s),Te(r)&&n++;return r}function br(e,t,r=!1){let n=C(d(e)),s=C(d(t)),o=Math.abs(s.getTime()-n.getTime()),i=Math.floor(o/(Y*N*F*R));return r?i+1:i}function Dr(e,t){let r=d(e),n=d(t),s=n.getFullYear()-r.getFullYear(),o=n.getMonth()-r.getMonth();return s*12+o}function yr(e,t){let r=d(e);return d(t).getFullYear()-r.getFullYear()}function wr(e,t=O()){let r=d(e),n=d(t),s=n.getFullYear()-r.getFullYear(),o=n.getMonth()-r.getMonth();return(o<0||o===0&&n.getDate()<r.getDate())&&s--,Math.max(0,s)}function Sr(e){let t=d(e),r=new Date(t.getFullYear(),0,1),n=(t.getTime()-r.getTime())/(Y*N*F*R);return Math.ceil((n+r.getDay()+1)/$)}function xr(e){let t=d(e).getMonth();return Math.floor(t/3)+1}function Mr(e,t="full"){let n=d(e).getDay();return t==="full"?q[n]:v[n]}function $r(e,t="full"){let n=d(e).getMonth();return t==="full"?K[n]:V[n]}function Tr(e){let t=d(e);return new Date(t.getFullYear(),t.getMonth()+1,0).getDate()}function Er(e){return e%4===0&&e%100!==0||e%400===0}function Or(e,t={}){let r=[];try{let n=d(e);if(t.required&&!n&&r.push("Date is required"),t.min||t.minDate){let s=d(t.min||t.minDate);n<s&&r.push(`Date must be on or after ${B(s,{format:"MEDIUM"})}`)}if(t.max||t.maxDate){let s=d(t.max||t.maxDate);n>s&&r.push(`Date must be on or before ${B(s,{format:"MEDIUM"})}`)}t.allowPast===!1&&xe(n)&&r.push("Date must be in the future"),t.allowFuture===!1&&Me(n)&&r.push("Date must be in the past")}catch(n){r.push(n instanceof Error?n.message:"Invalid date")}return{isValid:r.length===0,errors:r}}function Ir(e){let t=d(e),r=Intl.DateTimeFormat().resolvedOptions().timeZone,n=-t.getTimezoneOffset(),s=Math.floor(Math.abs(n)/60),o=Math.abs(n)%60,i=n>=0?"+":"-";return{abbreviation:Pe(t),name:r,offset:n,offsetString:`UTC${i}${String(s).padStart(2,"0")}:${String(o).padStart(2,"0")}`,isDST:Ue(t)}}function te(e,t){let r=d(e);if(t==="UTC")return new Date(r.getTime()+r.getTimezoneOffset()*6e4);let s=new Intl.DateTimeFormat("en-US",{timeZone:t,year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}).formatToParts(r),o=i=>s.find(a=>a.type===i)?.value;return we(parseInt(o("year")),parseInt(o("month"))-1,parseInt(o("day")),parseInt(o("hour")),parseInt(o("minute")),parseInt(o("second")))}function Ee(e){let t=(e.getMonth()+1).toString().padStart(2,"0"),r=e.getDate().toString().padStart(2,"0"),n=e.getFullYear();return`${t}/${r}/${n}`}function Oe(e){let t=e.getDate().toString().padStart(2,"0"),r=(e.getMonth()+1).toString().padStart(2,"0"),n=e.getFullYear();return`${t}/${r}/${n}`}function Ie(e,t){return new Intl.DateTimeFormat(t,{weekday:"long",year:"numeric",month:"long",day:"numeric"}).format(e)}function Ae(e,t){return new Intl.DateTimeFormat(t,{year:"numeric",month:"long",day:"numeric"}).format(e)}function Z(e,t){return new Intl.DateTimeFormat(t,{year:"numeric",month:"short",day:"numeric"}).format(e)}function ke(e,t){return new Intl.DateTimeFormat(t,{year:"2-digit",month:"numeric",day:"numeric"}).format(e)}function J(e,t,r){return new Intl.DateTimeFormat(t,{hour:"numeric",minute:"2-digit",second:r?"2-digit":void 0,hour12:!0}).format(e)}function Ce(e,t){let r=e.getHours().toString().padStart(2,"0"),n=e.getMinutes().toString().padStart(2,"0"),s=t?`:${e.getSeconds().toString().padStart(2,"0")}`:"";return`${r}:${n}${s}`}function Ye(e){let t=e.getFullYear(),r=(e.getMonth()+1).toString().padStart(2,"0"),n=e.getDate().toString().padStart(2,"0"),s=e.getHours().toString().padStart(2,"0"),o=e.getMinutes().toString().padStart(2,"0"),i=e.getSeconds().toString().padStart(2,"0");return`${t}${r}${n}${s}${o}${i}`}function Ne(e){return e.toUTCString()}function Fe(e,t){let r={YYYY:e.getFullYear().toString(),YY:e.getFullYear().toString().slice(-2),MMMM:K[e.getMonth()],MMM:V[e.getMonth()],MM:(e.getMonth()+1).toString().padStart(2,"0"),M:(e.getMonth()+1).toString(),DDDD:q[e.getDay()],DDD:v[e.getDay()],DD:e.getDate().toString().padStart(2,"0"),D:e.getDate().toString(),HH:e.getHours().toString().padStart(2,"0"),H:e.getHours().toString(),hh:(e.getHours()%12||12).toString().padStart(2,"0"),h:(e.getHours()%12||12).toString(),mm:e.getMinutes().toString().padStart(2,"0"),m:e.getMinutes().toString(),ss:e.getSeconds().toString().padStart(2,"0"),s:e.getSeconds().toString(),SSS:e.getMilliseconds().toString().padStart(3,"0"),A:e.getHours()<12?"AM":"PM",a:e.getHours()<12?"am":"pm"};return t.replace(/YYYY|YY|MMMM|MMM|MM|M|DDDD|DDD|DD|D|HH|H|hh|h|mm|m|ss|s|SSS|A|a/g,n=>r[n]||n)}function Re(e,t,r,n=0,s=0,o=0,i=0){if(e<1e3||e>9999)throw new Error(`Year must be between 1000 and 9999: ${e}`);if(t<0||t>11)throw new Error(`Month must be between 0 and 11: ${t}`);let a=new Date(e,t+1,0).getDate();if(r<1||r>a)throw new Error(`Day must be between 1 and ${a} for month ${t}: ${r}`);if(n<0||n>23)throw new Error(`Hour must be between 0 and 23: ${n}`);if(s<0||s>59)throw new Error(`Minute must be between 0 and 59: ${s}`);if(o<0||o>59)throw new Error(`Second must be between 0 and 59: ${o}`);if(i<0||i>999)throw new Error(`Millisecond must be between 0 and 999: ${i}`)}function Pe(e){let n=new Intl.DateTimeFormat("en-US",{timeZoneName:"short"}).formatToParts(e).find(s=>s.type==="timeZoneName");return n?n.value:"UTC"}function Ue(e){let t=new Date(e.getFullYear(),0,1),r=new Date(e.getFullYear(),6,1),n=Math.max(t.getTimezoneOffset(),r.getTimezoneOffset());return e.getTimezoneOffset()<n}export{I as add,hr as addBusinessDays,G as addDays,Xt as addMonths,tr as addYears,ue as all,ce as any,qe as capitalize,Lt as checkConditions,ge as compare,qt as compareBoolean,Kt as configureDateUtils,te as convertTimezone,Ut as countFalsy,lt as countOccurrences,fe as countTruthy,we as createDate,Bt as createPipeline,Ht as createToggle,br as daysBetween,zt as debounceBoolean,$e as difference,A as endOf,nr as endOfDay,or as endOfMonth,cr as endOfWeek,ir as endOfYear,Ve as endsWith,tt as escapeHtml,j as escapeRegExp,wt as escapeString,ut as extractDomain,B as formatDate,wr as getAge,Mr as getDayName,Tr as getDaysInMonth,pt as getInitials,$r as getMonthName,xr as getQuarter,Ir as getTimezoneInfo,Sr as getWeekNumber,mr as humanizeDifference,Qe as includes,Ge as includesIgnoreCase,gr as isAfter,fr as isBefore,lr as isBetween,kt as isBoolean,Zt as isBooleanArray,ne as isBooleanLike,Jt as isBooleanLikeArray,Te as isBusinessDay,w as isDate,ot as isEmpty,Me as isFuture,Er as isLeapYear,gt as isPalindrome,xe as isPast,Ot as isPrimitiveArray,X as isSame,Dt as isString,$t as isStringArray,dr as isToday,at as isValidEmail,it as isValidUrl,pr as isWeekday,ee as isWeekend,mt as mask,Wt as memoizeBoolean,Dr as monthsBetween,Ft as nand,le as none,Rt as nor,ht as normalizeLineEndings,Yt as not,O as now,st as pad,_ as parseArrayLiteral,d as parseDate,Mt as parseLiteral,It as parsePrimitiveValue,_t as randomBoolean,ct as randomString,ft as removeWhitespace,Xe as replaceAll,et as replaceAllIgnoreCase,St as replaceString,xt as replaceStringPattern,Vt as resetDateConfig,re as reverse,Ct as safeToBoolean,dt as slugify,M as startOf,C as startOfDay,sr as startOfMonth,ur as startOfWeek,ar as startOfYear,Ke as startsWith,z as stringToObjectArray,Et as stringToObjectArrayOnly,Tt as stringToPrimitiveArray,U as subtract,Se as subtractDays,er as subtractMonths,rr as subtractYears,k as toBoolean,We as toCamelCase,Ze as toKebabCase,Be as toPascalCase,Je as toSnakeCase,yt as toString,ve as toTitleCase,P as today,Qt as tomorrow,je as trim,ze as trimEnd,_e as trimStart,nt as truncate,rt as unescapeHtml,jt as validateBooleanConstraint,Or as validateDate,bt as wordWrap,Pt as xnor,Nt as xor,yr as yearsBetween,Gt as yesterday};
|