@duplojs/utils 1.4.56 → 1.4.58

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 (297) hide show
  1. package/dist/clean/constraint/base.d.ts +6 -4
  2. package/dist/clean/constraint/defaultConstraint/index.d.ts +1 -0
  3. package/dist/clean/constraint/defaultConstraint/number.d.ts +6 -6
  4. package/dist/clean/constraint/defaultConstraint/string.d.ts +4 -4
  5. package/dist/clean/constraint/defaultConstraint/time.cjs +19 -0
  6. package/dist/clean/constraint/defaultConstraint/time.d.ts +61 -0
  7. package/dist/clean/constraint/defaultConstraint/time.mjs +16 -0
  8. package/dist/clean/constraint/set.d.ts +6 -4
  9. package/dist/clean/entity.cjs +9 -8
  10. package/dist/clean/entity.d.ts +16 -13
  11. package/dist/clean/entity.mjs +9 -8
  12. package/dist/clean/index.cjs +3 -0
  13. package/dist/clean/index.mjs +1 -0
  14. package/dist/clean/newType.d.ts +7 -5
  15. package/dist/clean/primitive/base.d.ts +25 -34
  16. package/dist/clean/primitive/operations/date/dateAddTime.d.ts +7 -11
  17. package/dist/clean/primitive/operations/date/dateGreaterThan.d.ts +9 -7
  18. package/dist/clean/primitive/operations/date/dateLessThan.d.ts +9 -7
  19. package/dist/clean/primitive/operations/date/dateMax.d.ts +3 -10
  20. package/dist/clean/primitive/operations/date/dateMin.d.ts +3 -10
  21. package/dist/clean/primitive/operations/date/dateSubtractTime.d.ts +7 -11
  22. package/dist/clean/primitive/operations/equal.cjs +1 -1
  23. package/dist/clean/primitive/operations/equal.d.ts +3 -3
  24. package/dist/clean/primitive/operations/equal.mjs +1 -1
  25. package/dist/clean/primitive/operations/sort.d.ts +8 -10
  26. package/dist/clean/primitive/operations/time/timeGreaterThan.d.ts +11 -9
  27. package/dist/clean/primitive/operations/time/timeLessThan.d.ts +11 -9
  28. package/dist/clean/primitive/operations/time/timeMax.cjs +2 -2
  29. package/dist/clean/primitive/operations/time/timeMax.d.ts +10 -17
  30. package/dist/clean/primitive/operations/time/timeMax.mjs +2 -2
  31. package/dist/clean/primitive/operations/time/timeMin.cjs +3 -3
  32. package/dist/clean/primitive/operations/time/timeMin.d.ts +10 -17
  33. package/dist/clean/primitive/operations/time/timeMin.mjs +3 -3
  34. package/dist/clean/unwrapEntity.cjs +13 -3
  35. package/dist/clean/unwrapEntity.d.ts +57 -5
  36. package/dist/clean/unwrapEntity.mjs +13 -3
  37. package/dist/common/index.d.ts +2 -4
  38. package/dist/common/kind.d.ts +1 -0
  39. package/dist/common/transformer.cjs +45 -0
  40. package/dist/common/transformer.d.ts +61 -0
  41. package/dist/common/transformer.mjs +40 -0
  42. package/dist/common/types/DeepReadonly.d.ts +1 -1
  43. package/dist/common/types/toLargeEnsemble.d.ts +2 -2
  44. package/dist/dataParser/base.d.ts +1 -1
  45. package/dist/dataParser/baseExtended.d.ts +1 -1
  46. package/dist/dataParser/extended/date.d.ts +9 -4
  47. package/dist/dataParser/extended/time.d.ts +28 -12
  48. package/dist/dataParser/identifier.d.ts +20 -8
  49. package/dist/dataParser/parsers/date.cjs +16 -12
  50. package/dist/dataParser/parsers/date.d.ts +15 -9
  51. package/dist/dataParser/parsers/date.mjs +16 -12
  52. package/dist/dataParser/parsers/time/checkers/max.cjs +3 -0
  53. package/dist/dataParser/parsers/time/checkers/max.d.ts +28 -0
  54. package/dist/dataParser/parsers/time/checkers/max.mjs +3 -0
  55. package/dist/dataParser/parsers/time/checkers/min.cjs +3 -0
  56. package/dist/dataParser/parsers/time/checkers/min.d.ts +28 -0
  57. package/dist/dataParser/parsers/time/checkers/min.mjs +3 -0
  58. package/dist/dataParser/parsers/time/index.cjs +14 -10
  59. package/dist/dataParser/parsers/time/index.d.ts +15 -9
  60. package/dist/dataParser/parsers/time/index.mjs +14 -10
  61. package/dist/date/applyTimezone.cjs +4 -4
  62. package/dist/date/applyTimezone.d.ts +18 -16
  63. package/dist/date/applyTimezone.mjs +2 -2
  64. package/dist/date/closestTo.cjs +6 -2
  65. package/dist/date/closestTo.d.ts +15 -15
  66. package/dist/date/closestTo.mjs +6 -2
  67. package/dist/date/constants.cjs +4 -4
  68. package/dist/date/constants.d.ts +2 -2
  69. package/dist/date/constants.mjs +3 -3
  70. package/dist/date/create.cjs +20 -10
  71. package/dist/date/create.d.ts +24 -38
  72. package/dist/date/create.mjs +21 -11
  73. package/dist/date/createOrThrow.d.ts +18 -20
  74. package/dist/date/createTime.cjs +16 -7
  75. package/dist/date/createTime.d.ts +19 -18
  76. package/dist/date/createTime.mjs +17 -8
  77. package/dist/date/createTimeOrThrow.d.ts +17 -20
  78. package/dist/date/each.cjs +6 -4
  79. package/dist/date/each.d.ts +21 -19
  80. package/dist/date/each.mjs +6 -4
  81. package/dist/date/format.d.ts +17 -15
  82. package/dist/date/formatTime.d.ts +17 -16
  83. package/dist/date/getTimezoneOffset.cjs +6 -3
  84. package/dist/date/getTimezoneOffset.d.ts +17 -18
  85. package/dist/date/getTimezoneOffset.mjs +6 -3
  86. package/dist/date/getters/getDayOfMonth.cjs +3 -3
  87. package/dist/date/getters/getDayOfMonth.d.ts +20 -14
  88. package/dist/date/getters/getDayOfMonth.mjs +3 -3
  89. package/dist/date/getters/getDayOfWeek.cjs +3 -3
  90. package/dist/date/getters/getDayOfWeek.d.ts +15 -12
  91. package/dist/date/getters/getDayOfWeek.mjs +3 -3
  92. package/dist/date/getters/getDayOfYear.cjs +6 -6
  93. package/dist/date/getters/getDayOfYear.d.ts +21 -13
  94. package/dist/date/getters/getDayOfYear.mjs +6 -6
  95. package/dist/date/getters/getFirstDayOfMonth.cjs +2 -3
  96. package/dist/date/getters/getFirstDayOfMonth.d.ts +16 -10
  97. package/dist/date/getters/getFirstDayOfMonth.mjs +2 -3
  98. package/dist/date/getters/getFirstDayOfWeek.cjs +2 -3
  99. package/dist/date/getters/getFirstDayOfWeek.d.ts +17 -10
  100. package/dist/date/getters/getFirstDayOfWeek.mjs +2 -3
  101. package/dist/date/getters/getHour.cjs +3 -3
  102. package/dist/date/getters/getHour.d.ts +16 -14
  103. package/dist/date/getters/getHour.mjs +3 -3
  104. package/dist/date/getters/getLastDayOfMonth.cjs +2 -3
  105. package/dist/date/getters/getLastDayOfMonth.d.ts +16 -10
  106. package/dist/date/getters/getLastDayOfMonth.mjs +2 -3
  107. package/dist/date/getters/getLastDayOfWeek.cjs +2 -3
  108. package/dist/date/getters/getLastDayOfWeek.d.ts +17 -10
  109. package/dist/date/getters/getLastDayOfWeek.mjs +2 -3
  110. package/dist/date/getters/getMilliseconds.cjs +2 -2
  111. package/dist/date/getters/getMilliseconds.d.ts +11 -9
  112. package/dist/date/getters/getMilliseconds.mjs +2 -2
  113. package/dist/date/getters/getMinute.cjs +3 -3
  114. package/dist/date/getters/getMinute.d.ts +17 -15
  115. package/dist/date/getters/getMinute.mjs +3 -3
  116. package/dist/date/getters/getMonth.cjs +3 -3
  117. package/dist/date/getters/getMonth.d.ts +20 -15
  118. package/dist/date/getters/getMonth.mjs +3 -3
  119. package/dist/date/getters/getSecond.cjs +3 -3
  120. package/dist/date/getters/getSecond.d.ts +17 -15
  121. package/dist/date/getters/getSecond.mjs +3 -3
  122. package/dist/date/getters/getWeekOfYear.cjs +12 -11
  123. package/dist/date/getters/getWeekOfYear.d.ts +17 -11
  124. package/dist/date/getters/getWeekOfYear.mjs +12 -11
  125. package/dist/date/getters/getYear.cjs +3 -3
  126. package/dist/date/getters/getYear.d.ts +16 -15
  127. package/dist/date/getters/getYear.mjs +3 -3
  128. package/dist/date/index.cjs +12 -6
  129. package/dist/date/index.d.ts +5 -2
  130. package/dist/date/index.mjs +6 -3
  131. package/dist/date/is.cjs +3 -8
  132. package/dist/date/is.d.ts +9 -14
  133. package/dist/date/is.mjs +3 -8
  134. package/dist/date/isSafeTimeValue.d.ts +9 -13
  135. package/dist/date/isSafeTimestamp.d.ts +7 -16
  136. package/dist/date/isSerializedTheDate.cjs +20 -0
  137. package/dist/date/isSerializedTheDate.d.ts +31 -0
  138. package/dist/date/isSerializedTheDate.mjs +18 -0
  139. package/dist/date/isSerializedTheTime.cjs +20 -0
  140. package/dist/date/isSerializedTheTime.d.ts +31 -0
  141. package/dist/date/isSerializedTheTime.mjs +18 -0
  142. package/dist/date/isTime.cjs +3 -8
  143. package/dist/date/isTime.d.ts +7 -14
  144. package/dist/date/isTime.mjs +3 -8
  145. package/dist/date/kind.cjs +9 -0
  146. package/dist/date/kind.d.ts +1 -0
  147. package/dist/date/kind.mjs +7 -0
  148. package/dist/date/makeSafeTimeValue.d.ts +12 -11
  149. package/dist/date/makeSafeTimestamp.d.ts +12 -11
  150. package/dist/date/max.cjs +2 -2
  151. package/dist/date/max.d.ts +13 -13
  152. package/dist/date/max.mjs +2 -2
  153. package/dist/date/maxTime.cjs +2 -2
  154. package/dist/date/maxTime.d.ts +13 -21
  155. package/dist/date/maxTime.mjs +2 -2
  156. package/dist/date/min.cjs +2 -2
  157. package/dist/date/min.d.ts +13 -13
  158. package/dist/date/min.mjs +2 -2
  159. package/dist/date/minTime.cjs +2 -2
  160. package/dist/date/minTime.d.ts +13 -21
  161. package/dist/date/minTime.mjs +2 -2
  162. package/dist/date/now.cjs +3 -1
  163. package/dist/date/now.d.ts +9 -7
  164. package/dist/date/now.mjs +3 -1
  165. package/dist/date/operators/addDays.cjs +3 -5
  166. package/dist/date/operators/addDays.d.ts +14 -11
  167. package/dist/date/operators/addDays.mjs +3 -5
  168. package/dist/date/operators/addHours.cjs +3 -5
  169. package/dist/date/operators/addHours.d.ts +14 -11
  170. package/dist/date/operators/addHours.mjs +3 -5
  171. package/dist/date/operators/addMilliseconds.cjs +3 -5
  172. package/dist/date/operators/addMilliseconds.d.ts +14 -11
  173. package/dist/date/operators/addMilliseconds.mjs +3 -5
  174. package/dist/date/operators/addMinutes.cjs +3 -5
  175. package/dist/date/operators/addMinutes.d.ts +14 -11
  176. package/dist/date/operators/addMinutes.mjs +3 -5
  177. package/dist/date/operators/addMonths.cjs +2 -2
  178. package/dist/date/operators/addMonths.d.ts +13 -13
  179. package/dist/date/operators/addMonths.mjs +2 -2
  180. package/dist/date/operators/addSeconds.cjs +3 -5
  181. package/dist/date/operators/addSeconds.d.ts +14 -11
  182. package/dist/date/operators/addSeconds.mjs +3 -5
  183. package/dist/date/operators/addTime.cjs +13 -6
  184. package/dist/date/operators/addTime.d.ts +20 -18
  185. package/dist/date/operators/addTime.mjs +13 -6
  186. package/dist/date/operators/addWeeks.cjs +6 -5
  187. package/dist/date/operators/addWeeks.d.ts +14 -11
  188. package/dist/date/operators/addWeeks.mjs +6 -5
  189. package/dist/date/operators/addYears.cjs +2 -2
  190. package/dist/date/operators/addYears.d.ts +13 -13
  191. package/dist/date/operators/addYears.mjs +2 -2
  192. package/dist/date/operators/between.d.ts +11 -11
  193. package/dist/date/operators/betweenThan.d.ts +11 -11
  194. package/dist/date/operators/betweenThanTime.d.ts +18 -22
  195. package/dist/date/operators/betweenTime.d.ts +17 -21
  196. package/dist/date/operators/greater.d.ts +12 -9
  197. package/dist/date/operators/greaterThan.d.ts +14 -11
  198. package/dist/date/operators/greaterThanTime.d.ts +17 -21
  199. package/dist/date/operators/greaterTime.d.ts +16 -20
  200. package/dist/date/operators/less.d.ts +12 -9
  201. package/dist/date/operators/lessThan.d.ts +13 -10
  202. package/dist/date/operators/lessThanTime.d.ts +17 -21
  203. package/dist/date/operators/lessTime.d.ts +16 -20
  204. package/dist/date/operators/subtractDays.cjs +3 -5
  205. package/dist/date/operators/subtractDays.d.ts +14 -11
  206. package/dist/date/operators/subtractDays.mjs +3 -5
  207. package/dist/date/operators/subtractHours.cjs +3 -5
  208. package/dist/date/operators/subtractHours.d.ts +14 -11
  209. package/dist/date/operators/subtractHours.mjs +3 -5
  210. package/dist/date/operators/subtractMilliseconds.cjs +3 -5
  211. package/dist/date/operators/subtractMilliseconds.d.ts +14 -11
  212. package/dist/date/operators/subtractMilliseconds.mjs +3 -5
  213. package/dist/date/operators/subtractMinutes.cjs +3 -5
  214. package/dist/date/operators/subtractMinutes.d.ts +14 -11
  215. package/dist/date/operators/subtractMinutes.mjs +3 -5
  216. package/dist/date/operators/subtractMonths.cjs +2 -2
  217. package/dist/date/operators/subtractMonths.d.ts +17 -11
  218. package/dist/date/operators/subtractMonths.mjs +2 -2
  219. package/dist/date/operators/subtractSeconds.cjs +3 -5
  220. package/dist/date/operators/subtractSeconds.d.ts +14 -11
  221. package/dist/date/operators/subtractSeconds.mjs +3 -5
  222. package/dist/date/operators/subtractTime.cjs +13 -6
  223. package/dist/date/operators/subtractTime.d.ts +20 -18
  224. package/dist/date/operators/subtractTime.mjs +13 -6
  225. package/dist/date/operators/subtractWeeks.cjs +3 -5
  226. package/dist/date/operators/subtractWeeks.d.ts +14 -11
  227. package/dist/date/operators/subtractWeeks.mjs +3 -5
  228. package/dist/date/operators/subtractYears.cjs +2 -2
  229. package/dist/date/operators/subtractYears.d.ts +17 -11
  230. package/dist/date/operators/subtractYears.mjs +2 -2
  231. package/dist/date/round.cjs +2 -2
  232. package/dist/date/round.d.ts +11 -14
  233. package/dist/date/round.mjs +2 -2
  234. package/dist/date/serialize.cjs +14 -0
  235. package/dist/date/serialize.d.ts +41 -0
  236. package/dist/date/serialize.mjs +12 -0
  237. package/dist/date/sort.cjs +2 -2
  238. package/dist/date/sort.d.ts +16 -15
  239. package/dist/date/sort.mjs +2 -2
  240. package/dist/date/sortTimes.cjs +2 -2
  241. package/dist/date/sortTimes.d.ts +15 -21
  242. package/dist/date/sortTimes.mjs +2 -2
  243. package/dist/date/theDate.cjs +124 -0
  244. package/dist/date/theDate.d.ts +114 -0
  245. package/dist/date/theDate.mjs +122 -0
  246. package/dist/date/theTime.cjs +36 -0
  247. package/dist/date/theTime.d.ts +53 -0
  248. package/dist/date/theTime.mjs +34 -0
  249. package/dist/date/timezone.cjs +3 -0
  250. package/dist/date/timezone.d.ts +27 -0
  251. package/dist/date/timezone.mjs +3 -0
  252. package/dist/date/toISOString.cjs +5 -2
  253. package/dist/date/toISOString.d.ts +12 -10
  254. package/dist/date/toISOString.mjs +5 -2
  255. package/dist/date/toNative.cjs +4 -0
  256. package/dist/date/toNative.d.ts +12 -10
  257. package/dist/date/toNative.mjs +4 -0
  258. package/dist/date/toTimeValue.cjs +6 -2
  259. package/dist/date/toTimeValue.d.ts +14 -12
  260. package/dist/date/toTimeValue.mjs +6 -2
  261. package/dist/date/toTimestamp.cjs +5 -3
  262. package/dist/date/toTimestamp.d.ts +11 -9
  263. package/dist/date/toTimestamp.mjs +6 -4
  264. package/dist/date/today.cjs +3 -1
  265. package/dist/date/today.d.ts +14 -7
  266. package/dist/date/today.mjs +3 -1
  267. package/dist/date/tomorrow.cjs +2 -1
  268. package/dist/date/tomorrow.d.ts +12 -7
  269. package/dist/date/tomorrow.mjs +2 -1
  270. package/dist/date/types/index.d.ts +2 -2
  271. package/dist/date/types/serializedTheDate.d.ts +1 -0
  272. package/dist/date/types/serializedTheTime.d.ts +42 -0
  273. package/dist/date/types/spoolingDate.d.ts +2 -1
  274. package/dist/date/yesterday.cjs +2 -1
  275. package/dist/date/yesterday.d.ts +12 -7
  276. package/dist/date/yesterday.mjs +2 -1
  277. package/dist/index.cjs +5 -6
  278. package/dist/index.mjs +1 -3
  279. package/dist/metadata.json +73 -46
  280. package/package.json +1 -1
  281. package/dist/common/toJSON.cjs +0 -37
  282. package/dist/common/toJSON.d.ts +0 -44
  283. package/dist/common/toJSON.mjs +0 -35
  284. package/dist/common/toString.cjs +0 -10
  285. package/dist/common/toString.d.ts +0 -17
  286. package/dist/common/toString.mjs +0 -8
  287. package/dist/common/toTransform.cjs +0 -37
  288. package/dist/common/toTransform.d.ts +0 -50
  289. package/dist/common/toTransform.mjs +0 -35
  290. package/dist/date/createTheDate.cjs +0 -13
  291. package/dist/date/createTheDate.d.ts +0 -28
  292. package/dist/date/createTheDate.mjs +0 -11
  293. package/dist/date/createTheTime.cjs +0 -13
  294. package/dist/date/createTheTime.d.ts +0 -25
  295. package/dist/date/createTheTime.mjs +0 -11
  296. package/dist/date/types/theDate.d.ts +0 -11
  297. package/dist/date/types/theTime.d.ts +0 -10
