@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,500 @@
1
+ import type { ContextualSchemaRule, ContextualizedMutator, ContextualizedTransformer, Mutator, SchemaContext, SchemaRule, SchemaRuleOptions, SimpleTransformerCallback, TransformerCallback, ValidationAttributesList, ValidationResult, WhenRuleOptions } from "../types";
2
+ /**
3
+ * Base validator class - foundation for all validators
4
+ */
5
+ export declare class BaseValidator {
6
+ rules: ContextualSchemaRule[];
7
+ mutators: ContextualizedMutator[];
8
+ protected defaultValue: any;
9
+ protected description?: string;
10
+ protected shouldAllowEmpty: boolean;
11
+ protected shouldOmit: boolean;
12
+ /**
13
+ * Pipeline to transform the mutated/original data before returning it
14
+ */
15
+ protected dataTransformers: ContextualizedTransformer[];
16
+ /**
17
+ * Attributes text to be replaced on translations
18
+ * If the value is an object, it will be used as the attributes list for the rule
19
+ * If the value is a string, it will be used as the attributes list for the rule
20
+ */
21
+ protected attributesText: ValidationAttributesList;
22
+ /**
23
+ * Get the default value
24
+ */
25
+ getDefaultValue(): any;
26
+ /**
27
+ * Add transformer with optional options
28
+ *
29
+ * @param transform - The transformer callback function
30
+ * @param options - Optional options to pass to the transformer
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * // Without options
35
+ * v.date().addTransformer(data => data.toISOString())
36
+ *
37
+ * // With options
38
+ * v.date().addTransformer(
39
+ * (data, { options }) => dayjs(data).format(options.format),
40
+ * { format: 'YYYY-MM-DD' }
41
+ * )
42
+ * ```
43
+ */
44
+ addTransformer(transform: TransformerCallback, options?: any): this;
45
+ /**
46
+ * Transform the output value - simple one-time transformation
47
+ *
48
+ * @param callback - Simple callback receiving data and context
49
+ *
50
+ * @example
51
+ * ```ts
52
+ * // Simple transformation
53
+ * v.string().outputAs(data => data.toUpperCase())
54
+ *
55
+ * // With context
56
+ * v.string().outputAs((data, context) => {
57
+ * console.log(`Transforming ${context.path}`);
58
+ * return data.toLowerCase();
59
+ * })
60
+ * ```
61
+ */
62
+ outputAs(callback: SimpleTransformerCallback): this;
63
+ /**
64
+ * Transform output to JSON string
65
+ *
66
+ * Works with any validator type (string, number, date, object, array, etc.)
67
+ *
68
+ * @param indent - Optional indentation for pretty printing (default: 0 for compact)
69
+ *
70
+ * @example
71
+ * ```ts
72
+ * // Compact JSON
73
+ * v.object({ name: v.string() }).toJSON()
74
+ * // Output: '{"name":"John"}'
75
+ *
76
+ * // Pretty-printed JSON
77
+ * v.array(v.object({...})).toJSON(2)
78
+ * // Output:
79
+ * // [
80
+ * // {
81
+ * // "name": "John"
82
+ * // }
83
+ * // ]
84
+ *
85
+ * // Works with any type
86
+ * v.string().toJSON() // '"hello"'
87
+ * v.number().toJSON() // '42'
88
+ * v.date().toJSON() // '"2024-10-26T00:00:00.000Z"'
89
+ * ```
90
+ *
91
+ * @category Transformer
92
+ */
93
+ toJSON(indent?: number): this;
94
+ /**
95
+ * Start data transformation pipeline
96
+ * Context is passed at runtime, not stored
97
+ */
98
+ startTransformationPipeline(data: any, context: SchemaContext): Promise<any>;
99
+ /**
100
+ * Set attributes text to be replaced on translations
101
+ * If the value is an object, it will be used as the attributes list for the rule
102
+ * If the value is a string, it will be used as the attributes list for the rule
103
+ *
104
+ * @example
105
+ * v.string().attributes({
106
+ * name: "Name",
107
+ * email: "Email",
108
+ * });
109
+ * // Example 2: Add custom attributes for matches
110
+ * v.string().matches("confirmPassword").attributes({
111
+ * matches: {
112
+ * confirmPassword: "Confirm Password",
113
+ * },
114
+ * });
115
+ */
116
+ attributes(attributes: Record<string, string | Record<string, string>>): this;
117
+ /**
118
+ * Add description to the validator
119
+ */
120
+ describe(description: string): this;
121
+ /**
122
+ * Allow empty values and skip validation if the value is empty
123
+ */
124
+ allowsEmpty(): this;
125
+ /**
126
+ * Omit this field from the validated data output
127
+ *
128
+ * Field will still be validated but not included in the final result.
129
+ * Useful for confirmation fields, captcha, terms acceptance, etc.
130
+ *
131
+ * @example
132
+ * ```ts
133
+ * v.object({
134
+ * password: v.string().required(),
135
+ * confirmPassword: v.string().required().sameAs("password").omit(),
136
+ * acceptTerms: v.boolean().required().omit(),
137
+ * });
138
+ * // Output: { password: "..." }
139
+ * // confirmPassword and acceptTerms validated but omitted
140
+ * ```
141
+ */
142
+ omit(): this;
143
+ /**
144
+ * @alias omit
145
+ */
146
+ exclude(): this;
147
+ /**
148
+ * Check if this field should be omitted from the output
149
+ */
150
+ isOmitted(): boolean;
151
+ /**
152
+ * Value must be equal to the given value
153
+ */
154
+ equal(value: any, errorMessage?: string): this;
155
+ /**
156
+ * Value must be the same as another field's value
157
+ */
158
+ sameAs(field: string, errorMessage?: string): this;
159
+ /**
160
+ * Value must be the same as another sibling field's value
161
+ */
162
+ sameAsSibling(field: string, errorMessage?: string): this;
163
+ /**
164
+ * Value must be different from another field's value
165
+ */
166
+ differentFrom(field: string, errorMessage?: string): this;
167
+ /**
168
+ * Value must be different from another sibling field's value
169
+ */
170
+ differentFromSibling(field: string, errorMessage?: string): this;
171
+ /**
172
+ * Add rule to the validator
173
+ */
174
+ addRule<T extends SchemaRuleOptions = SchemaRuleOptions>(rule: SchemaRule<T>, errorMessage?: string): ContextualSchemaRule<T>;
175
+ /**
176
+ * Use a custom or pre-built validation rule
177
+ *
178
+ * @param rule - The validation rule to apply
179
+ * @param options - Rule options including errorMessage and any rule-specific options
180
+ *
181
+ * @example
182
+ * ```ts
183
+ * import { hexColorRule } from "@warlock.js/seal-plugins/colors";
184
+ *
185
+ * v.string().useRule(hexColorRule, { errorMessage: "Invalid color" });
186
+ * ```
187
+ *
188
+ * @example
189
+ * ```ts
190
+ * // With rule options
191
+ * v.string().useRule(myCustomRule, {
192
+ * customOption: true,
193
+ * errorMessage: "Custom validation failed"
194
+ * });
195
+ * ```
196
+ */
197
+ useRule<T extends SchemaRuleOptions = SchemaRuleOptions>(rule: SchemaRule<T>, options?: T & {
198
+ errorMessage?: string;
199
+ }): this;
200
+ /**
201
+ * Define custom rule
202
+ */
203
+ refine(callback: (value: any, context: SchemaContext) => Promise<string | undefined> | string | undefined): this;
204
+ /**
205
+ * Add mutator to the validator
206
+ */
207
+ addMutator(mutator: Mutator, options?: any): this;
208
+ /**
209
+ * Set default value for the field
210
+ */
211
+ default(value: any): this;
212
+ /**
213
+ * This value must be present and has a value
214
+ */
215
+ required(errorMessage?: string): this;
216
+ /**
217
+ * Value must be present but not necessarily has a value
218
+ */
219
+ present(errorMessage?: string): this;
220
+ /**
221
+ * Mark the field as optional, so pass it if it has no value or has a value
222
+ * Because this is the default behavior, this method is just syntactic sugar
223
+ */
224
+ optional(): this;
225
+ /**
226
+ * Value is required if another field exists
227
+ */
228
+ requiredWith(field: string, errorMessage?: string): this;
229
+ /**
230
+ * Value is required if another sibling field exists
231
+ */
232
+ requiredWithSibling(field: string, errorMessage?: string): this;
233
+ /**
234
+ * Value is required if another field is missing
235
+ */
236
+ requiredWithout(field: string, errorMessage?: string): this;
237
+ /**
238
+ * Value is required if another sibling field is missing
239
+ */
240
+ requiredWithoutSibling(field: string, errorMessage?: string): this;
241
+ /**
242
+ * Value is required if another field equals a specific value
243
+ */
244
+ requiredIf(field: string, value: any, errorMessage?: string): this;
245
+ /**
246
+ * Value is required if another sibling field equals a specific value
247
+ */
248
+ requiredIfSibling(field: string, value: any, errorMessage?: string): this;
249
+ /**
250
+ * Value is required unless another field equals a specific value
251
+ */
252
+ requiredUnless(field: string, value: any, errorMessage?: string): this;
253
+ /**
254
+ * Value is required unless another sibling field equals a specific value
255
+ */
256
+ requiredUnlessSibling(field: string, value: any, errorMessage?: string): this;
257
+ /**
258
+ * Value is required if another field is empty
259
+ */
260
+ requiredIfEmpty(field: string, errorMessage?: string): this;
261
+ /**
262
+ * Value is required if another sibling field is empty
263
+ */
264
+ requiredIfEmptySibling(field: string, errorMessage?: string): this;
265
+ /**
266
+ * Value is required if another field is not empty
267
+ */
268
+ requiredIfNotEmpty(field: string, errorMessage?: string): this;
269
+ /**
270
+ * Value is required if another sibling field is not empty
271
+ */
272
+ requiredIfNotEmptySibling(field: string, errorMessage?: string): this;
273
+ /**
274
+ * Value is required if another field's value is in the given array
275
+ */
276
+ requiredIfIn(field: string, values: any[], errorMessage?: string): this;
277
+ /**
278
+ * Value is required if another sibling field's value is in the given array
279
+ */
280
+ requiredIfInSibling(field: string, values: any[], errorMessage?: string): this;
281
+ /**
282
+ * Value is required if another field's value is NOT in the given array
283
+ */
284
+ requiredIfNotIn(field: string, values: any[], errorMessage?: string): this;
285
+ /**
286
+ * Value is required if another sibling field's value is NOT in the given array
287
+ */
288
+ requiredIfNotInSibling(field: string, values: any[], errorMessage?: string): this;
289
+ /**
290
+ * Value is required if all specified fields exist
291
+ */
292
+ requiredWithAll(fields: string[], errorMessage?: string): this;
293
+ /**
294
+ * Value is required if all specified sibling fields exist
295
+ */
296
+ requiredWithAllSiblings(fields: string[], errorMessage?: string): this;
297
+ /**
298
+ * Value is required if all specified fields are missing
299
+ */
300
+ requiredWithoutAll(fields: string[], errorMessage?: string): this;
301
+ /**
302
+ * Value is required if all specified sibling fields are missing
303
+ */
304
+ requiredWithoutAllSiblings(fields: string[], errorMessage?: string): this;
305
+ /**
306
+ * Value is required if any of the specified fields exists
307
+ */
308
+ requiredWithAny(fields: string[], errorMessage?: string): this;
309
+ /**
310
+ * Value is required if any of the specified sibling fields exists
311
+ */
312
+ requiredWithAnySiblings(fields: string[], errorMessage?: string): this;
313
+ /**
314
+ * Value is required if any of the specified fields is missing
315
+ */
316
+ requiredWithoutAny(fields: string[], errorMessage?: string): this;
317
+ /**
318
+ * Value is required if any of the specified sibling fields is missing
319
+ */
320
+ requiredWithoutAnySiblings(fields: string[], errorMessage?: string): this;
321
+ /**
322
+ * Field must be present if another field exists
323
+ */
324
+ presentWith(field: string, errorMessage?: string): this;
325
+ /**
326
+ * Field must be present if another sibling field exists
327
+ */
328
+ presentWithSibling(field: string, errorMessage?: string): this;
329
+ /**
330
+ * Field must be present if another field is missing
331
+ */
332
+ presentWithout(field: string, errorMessage?: string): this;
333
+ /**
334
+ * Field must be present if another sibling field is missing
335
+ */
336
+ presentWithoutSibling(field: string, errorMessage?: string): this;
337
+ /**
338
+ * Field must be present if another field equals a specific value
339
+ */
340
+ presentIf(field: string, value: any, errorMessage?: string): this;
341
+ /**
342
+ * Field must be present if another sibling field equals a specific value
343
+ */
344
+ presentIfSibling(field: string, value: any, errorMessage?: string): this;
345
+ /**
346
+ * Field must be present unless another field equals a specific value
347
+ */
348
+ presentUnless(field: string, value: any, errorMessage?: string): this;
349
+ /**
350
+ * Field must be present unless another sibling field equals a specific value
351
+ */
352
+ presentUnlessSibling(field: string, value: any, errorMessage?: string): this;
353
+ /**
354
+ * Field must be present if another field is empty
355
+ */
356
+ presentIfEmpty(field: string, errorMessage?: string): this;
357
+ /**
358
+ * Field must be present if another sibling field is empty
359
+ */
360
+ presentIfEmptySibling(field: string, errorMessage?: string): this;
361
+ /**
362
+ * Field must be present if another field is not empty
363
+ */
364
+ presentIfNotEmpty(field: string, errorMessage?: string): this;
365
+ /**
366
+ * Field must be present if another sibling field is not empty
367
+ */
368
+ presentIfNotEmptySibling(field: string, errorMessage?: string): this;
369
+ /**
370
+ * Field must be present if another field's value is in the given array
371
+ */
372
+ presentIfIn(field: string, values: any[], errorMessage?: string): this;
373
+ /**
374
+ * Field must be present if another sibling field's value is in the given array
375
+ */
376
+ presentIfInSibling(field: string, values: any[], errorMessage?: string): this;
377
+ /**
378
+ * Field must be present if another field's value is NOT in the given array
379
+ */
380
+ presentIfNotIn(field: string, values: any[], errorMessage?: string): this;
381
+ /**
382
+ * Field must be present if another sibling field's value is NOT in the given array
383
+ */
384
+ presentIfNotInSibling(field: string, values: any[], errorMessage?: string): this;
385
+ /**
386
+ * Field must be present if all specified fields exist
387
+ */
388
+ presentWithAll(fields: string[], errorMessage?: string): this;
389
+ /**
390
+ * Field must be present if all specified sibling fields exist
391
+ */
392
+ presentWithAllSiblings(fields: string[], errorMessage?: string): this;
393
+ /**
394
+ * Field must be present if all specified fields are missing
395
+ */
396
+ presentWithoutAll(fields: string[], errorMessage?: string): this;
397
+ /**
398
+ * Field must be present if all specified sibling fields are missing
399
+ */
400
+ presentWithoutAllSiblings(fields: string[], errorMessage?: string): this;
401
+ /**
402
+ * Field must be present if any of the specified fields exists
403
+ */
404
+ presentWithAny(fields: string[], errorMessage?: string): this;
405
+ /**
406
+ * Field must be present if any of the specified sibling fields exists
407
+ */
408
+ presentWithAnySiblings(fields: string[], errorMessage?: string): this;
409
+ /**
410
+ * Field must be present if any of the specified fields is missing
411
+ */
412
+ presentWithoutAny(fields: string[], errorMessage?: string): this;
413
+ /**
414
+ * Field must be present if any of the specified sibling fields is missing
415
+ */
416
+ presentWithoutAnySiblings(fields: string[], errorMessage?: string): this;
417
+ /**
418
+ * Mutate the data
419
+ */
420
+ mutate(data: any, context: SchemaContext): Promise<any>;
421
+ /**
422
+ * Value is forbidden to be present
423
+ */
424
+ forbidden(errorMessage?: string): this;
425
+ /**
426
+ * Apply different validation rules based on another field's value (global scope)
427
+ *
428
+ * Use this when you need to apply completely different validators
429
+ * based on another field's value (not just required/optional).
430
+ *
431
+ * @param field - Field name to check (can be nested with dot notation)
432
+ * @param options - Validation options per field value
433
+ *
434
+ * @example
435
+ * ```ts
436
+ * // Different allowed values based on user type
437
+ * v.object({
438
+ * userType: v.string().in(['admin', 'user']),
439
+ * role: v.string().when('userType', {
440
+ * is: {
441
+ * admin: v.string().in(['super', 'moderator']),
442
+ * user: v.string().in(['member', 'guest'])
443
+ * },
444
+ * otherwise: v.string().optional()
445
+ * })
446
+ * })
447
+ *
448
+ * // Different validation rules based on type
449
+ * v.object({
450
+ * contactType: v.string().in(['email', 'phone']),
451
+ * contact: v.string().when('contactType', {
452
+ * is: {
453
+ * email: v.string().email(),
454
+ * phone: v.string().pattern(/^\d{10}$/)
455
+ * }
456
+ * })
457
+ * })
458
+ * ```
459
+ * @category Conditional Validation
460
+ */
461
+ when(field: string, options: Omit<WhenRuleOptions, "field" | "scope">): this;
462
+ /**
463
+ * Apply different validation rules based on sibling field's value
464
+ *
465
+ * Use this for nested objects where you need to check a field
466
+ * within the same parent object.
467
+ *
468
+ * @param siblingField - Sibling field name to check
469
+ * @param options - Validation options per field value
470
+ *
471
+ * @example
472
+ * ```ts
473
+ * // Array of users with role-based permissions
474
+ * v.array(v.object({
475
+ * userType: v.string().in(['admin', 'user']),
476
+ * permissions: v.string().whenSibling('userType', {
477
+ * is: {
478
+ * admin: v.string().in(['read', 'write', 'delete']),
479
+ * user: v.string().in(['read'])
480
+ * }
481
+ * })
482
+ * }))
483
+ * ```
484
+ * @category Conditional Validation
485
+ */
486
+ whenSibling(siblingField: string, options: Omit<WhenRuleOptions, "field" | "scope">): this;
487
+ /**
488
+ * Set the label for the validator that will be matching the :input attribute
489
+ */
490
+ label(label: string): this;
491
+ /**
492
+ * Validate the data
493
+ */
494
+ validate(data: any, context: SchemaContext): Promise<ValidationResult>;
495
+ /**
496
+ * Set rule attributes list
497
+ */
498
+ protected setRuleAttributesList(rule: ContextualSchemaRule): void;
499
+ }
500
+ //# sourceMappingURL=base-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-validator.d.ts","sourceRoot":"","sources":["../../src/validators/base-validator.ts"],"names":[],"mappings":"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"}