@wisemen/datewise 0.0.1

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 (377) hide show
  1. package/README.md +307 -0
  2. package/dist/common/constants.d.ts +9 -0
  3. package/dist/common/constants.js +10 -0
  4. package/dist/common/constants.js.map +1 -0
  5. package/dist/common/date-period.enum.d.ts +7 -0
  6. package/dist/common/date-period.enum.js +15 -0
  7. package/dist/common/date-period.enum.js.map +1 -0
  8. package/dist/common/exhaustive-check.helper.d.ts +1 -0
  9. package/dist/common/exhaustive-check.helper.js +4 -0
  10. package/dist/common/exhaustive-check.helper.js.map +1 -0
  11. package/dist/common/inclusivity.d.ts +8 -0
  12. package/dist/common/inclusivity.js +23 -0
  13. package/dist/common/inclusivity.js.map +1 -0
  14. package/dist/common/index.d.ts +4 -0
  15. package/dist/common/index.js +5 -0
  16. package/dist/common/index.js.map +1 -0
  17. package/dist/common/init-dayjs.d.ts +1 -0
  18. package/dist/common/init-dayjs.js +31 -0
  19. package/dist/common/init-dayjs.js.map +1 -0
  20. package/dist/common/month.d.ts +15 -0
  21. package/dist/common/month.js +21 -0
  22. package/dist/common/month.js.map +1 -0
  23. package/dist/common/timezone.d.ts +600 -0
  24. package/dist/common/timezone.js +614 -0
  25. package/dist/common/timezone.js.map +1 -0
  26. package/dist/common/typeorm/adjacent-to.d.ts +5 -0
  27. package/dist/common/typeorm/adjacent-to.js +7 -0
  28. package/dist/common/typeorm/adjacent-to.js.map +1 -0
  29. package/dist/common/typeorm/ends-before.d.ts +5 -0
  30. package/dist/common/typeorm/ends-before.js +7 -0
  31. package/dist/common/typeorm/ends-before.js.map +1 -0
  32. package/dist/common/typeorm/index.d.ts +10 -0
  33. package/dist/common/typeorm/index.js +11 -0
  34. package/dist/common/typeorm/index.js.map +1 -0
  35. package/dist/common/typeorm/is-preceded-by.d.ts +5 -0
  36. package/dist/common/typeorm/is-preceded-by.js +7 -0
  37. package/dist/common/typeorm/is-preceded-by.js.map +1 -0
  38. package/dist/common/typeorm/is-succeeded-by.d.ts +5 -0
  39. package/dist/common/typeorm/is-succeeded-by.js +7 -0
  40. package/dist/common/typeorm/is-succeeded-by.js.map +1 -0
  41. package/dist/common/typeorm/overlaps-with.d.ts +5 -0
  42. package/dist/common/typeorm/overlaps-with.js +7 -0
  43. package/dist/common/typeorm/overlaps-with.js.map +1 -0
  44. package/dist/common/typeorm/precedes.d.ts +5 -0
  45. package/dist/common/typeorm/precedes.js +7 -0
  46. package/dist/common/typeorm/precedes.js.map +1 -0
  47. package/dist/common/typeorm/starts-after.d.ts +5 -0
  48. package/dist/common/typeorm/starts-after.js +7 -0
  49. package/dist/common/typeorm/starts-after.js.map +1 -0
  50. package/dist/common/typeorm/strictly-left-of.d.ts +5 -0
  51. package/dist/common/typeorm/strictly-left-of.js +7 -0
  52. package/dist/common/typeorm/strictly-left-of.js.map +1 -0
  53. package/dist/common/typeorm/strictly-right-of.d.ts +5 -0
  54. package/dist/common/typeorm/strictly-right-of.js +7 -0
  55. package/dist/common/typeorm/strictly-right-of.js.map +1 -0
  56. package/dist/common/typeorm/succeeds.d.ts +5 -0
  57. package/dist/common/typeorm/succeeds.js +7 -0
  58. package/dist/common/typeorm/succeeds.js.map +1 -0
  59. package/dist/date-range/date-range-errors.d.ts +9 -0
  60. package/dist/date-range/date-range-errors.js +17 -0
  61. package/dist/date-range/date-range-errors.js.map +1 -0
  62. package/dist/date-range/date-range.d.ts +43 -0
  63. package/dist/date-range/date-range.dto-builder.d.ts +8 -0
  64. package/dist/date-range/date-range.dto-builder.js +21 -0
  65. package/dist/date-range/date-range.dto-builder.js.map +1 -0
  66. package/dist/date-range/date-range.dto.d.ts +7 -0
  67. package/dist/date-range/date-range.dto.js +31 -0
  68. package/dist/date-range/date-range.dto.js.map +1 -0
  69. package/dist/date-range/date-range.js +153 -0
  70. package/dist/date-range/date-range.js.map +1 -0
  71. package/dist/date-range/date-range.response.d.ts +6 -0
  72. package/dist/date-range/date-range.response.js +27 -0
  73. package/dist/date-range/date-range.response.js.map +1 -0
  74. package/dist/date-range/index.d.ts +7 -0
  75. package/dist/date-range/index.js +8 -0
  76. package/dist/date-range/index.js.map +1 -0
  77. package/dist/date-range/is-date-range.decorator.d.ts +19 -0
  78. package/dist/date-range/is-date-range.decorator.js +68 -0
  79. package/dist/date-range/is-date-range.decorator.js.map +1 -0
  80. package/dist/date-range/tests/date-range.unit.test.d.ts +1 -0
  81. package/dist/date-range/tests/date-range.unit.test.js +412 -0
  82. package/dist/date-range/tests/date-range.unit.test.js.map +1 -0
  83. package/dist/date-range/tests/is-date-range.decorator.unit.test.d.ts +1 -0
  84. package/dist/date-range/tests/is-date-range.decorator.unit.test.js +120 -0
  85. package/dist/date-range/tests/is-date-range.decorator.unit.test.js.map +1 -0
  86. package/dist/date-range/typeorm/contains-plain-date.d.ts +4 -0
  87. package/dist/date-range/typeorm/contains-plain-date.js +8 -0
  88. package/dist/date-range/typeorm/contains-plain-date.js.map +1 -0
  89. package/dist/date-range/typeorm/date-range-column.d.ts +11 -0
  90. package/dist/date-range/typeorm/date-range-column.js +32 -0
  91. package/dist/date-range/typeorm/date-range-column.js.map +1 -0
  92. package/dist/date-range/typeorm/index.d.ts +2 -0
  93. package/dist/date-range/typeorm/index.js +3 -0
  94. package/dist/date-range/typeorm/index.js.map +1 -0
  95. package/dist/date-time-range/date-time-range.command-builder.d.ts +8 -0
  96. package/dist/date-time-range/date-time-range.command-builder.js +21 -0
  97. package/dist/date-time-range/date-time-range.command-builder.js.map +1 -0
  98. package/dist/date-time-range/date-time-range.command.d.ts +7 -0
  99. package/dist/date-time-range/date-time-range.command.js +30 -0
  100. package/dist/date-time-range/date-time-range.command.js.map +1 -0
  101. package/dist/date-time-range/date-time-range.d.ts +93 -0
  102. package/dist/date-time-range/date-time-range.errors.d.ts +10 -0
  103. package/dist/date-time-range/date-time-range.errors.js +19 -0
  104. package/dist/date-time-range/date-time-range.errors.js.map +1 -0
  105. package/dist/date-time-range/date-time-range.js +205 -0
  106. package/dist/date-time-range/date-time-range.js.map +1 -0
  107. package/dist/date-time-range/date-time-range.response.d.ts +6 -0
  108. package/dist/date-time-range/date-time-range.response.js +27 -0
  109. package/dist/date-time-range/date-time-range.response.js.map +1 -0
  110. package/dist/date-time-range/index.d.ts +7 -0
  111. package/dist/date-time-range/index.js +8 -0
  112. package/dist/date-time-range/index.js.map +1 -0
  113. package/dist/date-time-range/is-date-time-range.decorator.d.ts +15 -0
  114. package/dist/date-time-range/is-date-time-range.decorator.js +58 -0
  115. package/dist/date-time-range/is-date-time-range.decorator.js.map +1 -0
  116. package/dist/date-time-range/tests/date-time-range.column.integration.test.d.ts +1 -0
  117. package/dist/date-time-range/tests/date-time-range.column.integration.test.js +442 -0
  118. package/dist/date-time-range/tests/date-time-range.column.integration.test.js.map +1 -0
  119. package/dist/date-time-range/tests/date-time-range.unit.test.d.ts +1 -0
  120. package/dist/date-time-range/tests/date-time-range.unit.test.js +775 -0
  121. package/dist/date-time-range/tests/date-time-range.unit.test.js.map +1 -0
  122. package/dist/date-time-range/tests/is-date-time-range.decorator.unit.test.d.ts +1 -0
  123. package/dist/date-time-range/tests/is-date-time-range.decorator.unit.test.js +74 -0
  124. package/dist/date-time-range/tests/is-date-time-range.decorator.unit.test.js.map +1 -0
  125. package/dist/date-time-range/tests/sql/datasource.d.ts +2 -0
  126. package/dist/date-time-range/tests/sql/datasource.js +16 -0
  127. package/dist/date-time-range/tests/sql/datasource.js.map +1 -0
  128. package/dist/date-time-range/tests/sql/date-time-range-test.entity.d.ts +5 -0
  129. package/dist/date-time-range/tests/sql/date-time-range-test.entity.js +29 -0
  130. package/dist/date-time-range/tests/sql/date-time-range-test.entity.js.map +1 -0
  131. package/dist/date-time-range/tests/sql/multi-date-time-range-test.entity.d.ts +5 -0
  132. package/dist/date-time-range/tests/sql/multi-date-time-range-test.entity.js +28 -0
  133. package/dist/date-time-range/tests/sql/multi-date-time-range-test.entity.js.map +1 -0
  134. package/dist/date-time-range/typeorm/contains-timestamp.d.ts +4 -0
  135. package/dist/date-time-range/typeorm/contains-timestamp.js +8 -0
  136. package/dist/date-time-range/typeorm/contains-timestamp.js.map +1 -0
  137. package/dist/date-time-range/typeorm/date-time-range-column.d.ts +11 -0
  138. package/dist/date-time-range/typeorm/date-time-range-column.js +32 -0
  139. package/dist/date-time-range/typeorm/date-time-range-column.js.map +1 -0
  140. package/dist/date-time-range/typeorm/index.d.ts +3 -0
  141. package/dist/date-time-range/typeorm/index.js +4 -0
  142. package/dist/date-time-range/typeorm/index.js.map +1 -0
  143. package/dist/date-time-range/typeorm/multi-date-time-range.column.d.ts +3 -0
  144. package/dist/date-time-range/typeorm/multi-date-time-range.column.js +47 -0
  145. package/dist/date-time-range/typeorm/multi-date-time-range.column.js.map +1 -0
  146. package/dist/index.d.ts +6 -0
  147. package/dist/index.js +9 -0
  148. package/dist/index.js.map +1 -0
  149. package/dist/multi-date-time-range/multi-date-time-range.d.ts +20 -0
  150. package/dist/multi-date-time-range/multi-date-time-range.js +51 -0
  151. package/dist/multi-date-time-range/multi-date-time-range.js.map +1 -0
  152. package/dist/multi-date-time-range/tests/multi-date-time-range.unit.test.d.ts +1 -0
  153. package/dist/multi-date-time-range/tests/multi-date-time-range.unit.test.js +129 -0
  154. package/dist/multi-date-time-range/tests/multi-date-time-range.unit.test.js.map +1 -0
  155. package/dist/plain-date/api-property/index.d.ts +1 -0
  156. package/dist/plain-date/api-property/index.js +2 -0
  157. package/dist/plain-date/api-property/index.js.map +1 -0
  158. package/dist/plain-date/api-property/plain-date.api-property.d.ts +2 -0
  159. package/dist/plain-date/api-property/plain-date.api-property.js +12 -0
  160. package/dist/plain-date/api-property/plain-date.api-property.js.map +1 -0
  161. package/dist/plain-date/dayjs-plain-date.d.ts +57 -0
  162. package/dist/plain-date/dayjs-plain-date.js +170 -0
  163. package/dist/plain-date/dayjs-plain-date.js.map +1 -0
  164. package/dist/plain-date/future-infinity-date.d.ts +38 -0
  165. package/dist/plain-date/future-infinity-date.js +100 -0
  166. package/dist/plain-date/future-infinity-date.js.map +1 -0
  167. package/dist/plain-date/index.d.ts +8 -0
  168. package/dist/plain-date/index.js +9 -0
  169. package/dist/plain-date/index.js.map +1 -0
  170. package/dist/plain-date/invalid-date.d.ts +5 -0
  171. package/dist/plain-date/invalid-date.js +8 -0
  172. package/dist/plain-date/invalid-date.js.map +1 -0
  173. package/dist/plain-date/max.d.ts +2 -0
  174. package/dist/plain-date/max.js +15 -0
  175. package/dist/plain-date/max.js.map +1 -0
  176. package/dist/plain-date/min.d.ts +2 -0
  177. package/dist/plain-date/min.js +16 -0
  178. package/dist/plain-date/min.js.map +1 -0
  179. package/dist/plain-date/past-infinity-date.d.ts +39 -0
  180. package/dist/plain-date/past-infinity-date.js +100 -0
  181. package/dist/plain-date/past-infinity-date.js.map +1 -0
  182. package/dist/plain-date/plain-date-object.d.ts +6 -0
  183. package/dist/plain-date/plain-date-object.js +2 -0
  184. package/dist/plain-date/plain-date-object.js.map +1 -0
  185. package/dist/plain-date/plain-date.d.ts +44 -0
  186. package/dist/plain-date/plain-date.factory.d.ts +16 -0
  187. package/dist/plain-date/plain-date.factory.js +41 -0
  188. package/dist/plain-date/plain-date.factory.js.map +1 -0
  189. package/dist/plain-date/plain-date.fn.d.ts +16 -0
  190. package/dist/plain-date/plain-date.fn.js +14 -0
  191. package/dist/plain-date/plain-date.fn.js.map +1 -0
  192. package/dist/plain-date/plain-date.js +2 -0
  193. package/dist/plain-date/plain-date.js.map +1 -0
  194. package/dist/plain-date/plain-date.units.d.ts +4 -0
  195. package/dist/plain-date/plain-date.units.js +2 -0
  196. package/dist/plain-date/plain-date.units.js.map +1 -0
  197. package/dist/plain-date/tests/plain-date.accessors.unit.test.d.ts +1 -0
  198. package/dist/plain-date/tests/plain-date.accessors.unit.test.js +22 -0
  199. package/dist/plain-date/tests/plain-date.accessors.unit.test.js.map +1 -0
  200. package/dist/plain-date/tests/plain-date.constructor.unit.test.d.ts +1 -0
  201. package/dist/plain-date/tests/plain-date.constructor.unit.test.js +40 -0
  202. package/dist/plain-date/tests/plain-date.constructor.unit.test.js.map +1 -0
  203. package/dist/plain-date/tests/plain-date.factory.unit.test.d.ts +1 -0
  204. package/dist/plain-date/tests/plain-date.factory.unit.test.js +136 -0
  205. package/dist/plain-date/tests/plain-date.factory.unit.test.js.map +1 -0
  206. package/dist/plain-date/tests/plain-date.manipulation.unit.test.d.ts +1 -0
  207. package/dist/plain-date/tests/plain-date.manipulation.unit.test.js +93 -0
  208. package/dist/plain-date/tests/plain-date.manipulation.unit.test.js.map +1 -0
  209. package/dist/plain-date/tests/wise-date.ordering.unit.test.d.ts +1 -0
  210. package/dist/plain-date/tests/wise-date.ordering.unit.test.js +174 -0
  211. package/dist/plain-date/tests/wise-date.ordering.unit.test.js.map +1 -0
  212. package/dist/plain-date/typeorm/index.d.ts +1 -0
  213. package/dist/plain-date/typeorm/index.js +2 -0
  214. package/dist/plain-date/typeorm/index.js.map +1 -0
  215. package/dist/plain-date/typeorm/plain-date.column.d.ts +3 -0
  216. package/dist/plain-date/typeorm/plain-date.column.js +24 -0
  217. package/dist/plain-date/typeorm/plain-date.column.js.map +1 -0
  218. package/dist/plain-date/validators/index.d.ts +1 -0
  219. package/dist/plain-date/validators/index.js +2 -0
  220. package/dist/plain-date/validators/index.js.map +1 -0
  221. package/dist/plain-date/validators/is-plain-date.validator.d.ts +7 -0
  222. package/dist/plain-date/validators/is-plain-date.validator.js +34 -0
  223. package/dist/plain-date/validators/is-plain-date.validator.js.map +1 -0
  224. package/dist/plain-time/api-property/index.d.ts +1 -0
  225. package/dist/plain-time/api-property/index.js +2 -0
  226. package/dist/plain-time/api-property/index.js.map +1 -0
  227. package/dist/plain-time/api-property/plain-time.api-property.d.ts +2 -0
  228. package/dist/plain-time/api-property/plain-time.api-property.js +5 -0
  229. package/dist/plain-time/api-property/plain-time.api-property.js.map +1 -0
  230. package/dist/plain-time/constants.d.ts +4 -0
  231. package/dist/plain-time/constants.js +5 -0
  232. package/dist/plain-time/constants.js.map +1 -0
  233. package/dist/plain-time/index.d.ts +8 -0
  234. package/dist/plain-time/index.js +8 -0
  235. package/dist/plain-time/index.js.map +1 -0
  236. package/dist/plain-time/is-valid-time-string.d.ts +2 -0
  237. package/dist/plain-time/is-valid-time-string.js +5 -0
  238. package/dist/plain-time/is-valid-time-string.js.map +1 -0
  239. package/dist/plain-time/max.d.ts +2 -0
  240. package/dist/plain-time/max.js +15 -0
  241. package/dist/plain-time/max.js.map +1 -0
  242. package/dist/plain-time/min.d.ts +2 -0
  243. package/dist/plain-time/min.js +15 -0
  244. package/dist/plain-time/min.js.map +1 -0
  245. package/dist/plain-time/plain-time-entry.d.ts +18 -0
  246. package/dist/plain-time/plain-time-entry.js +11 -0
  247. package/dist/plain-time/plain-time-entry.js.map +1 -0
  248. package/dist/plain-time/plain-time-error.d.ts +12 -0
  249. package/dist/plain-time/plain-time-error.js +19 -0
  250. package/dist/plain-time/plain-time-error.js.map +1 -0
  251. package/dist/plain-time/plain-time-object.type.d.ts +6 -0
  252. package/dist/plain-time/plain-time-object.type.js +2 -0
  253. package/dist/plain-time/plain-time-object.type.js.map +1 -0
  254. package/dist/plain-time/plain-time.d.ts +44 -0
  255. package/dist/plain-time/plain-time.factory.d.ts +12 -0
  256. package/dist/plain-time/plain-time.factory.js +10 -0
  257. package/dist/plain-time/plain-time.factory.js.map +1 -0
  258. package/dist/plain-time/plain-time.js +160 -0
  259. package/dist/plain-time/plain-time.js.map +1 -0
  260. package/dist/plain-time/seconds-in-unit.d.ts +11 -0
  261. package/dist/plain-time/seconds-in-unit.js +13 -0
  262. package/dist/plain-time/seconds-in-unit.js.map +1 -0
  263. package/dist/plain-time/tests/is-plain-time-after.validator.test.d.ts +1 -0
  264. package/dist/plain-time/tests/is-plain-time-after.validator.test.js +49 -0
  265. package/dist/plain-time/tests/is-plain-time-after.validator.test.js.map +1 -0
  266. package/dist/plain-time/tests/is-plain-time.validator.test.d.ts +1 -0
  267. package/dist/plain-time/tests/is-plain-time.validator.test.js +45 -0
  268. package/dist/plain-time/tests/is-plain-time.validator.test.js.map +1 -0
  269. package/dist/plain-time/tests/plain-time.unit.test.d.ts +1 -0
  270. package/dist/plain-time/tests/plain-time.unit.test.js +323 -0
  271. package/dist/plain-time/tests/plain-time.unit.test.js.map +1 -0
  272. package/dist/plain-time/time-unit.d.ts +1 -0
  273. package/dist/plain-time/time-unit.js +2 -0
  274. package/dist/plain-time/time-unit.js.map +1 -0
  275. package/dist/plain-time/typeorm/index.d.ts +1 -0
  276. package/dist/plain-time/typeorm/index.js +2 -0
  277. package/dist/plain-time/typeorm/index.js.map +1 -0
  278. package/dist/plain-time/typeorm/plain-time-column.d.ts +3 -0
  279. package/dist/plain-time/typeorm/plain-time-column.js +26 -0
  280. package/dist/plain-time/typeorm/plain-time-column.js.map +1 -0
  281. package/dist/plain-time/validators/index.d.ts +6 -0
  282. package/dist/plain-time/validators/index.js +7 -0
  283. package/dist/plain-time/validators/index.js.map +1 -0
  284. package/dist/plain-time/validators/is-plain-time-after.validator.d.ts +5 -0
  285. package/dist/plain-time/validators/is-plain-time-after.validator.js +47 -0
  286. package/dist/plain-time/validators/is-plain-time-after.validator.js.map +1 -0
  287. package/dist/plain-time/validators/is-plain-time-before.validator.d.ts +5 -0
  288. package/dist/plain-time/validators/is-plain-time-before.validator.js +47 -0
  289. package/dist/plain-time/validators/is-plain-time-before.validator.js.map +1 -0
  290. package/dist/plain-time/validators/is-plain-time-between.validator.d.ts +6 -0
  291. package/dist/plain-time/validators/is-plain-time-between.validator.js +52 -0
  292. package/dist/plain-time/validators/is-plain-time-between.validator.js.map +1 -0
  293. package/dist/plain-time/validators/is-plain-time-same-or-after.validator.d.ts +5 -0
  294. package/dist/plain-time/validators/is-plain-time-same-or-after.validator.js +47 -0
  295. package/dist/plain-time/validators/is-plain-time-same-or-after.validator.js.map +1 -0
  296. package/dist/plain-time/validators/is-plain-time-same-or-before.validator.d.ts +5 -0
  297. package/dist/plain-time/validators/is-plain-time-same-or-before.validator.js +47 -0
  298. package/dist/plain-time/validators/is-plain-time-same-or-before.validator.js.map +1 -0
  299. package/dist/plain-time/validators/is-plain-time.validator.d.ts +3 -0
  300. package/dist/plain-time/validators/is-plain-time.validator.js +7 -0
  301. package/dist/plain-time/validators/is-plain-time.validator.js.map +1 -0
  302. package/dist/rrule/frequency.d.ts +12 -0
  303. package/dist/rrule/frequency.js +25 -0
  304. package/dist/rrule/frequency.js.map +1 -0
  305. package/dist/rrule/index.d.ts +16 -0
  306. package/dist/rrule/index.js +7 -0
  307. package/dist/rrule/index.js.map +1 -0
  308. package/dist/rrule/rrule.d.ts +23 -0
  309. package/dist/rrule/rrule.factory.d.ts +20 -0
  310. package/dist/rrule/rrule.factory.js +8 -0
  311. package/dist/rrule/rrule.factory.js.map +1 -0
  312. package/dist/rrule/rrule.js +114 -0
  313. package/dist/rrule/rrule.js.map +1 -0
  314. package/dist/rrule/rrule.once.d.ts +14 -0
  315. package/dist/rrule/rrule.once.js +19 -0
  316. package/dist/rrule/rrule.once.js.map +1 -0
  317. package/dist/rrule/tests/rrule.once.unit.test.d.ts +1 -0
  318. package/dist/rrule/tests/rrule.once.unit.test.js +19 -0
  319. package/dist/rrule/tests/rrule.once.unit.test.js.map +1 -0
  320. package/dist/rrule/tests/rrule.unit.test.d.ts +1 -0
  321. package/dist/rrule/tests/rrule.unit.test.js +202 -0
  322. package/dist/rrule/tests/rrule.unit.test.js.map +1 -0
  323. package/dist/rrule/typeorm/index.d.ts +1 -0
  324. package/dist/rrule/typeorm/index.js +2 -0
  325. package/dist/rrule/typeorm/index.js.map +1 -0
  326. package/dist/rrule/typeorm/rrule-column.d.ts +2 -0
  327. package/dist/rrule/typeorm/rrule-column.js +6 -0
  328. package/dist/rrule/typeorm/rrule-column.js.map +1 -0
  329. package/dist/timestamp/api-property/index.d.ts +1 -0
  330. package/dist/timestamp/api-property/index.js +2 -0
  331. package/dist/timestamp/api-property/index.js.map +1 -0
  332. package/dist/timestamp/api-property/timestamp.api-property.d.ts +2 -0
  333. package/dist/timestamp/api-property/timestamp.api-property.js +12 -0
  334. package/dist/timestamp/api-property/timestamp.api-property.js.map +1 -0
  335. package/dist/timestamp/dayjs-timestamp.d.ts +59 -0
  336. package/dist/timestamp/dayjs-timestamp.js +205 -0
  337. package/dist/timestamp/dayjs-timestamp.js.map +1 -0
  338. package/dist/timestamp/future-infinity.d.ts +48 -0
  339. package/dist/timestamp/future-infinity.js +128 -0
  340. package/dist/timestamp/future-infinity.js.map +1 -0
  341. package/dist/timestamp/index.d.ts +30 -0
  342. package/dist/timestamp/index.js +15 -0
  343. package/dist/timestamp/index.js.map +1 -0
  344. package/dist/timestamp/max.d.ts +2 -0
  345. package/dist/timestamp/max.js +15 -0
  346. package/dist/timestamp/max.js.map +1 -0
  347. package/dist/timestamp/min.d.ts +2 -0
  348. package/dist/timestamp/min.js +15 -0
  349. package/dist/timestamp/min.js.map +1 -0
  350. package/dist/timestamp/past-infinity.d.ts +48 -0
  351. package/dist/timestamp/past-infinity.js +128 -0
  352. package/dist/timestamp/past-infinity.js.map +1 -0
  353. package/dist/timestamp/tests/dayjs-timestamp.unit.test.d.ts +1 -0
  354. package/dist/timestamp/tests/dayjs-timestamp.unit.test.js +18 -0
  355. package/dist/timestamp/tests/dayjs-timestamp.unit.test.js.map +1 -0
  356. package/dist/timestamp/tests/timestamp.factory.unit.test.d.ts +1 -0
  357. package/dist/timestamp/tests/timestamp.factory.unit.test.js +16 -0
  358. package/dist/timestamp/tests/timestamp.factory.unit.test.js.map +1 -0
  359. package/dist/timestamp/timestamp.d.ts +83 -0
  360. package/dist/timestamp/timestamp.factory.d.ts +18 -0
  361. package/dist/timestamp/timestamp.factory.js +36 -0
  362. package/dist/timestamp/timestamp.factory.js.map +1 -0
  363. package/dist/timestamp/timestamp.js +2 -0
  364. package/dist/timestamp/timestamp.js.map +1 -0
  365. package/dist/timestamp/typeorm/index.d.ts +1 -0
  366. package/dist/timestamp/typeorm/index.js +2 -0
  367. package/dist/timestamp/typeorm/index.js.map +1 -0
  368. package/dist/timestamp/typeorm/timestamp.column.d.ts +3 -0
  369. package/dist/timestamp/typeorm/timestamp.column.js +25 -0
  370. package/dist/timestamp/typeorm/timestamp.column.js.map +1 -0
  371. package/dist/timestamp/validators/index.d.ts +1 -0
  372. package/dist/timestamp/validators/index.js +2 -0
  373. package/dist/timestamp/validators/index.js.map +1 -0
  374. package/dist/timestamp/validators/is-timestamp.validator.d.ts +7 -0
  375. package/dist/timestamp/validators/is-timestamp.validator.js +34 -0
  376. package/dist/timestamp/validators/is-timestamp.validator.js.map +1 -0
  377. package/package.json +46 -0