@@ -42,11 +42,11 @@ export declare const identifier: {
42
42
  input: boolean;
43
43
  output: boolean;
44
44
  }>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
45
- input: `date${number}-` | `date${number}+`;
46
- output: `date${number}-` | `date${number}+`;
45
+ input: import("../date").TheDate | `date${number}-` | `date${number}+` | Date;
46
+ output: import("../date").TheDate;
47
47
  }>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
48
- input: `time${number}-` | `time${number}+`;
49
- output: `time${number}-` | `time${number}+`;
48
+ input: number | import("../date").TheTime | `time${number}-` | `time${number}+`;
49
+ output: import("../date").TheTime;
50
50
  }>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
51
51
  input: null;
52
52
  output: null;
@@ -59,6 +59,12 @@ export declare const identifier: {
59
59
  }>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
60
60
  input: unknown[];
61
61
  output: unknown[];
62
+ }>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
63
+ input: import("../date").TheDate;
64
+ output: import("../date").TheDate;
65
+ }>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
66
+ input: import("../date").TheTime;
67
+ output: import("../date").TheTime;
62
68
  }>>, GenericInput extends unknown, GenericGroupedKind extends import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>>(kind: GenericKindHandler | GenericKindHandler[]): (input: GenericInput) => input is (import("../common").IsEqual<import("../common").IsEqual<false | (GenericInput extends any ? import("../common").IsEqual<GenericInput, DataParser<import("./base").DataParserDefinition<import("./base").DataParserChecker<import("./base").DataParserCheckerDefinition, unknown>>, unknown, unknown>> : never), boolean>, true> extends true ? Extract<DataParser<import("./base").DataParserDefinition<import("./base").DataParserChecker<import("./base").DataParserCheckerDefinition, unknown>>, unknown, unknown>, GenericGroupedKind> | Extract<import("./parsers").DataParserString<import("./parsers").DataParserDefinitionString>, GenericGroupedKind> | Extract<import("./parsers").DataParserObject<import("./parsers").DataParserDefinitionObject>, GenericGroupedKind> | Extract<import("./parsers").DataParserNumber<import("./parsers").DataParserDefinitionNumber>, GenericGroupedKind> | Extract<import("./parsers").DataParserLiteral<import("./parsers").DataParserDefinitionLiteral>, GenericGroupedKind> | Extract<import("./parsers").DataParserUnion<import("./parsers").DataParserDefinitionUnion>, GenericGroupedKind> | Extract<import("./parsers").DataParserArray<import("./parsers").DataParserDefinitionArray>, GenericGroupedKind> | Extract<import("./parsers").DataParserBigInt<import("./parsers").DataParserDefinitionBigInt>, GenericGroupedKind> | Extract<import("./parsers").DataParserTuple<import("./parsers").DataParserDefinitionTuple>, GenericGroupedKind> | Extract<import("./parsers").DataParserTransform<import("./parsers").DataParserDefinitionTransform>, GenericGroupedKind> | Extract<import("./parsers").DataParserBoolean<import("./parsers").DataParserDefinitionBoolean>, GenericGroupedKind> | Extract<import("./parsers").DataParserDate<import("./parsers").DataParserDefinitionDate>, GenericGroupedKind> | Extract<import("./parsers").DataParserTime<import("./parsers").DataParserDefinitionTime>, GenericGroupedKind> | Extract<import("./parsers").DataParserNil<import("./parsers").DataParserDefinitionNil>, GenericGroupedKind> | Extract<import("./parsers").DataParserEmpty<import("./parsers").DataParserDefinitionEmpty>, GenericGroupedKind> | Extract<import("./parsers").DataParserTemplateLiteral<import("./parsers").DataParserDefinitionTemplateLiteral>, GenericGroupedKind> | Extract<import("./parsers").DataParserPipe<import("./parsers").DataParserDefinitionPipe>, GenericGroupedKind> | Extract<import("./parsers").DataParserNullable<import("./parsers").DataParserDefinitionNullable<unknown>>, GenericGroupedKind> | Extract<import("./parsers").DataParserOptional<import("./parsers").DataParserDefinitionOptional<unknown>>, GenericGroupedKind> | Extract<import("./parsers").DataParserLazy<import("./parsers").DataParserDefinitionLazy>, GenericGroupedKind> | Extract<import("./parsers").DataParserUnknown<import("./parsers").DataParserDefinitionUnknown>, GenericGroupedKind> | Extract<import("./parsers").DataParserRecord<import("./parsers").DataParserDefinitionRecord>, GenericGroupedKind> | Extract<import("./parsers").DataParserRecover<import("./parsers").DataParserDefinitionRecover>, GenericGroupedKind> | Extract<import("./baseExtended").DataParserExtended<import("./base").DataParserDefinition<import("./base").DataParserChecker<import("./base").DataParserCheckerDefinition, unknown>>, unknown, unknown>, GenericGroupedKind> | Extract<import("./extended").DataParserStringExtended<import("./parsers").DataParserDefinitionString>, GenericGroupedKind> | Extract<import("./extended").DataParserObjectExtended<import("./parsers").DataParserDefinitionObject>, GenericGroupedKind> | Extract<import("./extended").DataParserNumberExtended<import("./parsers").DataParserDefinitionNumber>, GenericGroupedKind> | Extract<import("./extended").DataParserLiteralExtended<import("./parsers").DataParserDefinitionLiteral>, GenericGroupedKind> | Extract<import("./extended").DataParserUnionExtended<import("./parsers").DataParserDefinitionUnion>, GenericGroupedKind> | Extract<import("./extended").DataParserArrayExtended<import("./parsers").DataParserDefinitionArray>, GenericGroupedKind> | Extract<import("./extended").DataParserBigIntExtended<import("./parsers").DataParserDefinitionBigInt>, GenericGroupedKind> | Extract<import("./extended").DataParserTupleExtended<import("./parsers").DataParserDefinitionTuple>, GenericGroupedKind> | Extract<import("./extended").DataParserTransformExtended<import("./parsers").DataParserDefinitionTransform>, GenericGroupedKind> | Extract<import("./extended").DataParserBooleanExtended<import("./parsers").DataParserDefinitionBoolean>, GenericGroupedKind> | Extract<import("./extended").DataParserDateExtended<import("./parsers").DataParserDefinitionDate>, GenericGroupedKind> | Extract<import("./extended").DataParserTimeExtended<import("./parsers").DataParserDefinitionTime>, GenericGroupedKind> | Extract<import("./extended").DataParserNilExtended<import("./parsers").DataParserDefinitionNil>, GenericGroupedKind> | Extract<import("./extended").DataParserEmptyExtended<import("./parsers").DataParserDefinitionEmpty>, GenericGroupedKind> | Extract<import("./extended").DataParserTemplateLiteralExtended<import("./parsers").DataParserDefinitionTemplateLiteral>, GenericGroupedKind> | Extract<import("./extended").DataParserPipeExtended<import("./parsers").DataParserDefinitionPipe>, GenericGroupedKind> | Extract<import("./extended").DataParserNullableExtended<import("./parsers").DataParserDefinitionNullable<unknown>>, GenericGroupedKind> | Extract<import("./extended").DataParserOptionalExtended<import("./parsers").DataParserDefinitionOptional<unknown>>, GenericGroupedKind> | Extract<import("./extended").DataParserLazyExtended<import("./parsers").DataParserDefinitionLazy>, GenericGroupedKind> | Extract<import("./extended").DataParserUnknownExtended<import("./parsers").DataParserDefinitionUnknown>, GenericGroupedKind> | Extract<import("./extended").DataParserRecordExtended<import("./parsers").DataParserDefinitionRecord>, GenericGroupedKind> | Extract<import("./extended").DataParserRecoverExtended<import("./parsers").DataParserDefinitionRecover>, GenericGroupedKind> : never) | Extract<GenericInput, GenericGroupedKind>;
