@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
@@ -0,0 +1,323 @@
1
+ import { before, describe, it } from 'node:test';
2
+ import { expect } from 'expect';
3
+ import dayjs from 'dayjs';
4
+ import { PlainTimeImpl } from '../plain-time.js';
5
+ import { initDayjs } from '../../common/init-dayjs.js';
6
+ import { plainTime } from '../plain-time-entry.js';
7
+ import { InvalidPlainTimeString, InvalidAbsoluteMilliseconds } from '../plain-time-error.js';
8
+ describe('PlainTime', () => {
9
+ before(() => {
10
+ initDayjs();
11
+ });
12
+ describe('isValidTimeString', () => {
13
+ it('When sending null, it should return false', () => {
14
+ expect(plainTime.isValidTimeString(null)).toBe(false);
15
+ });
16
+ it('When sending undefined, it should return false', () => {
17
+ expect(plainTime.isValidTimeString(undefined)).toBe(false);
18
+ });
19
+ it('When sending an empty string, it should return false', () => {
20
+ expect(plainTime.isValidTimeString('')).toBe(false);
21
+ });
22
+ it('When sending an invalid time string, it should return false', () => {
23
+ expect(plainTime.isValidTimeString('24:00:01')).toBe(false);
24
+ expect(plainTime.isValidTimeString('00:60:00')).toBe(false);
25
+ expect(plainTime.isValidTimeString('00:00:60')).toBe(false);
26
+ expect(plainTime.isValidTimeString('0:0:0')).toBe(false);
27
+ expect(plainTime.isValidTimeString('1:1:1')).toBe(false);
28
+ expect(plainTime.isValidTimeString('1:1')).toBe(false);
29
+ expect(plainTime.isValidTimeString('25:00')).toBe(false);
30
+ expect(plainTime.isValidTimeString('24:01')).toBe(false);
31
+ expect(plainTime.isValidTimeString('00:60')).toBe(false);
32
+ });
33
+ it('When sending a valid time string, it should return true', () => {
34
+ expect(plainTime.isValidTimeString('24:00:00')).toBe(true);
35
+ expect(plainTime.isValidTimeString('23:59:59')).toBe(true);
36
+ expect(plainTime.isValidTimeString('00:00:00')).toBe(true);
37
+ expect(plainTime.isValidTimeString('10:10:10')).toBe(true);
38
+ expect(plainTime.isValidTimeString('24:00')).toBe(true);
39
+ expect(plainTime.isValidTimeString('00:00')).toBe(true);
40
+ expect(plainTime.isValidTimeString('12:34')).toBe(true);
41
+ });
42
+ });
43
+ describe('new Time()', () => {
44
+ it('for an invalid string, it throws an error', () => {
45
+ expect(() => new PlainTimeImpl('')).toThrow(InvalidPlainTimeString);
46
+ expect(() => new PlainTimeImpl('not_a_time')).toThrow(InvalidPlainTimeString);
47
+ expect(() => new PlainTimeImpl('00:60:00')).toThrow(InvalidPlainTimeString);
48
+ expect(() => new PlainTimeImpl('00:00:60')).toThrow(InvalidPlainTimeString);
49
+ expect(() => new PlainTimeImpl('0:0:0')).toThrow(InvalidPlainTimeString);
50
+ });
51
+ it('for a valid string, the constructed Time object contains the right values', () => {
52
+ const time = new PlainTimeImpl('23:30:00');
53
+ expect(time.hours()).toBe(23);
54
+ expect(time.minutes()).toBe(30);
55
+ expect(time.seconds()).toBe(0);
56
+ });
57
+ it('Throws an error when invalid values are provided', () => {
58
+ expect(() => new PlainTimeImpl(NaN)).toThrow(InvalidAbsoluteMilliseconds);
59
+ expect(() => new PlainTimeImpl(Infinity)).toThrow(InvalidAbsoluteMilliseconds);
60
+ expect(() => new PlainTimeImpl(-Infinity)).toThrow(InvalidAbsoluteMilliseconds);
61
+ expect(() => new PlainTimeImpl(-1)).toThrow(InvalidAbsoluteMilliseconds);
62
+ });
63
+ it('When creating a time with a string, it creates the correct time', () => {
64
+ const time = new PlainTimeImpl('23:59:59');
65
+ expect(time.hours()).toBe(23);
66
+ expect(time.minutes()).toBe(59);
67
+ expect(time.seconds()).toBe(59);
68
+ const midnight = new PlainTimeImpl('00:00:00');
69
+ expect(midnight.hours()).toBe(0);
70
+ expect(midnight.minutes()).toBe(0);
71
+ expect(midnight.seconds()).toBe(0);
72
+ const shortTime = new PlainTimeImpl('23:59');
73
+ expect(shortTime.hours()).toBe(23);
74
+ expect(shortTime.minutes()).toBe(59);
75
+ expect(shortTime.seconds()).toBe(0);
76
+ const shortMidnight = new PlainTimeImpl('00:00');
77
+ expect(shortMidnight.hours()).toBe(0);
78
+ expect(shortMidnight.minutes()).toBe(0);
79
+ expect(shortMidnight.seconds()).toBe(0);
80
+ });
81
+ it('When creating a time with an object, it creates the correct time', () => {
82
+ const time = new PlainTimeImpl({ hours: 23, minutes: 59, seconds: 59, milliseconds: 999 });
83
+ expect(time.hours()).toBe(23);
84
+ expect(time.minutes()).toBe(59);
85
+ expect(time.seconds()).toBe(59);
86
+ const midnight = new PlainTimeImpl({ hours: 0, minutes: 0, seconds: 0, milliseconds: 0 });
87
+ expect(midnight.hours()).toBe(0);
88
+ expect(midnight.minutes()).toBe(0);
89
+ expect(midnight.seconds()).toBe(0);
90
+ });
91
+ it('When creating a time with a date, it creates the correct time', () => {
92
+ const date = dayjs.tz('2024-01-01 10:13:42', 'Europe/Brussels').toDate();
93
+ const time = new PlainTimeImpl(date);
94
+ expect(time.hours()).toBe(10);
95
+ expect(time.minutes()).toBe(13);
96
+ expect(time.seconds()).toBe(42);
97
+ });
98
+ it('When creating a time with absolute milliseconds, it creates the correct time', () => {
99
+ const time = new PlainTimeImpl(86399001);
100
+ expect(time.hours()).toBe(23);
101
+ expect(time.minutes()).toBe(59);
102
+ expect(time.seconds()).toBe(59);
103
+ expect(time.milliseconds()).toBe(1);
104
+ const noon = new PlainTimeImpl(43200000);
105
+ expect(noon.hours()).toBe(12);
106
+ expect(noon.minutes()).toBe(0);
107
+ expect(noon.seconds()).toBe(0);
108
+ expect(noon.milliseconds()).toBe(0);
109
+ const midnight = new PlainTimeImpl(0);
110
+ expect(midnight.hours()).toBe(0);
111
+ expect(midnight.minutes()).toBe(0);
112
+ expect(midnight.seconds()).toBe(0);
113
+ expect(midnight.milliseconds()).toBe(0);
114
+ });
115
+ });
116
+ describe('toString', () => {
117
+ it('When converting a Time to a string, it should return the correct format', () => {
118
+ expect(new PlainTimeImpl({ hours: 23, minutes: 59, seconds: 59, milliseconds: 999 }).toString()).toBe('23:59:59.999');
119
+ expect(new PlainTimeImpl(0).toString()).toBe('00:00:00.000');
120
+ expect(new PlainTimeImpl('05:23:58').toString()).toBe('05:23:58.000');
121
+ });
122
+ });
123
+ describe('isBefore', () => {
124
+ it('When comparing times, it should determine the order correctly', () => {
125
+ const time = new PlainTimeImpl('10:10:10');
126
+ const otherTime = new PlainTimeImpl('20:20:20');
127
+ expect(time.isBefore(time)).toBe(false);
128
+ expect(time.isBefore(otherTime)).toBe(true);
129
+ expect(otherTime.isBefore(time)).toBe(false);
130
+ });
131
+ });
132
+ describe('isBeforeOrEqual', () => {
133
+ it('When comparing times, it should determine the order correctly', () => {
134
+ const time = new PlainTimeImpl('10:10:10');
135
+ const otherTime = new PlainTimeImpl('20:20:20');
136
+ expect(time.isSameOrBefore(time)).toBe(true);
137
+ expect(time.isSameOrBefore(otherTime)).toBe(true);
138
+ expect(otherTime.isSameOrBefore(time)).toBe(false);
139
+ });
140
+ });
141
+ describe('isAfter', () => {
142
+ it('When comparing times, it should determine the order correctly', () => {
143
+ const time = new PlainTimeImpl('10:10:10');
144
+ const otherTime = new PlainTimeImpl('20:20:20');
145
+ expect(time.isAfter(time)).toBe(false);
146
+ expect(time.isAfter(otherTime)).toBe(false);
147
+ expect(otherTime.isAfter(time)).toBe(true);
148
+ });
149
+ });
150
+ describe('isAfterOrEqual', () => {
151
+ it('When comparing times, it should determine the order correctly', () => {
152
+ const time = new PlainTimeImpl('10:10:10');
153
+ const otherTime = new PlainTimeImpl('20:20:20');
154
+ expect(time.isSameOrAfter(time)).toBe(true);
155
+ expect(time.isSameOrAfter(otherTime)).toBe(false);
156
+ expect(otherTime.isSameOrAfter(time)).toBe(true);
157
+ });
158
+ });
159
+ describe('isBetween', () => {
160
+ it('Time between two inclusive boundaries returns true', () => {
161
+ const lowerBound = new PlainTimeImpl('00:00:00');
162
+ const upperBound = new PlainTimeImpl('23:59:59');
163
+ const time = new PlainTimeImpl('12:00:00');
164
+ expect(time.isBetween(lowerBound, upperBound)).toBe(true);
165
+ });
166
+ it('Time same as both inclusive boundaries returns true', () => {
167
+ const lowerBound = new PlainTimeImpl('12:00:00');
168
+ const upperBound = new PlainTimeImpl('12:00:00');
169
+ const time = new PlainTimeImpl('12:00:00');
170
+ expect(time.isBetween(lowerBound, upperBound)).toBe(true);
171
+ });
172
+ it('Time same as lower boundary between two inclusive boundaries returns true', () => {
173
+ const lowerBound = new PlainTimeImpl('00:00:00');
174
+ const upperBound = new PlainTimeImpl('23:59:59');
175
+ const time = new PlainTimeImpl('00:00:00');
176
+ expect(time.isBetween(lowerBound, upperBound)).toBe(true);
177
+ });
178
+ it('Time same as upper boundary between two inclusive boundaries returns true', () => {
179
+ const lowerBound = new PlainTimeImpl('00:00:00');
180
+ const upperBound = new PlainTimeImpl('23:59:59');
181
+ const time = new PlainTimeImpl('23:59:59');
182
+ expect(time.isBetween(lowerBound, upperBound)).toBe(true);
183
+ });
184
+ it('Time before two inclusive boundaries returns false', () => {
185
+ const lowerBound = new PlainTimeImpl('12:00:01');
186
+ const upperBound = new PlainTimeImpl('23:59:59');
187
+ const time = new PlainTimeImpl('12:00:00');
188
+ expect(time.isBetween(lowerBound, upperBound)).toBe(false);
189
+ });
190
+ it('Time after two inclusive boundaries returns false', () => {
191
+ const lowerBound = new PlainTimeImpl('11:00:00');
192
+ const upperBound = new PlainTimeImpl('12:00:00');
193
+ const time = new PlainTimeImpl('12:00:01');
194
+ expect(time.isBetween(lowerBound, upperBound)).toBe(false);
195
+ });
196
+ it('Time between two exclusive boundaries returns true', () => {
197
+ const lowerBound = new PlainTimeImpl('00:00:00');
198
+ const upperBound = new PlainTimeImpl('23:59:59');
199
+ const time = new PlainTimeImpl('12:00:00');
200
+ expect(time.isBetween(lowerBound, upperBound, '()')).toBe(true);
201
+ });
202
+ it('Time same as both exclusive boundaries returns false', () => {
203
+ const lowerBound = new PlainTimeImpl('12:00:00');
204
+ const upperBound = new PlainTimeImpl('12:00:00');
205
+ const time = new PlainTimeImpl('12:00:00');
206
+ expect(time.isBetween(lowerBound, upperBound, '()')).toBe(false);
207
+ });
208
+ it('Time same as lower boundary between two exclusive boundaries returns false', () => {
209
+ const lowerBound = new PlainTimeImpl('00:00:00');
210
+ const upperBound = new PlainTimeImpl('23:59:59');
211
+ const time = new PlainTimeImpl('00:00:00');
212
+ expect(time.isBetween(lowerBound, upperBound, '()')).toBe(false);
213
+ });
214
+ it('Time same as upper boundary between two exclusive boundaries returns false', () => {
215
+ const lowerBound = new PlainTimeImpl('00:00:00');
216
+ const upperBound = new PlainTimeImpl('23:59:59');
217
+ const time = new PlainTimeImpl('23:59:59');
218
+ expect(time.isBetween(lowerBound, upperBound, '()')).toBe(false);
219
+ });
220
+ it('Time before two exclusive boundaries returns false', () => {
221
+ const lowerBound = new PlainTimeImpl('12:00:01');
222
+ const upperBound = new PlainTimeImpl('23:59:59');
223
+ const time = new PlainTimeImpl('12:00:00');
224
+ expect(time.isBetween(lowerBound, upperBound, '()')).toBe(false);
225
+ });
226
+ it('Time after two exclusive boundaries returns false', () => {
227
+ const lowerBound = new PlainTimeImpl('11:00:00');
228
+ const upperBound = new PlainTimeImpl('12:00:00');
229
+ const time = new PlainTimeImpl('12:00:01');
230
+ expect(time.isBetween(lowerBound, upperBound, '()')).toBe(false);
231
+ });
232
+ it('Time between an exclusive lowerbound and inclusive upperbound returns true', () => {
233
+ const lowerBound = new PlainTimeImpl('00:00:00');
234
+ const upperBound = new PlainTimeImpl('23:59:59');
235
+ const time = new PlainTimeImpl('12:00:00');
236
+ expect(time.isBetween(lowerBound, upperBound, '(]')).toBe(true);
237
+ });
238
+ it('Time same as both an exclusive lowerbound and inclusive upperbound returns false', () => {
239
+ const lowerBound = new PlainTimeImpl('12:00:00');
240
+ const upperBound = new PlainTimeImpl('12:00:00');
241
+ const time = new PlainTimeImpl('12:00:00');
242
+ expect(time.isBetween(lowerBound, upperBound, '(]')).toBe(false);
243
+ });
244
+ it('Time same as lower boundary between an exclusive lowerbound and inclusive upperbound returns false', () => {
245
+ const lowerBound = new PlainTimeImpl('00:00:00');
246
+ const upperBound = new PlainTimeImpl('23:59:59');
247
+ const time = new PlainTimeImpl('00:00:00');
248
+ expect(time.isBetween(lowerBound, upperBound, '(]')).toBe(false);
249
+ });
250
+ it('Time same as upper boundary between an exclusive lowerbound and inclusive upperbound returns true', () => {
251
+ const lowerBound = new PlainTimeImpl('00:00:00');
252
+ const upperBound = new PlainTimeImpl('23:59:59');
253
+ const time = new PlainTimeImpl('23:59:59');
254
+ expect(time.isBetween(lowerBound, upperBound, '(]')).toBe(true);
255
+ });
256
+ it('Time before an exclusive lowerbound and inclusive upperbound returns false', () => {
257
+ const lowerBound = new PlainTimeImpl('12:00:01');
258
+ const upperBound = new PlainTimeImpl('23:59:59');
259
+ const time = new PlainTimeImpl('12:00:00');
260
+ expect(time.isBetween(lowerBound, upperBound, '(]')).toBe(false);
261
+ });
262
+ it('Time after an exclusive lowerbound and inclusive upperbound returns false', () => {
263
+ const lowerBound = new PlainTimeImpl('11:00:00');
264
+ const upperBound = new PlainTimeImpl('12:00:00');
265
+ const time = new PlainTimeImpl('12:00:01');
266
+ expect(time.isBetween(lowerBound, upperBound, '(]')).toBe(false);
267
+ });
268
+ it('Time between an inclusive lowerbound and exclusive upperbound returns true', () => {
269
+ const lowerBound = new PlainTimeImpl('00:00:00');
270
+ const upperBound = new PlainTimeImpl('23:59:59');
271
+ const time = new PlainTimeImpl('12:00:00');
272
+ expect(time.isBetween(lowerBound, upperBound, '[)')).toBe(true);
273
+ });
274
+ it('Time same as both an inclusive lowerbound and exclusive upperbound returns false', () => {
275
+ const lowerBound = new PlainTimeImpl('12:00:00');
276
+ const upperBound = new PlainTimeImpl('12:00:00');
277
+ const time = new PlainTimeImpl('12:00:00');
278
+ expect(time.isBetween(lowerBound, upperBound, '[)')).toBe(false);
279
+ });
280
+ it('Time same as lower boundary between an inclusive lowerbound and exclusive upperbound returns true', () => {
281
+ const lowerBound = new PlainTimeImpl('00:00:00');
282
+ const upperBound = new PlainTimeImpl('23:59:59');
283
+ const time = new PlainTimeImpl('00:00:00');
284
+ expect(time.isBetween(lowerBound, upperBound, '[)')).toBe(true);
285
+ });
286
+ it('Time same as upper boundary between an inclusive lowerbound and exclusive upperbound returns false', () => {
287
+ const lowerBound = new PlainTimeImpl('00:00:00');
288
+ const upperBound = new PlainTimeImpl('23:59:59');
289
+ const time = new PlainTimeImpl('23:59:59');
290
+ expect(time.isBetween(lowerBound, upperBound, '[)')).toBe(false);
291
+ });
292
+ it('Time before an inclusive lowerbound and exclusive upperbound returns false', () => {
293
+ const lowerBound = new PlainTimeImpl('12:00:01');
294
+ const upperBound = new PlainTimeImpl('23:59:59');
295
+ const time = new PlainTimeImpl('12:00:00');
296
+ expect(time.isBetween(lowerBound, upperBound, '[)')).toBe(false);
297
+ });
298
+ it('Time after an inclusive lowerbound and exclusive upperbound returns false', () => {
299
+ const lowerBound = new PlainTimeImpl('11:00:00');
300
+ const upperBound = new PlainTimeImpl('12:00:00');
301
+ const time = new PlainTimeImpl('12:00:01');
302
+ expect(time.isBetween(lowerBound, upperBound, '[)')).toBe(false);
303
+ });
304
+ });
305
+ describe('equals', () => {
306
+ it('When comparing times, it should determine the equality correctly', () => {
307
+ const time = new PlainTimeImpl('10:10:10');
308
+ const otherTime = new PlainTimeImpl('20:20:20');
309
+ expect(time.isSame(time)).toBe(true);
310
+ expect(time.isSame(otherTime)).toBe(false);
311
+ expect(otherTime.isSame(time)).toBe(false);
312
+ });
313
+ });
314
+ describe('copy', () => {
315
+ it('Creates a new copy of a time object', () => {
316
+ const time = new PlainTimeImpl('10:10:10');
317
+ const copy = time.copy();
318
+ expect(time).not.toBe(copy);
319
+ expect(time.isSame(copy)).toBe(true);
320
+ });
321
+ });
322
+ });
323
+ //# sourceMappingURL=plain-time.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plain-time.unit.test.js","sourceRoot":"","sources":["../../../lib/plain-time/tests/plain-time.unit.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export type TimeUnit = 'second' | 'seconds' | 's' | 'minute' | 'minutes' | 'm' | 'hour' | 'hours' | 'h';
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=time-unit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time-unit.js","sourceRoot":"","sources":["../../lib/plain-time/time-unit.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export * from './plain-time-column.js';
@@ -0,0 +1,2 @@
1
+ export * from './plain-time-column.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/plain-time/typeorm/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { ColumnOptions } from 'typeorm';
2
+ export type PlainTimeColumnOptions = Omit<ColumnOptions, 'type' | 'transformer'>;
3
+ export declare function PlainTimeColumn(options?: PlainTimeColumnOptions): PropertyDecorator;
@@ -0,0 +1,26 @@
1
+ import { applyDecorators } from '@nestjs/common';
2
+ import { Column } from 'typeorm';
3
+ import { PlainTimeImpl } from '../plain-time.js';
4
+ export function PlainTimeColumn(options) {
5
+ return applyDecorators(Column({ ...options, type: 'time', transformer: TRANSFORMER }));
6
+ }
7
+ class PlainTimeTransformer {
8
+ from(value) {
9
+ if (typeof value === 'string') {
10
+ return new PlainTimeImpl(value);
11
+ }
12
+ else {
13
+ return null;
14
+ }
15
+ }
16
+ to(value) {
17
+ if (value == null) {
18
+ return value;
19
+ }
20
+ else {
21
+ return value.toString();
22
+ }
23
+ }
24
+ }
25
+ const TRANSFORMER = new PlainTimeTransformer();
26
+ //# sourceMappingURL=plain-time-column.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plain-time-column.js","sourceRoot":"","sources":["../../../lib/plain-time/typeorm/plain-time-column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAiB,MAAM,SAAS,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAIhD,MAAM,UAAU,eAAe,CAAE,OAAgC;IAC/D,OAAO,eAAe,CACpB,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAC/D,CAAA;AACH,CAAC;AAED,MAAM,oBAAoB;IACxB,IAAI,CAAE,KAAoB;QACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,CAAA;QACjC,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,EAAE,CAAE,KAA4B;QAC9B,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO,KAAK,CAAA;QACd,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;QACzB,CAAC;IACH,CAAC;CACF;AAED,MAAM,WAAW,GAAG,IAAI,oBAAoB,EAAE,CAAA"}
@@ -0,0 +1,6 @@
1
+ export * from './is-plain-time.validator.js';
2
+ export * from './is-plain-time-after.validator.js';
3
+ export * from './is-plain-time-before.validator.js';
4
+ export * from './is-plain-time-between.validator.js';
5
+ export * from './is-plain-time-same-or-after.validator.js';
6
+ export * from './is-plain-time-same-or-before.validator.js';
@@ -0,0 +1,7 @@
1
+ export * from './is-plain-time.validator.js';
2
+ export * from './is-plain-time-after.validator.js';
3
+ export * from './is-plain-time-before.validator.js';
4
+ export * from './is-plain-time-between.validator.js';
5
+ export * from './is-plain-time-same-or-after.validator.js';
6
+ export * from './is-plain-time-same-or-before.validator.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/plain-time/validators/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAA;AAC5C,cAAc,oCAAoC,CAAA;AAClD,cAAc,qCAAqC,CAAA;AACnD,cAAc,sCAAsC,CAAA;AACpD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,6CAA6C,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ import { PlainTimeInput } from '../plain-time.js';
3
+ type PlainTimeAfterFn = (dto: object) => PlainTimeInput;
4
+ export declare function IsPlainTimeAfter(timeCallback: PlainTimeAfterFn, validationOptions?: ValidationOptions): PropertyDecorator;
5
+ export {};
@@ -0,0 +1,47 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { registerDecorator, ValidatorConstraint } from 'class-validator';
8
+ import { plainTime } from '../plain-time-entry.js';
9
+ export function IsPlainTimeAfter(timeCallback, validationOptions) {
10
+ return function (object, propertyName) {
11
+ registerDecorator({
12
+ name: 'isPlainTimeAfter',
13
+ target: object.constructor,
14
+ propertyName,
15
+ constraints: [timeCallback],
16
+ options: validationOptions,
17
+ validator: IsPlainTimeAfterValidator
18
+ });
19
+ };
20
+ }
21
+ let IsPlainTimeAfterValidator = class IsPlainTimeAfterValidator {
22
+ validate(timeString, args) {
23
+ try {
24
+ const time = plainTime(timeString);
25
+ const target = args.constraints[0](args.object);
26
+ return time.isAfter(target);
27
+ }
28
+ catch {
29
+ return false;
30
+ }
31
+ }
32
+ defaultMessage(args) {
33
+ const input = args.constraints[0](args.object);
34
+ let target;
35
+ try {
36
+ target = plainTime(input).toString();
37
+ }
38
+ catch {
39
+ target = 'INVALID TIME INPUT';
40
+ }
41
+ return `${args.property} must be a plain time string after ${target}`;
42
+ }
43
+ };
44
+ IsPlainTimeAfterValidator = __decorate([
45
+ ValidatorConstraint({ name: 'isPlainTimeAfter', async: false })
46
+ ], IsPlainTimeAfterValidator);
47
+ //# sourceMappingURL=is-plain-time-after.validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-plain-time-after.validator.js","sourceRoot":"","sources":["../../../lib/plain-time/validators/is-plain-time-after.validator.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,iBAAiB,EAA0C,mBAAmB,EAAgC,MAAM,iBAAiB,CAAA;AAE9I,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAIlD,MAAM,UAAU,gBAAgB,CAC9B,YAA8B,EAC9B,iBAAqC;IAErC,OAAO,UAAU,MAAc,EAAE,YAAoB;QACnD,iBAAiB,CAAC;YAChB,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY;YACZ,WAAW,EAAE,CAAC,YAAY,CAAC;YAC3B,OAAO,EAAE,iBAAiB;YAC1B,SAAS,EAAE,yBAAyB;SACrC,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC;AAGD,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAC7B,QAAQ,CAAE,UAAmB,EAAE,IAAyB;QACtD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,SAAS,CAAC,UAA4B,CAAC,CAAA;YACpD,MAAM,MAAM,GAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAErE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,cAAc,CAAE,IAAyB;QACvC,MAAM,KAAK,GAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpE,IAAI,MAAM,CAAA;QAEV,IAAI,CAAC;YACH,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAA;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,oBAAoB,CAAA;QAC/B,CAAC;QAED,OAAO,GAAG,IAAI,CAAC,QAAQ,sCAAsC,MAAM,EAAE,CAAA;IACvE,CAAC;CACF,CAAA;AAxBK,yBAAyB;IAD9B,mBAAmB,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;GAC1D,yBAAyB,CAwB9B"}
@@ -0,0 +1,5 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ import { PlainTimeInput } from '../plain-time.js';
3
+ type PlainTimeBeforeFn = (dto: object) => PlainTimeInput;
4
+ export declare function IsPlainTimeBefore(timeCallback: PlainTimeBeforeFn, validationOptions?: ValidationOptions): PropertyDecorator;
5
+ export {};
@@ -0,0 +1,47 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { registerDecorator, ValidatorConstraint } from 'class-validator';
8
+ import { plainTime } from '../plain-time-entry.js';
9
+ export function IsPlainTimeBefore(timeCallback, validationOptions) {
10
+ return function (object, propertyName) {
11
+ registerDecorator({
12
+ name: 'isPlainTimeBefore',
13
+ target: object.constructor,
14
+ propertyName,
15
+ constraints: [timeCallback],
16
+ options: validationOptions,
17
+ validator: IsPlainTimeBeforeValidator
18
+ });
19
+ };
20
+ }
21
+ let IsPlainTimeBeforeValidator = class IsPlainTimeBeforeValidator {
22
+ validate(timeString, args) {
23
+ try {
24
+ const time = plainTime(timeString);
25
+ const target = args.constraints[0](args.object);
26
+ return time.isBefore(target);
27
+ }
28
+ catch {
29
+ return false;
30
+ }
31
+ }
32
+ defaultMessage(args) {
33
+ const input = args.constraints[0](args.object);
34
+ let target;
35
+ try {
36
+ target = plainTime(input).toString();
37
+ }
38
+ catch {
39
+ target = 'INVALID TIME INPUT';
40
+ }
41
+ return `${args.property} must be a plain time string before ${target}`;
42
+ }
43
+ };
44
+ IsPlainTimeBeforeValidator = __decorate([
45
+ ValidatorConstraint({ name: 'isPlainTimeBefore', async: false })
46
+ ], IsPlainTimeBeforeValidator);
47
+ //# sourceMappingURL=is-plain-time-before.validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-plain-time-before.validator.js","sourceRoot":"","sources":["../../../lib/plain-time/validators/is-plain-time-before.validator.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,iBAAiB,EAA0C,mBAAmB,EAAgC,MAAM,iBAAiB,CAAA;AAE9I,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAIlD,MAAM,UAAU,iBAAiB,CAC/B,YAA+B,EAC/B,iBAAqC;IAErC,OAAO,UAAU,MAAc,EAAE,YAAoB;QACnD,iBAAiB,CAAC;YAChB,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY;YACZ,WAAW,EAAE,CAAC,YAAY,CAAC;YAC3B,OAAO,EAAE,iBAAiB;YAC1B,SAAS,EAAE,0BAA0B;SACtC,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC;AAGD,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAC9B,QAAQ,CAAE,UAAmB,EAAE,IAAyB;QACtD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,SAAS,CAAC,UAA4B,CAAC,CAAA;YACpD,MAAM,MAAM,GAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAEtE,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,cAAc,CAAE,IAAyB;QACvC,MAAM,KAAK,GAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACrE,IAAI,MAAM,CAAA;QAEV,IAAI,CAAC;YACH,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAA;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,oBAAoB,CAAA;QAC/B,CAAC;QAED,OAAO,GAAG,IAAI,CAAC,QAAQ,uCAAuC,MAAM,EAAE,CAAA;IACxE,CAAC;CACF,CAAA;AAxBK,0BAA0B;IAD/B,mBAAmB,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;GAC3D,0BAA0B,CAwB/B"}
@@ -0,0 +1,6 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ import { PlainTimeInput } from '../plain-time.js';
3
+ import { InclusivityString } from '../../common/inclusivity.js';
4
+ type PlainTimeBetweenFn = (dto: object) => [PlainTimeInput, PlainTimeInput];
5
+ export declare function IsPlainTimeBetween(timeCallback: PlainTimeBetweenFn, inclusivity?: InclusivityString, validationOptions?: ValidationOptions): PropertyDecorator;
6
+ export {};
@@ -0,0 +1,52 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { registerDecorator, ValidatorConstraint } from 'class-validator';
8
+ import { plainTime } from '../plain-time-entry.js';
9
+ export function IsPlainTimeBetween(timeCallback, inclusivity, validationOptions) {
10
+ return function (object, propertyName) {
11
+ registerDecorator({
12
+ name: 'isPlainTimeBetween',
13
+ target: object.constructor,
14
+ propertyName,
15
+ constraints: [timeCallback, inclusivity],
16
+ options: validationOptions,
17
+ validator: IsPlainTimeBetweenValidator
18
+ });
19
+ };
20
+ }
21
+ let IsPlainTimeBetweenValidator = class IsPlainTimeBetweenValidator {
22
+ validate(timeString, args) {
23
+ try {
24
+ const time = plainTime(timeString);
25
+ const [lowerBound, upperBound] = args.constraints[0](args.object);
26
+ const inclusivity = args.constraints[1];
27
+ return time.isBetween(lowerBound, upperBound, inclusivity);
28
+ }
29
+ catch {
30
+ return false;
31
+ }
32
+ }
33
+ defaultMessage(args) {
34
+ const [lowerBound, upperBound] = args.constraints[0](args.object);
35
+ let lower;
36
+ let upper;
37
+ try {
38
+ lower = plainTime(lowerBound).toString();
39
+ upper = plainTime(upperBound).toString();
40
+ }
41
+ catch {
42
+ lower ??= 'INVALID TIME INPUT';
43
+ upper ??= 'INVALID TIME INPUT';
44
+ }
45
+ const [lowerIncl, upperIncl] = args.constraints[1] ?? '[]';
46
+ return `${args.property} must be a plain time string between ${lowerIncl}${lower},${upper}${upperIncl}`;
47
+ }
48
+ };
49
+ IsPlainTimeBetweenValidator = __decorate([
50
+ ValidatorConstraint({ name: 'isPlainTimeBetween', async: false })
51
+ ], IsPlainTimeBetweenValidator);
52
+ //# sourceMappingURL=is-plain-time-between.validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-plain-time-between.validator.js","sourceRoot":"","sources":["../../../lib/plain-time/validators/is-plain-time-between.validator.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,iBAAiB,EAA0C,mBAAmB,EAAgC,MAAM,iBAAiB,CAAA;AAE9I,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAKlD,MAAM,UAAU,kBAAkB,CAChC,YAAgC,EAChC,WAA+B,EAC/B,iBAAqC;IAErC,OAAO,UAAU,MAAc,EAAE,YAAoB;QACnD,iBAAiB,CAAC;YAChB,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY;YACZ,WAAW,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;YACxC,OAAO,EAAE,iBAAiB;YAC1B,SAAS,EAAE,2BAA2B;SACvC,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC;AAGD,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IAC/B,QAAQ,CAAE,UAAmB,EAAE,IAAyB;QACtD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,SAAS,CAAC,UAA4B,CAAC,CAAA;YACpD,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACzF,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAkC,CAAA;YAExE,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,cAAc,CAAE,IAAyB;QACvC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACzF,IAAI,KAAK,CAAA;QACT,IAAI,KAAK,CAAA;QAET,IAAI,CAAC;YACH,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAA;YACxC,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAA;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,KAAK,oBAAoB,CAAA;YAC9B,KAAK,KAAK,oBAAoB,CAAA;QAChC,CAAC;QAED,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAsB,IAAI,IAAI,CAAA;QAE/E,OAAO,GAAG,IAAI,CAAC,QAAQ,wCAAwC,SAAS,GAAG,KAAK,IAAI,KAAK,GAAG,SAAS,EAAE,CAAA;IACzG,CAAC;CACF,CAAA;AA9BK,2BAA2B;IADhC,mBAAmB,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;GAC5D,2BAA2B,CA8BhC"}
@@ -0,0 +1,5 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ import { PlainTimeInput } from '../plain-time.js';
3
+ type PlainTimeSameOrAfterFn = (dto: object) => PlainTimeInput;
4
+ export declare function IsPlainTimeSameOrAfter(timeCallback: PlainTimeSameOrAfterFn, validationOptions?: ValidationOptions): PropertyDecorator;
5
+ export {};