package/README.md ADDED
@@ -0,0 +1,307 @@
1
+ # @wisemen/datewise
2
+
3
+ A comprehensive TypeScript library for working with dates, times, and ranges in a type-safe and immutable way. Built on top of Day.js, it provides specialized types and utilities for temporal operations with strong TypeORM integration.
4
+
5
+ ## Features
6
+
7
+ - **PlainDate**: Date-only type without time or timezone information
8
+ - **PlainTime**: Time-only type (hours, minutes, seconds, milliseconds)
9
+ - **Timestamp**: Date and time with timezone support
10
+ - **DateRange**: Inclusive/exclusive ranges between two dates
11
+ - **DateTimeRange**: Inclusive/exclusive ranges between two timestamps
12
+ - **MultiDateTimeRange**: Multiple non-overlapping datetime ranges
13
+ - **RRule**: Recurring date/time patterns
14
+ - **TypeORM Integration**: Custom column types and query operators
15
+ - **Class Validator Decorators**: Built-in validation decorators
16
+ - **NestJS Support**: DTO builders and API property decorators
17
+ - **Immutable API**: All operations return new instances
18
+
19
+ ## Installation
20
+
21
+ ```bash
22
+ pnpm add @wisemen/datewise
23
+ ```
24
+
25
+ ### Peer Dependencies
26
+
27
+ ```bash
28
+ pnpm add dayjs typeorm class-validator class-transformer @nestjs/swagger
29
+ ```
30
+
31
+ ## Philosophy
32
+
33
+ This package embraces immutability and type safety for temporal operations. Unlike native JavaScript `Date` objects or raw Day.js instances, `datewise` provides:
34
+
35
+ 1. **Separation of Concerns**: Distinct types for dates, times, and timestamps prevent mixing incompatible temporal concepts
36
+ 2. **Explicit Timezone Handling**: Timestamps carry timezone information; PlainDate/PlainTime are timezone-agnostic
37
+ 3. **Range Operations**: First-class support for date and datetime ranges with proper inclusivity handling
38
+ 4. **Database Integration**: Seamless TypeORM integration with custom column types and query operators
39
+ 5. **Infinity Support**: Special handling for past/future infinity dates for unbounded ranges
40
+
41
+ ## Core Types
42
+
43
+ ### PlainDate
44
+
45
+ A date without time or timezone information (e.g., "2025-01-15").
46
+
47
+ ```typescript
48
+ // Create from various inputs
49
+ const date1 = plainDate('2025-01-15')
50
+ const date2 = plainDate(new Date())
51
+ const date3 = plainDate({ year: 2025, month: Month.JANUARY, day: 15 })
52
+
53
+ // Operations (immutable)
54
+ const tomorrow = date1.add(1, 'day')
55
+ const lastMonth = date1.subtract(1, 'month')
56
+ const startOfYear = date1.startOf('year')
57
+
58
+ // Comparisons
59
+ date1.isSame(date2) // boolean
60
+ date1.isAfter(date2) // boolean
61
+ date1.isBefore(date2) // boolean
62
+ date1.isToday() // boolean
63
+
64
+ // Access components
65
+ date1.year() // 2025
66
+ date1.month() // Month enum
67
+ date1.dayOfMonth() // 15
68
+
69
+ // Formatting
70
+ date1.format('YYYY-MM-DD') // "2025-01-15"
71
+ date1.toString() // "2025-01-15"
72
+ ```
73
+
74
+ ### PlainTime
75
+
76
+ Time without date or timezone (e.g., "14:30:00").
77
+
78
+ ```typescript
79
+ // Create from various inputs
80
+ const time1 = plainTime('14:30:00')
81
+ const time2 = plainTime('14:30:00.500') // with milliseconds
82
+ const time3 = plainTime({ hours: 14, minutes: 30, seconds: 0, milliseconds: 0 })
83
+ const time4 = plainTime(new Date()) // extracts time component
84
+
85
+ // Operations
86
+ const later = time1.add(30, 'minutes')
87
+ const earlier = time1.subtract(1, 'hour')
88
+
89
+ // Comparisons
90
+ time1.isSame(time2) // boolean
91
+ time1.isAfter(time2) // boolean
92
+ time1.isBefore(time2) // boolean
93
+
94
+ // Access components (methods, not properties)
95
+ time1.hours() // 14
96
+ time1.minutes() // 30
97
+ time1.seconds() // 0
98
+ time1.milliseconds() // 0
99
+
100
+ // Formatting
101
+ time1.format('HH:mm:ss') // "14:30:00"
102
+ ```
103
+
104
+ ### Timestamp
105
+
106
+ Date and time with timezone support.
107
+
108
+ ```typescript
109
+ // Create
110
+ const now = timestamp()
111
+ const ts1 = timestamp('2025-01-15T14:30:00Z')
112
+ const ts2 = timestamp(new Date())
113
+
114
+ // Operations
115
+ const later = ts1.add(2, 'hours')
116
+ const earlier = ts1.subtract(1, 'day')
117
+
118
+ // Timezone conversion
119
+ const utc = ts1.setTimezone('UTC')
120
+ const local = ts1.setTimezone('Europe/Brussels')
121
+
122
+ // Extract components
123
+ const date = ts1.toPlainDate()
124
+ const time = ts1.toPlainTime()
125
+
126
+ // Comparisons
127
+ ts1.isBefore(ts2) // boolean
128
+ ts1.isAfter(ts2) // boolean
129
+ ts1.isSame(ts2, 'day') // boolean
130
+ ```
131
+
132
+ ### DateRange
133
+
134
+ Inclusive or exclusive range between two dates.
135
+
136
+ ```typescript
137
+ // Create ranges
138
+ const range1 = new DateRange('2025-01-01', '2025-01-31') // [inclusive, inclusive]
139
+ const range2 = new DateRange('2025-01-01', '2025-02-01', '[)') // [inclusive, exclusive)
140
+ const range3 = new DateRange('2025-01-01', '2025-12-31', '()') // (exclusive, exclusive)
141
+
142
+ // Range properties (getters)
143
+ range1.days // number of days
144
+ range1.weeks // number of weeks
145
+ range1.months // number of months
146
+ range1.quarters // number of quarters
147
+ range1.years // number of years
148
+
149
+ // Check containment
150
+ range1.contains('2025-01-15') // true
151
+ range1.contains('2025-02-01') // false
152
+
153
+ // Range operations
154
+ range1.overlaps(range2) // boolean - check if ranges overlap
155
+ range1.overlap(range2) // returns overlapping DateRange (throws if no overlap)
156
+ range1.diff(range2) // returns array of non-overlapping portions
157
+ ```
158
+
159
+ ### DateTimeRange
160
+
161
+ Inclusive or exclusive range between two timestamps.
162
+
163
+ ```typescript
164
+ // Create (default: [inclusive, exclusive))
165
+ const range1 = new DateTimeRange('2025-01-01T00:00:00Z', '2025-01-02T00:00:00Z')
166
+ const range2 = new DateTimeRange('2025-01-01', '2025-01-02', '[]') // fully inclusive
167
+ const range3 = new DateTimeRange('2025-01-01', '2025-01-02', '()') // fully exclusive
168
+
169
+ // Properties (getters)
170
+ range1.years // whole years
171
+ range1.months // whole months
172
+ range1.weeks // whole weeks
173
+ range1.days // whole days
174
+ range1.hours // whole hours
175
+ range1.minutes // whole minutes
176
+ range1.seconds // whole seconds
177
+ range1.milliseconds // whole milliseconds
178
+
179
+ // Operations
180
+ range1.contains(timestamp('2025-01-01T12:00:00Z')) // boolean
181
+ range1.overlaps(range2) // boolean
182
+ range1.overlap(range2) // returns overlapping DateTimeRange (throws if no overlap)
183
+ range1.diff(range2) // returns MultiDateTimeRange of non-overlapping portions
184
+ ```
185
+
186
+ ## TypeORM Integration
187
+
188
+ ### Column Types
189
+
190
+ ```typescript
191
+ @Entity()
192
+ class Event {
193
+ @PlainDateColumn()
194
+ eventDate: PlainDate
195
+
196
+ @PlainTimeColumn()
197
+ startTime: PlainTime
198
+
199
+ @TimestampColumn()
200
+ createdAt: Timestamp
201
+
202
+ @DateRangeColumn()
203
+ validityPeriod: DateRange
204
+ }
205
+ ```
206
+
207
+ ### Query Operators
208
+
209
+ ```typescript
210
+ // Find events overlapping with a date range
211
+ const events = await repository.find({
212
+ where: {
213
+ validityPeriod: overlapsWithDateRange(new DateRange('2025-01-01', '2025-12-31'))
214
+ }
215
+ })
216
+
217
+ // Find events on a specific date
218
+ const todayEvents = await repository.find({
219
+ where: {
220
+ validityPeriod: containsPlainDate(plainDate())
221
+ }
222
+ })
223
+ ```
224
+
225
+ ## Validation
226
+
227
+ ```typescript
228
+ class CreateEventDto {
229
+ @IsPlainDate()
230
+ eventDate: PlainDate
231
+
232
+ @IsPlainTime()
233
+ startTime: PlainTime
234
+
235
+ @IsTimestamp()
236
+ createdAt: Timestamp
237
+
238
+ @IsDateRange()
239
+ validityPeriod: DateRange
240
+ }
241
+ ```
242
+
243
+ ## NestJS Integration
244
+
245
+ ```typescript
246
+ // DTO with ApiProperty decorators
247
+ class EventFilterDto {
248
+ @ApiProperty({type: DateRangeDto})
249
+ @IsDateRange()
250
+ dateRange: DateRangeDto
251
+ }
252
+
253
+ // Command builder for input
254
+ class CreateEventCommand {
255
+ @ApiProperty({type: DateTimeRangeDto})
256
+ @IsDateTimeRange()
257
+ timeRange: DateTimeRangeDto
258
+ }
259
+ ```
260
+
261
+ ## Advanced Features
262
+
263
+ ### Infinity Dates
264
+
265
+ ```typescript
266
+ import { futureInfinityDate, pastInfinityDate } from '@wisemen/datewise'
267
+
268
+ const unboundedRange = new DateRange(pastInfinityDate(), futureInfinityDate())
269
+ unboundedRange.contains(plainDate()) // always true
270
+ ```
271
+
272
+ ### RRule (Recurring Dates)
273
+
274
+ ```typescript
275
+
276
+ const rrule = rrule({
277
+ frequency: Frequency.WEEKLY,
278
+ interval: 2,
279
+ ...
280
+ })
281
+
282
+ // Store in database with TypeORM
283
+ @Entity()
284
+ class RecurringEvent {
285
+ @RRuleColumn()
286
+ schedule: RRule
287
+ }
288
+ ```
289
+
290
+ ## API Reference
291
+
292
+ For detailed API documentation, see the TypeScript interfaces:
293
+ - `PlainDate` - Date-only operations
294
+ - `PlainTime` - Time-only operations
295
+ - `Timestamp` - Full datetime with timezone
296
+ - `DateRange` - Date range operations
297
+ - `DateTimeRange` - Datetime range operations
298
+ - `MultiDateTimeRange` - Multiple ranges
299
+ - `RRule` - Recurring patterns
300
+
301
+ ## License
302
+
303
+ GPL
304
+
305
+ ## Author
306
+
307
+ Wisemen
@@ -0,0 +1,9 @@
1
+ export declare const MILLIS_PER_SECOND = 1000;
2
+ export declare const SECONDS_PER_MINUTE = 60;
3
+ export declare const MINUTES_PER_HOUR = 60;
4
+ export declare const DAYS_PER_WEEK = 7;
5
+ export declare const HOURS_PER_DAY = 24;
6
+ export declare const SECONDS_PER_HOUR: number;
7
+ export declare const MILLIS_PER_HOUR: number;
8
+ export declare const MILLIS_PER_WEEK: number;
9
+ export declare const MILLIS_PER_MINUTE: number;
@@ -0,0 +1,10 @@
1
+ export const MILLIS_PER_SECOND = 1000;
2
+ export const SECONDS_PER_MINUTE = 60;
3
+ export const MINUTES_PER_HOUR = 60;
4
+ export const DAYS_PER_WEEK = 7;
5
+ export const HOURS_PER_DAY = 24;
6
+ export const SECONDS_PER_HOUR = SECONDS_PER_MINUTE * MINUTES_PER_HOUR;
7
+ export const MILLIS_PER_HOUR = MINUTES_PER_HOUR * SECONDS_PER_MINUTE * MILLIS_PER_SECOND;
8
+ export const MILLIS_PER_WEEK = DAYS_PER_WEEK * HOURS_PER_DAY * MILLIS_PER_HOUR;
9
+ export const MILLIS_PER_MINUTE = MILLIS_PER_SECOND * SECONDS_PER_MINUTE;
10
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../lib/common/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAA;AACrC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAA;AACpC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAClC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAA;AAC9B,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAA;AAC/B,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,GAAG,gBAAgB,CAAA;AACrE,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,iBAAiB,CAAA;AACxF,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,GAAG,aAAa,GAAG,eAAe,CAAA;AAC9E,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,GAAG,kBAAkB,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { ApiPropertyOptions } from '@nestjs/swagger';
2
+ export declare enum DatePeriod {
3
+ PAST = "past",
4
+ ACTIVE = "active",
5
+ FUTURE = "future"
6
+ }
7
+ export declare function DatePeriodApiProperty(options?: ApiPropertyOptions): PropertyDecorator;
@@ -0,0 +1,15 @@
1
+ import { ApiProperty } from '@nestjs/swagger';
2
+ export var DatePeriod;
3
+ (function (DatePeriod) {
4
+ DatePeriod["PAST"] = "past";
5
+ DatePeriod["ACTIVE"] = "active";
6
+ DatePeriod["FUTURE"] = "future";
7
+ })(DatePeriod || (DatePeriod = {}));
8
+ export function DatePeriodApiProperty(options) {
9
+ return ApiProperty({
10
+ ...options,
11
+ enum: DatePeriod,
12
+ enumName: 'DatePeriod'
13
+ });
14
+ }
15
+ //# sourceMappingURL=date-period.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-period.enum.js","sourceRoot":"","sources":["../../lib/common/date-period.enum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAsB,MAAM,iBAAiB,CAAA;AAEjE,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;AACnB,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAED,MAAM,UAAU,qBAAqB,CACnC,OAA4B;IAE5B,OAAO,WAAW,CAAC;QACjB,GAAG,OAAO;QACV,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function exhaustiveCheck(_x: never): never;
@@ -0,0 +1,4 @@
1
+ export function exhaustiveCheck(_x) {
2
+ throw new Error('This code should be unreachable');
3
+ }
4
+ //# sourceMappingURL=exhaustive-check.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exhaustive-check.helper.js","sourceRoot":"","sources":["../../lib/common/exhaustive-check.helper.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAE,EAAS;IACxC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;AACpD,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare enum Inclusivity {
2
+ INCLUSIVE = 0,
3
+ EXCLUSIVE = 1
4
+ }
5
+ export type InclusivityString = '[]' | '()' | '[)' | '(]';
6
+ export declare function mapToInclusivity(str: InclusivityString): [Inclusivity, Inclusivity];
7
+ export declare function isInclusive(bound: Inclusivity): bound is Inclusivity.INCLUSIVE;
8
+ export declare function intersect(firstBound: Inclusivity, secondBound: Inclusivity): Inclusivity;
@@ -0,0 +1,23 @@
1
+ export var Inclusivity;
2
+ (function (Inclusivity) {
3
+ Inclusivity[Inclusivity["INCLUSIVE"] = 0] = "INCLUSIVE";
4
+ Inclusivity[Inclusivity["EXCLUSIVE"] = 1] = "EXCLUSIVE";
5
+ })(Inclusivity || (Inclusivity = {}));
6
+ export function mapToInclusivity(str) {
7
+ return [
8
+ str[0] === '[' ? Inclusivity.INCLUSIVE : Inclusivity.EXCLUSIVE,
9
+ str[1] === ']' ? Inclusivity.INCLUSIVE : Inclusivity.EXCLUSIVE
10
+ ];
11
+ }
12
+ export function isInclusive(bound) {
13
+ return bound === Inclusivity.INCLUSIVE;
14
+ }
15
+ export function intersect(firstBound, secondBound) {
16
+ if (isInclusive(firstBound) && isInclusive(secondBound)) {
17
+ return Inclusivity.INCLUSIVE;
18
+ }
19
+ else {
20
+ return Inclusivity.EXCLUSIVE;
21
+ }
22
+ }
23
+ //# sourceMappingURL=inclusivity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inclusivity.js","sourceRoot":"","sources":["../../lib/common/inclusivity.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,uDAAa,CAAA;IACb,uDAAa,CAAA;AACf,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAID,MAAM,UAAU,gBAAgB,CAAE,GAAsB;IACtD,OAAO;QACL,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS;QAC9D,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS;KAC/D,CAAA;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAE,KAAkB;IAC7C,OAAO,KAAK,KAAK,WAAW,CAAC,SAAS,CAAA;AACxC,CAAC;AAED,MAAM,UAAU,SAAS,CAAE,UAAuB,EAAE,WAAwB;IAC1E,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;QACxD,OAAO,WAAW,CAAC,SAAS,CAAA;IAC9B,CAAC;SAAM,CAAC;QACN,OAAO,WAAW,CAAC,SAAS,CAAA;IAC9B,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './month.js';
2
+ export * from './timezone.js';
3
+ export * from './date-period.enum.js';
4
+ export * from './typeorm/index.js';
@@ -0,0 +1,5 @@
1
+ export * from './month.js';
2
+ export * from './timezone.js';
3
+ export * from './date-period.enum.js';
4
+ export * from './typeorm/index.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA"}
@@ -0,0 +1 @@
1
+ export declare function initDayjs(): void;
@@ -0,0 +1,31 @@
1
+ import dayjs from 'dayjs';
2
+ import customParseFormat from 'dayjs/plugin/customParseFormat.js';
3
+ import isoWeek from 'dayjs/plugin/isoWeek.js';
4
+ import MinMax from 'dayjs/plugin/minMax.js';
5
+ import Utc from 'dayjs/plugin/utc.js';
6
+ import TimeZone from 'dayjs/plugin/timezone.js';
7
+ import weekOfYear from 'dayjs/plugin/weekOfYear.js';
8
+ import dayOfYear from 'dayjs/plugin/dayOfYear.js';
9
+ import isToday from 'dayjs/plugin/isToday.js';
10
+ import isTomorrow from 'dayjs/plugin/isTomorrow.js';
11
+ import isYesterday from 'dayjs/plugin/isYesterday.js';
12
+ import isBetween from 'dayjs/plugin/isBetween.js';
13
+ import isSameOrBefore from 'dayjs/plugin/isSameOrBefore.js';
14
+ import isSameOrAfter from 'dayjs/plugin/isSameOrAfter.js';
15
+ export function initDayjs() {
16
+ dayjs.extend(customParseFormat);
17
+ dayjs.extend(isoWeek);
18
+ dayjs.extend(MinMax);
19
+ dayjs.extend(Utc);
20
+ dayjs.extend(TimeZone);
21
+ dayjs.extend(weekOfYear);
22
+ dayjs.extend(dayOfYear);
23
+ dayjs.extend(isToday);
24
+ dayjs.extend(isTomorrow);
25
+ dayjs.extend(isYesterday);
26
+ dayjs.extend(isBetween);
27
+ dayjs.extend(isSameOrBefore);
28
+ dayjs.extend(isSameOrAfter);
29
+ dayjs.tz.setDefault('UTC');
30
+ }
31
+ //# sourceMappingURL=init-dayjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-dayjs.js","sourceRoot":"","sources":["../../lib/common/init-dayjs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,iBAAiB,MAAM,mCAAmC,CAAA;AACjE,OAAO,OAAO,MAAM,yBAAyB,CAAA;AAC7C,OAAO,MAAM,MAAM,wBAAwB,CAAA;AAC3C,OAAO,GAAG,MAAM,qBAAqB,CAAA;AACrC,OAAO,QAAQ,MAAM,0BAA0B,CAAA;AAC/C,OAAO,UAAU,MAAM,4BAA4B,CAAA;AACnD,OAAO,SAAS,MAAM,2BAA2B,CAAA;AACjD,OAAO,OAAO,MAAM,yBAAyB,CAAA;AAC7C,OAAO,UAAU,MAAM,4BAA4B,CAAA;AACnD,OAAO,WAAW,MAAM,6BAA6B,CAAA;AACrD,OAAO,SAAS,MAAM,2BAA2B,CAAA;AACjD,OAAO,cAAc,MAAM,gCAAgC,CAAA;AAC3D,OAAO,aAAa,MAAM,+BAA+B,CAAA;AAEzD,MAAM,UAAU,SAAS;IACvB,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAC/B,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACrB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACpB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACjB,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACtB,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACxB,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACvB,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACrB,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IACxB,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IACzB,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACvB,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IAC5B,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IAC3B,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC"}
@@ -0,0 +1,15 @@
1
+ export declare enum Month {
2
+ JANUARY = 1,
3
+ FEBRUARY = 2,
4
+ MARCH = 3,
5
+ APRIL = 4,
6
+ MAY = 5,
7
+ JUNE = 6,
8
+ JULY = 7,
9
+ AUGUST = 8,
10
+ SEPTEMBER = 9,
11
+ OCTOBER = 10,
12
+ NOVEMBER = 11,
13
+ DECEMBER = 12
14
+ }
15
+ export declare function month(value: number): Month;
@@ -0,0 +1,21 @@
1
+ export var Month;
2
+ (function (Month) {
3
+ Month[Month["JANUARY"] = 1] = "JANUARY";
4
+ Month[Month["FEBRUARY"] = 2] = "FEBRUARY";
5
+ Month[Month["MARCH"] = 3] = "MARCH";
6
+ Month[Month["APRIL"] = 4] = "APRIL";
7
+ Month[Month["MAY"] = 5] = "MAY";
8
+ Month[Month["JUNE"] = 6] = "JUNE";
9
+ Month[Month["JULY"] = 7] = "JULY";
10
+ Month[Month["AUGUST"] = 8] = "AUGUST";
11
+ Month[Month["SEPTEMBER"] = 9] = "SEPTEMBER";
12
+ Month[Month["OCTOBER"] = 10] = "OCTOBER";
13
+ Month[Month["NOVEMBER"] = 11] = "NOVEMBER";
14
+ Month[Month["DECEMBER"] = 12] = "DECEMBER";
15
+ })(Month || (Month = {}));
16
+ export function month(value) {
17
+ if (1 <= value && value <= 12)
18
+ return value;
19
+ throw new Error('Month must be a value between 1 and 12');
20
+ }
21
+ //# sourceMappingURL=month.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"month.js","sourceRoot":"","sources":["../../lib/common/month.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,KAaX;AAbD,WAAY,KAAK;IACf,uCAAW,CAAA;IACX,yCAAY,CAAA;IACZ,mCAAS,CAAA;IACT,mCAAS,CAAA;IACT,+BAAO,CAAA;IACP,iCAAQ,CAAA;IACR,iCAAQ,CAAA;IACR,qCAAU,CAAA;IACV,2CAAa,CAAA;IACb,wCAAY,CAAA;IACZ,0CAAa,CAAA;IACb,0CAAa,CAAA;AACf,CAAC,EAbW,KAAK,KAAL,KAAK,QAahB;AAED,MAAM,UAAU,KAAK,CAAE,KAAa;IAClC,IAAI,CAAC,IAAI,KAAK,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,KAAc,CAAA;IACpD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;AAC3D,CAAC"}