63
69
  <GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/bigint", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/extended", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/boolean", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/date", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/time", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/empty", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nil", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/number", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/string", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/array", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/transform", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/union", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/pipe", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nullable", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/optional", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/recover", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/lazy", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/literal", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/object", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/record", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/template-literal", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/tuple", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/unknown", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
64
70
  input: string;
@@ -94,11 +100,11 @@ export declare const identifier: {
94
100
  input: boolean;
95
101
  output: boolean;
96
102
  }>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
97
- input: `date${number}-` | `date${number}+`;
98
- output: `date${number}-` | `date${number}+`;
103
+ input: import("../date").TheDate | `date${number}-` | `date${number}+` | Date;
104
+ output: import("../date").TheDate;
99
105
  }>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
100
- input: `time${number}-` | `time${number}+`;
101
- output: `time${number}-` | `time${number}+`;
106
+ input: number | import("../date").TheTime | `time${number}-` | `time${number}+`;
107
+ output: import("../date").TheTime;
102
108
  }>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
103
109
  input: null;
104
110
  output: null;
@@ -111,5 +117,11 @@ export declare const identifier: {
111
117
  }>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
112
118
  input: unknown[];
113
119
  output: unknown[];
120
+ }>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
121
+ input: import("../date").TheDate;
122
+ output: import("../date").TheDate;
123
+ }>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
124
+ input: import("../date").TheTime;
125
+ output: import("../date").TheTime;
114
126
  }>>, GenericInput extends unknown, GenericGroupedKind extends import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>>(input: GenericInput, kind: GenericKindHandler | GenericKindHandler[]): input is (import("../common").IsEqual<import("../common").IsEqual<false | (GenericInput extends any ? import("../common").IsEqual<GenericInput, DataParser<import("./base").DataParserDefinition<import("./base").DataParserChecker<import("./base").DataParserCheckerDefinition, unknown>>, unknown, unknown>> : never), boolean>, true> extends true ? Extract<DataParser<import("./base").DataParserDefinition<import("./base").DataParserChecker<import("./base").DataParserCheckerDefinition, unknown>>, unknown, unknown>, GenericGroupedKind> | Extract<import("./parsers").DataParserString<import("./parsers").DataParserDefinitionString>, GenericGroupedKind> | Extract<import("./parsers").DataParserObject<import("./parsers").DataParserDefinitionObject>, GenericGroupedKind> | Extract<import("./parsers").DataParserNumber<import("./parsers").DataParserDefinitionNumber>, GenericGroupedKind> | Extract<import("./parsers").DataParserLiteral<import("./parsers").DataParserDefinitionLiteral>, GenericGroupedKind> | Extract<import("./parsers").DataParserUnion<import("./parsers").DataParserDefinitionUnion>, GenericGroupedKind> | Extract<import("./parsers").DataParserArray<import("./parsers").DataParserDefinitionArray>, GenericGroupedKind> | Extract<import("./parsers").DataParserBigInt<import("./parsers").DataParserDefinitionBigInt>, GenericGroupedKind> | Extract<import("./parsers").DataParserTuple<import("./parsers").DataParserDefinitionTuple>, GenericGroupedKind> | Extract<import("./parsers").DataParserTransform<import("./parsers").DataParserDefinitionTransform>, GenericGroupedKind> | Extract<import("./parsers").DataParserBoolean<import("./parsers").DataParserDefinitionBoolean>, GenericGroupedKind> | Extract<import("./parsers").DataParserDate<import("./parsers").DataParserDefinitionDate>, GenericGroupedKind> | Extract<import("./parsers").DataParserTime<import("./parsers").DataParserDefinitionTime>, GenericGroupedKind> | Extract<import("./parsers").DataParserNil<import("./parsers").DataParserDefinitionNil>, GenericGroupedKind> | Extract<import("./parsers").DataParserEmpty<import("./parsers").DataParserDefinitionEmpty>, GenericGroupedKind> | Extract<import("./parsers").DataParserTemplateLiteral<import("./parsers").DataParserDefinitionTemplateLiteral>, GenericGroupedKind> | Extract<import("./parsers").DataParserPipe<import("./parsers").DataParserDefinitionPipe>, GenericGroupedKind> | Extract<import("./parsers").DataParserNullable<import("./parsers").DataParserDefinitionNullable<unknown>>, GenericGroupedKind> | Extract<import("./parsers").DataParserOptional<import("./parsers").DataParserDefinitionOptional<unknown>>, GenericGroupedKind> | Extract<import("./parsers").DataParserLazy<import("./parsers").DataParserDefinitionLazy>, GenericGroupedKind> | Extract<import("./parsers").DataParserUnknown<import("./parsers").DataParserDefinitionUnknown>, GenericGroupedKind> | Extract<import("./parsers").DataParserRecord<import("./parsers").DataParserDefinitionRecord>, GenericGroupedKind> | Extract<import("./parsers").DataParserRecover<import("./parsers").DataParserDefinitionRecover>, GenericGroupedKind> | Extract<import("./baseExtended").DataParserExtended<import("./base").DataParserDefinition<import("./base").DataParserChecker<import("./base").DataParserCheckerDefinition, unknown>>, unknown, unknown>, GenericGroupedKind> | Extract<import("./extended").DataParserStringExtended<import("./parsers").DataParserDefinitionString>, GenericGroupedKind> | Extract<import("./extended").DataParserObjectExtended<import("./parsers").DataParserDefinitionObject>, GenericGroupedKind> | Extract<import("./extended").DataParserNumberExtended<import("./parsers").DataParserDefinitionNumber>, GenericGroupedKind> | Extract<import("./extended").DataParserLiteralExtended<import("./parsers").DataParserDefinitionLiteral>, GenericGroupedKind> | Extract<import("./extended").DataParserUnionExtended<import("./parsers").DataParserDefinitionUnion>, GenericGroupedKind> | Extract<import("./extended").DataParserArrayExtended<import("./parsers").DataParserDefinitionArray>, GenericGroupedKind> | Extract<import("./extended").DataParserBigIntExtended<import("./parsers").DataParserDefinitionBigInt>, GenericGroupedKind> | Extract<import("./extended").DataParserTupleExtended<import("./parsers").DataParserDefinitionTuple>, GenericGroupedKind> | Extract<import("./extended").DataParserTransformExtended<import("./parsers").DataParserDefinitionTransform>, GenericGroupedKind> | Extract<import("./extended").DataParserBooleanExtended<import("./parsers").DataParserDefinitionBoolean>, GenericGroupedKind> | Extract<import("./extended").DataParserDateExtended<import("./parsers").DataParserDefinitionDate>, GenericGroupedKind> | Extract<import("./extended").DataParserTimeExtended<import("./parsers").DataParserDefinitionTime>, GenericGroupedKind> | Extract<import("./extended").DataParserNilExtended<import("./parsers").DataParserDefinitionNil>, GenericGroupedKind> | Extract<import("./extended").DataParserEmptyExtended<import("./parsers").DataParserDefinitionEmpty>, GenericGroupedKind> | Extract<import("./extended").DataParserTemplateLiteralExtended<import("./parsers").DataParserDefinitionTemplateLiteral>, GenericGroupedKind> | Extract<import("./extended").DataParserPipeExtended<import("./parsers").DataParserDefinitionPipe>, GenericGroupedKind> | Extract<import("./extended").DataParserNullableExtended<import("./parsers").DataParserDefinitionNullable<unknown>>, GenericGroupedKind> | Extract<import("./extended").DataParserOptionalExtended<import("./parsers").DataParserDefinitionOptional<unknown>>, GenericGroupedKind> | Extract<import("./extended").DataParserLazyExtended<import("./parsers").DataParserDefinitionLazy>, GenericGroupedKind> | Extract<import("./extended").DataParserUnknownExtended<import("./parsers").DataParserDefinitionUnknown>, GenericGroupedKind> | Extract<import("./extended").DataParserRecordExtended<import("./parsers").DataParserDefinitionRecord>, GenericGroupedKind> | Extract<import("./extended").DataParserRecoverExtended<import("./parsers").DataParserDefinitionRecover>, GenericGroupedKind> : never) | Extract<GenericInput, GenericGroupedKind>;
