@warlock.js/seal 3.0.14

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 (642) hide show
  1. package/README.md +373 -0
  2. package/cjs/config.d.ts +48 -0
  3. package/cjs/config.d.ts.map +1 -0
  4. package/cjs/config.js +42 -0
  5. package/cjs/config.js.map +1 -0
  6. package/cjs/factory/index.d.ts +3 -0
  7. package/cjs/factory/index.d.ts.map +1 -0
  8. package/cjs/factory/validate.d.ts +8 -0
  9. package/cjs/factory/validate.d.ts.map +1 -0
  10. package/cjs/factory/validate.js +21 -0
  11. package/cjs/factory/validate.js.map +1 -0
  12. package/cjs/factory/validators.d.ts +32 -0
  13. package/cjs/factory/validators.d.ts.map +1 -0
  14. package/cjs/factory/validators.js +38 -0
  15. package/cjs/factory/validators.js.map +1 -0
  16. package/cjs/helpers/date-helpers.d.ts +16 -0
  17. package/cjs/helpers/date-helpers.d.ts.map +1 -0
  18. package/cjs/helpers/date-helpers.js +25 -0
  19. package/cjs/helpers/date-helpers.js.map +1 -0
  20. package/cjs/helpers/get-field-value.d.ts +37 -0
  21. package/cjs/helpers/get-field-value.d.ts.map +1 -0
  22. package/cjs/helpers/get-field-value.js +40 -0
  23. package/cjs/helpers/get-field-value.js.map +1 -0
  24. package/cjs/helpers/index.d.ts +5 -0
  25. package/cjs/helpers/index.d.ts.map +1 -0
  26. package/cjs/helpers/path-helpers.d.ts +5 -0
  27. package/cjs/helpers/path-helpers.d.ts.map +1 -0
  28. package/cjs/helpers/path-helpers.js +8 -0
  29. package/cjs/helpers/path-helpers.js.map +1 -0
  30. package/cjs/helpers/validation-helpers.d.ts +4 -0
  31. package/cjs/helpers/validation-helpers.d.ts.map +1 -0
  32. package/cjs/helpers/validation-helpers.js +39 -0
  33. package/cjs/helpers/validation-helpers.js.map +1 -0
  34. package/cjs/index.d.ts +29 -0
  35. package/cjs/index.d.ts.map +1 -0
  36. package/cjs/index.js +1 -0
  37. package/cjs/index.js.map +1 -0
  38. package/cjs/mutators/array-mutators.d.ts +12 -0
  39. package/cjs/mutators/array-mutators.d.ts.map +1 -0
  40. package/cjs/mutators/array-mutators.js +37 -0
  41. package/cjs/mutators/array-mutators.js.map +1 -0
  42. package/cjs/mutators/date-mutators.d.ts +39 -0
  43. package/cjs/mutators/date-mutators.d.ts.map +1 -0
  44. package/cjs/mutators/date-mutators.js +120 -0
  45. package/cjs/mutators/date-mutators.js.map +1 -0
  46. package/cjs/mutators/index.d.ts +6 -0
  47. package/cjs/mutators/index.d.ts.map +1 -0
  48. package/cjs/mutators/number-mutators.d.ts +8 -0
  49. package/cjs/mutators/number-mutators.d.ts.map +1 -0
  50. package/cjs/mutators/number-mutators.js +18 -0
  51. package/cjs/mutators/number-mutators.js.map +1 -0
  52. package/cjs/mutators/object-mutators.d.ts +8 -0
  53. package/cjs/mutators/object-mutators.d.ts.map +1 -0
  54. package/cjs/mutators/object-mutators.js +50 -0
  55. package/cjs/mutators/object-mutators.js.map +1 -0
  56. package/cjs/mutators/string-mutators.d.ts +72 -0
  57. package/cjs/mutators/string-mutators.d.ts.map +1 -0
  58. package/cjs/mutators/string-mutators.js +193 -0
  59. package/cjs/mutators/string-mutators.js.map +1 -0
  60. package/cjs/plugins/index.d.ts +7 -0
  61. package/cjs/plugins/index.d.ts.map +1 -0
  62. package/cjs/plugins/plugin-system.d.ts +71 -0
  63. package/cjs/plugins/plugin-system.d.ts.map +1 -0
  64. package/cjs/plugins/plugin-system.js +68 -0
  65. package/cjs/plugins/plugin-system.js.map +1 -0
  66. package/cjs/rules/array/array-rules.d.ts +12 -0
  67. package/cjs/rules/array/array-rules.d.ts.map +1 -0
  68. package/cjs/rules/array/array-rules.js +44 -0
  69. package/cjs/rules/array/array-rules.js.map +1 -0
  70. package/cjs/rules/array/index.d.ts +2 -0
  71. package/cjs/rules/array/index.d.ts.map +1 -0
  72. package/cjs/rules/color/color-rules.d.ts +30 -0
  73. package/cjs/rules/color/color-rules.d.ts.map +1 -0
  74. package/cjs/rules/color/color-rules.js +120 -0
  75. package/cjs/rules/color/color-rules.js.map +1 -0
  76. package/cjs/rules/color/index.d.ts +2 -0
  77. package/cjs/rules/color/index.d.ts.map +1 -0
  78. package/cjs/rules/common/enum.d.ts +26 -0
  79. package/cjs/rules/common/enum.d.ts.map +1 -0
  80. package/cjs/rules/common/enum.js +55 -0
  81. package/cjs/rules/common/enum.js.map +1 -0
  82. package/cjs/rules/common/equals-field-rules.d.ts +18 -0
  83. package/cjs/rules/common/equals-field-rules.d.ts.map +1 -0
  84. package/cjs/rules/common/equals-field-rules.js +38 -0
  85. package/cjs/rules/common/equals-field-rules.js.map +1 -0
  86. package/cjs/rules/common/index.d.ts +5 -0
  87. package/cjs/rules/common/index.d.ts.map +1 -0
  88. package/cjs/rules/common/type-rules.d.ts +34 -0
  89. package/cjs/rules/common/type-rules.d.ts.map +1 -0
  90. package/cjs/rules/common/type-rules.js +104 -0
  91. package/cjs/rules/common/type-rules.js.map +1 -0
  92. package/cjs/rules/common/unknown-key.d.ts +9 -0
  93. package/cjs/rules/common/unknown-key.d.ts.map +1 -0
  94. package/cjs/rules/common/unknown-key.js +20 -0
  95. package/cjs/rules/common/unknown-key.js.map +1 -0
  96. package/cjs/rules/conditional/index.d.ts +9 -0
  97. package/cjs/rules/conditional/index.d.ts.map +1 -0
  98. package/cjs/rules/conditional/present-if-rules.d.ts +45 -0
  99. package/cjs/rules/conditional/present-if-rules.d.ts.map +1 -0
  100. package/cjs/rules/conditional/present-if-rules.js +98 -0
  101. package/cjs/rules/conditional/present-if-rules.js.map +1 -0
  102. package/cjs/rules/conditional/present-unless-rules.d.ts +11 -0
  103. package/cjs/rules/conditional/present-unless-rules.d.ts.map +1 -0
  104. package/cjs/rules/conditional/present-unless-rules.js +20 -0
  105. package/cjs/rules/conditional/present-unless-rules.js.map +1 -0
  106. package/cjs/rules/conditional/present-with-rules.d.ts +26 -0
  107. package/cjs/rules/conditional/present-with-rules.d.ts.map +1 -0
  108. package/cjs/rules/conditional/present-with-rules.js +63 -0
  109. package/cjs/rules/conditional/present-with-rules.js.map +1 -0
  110. package/cjs/rules/conditional/present-without-rules.d.ts +26 -0
  111. package/cjs/rules/conditional/present-without-rules.d.ts.map +1 -0
  112. package/cjs/rules/conditional/present-without-rules.js +63 -0
  113. package/cjs/rules/conditional/present-without-rules.js.map +1 -0
  114. package/cjs/rules/conditional/required-if-rules.d.ts +45 -0
  115. package/cjs/rules/conditional/required-if-rules.d.ts.map +1 -0
  116. package/cjs/rules/conditional/required-if-rules.js +98 -0
  117. package/cjs/rules/conditional/required-if-rules.js.map +1 -0
  118. package/cjs/rules/conditional/required-unless-rules.d.ts +11 -0
  119. package/cjs/rules/conditional/required-unless-rules.d.ts.map +1 -0
  120. package/cjs/rules/conditional/required-unless-rules.js +20 -0
  121. package/cjs/rules/conditional/required-unless-rules.js.map +1 -0
  122. package/cjs/rules/conditional/required-with-rules.d.ts +26 -0
  123. package/cjs/rules/conditional/required-with-rules.d.ts.map +1 -0
  124. package/cjs/rules/conditional/required-with-rules.js +63 -0
  125. package/cjs/rules/conditional/required-with-rules.js.map +1 -0
  126. package/cjs/rules/conditional/required-without-rules.d.ts +26 -0
  127. package/cjs/rules/conditional/required-without-rules.d.ts.map +1 -0
  128. package/cjs/rules/conditional/required-without-rules.js +63 -0
  129. package/cjs/rules/conditional/required-without-rules.js.map +1 -0
  130. package/cjs/rules/core/equal.d.ts +8 -0
  131. package/cjs/rules/core/equal.d.ts.map +1 -0
  132. package/cjs/rules/core/equal.js +13 -0
  133. package/cjs/rules/core/equal.js.map +1 -0
  134. package/cjs/rules/core/forbidden.d.ts +6 -0
  135. package/cjs/rules/core/forbidden.d.ts.map +1 -0
  136. package/cjs/rules/core/forbidden.js +13 -0
  137. package/cjs/rules/core/forbidden.js.map +1 -0
  138. package/cjs/rules/core/index.d.ts +5 -0
  139. package/cjs/rules/core/index.d.ts.map +1 -0
  140. package/cjs/rules/core/required.d.ts +11 -0
  141. package/cjs/rules/core/required.d.ts.map +1 -0
  142. package/cjs/rules/core/required.js +31 -0
  143. package/cjs/rules/core/required.js.map +1 -0
  144. package/cjs/rules/core/when.d.ts +6 -0
  145. package/cjs/rules/core/when.d.ts.map +1 -0
  146. package/cjs/rules/core/when.js +40 -0
  147. package/cjs/rules/core/when.js.map +1 -0
  148. package/cjs/rules/date/date-comparison-rules.d.ts +25 -0
  149. package/cjs/rules/date/date-comparison-rules.d.ts.map +1 -0
  150. package/cjs/rules/date/date-comparison-rules.js +78 -0
  151. package/cjs/rules/date/date-comparison-rules.js.map +1 -0
  152. package/cjs/rules/date/date-day-rules.d.ts +21 -0
  153. package/cjs/rules/date/date-day-rules.d.ts.map +1 -0
  154. package/cjs/rules/date/date-day-rules.js +65 -0
  155. package/cjs/rules/date/date-day-rules.js.map +1 -0
  156. package/cjs/rules/date/date-field-comparison-rules.d.ts +28 -0
  157. package/cjs/rules/date/date-field-comparison-rules.d.ts.map +1 -0
  158. package/cjs/rules/date/date-field-comparison-rules.js +90 -0
  159. package/cjs/rules/date/date-field-comparison-rules.js.map +1 -0
  160. package/cjs/rules/date/date-period-rules.d.ts +108 -0
  161. package/cjs/rules/date/date-period-rules.d.ts.map +1 -0
  162. package/cjs/rules/date/date-period-rules.js +566 -0
  163. package/cjs/rules/date/date-period-rules.js.map +1 -0
  164. package/cjs/rules/date/date-relative-rules.d.ts +20 -0
  165. package/cjs/rules/date/date-relative-rules.d.ts.map +1 -0
  166. package/cjs/rules/date/date-relative-rules.js +57 -0
  167. package/cjs/rules/date/date-relative-rules.js.map +1 -0
  168. package/cjs/rules/date/date-special-rules.d.ts +20 -0
  169. package/cjs/rules/date/date-special-rules.d.ts.map +1 -0
  170. package/cjs/rules/date/date-special-rules.js +72 -0
  171. package/cjs/rules/date/date-special-rules.js.map +1 -0
  172. package/cjs/rules/date/date.d.ts +93 -0
  173. package/cjs/rules/date/date.d.ts.map +1 -0
  174. package/cjs/rules/date/date.js +279 -0
  175. package/cjs/rules/date/date.js.map +1 -0
  176. package/cjs/rules/date/index.d.ts +8 -0
  177. package/cjs/rules/date/index.d.ts.map +1 -0
  178. package/cjs/rules/file/dimensions.d.ts +26 -0
  179. package/cjs/rules/file/dimensions.d.ts.map +1 -0
  180. package/cjs/rules/file/dimensions.js +56 -0
  181. package/cjs/rules/file/dimensions.js.map +1 -0
  182. package/cjs/rules/file/file-size.d.ts +14 -0
  183. package/cjs/rules/file/file-size.d.ts.map +1 -0
  184. package/cjs/rules/file/file-size.js +26 -0
  185. package/cjs/rules/file/file-size.js.map +1 -0
  186. package/cjs/rules/file/index.d.ts +11 -0
  187. package/cjs/rules/file/index.d.ts.map +1 -0
  188. package/cjs/rules/index.d.ts +19 -0
  189. package/cjs/rules/index.d.ts.map +1 -0
  190. package/cjs/rules/length/index.d.ts +2 -0
  191. package/cjs/rules/length/index.d.ts.map +1 -0
  192. package/cjs/rules/length/length-rules.d.ts +49 -0
  193. package/cjs/rules/length/length-rules.d.ts.map +1 -0
  194. package/cjs/rules/length/length-rules.js +116 -0
  195. package/cjs/rules/length/length-rules.js.map +1 -0
  196. package/cjs/rules/number/index.d.ts +2 -0
  197. package/cjs/rules/number/index.d.ts.map +1 -0
  198. package/cjs/rules/number/number-rules.d.ts +43 -0
  199. package/cjs/rules/number/number-rules.d.ts.map +1 -0
  200. package/cjs/rules/number/number-rules.js +107 -0
  201. package/cjs/rules/number/number-rules.js.map +1 -0
  202. package/cjs/rules/scalar/accepted-rule.d.ts +39 -0
  203. package/cjs/rules/scalar/accepted-rule.d.ts.map +1 -0
  204. package/cjs/rules/scalar/accepted-rule.js +110 -0
  205. package/cjs/rules/scalar/accepted-rule.js.map +1 -0
  206. package/cjs/rules/scalar/declined-rule.d.ts +39 -0
  207. package/cjs/rules/scalar/declined-rule.d.ts.map +1 -0
  208. package/cjs/rules/scalar/declined-rule.js +110 -0
  209. package/cjs/rules/scalar/declined-rule.js.map +1 -0
  210. package/cjs/rules/scalar/index.d.ts +3 -0
  211. package/cjs/rules/scalar/index.d.ts.map +1 -0
  212. package/cjs/rules/string/alpha.d.ts +14 -0
  213. package/cjs/rules/string/alpha.d.ts.map +1 -0
  214. package/cjs/rules/string/alpha.js +39 -0
  215. package/cjs/rules/string/alpha.js.map +1 -0
  216. package/cjs/rules/string/credit-card.d.ts +6 -0
  217. package/cjs/rules/string/credit-card.d.ts.map +1 -0
  218. package/cjs/rules/string/credit-card.js +31 -0
  219. package/cjs/rules/string/credit-card.js.map +1 -0
  220. package/cjs/rules/string/email.d.ts +6 -0
  221. package/cjs/rules/string/email.d.ts.map +1 -0
  222. package/cjs/rules/string/email.js +13 -0
  223. package/cjs/rules/string/email.js.map +1 -0
  224. package/cjs/rules/string/index.d.ts +17 -0
  225. package/cjs/rules/string/index.d.ts.map +1 -0
  226. package/cjs/rules/string/ip.d.ts +14 -0
  227. package/cjs/rules/string/ip.d.ts.map +1 -0
  228. package/cjs/rules/string/ip.js +39 -0
  229. package/cjs/rules/string/ip.js.map +1 -0
  230. package/cjs/rules/string/matches.d.ts +8 -0
  231. package/cjs/rules/string/matches.d.ts.map +1 -0
  232. package/cjs/rules/string/matches.js +14 -0
  233. package/cjs/rules/string/matches.js.map +1 -0
  234. package/cjs/rules/string/pattern.d.ts +8 -0
  235. package/cjs/rules/string/pattern.d.ts.map +1 -0
  236. package/cjs/rules/string/pattern.js +13 -0
  237. package/cjs/rules/string/pattern.js.map +1 -0
  238. package/cjs/rules/string/string-comparison.d.ts +26 -0
  239. package/cjs/rules/string/string-comparison.d.ts.map +1 -0
  240. package/cjs/rules/string/string-comparison.js +52 -0
  241. package/cjs/rules/string/string-comparison.js.map +1 -0
  242. package/cjs/rules/string/strong-password-rule.d.ts +14 -0
  243. package/cjs/rules/string/strong-password-rule.d.ts.map +1 -0
  244. package/cjs/rules/string/strong-password-rule.js +38 -0
  245. package/cjs/rules/string/strong-password-rule.js.map +1 -0
  246. package/cjs/rules/string/url.d.ts +6 -0
  247. package/cjs/rules/string/url.d.ts.map +1 -0
  248. package/cjs/rules/string/url.js +16 -0
  249. package/cjs/rules/string/url.js.map +1 -0
  250. package/cjs/rules/string/without-whitespace.d.ts +6 -0
  251. package/cjs/rules/string/without-whitespace.d.ts.map +1 -0
  252. package/cjs/rules/string/without-whitespace.js +13 -0
  253. package/cjs/rules/string/without-whitespace.js.map +1 -0
  254. package/cjs/types/conditional-types.d.ts +15 -0
  255. package/cjs/types/conditional-types.d.ts.map +1 -0
  256. package/cjs/types/context-types.d.ts +44 -0
  257. package/cjs/types/context-types.d.ts.map +1 -0
  258. package/cjs/types/data-transformer-types.d.ts +25 -0
  259. package/cjs/types/data-transformer-types.d.ts.map +1 -0
  260. package/cjs/types/date-types.d.ts +9 -0
  261. package/cjs/types/date-types.d.ts.map +1 -0
  262. package/cjs/types/date-types.js +12 -0
  263. package/cjs/types/date-types.js.map +1 -0
  264. package/cjs/types/index.d.ts +10 -0
  265. package/cjs/types/index.d.ts.map +1 -0
  266. package/cjs/types/inference-types.d.ts +29 -0
  267. package/cjs/types/inference-types.d.ts.map +1 -0
  268. package/cjs/types/mutator-types.d.ts +27 -0
  269. package/cjs/types/mutator-types.d.ts.map +1 -0
  270. package/cjs/types/result-types.d.ts +19 -0
  271. package/cjs/types/result-types.d.ts.map +1 -0
  272. package/cjs/types/rule-types.d.ts +53 -0
  273. package/cjs/types/rule-types.d.ts.map +1 -0
  274. package/cjs/types/schema-types.d.ts +6 -0
  275. package/cjs/types/schema-types.d.ts.map +1 -0
  276. package/cjs/validators/any-validator.d.ts +7 -0
  277. package/cjs/validators/any-validator.d.ts.map +1 -0
  278. package/cjs/validators/any-validator.js +5 -0
  279. package/cjs/validators/any-validator.js.map +1 -0
  280. package/cjs/validators/array-validator.d.ts +51 -0
  281. package/cjs/validators/array-validator.d.ts.map +1 -0
  282. package/cjs/validators/array-validator.js +120 -0
  283. package/cjs/validators/array-validator.js.map +1 -0
  284. package/cjs/validators/base-validator.d.ts +500 -0
  285. package/cjs/validators/base-validator.d.ts.map +1 -0
  286. package/cjs/validators/base-validator.js +950 -0
  287. package/cjs/validators/base-validator.js.map +1 -0
  288. package/cjs/validators/boolean-validator.d.ts +43 -0
  289. package/cjs/validators/boolean-validator.d.ts.map +1 -0
  290. package/cjs/validators/boolean-validator.js +48 -0
  291. package/cjs/validators/boolean-validator.js.map +1 -0
  292. package/cjs/validators/date-validator.d.ts +303 -0
  293. package/cjs/validators/date-validator.d.ts.map +1 -0
  294. package/cjs/validators/date-validator.js +639 -0
  295. package/cjs/validators/date-validator.js.map +1 -0
  296. package/cjs/validators/float-validator.d.ts +8 -0
  297. package/cjs/validators/float-validator.d.ts.map +1 -0
  298. package/cjs/validators/float-validator.js +9 -0
  299. package/cjs/validators/float-validator.js.map +1 -0
  300. package/cjs/validators/index.d.ts +20 -0
  301. package/cjs/validators/index.d.ts.map +1 -0
  302. package/cjs/validators/int-validator.d.ts +8 -0
  303. package/cjs/validators/int-validator.d.ts.map +1 -0
  304. package/cjs/validators/int-validator.js +9 -0
  305. package/cjs/validators/int-validator.js.map +1 -0
  306. package/cjs/validators/number-validator.d.ts +35 -0
  307. package/cjs/validators/number-validator.d.ts.map +1 -0
  308. package/cjs/validators/number-validator.js +66 -0
  309. package/cjs/validators/number-validator.js.map +1 -0
  310. package/cjs/validators/object-validator.d.ts +24 -0
  311. package/cjs/validators/object-validator.d.ts.map +1 -0
  312. package/cjs/validators/object-validator.js +120 -0
  313. package/cjs/validators/object-validator.js.map +1 -0
  314. package/cjs/validators/scalar-validator.d.ts +74 -0
  315. package/cjs/validators/scalar-validator.d.ts.map +1 -0
  316. package/cjs/validators/scalar-validator.js +145 -0
  317. package/cjs/validators/scalar-validator.js.map +1 -0
  318. package/cjs/validators/string-validator.d.ts +187 -0
  319. package/cjs/validators/string-validator.d.ts.map +1 -0
  320. package/cjs/validators/string-validator.js +404 -0
  321. package/cjs/validators/string-validator.js.map +1 -0
  322. package/esm/config.d.ts +48 -0
  323. package/esm/config.d.ts.map +1 -0
  324. package/esm/config.js +42 -0
  325. package/esm/config.js.map +1 -0
  326. package/esm/factory/index.d.ts +3 -0
  327. package/esm/factory/index.d.ts.map +1 -0
  328. package/esm/factory/validate.d.ts +8 -0
  329. package/esm/factory/validate.d.ts.map +1 -0
  330. package/esm/factory/validate.js +21 -0
  331. package/esm/factory/validate.js.map +1 -0
  332. package/esm/factory/validators.d.ts +32 -0
  333. package/esm/factory/validators.d.ts.map +1 -0
  334. package/esm/factory/validators.js +38 -0
  335. package/esm/factory/validators.js.map +1 -0
  336. package/esm/helpers/date-helpers.d.ts +16 -0
  337. package/esm/helpers/date-helpers.d.ts.map +1 -0
  338. package/esm/helpers/date-helpers.js +25 -0
  339. package/esm/helpers/date-helpers.js.map +1 -0
  340. package/esm/helpers/get-field-value.d.ts +37 -0
  341. package/esm/helpers/get-field-value.d.ts.map +1 -0
  342. package/esm/helpers/get-field-value.js +40 -0
  343. package/esm/helpers/get-field-value.js.map +1 -0
  344. package/esm/helpers/index.d.ts +5 -0
  345. package/esm/helpers/index.d.ts.map +1 -0
  346. package/esm/helpers/path-helpers.d.ts +5 -0
  347. package/esm/helpers/path-helpers.d.ts.map +1 -0
  348. package/esm/helpers/path-helpers.js +8 -0
  349. package/esm/helpers/path-helpers.js.map +1 -0
  350. package/esm/helpers/validation-helpers.d.ts +4 -0
  351. package/esm/helpers/validation-helpers.d.ts.map +1 -0
  352. package/esm/helpers/validation-helpers.js +39 -0
  353. package/esm/helpers/validation-helpers.js.map +1 -0
  354. package/esm/index.d.ts +29 -0
  355. package/esm/index.d.ts.map +1 -0
  356. package/esm/index.js +1 -0
  357. package/esm/index.js.map +1 -0
  358. package/esm/mutators/array-mutators.d.ts +12 -0
  359. package/esm/mutators/array-mutators.d.ts.map +1 -0
  360. package/esm/mutators/array-mutators.js +37 -0
  361. package/esm/mutators/array-mutators.js.map +1 -0
  362. package/esm/mutators/date-mutators.d.ts +39 -0
  363. package/esm/mutators/date-mutators.d.ts.map +1 -0
  364. package/esm/mutators/date-mutators.js +120 -0
  365. package/esm/mutators/date-mutators.js.map +1 -0
  366. package/esm/mutators/index.d.ts +6 -0
  367. package/esm/mutators/index.d.ts.map +1 -0
  368. package/esm/mutators/number-mutators.d.ts +8 -0
  369. package/esm/mutators/number-mutators.d.ts.map +1 -0
  370. package/esm/mutators/number-mutators.js +18 -0
  371. package/esm/mutators/number-mutators.js.map +1 -0
  372. package/esm/mutators/object-mutators.d.ts +8 -0
  373. package/esm/mutators/object-mutators.d.ts.map +1 -0
  374. package/esm/mutators/object-mutators.js +50 -0
  375. package/esm/mutators/object-mutators.js.map +1 -0
  376. package/esm/mutators/string-mutators.d.ts +72 -0
  377. package/esm/mutators/string-mutators.d.ts.map +1 -0
  378. package/esm/mutators/string-mutators.js +193 -0
  379. package/esm/mutators/string-mutators.js.map +1 -0
  380. package/esm/plugins/index.d.ts +7 -0
  381. package/esm/plugins/index.d.ts.map +1 -0
  382. package/esm/plugins/plugin-system.d.ts +71 -0
  383. package/esm/plugins/plugin-system.d.ts.map +1 -0
  384. package/esm/plugins/plugin-system.js +68 -0
  385. package/esm/plugins/plugin-system.js.map +1 -0
  386. package/esm/rules/array/array-rules.d.ts +12 -0
  387. package/esm/rules/array/array-rules.d.ts.map +1 -0
  388. package/esm/rules/array/array-rules.js +44 -0
  389. package/esm/rules/array/array-rules.js.map +1 -0
  390. package/esm/rules/array/index.d.ts +2 -0
  391. package/esm/rules/array/index.d.ts.map +1 -0
  392. package/esm/rules/color/color-rules.d.ts +30 -0
  393. package/esm/rules/color/color-rules.d.ts.map +1 -0
  394. package/esm/rules/color/color-rules.js +120 -0
  395. package/esm/rules/color/color-rules.js.map +1 -0
  396. package/esm/rules/color/index.d.ts +2 -0
  397. package/esm/rules/color/index.d.ts.map +1 -0
  398. package/esm/rules/common/enum.d.ts +26 -0
  399. package/esm/rules/common/enum.d.ts.map +1 -0
  400. package/esm/rules/common/enum.js +55 -0
  401. package/esm/rules/common/enum.js.map +1 -0
  402. package/esm/rules/common/equals-field-rules.d.ts +18 -0
  403. package/esm/rules/common/equals-field-rules.d.ts.map +1 -0
  404. package/esm/rules/common/equals-field-rules.js +38 -0
  405. package/esm/rules/common/equals-field-rules.js.map +1 -0
  406. package/esm/rules/common/index.d.ts +5 -0
  407. package/esm/rules/common/index.d.ts.map +1 -0
  408. package/esm/rules/common/type-rules.d.ts +34 -0
  409. package/esm/rules/common/type-rules.d.ts.map +1 -0
  410. package/esm/rules/common/type-rules.js +104 -0
  411. package/esm/rules/common/type-rules.js.map +1 -0
  412. package/esm/rules/common/unknown-key.d.ts +9 -0
  413. package/esm/rules/common/unknown-key.d.ts.map +1 -0
  414. package/esm/rules/common/unknown-key.js +20 -0
  415. package/esm/rules/common/unknown-key.js.map +1 -0
  416. package/esm/rules/conditional/index.d.ts +9 -0
  417. package/esm/rules/conditional/index.d.ts.map +1 -0
  418. package/esm/rules/conditional/present-if-rules.d.ts +45 -0
  419. package/esm/rules/conditional/present-if-rules.d.ts.map +1 -0
  420. package/esm/rules/conditional/present-if-rules.js +98 -0
  421. package/esm/rules/conditional/present-if-rules.js.map +1 -0
  422. package/esm/rules/conditional/present-unless-rules.d.ts +11 -0
  423. package/esm/rules/conditional/present-unless-rules.d.ts.map +1 -0
  424. package/esm/rules/conditional/present-unless-rules.js +20 -0
  425. package/esm/rules/conditional/present-unless-rules.js.map +1 -0
  426. package/esm/rules/conditional/present-with-rules.d.ts +26 -0
  427. package/esm/rules/conditional/present-with-rules.d.ts.map +1 -0
  428. package/esm/rules/conditional/present-with-rules.js +63 -0
  429. package/esm/rules/conditional/present-with-rules.js.map +1 -0
  430. package/esm/rules/conditional/present-without-rules.d.ts +26 -0
  431. package/esm/rules/conditional/present-without-rules.d.ts.map +1 -0
  432. package/esm/rules/conditional/present-without-rules.js +63 -0
  433. package/esm/rules/conditional/present-without-rules.js.map +1 -0
  434. package/esm/rules/conditional/required-if-rules.d.ts +45 -0
  435. package/esm/rules/conditional/required-if-rules.d.ts.map +1 -0
  436. package/esm/rules/conditional/required-if-rules.js +98 -0
  437. package/esm/rules/conditional/required-if-rules.js.map +1 -0
  438. package/esm/rules/conditional/required-unless-rules.d.ts +11 -0
  439. package/esm/rules/conditional/required-unless-rules.d.ts.map +1 -0
  440. package/esm/rules/conditional/required-unless-rules.js +20 -0
  441. package/esm/rules/conditional/required-unless-rules.js.map +1 -0
  442. package/esm/rules/conditional/required-with-rules.d.ts +26 -0
  443. package/esm/rules/conditional/required-with-rules.d.ts.map +1 -0
  444. package/esm/rules/conditional/required-with-rules.js +63 -0
  445. package/esm/rules/conditional/required-with-rules.js.map +1 -0
  446. package/esm/rules/conditional/required-without-rules.d.ts +26 -0
  447. package/esm/rules/conditional/required-without-rules.d.ts.map +1 -0
  448. package/esm/rules/conditional/required-without-rules.js +63 -0
  449. package/esm/rules/conditional/required-without-rules.js.map +1 -0
  450. package/esm/rules/core/equal.d.ts +8 -0
  451. package/esm/rules/core/equal.d.ts.map +1 -0
  452. package/esm/rules/core/equal.js +13 -0
  453. package/esm/rules/core/equal.js.map +1 -0
  454. package/esm/rules/core/forbidden.d.ts +6 -0
  455. package/esm/rules/core/forbidden.d.ts.map +1 -0
  456. package/esm/rules/core/forbidden.js +13 -0
  457. package/esm/rules/core/forbidden.js.map +1 -0
  458. package/esm/rules/core/index.d.ts +5 -0
  459. package/esm/rules/core/index.d.ts.map +1 -0
  460. package/esm/rules/core/required.d.ts +11 -0
  461. package/esm/rules/core/required.d.ts.map +1 -0
  462. package/esm/rules/core/required.js +31 -0
  463. package/esm/rules/core/required.js.map +1 -0
  464. package/esm/rules/core/when.d.ts +6 -0
  465. package/esm/rules/core/when.d.ts.map +1 -0
  466. package/esm/rules/core/when.js +40 -0
  467. package/esm/rules/core/when.js.map +1 -0
  468. package/esm/rules/date/date-comparison-rules.d.ts +25 -0
  469. package/esm/rules/date/date-comparison-rules.d.ts.map +1 -0
  470. package/esm/rules/date/date-comparison-rules.js +78 -0
  471. package/esm/rules/date/date-comparison-rules.js.map +1 -0
  472. package/esm/rules/date/date-day-rules.d.ts +21 -0
  473. package/esm/rules/date/date-day-rules.d.ts.map +1 -0
  474. package/esm/rules/date/date-day-rules.js +65 -0
  475. package/esm/rules/date/date-day-rules.js.map +1 -0
  476. package/esm/rules/date/date-field-comparison-rules.d.ts +28 -0
  477. package/esm/rules/date/date-field-comparison-rules.d.ts.map +1 -0
  478. package/esm/rules/date/date-field-comparison-rules.js +90 -0
  479. package/esm/rules/date/date-field-comparison-rules.js.map +1 -0
  480. package/esm/rules/date/date-period-rules.d.ts +108 -0
  481. package/esm/rules/date/date-period-rules.d.ts.map +1 -0
  482. package/esm/rules/date/date-period-rules.js +566 -0
  483. package/esm/rules/date/date-period-rules.js.map +1 -0
  484. package/esm/rules/date/date-relative-rules.d.ts +20 -0
  485. package/esm/rules/date/date-relative-rules.d.ts.map +1 -0
  486. package/esm/rules/date/date-relative-rules.js +57 -0
  487. package/esm/rules/date/date-relative-rules.js.map +1 -0
  488. package/esm/rules/date/date-special-rules.d.ts +20 -0
  489. package/esm/rules/date/date-special-rules.d.ts.map +1 -0
  490. package/esm/rules/date/date-special-rules.js +72 -0
  491. package/esm/rules/date/date-special-rules.js.map +1 -0
  492. package/esm/rules/date/date.d.ts +93 -0
  493. package/esm/rules/date/date.d.ts.map +1 -0
  494. package/esm/rules/date/date.js +279 -0
  495. package/esm/rules/date/date.js.map +1 -0
  496. package/esm/rules/date/index.d.ts +8 -0
  497. package/esm/rules/date/index.d.ts.map +1 -0
  498. package/esm/rules/file/dimensions.d.ts +26 -0
  499. package/esm/rules/file/dimensions.d.ts.map +1 -0
  500. package/esm/rules/file/dimensions.js +56 -0
  501. package/esm/rules/file/dimensions.js.map +1 -0
  502. package/esm/rules/file/file-size.d.ts +14 -0
  503. package/esm/rules/file/file-size.d.ts.map +1 -0
  504. package/esm/rules/file/file-size.js +26 -0
  505. package/esm/rules/file/file-size.js.map +1 -0
  506. package/esm/rules/file/index.d.ts +11 -0
  507. package/esm/rules/file/index.d.ts.map +1 -0
  508. package/esm/rules/index.d.ts +19 -0
  509. package/esm/rules/index.d.ts.map +1 -0
  510. package/esm/rules/length/index.d.ts +2 -0
  511. package/esm/rules/length/index.d.ts.map +1 -0
  512. package/esm/rules/length/length-rules.d.ts +49 -0
  513. package/esm/rules/length/length-rules.d.ts.map +1 -0
  514. package/esm/rules/length/length-rules.js +116 -0
  515. package/esm/rules/length/length-rules.js.map +1 -0
  516. package/esm/rules/number/index.d.ts +2 -0
  517. package/esm/rules/number/index.d.ts.map +1 -0
  518. package/esm/rules/number/number-rules.d.ts +43 -0
  519. package/esm/rules/number/number-rules.d.ts.map +1 -0
  520. package/esm/rules/number/number-rules.js +107 -0
  521. package/esm/rules/number/number-rules.js.map +1 -0
  522. package/esm/rules/scalar/accepted-rule.d.ts +39 -0
  523. package/esm/rules/scalar/accepted-rule.d.ts.map +1 -0
  524. package/esm/rules/scalar/accepted-rule.js +110 -0
  525. package/esm/rules/scalar/accepted-rule.js.map +1 -0
  526. package/esm/rules/scalar/declined-rule.d.ts +39 -0
  527. package/esm/rules/scalar/declined-rule.d.ts.map +1 -0
  528. package/esm/rules/scalar/declined-rule.js +110 -0
  529. package/esm/rules/scalar/declined-rule.js.map +1 -0
  530. package/esm/rules/scalar/index.d.ts +3 -0
  531. package/esm/rules/scalar/index.d.ts.map +1 -0
  532. package/esm/rules/string/alpha.d.ts +14 -0
  533. package/esm/rules/string/alpha.d.ts.map +1 -0
  534. package/esm/rules/string/alpha.js +39 -0
  535. package/esm/rules/string/alpha.js.map +1 -0
  536. package/esm/rules/string/credit-card.d.ts +6 -0
  537. package/esm/rules/string/credit-card.d.ts.map +1 -0
  538. package/esm/rules/string/credit-card.js +31 -0
  539. package/esm/rules/string/credit-card.js.map +1 -0
  540. package/esm/rules/string/email.d.ts +6 -0
  541. package/esm/rules/string/email.d.ts.map +1 -0
  542. package/esm/rules/string/email.js +13 -0
  543. package/esm/rules/string/email.js.map +1 -0
  544. package/esm/rules/string/index.d.ts +17 -0
  545. package/esm/rules/string/index.d.ts.map +1 -0
  546. package/esm/rules/string/ip.d.ts +14 -0
  547. package/esm/rules/string/ip.d.ts.map +1 -0
  548. package/esm/rules/string/ip.js +39 -0
  549. package/esm/rules/string/ip.js.map +1 -0
  550. package/esm/rules/string/matches.d.ts +8 -0
  551. package/esm/rules/string/matches.d.ts.map +1 -0
  552. package/esm/rules/string/matches.js +14 -0
  553. package/esm/rules/string/matches.js.map +1 -0
  554. package/esm/rules/string/pattern.d.ts +8 -0
  555. package/esm/rules/string/pattern.d.ts.map +1 -0
  556. package/esm/rules/string/pattern.js +13 -0
  557. package/esm/rules/string/pattern.js.map +1 -0
  558. package/esm/rules/string/string-comparison.d.ts +26 -0
  559. package/esm/rules/string/string-comparison.d.ts.map +1 -0
  560. package/esm/rules/string/string-comparison.js +52 -0
  561. package/esm/rules/string/string-comparison.js.map +1 -0
  562. package/esm/rules/string/strong-password-rule.d.ts +14 -0
  563. package/esm/rules/string/strong-password-rule.d.ts.map +1 -0
  564. package/esm/rules/string/strong-password-rule.js +38 -0
  565. package/esm/rules/string/strong-password-rule.js.map +1 -0
  566. package/esm/rules/string/url.d.ts +6 -0
  567. package/esm/rules/string/url.d.ts.map +1 -0
  568. package/esm/rules/string/url.js +16 -0
  569. package/esm/rules/string/url.js.map +1 -0
  570. package/esm/rules/string/without-whitespace.d.ts +6 -0
  571. package/esm/rules/string/without-whitespace.d.ts.map +1 -0
  572. package/esm/rules/string/without-whitespace.js +13 -0
  573. package/esm/rules/string/without-whitespace.js.map +1 -0
  574. package/esm/types/conditional-types.d.ts +15 -0
  575. package/esm/types/conditional-types.d.ts.map +1 -0
  576. package/esm/types/context-types.d.ts +44 -0
  577. package/esm/types/context-types.d.ts.map +1 -0
  578. package/esm/types/data-transformer-types.d.ts +25 -0
  579. package/esm/types/data-transformer-types.d.ts.map +1 -0
  580. package/esm/types/date-types.d.ts +9 -0
  581. package/esm/types/date-types.d.ts.map +1 -0
  582. package/esm/types/date-types.js +12 -0
  583. package/esm/types/date-types.js.map +1 -0
  584. package/esm/types/index.d.ts +10 -0
  585. package/esm/types/index.d.ts.map +1 -0
  586. package/esm/types/inference-types.d.ts +29 -0
  587. package/esm/types/inference-types.d.ts.map +1 -0
  588. package/esm/types/mutator-types.d.ts +27 -0
  589. package/esm/types/mutator-types.d.ts.map +1 -0
  590. package/esm/types/result-types.d.ts +19 -0
  591. package/esm/types/result-types.d.ts.map +1 -0
  592. package/esm/types/rule-types.d.ts +53 -0
  593. package/esm/types/rule-types.d.ts.map +1 -0
  594. package/esm/types/schema-types.d.ts +6 -0
  595. package/esm/types/schema-types.d.ts.map +1 -0
  596. package/esm/validators/any-validator.d.ts +7 -0
  597. package/esm/validators/any-validator.d.ts.map +1 -0
  598. package/esm/validators/any-validator.js +5 -0
  599. package/esm/validators/any-validator.js.map +1 -0
  600. package/esm/validators/array-validator.d.ts +51 -0
  601. package/esm/validators/array-validator.d.ts.map +1 -0
  602. package/esm/validators/array-validator.js +120 -0
  603. package/esm/validators/array-validator.js.map +1 -0
  604. package/esm/validators/base-validator.d.ts +500 -0
  605. package/esm/validators/base-validator.d.ts.map +1 -0
  606. package/esm/validators/base-validator.js +950 -0
  607. package/esm/validators/base-validator.js.map +1 -0
  608. package/esm/validators/boolean-validator.d.ts +43 -0
  609. package/esm/validators/boolean-validator.d.ts.map +1 -0
  610. package/esm/validators/boolean-validator.js +48 -0
  611. package/esm/validators/boolean-validator.js.map +1 -0
  612. package/esm/validators/date-validator.d.ts +303 -0
  613. package/esm/validators/date-validator.d.ts.map +1 -0
  614. package/esm/validators/date-validator.js +639 -0
  615. package/esm/validators/date-validator.js.map +1 -0
  616. package/esm/validators/float-validator.d.ts +8 -0
  617. package/esm/validators/float-validator.d.ts.map +1 -0
  618. package/esm/validators/float-validator.js +9 -0
  619. package/esm/validators/float-validator.js.map +1 -0
  620. package/esm/validators/index.d.ts +20 -0
  621. package/esm/validators/index.d.ts.map +1 -0
  622. package/esm/validators/int-validator.d.ts +8 -0
  623. package/esm/validators/int-validator.d.ts.map +1 -0
  624. package/esm/validators/int-validator.js +9 -0
  625. package/esm/validators/int-validator.js.map +1 -0
  626. package/esm/validators/number-validator.d.ts +35 -0
  627. package/esm/validators/number-validator.d.ts.map +1 -0
  628. package/esm/validators/number-validator.js +66 -0
  629. package/esm/validators/number-validator.js.map +1 -0
  630. package/esm/validators/object-validator.d.ts +24 -0
  631. package/esm/validators/object-validator.d.ts.map +1 -0
  632. package/esm/validators/object-validator.js +120 -0
  633. package/esm/validators/object-validator.js.map +1 -0
  634. package/esm/validators/scalar-validator.d.ts +74 -0
  635. package/esm/validators/scalar-validator.d.ts.map +1 -0
  636. package/esm/validators/scalar-validator.js +145 -0
  637. package/esm/validators/scalar-validator.js.map +1 -0
  638. package/esm/validators/string-validator.d.ts +187 -0
  639. package/esm/validators/string-validator.d.ts.map +1 -0
  640. package/esm/validators/string-validator.js +404 -0
  641. package/esm/validators/string-validator.js.map +1 -0
  642. package/package.json +29 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/file/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Rules Export - Organized by Category
