@warlock.js/seal 4.0.171 → 4.1.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 (1226) hide show
  1. package/cjs/index.cjs +8900 -0
  2. package/cjs/index.cjs.map +1 -0
  3. package/esm/config.d.mts +47 -0
  4. package/esm/config.d.mts.map +1 -0
  5. package/esm/config.mjs +40 -0
  6. package/esm/config.mjs.map +1 -0
  7. package/esm/factory/index.d.mts +2 -0
  8. package/esm/factory/index.mjs +4 -0
  9. package/esm/factory/validate.d.mts +16 -0
  10. package/esm/factory/validate.d.mts.map +1 -0
  11. package/esm/factory/validate.mjs +29 -0
  12. package/esm/factory/validate.mjs.map +1 -0
  13. package/esm/factory/validators.d.mts +75 -0
  14. package/esm/factory/validators.d.mts.map +1 -0
  15. package/esm/factory/validators.mjs +132 -0
  16. package/esm/factory/validators.mjs.map +1 -0
  17. package/esm/helpers/date-helpers.d.mts +19 -0
  18. package/esm/helpers/date-helpers.d.mts.map +1 -0
  19. package/esm/helpers/date-helpers.mjs +24 -0
  20. package/esm/helpers/date-helpers.mjs.map +1 -0
  21. package/esm/helpers/file.utils.d.mts +12 -0
  22. package/esm/helpers/file.utils.d.mts.map +1 -0
  23. package/esm/helpers/file.utils.mjs +33 -0
  24. package/esm/helpers/file.utils.mjs.map +1 -0
  25. package/esm/helpers/get-field-value.d.mts +42 -0
  26. package/esm/helpers/get-field-value.d.mts.map +1 -0
  27. package/esm/helpers/get-field-value.mjs +45 -0
  28. package/esm/helpers/get-field-value.mjs.map +1 -0
  29. package/esm/helpers/index.mjs +7 -0
  30. package/esm/helpers/is-empty-value.mjs +10 -0
  31. package/esm/helpers/is-empty-value.mjs.map +1 -0
  32. package/esm/helpers/path-helpers.d.mts +8 -0
  33. package/esm/helpers/path-helpers.d.mts.map +1 -0
  34. package/esm/helpers/path-helpers.mjs +12 -0
  35. package/esm/helpers/path-helpers.mjs.map +1 -0
  36. package/esm/helpers/validation-helpers.d.mts +36 -0
  37. package/esm/helpers/validation-helpers.d.mts.map +1 -0
  38. package/esm/helpers/validation-helpers.mjs +72 -0
  39. package/esm/helpers/validation-helpers.mjs.map +1 -0
  40. package/esm/index.d.mts +96 -0
  41. package/esm/index.mjs +92 -0
  42. package/esm/mutators/array-mutators.d.mts +16 -0
  43. package/esm/mutators/array-mutators.d.mts.map +1 -0
  44. package/esm/mutators/array-mutators.mjs +40 -0
  45. package/esm/mutators/array-mutators.mjs.map +1 -0
  46. package/esm/mutators/date-mutators.d.mts +43 -0
  47. package/esm/mutators/date-mutators.d.mts.map +1 -0
  48. package/esm/mutators/date-mutators.mjs +113 -0
  49. package/esm/mutators/date-mutators.mjs.map +1 -0
  50. package/esm/mutators/index.mjs +8 -0
  51. package/esm/mutators/number-mutators.d.mts +26 -0
  52. package/esm/mutators/number-mutators.d.mts.map +1 -0
  53. package/esm/mutators/number-mutators.mjs +53 -0
  54. package/esm/mutators/number-mutators.mjs.map +1 -0
  55. package/esm/mutators/object-mutators.d.mts +12 -0
  56. package/esm/mutators/object-mutators.d.mts.map +1 -0
  57. package/esm/mutators/object-mutators.mjs +37 -0
  58. package/esm/mutators/object-mutators.mjs.map +1 -0
  59. package/esm/mutators/scalar-mutators.d.mts +7 -0
  60. package/esm/mutators/scalar-mutators.d.mts.map +1 -0
  61. package/esm/mutators/scalar-mutators.mjs +9 -0
  62. package/esm/mutators/scalar-mutators.mjs.map +1 -0
  63. package/esm/mutators/string-mutators.d.mts +76 -0
  64. package/esm/mutators/string-mutators.d.mts.map +1 -0
  65. package/esm/mutators/string-mutators.mjs +169 -0
  66. package/esm/mutators/string-mutators.mjs.map +1 -0
  67. package/esm/plugins/plugin-system.d.mts +71 -0
  68. package/esm/plugins/plugin-system.d.mts.map +1 -0
  69. package/esm/plugins/plugin-system.mjs +64 -0
  70. package/esm/plugins/plugin-system.mjs.map +1 -0
  71. package/esm/rules/array/array-rules.d.mts +16 -0
  72. package/esm/rules/array/array-rules.d.mts.map +1 -0
  73. package/esm/rules/array/array-rules.mjs +41 -0
  74. package/esm/rules/array/array-rules.mjs.map +1 -0
  75. package/esm/rules/array/index.mjs +3 -0
  76. package/esm/rules/color/color-rules.d.mts +34 -0
  77. package/esm/rules/color/color-rules.d.mts.map +1 -0
  78. package/esm/rules/color/color-rules.mjs +104 -0
  79. package/esm/rules/color/color-rules.mjs.map +1 -0
  80. package/esm/rules/color/index.mjs +3 -0
  81. package/esm/rules/common/enum.d.mts +30 -0
  82. package/esm/rules/common/enum.d.mts.map +1 -0
  83. package/esm/rules/common/enum.mjs +77 -0
  84. package/esm/rules/common/enum.mjs.map +1 -0
  85. package/esm/rules/common/equals-field-rules.d.mts +22 -0
  86. package/esm/rules/common/equals-field-rules.d.mts.map +1 -0
  87. package/esm/rules/common/equals-field-rules.mjs +42 -0
  88. package/esm/rules/common/equals-field-rules.mjs.map +1 -0
  89. package/esm/rules/common/index.mjs +8 -0
  90. package/esm/rules/common/instanceof.d.mts +16 -0
  91. package/esm/rules/common/instanceof.d.mts.map +1 -0
  92. package/esm/rules/common/instanceof.mjs +23 -0
  93. package/esm/rules/common/instanceof.mjs.map +1 -0
  94. package/esm/rules/common/literal.d.mts +16 -0
  95. package/esm/rules/common/literal.d.mts.map +1 -0
  96. package/esm/rules/common/literal.mjs +29 -0
  97. package/esm/rules/common/literal.mjs.map +1 -0
  98. package/esm/rules/common/type-rules.d.mts +42 -0
  99. package/esm/rules/common/type-rules.d.mts.map +1 -0
  100. package/esm/rules/common/type-rules.mjs +112 -0
  101. package/esm/rules/common/type-rules.mjs.map +1 -0
  102. package/esm/rules/common/unknown-key.d.mts +14 -0
  103. package/esm/rules/common/unknown-key.d.mts.map +1 -0
  104. package/esm/rules/common/unknown-key.mjs +25 -0
  105. package/esm/rules/common/unknown-key.mjs.map +1 -0
  106. package/esm/rules/conditional/forbidden-if-rules.d.mts +58 -0
  107. package/esm/rules/conditional/forbidden-if-rules.d.mts.map +1 -0
  108. package/esm/rules/conditional/forbidden-if-rules.mjs +116 -0
  109. package/esm/rules/conditional/forbidden-if-rules.mjs.map +1 -0
  110. package/esm/rules/conditional/index.mjs +12 -0
  111. package/esm/rules/conditional/present-if-rules.d.mts +49 -0
  112. package/esm/rules/conditional/present-if-rules.d.mts.map +1 -0
  113. package/esm/rules/conditional/present-if-rules.mjs +97 -0
  114. package/esm/rules/conditional/present-if-rules.mjs.map +1 -0
  115. package/esm/rules/conditional/present-unless-rules.d.mts +15 -0
  116. package/esm/rules/conditional/present-unless-rules.d.mts.map +1 -0
  117. package/esm/rules/conditional/present-unless-rules.mjs +30 -0
  118. package/esm/rules/conditional/present-unless-rules.mjs.map +1 -0
  119. package/esm/rules/conditional/present-with-rules.d.mts +30 -0
  120. package/esm/rules/conditional/present-with-rules.d.mts.map +1 -0
  121. package/esm/rules/conditional/present-with-rules.mjs +75 -0
  122. package/esm/rules/conditional/present-with-rules.mjs.map +1 -0
  123. package/esm/rules/conditional/present-without-rules.d.mts +30 -0
  124. package/esm/rules/conditional/present-without-rules.d.mts.map +1 -0
  125. package/esm/rules/conditional/present-without-rules.mjs +75 -0
  126. package/esm/rules/conditional/present-without-rules.mjs.map +1 -0
  127. package/esm/rules/conditional/required-if-rules.d.mts +81 -0
  128. package/esm/rules/conditional/required-if-rules.d.mts.map +1 -0
  129. package/esm/rules/conditional/required-if-rules.mjs +203 -0
  130. package/esm/rules/conditional/required-if-rules.mjs.map +1 -0
  131. package/esm/rules/conditional/required-unless-rules.d.mts +15 -0
  132. package/esm/rules/conditional/required-unless-rules.d.mts.map +1 -0
  133. package/esm/rules/conditional/required-unless-rules.mjs +31 -0
  134. package/esm/rules/conditional/required-unless-rules.mjs.map +1 -0
  135. package/esm/rules/conditional/required-when-rule.d.mts +23 -0
  136. package/esm/rules/conditional/required-when-rule.d.mts.map +1 -0
  137. package/esm/rules/conditional/required-when-rule.mjs +32 -0
  138. package/esm/rules/conditional/required-when-rule.mjs.map +1 -0
  139. package/esm/rules/conditional/required-with-rules.d.mts +30 -0
  140. package/esm/rules/conditional/required-with-rules.d.mts.map +1 -0
  141. package/esm/rules/conditional/required-with-rules.mjs +66 -0
  142. package/esm/rules/conditional/required-with-rules.mjs.map +1 -0
  143. package/esm/rules/conditional/required-without-rules.d.mts +30 -0
  144. package/esm/rules/conditional/required-without-rules.d.mts.map +1 -0
  145. package/esm/rules/conditional/required-without-rules.mjs +66 -0
  146. package/esm/rules/conditional/required-without-rules.mjs.map +1 -0
  147. package/esm/rules/core/equal.d.mts +12 -0
  148. package/esm/rules/core/equal.d.mts.map +1 -0
  149. package/esm/rules/core/equal.mjs +22 -0
  150. package/esm/rules/core/equal.mjs.map +1 -0
  151. package/esm/rules/core/forbidden.d.mts +10 -0
  152. package/esm/rules/core/forbidden.d.mts.map +1 -0
  153. package/esm/rules/core/forbidden.mjs +20 -0
  154. package/esm/rules/core/forbidden.mjs.map +1 -0
  155. package/esm/rules/core/index.mjs +7 -0
  156. package/esm/rules/core/required.d.mts +15 -0
  157. package/esm/rules/core/required.d.mts.map +1 -0
  158. package/esm/rules/core/required.mjs +36 -0
  159. package/esm/rules/core/required.mjs.map +1 -0
  160. package/esm/rules/core/union.d.mts +13 -0
  161. package/esm/rules/core/union.d.mts.map +1 -0
  162. package/esm/rules/core/union.mjs +30 -0
  163. package/esm/rules/core/union.mjs.map +1 -0
  164. package/esm/rules/core/when.d.mts +11 -0
  165. package/esm/rules/core/when.d.mts.map +1 -0
  166. package/esm/rules/core/when.mjs +36 -0
  167. package/esm/rules/core/when.mjs.map +1 -0
  168. package/esm/rules/date/date-comparison-rules.d.mts +29 -0
  169. package/esm/rules/date/date-comparison-rules.d.mts.map +1 -0
  170. package/esm/rules/date/date-comparison-rules.mjs +78 -0
  171. package/esm/rules/date/date-comparison-rules.mjs.map +1 -0
  172. package/esm/rules/date/date-day-rules.d.mts +25 -0
  173. package/esm/rules/date/date-day-rules.d.mts.map +1 -0
  174. package/esm/rules/date/date-day-rules.mjs +61 -0
  175. package/esm/rules/date/date-day-rules.mjs.map +1 -0
  176. package/esm/rules/date/date-field-comparison-rules.d.mts +32 -0
  177. package/esm/rules/date/date-field-comparison-rules.d.mts.map +1 -0
  178. package/esm/rules/date/date-field-comparison-rules.mjs +81 -0
  179. package/esm/rules/date/date-field-comparison-rules.mjs.map +1 -0
  180. package/esm/rules/date/date-period-rules.d.mts +127 -0
  181. package/esm/rules/date/date-period-rules.d.mts.map +1 -0
  182. package/esm/rules/date/date-period-rules.mjs +398 -0
  183. package/esm/rules/date/date-period-rules.mjs.map +1 -0
  184. package/esm/rules/date/date-relative-rules.d.mts +24 -0
  185. package/esm/rules/date/date-relative-rules.d.mts.map +1 -0
  186. package/esm/rules/date/date-relative-rules.mjs +55 -0
  187. package/esm/rules/date/date-relative-rules.mjs.map +1 -0
  188. package/esm/rules/date/date-special-rules.d.mts +24 -0
  189. package/esm/rules/date/date-special-rules.d.mts.map +1 -0
  190. package/esm/rules/date/date-special-rules.mjs +58 -0
  191. package/esm/rules/date/date-special-rules.mjs.map +1 -0
  192. package/esm/rules/date/date.d.mts +97 -0
  193. package/esm/rules/date/date.d.mts.map +1 -0
  194. package/esm/rules/date/date.mjs +234 -0
  195. package/esm/rules/date/date.mjs.map +1 -0
  196. package/esm/rules/date/index.mjs +9 -0
  197. package/esm/rules/file/dimensions.d.mts +30 -0
  198. package/esm/rules/file/dimensions.d.mts.map +1 -0
  199. package/esm/rules/file/dimensions.mjs +56 -0
  200. package/esm/rules/file/dimensions.mjs.map +1 -0
  201. package/esm/rules/file/file-size.d.mts +18 -0
  202. package/esm/rules/file/file-size.d.mts.map +1 -0
  203. package/esm/rules/file/file-size.mjs +33 -0
  204. package/esm/rules/file/file-size.mjs.map +1 -0
  205. package/esm/rules/file/index.mjs +4 -0
  206. package/esm/rules/index.mjs +57 -0
  207. package/esm/rules/length/index.mjs +3 -0
  208. package/esm/rules/length/length-rules.d.mts +53 -0
  209. package/esm/rules/length/length-rules.d.mts.map +1 -0
  210. package/esm/rules/length/length-rules.mjs +98 -0
  211. package/esm/rules/length/length-rules.mjs.map +1 -0
  212. package/esm/rules/number/index.mjs +3 -0
  213. package/esm/rules/number/number-rules.d.mts +69 -0
  214. package/esm/rules/number/number-rules.d.mts.map +1 -0
  215. package/esm/rules/number/number-rules.mjs +196 -0
  216. package/esm/rules/number/number-rules.mjs.map +1 -0
  217. package/esm/rules/scalar/accepted-rule.mjs +116 -0
  218. package/esm/rules/scalar/accepted-rule.mjs.map +1 -0
  219. package/esm/rules/scalar/declined-rule.mjs +116 -0
  220. package/esm/rules/scalar/declined-rule.mjs.map +1 -0
  221. package/esm/rules/scalar/index.mjs +4 -0
  222. package/esm/rules/string/alpha.d.mts +18 -0
  223. package/esm/rules/string/alpha.d.mts.map +1 -0
  224. package/esm/rules/string/alpha.mjs +41 -0
  225. package/esm/rules/string/alpha.mjs.map +1 -0
  226. package/esm/rules/string/credit-card.d.mts +10 -0
  227. package/esm/rules/string/credit-card.d.mts.map +1 -0
  228. package/esm/rules/string/credit-card.mjs +32 -0
  229. package/esm/rules/string/credit-card.mjs.map +1 -0
  230. package/esm/rules/string/email.d.mts +10 -0
  231. package/esm/rules/string/email.d.mts.map +1 -0
  232. package/esm/rules/string/email.mjs +20 -0
  233. package/esm/rules/string/email.mjs.map +1 -0
  234. package/esm/rules/string/id-formats.d.mts +54 -0
  235. package/esm/rules/string/id-formats.d.mts.map +1 -0
  236. package/esm/rules/string/id-formats.mjs +104 -0
  237. package/esm/rules/string/id-formats.mjs.map +1 -0
  238. package/esm/rules/string/index.mjs +13 -0
  239. package/esm/rules/string/ip.d.mts +18 -0
  240. package/esm/rules/string/ip.d.mts.map +1 -0
  241. package/esm/rules/string/ip.mjs +42 -0
  242. package/esm/rules/string/ip.mjs.map +1 -0
  243. package/esm/rules/string/matches.d.mts +12 -0
  244. package/esm/rules/string/matches.d.mts.map +1 -0
  245. package/esm/rules/string/matches.mjs +21 -0
  246. package/esm/rules/string/matches.mjs.map +1 -0
  247. package/esm/rules/string/pattern.d.mts +12 -0
  248. package/esm/rules/string/pattern.d.mts.map +1 -0
  249. package/esm/rules/string/pattern.mjs +20 -0
  250. package/esm/rules/string/pattern.mjs.map +1 -0
  251. package/esm/rules/string/string-comparison.d.mts +30 -0
  252. package/esm/rules/string/string-comparison.d.mts.map +1 -0
  253. package/esm/rules/string/string-comparison.mjs +56 -0
  254. package/esm/rules/string/string-comparison.mjs.map +1 -0
  255. package/esm/rules/string/strong-password-rule.d.mts +18 -0
  256. package/esm/rules/string/strong-password-rule.d.mts.map +1 -0
  257. package/esm/rules/string/strong-password-rule.mjs +31 -0
  258. package/esm/rules/string/strong-password-rule.mjs.map +1 -0
  259. package/esm/rules/string/url.d.mts +10 -0
  260. package/esm/rules/string/url.d.mts.map +1 -0
  261. package/esm/rules/string/url.mjs +23 -0
  262. package/esm/rules/string/url.mjs.map +1 -0
  263. package/esm/rules/string/without-whitespace.d.mts +10 -0
  264. package/esm/rules/string/without-whitespace.d.mts.map +1 -0
  265. package/esm/rules/string/without-whitespace.mjs +19 -0
  266. package/esm/rules/string/without-whitespace.mjs.map +1 -0
  267. package/esm/standard-schema/json-schema.d.mts +65 -0
  268. package/esm/standard-schema/json-schema.d.mts.map +1 -0
  269. package/esm/standard-schema/json-schema.mjs +81 -0
  270. package/esm/standard-schema/json-schema.mjs.map +1 -0
  271. package/esm/standard-schema/map-result.d.mts +22 -0
  272. package/esm/standard-schema/map-result.d.mts.map +1 -0
  273. package/esm/standard-schema/map-result.mjs +26 -0
  274. package/esm/standard-schema/map-result.mjs.map +1 -0
  275. package/esm/standard-schema/types.d.mts +96 -0
  276. package/esm/standard-schema/types.d.mts.map +1 -0
  277. package/esm/types/conditional-types.d.mts +15 -0
  278. package/esm/types/conditional-types.d.mts.map +1 -0
  279. package/esm/types/context-types.d.mts +41 -0
  280. package/esm/types/context-types.d.mts.map +1 -0
  281. package/esm/types/data-transformer-types.d.mts +29 -0
  282. package/esm/types/data-transformer-types.d.mts.map +1 -0
  283. package/esm/types/date-types.d.mts +12 -0
  284. package/esm/types/date-types.d.mts.map +1 -0
  285. package/esm/types/date-types.mjs +17 -0
  286. package/esm/types/date-types.mjs.map +1 -0
  287. package/esm/types/file.types.d.mts +8 -0
  288. package/esm/types/file.types.d.mts.map +1 -0
  289. package/esm/types/inference-types.d.mts +178 -0
  290. package/esm/types/inference-types.d.mts.map +1 -0
  291. package/esm/types/mutator-types.d.mts +27 -0
  292. package/esm/types/mutator-types.d.mts.map +1 -0
  293. package/esm/types/result-types.d.mts +16 -0
  294. package/esm/types/result-types.d.mts.map +1 -0
  295. package/esm/types/rule-types.d.mts +52 -0
  296. package/esm/types/rule-types.d.mts.map +1 -0
  297. package/esm/types/schema-types.d.mts +10 -0
  298. package/esm/types/schema-types.d.mts.map +1 -0
  299. package/esm/validators/any-validator.d.mts +33 -0
  300. package/esm/validators/any-validator.d.mts.map +1 -0
  301. package/esm/validators/any-validator.mjs +35 -0
  302. package/esm/validators/any-validator.mjs.map +1 -0
  303. package/esm/validators/array-validator.d.mts +82 -0
  304. package/esm/validators/array-validator.d.mts.map +1 -0
  305. package/esm/validators/array-validator.mjs +176 -0
  306. package/esm/validators/array-validator.mjs.map +1 -0
  307. package/esm/validators/base-validator.d.mts +491 -0
  308. package/esm/validators/base-validator.d.mts.map +1 -0
  309. package/esm/validators/base-validator.mjs +656 -0
  310. package/esm/validators/base-validator.mjs.map +1 -0
  311. package/esm/validators/boolean-validator.d.mts +71 -0
  312. package/esm/validators/boolean-validator.d.mts.map +1 -0
  313. package/esm/validators/boolean-validator.mjs +126 -0
  314. package/esm/validators/boolean-validator.mjs.map +1 -0
  315. package/esm/validators/computed-validator.d.mts +80 -0
  316. package/esm/validators/computed-validator.d.mts.map +1 -0
  317. package/esm/validators/computed-validator.mjs +116 -0
  318. package/esm/validators/computed-validator.mjs.map +1 -0
  319. package/esm/validators/date-validator.d.mts +336 -0
  320. package/esm/validators/date-validator.d.mts.map +1 -0
  321. package/esm/validators/date-validator.mjs +637 -0
  322. package/esm/validators/date-validator.mjs.map +1 -0
  323. package/esm/validators/discriminated-union-validator.d.mts +67 -0
  324. package/esm/validators/discriminated-union-validator.d.mts.map +1 -0
  325. package/esm/validators/discriminated-union-validator.mjs +125 -0
  326. package/esm/validators/discriminated-union-validator.mjs.map +1 -0
  327. package/esm/validators/float-validator.d.mts +12 -0
  328. package/esm/validators/float-validator.d.mts.map +1 -0
  329. package/esm/validators/float-validator.mjs +18 -0
  330. package/esm/validators/float-validator.mjs.map +1 -0
  331. package/esm/validators/index.d.mts +22 -0
  332. package/esm/validators/index.mjs +28 -0
  333. package/esm/validators/instanceof-validator.d.mts +48 -0
  334. package/esm/validators/instanceof-validator.d.mts.map +1 -0
  335. package/esm/validators/instanceof-validator.mjs +63 -0
  336. package/esm/validators/instanceof-validator.mjs.map +1 -0
  337. package/esm/validators/int-validator.d.mts +23 -0
  338. package/esm/validators/int-validator.d.mts.map +1 -0
  339. package/esm/validators/int-validator.mjs +30 -0
  340. package/esm/validators/int-validator.mjs.map +1 -0
  341. package/esm/validators/lazy-validator.d.mts +70 -0
  342. package/esm/validators/lazy-validator.d.mts.map +1 -0
  343. package/esm/validators/lazy-validator.mjs +85 -0
  344. package/esm/validators/lazy-validator.mjs.map +1 -0
  345. package/esm/validators/literal-validator.d.mts +52 -0
  346. package/esm/validators/literal-validator.d.mts.map +1 -0
  347. package/esm/validators/literal-validator.mjs +67 -0
  348. package/esm/validators/literal-validator.mjs.map +1 -0
  349. package/esm/validators/managed-validator.d.mts +42 -0
  350. package/esm/validators/managed-validator.d.mts.map +1 -0
  351. package/esm/validators/managed-validator.mjs +39 -0
  352. package/esm/validators/managed-validator.mjs.map +1 -0
  353. package/esm/validators/methods/equality-conditional-methods.d.mts +90 -0
  354. package/esm/validators/methods/equality-conditional-methods.d.mts.map +1 -0
  355. package/esm/validators/methods/equality-conditional-methods.mjs +129 -0
  356. package/esm/validators/methods/equality-conditional-methods.mjs.map +1 -0
  357. package/esm/validators/methods/forbidden-methods.d.mts +58 -0
  358. package/esm/validators/methods/forbidden-methods.d.mts.map +1 -0
  359. package/esm/validators/methods/forbidden-methods.mjs +131 -0
  360. package/esm/validators/methods/forbidden-methods.mjs.map +1 -0
  361. package/esm/validators/methods/present-methods.d.mts +102 -0
  362. package/esm/validators/methods/present-methods.d.mts.map +1 -0
  363. package/esm/validators/methods/present-methods.mjs +235 -0
  364. package/esm/validators/methods/present-methods.mjs.map +1 -0
  365. package/esm/validators/methods/required-methods.d.mts +193 -0
  366. package/esm/validators/methods/required-methods.d.mts.map +1 -0
  367. package/esm/validators/methods/required-methods.mjs +347 -0
  368. package/esm/validators/methods/required-methods.mjs.map +1 -0
  369. package/esm/validators/number-validator.d.mts +170 -0
  370. package/esm/validators/number-validator.d.mts.map +1 -0
  371. package/esm/validators/number-validator.mjs +303 -0
  372. package/esm/validators/number-validator.mjs.map +1 -0
  373. package/esm/validators/numeric-validator.d.mts +19 -0
  374. package/esm/validators/numeric-validator.d.mts.map +1 -0
  375. package/esm/validators/numeric-validator.mjs +27 -0
  376. package/esm/validators/numeric-validator.mjs.map +1 -0
  377. package/esm/validators/object-validator.d.mts +253 -0
  378. package/esm/validators/object-validator.d.mts.map +1 -0
  379. package/esm/validators/object-validator.mjs +440 -0
  380. package/esm/validators/object-validator.mjs.map +1 -0
  381. package/esm/validators/primitive-validator.d.mts +74 -0
  382. package/esm/validators/primitive-validator.d.mts.map +1 -0
  383. package/esm/validators/primitive-validator.mjs +89 -0
  384. package/esm/validators/primitive-validator.mjs.map +1 -0
  385. package/esm/validators/record-validator.d.mts +63 -0
  386. package/esm/validators/record-validator.d.mts.map +1 -0
  387. package/esm/validators/record-validator.mjs +111 -0
  388. package/esm/validators/record-validator.mjs.map +1 -0
  389. package/esm/validators/scalar-validator.d.mts +97 -0
  390. package/esm/validators/scalar-validator.d.mts.map +1 -0
  391. package/esm/validators/scalar-validator.mjs +172 -0
  392. package/esm/validators/scalar-validator.mjs.map +1 -0
  393. package/esm/validators/string-validator.d.mts +224 -0
  394. package/esm/validators/string-validator.d.mts.map +1 -0
  395. package/esm/validators/string-validator.mjs +443 -0
  396. package/esm/validators/string-validator.mjs.map +1 -0
  397. package/esm/validators/tuple-validator.d.mts +66 -0
  398. package/esm/validators/tuple-validator.d.mts.map +1 -0
  399. package/esm/validators/tuple-validator.mjs +133 -0
  400. package/esm/validators/tuple-validator.mjs.map +1 -0
  401. package/esm/validators/union-validator.d.mts +59 -0
  402. package/esm/validators/union-validator.d.mts.map +1 -0
  403. package/esm/validators/union-validator.mjs +66 -0
  404. package/esm/validators/union-validator.mjs.map +1 -0
  405. package/llms-full.txt +2175 -0
  406. package/llms.txt +17 -0
  407. package/package.json +37 -48
  408. package/skills/bridge-standard-schema/SKILL.md +138 -0
  409. package/skills/compose-seal-modifiers/SKILL.md +271 -0
  410. package/skills/define-structural-shape/SKILL.md +138 -0
  411. package/skills/define-structural-shape/array-methods.md +78 -0
  412. package/skills/define-structural-shape/object-methods.md +166 -0
  413. package/skills/extend-seal-with-plugins/SKILL.md +178 -0
  414. package/skills/generate-json-schema/SKILL.md +143 -0
  415. package/skills/handle-seal-errors/SKILL.md +148 -0
  416. package/skills/overview/SKILL.md +72 -0
  417. package/skills/pick-seal-primitive/SKILL.md +133 -0
  418. package/skills/pick-seal-primitive/boolean-methods.md +71 -0
  419. package/skills/pick-seal-primitive/date-methods.md +175 -0
  420. package/skills/pick-seal-primitive/number-methods.md +123 -0
  421. package/skills/pick-seal-primitive/string-methods.md +169 -0
  422. package/skills/seal-basics/SKILL.md +106 -0
  423. package/cjs/config.d.ts +0 -48
  424. package/cjs/config.d.ts.map +0 -1
  425. package/cjs/config.js +0 -42
  426. package/cjs/config.js.map +0 -1
  427. package/cjs/factory/index.d.ts +0 -3
  428. package/cjs/factory/index.d.ts.map +0 -1
  429. package/cjs/factory/validate.d.ts +0 -8
  430. package/cjs/factory/validate.d.ts.map +0 -1
  431. package/cjs/factory/validate.js +0 -23
  432. package/cjs/factory/validate.js.map +0 -1
  433. package/cjs/factory/validators.d.ts +0 -56
  434. package/cjs/factory/validators.d.ts.map +0 -1
  435. package/cjs/factory/validators.js +0 -47
  436. package/cjs/factory/validators.js.map +0 -1
  437. package/cjs/helpers/date-helpers.d.ts +0 -16
  438. package/cjs/helpers/date-helpers.d.ts.map +0 -1
  439. package/cjs/helpers/date-helpers.js +0 -20
  440. package/cjs/helpers/date-helpers.js.map +0 -1
  441. package/cjs/helpers/file.utils.d.ts +0 -8
  442. package/cjs/helpers/file.utils.d.ts.map +0 -1
  443. package/cjs/helpers/file.utils.js +0 -29
  444. package/cjs/helpers/file.utils.js.map +0 -1
  445. package/cjs/helpers/get-field-value.d.ts +0 -37
  446. package/cjs/helpers/get-field-value.d.ts.map +0 -1
  447. package/cjs/helpers/get-field-value.js +0 -40
  448. package/cjs/helpers/get-field-value.js.map +0 -1
  449. package/cjs/helpers/index.d.ts +0 -6
  450. package/cjs/helpers/index.d.ts.map +0 -1
  451. package/cjs/helpers/is-empty-value.d.ts +0 -2
  452. package/cjs/helpers/is-empty-value.d.ts.map +0 -1
  453. package/cjs/helpers/is-empty-value.js +0 -3
  454. package/cjs/helpers/is-empty-value.js.map +0 -1
  455. package/cjs/helpers/path-helpers.d.ts +0 -5
  456. package/cjs/helpers/path-helpers.d.ts.map +0 -1
  457. package/cjs/helpers/path-helpers.js +0 -8
  458. package/cjs/helpers/path-helpers.js.map +0 -1
  459. package/cjs/helpers/validation-helpers.d.ts +0 -26
  460. package/cjs/helpers/validation-helpers.d.ts.map +0 -1
  461. package/cjs/helpers/validation-helpers.js +0 -74
  462. package/cjs/helpers/validation-helpers.js.map +0 -1
  463. package/cjs/index.d.ts +0 -30
  464. package/cjs/index.d.ts.map +0 -1
  465. package/cjs/index.js +0 -1
  466. package/cjs/index.js.map +0 -1
  467. package/cjs/mutators/array-mutators.d.ts +0 -12
  468. package/cjs/mutators/array-mutators.d.ts.map +0 -1
  469. package/cjs/mutators/array-mutators.js +0 -37
  470. package/cjs/mutators/array-mutators.js.map +0 -1
  471. package/cjs/mutators/date-mutators.d.ts +0 -39
  472. package/cjs/mutators/date-mutators.d.ts.map +0 -1
  473. package/cjs/mutators/date-mutators.js +0 -120
  474. package/cjs/mutators/date-mutators.js.map +0 -1
  475. package/cjs/mutators/index.d.ts +0 -7
  476. package/cjs/mutators/index.d.ts.map +0 -1
  477. package/cjs/mutators/number-mutators.d.ts +0 -22
  478. package/cjs/mutators/number-mutators.d.ts.map +0 -1
  479. package/cjs/mutators/number-mutators.js +0 -53
  480. package/cjs/mutators/number-mutators.js.map +0 -1
  481. package/cjs/mutators/object-mutators.d.ts +0 -8
  482. package/cjs/mutators/object-mutators.d.ts.map +0 -1
  483. package/cjs/mutators/object-mutators.js +0 -48
  484. package/cjs/mutators/object-mutators.js.map +0 -1
  485. package/cjs/mutators/scalar-mutators.d.ts +0 -3
  486. package/cjs/mutators/scalar-mutators.d.ts.map +0 -1
  487. package/cjs/mutators/scalar-mutators.js +0 -6
  488. package/cjs/mutators/scalar-mutators.js.map +0 -1
  489. package/cjs/mutators/string-mutators.d.ts +0 -72
  490. package/cjs/mutators/string-mutators.d.ts.map +0 -1
  491. package/cjs/mutators/string-mutators.js +0 -193
  492. package/cjs/mutators/string-mutators.js.map +0 -1
  493. package/cjs/plugins/index.d.ts +0 -7
  494. package/cjs/plugins/index.d.ts.map +0 -1
  495. package/cjs/plugins/plugin-system.d.ts +0 -71
  496. package/cjs/plugins/plugin-system.d.ts.map +0 -1
  497. package/cjs/plugins/plugin-system.js +0 -67
  498. package/cjs/plugins/plugin-system.js.map +0 -1
  499. package/cjs/rules/array/array-rules.d.ts +0 -12
  500. package/cjs/rules/array/array-rules.d.ts.map +0 -1
  501. package/cjs/rules/array/array-rules.js +0 -45
  502. package/cjs/rules/array/array-rules.js.map +0 -1
  503. package/cjs/rules/array/index.d.ts +0 -2
  504. package/cjs/rules/array/index.d.ts.map +0 -1
  505. package/cjs/rules/color/color-rules.d.ts +0 -30
  506. package/cjs/rules/color/color-rules.d.ts.map +0 -1
  507. package/cjs/rules/color/color-rules.js +0 -120
  508. package/cjs/rules/color/color-rules.js.map +0 -1
  509. package/cjs/rules/color/index.d.ts +0 -2
  510. package/cjs/rules/color/index.d.ts.map +0 -1
  511. package/cjs/rules/common/enum.d.ts +0 -26
  512. package/cjs/rules/common/enum.d.ts.map +0 -1
  513. package/cjs/rules/common/enum.js +0 -69
  514. package/cjs/rules/common/enum.js.map +0 -1
  515. package/cjs/rules/common/equals-field-rules.d.ts +0 -18
  516. package/cjs/rules/common/equals-field-rules.d.ts.map +0 -1
  517. package/cjs/rules/common/equals-field-rules.js +0 -39
  518. package/cjs/rules/common/equals-field-rules.js.map +0 -1
  519. package/cjs/rules/common/index.d.ts +0 -5
  520. package/cjs/rules/common/index.d.ts.map +0 -1
  521. package/cjs/rules/common/type-rules.d.ts +0 -38
  522. package/cjs/rules/common/type-rules.d.ts.map +0 -1
  523. package/cjs/rules/common/type-rules.js +0 -117
  524. package/cjs/rules/common/type-rules.js.map +0 -1
  525. package/cjs/rules/common/unknown-key.d.ts +0 -9
  526. package/cjs/rules/common/unknown-key.d.ts.map +0 -1
  527. package/cjs/rules/common/unknown-key.js +0 -17
  528. package/cjs/rules/common/unknown-key.js.map +0 -1
  529. package/cjs/rules/conditional/forbidden-if-rules.d.ts +0 -54
  530. package/cjs/rules/conditional/forbidden-if-rules.d.ts.map +0 -1
  531. package/cjs/rules/conditional/forbidden-if-rules.js +0 -118
  532. package/cjs/rules/conditional/forbidden-if-rules.js.map +0 -1
  533. package/cjs/rules/conditional/index.d.ts +0 -11
  534. package/cjs/rules/conditional/index.d.ts.map +0 -1
  535. package/cjs/rules/conditional/present-if-rules.d.ts +0 -45
  536. package/cjs/rules/conditional/present-if-rules.d.ts.map +0 -1
  537. package/cjs/rules/conditional/present-if-rules.js +0 -100
  538. package/cjs/rules/conditional/present-if-rules.js.map +0 -1
  539. package/cjs/rules/conditional/present-unless-rules.d.ts +0 -11
  540. package/cjs/rules/conditional/present-unless-rules.d.ts.map +0 -1
  541. package/cjs/rules/conditional/present-unless-rules.js +0 -22
  542. package/cjs/rules/conditional/present-unless-rules.js.map +0 -1
  543. package/cjs/rules/conditional/present-with-rules.d.ts +0 -26
  544. package/cjs/rules/conditional/present-with-rules.d.ts.map +0 -1
  545. package/cjs/rules/conditional/present-with-rules.js +0 -70
  546. package/cjs/rules/conditional/present-with-rules.js.map +0 -1
  547. package/cjs/rules/conditional/present-without-rules.d.ts +0 -26
  548. package/cjs/rules/conditional/present-without-rules.d.ts.map +0 -1
  549. package/cjs/rules/conditional/present-without-rules.js +0 -70
  550. package/cjs/rules/conditional/present-without-rules.js.map +0 -1
  551. package/cjs/rules/conditional/required-if-rules.d.ts +0 -77
  552. package/cjs/rules/conditional/required-if-rules.d.ts.map +0 -1
  553. package/cjs/rules/conditional/required-if-rules.js +0 -205
  554. package/cjs/rules/conditional/required-if-rules.js.map +0 -1
  555. package/cjs/rules/conditional/required-unless-rules.d.ts +0 -11
  556. package/cjs/rules/conditional/required-unless-rules.d.ts.map +0 -1
  557. package/cjs/rules/conditional/required-unless-rules.js +0 -22
  558. package/cjs/rules/conditional/required-unless-rules.js.map +0 -1
  559. package/cjs/rules/conditional/required-when-rule.d.ts +0 -18
  560. package/cjs/rules/conditional/required-when-rule.d.ts.map +0 -1
  561. package/cjs/rules/conditional/required-when-rule.js +0 -26
  562. package/cjs/rules/conditional/required-when-rule.js.map +0 -1
  563. package/cjs/rules/conditional/required-with-rules.d.ts +0 -26
  564. package/cjs/rules/conditional/required-with-rules.d.ts.map +0 -1
  565. package/cjs/rules/conditional/required-with-rules.js +0 -64
  566. package/cjs/rules/conditional/required-with-rules.js.map +0 -1
  567. package/cjs/rules/conditional/required-without-rules.d.ts +0 -26
  568. package/cjs/rules/conditional/required-without-rules.d.ts.map +0 -1
  569. package/cjs/rules/conditional/required-without-rules.js +0 -64
  570. package/cjs/rules/conditional/required-without-rules.js.map +0 -1
  571. package/cjs/rules/core/equal.d.ts +0 -8
  572. package/cjs/rules/core/equal.d.ts.map +0 -1
  573. package/cjs/rules/core/equal.js +0 -14
  574. package/cjs/rules/core/equal.js.map +0 -1
  575. package/cjs/rules/core/forbidden.d.ts +0 -6
  576. package/cjs/rules/core/forbidden.d.ts.map +0 -1
  577. package/cjs/rules/core/forbidden.js +0 -13
  578. package/cjs/rules/core/forbidden.js.map +0 -1
  579. package/cjs/rules/core/index.d.ts +0 -6
  580. package/cjs/rules/core/index.d.ts.map +0 -1
  581. package/cjs/rules/core/required.d.ts +0 -11
  582. package/cjs/rules/core/required.d.ts.map +0 -1
  583. package/cjs/rules/core/required.js +0 -31
  584. package/cjs/rules/core/required.js.map +0 -1
  585. package/cjs/rules/core/union.d.ts +0 -9
  586. package/cjs/rules/core/union.d.ts.map +0 -1
  587. package/cjs/rules/core/union.js +0 -40
  588. package/cjs/rules/core/union.js.map +0 -1
  589. package/cjs/rules/core/when.d.ts +0 -6
  590. package/cjs/rules/core/when.d.ts.map +0 -1
  591. package/cjs/rules/core/when.js +0 -40
  592. package/cjs/rules/core/when.js.map +0 -1
  593. package/cjs/rules/date/date-comparison-rules.d.ts +0 -25
  594. package/cjs/rules/date/date-comparison-rules.d.ts.map +0 -1
  595. package/cjs/rules/date/date-comparison-rules.js +0 -80
  596. package/cjs/rules/date/date-comparison-rules.js.map +0 -1
  597. package/cjs/rules/date/date-day-rules.d.ts +0 -21
  598. package/cjs/rules/date/date-day-rules.d.ts.map +0 -1
  599. package/cjs/rules/date/date-day-rules.js +0 -68
  600. package/cjs/rules/date/date-day-rules.js.map +0 -1
  601. package/cjs/rules/date/date-field-comparison-rules.d.ts +0 -28
  602. package/cjs/rules/date/date-field-comparison-rules.d.ts.map +0 -1
  603. package/cjs/rules/date/date-field-comparison-rules.js +0 -94
  604. package/cjs/rules/date/date-field-comparison-rules.js.map +0 -1
  605. package/cjs/rules/date/date-period-rules.d.ts +0 -124
  606. package/cjs/rules/date/date-period-rules.d.ts.map +0 -1
  607. package/cjs/rules/date/date-period-rules.js +0 -605
  608. package/cjs/rules/date/date-period-rules.js.map +0 -1
  609. package/cjs/rules/date/date-relative-rules.d.ts +0 -20
  610. package/cjs/rules/date/date-relative-rules.d.ts.map +0 -1
  611. package/cjs/rules/date/date-relative-rules.js +0 -60
  612. package/cjs/rules/date/date-relative-rules.js.map +0 -1
  613. package/cjs/rules/date/date-special-rules.d.ts +0 -20
  614. package/cjs/rules/date/date-special-rules.d.ts.map +0 -1
  615. package/cjs/rules/date/date-special-rules.js +0 -71
  616. package/cjs/rules/date/date-special-rules.js.map +0 -1
  617. package/cjs/rules/date/date.d.ts +0 -93
  618. package/cjs/rules/date/date.d.ts.map +0 -1
  619. package/cjs/rules/date/date.js +0 -288
  620. package/cjs/rules/date/date.js.map +0 -1
  621. package/cjs/rules/date/index.d.ts +0 -8
  622. package/cjs/rules/date/index.d.ts.map +0 -1
  623. package/cjs/rules/file/dimensions.d.ts +0 -26
  624. package/cjs/rules/file/dimensions.d.ts.map +0 -1
  625. package/cjs/rules/file/dimensions.js +0 -60
  626. package/cjs/rules/file/dimensions.js.map +0 -1
  627. package/cjs/rules/file/file-size.d.ts +0 -14
  628. package/cjs/rules/file/file-size.d.ts.map +0 -1
  629. package/cjs/rules/file/file-size.js +0 -30
  630. package/cjs/rules/file/file-size.js.map +0 -1
  631. package/cjs/rules/file/index.d.ts +0 -11
  632. package/cjs/rules/file/index.d.ts.map +0 -1
  633. package/cjs/rules/index.d.ts +0 -19
  634. package/cjs/rules/index.d.ts.map +0 -1
  635. package/cjs/rules/length/index.d.ts +0 -2
  636. package/cjs/rules/length/index.d.ts.map +0 -1
  637. package/cjs/rules/length/length-rules.d.ts +0 -49
  638. package/cjs/rules/length/length-rules.d.ts.map +0 -1
  639. package/cjs/rules/length/length-rules.js +0 -107
  640. package/cjs/rules/length/length-rules.js.map +0 -1
  641. package/cjs/rules/number/index.d.ts +0 -2
  642. package/cjs/rules/number/index.d.ts.map +0 -1
  643. package/cjs/rules/number/number-rules.d.ts +0 -65
  644. package/cjs/rules/number/number-rules.d.ts.map +0 -1
  645. package/cjs/rules/number/number-rules.js +0 -245
  646. package/cjs/rules/number/number-rules.js.map +0 -1
  647. package/cjs/rules/scalar/accepted-rule.d.ts +0 -39
  648. package/cjs/rules/scalar/accepted-rule.d.ts.map +0 -1
  649. package/cjs/rules/scalar/accepted-rule.js +0 -117
  650. package/cjs/rules/scalar/accepted-rule.js.map +0 -1
  651. package/cjs/rules/scalar/declined-rule.d.ts +0 -39
  652. package/cjs/rules/scalar/declined-rule.d.ts.map +0 -1
  653. package/cjs/rules/scalar/declined-rule.js +0 -117
  654. package/cjs/rules/scalar/declined-rule.js.map +0 -1
  655. package/cjs/rules/scalar/index.d.ts +0 -3
  656. package/cjs/rules/scalar/index.d.ts.map +0 -1
  657. package/cjs/rules/string/alpha.d.ts +0 -14
  658. package/cjs/rules/string/alpha.d.ts.map +0 -1
  659. package/cjs/rules/string/alpha.js +0 -39
  660. package/cjs/rules/string/alpha.js.map +0 -1
  661. package/cjs/rules/string/credit-card.d.ts +0 -6
  662. package/cjs/rules/string/credit-card.d.ts.map +0 -1
  663. package/cjs/rules/string/credit-card.js +0 -31
  664. package/cjs/rules/string/credit-card.js.map +0 -1
  665. package/cjs/rules/string/email.d.ts +0 -6
  666. package/cjs/rules/string/email.d.ts.map +0 -1
  667. package/cjs/rules/string/email.js +0 -13
  668. package/cjs/rules/string/email.js.map +0 -1
  669. package/cjs/rules/string/index.d.ts +0 -17
  670. package/cjs/rules/string/index.d.ts.map +0 -1
  671. package/cjs/rules/string/ip.d.ts +0 -14
  672. package/cjs/rules/string/ip.d.ts.map +0 -1
  673. package/cjs/rules/string/ip.js +0 -39
  674. package/cjs/rules/string/ip.js.map +0 -1
  675. package/cjs/rules/string/matches.d.ts +0 -8
  676. package/cjs/rules/string/matches.d.ts.map +0 -1
  677. package/cjs/rules/string/matches.js +0 -15
  678. package/cjs/rules/string/matches.js.map +0 -1
  679. package/cjs/rules/string/pattern.d.ts +0 -8
  680. package/cjs/rules/string/pattern.d.ts.map +0 -1
  681. package/cjs/rules/string/pattern.js +0 -14
  682. package/cjs/rules/string/pattern.js.map +0 -1
  683. package/cjs/rules/string/string-comparison.d.ts +0 -26
  684. package/cjs/rules/string/string-comparison.d.ts.map +0 -1
  685. package/cjs/rules/string/string-comparison.js +0 -56
  686. package/cjs/rules/string/string-comparison.js.map +0 -1
  687. package/cjs/rules/string/strong-password-rule.d.ts +0 -14
  688. package/cjs/rules/string/strong-password-rule.d.ts.map +0 -1
  689. package/cjs/rules/string/strong-password-rule.js +0 -38
  690. package/cjs/rules/string/strong-password-rule.js.map +0 -1
  691. package/cjs/rules/string/url.d.ts +0 -6
  692. package/cjs/rules/string/url.d.ts.map +0 -1
  693. package/cjs/rules/string/url.js +0 -16
  694. package/cjs/rules/string/url.js.map +0 -1
  695. package/cjs/rules/string/without-whitespace.d.ts +0 -6
  696. package/cjs/rules/string/without-whitespace.d.ts.map +0 -1
  697. package/cjs/rules/string/without-whitespace.js +0 -13
  698. package/cjs/rules/string/without-whitespace.js.map +0 -1
  699. package/cjs/standard-schema/index.d.ts +0 -4
  700. package/cjs/standard-schema/index.d.ts.map +0 -1
  701. package/cjs/standard-schema/json-schema.d.ts +0 -61
  702. package/cjs/standard-schema/json-schema.d.ts.map +0 -1
  703. package/cjs/standard-schema/json-schema.js +0 -85
  704. package/cjs/standard-schema/json-schema.js.map +0 -1
  705. package/cjs/standard-schema/map-result.d.ts +0 -18
  706. package/cjs/standard-schema/map-result.d.ts.map +0 -1
  707. package/cjs/standard-schema/map-result.js +0 -27
  708. package/cjs/standard-schema/map-result.js.map +0 -1
  709. package/cjs/standard-schema/types.d.ts +0 -93
  710. package/cjs/standard-schema/types.d.ts.map +0 -1
  711. package/cjs/types/conditional-types.d.ts +0 -15
  712. package/cjs/types/conditional-types.d.ts.map +0 -1
  713. package/cjs/types/context-types.d.ts +0 -47
  714. package/cjs/types/context-types.d.ts.map +0 -1
  715. package/cjs/types/data-transformer-types.d.ts +0 -25
  716. package/cjs/types/data-transformer-types.d.ts.map +0 -1
  717. package/cjs/types/date-types.d.ts +0 -9
  718. package/cjs/types/date-types.d.ts.map +0 -1
  719. package/cjs/types/date-types.js +0 -12
  720. package/cjs/types/date-types.js.map +0 -1
  721. package/cjs/types/file.types.d.ts +0 -5
  722. package/cjs/types/file.types.d.ts.map +0 -1
  723. package/cjs/types/index.d.ts +0 -11
  724. package/cjs/types/index.d.ts.map +0 -1
  725. package/cjs/types/inference-types.d.ts +0 -32
  726. package/cjs/types/inference-types.d.ts.map +0 -1
  727. package/cjs/types/mutator-types.d.ts +0 -27
  728. package/cjs/types/mutator-types.d.ts.map +0 -1
  729. package/cjs/types/result-types.d.ts +0 -19
  730. package/cjs/types/result-types.d.ts.map +0 -1
  731. package/cjs/types/rule-types.d.ts +0 -58
  732. package/cjs/types/rule-types.d.ts.map +0 -1
  733. package/cjs/types/schema-types.d.ts +0 -6
  734. package/cjs/types/schema-types.d.ts.map +0 -1
  735. package/cjs/validators/any-validator.d.ts +0 -29
  736. package/cjs/validators/any-validator.d.ts.map +0 -1
  737. package/cjs/validators/any-validator.js +0 -31
  738. package/cjs/validators/any-validator.js.map +0 -1
  739. package/cjs/validators/array-validator.d.ts +0 -72
  740. package/cjs/validators/array-validator.d.ts.map +0 -1
  741. package/cjs/validators/array-validator.js +0 -162
  742. package/cjs/validators/array-validator.js.map +0 -1
  743. package/cjs/validators/base-validator.d.ts +0 -425
  744. package/cjs/validators/base-validator.d.ts.map +0 -1
  745. package/cjs/validators/base-validator.js +0 -637
  746. package/cjs/validators/base-validator.js.map +0 -1
  747. package/cjs/validators/boolean-validator.d.ts +0 -67
  748. package/cjs/validators/boolean-validator.d.ts.map +0 -1
  749. package/cjs/validators/boolean-validator.js +0 -105
  750. package/cjs/validators/boolean-validator.js.map +0 -1
  751. package/cjs/validators/computed-validator.d.ts +0 -75
  752. package/cjs/validators/computed-validator.d.ts.map +0 -1
  753. package/cjs/validators/computed-validator.js +0 -124
  754. package/cjs/validators/computed-validator.js.map +0 -1
  755. package/cjs/validators/date-validator.d.ts +0 -330
  756. package/cjs/validators/date-validator.d.ts.map +0 -1
  757. package/cjs/validators/date-validator.js +0 -614
  758. package/cjs/validators/date-validator.js.map +0 -1
  759. package/cjs/validators/float-validator.d.ts +0 -8
  760. package/cjs/validators/float-validator.d.ts.map +0 -1
  761. package/cjs/validators/float-validator.js +0 -9
  762. package/cjs/validators/float-validator.js.map +0 -1
  763. package/cjs/validators/index.d.ts +0 -31
  764. package/cjs/validators/index.d.ts.map +0 -1
  765. package/cjs/validators/int-validator.d.ts +0 -19
  766. package/cjs/validators/int-validator.d.ts.map +0 -1
  767. package/cjs/validators/int-validator.js +0 -21
  768. package/cjs/validators/int-validator.js.map +0 -1
  769. package/cjs/validators/managed-validator.d.ts +0 -38
  770. package/cjs/validators/managed-validator.d.ts.map +0 -1
  771. package/cjs/validators/managed-validator.js +0 -34
  772. package/cjs/validators/managed-validator.js.map +0 -1
  773. package/cjs/validators/methods/equality-conditional-methods.d.ts +0 -88
  774. package/cjs/validators/methods/equality-conditional-methods.d.ts.map +0 -1
  775. package/cjs/validators/methods/equality-conditional-methods.js +0 -118
  776. package/cjs/validators/methods/equality-conditional-methods.js.map +0 -1
  777. package/cjs/validators/methods/forbidden-methods.d.ts +0 -58
  778. package/cjs/validators/methods/forbidden-methods.d.ts.map +0 -1
  779. package/cjs/validators/methods/forbidden-methods.js +0 -122
  780. package/cjs/validators/methods/forbidden-methods.js.map +0 -1
  781. package/cjs/validators/methods/present-methods.d.ts +0 -102
  782. package/cjs/validators/methods/present-methods.d.ts.map +0 -1
  783. package/cjs/validators/methods/present-methods.js +0 -229
  784. package/cjs/validators/methods/present-methods.js.map +0 -1
  785. package/cjs/validators/methods/required-methods.d.ts +0 -174
  786. package/cjs/validators/methods/required-methods.d.ts.map +0 -1
  787. package/cjs/validators/methods/required-methods.js +0 -246
  788. package/cjs/validators/methods/required-methods.js.map +0 -1
  789. package/cjs/validators/number-validator.d.ts +0 -166
  790. package/cjs/validators/number-validator.d.ts.map +0 -1
  791. package/cjs/validators/number-validator.js +0 -307
  792. package/cjs/validators/number-validator.js.map +0 -1
  793. package/cjs/validators/numeric-validator.d.ts +0 -15
  794. package/cjs/validators/numeric-validator.d.ts.map +0 -1
  795. package/cjs/validators/numeric-validator.js +0 -18
  796. package/cjs/validators/numeric-validator.js.map +0 -1
  797. package/cjs/validators/object-validator.d.ts +0 -233
  798. package/cjs/validators/object-validator.d.ts.map +0 -1
  799. package/cjs/validators/object-validator.js +0 -517
  800. package/cjs/validators/object-validator.js.map +0 -1
  801. package/cjs/validators/primitive-validator.d.ts +0 -70
  802. package/cjs/validators/primitive-validator.d.ts.map +0 -1
  803. package/cjs/validators/primitive-validator.js +0 -80
  804. package/cjs/validators/primitive-validator.js.map +0 -1
  805. package/cjs/validators/record-validator.d.ts +0 -54
  806. package/cjs/validators/record-validator.d.ts.map +0 -1
  807. package/cjs/validators/record-validator.js +0 -100
  808. package/cjs/validators/record-validator.js.map +0 -1
  809. package/cjs/validators/scalar-validator.d.ts +0 -93
  810. package/cjs/validators/scalar-validator.d.ts.map +0 -1
  811. package/cjs/validators/scalar-validator.js +0 -149
  812. package/cjs/validators/scalar-validator.js.map +0 -1
  813. package/cjs/validators/string-validator.d.ts +0 -189
  814. package/cjs/validators/string-validator.d.ts.map +0 -1
  815. package/cjs/validators/string-validator.js +0 -387
  816. package/cjs/validators/string-validator.js.map +0 -1
  817. package/cjs/validators/tuple-validator.d.ts +0 -56
  818. package/cjs/validators/tuple-validator.d.ts.map +0 -1
  819. package/cjs/validators/tuple-validator.js +0 -121
  820. package/cjs/validators/tuple-validator.js.map +0 -1
  821. package/cjs/validators/union-validator.d.ts +0 -55
  822. package/cjs/validators/union-validator.d.ts.map +0 -1
  823. package/cjs/validators/union-validator.js +0 -60
  824. package/cjs/validators/union-validator.js.map +0 -1
  825. package/esm/config.d.ts +0 -48
  826. package/esm/config.d.ts.map +0 -1
  827. package/esm/config.js +0 -42
  828. package/esm/config.js.map +0 -1
  829. package/esm/factory/index.d.ts +0 -3
  830. package/esm/factory/index.d.ts.map +0 -1
  831. package/esm/factory/validate.d.ts +0 -8
  832. package/esm/factory/validate.d.ts.map +0 -1
  833. package/esm/factory/validate.js +0 -23
  834. package/esm/factory/validate.js.map +0 -1
  835. package/esm/factory/validators.d.ts +0 -56
  836. package/esm/factory/validators.d.ts.map +0 -1
  837. package/esm/factory/validators.js +0 -47
  838. package/esm/factory/validators.js.map +0 -1
  839. package/esm/helpers/date-helpers.d.ts +0 -16
  840. package/esm/helpers/date-helpers.d.ts.map +0 -1
  841. package/esm/helpers/date-helpers.js +0 -20
  842. package/esm/helpers/date-helpers.js.map +0 -1
  843. package/esm/helpers/file.utils.d.ts +0 -8
  844. package/esm/helpers/file.utils.d.ts.map +0 -1
  845. package/esm/helpers/file.utils.js +0 -29
  846. package/esm/helpers/file.utils.js.map +0 -1
  847. package/esm/helpers/get-field-value.d.ts +0 -37
  848. package/esm/helpers/get-field-value.d.ts.map +0 -1
  849. package/esm/helpers/get-field-value.js +0 -40
  850. package/esm/helpers/get-field-value.js.map +0 -1
  851. package/esm/helpers/index.d.ts +0 -6
  852. package/esm/helpers/index.d.ts.map +0 -1
  853. package/esm/helpers/is-empty-value.d.ts +0 -2
  854. package/esm/helpers/is-empty-value.d.ts.map +0 -1
  855. package/esm/helpers/is-empty-value.js +0 -3
  856. package/esm/helpers/is-empty-value.js.map +0 -1
  857. package/esm/helpers/path-helpers.d.ts +0 -5
  858. package/esm/helpers/path-helpers.d.ts.map +0 -1
  859. package/esm/helpers/path-helpers.js +0 -8
  860. package/esm/helpers/path-helpers.js.map +0 -1
  861. package/esm/helpers/validation-helpers.d.ts +0 -26
  862. package/esm/helpers/validation-helpers.d.ts.map +0 -1
  863. package/esm/helpers/validation-helpers.js +0 -74
  864. package/esm/helpers/validation-helpers.js.map +0 -1
  865. package/esm/index.d.ts +0 -30
  866. package/esm/index.d.ts.map +0 -1
  867. package/esm/index.js +0 -1
  868. package/esm/index.js.map +0 -1
  869. package/esm/mutators/array-mutators.d.ts +0 -12
  870. package/esm/mutators/array-mutators.d.ts.map +0 -1
  871. package/esm/mutators/array-mutators.js +0 -37
  872. package/esm/mutators/array-mutators.js.map +0 -1
  873. package/esm/mutators/date-mutators.d.ts +0 -39
  874. package/esm/mutators/date-mutators.d.ts.map +0 -1
  875. package/esm/mutators/date-mutators.js +0 -120
  876. package/esm/mutators/date-mutators.js.map +0 -1
  877. package/esm/mutators/index.d.ts +0 -7
  878. package/esm/mutators/index.d.ts.map +0 -1
  879. package/esm/mutators/number-mutators.d.ts +0 -22
  880. package/esm/mutators/number-mutators.d.ts.map +0 -1
  881. package/esm/mutators/number-mutators.js +0 -53
  882. package/esm/mutators/number-mutators.js.map +0 -1
  883. package/esm/mutators/object-mutators.d.ts +0 -8
  884. package/esm/mutators/object-mutators.d.ts.map +0 -1
  885. package/esm/mutators/object-mutators.js +0 -48
  886. package/esm/mutators/object-mutators.js.map +0 -1
  887. package/esm/mutators/scalar-mutators.d.ts +0 -3
  888. package/esm/mutators/scalar-mutators.d.ts.map +0 -1
  889. package/esm/mutators/scalar-mutators.js +0 -6
  890. package/esm/mutators/scalar-mutators.js.map +0 -1
  891. package/esm/mutators/string-mutators.d.ts +0 -72
  892. package/esm/mutators/string-mutators.d.ts.map +0 -1
  893. package/esm/mutators/string-mutators.js +0 -193
  894. package/esm/mutators/string-mutators.js.map +0 -1
  895. package/esm/plugins/index.d.ts +0 -7
  896. package/esm/plugins/index.d.ts.map +0 -1
  897. package/esm/plugins/plugin-system.d.ts +0 -71
  898. package/esm/plugins/plugin-system.d.ts.map +0 -1
  899. package/esm/plugins/plugin-system.js +0 -67
  900. package/esm/plugins/plugin-system.js.map +0 -1
  901. package/esm/rules/array/array-rules.d.ts +0 -12
  902. package/esm/rules/array/array-rules.d.ts.map +0 -1
  903. package/esm/rules/array/array-rules.js +0 -45
  904. package/esm/rules/array/array-rules.js.map +0 -1
  905. package/esm/rules/array/index.d.ts +0 -2
  906. package/esm/rules/array/index.d.ts.map +0 -1
  907. package/esm/rules/color/color-rules.d.ts +0 -30
  908. package/esm/rules/color/color-rules.d.ts.map +0 -1
  909. package/esm/rules/color/color-rules.js +0 -120
  910. package/esm/rules/color/color-rules.js.map +0 -1
  911. package/esm/rules/color/index.d.ts +0 -2
  912. package/esm/rules/color/index.d.ts.map +0 -1
  913. package/esm/rules/common/enum.d.ts +0 -26
  914. package/esm/rules/common/enum.d.ts.map +0 -1
  915. package/esm/rules/common/enum.js +0 -69
  916. package/esm/rules/common/enum.js.map +0 -1
  917. package/esm/rules/common/equals-field-rules.d.ts +0 -18
  918. package/esm/rules/common/equals-field-rules.d.ts.map +0 -1
  919. package/esm/rules/common/equals-field-rules.js +0 -39
  920. package/esm/rules/common/equals-field-rules.js.map +0 -1
  921. package/esm/rules/common/index.d.ts +0 -5
  922. package/esm/rules/common/index.d.ts.map +0 -1
  923. package/esm/rules/common/type-rules.d.ts +0 -38
  924. package/esm/rules/common/type-rules.d.ts.map +0 -1
  925. package/esm/rules/common/type-rules.js +0 -117
  926. package/esm/rules/common/type-rules.js.map +0 -1
  927. package/esm/rules/common/unknown-key.d.ts +0 -9
  928. package/esm/rules/common/unknown-key.d.ts.map +0 -1
  929. package/esm/rules/common/unknown-key.js +0 -17
  930. package/esm/rules/common/unknown-key.js.map +0 -1
  931. package/esm/rules/conditional/forbidden-if-rules.d.ts +0 -54
  932. package/esm/rules/conditional/forbidden-if-rules.d.ts.map +0 -1
  933. package/esm/rules/conditional/forbidden-if-rules.js +0 -118
  934. package/esm/rules/conditional/forbidden-if-rules.js.map +0 -1
  935. package/esm/rules/conditional/index.d.ts +0 -11
  936. package/esm/rules/conditional/index.d.ts.map +0 -1
  937. package/esm/rules/conditional/present-if-rules.d.ts +0 -45
  938. package/esm/rules/conditional/present-if-rules.d.ts.map +0 -1
  939. package/esm/rules/conditional/present-if-rules.js +0 -100
  940. package/esm/rules/conditional/present-if-rules.js.map +0 -1
  941. package/esm/rules/conditional/present-unless-rules.d.ts +0 -11
  942. package/esm/rules/conditional/present-unless-rules.d.ts.map +0 -1
  943. package/esm/rules/conditional/present-unless-rules.js +0 -22
  944. package/esm/rules/conditional/present-unless-rules.js.map +0 -1
  945. package/esm/rules/conditional/present-with-rules.d.ts +0 -26
  946. package/esm/rules/conditional/present-with-rules.d.ts.map +0 -1
  947. package/esm/rules/conditional/present-with-rules.js +0 -70
  948. package/esm/rules/conditional/present-with-rules.js.map +0 -1
  949. package/esm/rules/conditional/present-without-rules.d.ts +0 -26
  950. package/esm/rules/conditional/present-without-rules.d.ts.map +0 -1
  951. package/esm/rules/conditional/present-without-rules.js +0 -70
  952. package/esm/rules/conditional/present-without-rules.js.map +0 -1
  953. package/esm/rules/conditional/required-if-rules.d.ts +0 -77
  954. package/esm/rules/conditional/required-if-rules.d.ts.map +0 -1
  955. package/esm/rules/conditional/required-if-rules.js +0 -205
  956. package/esm/rules/conditional/required-if-rules.js.map +0 -1
  957. package/esm/rules/conditional/required-unless-rules.d.ts +0 -11
  958. package/esm/rules/conditional/required-unless-rules.d.ts.map +0 -1
  959. package/esm/rules/conditional/required-unless-rules.js +0 -22
  960. package/esm/rules/conditional/required-unless-rules.js.map +0 -1
  961. package/esm/rules/conditional/required-when-rule.d.ts +0 -18
  962. package/esm/rules/conditional/required-when-rule.d.ts.map +0 -1
  963. package/esm/rules/conditional/required-when-rule.js +0 -26
  964. package/esm/rules/conditional/required-when-rule.js.map +0 -1
  965. package/esm/rules/conditional/required-with-rules.d.ts +0 -26
  966. package/esm/rules/conditional/required-with-rules.d.ts.map +0 -1
  967. package/esm/rules/conditional/required-with-rules.js +0 -64
  968. package/esm/rules/conditional/required-with-rules.js.map +0 -1
  969. package/esm/rules/conditional/required-without-rules.d.ts +0 -26
  970. package/esm/rules/conditional/required-without-rules.d.ts.map +0 -1
  971. package/esm/rules/conditional/required-without-rules.js +0 -64
  972. package/esm/rules/conditional/required-without-rules.js.map +0 -1
  973. package/esm/rules/core/equal.d.ts +0 -8
  974. package/esm/rules/core/equal.d.ts.map +0 -1
  975. package/esm/rules/core/equal.js +0 -14
  976. package/esm/rules/core/equal.js.map +0 -1
  977. package/esm/rules/core/forbidden.d.ts +0 -6
  978. package/esm/rules/core/forbidden.d.ts.map +0 -1
  979. package/esm/rules/core/forbidden.js +0 -13
  980. package/esm/rules/core/forbidden.js.map +0 -1
  981. package/esm/rules/core/index.d.ts +0 -6
  982. package/esm/rules/core/index.d.ts.map +0 -1
  983. package/esm/rules/core/required.d.ts +0 -11
  984. package/esm/rules/core/required.d.ts.map +0 -1
  985. package/esm/rules/core/required.js +0 -31
  986. package/esm/rules/core/required.js.map +0 -1
  987. package/esm/rules/core/union.d.ts +0 -9
  988. package/esm/rules/core/union.d.ts.map +0 -1
  989. package/esm/rules/core/union.js +0 -40
  990. package/esm/rules/core/union.js.map +0 -1
  991. package/esm/rules/core/when.d.ts +0 -6
  992. package/esm/rules/core/when.d.ts.map +0 -1
  993. package/esm/rules/core/when.js +0 -40
  994. package/esm/rules/core/when.js.map +0 -1
  995. package/esm/rules/date/date-comparison-rules.d.ts +0 -25
  996. package/esm/rules/date/date-comparison-rules.d.ts.map +0 -1
  997. package/esm/rules/date/date-comparison-rules.js +0 -80
  998. package/esm/rules/date/date-comparison-rules.js.map +0 -1
  999. package/esm/rules/date/date-day-rules.d.ts +0 -21
  1000. package/esm/rules/date/date-day-rules.d.ts.map +0 -1
  1001. package/esm/rules/date/date-day-rules.js +0 -68
  1002. package/esm/rules/date/date-day-rules.js.map +0 -1
  1003. package/esm/rules/date/date-field-comparison-rules.d.ts +0 -28
  1004. package/esm/rules/date/date-field-comparison-rules.d.ts.map +0 -1
  1005. package/esm/rules/date/date-field-comparison-rules.js +0 -94
  1006. package/esm/rules/date/date-field-comparison-rules.js.map +0 -1
  1007. package/esm/rules/date/date-period-rules.d.ts +0 -124
  1008. package/esm/rules/date/date-period-rules.d.ts.map +0 -1
  1009. package/esm/rules/date/date-period-rules.js +0 -605
  1010. package/esm/rules/date/date-period-rules.js.map +0 -1
  1011. package/esm/rules/date/date-relative-rules.d.ts +0 -20
  1012. package/esm/rules/date/date-relative-rules.d.ts.map +0 -1
  1013. package/esm/rules/date/date-relative-rules.js +0 -60
  1014. package/esm/rules/date/date-relative-rules.js.map +0 -1
  1015. package/esm/rules/date/date-special-rules.d.ts +0 -20
  1016. package/esm/rules/date/date-special-rules.d.ts.map +0 -1
  1017. package/esm/rules/date/date-special-rules.js +0 -71
  1018. package/esm/rules/date/date-special-rules.js.map +0 -1
  1019. package/esm/rules/date/date.d.ts +0 -93
  1020. package/esm/rules/date/date.d.ts.map +0 -1
  1021. package/esm/rules/date/date.js +0 -288
  1022. package/esm/rules/date/date.js.map +0 -1
  1023. package/esm/rules/date/index.d.ts +0 -8
  1024. package/esm/rules/date/index.d.ts.map +0 -1
  1025. package/esm/rules/file/dimensions.d.ts +0 -26
  1026. package/esm/rules/file/dimensions.d.ts.map +0 -1
  1027. package/esm/rules/file/dimensions.js +0 -60
  1028. package/esm/rules/file/dimensions.js.map +0 -1
  1029. package/esm/rules/file/file-size.d.ts +0 -14
  1030. package/esm/rules/file/file-size.d.ts.map +0 -1
  1031. package/esm/rules/file/file-size.js +0 -30
  1032. package/esm/rules/file/file-size.js.map +0 -1
  1033. package/esm/rules/file/index.d.ts +0 -11
  1034. package/esm/rules/file/index.d.ts.map +0 -1
  1035. package/esm/rules/index.d.ts +0 -19
  1036. package/esm/rules/index.d.ts.map +0 -1
  1037. package/esm/rules/length/index.d.ts +0 -2
  1038. package/esm/rules/length/index.d.ts.map +0 -1
  1039. package/esm/rules/length/length-rules.d.ts +0 -49
  1040. package/esm/rules/length/length-rules.d.ts.map +0 -1
  1041. package/esm/rules/length/length-rules.js +0 -107
  1042. package/esm/rules/length/length-rules.js.map +0 -1
  1043. package/esm/rules/number/index.d.ts +0 -2
  1044. package/esm/rules/number/index.d.ts.map +0 -1
  1045. package/esm/rules/number/number-rules.d.ts +0 -65
  1046. package/esm/rules/number/number-rules.d.ts.map +0 -1
  1047. package/esm/rules/number/number-rules.js +0 -245
  1048. package/esm/rules/number/number-rules.js.map +0 -1
  1049. package/esm/rules/scalar/accepted-rule.d.ts +0 -39
  1050. package/esm/rules/scalar/accepted-rule.d.ts.map +0 -1
  1051. package/esm/rules/scalar/accepted-rule.js +0 -117
  1052. package/esm/rules/scalar/accepted-rule.js.map +0 -1
  1053. package/esm/rules/scalar/declined-rule.d.ts +0 -39
  1054. package/esm/rules/scalar/declined-rule.d.ts.map +0 -1
  1055. package/esm/rules/scalar/declined-rule.js +0 -117
  1056. package/esm/rules/scalar/declined-rule.js.map +0 -1
  1057. package/esm/rules/scalar/index.d.ts +0 -3
  1058. package/esm/rules/scalar/index.d.ts.map +0 -1
  1059. package/esm/rules/string/alpha.d.ts +0 -14
  1060. package/esm/rules/string/alpha.d.ts.map +0 -1
  1061. package/esm/rules/string/alpha.js +0 -39
  1062. package/esm/rules/string/alpha.js.map +0 -1
  1063. package/esm/rules/string/credit-card.d.ts +0 -6
  1064. package/esm/rules/string/credit-card.d.ts.map +0 -1
  1065. package/esm/rules/string/credit-card.js +0 -31
  1066. package/esm/rules/string/credit-card.js.map +0 -1
  1067. package/esm/rules/string/email.d.ts +0 -6
  1068. package/esm/rules/string/email.d.ts.map +0 -1
  1069. package/esm/rules/string/email.js +0 -13
  1070. package/esm/rules/string/email.js.map +0 -1
  1071. package/esm/rules/string/index.d.ts +0 -17
  1072. package/esm/rules/string/index.d.ts.map +0 -1
  1073. package/esm/rules/string/ip.d.ts +0 -14
  1074. package/esm/rules/string/ip.d.ts.map +0 -1
  1075. package/esm/rules/string/ip.js +0 -39
  1076. package/esm/rules/string/ip.js.map +0 -1
  1077. package/esm/rules/string/matches.d.ts +0 -8
  1078. package/esm/rules/string/matches.d.ts.map +0 -1
  1079. package/esm/rules/string/matches.js +0 -15
  1080. package/esm/rules/string/matches.js.map +0 -1
  1081. package/esm/rules/string/pattern.d.ts +0 -8
  1082. package/esm/rules/string/pattern.d.ts.map +0 -1
  1083. package/esm/rules/string/pattern.js +0 -14
  1084. package/esm/rules/string/pattern.js.map +0 -1
  1085. package/esm/rules/string/string-comparison.d.ts +0 -26
  1086. package/esm/rules/string/string-comparison.d.ts.map +0 -1
  1087. package/esm/rules/string/string-comparison.js +0 -56
  1088. package/esm/rules/string/string-comparison.js.map +0 -1
  1089. package/esm/rules/string/strong-password-rule.d.ts +0 -14
  1090. package/esm/rules/string/strong-password-rule.d.ts.map +0 -1
  1091. package/esm/rules/string/strong-password-rule.js +0 -38
  1092. package/esm/rules/string/strong-password-rule.js.map +0 -1
  1093. package/esm/rules/string/url.d.ts +0 -6
  1094. package/esm/rules/string/url.d.ts.map +0 -1
  1095. package/esm/rules/string/url.js +0 -16
  1096. package/esm/rules/string/url.js.map +0 -1
  1097. package/esm/rules/string/without-whitespace.d.ts +0 -6
  1098. package/esm/rules/string/without-whitespace.d.ts.map +0 -1
  1099. package/esm/rules/string/without-whitespace.js +0 -13
  1100. package/esm/rules/string/without-whitespace.js.map +0 -1
  1101. package/esm/standard-schema/index.d.ts +0 -4
  1102. package/esm/standard-schema/index.d.ts.map +0 -1
  1103. package/esm/standard-schema/json-schema.d.ts +0 -61
  1104. package/esm/standard-schema/json-schema.d.ts.map +0 -1
  1105. package/esm/standard-schema/json-schema.js +0 -85
  1106. package/esm/standard-schema/json-schema.js.map +0 -1
  1107. package/esm/standard-schema/map-result.d.ts +0 -18
  1108. package/esm/standard-schema/map-result.d.ts.map +0 -1
  1109. package/esm/standard-schema/map-result.js +0 -27
  1110. package/esm/standard-schema/map-result.js.map +0 -1
  1111. package/esm/standard-schema/types.d.ts +0 -93
  1112. package/esm/standard-schema/types.d.ts.map +0 -1
  1113. package/esm/types/conditional-types.d.ts +0 -15
  1114. package/esm/types/conditional-types.d.ts.map +0 -1
  1115. package/esm/types/context-types.d.ts +0 -47
  1116. package/esm/types/context-types.d.ts.map +0 -1
  1117. package/esm/types/data-transformer-types.d.ts +0 -25
  1118. package/esm/types/data-transformer-types.d.ts.map +0 -1
  1119. package/esm/types/date-types.d.ts +0 -9
  1120. package/esm/types/date-types.d.ts.map +0 -1
  1121. package/esm/types/date-types.js +0 -12
  1122. package/esm/types/date-types.js.map +0 -1
  1123. package/esm/types/file.types.d.ts +0 -5
  1124. package/esm/types/file.types.d.ts.map +0 -1
  1125. package/esm/types/index.d.ts +0 -11
  1126. package/esm/types/index.d.ts.map +0 -1
  1127. package/esm/types/inference-types.d.ts +0 -32
  1128. package/esm/types/inference-types.d.ts.map +0 -1
  1129. package/esm/types/mutator-types.d.ts +0 -27
  1130. package/esm/types/mutator-types.d.ts.map +0 -1
  1131. package/esm/types/result-types.d.ts +0 -19
  1132. package/esm/types/result-types.d.ts.map +0 -1
  1133. package/esm/types/rule-types.d.ts +0 -58
  1134. package/esm/types/rule-types.d.ts.map +0 -1
  1135. package/esm/types/schema-types.d.ts +0 -6
  1136. package/esm/types/schema-types.d.ts.map +0 -1
  1137. package/esm/validators/any-validator.d.ts +0 -29
  1138. package/esm/validators/any-validator.d.ts.map +0 -1
  1139. package/esm/validators/any-validator.js +0 -31
  1140. package/esm/validators/any-validator.js.map +0 -1
  1141. package/esm/validators/array-validator.d.ts +0 -72
  1142. package/esm/validators/array-validator.d.ts.map +0 -1
  1143. package/esm/validators/array-validator.js +0 -162
  1144. package/esm/validators/array-validator.js.map +0 -1
  1145. package/esm/validators/base-validator.d.ts +0 -425
  1146. package/esm/validators/base-validator.d.ts.map +0 -1
  1147. package/esm/validators/base-validator.js +0 -637
  1148. package/esm/validators/base-validator.js.map +0 -1
  1149. package/esm/validators/boolean-validator.d.ts +0 -67
  1150. package/esm/validators/boolean-validator.d.ts.map +0 -1
  1151. package/esm/validators/boolean-validator.js +0 -105
  1152. package/esm/validators/boolean-validator.js.map +0 -1
  1153. package/esm/validators/computed-validator.d.ts +0 -75
  1154. package/esm/validators/computed-validator.d.ts.map +0 -1
  1155. package/esm/validators/computed-validator.js +0 -124
  1156. package/esm/validators/computed-validator.js.map +0 -1
  1157. package/esm/validators/date-validator.d.ts +0 -330
  1158. package/esm/validators/date-validator.d.ts.map +0 -1
  1159. package/esm/validators/date-validator.js +0 -614
  1160. package/esm/validators/date-validator.js.map +0 -1
  1161. package/esm/validators/float-validator.d.ts +0 -8
  1162. package/esm/validators/float-validator.d.ts.map +0 -1
  1163. package/esm/validators/float-validator.js +0 -9
  1164. package/esm/validators/float-validator.js.map +0 -1
  1165. package/esm/validators/index.d.ts +0 -31
  1166. package/esm/validators/index.d.ts.map +0 -1
  1167. package/esm/validators/int-validator.d.ts +0 -19
  1168. package/esm/validators/int-validator.d.ts.map +0 -1
  1169. package/esm/validators/int-validator.js +0 -21
  1170. package/esm/validators/int-validator.js.map +0 -1
  1171. package/esm/validators/managed-validator.d.ts +0 -38
  1172. package/esm/validators/managed-validator.d.ts.map +0 -1
  1173. package/esm/validators/managed-validator.js +0 -34
  1174. package/esm/validators/managed-validator.js.map +0 -1
  1175. package/esm/validators/methods/equality-conditional-methods.d.ts +0 -88
  1176. package/esm/validators/methods/equality-conditional-methods.d.ts.map +0 -1
  1177. package/esm/validators/methods/equality-conditional-methods.js +0 -118
  1178. package/esm/validators/methods/equality-conditional-methods.js.map +0 -1
  1179. package/esm/validators/methods/forbidden-methods.d.ts +0 -58
  1180. package/esm/validators/methods/forbidden-methods.d.ts.map +0 -1
  1181. package/esm/validators/methods/forbidden-methods.js +0 -122
  1182. package/esm/validators/methods/forbidden-methods.js.map +0 -1
  1183. package/esm/validators/methods/present-methods.d.ts +0 -102
  1184. package/esm/validators/methods/present-methods.d.ts.map +0 -1
  1185. package/esm/validators/methods/present-methods.js +0 -229
  1186. package/esm/validators/methods/present-methods.js.map +0 -1
  1187. package/esm/validators/methods/required-methods.d.ts +0 -174
  1188. package/esm/validators/methods/required-methods.d.ts.map +0 -1
  1189. package/esm/validators/methods/required-methods.js +0 -246
  1190. package/esm/validators/methods/required-methods.js.map +0 -1
  1191. package/esm/validators/number-validator.d.ts +0 -166
  1192. package/esm/validators/number-validator.d.ts.map +0 -1
  1193. package/esm/validators/number-validator.js +0 -307
  1194. package/esm/validators/number-validator.js.map +0 -1
  1195. package/esm/validators/numeric-validator.d.ts +0 -15
  1196. package/esm/validators/numeric-validator.d.ts.map +0 -1
  1197. package/esm/validators/numeric-validator.js +0 -18
  1198. package/esm/validators/numeric-validator.js.map +0 -1
  1199. package/esm/validators/object-validator.d.ts +0 -233
  1200. package/esm/validators/object-validator.d.ts.map +0 -1
  1201. package/esm/validators/object-validator.js +0 -517
  1202. package/esm/validators/object-validator.js.map +0 -1
  1203. package/esm/validators/primitive-validator.d.ts +0 -70
  1204. package/esm/validators/primitive-validator.d.ts.map +0 -1
  1205. package/esm/validators/primitive-validator.js +0 -80
  1206. package/esm/validators/primitive-validator.js.map +0 -1
  1207. package/esm/validators/record-validator.d.ts +0 -54
  1208. package/esm/validators/record-validator.d.ts.map +0 -1
  1209. package/esm/validators/record-validator.js +0 -100
  1210. package/esm/validators/record-validator.js.map +0 -1
  1211. package/esm/validators/scalar-validator.d.ts +0 -93
  1212. package/esm/validators/scalar-validator.d.ts.map +0 -1
  1213. package/esm/validators/scalar-validator.js +0 -149
  1214. package/esm/validators/scalar-validator.js.map +0 -1
  1215. package/esm/validators/string-validator.d.ts +0 -189
  1216. package/esm/validators/string-validator.d.ts.map +0 -1
  1217. package/esm/validators/string-validator.js +0 -387
  1218. package/esm/validators/string-validator.js.map +0 -1
  1219. package/esm/validators/tuple-validator.d.ts +0 -56
  1220. package/esm/validators/tuple-validator.d.ts.map +0 -1
  1221. package/esm/validators/tuple-validator.js +0 -121
  1222. package/esm/validators/tuple-validator.js.map +0 -1
  1223. package/esm/validators/union-validator.d.ts +0 -55
  1224. package/esm/validators/union-validator.d.ts.map +0 -1
  1225. package/esm/validators/union-validator.js +0 -60
  1226. package/esm/validators/union-validator.js.map +0 -1