115
127
  };
@@ -4,8 +4,9 @@ var base = require('../base.cjs');
4
4
  var error = require('../error.cjs');
5
5
  var kind = require('../kind.cjs');
6
6
  var isSafeTimestamp = require('../../date/isSafeTimestamp.cjs');
7
- var createTheDate = require('../../date/createTheDate.cjs');
8
- var is = require('../../date/is.cjs');
7
+ var theDate = require('../../date/theDate.cjs');
8
+ var isSerializedTheDate = require('../../date/isSerializedTheDate.cjs');
9
+ var toTimestamp = require('../../date/toTimestamp.cjs');
9
10
  var override = require('../../common/override.cjs');
10
11
 
11
12
  const dateKind = kind.createDataParserKind("date");
@@ -19,30 +20,33 @@ function date(definition) {
19
20
  coerce: definition?.coerce ?? false,
20
21
  }, (data, _error, self) => {
21
22
  if (self.definition.coerce) {
22
- if (data instanceof Date) {
23
- const timestamp = data.getTime();
24
- if (!isSafeTimestamp.isSafeTimestamp(timestamp)) {
25
- return error.SymbolDataParserErrorIssue;
26
- }
27
- return createTheDate.createTheDate(timestamp);
28
- }
29
23
  if (typeof data === "number") {
30
24
  if (!isSafeTimestamp.isSafeTimestamp(data)) {
31
25
  return error.SymbolDataParserErrorIssue;
32
26
  }
33
- return createTheDate.createTheDate(data);
27
+ return theDate.TheDate.new(data);
34
28
  }
35
29
  if (typeof data === "string") {
36
30
  const date = new Date(data);
37
31
  const timestamp = date.getTime();
38
32
  if (isSafeTimestamp.isSafeTimestamp(timestamp)) {
39
- return createTheDate.createTheDate(timestamp);
33
+ return theDate.TheDate.new(timestamp);
40
34
  }
41
35
  }
42
36
  }
43
- if (typeof data === "string" && is.is(data)) {
37
+ if (data instanceof theDate.TheDate) {
44
38
  return data;
45
39
  }
40
+ else if (typeof data === "string" && isSerializedTheDate.isSerializedTheDate(data)) {
41
+ return theDate.TheDate.new(toTimestamp.toTimestamp(data));
42
+ }
43
+ else if (data instanceof Date) {
44
+ const timestamp = data.getTime();
45
+ if (!isSafeTimestamp.isSafeTimestamp(timestamp)) {
46
+ return error.SymbolDataParserErrorIssue;
47
+ }
48
+ return theDate.TheDate.new(timestamp);
49
+ }
46
50
  return error.SymbolDataParserErrorIssue;
47
51
  }, date.overrideHandler);