3
+ *
4
+ * All validation rules organized into focused, maintainable files
5
+ *
6
+ * Note: Framework-specific rules (database, file uploads, etc.) are now
7
+ * located in @warlock.js/core/validator/v (src/warlock/validator/v)
8
+ */
9
+ export * from "./core";
10
+ export * from "./string";
11
+ export * from "./number";
12
+ export * from "./length";
13
+ export * from "./array";
14
+ export * from "./date";
15
+ export * from "./file";
16
+ export * from "./color";
17
+ export * from "./conditional";
18
+ export * from "./common";
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,cAAc,QAAQ,CAAC;AAGvB,cAAc,UAAU,CAAC;AAGzB,cAAc,UAAU,CAAC;AAGzB,cAAc,UAAU,CAAC;AAGzB,cAAc,SAAS,CAAC;AAGxB,cAAc,QAAQ,CAAC;AAGvB,cAAc,QAAQ,CAAC;AAGvB,cAAc,SAAS,CAAC;AAGxB,cAAc,eAAe,CAAC;AAG9B,cAAc,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./length-rules";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/length/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,49 @@
1
+ import type { SchemaRule } from "../../types";
2
+ /**
3
+ * Min length rule - validates minimum length
4
+ * Works for any value with a length property (strings, arrays, etc.)
5
+ */
6
+ export declare const minLengthRule: SchemaRule<{
7
+ minLength: number;
8
+ }>;
9
+ /**
10
+ * Max length rule - validates maximum length
11
+ * Works for any value with a length property (strings, arrays, etc.)
12
+ */
13
+ export declare const maxLengthRule: SchemaRule<{
14
+ maxLength: number;
15
+ }>;
16
+ /**
17
+ * Between length rule - validates length is between min and max (inclusive)
18
+ * Works for any value with a length property (strings, arrays, etc.)
19
+ */
20
+ export declare const betweenLengthRule: SchemaRule<{
21
+ minLength: number;
22
+ maxLength: number;
23
+ }>;
24
+ /**
25
+ * Length rule - validates exact length
26
+ * Works for any value with a length property (strings, arrays, etc.)
27
+ */
28
+ export declare const lengthRule: SchemaRule<{
29
+ length: number;
30
+ }>;
31
+ /**
32
+ * Min words rule - validates minimum word count
33
+ */
34
+ export declare const minWordsRule: SchemaRule<{
35
+ minWords: number;
36
+ }>;
37
+ /**
38
+ * Max words rule - validates maximum word count
39
+ */
40
+ export declare const maxWordsRule: SchemaRule<{
41
+ maxWords: number;
42
+ }>;
43
+ /**
44
+ * Words rule - validates exact word count
45
+ */
46
+ export declare const wordsRule: SchemaRule<{
47
+ words: number;
48
+ }>;
49
+ //# sourceMappingURL=length-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"length-rules.d.ts","sourceRoot":"","sources":["../../../src/rules/length/length-rules.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,UAAU,CAAC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAiB3D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,UAAU,CAAC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAiB3D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,UAAU,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAsBA,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,UAAU,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAiBrD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,UAAU,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAczD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,UAAU,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAczD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,UAAU,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAYnD,CAAC"}
@@ -0,0 +1,116 @@
1
+ import'@mongez/reinforcements';import {VALID_RULE,invalidRule}from'../../helpers/validation-helpers.js';/**
2
+ * Min length rule - validates minimum length
3
+ * Works for any value with a length property (strings, arrays, etc.)
4
+ */
5
+ const minLengthRule = {
6
+ name: "minLength",
7
+ defaultErrorMessage: "The :input must be at least :minLength characters long",
8
+ async validate(value, context) {
9
+ const length = typeof value?.length === "number"
10
+ ? value.length
11
+ : String(value || "").length;
12
+ if (length >= this.context.options.minLength) {
13
+ return VALID_RULE;
14
+ }
15
+ this.context.attributesList.minLength = this.context.options.minLength;
16
+ return invalidRule(this, context);
17
+ },
18
+ };
19
+ /**
20
+ * Max length rule - validates maximum length
21
+ * Works for any value with a length property (strings, arrays, etc.)
22
+ */
23
+ const maxLengthRule = {
24
+ name: "maxLength",
25
+ defaultErrorMessage: "The :input must not exceed :maxLength characters",
26
+ async validate(value, context) {
27
+ const length = typeof value?.length === "number"
28
+ ? value.length
29
+ : String(value || "").length;
30
+ if (length <= this.context.options.maxLength) {
31
+ return VALID_RULE;
32
+ }
33
+ this.context.attributesList.maxLength = this.context.options.maxLength;
34
+ return invalidRule(this, context);
35
+ },
36
+ };
37
+ /**
38
+ * Between length rule - validates length is between min and max (inclusive)
39
+ * Works for any value with a length property (strings, arrays, etc.)
40
+ */
41
+ const betweenLengthRule = {
42
+ name: "betweenLength",
43
+ defaultErrorMessage: "The :input must be between :minLength and :maxLength characters long",
44
+ async validate(value, context) {
45
+ const length = typeof value?.length === "number"
46
+ ? value.length
47
+ : String(value || "").length;
48
+ if (length >= this.context.options.minLength &&
49
+ length <= this.context.options.maxLength) {
50
+ return VALID_RULE;
51
+ }
52
+ this.context.attributesList.minLength = this.context.options.minLength;
53
+ this.context.attributesList.maxLength = this.context.options.maxLength;
54
+ return invalidRule(this, context);
55
+ },
56
+ };
57
+ /**
58
+ * Length rule - validates exact length
59
+ * Works for any value with a length property (strings, arrays, etc.)
60
+ */
61
+ const lengthRule = {
62
+ name: "length",
63
+ defaultErrorMessage: "The :input must be exactly :length characters long",
64
+ async validate(value, context) {
65
+ const length = typeof value?.length === "number"
66
+ ? value.length
67
+ : String(value || "").length;
68
+ if (length === this.context.options.length) {
69
+ return VALID_RULE;
70
+ }
71
+ this.context.attributesList.length = this.context.options.length;
72
+ return invalidRule(this, context);
73
+ },
74
+ };
75
+ /**
76
+ * Min words rule - validates minimum word count
77
+ */
78
+ const minWordsRule = {
79
+ name: "minWords",
80
+ defaultErrorMessage: "The :input must be at least :minWords words",
81
+ async validate(value, context) {
82
+ if (String(value || "").split(" ").length >= this.context.options.minWords) {
83
+ return VALID_RULE;
84
+ }
85
+ this.context.attributesList.minWords = this.context.options.minWords;
86
+ return invalidRule(this, context);
87
+ },
88
+ };
89
+ /**
90
+ * Max words rule - validates maximum word count
91
+ */
92
+ const maxWordsRule = {
93
+ name: "maxWords",
94
+ defaultErrorMessage: "The :input must be at most :maxWords words",
95
+ async validate(value, context) {
96
+ if (String(value || "").split(" ").length <= this.context.options.maxWords) {
97
+ return VALID_RULE;
98
+ }
99
+ this.context.attributesList.maxWords = this.context.options.maxWords;
100
+ return invalidRule(this, context);
101
+ },
102
+ };
103
+ /**
104
+ * Words rule - validates exact word count
105
+ */
106
+ const wordsRule = {
107
+ name: "words",
108
+ defaultErrorMessage: "The :input must be exactly :words words",
109
+ async validate(value, context) {
110
+ if (String(value || "").split(" ").length === this.context.options.words) {
111
+ return VALID_RULE;
112
+ }
113
+ this.context.attributesList.words = this.context.options.words;
114
+ return invalidRule(this, context);
115
+ },
116
+ };export{betweenLengthRule,lengthRule,maxLengthRule,maxWordsRule,minLengthRule,minWordsRule,wordsRule};//# sourceMappingURL=length-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"length-rules.js","sources":["../../../src/rules/length/length-rules.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./number-rules";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/number/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,43 @@
1
+ import type { SchemaRule } from "../../types";
2
+ /**
3
+ * Min rule - value must be equal or greater than minimum
4
+ */
5
+ export declare const minRule: SchemaRule<{
6
+ min: number;
7
+ }>;
8
+ /**
9
+ * Max rule - value must be equal or less than maximum
10
+ */
11
+ export declare const maxRule: SchemaRule<{
12
+ max: number;
13
+ }>;
14
+ /**
15
+ * Positive rule - value must be greater than 0
16
+ */
17
+ export declare const positiveRule: SchemaRule;
18
+ /**
19
+ * Negative rule - value must be less than 0
20
+ */
21
+ export declare const negativeRule: SchemaRule;
22
+ /**
23
+ * Odd rule - value must be an odd number
24
+ */
25
+ export declare const oddRule: SchemaRule;
26
+ /**
27
+ * Even rule - value must be an even number
28
+ */
29
+ export declare const evenRule: SchemaRule;
30
+ /**
31
+ * Modulo rule - value must be divisible by given number
32
+ */
33
+ export declare const moduloRule: SchemaRule<{
34
+ value: number;
35
+ }>;
36
+ /**
37
+ * Between rule - value must be between the given two numbers (Inclusive)
38
+ */
39
+ export declare const betweenNumbersRule: SchemaRule<{
40
+ min: number;
41
+ max: number;
42
+ }>;
43
+ //# sourceMappingURL=number-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-rules.d.ts","sourceRoot":"","sources":["../../../src/rules/number/number-rules.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,UAAU,CAAC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAS/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,UAAU,CAAC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAS/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,UAS1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,UAS1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,UASrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,UAStB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,UAAU,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CASpD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,UAAU,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAcvE,CAAC"}
@@ -0,0 +1,107 @@
1
+ import'@mongez/reinforcements';import {VALID_RULE,invalidRule}from'../../helpers/validation-helpers.js';/**
2
+ * Min rule - value must be equal or greater than minimum
3
+ */
4
+ const minRule = {
5
+ name: "min",
6
+ defaultErrorMessage: "The :input must be at least :min",
7
+ async validate(value, context) {
8
+ if (value >= this.context.options.min) {
9
+ return VALID_RULE;
10
+ }
11
+ return invalidRule(this, context);
12
+ },
13
+ };
14
+ /**
15
+ * Max rule - value must be equal or less than maximum
16
+ */
17
+ const maxRule = {
18
+ name: "max",
19
+ defaultErrorMessage: "The :input must equal to or less than :max",
20
+ async validate(value, context) {
21
+ if (value <= this.context.options.max) {
22
+ return VALID_RULE;
23
+ }
24
+ return invalidRule(this, context);
25
+ },
26
+ };
27
+ /**
28
+ * Positive rule - value must be greater than 0
29
+ */
30
+ const positiveRule = {
31
+ name: "positive",
32
+ defaultErrorMessage: "The :input must be a positive number",
33
+ async validate(value, context) {
34
+ if (value > 0) {
35
+ return VALID_RULE;
36
+ }
37
+ return invalidRule(this, context);
38
+ },
39
+ };
40
+ /**
41
+ * Negative rule - value must be less than 0
42
+ */
43
+ const negativeRule = {
44
+ name: "negative",
45
+ defaultErrorMessage: "The :input must be a negative number",
46
+ async validate(value, context) {
47
+ if (value < 0) {
48
+ return VALID_RULE;
49
+ }
50
+ return invalidRule(this, context);
51
+ },
52
+ };
53
+ /**
54
+ * Odd rule - value must be an odd number
55
+ */
56
+ const oddRule = {
57
+ name: "odd",
58
+ defaultErrorMessage: "The :input must be an odd number",
59
+ async validate(value, context) {
60
+ if (value % 2 !== 0) {
61
+ return VALID_RULE;
62
+ }
63
+ return invalidRule(this, context);
64
+ },
65
+ };
66
+ /**
67
+ * Even rule - value must be an even number
68
+ */
69
+ const evenRule = {
70
+ name: "even",
71
+ defaultErrorMessage: "The :input must be an even number",
72
+ async validate(value, context) {
73
+ if (value % 2 === 0) {
74
+ return VALID_RULE;
75
+ }
76
+ return invalidRule(this, context);
77
+ },
78
+ };
79
+ /**
80
+ * Modulo rule - value must be divisible by given number
81
+ */
82
+ const moduloRule = {
83
+ name: "modulo",
84
+ defaultErrorMessage: "The :input must be divisible by :value",
85
+ async validate(value, context) {
86
+ if (value % this.context.options.value === 0) {
87
+ return VALID_RULE;
88
+ }
89
+ return invalidRule(this, context);
90
+ },
91
+ };
92
+ /**
93
+ * Between rule - value must be between the given two numbers (Inclusive)
94
+ */
95
+ const betweenNumbersRule = {
96
+ name: "betweenNumbers",
97
+ defaultErrorMessage: "The :input must be between :min and :max",
98
+ async validate(value, context) {
99
+ if (value >= this.context.options.min &&
100
+ value <= this.context.options.max) {
101
+ this.context.options.betweenNumbers =
102
+ `${this.context.options.min} and ${this.context.options.max}`;
103
+ return VALID_RULE;
104
+ }
105
+ return invalidRule(this, context);
106
+ },
107
+ };export{betweenNumbersRule,evenRule,maxRule,minRule,moduloRule,negativeRule,oddRule,positiveRule};//# sourceMappingURL=number-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-rules.js","sources":["../../../src/rules/number/number-rules.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import type { SchemaRule } from "../../types";
2
+ /**
3
+ * Validate value as accepted if it equals:
4
+ * 1 | "1" | true | "true" | "yes" | "y" | "on"
5
+ */
6
+ export declare const acceptedRule: SchemaRule;
7
+ /**
8
+ * Accepted value if another field's value equals to a specific value
9
+ */
10
+ export declare const acceptedIfRule: SchemaRule<{
11
+ field: string;
12
+ value: any;
13
+ }>;
14
+ /**
15
+ * Accepted if another field is not equal to the given value
16
+ */
17
+ export declare const acceptedUnlessRule: SchemaRule<{
18
+ field: string;
19
+ value: any;
20
+ }>;
21
+ /**
22
+ * Accepted if another field is required
23
+ */
24
+ export declare const acceptedIfRequiredRule: SchemaRule<{
25
+ field: string;
26
+ }>;
27
+ /**
28
+ * Accepted if another field is present
29
+ */
30
+ export declare const acceptedIfPresentRule: SchemaRule<{
31
+ field: string;
32
+ }>;
33
+ /**
34
+ * Accepted if another field is missing
35
+ */
36
+ export declare const acceptedWithoutRule: SchemaRule<{
37
+ field: string;
38
+ }>;
39
+ //# sourceMappingURL=accepted-rule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accepted-rule.d.ts","sourceRoot":"","sources":["../../../src/rules/scalar/accepted-rule.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQ9C;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,UAY1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,UAAU,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,GAAG,CAAA;CAAE,CAmBpE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,UAAU,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,GAAG,CAAA;CAAE,CAmBxE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,UAAU,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAgBhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,UAAU,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAgB/D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,UAAU,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAgB7D,CAAC"}
@@ -0,0 +1,110 @@
1
+ import {isEmpty}from'@mongez/supportive-is';import {getFieldValue}from'../../helpers/get-field-value.js';import {VALID_RULE,invalidRule}from'../../helpers/validation-helpers.js';const isAcceptedValue = (value) => {
2
+ return ["1", "true", "yes", "y", "on", 1, true, "Yes", "Y", "On"].includes(value);
3
+ };
4
+ /**
5
+ * Validate value as accepted if it equals:
6
+ * 1 | "1" | true | "true" | "yes" | "y" | "on"
7
+ */
8
+ const acceptedRule = {
9
+ name: "accepted",
10
+ defaultErrorMessage: "The :input must be accepted",
11
+ description: "The value must be accepted if it equals: 1 | '1' | true | 'true' | 'yes' | 'y' | 'on' | 1 | true | 'Yes' | 'Y' | 'On'",
12
+ async validate(value, context) {
13
+ if (isAcceptedValue(value)) {
14
+ return VALID_RULE;
15
+ }
16
+ return invalidRule(this, context);
17
+ },
18
+ };
19
+ /**
20
+ * Accepted value if another field's value equals to a specific value
21
+ */
22
+ const acceptedIfRule = {
23
+ name: "acceptedIf",
24
+ description: "The field must be accepted if another field's value equals to a specific value",
25
+ defaultErrorMessage: "The :input must be accepted",
26
+ async validate(value, context) {
27
+ const fieldValue = getFieldValue(this, context);
28
+ const { value: expectedValue } = this.context.options;
29
+ if (fieldValue !== expectedValue) {
30
+ return invalidRule(this, context);
31
+ }
32
+ if (!isAcceptedValue(value)) {
33
+ return invalidRule(this, context);
34
+ }
35
+ return VALID_RULE;
36
+ },
37
+ };
38
+ /**
39
+ * Accepted if another field is not equal to the given value
40
+ */
41
+ const acceptedUnlessRule = {
42
+ name: "acceptedUnless",
43
+ description: "The field must be accepted if another field's value is not equal to a specific value",
44
+ defaultErrorMessage: "The :input must be accepted",
45
+ async validate(value, context) {
46
+ const fieldValue = getFieldValue(this, context);
47
+ const { value: expectedValue } = this.context.options;
48
+ if (fieldValue === expectedValue) {
49
+ return invalidRule(this, context);
50
+ }
51
+ if (!isAcceptedValue(value)) {
52
+ return invalidRule(this, context);
53
+ }
54
+ return VALID_RULE;
55
+ },
56
+ };
57
+ /**
58
+ * Accepted if another field is required
59
+ */
60
+ const acceptedIfRequiredRule = {
61
+ name: "acceptedIfRequired",
62
+ description: "The field must be accepted if another field is required",
63
+ defaultErrorMessage: "The :input must be accepted",
64
+ async validate(value, context) {
65
+ const fieldValue = getFieldValue(this, context);
66
+ if (isEmpty(fieldValue)) {
67
+ return invalidRule(this, context);
68
+ }
69
+ if (!isAcceptedValue(value)) {
70
+ return invalidRule(this, context);
71
+ }
72
+ return VALID_RULE;
73
+ },
74
+ };
75
+ /**
76
+ * Accepted if another field is present
77
+ */
78
+ const acceptedIfPresentRule = {
79
+ name: "acceptedIfPresent",
80
+ description: "The field must be accepted if another field is present",
81
+ defaultErrorMessage: "The :input must be accepted",
82
+ async validate(value, context) {
83
+ const fieldValue = getFieldValue(this, context);
84
+ if (fieldValue === undefined) {
85
+ return invalidRule(this, context);
86
+ }
87
+ if (!isAcceptedValue(value)) {
88
+ return invalidRule(this, context);
89
+ }
90
+ return VALID_RULE;
91
+ },
92
+ };
93
+ /**
94
+ * Accepted if another field is missing
95
+ */
96
+ const acceptedWithoutRule = {
97
+ name: "acceptedWithout",
98
+ description: "The field must be accepted if another field is missing",
99
+ defaultErrorMessage: "The :input must be accepted",
100
+ async validate(value, context) {
101
+ const fieldValue = getFieldValue(this, context);
102
+ if (fieldValue !== undefined) {
103
+ return invalidRule(this, context);
104
+ }
105
+ if (!isAcceptedValue(value)) {
106
+ return invalidRule(this, context);
107
+ }
108
+ return VALID_RULE;
109
+ },
110
+ };export{acceptedIfPresentRule,acceptedIfRequiredRule,acceptedIfRule,acceptedRule,acceptedUnlessRule,acceptedWithoutRule};//# sourceMappingURL=accepted-rule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accepted-rule.js","sources":["../../../src/rules/scalar/accepted-rule.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import type { SchemaRule } from "../../types";
2
+ /**
3
+ * Validate value as declined if it equals:
4
+ * 0 | "0" | false | "false" | "no" | "n" | "off" | 0 | false | "No" | "N" | "Off"
5
+ */
6
+ export declare const declinedRule: SchemaRule;
7
+ /**
8
+ * Declined value if another field's value equals to a specific value
9
+ */
10
+ export declare const declinedIfRule: SchemaRule<{
11
+ field: string;
12
+ value: any;
13
+ }>;
14
+ /**
15
+ * Declined if another field is not equal to the given value
16
+ */
17
+ export declare const declinedUnlessRule: SchemaRule<{
18
+ field: string;
19
+ value: any;
20
+ }>;
21
+ /**
22
+ * Declined if another field is required
23
+ */
24
+ export declare const declinedIfRequiredRule: SchemaRule<{
25
+ field: string;
26
+ }>;
27
+ /**
28
+ * Declined if another field is present
29
+ */
30
+ export declare const declinedIfPresentRule: SchemaRule<{
31
+ field: string;
32
+ }>;
33
+ /**
34
+ * Declined if another field is missing
35
+ */
36
+ export declare const declinedWithoutRule: SchemaRule<{
37
+ field: string;
38
+ }>;
39
+ //# sourceMappingURL=declined-rule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declined-rule.d.ts","sourceRoot":"","sources":["../../../src/rules/scalar/declined-rule.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQ9C;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,UAY1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,UAAU,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,GAAG,CAAA;CAAE,CAkBpE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,UAAU,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,GAAG,CAAA;CAAE,CAkBxE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,UAAU,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAgBhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,UAAU,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAgB/D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,UAAU,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAgB7D,CAAC"}