@@ -0,0 +1,398 @@
1
+ import { VALID_RULE, invalidRule } from "../../helpers/validation-helpers.mjs";
2
+ import "../../helpers/index.mjs";
3
+ import { get } from "@mongez/reinforcements";
4
+
5
+ //#region ../../@warlock.js/seal/src/rules/date/date-period-rules.ts
6
+ const MONTHS = {
7
+ 1: "january",
8
+ 2: "february",
9
+ 3: "march",
10
+ 4: "april",
11
+ 5: "may",
12
+ 6: "june",
13
+ 7: "july",
14
+ 8: "august",
15
+ 9: "september",
16
+ 10: "october",
17
+ 11: "november",
18
+ 12: "december"
19
+ };
20
+ /**
21
+ * Month rule - date must be in specific month (1-12)
22
+ */
23
+ const monthRule = {
24
+ name: "month",
25
+ defaultErrorMessage: "The :input must be in month :month",
26
+ async validate(value, context) {
27
+ if (new Date(value).getMonth() + 1 === this.context.options.month) return VALID_RULE;
28
+ this.context.translatableParams.month = MONTHS[this.context.options.month];
29
+ return invalidRule(this, context);
30
+ }
31
+ };
32
+ /**
33
+ * Year rule - date must be in specific year
34
+ */
35
+ const yearRule = {
36
+ name: "year",
37
+ defaultErrorMessage: "The :input must be in year :year",
38
+ async validate(value, context) {
39
+ if (new Date(value).getFullYear() === this.context.options.year) return VALID_RULE;
40
+ this.context.translationParams.year = this.context.options.year;
41
+ return invalidRule(this, context);
42
+ }
43
+ };
44
+ /**
45
+ * Between years rule - date must be between start and end years
46
+ * Supports field names with sibling scope
47
+ */
48
+ const betweenYearsRule = {
49
+ name: "betweenYears",
50
+ defaultErrorMessage: "The :input must be between :startYear and :endYear",
51
+ async validate(value, context) {
52
+ const { startYear, endYear, scope = "global" } = this.context.options;
53
+ const inputYear = new Date(value).getFullYear();
54
+ let compareStartYear;
55
+ if (typeof startYear === "number") compareStartYear = startYear;
56
+ else {
57
+ const fieldValue = get(scope === "sibling" ? context.parent : context.allValues, startYear);
58
+ if (fieldValue === void 0) return VALID_RULE;
59
+ if (fieldValue instanceof Date) compareStartYear = fieldValue.getFullYear();
60
+ else if (typeof fieldValue === "number") compareStartYear = fieldValue;
61
+ else {
62
+ const date = new Date(fieldValue);
63
+ if (!isNaN(date.getTime())) compareStartYear = date.getFullYear();
64
+ else return VALID_RULE;
65
+ }
66
+ }
67
+ let compareEndYear;
68
+ if (typeof endYear === "number") compareEndYear = endYear;
69
+ else {
70
+ const fieldValue = get(scope === "sibling" ? context.parent : context.allValues, endYear);
71
+ if (fieldValue === void 0) return VALID_RULE;
72
+ if (fieldValue instanceof Date) compareEndYear = fieldValue.getFullYear();
73
+ else if (typeof fieldValue === "number") compareEndYear = fieldValue;
74
+ else {
75
+ const date = new Date(fieldValue);
76
+ if (!isNaN(date.getTime())) compareEndYear = date.getFullYear();
77
+ else return VALID_RULE;
78
+ }
79
+ }
80
+ if (inputYear >= compareStartYear && inputYear <= compareEndYear) return VALID_RULE;
81
+ this.context.translationParams.startYear = compareStartYear;
82
+ this.context.translationParams.endYear = compareEndYear;
83
+ return invalidRule(this, context);
84
+ }
85
+ };
86
+ /**
87
+ * Between months rule - date must be between start and end months (1-12)
88
+ * Supports field names with sibling scope
89
+ */
90
+ const betweenMonthsRule = {
91
+ name: "betweenMonths",
92
+ defaultErrorMessage: "The :input must be between month :startMonth and :endMonth",
93
+ async validate(value, context) {
94
+ const { startMonth, endMonth, scope = "global" } = this.context.options;
95
+ const inputMonth = new Date(value).getMonth() + 1;
96
+ let compareStartMonth;
97
+ if (typeof startMonth === "number") {
98
+ compareStartMonth = startMonth;
99
+ this.context.translatableParams.startMonth = MONTHS[compareStartMonth];
100
+ } else {
101
+ const fieldValue = get(scope === "sibling" ? context.parent : context.allValues, startMonth);
102
+ if (fieldValue === void 0) return VALID_RULE;
103
+ this.context.translatableParams.startMonth = startMonth;
104
+ if (fieldValue instanceof Date) compareStartMonth = fieldValue.getMonth() + 1;
105
+ else if (typeof fieldValue === "number") compareStartMonth = fieldValue;
106
+ else {
107
+ const date = new Date(fieldValue);
108
+ if (!isNaN(date.getTime())) compareStartMonth = date.getMonth() + 1;
109
+ else return VALID_RULE;
110
+ }
111
+ }
112
+ let compareEndMonth;
113
+ if (typeof endMonth === "number") {
114
+ compareEndMonth = endMonth;
115
+ this.context.translatableParams.endMonth = MONTHS[compareEndMonth];
116
+ } else {
117
+ const fieldValue = get(scope === "sibling" ? context.parent : context.allValues, endMonth);
118
+ if (fieldValue === void 0) return VALID_RULE;
119
+ this.context.translatableParams.endMonth = endMonth;
120
+ if (fieldValue instanceof Date) compareEndMonth = fieldValue.getMonth() + 1;
121
+ else if (typeof fieldValue === "number") compareEndMonth = fieldValue;
122
+ else {
123
+ const date = new Date(fieldValue);
124
+ if (!isNaN(date.getTime())) compareEndMonth = date.getMonth() + 1;
125
+ else return VALID_RULE;
126
+ }
127
+ }
128
+ if (inputMonth >= compareStartMonth && inputMonth <= compareEndMonth) return VALID_RULE;
129
+ return invalidRule(this, context);
130
+ }
131
+ };
132
+ /**
133
+ * Between days rule - date must be between start and end days (1-31)
134
+ * Supports field names with sibling scope
135
+ */
136
+ const betweenDaysRule = {
137
+ name: "betweenDays",
138
+ defaultErrorMessage: "The :input must be between day :startDay and :endDay",
139
+ async validate(value, context) {
140
+ const { startDay, endDay, scope = "global" } = this.context.options;
141
+ const inputDay = new Date(value).getDate();
142
+ let compareStartDay;
143
+ if (typeof startDay === "number") compareStartDay = startDay;
144
+ else {
145
+ const fieldValue = get(scope === "sibling" ? context.parent : context.allValues, startDay);
146
+ if (fieldValue === void 0) return VALID_RULE;
147
+ if (fieldValue instanceof Date) compareStartDay = fieldValue.getDate();
148
+ else if (typeof fieldValue === "number") compareStartDay = fieldValue;
149
+ else {
150
+ const date = new Date(fieldValue);
151
+ if (!isNaN(date.getTime())) compareStartDay = date.getDate();
152
+ else return VALID_RULE;
153
+ }
154
+ }
155
+ let compareEndDay;
156
+ if (typeof endDay === "number") compareEndDay = endDay;
157
+ else {
158
+ const fieldValue = get(scope === "sibling" ? context.parent : context.allValues, endDay);
159
+ if (fieldValue === void 0) return VALID_RULE;
160
+ if (fieldValue instanceof Date) compareEndDay = fieldValue.getDate();
161
+ else if (typeof fieldValue === "number") compareEndDay = fieldValue;
162
+ else {
163
+ const date = new Date(fieldValue);
164
+ if (!isNaN(date.getTime())) compareEndDay = date.getDate();
165
+ else return VALID_RULE;
166
+ }
167
+ }
168
+ if (inputDay >= compareStartDay && inputDay <= compareEndDay) return VALID_RULE;
169
+ this.context.translationParams.startDay = compareStartDay;
170
+ this.context.translationParams.endDay = compareEndDay;
171
+ return invalidRule(this, context);
172
+ }
173
+ };
174
+ /**
175
+ * Quarter rule - date must be in specific quarter (1-4)
176
+ */
177
+ const quarterRule = {
178
+ name: "quarter",
179
+ defaultErrorMessage: "The :input must be in quarter :quarter",
180
+ async validate(value, context) {
181
+ const month = new Date(value).getMonth() + 1;
182
+ if (Math.ceil(month / 3) === this.context.options.quarter) return VALID_RULE;
183
+ this.context.translationParams.quarter = this.context.options.quarter;
184
+ return invalidRule(this, context);
185
+ }
186
+ };
187
+ /**
188
+ * Between times rule - time must be between start and end times (HH:MM format)
189
+ */
190
+ const betweenTimesRule = {
191
+ name: "betweenTimes",
192
+ defaultErrorMessage: "The :input must be between :startTime and :endTime",
193
+ async validate(value, context) {
194
+ const inputDate = new Date(value);
195
+ const inputHour = inputDate.getHours();
196
+ const inputMinute = inputDate.getMinutes();
197
+ const inputTimeInMinutes = inputHour * 60 + inputMinute;
198
+ const { startTime, endTime } = this.context.options;
199
+ const [startHour, startMinute] = startTime.split(":").map(Number);
200
+ const startTimeInMinutes = startHour * 60 + startMinute;
201
+ const [endHour, endMinute] = endTime.split(":").map(Number);
202
+ const endTimeInMinutes = endHour * 60 + endMinute;
203
+ if (inputTimeInMinutes >= startTimeInMinutes && inputTimeInMinutes <= endTimeInMinutes) return VALID_RULE;
204
+ this.context.translationParams.startTime = startTime;
205
+ this.context.translationParams.endTime = endTime;
206
+ return invalidRule(this, context);
207
+ }
208
+ };
209
+ /**
210
+ * Min year rule - year must be >= given year or field
211
+ * Smart detection: number or field name
212
+ * Supports both global and sibling scope
213
+ */
214
+ const minYearRule = {
215
+ name: "minYear",
216
+ description: "The date year must be at least the given year or field",
217
+ defaultErrorMessage: "The :input year must be higher than :yearOrField",
218
+ async validate(value, context) {
219
+ const { yearOrField, scope = "global" } = this.context.options;
220
+ let compareYear;
221
+ if (typeof yearOrField === "number") {
222
+ compareYear = yearOrField;
223
+ this.context.translationParams.yearOrField = yearOrField;
224
+ } else {
225
+ const fieldValue = get(scope === "sibling" ? context.parent : context.allValues, yearOrField);
226
+ if (fieldValue === void 0) return VALID_RULE;
227
+ this.context.translatableParams.yearOrField = yearOrField;
228
+ if (fieldValue instanceof Date) compareYear = fieldValue.getFullYear();
229
+ else if (typeof fieldValue === "number") compareYear = fieldValue;
230
+ else {
231
+ const date = new Date(fieldValue);
232
+ if (!isNaN(date.getTime())) compareYear = date.getFullYear();
233
+ else return VALID_RULE;
234
+ }
235
+ }
236
+ if (new Date(value).getFullYear() >= compareYear) return VALID_RULE;
237
+ return invalidRule(this, context);
238
+ }
239
+ };
240
+ /**
241
+ * Max year rule - year must be <= given year or field
242
+ * Smart detection: number or field name
243
+ * Supports both global and sibling scope
244
+ */
245
+ const maxYearRule = {
246
+ name: "maxYear",
247
+ description: "The date year must be at most the given year or field",
248
+ defaultErrorMessage: "The :input year must be at most :yearOrField",
249
+ async validate(value, context) {
250
+ const { yearOrField, scope = "global" } = this.context.options;
251
+ let compareYear;
252
+ if (typeof yearOrField === "number") {
253
+ compareYear = yearOrField;
254
+ this.context.translationParams.yearOrField = compareYear;
255
+ } else {
256
+ const fieldValue = get(scope === "sibling" ? context.parent : context.allValues, yearOrField);
257
+ if (fieldValue === void 0) return VALID_RULE;
258
+ this.context.translatableParams.yearOrField = yearOrField;
259
+ if (fieldValue instanceof Date) compareYear = fieldValue.getFullYear();
260
+ else if (typeof fieldValue === "number") compareYear = fieldValue;
261
+ else {
262
+ const date = new Date(fieldValue);
263
+ if (!isNaN(date.getTime())) compareYear = date.getFullYear();
264
+ else return VALID_RULE;
265
+ }
266
+ }
267
+ if (new Date(value).getFullYear() <= compareYear) return VALID_RULE;
268
+ return invalidRule(this, context);
269
+ }
270
+ };
271
+ /**
272
+ * Min month rule - month must be >= given month or field (1-12)
273
+ * Smart detection: number or field name
274
+ * Supports both global and sibling scope
275
+ */
276
+ const minMonthRule = {
277
+ name: "minMonth",
278
+ description: "The date month must be at least the given month or field",
279
+ defaultErrorMessage: "The :input month must be at least :monthOrField",
280
+ async validate(value, context) {
281
+ const { monthOrField, scope = "global" } = this.context.options;
282
+ let compareMonth;
283
+ if (typeof monthOrField === "number") {
284
+ compareMonth = monthOrField;
285
+ this.context.translationParams.monthOrField = compareMonth;
286
+ } else {
287
+ const fieldValue = get(scope === "sibling" ? context.parent : context.allValues, monthOrField);
288
+ if (fieldValue === void 0) return VALID_RULE;
289
+ this.context.translatableParams.monthOrField = monthOrField;
290
+ if (fieldValue instanceof Date) compareMonth = fieldValue.getMonth() + 1;
291
+ else if (typeof fieldValue === "number") compareMonth = fieldValue;
292
+ else {
293
+ const date = new Date(fieldValue);
294
+ if (!isNaN(date.getTime())) compareMonth = date.getMonth() + 1;
295
+ else return VALID_RULE;
296
+ }
297
+ }
298
+ if (new Date(value).getMonth() + 1 >= compareMonth) return VALID_RULE;
299
+ return invalidRule(this, context);
300
+ }
301
+ };
302
+ /**
303
+ * Max month rule - month must be <= given month or field (1-12)
304
+ * Smart detection: number or field name
305
+ * Supports both global and sibling scope
306
+ */
307
+ const maxMonthRule = {
308
+ name: "maxMonth",
309
+ description: "The date month must be at most the given month or field",
310
+ defaultErrorMessage: "The :input month must be at most :monthOrField",
311
+ async validate(value, context) {
312
+ const { monthOrField, scope = "global" } = this.context.options;
313
+ let compareMonth;
314
+ if (typeof monthOrField === "number") {
315
+ compareMonth = monthOrField;
316
+ this.context.translatableParams.monthOrField = MONTHS[monthOrField];
317
+ } else {
318
+ const fieldValue = get(scope === "sibling" ? context.parent : context.allValues, monthOrField);
319
+ if (fieldValue === void 0) return VALID_RULE;
320
+ this.context.translatableParams.monthOrField = monthOrField;
321
+ if (fieldValue instanceof Date) compareMonth = fieldValue.getMonth() + 1;
322
+ else if (typeof fieldValue === "number") compareMonth = fieldValue;
323
+ else {
324
+ const date = new Date(fieldValue);
325
+ if (!isNaN(date.getTime())) compareMonth = date.getMonth() + 1;
326
+ else return VALID_RULE;
327
+ }
328
+ }
329
+ if (new Date(value).getMonth() + 1 <= compareMonth) return VALID_RULE;
330
+ return invalidRule(this, context);
331
+ }
332
+ };
333
+ /**
334
+ * Min day rule - day must be >= given day or field (1-31)
335
+ * Smart detection: number or field name
336
+ * Supports both global and sibling scope
337
+ */
338
+ const minDayRule = {
339
+ name: "minDay",
340
+ description: "The date day must be at least the given day or field",
341
+ defaultErrorMessage: "The :input day must be higher than :dayOrField",
342
+ async validate(value, context) {
343
+ const { dayOrField, scope = "global" } = this.context.options;
344
+ let compareDay;
345
+ if (typeof dayOrField === "number") {
346
+ compareDay = dayOrField;
347
+ this.context.translationParams.dayOrField = dayOrField;
348
+ } else {
349
+ const fieldValue = get(scope === "sibling" ? context.parent : context.allValues, dayOrField);
350
+ if (fieldValue === void 0) return VALID_RULE;
351
+ this.context.translatableParams.dayOrField = dayOrField;
352
+ if (fieldValue instanceof Date) compareDay = fieldValue.getDate();
353
+ else if (typeof fieldValue === "number") compareDay = fieldValue;
354
+ else {
355
+ const date = new Date(fieldValue);
356
+ if (!isNaN(date.getTime())) compareDay = date.getDate();
357
+ else return VALID_RULE;
358
+ }
359
+ }
360
+ if (new Date(value).getDate() >= compareDay) return VALID_RULE;
361
+ return invalidRule(this, context);
362
+ }
363
+ };
364
+ /**
365
+ * Max day rule - day must be <= given day or field (1-31)
366
+ * Smart detection: number or field name
367
+ * Supports both global and sibling scope
368
+ */
369
+ const maxDayRule = {
370
+ name: "maxDay",
371
+ description: "The date day must be at most the given day or field",
372
+ defaultErrorMessage: "The :input day must be at most :dayOrField",
373
+ async validate(value, context) {
374
+ const { dayOrField, scope = "global" } = this.context.options;
375
+ let compareDay;
376
+ if (typeof dayOrField === "number") {
377
+ compareDay = dayOrField;
378
+ this.context.translationParams.dayOrField = dayOrField;
379
+ } else {
380
+ const fieldValue = get(scope === "sibling" ? context.parent : context.allValues, dayOrField);
381
+ if (fieldValue === void 0) return VALID_RULE;
382
+ this.context.translatableParams.dayOrField = dayOrField;
383
+ if (fieldValue instanceof Date) compareDay = fieldValue.getDate();
384
+ else if (typeof fieldValue === "number") compareDay = fieldValue;
385
+ else {
386
+ const date = new Date(fieldValue);
387
+ if (!isNaN(date.getTime())) compareDay = date.getDate();
388
+ else return VALID_RULE;
389
+ }
390
+ }
391
+ if (new Date(value).getDate() <= compareDay) return VALID_RULE;
392
+ return invalidRule(this, context);
393
+ }
394
+ };
395
+
396
+ //#endregion
397
+ export { betweenDaysRule, betweenMonthsRule, betweenTimesRule, betweenYearsRule, maxDayRule, maxMonthRule, maxYearRule, minDayRule, minMonthRule, minYearRule, monthRule, quarterRule, yearRule };
398
+ //# sourceMappingURL=date-period-rules.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-period-rules.mjs","names":[],"sources":["../../../../../../../@warlock.js/seal/src/rules/date/date-period-rules.ts"],"sourcesContent":["import { get } from \"@mongez/reinforcements\";\r\nimport { invalidRule, VALID_RULE } from \"../../helpers\";\r\nimport type { SchemaRule } from \"../../types\";\r\n\r\nconst MONTHS = {\r\n 1: \"january\",\r\n 2: \"february\",\r\n 3: \"march\",\r\n 4: \"april\",\r\n 5: \"may\",\r\n 6: \"june\",\r\n 7: \"july\",\r\n 8: \"august\",\r\n 9: \"september\",\r\n 10: \"october\",\r\n 11: \"november\",\r\n 12: \"december\",\r\n};\r\n\r\nexport type Month = keyof typeof MONTHS;\r\n\r\n/**\r\n * Month rule - date must be in specific month (1-12)\r\n */\r\nexport const monthRule: SchemaRule<{ month: Month }> = {\r\n name: \"month\",\r\n defaultErrorMessage: \"The :input must be in month :month\",\r\n async validate(value: Date, context) {\r\n const inputDate = new Date(value);\r\n const month = inputDate.getMonth() + 1; // getMonth() returns 0-11\r\n\r\n if (month === this.context.options.month) {\r\n return VALID_RULE;\r\n }\r\n\r\n this.context.translatableParams.month =\r\n MONTHS[this.context.options.month as keyof typeof MONTHS];\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Year rule - date must be in specific year\r\n */\r\nexport const yearRule: SchemaRule<{ year: number }> = {\r\n name: \"year\",\r\n defaultErrorMessage: \"The :input must be in year :year\",\r\n async validate(value: Date, context) {\r\n const inputDate = new Date(value);\r\n const year = inputDate.getFullYear();\r\n\r\n if (year === this.context.options.year) {\r\n return VALID_RULE;\r\n }\r\n\r\n this.context.translationParams.year = this.context.options.year;\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Between years rule - date must be between start and end years\r\n * Supports field names with sibling scope\r\n */\r\nexport const betweenYearsRule: SchemaRule<{\r\n startYear: number | string;\r\n endYear: number | string;\r\n scope?: \"global\" | \"sibling\";\r\n}> = {\r\n name: \"betweenYears\",\r\n defaultErrorMessage: \"The :input must be between :startYear and :endYear\",\r\n async validate(value: Date, context) {\r\n const { startYear, endYear, scope = \"global\" } = this.context.options;\r\n const inputDate = new Date(value);\r\n const inputYear = inputDate.getFullYear();\r\n\r\n // Extract start year\r\n let compareStartYear: number;\r\n if (typeof startYear === \"number\") {\r\n compareStartYear = startYear;\r\n } else {\r\n const source = scope === \"sibling\" ? context.parent : context.allValues;\r\n const fieldValue = get(source, startYear);\r\n\r\n if (fieldValue === undefined) {\r\n return VALID_RULE;\r\n }\r\n\r\n if (fieldValue instanceof Date) {\r\n compareStartYear = fieldValue.getFullYear();\r\n } else if (typeof fieldValue === \"number\") {\r\n compareStartYear = fieldValue;\r\n } else {\r\n const date = new Date(fieldValue);\r\n if (!isNaN(date.getTime())) {\r\n compareStartYear = date.getFullYear();\r\n } else {\r\n return VALID_RULE;\r\n }\r\n }\r\n }\r\n\r\n // Extract end year\r\n let compareEndYear: number;\r\n if (typeof endYear === \"number\") {\r\n compareEndYear = endYear;\r\n } else {\r\n const source = scope === \"sibling\" ? context.parent : context.allValues;\r\n const fieldValue = get(source, endYear);\r\n\r\n if (fieldValue === undefined) {\r\n return VALID_RULE;\r\n }\r\n\r\n if (fieldValue instanceof Date) {\r\n compareEndYear = fieldValue.getFullYear();\r\n } else if (typeof fieldValue === \"number\") {\r\n compareEndYear = fieldValue;\r\n } else {\r\n const date = new Date(fieldValue);\r\n if (!isNaN(date.getTime())) {\r\n compareEndYear = date.getFullYear();\r\n } else {\r\n return VALID_RULE;\r\n }\r\n }\r\n }\r\n\r\n if (inputYear >= compareStartYear && inputYear <= compareEndYear) {\r\n return VALID_RULE;\r\n }\r\n\r\n this.context.translationParams.startYear = compareStartYear;\r\n this.context.translationParams.endYear = compareEndYear;\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Between months rule - date must be between start and end months (1-12)\r\n * Supports field names with sibling scope\r\n */\r\nexport const betweenMonthsRule: SchemaRule<{\r\n startMonth: Month | string;\r\n endMonth: Month | string;\r\n scope?: \"global\" | \"sibling\";\r\n}> = {\r\n name: \"betweenMonths\",\r\n defaultErrorMessage: \"The :input must be between month :startMonth and :endMonth\",\r\n async validate(value: Date, context) {\r\n const { startMonth, endMonth, scope = \"global\" } = this.context.options;\r\n const inputDate = new Date(value);\r\n const inputMonth = inputDate.getMonth() + 1; // getMonth() returns 0-11\r\n\r\n // Extract start month\r\n let compareStartMonth: number;\r\n if (typeof startMonth === \"number\") {\r\n compareStartMonth = startMonth;\r\n this.context.translatableParams.startMonth = MONTHS[compareStartMonth as keyof typeof MONTHS];\r\n } else {\r\n const source = scope === \"sibling\" ? context.parent : context.allValues;\r\n const fieldValue = get(source, startMonth);\r\n\r\n if (fieldValue === undefined) {\r\n return VALID_RULE;\r\n }\r\n\r\n this.context.translatableParams.startMonth = startMonth;\r\n\r\n if (fieldValue instanceof Date) {\r\n compareStartMonth = fieldValue.getMonth() + 1;\r\n } else if (typeof fieldValue === \"number\") {\r\n compareStartMonth = fieldValue;\r\n } else {\r\n const date = new Date(fieldValue);\r\n if (!isNaN(date.getTime())) {\r\n compareStartMonth = date.getMonth() + 1;\r\n } else {\r\n return VALID_RULE;\r\n }\r\n }\r\n }\r\n\r\n // Extract end month\r\n let compareEndMonth: number;\r\n if (typeof endMonth === \"number\") {\r\n compareEndMonth = endMonth;\r\n this.context.translatableParams.endMonth = MONTHS[compareEndMonth as keyof typeof MONTHS];\r\n } else {\r\n const source = scope === \"sibling\" ? context.parent : context.allValues;\r\n const fieldValue = get(source, endMonth);\r\n\r\n if (fieldValue === undefined) {\r\n return VALID_RULE;\r\n }\r\n\r\n this.context.translatableParams.endMonth = endMonth;\r\n\r\n if (fieldValue instanceof Date) {\r\n compareEndMonth = fieldValue.getMonth() + 1;\r\n } else if (typeof fieldValue === \"number\") {\r\n compareEndMonth = fieldValue;\r\n } else {\r\n const date = new Date(fieldValue);\r\n if (!isNaN(date.getTime())) {\r\n compareEndMonth = date.getMonth() + 1;\r\n } else {\r\n return VALID_RULE;\r\n }\r\n }\r\n }\r\n\r\n if (inputMonth >= compareStartMonth && inputMonth <= compareEndMonth) {\r\n return VALID_RULE;\r\n }\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Between days rule - date must be between start and end days (1-31)\r\n * Supports field names with sibling scope\r\n */\r\nexport const betweenDaysRule: SchemaRule<{\r\n startDay: number | string;\r\n endDay: number | string;\r\n scope?: \"global\" | \"sibling\";\r\n}> = {\r\n name: \"betweenDays\",\r\n defaultErrorMessage: \"The :input must be between day :startDay and :endDay\",\r\n async validate(value: Date, context) {\r\n const { startDay, endDay, scope = \"global\" } = this.context.options;\r\n const inputDate = new Date(value);\r\n const inputDay = inputDate.getDate();\r\n\r\n // Extract start day\r\n let compareStartDay: number;\r\n if (typeof startDay === \"number\") {\r\n compareStartDay = startDay;\r\n } else {\r\n const source = scope === \"sibling\" ? context.parent : context.allValues;\r\n const fieldValue = get(source, startDay);\r\n\r\n if (fieldValue === undefined) {\r\n return VALID_RULE;\r\n }\r\n\r\n if (fieldValue instanceof Date) {\r\n compareStartDay = fieldValue.getDate();\r\n } else if (typeof fieldValue === \"number\") {\r\n compareStartDay = fieldValue;\r\n } else {\r\n const date = new Date(fieldValue);\r\n if (!isNaN(date.getTime())) {\r\n compareStartDay = date.getDate();\r\n } else {\r\n return VALID_RULE;\r\n }\r\n }\r\n }\r\n\r\n // Extract end day\r\n let compareEndDay: number;\r\n if (typeof endDay === \"number\") {\r\n compareEndDay = endDay;\r\n } else {\r\n const source = scope === \"sibling\" ? context.parent : context.allValues;\r\n const fieldValue = get(source, endDay);\r\n\r\n if (fieldValue === undefined) {\r\n return VALID_RULE;\r\n }\r\n\r\n if (fieldValue instanceof Date) {\r\n compareEndDay = fieldValue.getDate();\r\n } else if (typeof fieldValue === \"number\") {\r\n compareEndDay = fieldValue;\r\n } else {\r\n const date = new Date(fieldValue);\r\n if (!isNaN(date.getTime())) {\r\n compareEndDay = date.getDate();\r\n } else {\r\n return VALID_RULE;\r\n }\r\n }\r\n }\r\n\r\n if (inputDay >= compareStartDay && inputDay <= compareEndDay) {\r\n return VALID_RULE;\r\n }\r\n\r\n this.context.translationParams.startDay = compareStartDay;\r\n this.context.translationParams.endDay = compareEndDay;\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Quarter rule - date must be in specific quarter (1-4)\r\n */\r\nexport const quarterRule: SchemaRule<{ quarter: 1 | 2 | 3 | 4 }> = {\r\n name: \"quarter\",\r\n defaultErrorMessage: \"The :input must be in quarter :quarter\",\r\n async validate(value: Date, context) {\r\n const inputDate = new Date(value);\r\n const month = inputDate.getMonth() + 1;\r\n const quarter = Math.ceil(month / 3);\r\n\r\n if (quarter === this.context.options.quarter) {\r\n return VALID_RULE;\r\n }\r\n\r\n this.context.translationParams.quarter = this.context.options.quarter;\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Between times rule - time must be between start and end times (HH:MM format)\r\n */\r\nexport const betweenTimesRule: SchemaRule<{\r\n startTime: string;\r\n endTime: string;\r\n}> = {\r\n name: \"betweenTimes\",\r\n defaultErrorMessage: \"The :input must be between :startTime and :endTime\",\r\n async validate(value: Date, context) {\r\n const inputDate = new Date(value);\r\n const inputHour = inputDate.getHours();\r\n const inputMinute = inputDate.getMinutes();\r\n const inputTimeInMinutes = inputHour * 60 + inputMinute;\r\n\r\n const { startTime, endTime } = this.context.options;\r\n\r\n // Parse start time\r\n const [startHour, startMinute] = startTime.split(\":\").map(Number);\r\n const startTimeInMinutes = startHour * 60 + startMinute;\r\n\r\n // Parse end time\r\n const [endHour, endMinute] = endTime.split(\":\").map(Number);\r\n const endTimeInMinutes = endHour * 60 + endMinute;\r\n\r\n if (inputTimeInMinutes >= startTimeInMinutes && inputTimeInMinutes <= endTimeInMinutes) {\r\n return VALID_RULE;\r\n }\r\n\r\n this.context.translationParams.startTime = startTime;\r\n this.context.translationParams.endTime = endTime;\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Min year rule - year must be >= given year or field\r\n * Smart detection: number or field name\r\n * Supports both global and sibling scope\r\n */\r\nexport const minYearRule: SchemaRule<{\r\n yearOrField: number | string;\r\n scope?: \"global\" | \"sibling\";\r\n}> = {\r\n name: \"minYear\",\r\n description: \"The date year must be at least the given year or field\",\r\n defaultErrorMessage: \"The :input year must be higher than :yearOrField\",\r\n async validate(value: Date, context) {\r\n const { yearOrField, scope = \"global\" } = this.context.options;\r\n let compareYear: number;\r\n\r\n if (typeof yearOrField === \"number\") {\r\n compareYear = yearOrField;\r\n this.context.translationParams.yearOrField = yearOrField;\r\n } else {\r\n const source = scope === \"sibling\" ? context.parent : context.allValues;\r\n const fieldValue = get(source, yearOrField);\r\n\r\n if (fieldValue === undefined) {\r\n return VALID_RULE;\r\n }\r\n\r\n this.context.translatableParams.yearOrField = yearOrField;\r\n\r\n // If field contains a date, extract the year\r\n if (fieldValue instanceof Date) {\r\n compareYear = fieldValue.getFullYear();\r\n } else if (typeof fieldValue === \"number\") {\r\n compareYear = fieldValue;\r\n } else {\r\n // Try to parse as date and extract year\r\n const date = new Date(fieldValue);\r\n if (!isNaN(date.getTime())) {\r\n compareYear = date.getFullYear();\r\n } else {\r\n return VALID_RULE;\r\n }\r\n }\r\n }\r\n\r\n const inputDate = new Date(value);\r\n const inputYear = inputDate.getFullYear();\r\n\r\n if (inputYear >= compareYear) {\r\n return VALID_RULE;\r\n }\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Max year rule - year must be <= given year or field\r\n * Smart detection: number or field name\r\n * Supports both global and sibling scope\r\n */\r\nexport const maxYearRule: SchemaRule<{\r\n yearOrField: number | string;\r\n scope?: \"global\" | \"sibling\";\r\n}> = {\r\n name: \"maxYear\",\r\n description: \"The date year must be at most the given year or field\",\r\n defaultErrorMessage: \"The :input year must be at most :yearOrField\",\r\n async validate(value: Date, context) {\r\n const { yearOrField, scope = \"global\" } = this.context.options;\r\n let compareYear: number;\r\n\r\n if (typeof yearOrField === \"number\") {\r\n compareYear = yearOrField;\r\n this.context.translationParams.yearOrField = compareYear;\r\n } else {\r\n const source = scope === \"sibling\" ? context.parent : context.allValues;\r\n const fieldValue = get(source, yearOrField);\r\n\r\n if (fieldValue === undefined) {\r\n return VALID_RULE;\r\n }\r\n\r\n this.context.translatableParams.yearOrField = yearOrField;\r\n\r\n // If field contains a date, extract the year\r\n if (fieldValue instanceof Date) {\r\n compareYear = fieldValue.getFullYear();\r\n } else if (typeof fieldValue === \"number\") {\r\n compareYear = fieldValue;\r\n } else {\r\n // Try to parse as date and extract year\r\n const date = new Date(fieldValue);\r\n if (!isNaN(date.getTime())) {\r\n compareYear = date.getFullYear();\r\n } else {\r\n return VALID_RULE;\r\n }\r\n }\r\n }\r\n\r\n const inputDate = new Date(value);\r\n const inputYear = inputDate.getFullYear();\r\n\r\n if (inputYear <= compareYear) {\r\n return VALID_RULE;\r\n }\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Min month rule - month must be >= given month or field (1-12)\r\n * Smart detection: number or field name\r\n * Supports both global and sibling scope\r\n */\r\nexport const minMonthRule: SchemaRule<{\r\n monthOrField: number | string;\r\n scope?: \"global\" | \"sibling\";\r\n}> = {\r\n name: \"minMonth\",\r\n description: \"The date month must be at least the given month or field\",\r\n defaultErrorMessage: \"The :input month must be at least :monthOrField\",\r\n async validate(value: Date, context) {\r\n const { monthOrField, scope = \"global\" } = this.context.options;\r\n let compareMonth: number;\r\n\r\n if (typeof monthOrField === \"number\") {\r\n compareMonth = monthOrField;\r\n this.context.translationParams.monthOrField = compareMonth;\r\n } else {\r\n const source = scope === \"sibling\" ? context.parent : context.allValues;\r\n const fieldValue = get(source, monthOrField);\r\n\r\n if (fieldValue === undefined) {\r\n return VALID_RULE;\r\n }\r\n\r\n this.context.translatableParams.monthOrField = monthOrField;\r\n\r\n // If field contains a date, extract the month\r\n if (fieldValue instanceof Date) {\r\n compareMonth = fieldValue.getMonth() + 1; // getMonth() returns 0-11\r\n } else if (typeof fieldValue === \"number\") {\r\n compareMonth = fieldValue;\r\n } else {\r\n // Try to parse as date and extract month\r\n const date = new Date(fieldValue);\r\n if (!isNaN(date.getTime())) {\r\n compareMonth = date.getMonth() + 1;\r\n } else {\r\n return VALID_RULE;\r\n }\r\n }\r\n }\r\n\r\n const inputDate = new Date(value);\r\n const inputMonth = inputDate.getMonth() + 1; // getMonth() returns 0-11\r\n\r\n if (inputMonth >= compareMonth) {\r\n return VALID_RULE;\r\n }\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Max month rule - month must be <= given month or field (1-12)\r\n * Smart detection: number or field name\r\n * Supports both global and sibling scope\r\n */\r\nexport const maxMonthRule: SchemaRule<{\r\n monthOrField: Month | string;\r\n scope?: \"global\" | \"sibling\";\r\n}> = {\r\n name: \"maxMonth\",\r\n description: \"The date month must be at most the given month or field\",\r\n defaultErrorMessage: \"The :input month must be at most :monthOrField\",\r\n async validate(value: Date, context) {\r\n const { monthOrField, scope = \"global\" } = this.context.options;\r\n let compareMonth: number;\r\n\r\n if (typeof monthOrField === \"number\") {\r\n compareMonth = monthOrField;\r\n this.context.translatableParams.monthOrField = MONTHS[monthOrField];\r\n } else {\r\n const source = scope === \"sibling\" ? context.parent : context.allValues;\r\n const fieldValue = get(source, monthOrField);\r\n\r\n if (fieldValue === undefined) {\r\n return VALID_RULE;\r\n }\r\n\r\n this.context.translatableParams.monthOrField = monthOrField;\r\n\r\n // If field contains a date, extract the month\r\n if (fieldValue instanceof Date) {\r\n compareMonth = fieldValue.getMonth() + 1; // getMonth() returns 0-11\r\n } else if (typeof fieldValue === \"number\") {\r\n compareMonth = fieldValue;\r\n } else {\r\n // Try to parse as date and extract month\r\n const date = new Date(fieldValue);\r\n if (!isNaN(date.getTime())) {\r\n compareMonth = date.getMonth() + 1;\r\n } else {\r\n return VALID_RULE;\r\n }\r\n }\r\n }\r\n\r\n const inputDate = new Date(value);\r\n const inputMonth = inputDate.getMonth() + 1; // getMonth() returns 0-11\r\n\r\n if (inputMonth <= compareMonth) {\r\n return VALID_RULE;\r\n }\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Min day rule - day must be >= given day or field (1-31)\r\n * Smart detection: number or field name\r\n * Supports both global and sibling scope\r\n */\r\nexport const minDayRule: SchemaRule<{\r\n dayOrField: number | string;\r\n scope?: \"global\" | \"sibling\";\r\n}> = {\r\n name: \"minDay\",\r\n description: \"The date day must be at least the given day or field\",\r\n defaultErrorMessage: \"The :input day must be higher than :dayOrField\",\r\n async validate(value: Date, context) {\r\n const { dayOrField, scope = \"global\" } = this.context.options;\r\n let compareDay: number;\r\n\r\n if (typeof dayOrField === \"number\") {\r\n compareDay = dayOrField;\r\n this.context.translationParams.dayOrField = dayOrField;\r\n } else {\r\n const source = scope === \"sibling\" ? context.parent : context.allValues;\r\n const fieldValue = get(source, dayOrField);\r\n\r\n if (fieldValue === undefined) {\r\n return VALID_RULE;\r\n }\r\n\r\n this.context.translatableParams.dayOrField = dayOrField;\r\n\r\n // If field contains a date, extract the day\r\n if (fieldValue instanceof Date) {\r\n compareDay = fieldValue.getDate();\r\n } else if (typeof fieldValue === \"number\") {\r\n compareDay = fieldValue;\r\n } else {\r\n // Try to parse as date and extract day\r\n const date = new Date(fieldValue);\r\n if (!isNaN(date.getTime())) {\r\n compareDay = date.getDate();\r\n } else {\r\n return VALID_RULE;\r\n }\r\n }\r\n }\r\n\r\n const inputDate = new Date(value);\r\n const inputDay = inputDate.getDate();\r\n\r\n if (inputDay >= compareDay) {\r\n return VALID_RULE;\r\n }\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Max day rule - day must be <= given day or field (1-31)\r\n * Smart detection: number or field name\r\n * Supports both global and sibling scope\r\n */\r\nexport const maxDayRule: SchemaRule<{\r\n dayOrField: number | string;\r\n scope?: \"global\" | \"sibling\";\r\n}> = {\r\n name: \"maxDay\",\r\n description: \"The date day must be at most the given day or field\",\r\n defaultErrorMessage: \"The :input day must be at most :dayOrField\",\r\n async validate(value: Date, context) {\r\n const { dayOrField, scope = \"global\" } = this.context.options;\r\n let compareDay: number;\r\n\r\n if (typeof dayOrField === \"number\") {\r\n compareDay = dayOrField;\r\n this.context.translationParams.dayOrField = dayOrField;\r\n } else {\r\n const source = scope === \"sibling\" ? context.parent : context.allValues;\r\n const fieldValue = get(source, dayOrField);\r\n\r\n if (fieldValue === undefined) {\r\n return VALID_RULE;\r\n }\r\n\r\n this.context.translatableParams.dayOrField = dayOrField;\r\n\r\n // If field contains a date, extract the day\r\n if (fieldValue instanceof Date) {\r\n compareDay = fieldValue.getDate();\r\n } else if (typeof fieldValue === \"number\") {\r\n compareDay = fieldValue;\r\n } else {\r\n // Try to parse as date and extract day\r\n const date = new Date(fieldValue);\r\n if (!isNaN(date.getTime())) {\r\n compareDay = date.getDate();\r\n } else {\r\n return VALID_RULE;\r\n }\r\n }\r\n }\r\n\r\n const inputDate = new Date(value);\r\n const inputDay = inputDate.getDate();\r\n\r\n if (inputDay <= compareDay) {\r\n return VALID_RULE;\r\n }\r\n return invalidRule(this, context);\r\n },\r\n};\r\n"],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { SchemaRule } from "../../types/rule-types.mjs";
2
+
3
+ //#region ../../@warlock.js/seal/src/rules/date/date-relative-rules.d.ts
4
+ /**
5
+ * Within days rule - date must be within X days from now (past or future)
6
+ */
7
+ declare const withinDaysRule: SchemaRule<{
8
+ days: number;
9
+ }>;
10
+ /**
11
+ * Within past days rule - date must be within X days in the past
12
+ */
13
+ declare const withinPastDaysRule: SchemaRule<{
14
+ days: number;
15
+ }>;
16
+ /**
17
+ * Within future days rule - date must be within X days in the future
18
+ */
19
+ declare const withinFutureDaysRule: SchemaRule<{
20
+ days: number;
21
+ }>;
22
+ //#endregion
23
+ export { withinDaysRule, withinFutureDaysRule, withinPastDaysRule };
24
+ //# sourceMappingURL=date-relative-rules.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-relative-rules.d.mts","names":[],"sources":["../../../../../../../@warlock.js/seal/src/rules/date/date-relative-rules.ts"],"mappings":";;;;;AAMA;cAAa,cAAA,EAAgB,UAAU;EAAG,IAAI;AAAA;AAAA;AAsB9C;;AAtB8C,cAsBjC,kBAAA,EAAoB,UAAU;EAAG,IAAI;AAAA;AA2BlD;;;AAAA,cAAa,oBAAA,EAAsB,UAAU;EAAG,IAAI;AAAA"}
@@ -0,0 +1,55 @@
1
+ import { VALID_RULE, invalidRule } from "../../helpers/validation-helpers.mjs";
2
+ import "../../helpers/index.mjs";
3
+
4
+ //#region ../../@warlock.js/seal/src/rules/date/date-relative-rules.ts
5
+ /**
6
+ * Within days rule - date must be within X days from now (past or future)
7
+ */
8
+ const withinDaysRule = {
9
+ name: "withinDays",
10
+ defaultErrorMessage: "The :input must be within :days days from now",
11
+ async validate(value, context) {
12
+ const now = /* @__PURE__ */ new Date();
13
+ const inputDate = new Date(value);
14
+ const diffTime = Math.abs(inputDate.getTime() - now.getTime());
15
+ if (Math.ceil(diffTime / (1e3 * 60 * 60 * 24)) <= this.context.options.days) return VALID_RULE;
16
+ this.context.translationParams.days = this.context.options.days;
17
+ return invalidRule(this, context);
18
+ }
19
+ };
20
+ /**
21
+ * Within past days rule - date must be within X days in the past
22
+ */
23
+ const withinPastDaysRule = {
24
+ name: "withinPastDays",
25
+ defaultErrorMessage: "The :input must be within the past :days days",
26
+ async validate(value, context) {
27
+ const now = /* @__PURE__ */ new Date();
28
+ const inputDate = new Date(value);
29
+ if (inputDate > now) return invalidRule(this, context);
30
+ const diffTime = now.getTime() - inputDate.getTime();
31
+ if (Math.ceil(diffTime / (1e3 * 60 * 60 * 24)) <= this.context.options.days) return VALID_RULE;
32
+ this.context.translationParams.days = this.context.options.days;
33
+ return invalidRule(this, context);
34
+ }
35
+ };
36
+ /**
37
+ * Within future days rule - date must be within X days in the future
38
+ */
39
+ const withinFutureDaysRule = {
40
+ name: "withinFutureDays",
41
+ defaultErrorMessage: "The :input must be within the next :days days",
42
+ async validate(value, context) {
43
+ const now = /* @__PURE__ */ new Date();
44
+ const inputDate = new Date(value);
45
+ if (inputDate < now) return invalidRule(this, context);
46
+ const diffTime = inputDate.getTime() - now.getTime();
47
+ if (Math.ceil(diffTime / (1e3 * 60 * 60 * 24)) <= this.context.options.days) return VALID_RULE;
48
+ this.context.translationParams.days = this.context.options.days;
49
+ return invalidRule(this, context);
50
+ }
51
+ };
52
+
53
+ //#endregion
54
+ export { withinDaysRule, withinFutureDaysRule, withinPastDaysRule };
55
+ //# sourceMappingURL=date-relative-rules.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-relative-rules.mjs","names":[],"sources":["../../../../../../../@warlock.js/seal/src/rules/date/date-relative-rules.ts"],"sourcesContent":["import { invalidRule, VALID_RULE } from \"../../helpers\";\r\nimport type { SchemaRule } from \"../../types\";\r\n\r\n/**\r\n * Within days rule - date must be within X days from now (past or future)\r\n */\r\nexport const withinDaysRule: SchemaRule<{ days: number }> = {\r\n name: \"withinDays\",\r\n defaultErrorMessage: \"The :input must be within :days days from now\",\r\n async validate(value: Date, context) {\r\n const now = new Date();\r\n const inputDate = new Date(value);\r\n const diffTime = Math.abs(inputDate.getTime() - now.getTime());\r\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\r\n\r\n if (diffDays <= this.context.options.days) {\r\n return VALID_RULE;\r\n }\r\n\r\n this.context.translationParams.days = this.context.options.days;\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Within past days rule - date must be within X days in the past\r\n */\r\nexport const withinPastDaysRule: SchemaRule<{ days: number }> = {\r\n name: \"withinPastDays\",\r\n defaultErrorMessage: \"The :input must be within the past :days days\",\r\n async validate(value: Date, context) {\r\n const now = new Date();\r\n const inputDate = new Date(value);\r\n\r\n if (inputDate > now) {\r\n return invalidRule(this, context); // Must be in past\r\n }\r\n\r\n const diffTime = now.getTime() - inputDate.getTime();\r\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\r\n\r\n if (diffDays <= this.context.options.days) {\r\n return VALID_RULE;\r\n }\r\n\r\n this.context.translationParams.days = this.context.options.days;\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Within future days rule - date must be within X days in the future\r\n */\r\nexport const withinFutureDaysRule: SchemaRule<{ days: number }> = {\r\n name: \"withinFutureDays\",\r\n defaultErrorMessage: \"The :input must be within the next :days days\",\r\n async validate(value: Date, context) {\r\n const now = new Date();\r\n const inputDate = new Date(value);\r\n\r\n if (inputDate < now) {\r\n return invalidRule(this, context); // Must be in future\r\n }\r\n\r\n const diffTime = inputDate.getTime() - now.getTime();\r\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\r\n\r\n if (diffDays <= this.context.options.days) {\r\n return VALID_RULE;\r\n }\r\n\r\n this.context.translationParams.days = this.context.options.days;\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n"],"mappings":";;;;;;;AAMA,MAAa,iBAA+C;CAC1D,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAa,SAAS;EACnC,MAAM,sBAAM,IAAI,KAAK;EACrB,MAAM,YAAY,IAAI,KAAK,KAAK;EAChC,MAAM,WAAW,KAAK,IAAI,UAAU,QAAQ,IAAI,IAAI,QAAQ,CAAC;EAG7D,IAFiB,KAAK,KAAK,YAAY,MAAO,KAAK,KAAK,GAE7C,KAAK,KAAK,QAAQ,QAAQ,MACnC,OAAO;EAGT,KAAK,QAAQ,kBAAkB,OAAO,KAAK,QAAQ,QAAQ;EAE3D,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,qBAAmD;CAC9D,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAa,SAAS;EACnC,MAAM,sBAAM,IAAI,KAAK;EACrB,MAAM,YAAY,IAAI,KAAK,KAAK;EAEhC,IAAI,YAAY,KACd,OAAO,YAAY,MAAM,OAAO;EAGlC,MAAM,WAAW,IAAI,QAAQ,IAAI,UAAU,QAAQ;EAGnD,IAFiB,KAAK,KAAK,YAAY,MAAO,KAAK,KAAK,GAE7C,KAAK,KAAK,QAAQ,QAAQ,MACnC,OAAO;EAGT,KAAK,QAAQ,kBAAkB,OAAO,KAAK,QAAQ,QAAQ;EAE3D,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,uBAAqD;CAChE,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAa,SAAS;EACnC,MAAM,sBAAM,IAAI,KAAK;EACrB,MAAM,YAAY,IAAI,KAAK,KAAK;EAEhC,IAAI,YAAY,KACd,OAAO,YAAY,MAAM,OAAO;EAGlC,MAAM,WAAW,UAAU,QAAQ,IAAI,IAAI,QAAQ;EAGnD,IAFiB,KAAK,KAAK,YAAY,MAAO,KAAK,KAAK,GAE7C,KAAK,KAAK,QAAQ,QAAQ,MACnC,OAAO;EAGT,KAAK,QAAQ,kBAAkB,OAAO,KAAK,QAAQ,QAAQ;EAE3D,OAAO,YAAY,MAAM,OAAO;CAClC;AACF"}
@@ -0,0 +1,24 @@
1
+ import { SchemaRule } from "../../types/rule-types.mjs";
2
+
3
+ //#region ../../@warlock.js/seal/src/rules/date/date-special-rules.d.ts
4
+ /**
5
+ * Birthday rule - valid birthday (not in future, reasonable age)
6
+ */
7
+ declare const birthdayRule: SchemaRule<{
8
+ minAge?: number;
9
+ maxAge?: number;
10
+ }>;
11
+ /**
12
+ * Between age rule - age must be between min and max years
13
+ */
14
+ declare const betweenAgeRule: SchemaRule<{
15
+ minAge: number;
16
+ maxAge: number;
17
+ }>;
18
+ /**
19
+ * Leap year rule - date must be in a leap year
20
+ */
21
+ declare const leapYearRule: SchemaRule;
22
+ //#endregion
23
+ export { betweenAgeRule, birthdayRule, leapYearRule };
24
+ //# sourceMappingURL=date-special-rules.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-special-rules.d.mts","names":[],"sources":["../../../../../../../@warlock.js/seal/src/rules/date/date-special-rules.ts"],"mappings":";;;;;AAMA;cAAa,YAAA,EAAc,UAAU;EAAG,MAAA;EAAiB,MAAA;AAAA;;;;cAsC5C,cAAA,EAAgB,UAAU;EAAG,MAAA;EAAgB,MAAA;AAAA;;;;cA6B7C,YAAA,EAAc,UAgB1B"}
@@ -0,0 +1,58 @@
1
+ import { VALID_RULE, invalidRule } from "../../helpers/validation-helpers.mjs";
2
+ import "../../helpers/index.mjs";
3
+
4
+ //#region ../../@warlock.js/seal/src/rules/date/date-special-rules.ts
5
+ /**
6
+ * Birthday rule - valid birthday (not in future, reasonable age)
7
+ */
8
+ const birthdayRule = {
9
+ name: "birthday",
10
+ defaultErrorMessage: "The :input must be a valid birthday",
11
+ async validate(birthDate, context) {
12
+ const today = /* @__PURE__ */ new Date();
13
+ if (birthDate > today) return invalidRule(this, context);
14
+ let age = today.getFullYear() - birthDate.getFullYear();
15
+ const monthDiff = today.getMonth() - birthDate.getMonth();
16
+ if (monthDiff < 0 || monthDiff === 0 && today.getDate() < birthDate.getDate()) age--;
17
+ const minAge = this.context.options.minAge ?? 0;
18
+ if (age < minAge) return invalidRule(this, context);
19
+ const maxAge = this.context.options.maxAge ?? 150;
20
+ if (age > maxAge) return invalidRule(this, context);
21
+ return VALID_RULE;
22
+ }
23
+ };
24
+ /**
25
+ * Between age rule - age must be between min and max years
26
+ */
27
+ const betweenAgeRule = {
28
+ name: "betweenAge",
29
+ defaultErrorMessage: "Age must be between :minAge and :maxAge years",
30
+ async validate(value, context) {
31
+ const birthDate = new Date(value);
32
+ const today = /* @__PURE__ */ new Date();
33
+ let age = today.getFullYear() - birthDate.getFullYear();
34
+ const monthDiff = today.getMonth() - birthDate.getMonth();
35
+ if (monthDiff < 0 || monthDiff === 0 && today.getDate() < birthDate.getDate()) age--;
36
+ const { minAge, maxAge } = this.context.options;
37
+ if (age >= minAge && age <= maxAge) return VALID_RULE;
38
+ this.context.translationParams.minAge = minAge;
39
+ this.context.translationParams.maxAge = maxAge;
40
+ return invalidRule(this, context);
41
+ }
42
+ };
43
+ /**
44
+ * Leap year rule - date must be in a leap year
45
+ */
46
+ const leapYearRule = {
47
+ name: "leapYear",
48
+ defaultErrorMessage: "The :input must be in a leap year",
49
+ async validate(value, context) {
50
+ const year = new Date(value).getFullYear();
51
+ if (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) return VALID_RULE;
52
+ return invalidRule(this, context);
53
+ }
54
+ };
55
+
56
+ //#endregion
57
+ export { betweenAgeRule, birthdayRule, leapYearRule };
58
+ //# sourceMappingURL=date-special-rules.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-special-rules.mjs","names":[],"sources":["../../../../../../../@warlock.js/seal/src/rules/date/date-special-rules.ts"],"sourcesContent":["import { invalidRule, VALID_RULE } from \"../../helpers\";\r\nimport type { SchemaRule } from \"../../types\";\r\n\r\n/**\r\n * Birthday rule - valid birthday (not in future, reasonable age)\r\n */\r\nexport const birthdayRule: SchemaRule<{ minAge?: number; maxAge?: number }> = {\r\n name: \"birthday\",\r\n defaultErrorMessage: \"The :input must be a valid birthday\",\r\n async validate(birthDate: Date, context) {\r\n const today = new Date();\r\n\r\n // Must not be in the future\r\n if (birthDate > today) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n // Calculate age\r\n let age = today.getFullYear() - birthDate.getFullYear();\r\n const monthDiff = today.getMonth() - birthDate.getMonth();\r\n\r\n if (monthDiff < 0 || (monthDiff === 0 && today.getDate() < birthDate.getDate())) {\r\n age--;\r\n }\r\n\r\n // Check minimum age (default: 0)\r\n const minAge = this.context.options.minAge ?? 0;\r\n if (age < minAge) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n // Check maximum age (default: 150)\r\n const maxAge = this.context.options.maxAge ?? 150;\r\n if (age > maxAge) {\r\n return invalidRule(this, context);\r\n }\r\n\r\n return VALID_RULE;\r\n },\r\n};\r\n\r\n/**\r\n * Between age rule - age must be between min and max years\r\n */\r\nexport const betweenAgeRule: SchemaRule<{ minAge: number; maxAge: number }> = {\r\n name: \"betweenAge\",\r\n defaultErrorMessage: \"Age must be between :minAge and :maxAge years\",\r\n async validate(value: Date, context) {\r\n const birthDate = new Date(value);\r\n const today = new Date();\r\n let age = today.getFullYear() - birthDate.getFullYear();\r\n const monthDiff = today.getMonth() - birthDate.getMonth();\r\n\r\n if (monthDiff < 0 || (monthDiff === 0 && today.getDate() < birthDate.getDate())) {\r\n age--;\r\n }\r\n\r\n const { minAge, maxAge } = this.context.options;\r\n\r\n if (age >= minAge && age <= maxAge) {\r\n return VALID_RULE;\r\n }\r\n\r\n this.context.translationParams.minAge = minAge;\r\n this.context.translationParams.maxAge = maxAge;\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n\r\n/**\r\n * Leap year rule - date must be in a leap year\r\n */\r\nexport const leapYearRule: SchemaRule = {\r\n name: \"leapYear\",\r\n defaultErrorMessage: \"The :input must be in a leap year\",\r\n async validate(value: Date, context) {\r\n const inputDate = new Date(value);\r\n const year = inputDate.getFullYear();\r\n\r\n // Leap year logic: divisible by 4, except century years unless divisible by 400\r\n const isLeapYear = (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\r\n\r\n if (isLeapYear) {\r\n return VALID_RULE;\r\n }\r\n\r\n return invalidRule(this, context);\r\n },\r\n};\r\n"],"mappings":";;;;;;;AAMA,MAAa,eAAiE;CAC5E,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,WAAiB,SAAS;EACvC,MAAM,wBAAQ,IAAI,KAAK;EAGvB,IAAI,YAAY,OACd,OAAO,YAAY,MAAM,OAAO;EAIlC,IAAI,MAAM,MAAM,YAAY,IAAI,UAAU,YAAY;EACtD,MAAM,YAAY,MAAM,SAAS,IAAI,UAAU,SAAS;EAExD,IAAI,YAAY,KAAM,cAAc,KAAK,MAAM,QAAQ,IAAI,UAAU,QAAQ,GAC3E;EAIF,MAAM,SAAS,KAAK,QAAQ,QAAQ,UAAU;EAC9C,IAAI,MAAM,QACR,OAAO,YAAY,MAAM,OAAO;EAIlC,MAAM,SAAS,KAAK,QAAQ,QAAQ,UAAU;EAC9C,IAAI,MAAM,QACR,OAAO,YAAY,MAAM,OAAO;EAGlC,OAAO;CACT;AACF;;;;AAKA,MAAa,iBAAiE;CAC5E,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAa,SAAS;EACnC,MAAM,YAAY,IAAI,KAAK,KAAK;EAChC,MAAM,wBAAQ,IAAI,KAAK;EACvB,IAAI,MAAM,MAAM,YAAY,IAAI,UAAU,YAAY;EACtD,MAAM,YAAY,MAAM,SAAS,IAAI,UAAU,SAAS;EAExD,IAAI,YAAY,KAAM,cAAc,KAAK,MAAM,QAAQ,IAAI,UAAU,QAAQ,GAC3E;EAGF,MAAM,EAAE,QAAQ,WAAW,KAAK,QAAQ;EAExC,IAAI,OAAO,UAAU,OAAO,QAC1B,OAAO;EAGT,KAAK,QAAQ,kBAAkB,SAAS;EACxC,KAAK,QAAQ,kBAAkB,SAAS;EAExC,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,eAA2B;CACtC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAa,SAAS;EAEnC,MAAM,OAAO,IADS,KAAK,KACN,EAAE,YAAY;EAKnC,IAFoB,OAAO,MAAM,KAAK,OAAO,QAAQ,KAAM,OAAO,QAAQ,GAGxE,OAAO;EAGT,OAAO,YAAY,MAAM,OAAO;CAClC;AACF"}