48
52
  return self;
@@ -3,15 +3,15 @@ import { type DataParserDefinition, type DataParser, type DataParserChecker } fr
3
3
  import { type AddCheckersToDefinition, type MergeDefinition } from "../../dataParser/types";
4
4
  import { type CheckerRefineImplementation } from "./refine";
5
5
  import { type GetPropsWithValueExtends } from "../../object";
6
- import { type TheDate } from "../../date";
6
+ import * as DDate from "../../date";
7
7
  export interface DataParserDateCheckerCustom {
8
8
  }
9
- export type DataParserDateCheckers = (DataParserDateCheckerCustom[GetPropsWithValueExtends<DataParserDateCheckerCustom, DataParserChecker>] | CheckerRefineImplementation<TheDate>);
9
+ export type DataParserDateCheckers = (DataParserDateCheckerCustom[GetPropsWithValueExtends<DataParserDateCheckerCustom, DataParserChecker>] | CheckerRefineImplementation<DDate.TheDate>);
10
10
  export interface DataParserDefinitionDate extends DataParserDefinition<DataParserDateCheckers> {
11
11
  readonly coerce: boolean;
12
12
  }
13
13
  export declare const dateKind: import("../../common").KindHandler<import("../../common").KindDefinition<"@DuplojsUtilsDataParser/date", unknown>>;
