@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.
Files changed (354) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +73 -0
  3. package/dist/index.cjs +1 -0
  4. package/dist/index.d.ts +2 -0
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.js +1 -0
  7. package/dist/index.mjs +1 -0
  8. package/dist/lib/array/advanced.cjs +1 -0
  9. package/dist/lib/array/advanced.d.ts +1116 -0
  10. package/dist/lib/array/advanced.d.ts.map +1 -0
  11. package/dist/lib/array/advanced.js +2429 -0
  12. package/dist/lib/array/advanced.mjs +1 -0
  13. package/dist/lib/array/array.cjs +1 -0
  14. package/dist/lib/array/array.d.ts +6 -0
  15. package/dist/lib/array/array.d.ts.map +1 -0
  16. package/dist/lib/array/array.js +31 -0
  17. package/dist/lib/array/array.mjs +1 -0
  18. package/dist/lib/array/index.cjs +1 -0
  19. package/dist/lib/array/index.d.ts +4 -0
  20. package/dist/lib/array/index.d.ts.map +1 -0
  21. package/dist/lib/array/index.js +3 -0
  22. package/dist/lib/array/index.mjs +1 -0
  23. package/dist/lib/array/utils.cjs +1 -0
  24. package/dist/lib/array/utils.d.ts +100 -0
  25. package/dist/lib/array/utils.d.ts.map +1 -0
  26. package/dist/lib/array/utils.js +165 -0
  27. package/dist/lib/array/utils.mjs +1 -0
  28. package/dist/lib/color/color.cjs +1 -0
  29. package/dist/lib/color/color.d.ts +366 -0
  30. package/dist/lib/color/color.d.ts.map +1 -0
  31. package/dist/lib/color/color.js +722 -0
  32. package/dist/lib/color/color.mjs +1 -0
  33. package/dist/lib/color/constants.cjs +1 -0
  34. package/dist/lib/color/constants.d.ts +361 -0
  35. package/dist/lib/color/constants.d.ts.map +1 -0
  36. package/dist/lib/color/constants.js +358 -0
  37. package/dist/lib/color/constants.mjs +1 -0
  38. package/dist/lib/color/conversions.cjs +1 -0
  39. package/dist/lib/color/conversions.d.ts +166 -0
  40. package/dist/lib/color/conversions.d.ts.map +1 -0
  41. package/dist/lib/color/conversions.js +766 -0
  42. package/dist/lib/color/conversions.mjs +1 -0
  43. package/dist/lib/color/helpers.cjs +1 -0
  44. package/dist/lib/color/helpers.d.ts +75 -0
  45. package/dist/lib/color/helpers.d.ts.map +1 -0
  46. package/dist/lib/color/helpers.js +419 -0
  47. package/dist/lib/color/helpers.mjs +1 -0
  48. package/dist/lib/color/index.cjs +1 -0
  49. package/dist/lib/color/index.d.ts +12 -0
  50. package/dist/lib/color/index.d.ts.map +1 -0
  51. package/dist/lib/color/index.js +15 -0
  52. package/dist/lib/color/index.mjs +1 -0
  53. package/dist/lib/color/types.cjs +1 -0
  54. package/dist/lib/color/types.d.ts +179 -0
  55. package/dist/lib/color/types.d.ts.map +1 -0
  56. package/dist/lib/color/types.js +1 -0
  57. package/dist/lib/color/types.mjs +0 -0
  58. package/dist/lib/color/utils.cjs +1 -0
  59. package/dist/lib/color/utils.d.ts +199 -0
  60. package/dist/lib/color/utils.d.ts.map +1 -0
  61. package/dist/lib/color/utils.js +858 -0
  62. package/dist/lib/color/utils.mjs +1 -0
  63. package/dist/lib/compare/comparators.cjs +1 -0
  64. package/dist/lib/compare/comparators.d.ts +65 -0
  65. package/dist/lib/compare/comparators.d.ts.map +1 -0
  66. package/dist/lib/compare/comparators.js +210 -0
  67. package/dist/lib/compare/comparators.mjs +1 -0
  68. package/dist/lib/compare/index.cjs +1 -0
  69. package/dist/lib/compare/index.d.ts +2 -0
  70. package/dist/lib/compare/index.d.ts.map +1 -0
  71. package/dist/lib/compare/index.js +1 -0
  72. package/dist/lib/compare/index.mjs +1 -0
  73. package/dist/lib/crypto/hash.cjs +1 -0
  74. package/dist/lib/crypto/hash.d.ts +6 -0
  75. package/dist/lib/crypto/hash.d.ts.map +1 -0
  76. package/dist/lib/crypto/hash.js +53 -0
  77. package/dist/lib/crypto/hash.mjs +1 -0
  78. package/dist/lib/crypto/index.cjs +1 -0
  79. package/dist/lib/crypto/index.d.ts +2 -0
  80. package/dist/lib/crypto/index.d.ts.map +1 -0
  81. package/dist/lib/crypto/index.js +1 -0
  82. package/dist/lib/crypto/index.mjs +1 -0
  83. package/dist/lib/dom/events.cjs +1 -0
  84. package/dist/lib/dom/events.d.ts +159 -0
  85. package/dist/lib/dom/events.d.ts.map +1 -0
  86. package/dist/lib/dom/events.js +50 -0
  87. package/dist/lib/dom/events.mjs +1 -0
  88. package/dist/lib/dom/index.cjs +1 -0
  89. package/dist/lib/dom/index.d.ts +3 -0
  90. package/dist/lib/dom/index.d.ts.map +1 -0
  91. package/dist/lib/dom/index.js +2 -0
  92. package/dist/lib/dom/index.mjs +1 -0
  93. package/dist/lib/dom/utils.cjs +1 -0
  94. package/dist/lib/dom/utils.d.ts +6 -0
  95. package/dist/lib/dom/utils.d.ts.map +1 -0
  96. package/dist/lib/dom/utils.js +37 -0
  97. package/dist/lib/dom/utils.mjs +1 -0
  98. package/dist/lib/functions/functions.cjs +1 -0
  99. package/dist/lib/functions/functions.d.ts +329 -0
  100. package/dist/lib/functions/functions.d.ts.map +1 -0
  101. package/dist/lib/functions/functions.js +585 -0
  102. package/dist/lib/functions/functions.mjs +1 -0
  103. package/dist/lib/functions/index.cjs +1 -0
  104. package/dist/lib/functions/index.d.ts +3 -0
  105. package/dist/lib/functions/index.d.ts.map +1 -0
  106. package/dist/lib/functions/index.js +1 -0
  107. package/dist/lib/functions/index.mjs +1 -0
  108. package/dist/lib/functions/types.cjs +1 -0
  109. package/dist/lib/functions/types.d.ts +2 -0
  110. package/dist/lib/functions/types.d.ts.map +1 -0
  111. package/dist/lib/functions/types.js +1 -0
  112. package/dist/lib/functions/types.mjs +0 -0
  113. package/dist/lib/helpers.cjs +1 -0
  114. package/dist/lib/helpers.d.ts +13 -0
  115. package/dist/lib/helpers.d.ts.map +1 -0
  116. package/dist/lib/helpers.js +66 -0
  117. package/dist/lib/helpers.mjs +1 -0
  118. package/dist/lib/index.cjs +1 -0
  119. package/dist/lib/index.d.ts +6 -0
  120. package/dist/lib/index.d.ts.map +1 -0
  121. package/dist/lib/index.js +8 -0
  122. package/dist/lib/index.mjs +1 -0
  123. package/dist/lib/maths/constants.cjs +1 -0
  124. package/dist/lib/maths/constants.d.ts +84 -0
  125. package/dist/lib/maths/constants.d.ts.map +1 -0
  126. package/dist/lib/maths/constants.js +79 -0
  127. package/dist/lib/maths/constants.mjs +1 -0
  128. package/dist/lib/maths/fn/advanced.cjs +1 -0
  129. package/dist/lib/maths/fn/advanced.d.ts +149 -0
  130. package/dist/lib/maths/fn/advanced.d.ts.map +1 -0
  131. package/dist/lib/maths/fn/advanced.js +264 -0
  132. package/dist/lib/maths/fn/advanced.mjs +1 -0
  133. package/dist/lib/maths/fn/basic.cjs +1 -0
  134. package/dist/lib/maths/fn/basic.d.ts +182 -0
  135. package/dist/lib/maths/fn/basic.d.ts.map +1 -0
  136. package/dist/lib/maths/fn/basic.js +343 -0
  137. package/dist/lib/maths/fn/basic.mjs +1 -0
  138. package/dist/lib/maths/fn/complex.cjs +1 -0
  139. package/dist/lib/maths/fn/complex.d.ts +153 -0
  140. package/dist/lib/maths/fn/complex.d.ts.map +1 -0
  141. package/dist/lib/maths/fn/complex.js +383 -0
  142. package/dist/lib/maths/fn/complex.mjs +1 -0
  143. package/dist/lib/maths/fn/index.cjs +1 -0
  144. package/dist/lib/maths/fn/index.d.ts +10 -0
  145. package/dist/lib/maths/fn/index.d.ts.map +1 -0
  146. package/dist/lib/maths/fn/index.js +9 -0
  147. package/dist/lib/maths/fn/index.mjs +1 -0
  148. package/dist/lib/maths/fn/trigo.cjs +1 -0
  149. package/dist/lib/maths/fn/trigo.d.ts +147 -0
  150. package/dist/lib/maths/fn/trigo.d.ts.map +1 -0
  151. package/dist/lib/maths/fn/trigo.js +227 -0
  152. package/dist/lib/maths/fn/trigo.mjs +1 -0
  153. package/dist/lib/maths/fn/vector.cjs +1 -0
  154. package/dist/lib/maths/fn/vector.d.ts +512 -0
  155. package/dist/lib/maths/fn/vector.d.ts.map +1 -0
  156. package/dist/lib/maths/fn/vector.js +1136 -0
  157. package/dist/lib/maths/fn/vector.mjs +1 -0
  158. package/dist/lib/maths/formatter.cjs +1 -0
  159. package/dist/lib/maths/formatter.d.ts +35 -0
  160. package/dist/lib/maths/formatter.d.ts.map +1 -0
  161. package/dist/lib/maths/formatter.js +56 -0
  162. package/dist/lib/maths/formatter.mjs +1 -0
  163. package/dist/lib/maths/guards.cjs +1 -0
  164. package/dist/lib/maths/guards.d.ts +166 -0
  165. package/dist/lib/maths/guards.d.ts.map +1 -0
  166. package/dist/lib/maths/guards.js +315 -0
  167. package/dist/lib/maths/guards.mjs +1 -0
  168. package/dist/lib/maths/index.cjs +1 -0
  169. package/dist/lib/maths/index.d.ts +24 -0
  170. package/dist/lib/maths/index.d.ts.map +1 -0
  171. package/dist/lib/maths/index.js +29 -0
  172. package/dist/lib/maths/index.mjs +1 -0
  173. package/dist/lib/maths/parser.cjs +1 -0
  174. package/dist/lib/maths/parser.d.ts +20 -0
  175. package/dist/lib/maths/parser.d.ts.map +1 -0
  176. package/dist/lib/maths/parser.js +78 -0
  177. package/dist/lib/maths/parser.mjs +1 -0
  178. package/dist/lib/maths/random.cjs +1 -0
  179. package/dist/lib/maths/random.d.ts +27 -0
  180. package/dist/lib/maths/random.d.ts.map +1 -0
  181. package/dist/lib/maths/random.js +49 -0
  182. package/dist/lib/maths/random.mjs +1 -0
  183. package/dist/lib/maths/types/advanced.cjs +1 -0
  184. package/dist/lib/maths/types/advanced.d.ts +357 -0
  185. package/dist/lib/maths/types/advanced.d.ts.map +1 -0
  186. package/dist/lib/maths/types/advanced.js +5 -0
  187. package/dist/lib/maths/types/advanced.mjs +0 -0
  188. package/dist/lib/maths/types/basic.cjs +1 -0
  189. package/dist/lib/maths/types/basic.d.ts +95 -0
  190. package/dist/lib/maths/types/basic.d.ts.map +1 -0
  191. package/dist/lib/maths/types/basic.js +5 -0
  192. package/dist/lib/maths/types/basic.mjs +0 -0
  193. package/dist/lib/maths/types/index.cjs +1 -0
  194. package/dist/lib/maths/types/index.d.ts +4 -0
  195. package/dist/lib/maths/types/index.d.ts.map +1 -0
  196. package/dist/lib/maths/types/index.js +3 -0
  197. package/dist/lib/maths/types/index.mjs +0 -0
  198. package/dist/lib/maths/types/negative.cjs +1 -0
  199. package/dist/lib/maths/types/negative.d.ts +51 -0
  200. package/dist/lib/maths/types/negative.d.ts.map +1 -0
  201. package/dist/lib/maths/types/negative.js +5 -0
  202. package/dist/lib/maths/types/negative.mjs +0 -0
  203. package/dist/lib/maths/types/operations.cjs +1 -0
  204. package/dist/lib/maths/types/operations.d.ts +188 -0
  205. package/dist/lib/maths/types/operations.d.ts.map +1 -0
  206. package/dist/lib/maths/types/operations.js +6 -0
  207. package/dist/lib/maths/types/operations.mjs +0 -0
  208. package/dist/lib/object/clone.cjs +1 -0
  209. package/dist/lib/object/clone.d.ts +46 -0
  210. package/dist/lib/object/clone.d.ts.map +1 -0
  211. package/dist/lib/object/clone.js +104 -0
  212. package/dist/lib/object/clone.mjs +1 -0
  213. package/dist/lib/object/diff.cjs +1 -0
  214. package/dist/lib/object/diff.d.ts +203 -0
  215. package/dist/lib/object/diff.d.ts.map +1 -0
  216. package/dist/lib/object/diff.js +805 -0
  217. package/dist/lib/object/diff.mjs +1 -0
  218. package/dist/lib/object/getter-setter.cjs +1 -0
  219. package/dist/lib/object/getter-setter.d.ts +361 -0
  220. package/dist/lib/object/getter-setter.d.ts.map +1 -0
  221. package/dist/lib/object/getter-setter.js +1771 -0
  222. package/dist/lib/object/getter-setter.mjs +1 -0
  223. package/dist/lib/object/index.cjs +6 -0
  224. package/dist/lib/object/index.d.ts +13 -0
  225. package/dist/lib/object/index.d.ts.map +1 -0
  226. package/dist/lib/object/index.js +12 -0
  227. package/dist/lib/object/index.mjs +6 -0
  228. package/dist/lib/object/merge.cjs +1 -0
  229. package/dist/lib/object/merge.d.ts +93 -0
  230. package/dist/lib/object/merge.d.ts.map +1 -0
  231. package/dist/lib/object/merge.js +474 -0
  232. package/dist/lib/object/merge.mjs +1 -0
  233. package/dist/lib/object/object.cjs +1 -0
  234. package/dist/lib/object/object.d.ts +128 -0
  235. package/dist/lib/object/object.d.ts.map +1 -0
  236. package/dist/lib/object/object.js +432 -0
  237. package/dist/lib/object/object.mjs +1 -0
  238. package/dist/lib/object/omit.cjs +1 -0
  239. package/dist/lib/object/omit.d.ts +351 -0
  240. package/dist/lib/object/omit.d.ts.map +1 -0
  241. package/dist/lib/object/omit.js +656 -0
  242. package/dist/lib/object/omit.mjs +1 -0
  243. package/dist/lib/object/reconcile.cjs +1 -0
  244. package/dist/lib/object/reconcile.d.ts +7 -0
  245. package/dist/lib/object/reconcile.d.ts.map +1 -0
  246. package/dist/lib/object/reconcile.js +122 -0
  247. package/dist/lib/object/reconcile.mjs +1 -0
  248. package/dist/lib/object/selector.cjs +1 -0
  249. package/dist/lib/object/selector.d.ts +50 -0
  250. package/dist/lib/object/selector.d.ts.map +1 -0
  251. package/dist/lib/object/selector.js +371 -0
  252. package/dist/lib/object/selector.mjs +1 -0
  253. package/dist/lib/object/sort.cjs +1 -0
  254. package/dist/lib/object/sort.d.ts +149 -0
  255. package/dist/lib/object/sort.d.ts.map +1 -0
  256. package/dist/lib/object/sort.js +298 -0
  257. package/dist/lib/object/sort.mjs +1 -0
  258. package/dist/lib/object/transform.cjs +1 -0
  259. package/dist/lib/object/transform.d.ts +620 -0
  260. package/dist/lib/object/transform.d.ts.map +1 -0
  261. package/dist/lib/object/transform.js +1058 -0
  262. package/dist/lib/object/transform.mjs +1 -0
  263. package/dist/lib/object/types.cjs +1 -0
  264. package/dist/lib/object/types.d.ts +250 -0
  265. package/dist/lib/object/types.d.ts.map +1 -0
  266. package/dist/lib/object/types.js +1 -0
  267. package/dist/lib/object/types.mjs +0 -0
  268. package/dist/lib/object/utils.cjs +6 -0
  269. package/dist/lib/object/utils.d.ts +165 -0
  270. package/dist/lib/object/utils.d.ts.map +1 -0
  271. package/dist/lib/object/utils.js +444 -0
  272. package/dist/lib/object/utils.mjs +6 -0
  273. package/dist/lib/primitive/boolean/boolean.cjs +1 -0
  274. package/dist/lib/primitive/boolean/boolean.d.ts +276 -0
  275. package/dist/lib/primitive/boolean/boolean.d.ts.map +1 -0
  276. package/dist/lib/primitive/boolean/boolean.js +615 -0
  277. package/dist/lib/primitive/boolean/boolean.mjs +1 -0
  278. package/dist/lib/primitive/boolean/index.cjs +1 -0
  279. package/dist/lib/primitive/boolean/index.d.ts +3 -0
  280. package/dist/lib/primitive/boolean/index.d.ts.map +1 -0
  281. package/dist/lib/primitive/boolean/index.js +2 -0
  282. package/dist/lib/primitive/boolean/index.mjs +1 -0
  283. package/dist/lib/primitive/boolean/types.cjs +1 -0
  284. package/dist/lib/primitive/boolean/types.d.ts +14 -0
  285. package/dist/lib/primitive/boolean/types.d.ts.map +1 -0
  286. package/dist/lib/primitive/boolean/types.js +1 -0
  287. package/dist/lib/primitive/boolean/types.mjs +0 -0
  288. package/dist/lib/primitive/date/date.cjs +1 -0
  289. package/dist/lib/primitive/date/date.d.ts +641 -0
  290. package/dist/lib/primitive/date/date.d.ts.map +1 -0
  291. package/dist/lib/primitive/date/date.js +1998 -0
  292. package/dist/lib/primitive/date/date.mjs +1 -0
  293. package/dist/lib/primitive/date/index.cjs +1 -0
  294. package/dist/lib/primitive/date/index.d.ts +3 -0
  295. package/dist/lib/primitive/date/index.d.ts.map +1 -0
  296. package/dist/lib/primitive/date/index.js +2 -0
  297. package/dist/lib/primitive/date/index.mjs +1 -0
  298. package/dist/lib/primitive/date/types.cjs +1 -0
  299. package/dist/lib/primitive/date/types.d.ts +205 -0
  300. package/dist/lib/primitive/date/types.d.ts.map +1 -0
  301. package/dist/lib/primitive/date/types.js +7 -0
  302. package/dist/lib/primitive/date/types.mjs +0 -0
  303. package/dist/lib/primitive/index.cjs +5 -0
  304. package/dist/lib/primitive/index.d.ts +5 -0
  305. package/dist/lib/primitive/index.d.ts.map +1 -0
  306. package/dist/lib/primitive/index.js +4 -0
  307. package/dist/lib/primitive/index.mjs +5 -0
  308. package/dist/lib/primitive/string/index.cjs +5 -0
  309. package/dist/lib/primitive/string/index.d.ts +3 -0
  310. package/dist/lib/primitive/string/index.d.ts.map +1 -0
  311. package/dist/lib/primitive/string/index.js +2 -0
  312. package/dist/lib/primitive/string/index.mjs +5 -0
  313. package/dist/lib/primitive/string/parser-2.cjs +8 -0
  314. package/dist/lib/primitive/string/parser-2.d.ts +17 -0
  315. package/dist/lib/primitive/string/parser-2.d.ts.map +1 -0
  316. package/dist/lib/primitive/string/parser-2.js +656 -0
  317. package/dist/lib/primitive/string/parser-2.mjs +8 -0
  318. package/dist/lib/primitive/string/parser.cjs +3 -0
  319. package/dist/lib/primitive/string/parser.d.ts +9 -0
  320. package/dist/lib/primitive/string/parser.d.ts.map +1 -0
  321. package/dist/lib/primitive/string/parser.js +775 -0
  322. package/dist/lib/primitive/string/parser.mjs +3 -0
  323. package/dist/lib/primitive/string/string.cjs +5 -0
  324. package/dist/lib/primitive/string/string.d.ts +535 -0
  325. package/dist/lib/primitive/string/string.d.ts.map +1 -0
  326. package/dist/lib/primitive/string/string.js +1301 -0
  327. package/dist/lib/primitive/string/string.mjs +5 -0
  328. package/dist/lib/primitive/string/types.cjs +1 -0
  329. package/dist/lib/primitive/string/types.d.ts +318 -0
  330. package/dist/lib/primitive/string/types.d.ts.map +1 -0
  331. package/dist/lib/primitive/string/types.js +5 -0
  332. package/dist/lib/primitive/string/types.mjs +0 -0
  333. package/dist/lib/primitive/types.cjs +1 -0
  334. package/dist/lib/primitive/types.d.ts +27 -0
  335. package/dist/lib/primitive/types.d.ts.map +1 -0
  336. package/dist/lib/primitive/types.js +1 -0
  337. package/dist/lib/primitive/types.mjs +0 -0
  338. package/dist/lib/url/index.cjs +1 -0
  339. package/dist/lib/url/index.d.ts +3 -0
  340. package/dist/lib/url/index.d.ts.map +1 -0
  341. package/dist/lib/url/index.js +2 -0
  342. package/dist/lib/url/index.mjs +1 -0
  343. package/dist/lib/url/parser.cjs +1 -0
  344. package/dist/lib/url/parser.d.ts +216 -0
  345. package/dist/lib/url/parser.d.ts.map +1 -0
  346. package/dist/lib/url/parser.js +488 -0
  347. package/dist/lib/url/parser.mjs +1 -0
  348. package/dist/lib/url/types.cjs +1 -0
  349. package/dist/lib/url/types.d.ts +18 -0
  350. package/dist/lib/url/types.d.ts.map +1 -0
  351. package/dist/lib/url/types.js +1 -0
  352. package/dist/lib/url/types.mjs +0 -0
  353. package/dist/tsconfig.lib.tsbuildinfo +1 -0
  354. 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,3 @@
1
+ export * from './date.js';
2
+ export * from './types.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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,2 @@
1
+ export * from './date.js';
2
+ export * from './types.js';
@@ -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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @module DateUtils
3
+ * @description Comprehensive date utility library with TypeScript support
4
+ * @version 1.0.0
5
+ * @license MIT
6
+ */
7
+ export {};
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={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};return e.replace(/[&<>"'/]/g,r=>t[r]||r)},He=e=>{let t={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#x2F;":"/"};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(["&nbsp;"," ","  ","_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,5 @@
1
+ export * from './string/index.js';
2
+ export * from './boolean/index.js';
3
+ export * from './date/index.js';
4
+ export * from './types.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -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,4 @@
1
+ export * from './string/index.js';
2
+ export * from './boolean/index.js';
3
+ export * from './date/index.js';
4
+ export * from './types.js';
@@ -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={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};return e.replace(/[&<>"'/]/g,r=>t[r]||r)},rt=e=>{let t={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#x2F;":"/"};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(["&nbsp;"," ","  ","_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};