14
- type _DataParserDate<GenericDefinition extends DataParserDefinitionDate> = (DataParser<GenericDefinition, TheDate, TheDate> & Kind<typeof dateKind.definition>);
14
+ type _DataParserDate<GenericDefinition extends DataParserDefinitionDate> = (DataParser<GenericDefinition, DDate.TheDate, DDate.TheDate | Date | DDate.SerializedTheDate> & Kind<typeof dateKind.definition>);
15
15
  export interface DataParserDate<GenericDefinition extends DataParserDefinitionDate = DataParserDefinitionDate> extends _DataParserDate<GenericDefinition> {
16
16
  addChecker<GenericChecker extends readonly [
17
17
  DataParserDateCheckers,
@@ -22,13 +22,12 @@ export interface DataParserDate<GenericDefinition extends DataParserDefinitionDa
22
22
  ], GenericChecker>): DataParserDate<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
23
23
  }
24
24
  /**
25
- * Creates a data parser for TheDate values.
25
+ * Creates a classic parser for `TheDate` values.
26
26
  *
27
- * **Supported call styles:**
28
- * - Classic: `DP.date(definition?)` -> returns a date parser
29
- * - Curried: not available
27
+ * Signature: `DP.date(definition?)` → `DataParserDate`
30
28
  *
31
- * Validates that the input is a TheDate, optionally applies coerce, and runs the configured checkers.
29
+ * The parser accepts `TheDate`, `SerializedTheDate`, and native `Date`.
30
+ * With `coerce: true`, safe timestamps and parsable date strings are also supported.
32
31
  *
33
32
  * ```ts
34
33
  * const parser = DP.date();
@@ -39,13 +38,20 @@ export interface DataParserDate<GenericDefinition extends DataParserDefinitionDa
39
38
  * }
40
39
  *
41
40
  * const withCheckers = DP.date({
42
- * checkers: [DP.checkerRefine((value) => value !== "date0+")],
41
+ * checkers: [DP.checkerRefine((value) => value.getUTCFullYear() >= 2024)],
43
42
  * });
43
+ * const checked = withCheckers.parse("date1704067200000+");
44
+ * // checked: E.Error<DP.DataParserError> | E.Success<TheDate>
44
45
  *
45
46
  * const coerceParser = DP.coerce.date();
46
47
  * const coerceResult = coerceParser.parse("2024-01-01T00:00:00.000Z");
48
+ * // coerceResult: E.Error<DP.DataParserError> | E.Success<TheDate>
47
49
  * ```
48
50
  *
51
+ * @remarks
52
+ * - Parsed output is always `TheDate`.
53
+ * - Use `DP.coerce.date()` when you want coercion enabled by default.
54
+ *
49
55
  * @see https://utils.duplojs.dev/en/v1/api/dataParser/date
50
56
  *
51
57
  * @namespace DP
@@ -2,8 +2,9 @@ import { dataParserInit } from '../base.mjs';
2
2
  import { SymbolDataParserErrorIssue } from '../error.mjs';
3
3
  import { createDataParserKind } from '../kind.mjs';
4
4
  import { isSafeTimestamp } from '../../date/isSafeTimestamp.mjs';
5
- import { createTheDate } from '../../date/createTheDate.mjs';
6
- import { is } from '../../date/is.mjs';
5
+ import { TheDate } from '../../date/theDate.mjs';
6
+ import { isSerializedTheDate } from '../../date/isSerializedTheDate.mjs';
7
+ import { toTimestamp } from '../../date/toTimestamp.mjs';
7
8
  import { createOverride } from '../../common/override.mjs';
8
9
 
9
10
  const dateKind = createDataParserKind("date");
@@ -17,30 +18,33 @@ function date(definition) {
17
18
  coerce: definition?.coerce ?? false,
18
19
  }, (data, _error, self) => {
19
20
  if (self.definition.coerce) {
20
- if (data instanceof Date) {
21
- const timestamp = data.getTime();
22
- if (!isSafeTimestamp(timestamp)) {
23
- return SymbolDataParserErrorIssue;
24
- }
25
- return createTheDate(timestamp);
26
- }
27
21
  if (typeof data === "number") {
28
22
  if (!isSafeTimestamp(data)) {
29
23
  return SymbolDataParserErrorIssue;
30
24
  }
31
- return createTheDate(data);
25
+ return TheDate.new(data);
32
26
  }
33
27
  if (typeof data === "string") {
34
28
  const date = new Date(data);
35
29
  const timestamp = date.getTime();
36
30
  if (isSafeTimestamp(timestamp)) {
37
- return createTheDate(timestamp);
31
+ return TheDate.new(timestamp);
38
32
  }
39
33
  }
40
34
  }
41
- if (typeof data === "string" && is(data)) {
35
+ if (data instanceof TheDate) {
42
36
  return data;
43
37
  }
38
+ else if (typeof data === "string" && isSerializedTheDate(data)) {
39
+ return TheDate.new(toTimestamp(data));
40
+ }
41
+ else if (data instanceof Date) {
42
+ const timestamp = data.getTime();
43
+ if (!isSafeTimestamp(timestamp)) {
44
+ return SymbolDataParserErrorIssue;
45
+ }
46
+ return TheDate.new(timestamp);
47
+ }
44
48
  return SymbolDataParserErrorIssue;
45
49
  }, date.overrideHandler);
46
50
  return self;
@@ -6,6 +6,9 @@ var kind = require('../../../kind.cjs');
6
6
  var lessTime = require('../../../../date/operators/lessTime.cjs');
7
7
 
8
8
  const checkerTimeMaxKind = kind.createDataParserKind("checker-time-max");
9
+ /**
10
+ * {@include dataParser/classic/checkerTimeMax/index.md}
11
+ */
9
12
  function checkerTimeMax(max, definition = {}) {
10
13
  return base.dataParserCheckerInit(checkerTimeMaxKind, {
11
14
  definition: {
@@ -8,5 +8,33 @@ export declare const checkerTimeMaxKind: import("../../../../common").KindHandle
8
8
  type _DataParserCheckerTimeMax = (Kind<typeof checkerTimeMaxKind.definition> & DataParserChecker<DataParserCheckerDefinitionTimeMax, DDate.TheTime>);
9
9
  export interface DataParserCheckerTimeMax extends _DataParserCheckerTimeMax {
10
10
  }
11
+ /**
12
+ * Creates a checker that enforces a maximum `TheTime` bound.
13
+ *
14
+ * Signature: `checkerTimeMax(max, definition?)` → `DataParserCheckerTimeMax`
15
+ *
16
+ * The checker passes when parsed value is less than or equal to `max`.
17
+ *
18
+ * ```ts
19
+ * const parser = DP.time({
20
+ * checkers: [DP.checkerTimeMax(D.createTime(2, "minute"))],
21
+ * });
22
+ *
23
+ * const valid = parser.parse("time1500+");
24
+ * // valid: Error<DP.DataParserError> | Success<D.TheTime>
25
+ *
26
+ * const invalid = parser.parse("time2500+");
27
+ * // invalid: Error<DP.DataParserError> | Success<D.TheTime>
28
+ *
29
+ * ```
30
+ *
31
+ * @remarks
32
+ * - Designed to be used in `DP.time({ checkers: [...] })` or via `.addChecker(...)`.
33
+ *
34
+ * @see https://utils.duplojs.dev/en/v1/api/dataParser/time
35
+ *
36
+ * @namespace DP
37
+ *
38
+ */
11
39
  export declare function checkerTimeMax(max: DDate.TheTime, definition?: Partial<Omit<DataParserCheckerDefinitionTimeMax, "max">>): DataParserCheckerTimeMax;
12
40
  export {};
@@ -4,6 +4,9 @@ import { createDataParserKind } from '../../../kind.mjs';
4
4
  import { lessTime } from '../../../../date/operators/lessTime.mjs';
5
5
 
6
6
  const checkerTimeMaxKind = createDataParserKind("checker-time-max");
7
+ /**
8
+ * {@include dataParser/classic/checkerTimeMax/index.md}
9
+ */
7
10
  function checkerTimeMax(max, definition = {}) {
8
11
  return dataParserCheckerInit(checkerTimeMaxKind, {
9
12
  definition: {
@@ -6,6 +6,9 @@ var kind = require('../../../kind.cjs');
6
6
  var greaterTime = require('../../../../date/operators/greaterTime.cjs');
7
7
 
8
8
  const checkerTimeMinKind = kind.createDataParserKind("checker-time-min");
9
+ /**
10
+ * {@include dataParser/classic/checkerTimeMin/index.md}
11
+ */
9
12
  function checkerTimeMin(min, definition = {}) {
10
13
  return base.dataParserCheckerInit(checkerTimeMinKind, {
11
14
  definition: {
@@ -8,5 +8,33 @@ export declare const checkerTimeMinKind: import("../../../../common").KindHandle
8
8
  type _DataParserCheckerTimeMin = (Kind<typeof checkerTimeMinKind.definition> & DataParserChecker<DataParserCheckerDefinitionTimeMin, DDate.TheTime>);
9
9
  export interface DataParserCheckerTimeMin extends _DataParserCheckerTimeMin {
10
10
  }
11
+ /**
12
+ * Creates a checker that enforces a minimum `TheTime` bound.
13
+ *
14
+ * Signature: `checkerTimeMin(min, definition?)` → `DataParserCheckerTimeMin`
15
+ *
16
+ * The checker passes when parsed value is greater than or equal to `min`.
17
+ *
18
+ * ```ts
19
+ * const parser = DP.time({
20
+ * checkers: [DP.checkerTimeMin(D.createTime(1, "minute"))],
21
+ * });
22
+ *
23
+ * const valid = parser.parse("time1500+");
24
+ * // valid: Error<DP.DataParserError> | Success<D.TheTime>
25
+ *
26
+ * const invalid = parser.parse("time500+");
27
+ * // invalid:Error<DP.DataParserError> | Success<D.TheTime>
28
+ *
29
+ * ```
30
+ *
31
+ * @remarks
32
+ * - Designed to be used in `DP.time({ checkers: [...] })` or via `.addChecker(...)`.
33
+ *
34
+ * @see https://utils.duplojs.dev/en/v1/api/dataParser/time
35
+ *
36
+ * @namespace DP
37
+ *
38
+ */
11
39
  export declare function checkerTimeMin(min: DDate.TheTime, definition?: Partial<Omit<DataParserCheckerDefinitionTimeMin, "min">>): DataParserCheckerTimeMin;
12
40
  export {};
@@ -4,6 +4,9 @@ import { createDataParserKind } from '../../../kind.mjs';
4
4
  import { greaterTime } from '../../../../date/operators/greaterTime.mjs';
5
5
 
6
6
  const checkerTimeMinKind = createDataParserKind("checker-time-min");
7
+ /**
8
+ * {@include dataParser/classic/checkerTimeMin/index.md}
9
+ */
7
10
  function checkerTimeMin(min, definition = {}) {
8
11
  return dataParserCheckerInit(checkerTimeMinKind, {
9
12
  definition: {
@@ -3,13 +3,14 @@
3
3
  var base = require('../../base.cjs');
4
4
  var error = require('../../error.cjs');
5
5
  var kind = require('../../kind.cjs');
6
- var isSafeTimeValue = require('../../../date/isSafeTimeValue.cjs');
7
- var createTheTime = require('../../../date/createTheTime.cjs');
8
6
  var constants = require('../../../date/constants.cjs');
9
7
  var createTime = require('../../../date/createTime.cjs');
10
8
  var is = require('../../../either/left/is.cjs');
11
9
  var unwrap = require('../../../common/unwrap.cjs');
12
- var isTime = require('../../../date/isTime.cjs');
10
+ var theTime = require('../../../date/theTime.cjs');
11
+ var isSerializedTheTime = require('../../../date/isSerializedTheTime.cjs');
12
+ var toTimeValue = require('../../../date/toTimeValue.cjs');
13
+ var isSafeTimeValue = require('../../../date/isSafeTimeValue.cjs');
13
14
  var override = require('../../../common/override.cjs');
14
15
 
15
16
  const timeKind = kind.createDataParserKind("time");
@@ -23,12 +24,6 @@ function time(definition) {
23
24
  coerce: definition?.coerce ?? false,
24
25
  }, (data, _error, self) => {
25
26
  if (self.definition.coerce) {
26
- if (typeof data === "number") {
27
- if (!isSafeTimeValue.isSafeTimeValue(data)) {
28
- return error.SymbolDataParserErrorIssue;
29
- }
30
- return createTheTime.createTheTime(data);
31
- }
32
27
  if (typeof data === "string" && constants.isoTimeRegex.test(data)) {
33
28
  const result = createTime.createTime({ value: data });
34
29
  if (is.isLeft(result)) {
@@ -37,9 +32,18 @@ function time(definition) {
37
32
  return unwrap.unwrap(result);
38
33
  }
39
34
  }
40
- if (typeof data === "string" && isTime.isTime(data)) {
35
+ if (data instanceof theTime.TheTime) {
41
36
  return data;
42
37
  }
38
+ else if (typeof data === "string" && isSerializedTheTime.isSerializedTheTime(data)) {
39
+ return theTime.TheTime.new(toTimeValue.toTimeValue(data));
40
+ }
41
+ else if (typeof data === "number") {
42
+ if (!isSafeTimeValue.isSafeTimeValue(data)) {
43
+ return error.SymbolDataParserErrorIssue;
44
+ }
45
+ return theTime.TheTime.new(data);
46
+ }
43
47
  return error.SymbolDataParserErrorIssue;
44
48
  }, time.overrideHandler);
45
49
  return self;
@@ -3,17 +3,17 @@ import { type DataParserDefinition, type DataParser, type DataParserChecker } fr
3
3
  import { type AddCheckersToDefinition, type MergeDefinition } from "../../../dataParser/types";
4
4
  import { type CheckerRefineImplementation } from "../refine";
5
5
  import { type GetPropsWithValueExtends } from "../../../object";
6
- import { type TheTime } from "../../../date";
6
+ import * as DDate from "../../../date";
7
7
  import { type DataParserCheckerTimeMax, type DataParserCheckerTimeMin } from "./checkers";
8
8
  export * from "./checkers";
9
9
  export interface DataParserTimeCheckerCustom {
10
10
  }
11
- export type DataParserTimeCheckers = (DataParserTimeCheckerCustom[GetPropsWithValueExtends<DataParserTimeCheckerCustom, DataParserChecker>] | CheckerRefineImplementation<TheTime> | DataParserCheckerTimeMax | DataParserCheckerTimeMin);
11
+ export type DataParserTimeCheckers = (DataParserTimeCheckerCustom[GetPropsWithValueExtends<DataParserTimeCheckerCustom, DataParserChecker>] | CheckerRefineImplementation<DDate.TheTime> | DataParserCheckerTimeMax | DataParserCheckerTimeMin);
12
12
  export interface DataParserDefinitionTime extends DataParserDefinition<DataParserTimeCheckers> {
13
13
  readonly coerce: boolean;
14
14
  }
15
15
  export declare const timeKind: import("../../../common").KindHandler<import("../../../common").KindDefinition<"@DuplojsUtilsDataParser/time", unknown>>;
16
- type _DataParserTime<GenericDefinition extends DataParserDefinitionTime> = (DataParser<GenericDefinition, TheTime, TheTime> & Kind<typeof timeKind.definition>);
16
+ type _DataParserTime<GenericDefinition extends DataParserDefinitionTime> = (DataParser<GenericDefinition, DDate.TheTime, DDate.TheTime | number | DDate.SerializedTheTime> & Kind<typeof timeKind.definition>);
17
17
  export interface DataParserTime<GenericDefinition extends DataParserDefinitionTime = DataParserDefinitionTime> extends _DataParserTime<GenericDefinition> {
18
18
  addChecker<GenericChecker extends readonly [
19
19
  DataParserTimeCheckers,
@@ -24,13 +24,12 @@ export interface DataParserTime<GenericDefinition extends DataParserDefinitionTi
24
24
  ], GenericChecker>): DataParserTime<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
25
25
  }
26
26
  /**
27
- * Creates a data parser for TheTime values.
27
+ * Creates a classic parser for `TheTime` values.
28
28
  *
29
- * **Supported call styles:**
30
- * - Classic: `DP.time(definition?)` -> returns a time parser
31
- * - Curried: not available
29
+ * Signature: `DP.time(definition?)` → `DataParserTime`
32
30
  *
33
- * Validates that the input is a TheTime, optionally applies coerce, and runs the configured checkers.
31
+ * The parser accepts `TheTime`, `SerializedTheTime`, and safe numeric time values.
32
+ * With `coerce: true`, ISO-like time strings are also supported.
34
33
  *
35
34
  * ```ts
36
35
  * const parser = DP.time();
@@ -41,13 +40,20 @@ export interface DataParserTime<GenericDefinition extends DataParserDefinitionTi
41
40
  * }
42
41
  *
43
42
  * const withCheckers = DP.time({
44
- * checkers: [DP.checkerRefine((value) => value !== "time0+")],
43
+ * checkers: [DP.checkerRefine((value) => value.toNative() !== 0)],
45
44
  * });
45
+ * const checked = withCheckers.parse("time1000+");
46
+ * // checked: E.Error<DP.DataParserError> | E.Success<TheTime>
46
47
  *
47
48
  * const coerceParser = DP.coerce.time();
48
49
  * const coerceResult = coerceParser.parse("10:20:00");
50
+ * // coerceResult: E.Error<DP.DataParserError> | E.Success<TheTime>
49
51
  * ```
50
52
  *
53
+ * @remarks
54
+ * - Parsed output is always `TheTime`.
55
+ * - Use `DP.coerce.time()` when you want string coercion enabled by default.
56
+ *
51
57
  * @see https://utils.duplojs.dev/en/v1/api/dataParser/time
52
58
  *
53
59
  * @namespace DP
@@ -1,13 +1,14 @@
1
1
  import { dataParserInit } from '../../base.mjs';
2
2
  import { SymbolDataParserErrorIssue } from '../../error.mjs';
3
3
  import { createDataParserKind } from '../../kind.mjs';
4
- import { isSafeTimeValue } from '../../../date/isSafeTimeValue.mjs';
5
- import { createTheTime } from '../../../date/createTheTime.mjs';
6
4
  import { isoTimeRegex } from '../../../date/constants.mjs';
7
5
  import { createTime } from '../../../date/createTime.mjs';
8
6
  import { isLeft } from '../../../either/left/is.mjs';
9
7
  import { unwrap } from '../../../common/unwrap.mjs';
10
- import { isTime } from '../../../date/isTime.mjs';
8
+ import { TheTime } from '../../../date/theTime.mjs';
9
+ import { isSerializedTheTime } from '../../../date/isSerializedTheTime.mjs';
10
+ import { toTimeValue } from '../../../date/toTimeValue.mjs';
11
+ import { isSafeTimeValue } from '../../../date/isSafeTimeValue.mjs';
11
12
  import { createOverride } from '../../../common/override.mjs';
12
13
 
13
14
  const timeKind = createDataParserKind("time");
@@ -21,12 +22,6 @@ function time(definition) {
21
22
  coerce: definition?.coerce ?? false,
22
23
  }, (data, _error, self) => {
23
24
  if (self.definition.coerce) {
24
- if (typeof data === "number") {
25
- if (!isSafeTimeValue(data)) {
26
- return SymbolDataParserErrorIssue;
27
- }
28
- return createTheTime(data);
29
- }
30
25
  if (typeof data === "string" && isoTimeRegex.test(data)) {
31
26
  const result = createTime({ value: data });
32
27
  if (isLeft(result)) {
@@ -35,9 +30,18 @@ function time(definition) {
35
30
  return unwrap(result);
36
31
  }
37
32
  }
38
- if (typeof data === "string" && isTime(data)) {
33
+ if (data instanceof TheTime) {
39
34
  return data;
40
35
  }
36
+ else if (typeof data === "string" && isSerializedTheTime(data)) {
37
+ return TheTime.new(toTimeValue(data));
38
+ }
39
+ else if (typeof data === "number") {
40
+ if (!isSafeTimeValue(data)) {
41
+ return SymbolDataParserErrorIssue;
42
+ }
43
+ return TheTime.new(data);
44
+ }
41
45
  return SymbolDataParserErrorIssue;
42
46
  }, time.overrideHandler);
43
47
  return self;
@@ -1,17 +1,17 @@
1
1
  'use strict';
2
2
 
3
- var createOrThrow = require('./createOrThrow.cjs');
4
3
  var getTimezoneOffset = require('./getTimezoneOffset.cjs');
5
4
  var toTimestamp = require('./toTimestamp.cjs');
5
+ var theDate = require('./theDate.cjs');
6
6
 
7
7
  function applyTimezone(...args) {
8
8
  if (args.length === 1) {
9
9
  const [timeZone] = args;
10
10
  return (theDate) => applyTimezone(theDate, timeZone);
11
11
  }
12
- const [theDate, timeZone] = args;
13
- const timestamp = toTimestamp.toTimestamp(theDate);
14
- return createOrThrow.createOrThrow(timestamp - getTimezoneOffset.getTimezoneOffset(theDate, timeZone));
12
+ const [theDate$1, timeZone] = args;
13
+ const timestamp = toTimestamp.toTimestamp(theDate$1);
14
+ return theDate.TheDate.new(timestamp - getTimezoneOffset.getTimezoneOffset(theDate$1, timeZone));
15
15
  }
16
16
 
17
17
  exports.applyTimezone = applyTimezone;
@@ -1,33 +1,35 @@
1
- import { type Timezone } from "./timezone";
2
- import { type TheDate } from "./types";
1
+ import type { Timezone } from "./timezone";
2
+ import { TheDate } from "./theDate";
3
+ import type { SerializedTheDate } from "./types";
3
4
  /**
4
- * Applies a timezone to a date.
5
+ * Applies a timezone offset to a date and returns the shifted `TheDate`.
5
6
  *
6
7
  * **Supported call styles:**
7
- * - Classic: `applyTimezone(timeZone)` → returns a value
8
- * - Curried: `applyTimezone(theDate, timeZone)` → returns a function waiting for the input
8
+ * - Classic: `applyTimezone(input, timeZone)` → `TheDate`
9
+ * - Curried: `applyTimezone(timeZone)` → `(input) => TheDate`
9
10
  *
10
- * The input value is not mutated.
11
+ * `input` accepts `TheDate` or `SerializedTheDate`.
11
12
  *
12
13
  * ```ts
13
- * const theDate = D.createOrThrow(1704067200000);
14
- * const shiftedDate = D.applyTimezone(theDate, "America/New_York");
15
- * // shiftedDate: "date1704085200000+"
14
+ * const input = D.create("2024-01-01", {
15
+ * hour: "00",
16
+ * });
16
17
  *
17
- * pipe(
18
- * theDate,
19
- * D.applyTimezone("America/New_York"),
20
- * ); // shiftedDate: "date1704085200000+"
18
+ * const shifted = D.applyTimezone(input, "America/New_York");
19
+ * // shifted: TheDate
21
20
  *
21
+ * pipe(
22
+ * input,
23
+ * D.applyTimezone("Europe/Paris"),
22
24
  * ```
23
25
  *
24
26
  * @remarks
25
- * - Applies the timezone offset to shift the date.
27
+ * - This is a timestamp shift based on the target timezone offset.
26
28
  *
27
29
  * @see https://utils.duplojs.dev/en/v1/api/date/applyTimezone
28
30
  *
29
31
  * @namespace D
30
32
  *
31
33
  */
32
- export declare function applyTimezone(timeZone: Timezone): (theDate: TheDate) => TheDate;
33
- export declare function applyTimezone(theDate: TheDate, timeZone: Timezone): TheDate;
34
+ export declare function applyTimezone(timeZone: Timezone): (input: TheDate | SerializedTheDate) => TheDate;
35
+ export declare function applyTimezone(input: TheDate | SerializedTheDate, timeZone: Timezone): TheDate;