@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,187 @@
1
+ import { BaseValidator } from "./base-validator";
2
+ import { ScalarValidator } from "./scalar-validator";
3
+ /**
4
+ * String validator class
5
+ */
6
+ export declare class StringValidator extends BaseValidator {
7
+ constructor(errorMessage?: string);
8
+ /**
9
+ * Stringify the value if not a string
10
+ */
11
+ toString(): this;
12
+ /** Convert string to uppercase */
13
+ uppercase(): this;
14
+ /** Convert string to lowercase */
15
+ lowercase(): this;
16
+ /** Capitalize only the first letter of the string */
17
+ capitalize(): this;
18
+ /** Capitalize the first letter of each word (Title Case) */
19
+ titleCase(): this;
20
+ /** Convert to camelCase */
21
+ camelCase(): this;
22
+ /** Convert to PascalCase */
23
+ pascalCase(): this;
24
+ /** Convert to snake_case */
25
+ snakeCase(): this;
26
+ /** Convert to kebab-case */
27
+ kebabCase(): this;
28
+ /**
29
+ * Trim the given needle from the string
30
+ * If no needle is provided, the default is a single space
31
+ */
32
+ trim(needle?: string): this;
33
+ /** Trim from the left/start */
34
+ ltrim(needle?: string): this;
35
+ /** Trim from the right/end */
36
+ rtrim(needle?: string): this;
37
+ /** Trim multiple whitespace into single space */
38
+ trimMultipleWhitespace(): this;
39
+ /** Pad string from the start to reach target length */
40
+ padStart(length: number, char?: string): this;
41
+ /** Pad string from the end to reach target length */
42
+ padEnd(length: number, char?: string): this;
43
+ /** Remove HTML tags (safe HTML) */
44
+ safeHtml(): this;
45
+ /** HTML escape special characters */
46
+ htmlEscape(): this;
47
+ /** Unescape HTML entities */
48
+ unescapeHtml(): this;
49
+ /**
50
+ * Remove special characters
51
+ * This will remove all characters that are not alphanumeric or whitespace
52
+ */
53
+ removeSpecialCharacters(): this;
54
+ /** Convert to only alphabetic characters */
55
+ toAlpha(): this;
56
+ /** Convert to only alphanumeric characters */
57
+ toAlphanumeric(): this;
58
+ /** Remove all numeric characters */
59
+ removeNumbers(): this;
60
+ /** URL decode */
61
+ urlDecode(): this;
62
+ /** URL encode */
63
+ urlEncode(): this;
64
+ /** Convert to URL-friendly slug */
65
+ slug(): this;
66
+ /** Base64 encode */
67
+ base64Encode(): this;
68
+ /** Base64 decode */
69
+ base64Decode(): this;
70
+ /** Replace substring or pattern */
71
+ replace(search: string | RegExp, replace: string): this;
72
+ /** Replace all occurrences of substring or pattern */
73
+ replaceAll(search: string | RegExp, replace: string): this;
74
+ /** Append/suffix text to the end */
75
+ append(suffix: string): this;
76
+ /** Prepend/prefix text to the beginning */
77
+ prepend(prefix: string): this;
78
+ /** Reverse the string */
79
+ reverse(): this;
80
+ /** Truncate to a maximum length */
81
+ truncate(maxLength: number, suffix?: string): this;
82
+ /** Repeat string N times */
83
+ repeat(count: number): this;
84
+ /** Mask part of string */
85
+ mask(start: number, end?: number, char?: string): this;
86
+ /** Value must be a valid email */
87
+ email(errorMessage?: string): this;
88
+ /** Value must be a valid URL */
89
+ url(errorMessage?: string): this;
90
+ /** Value can not have whitespace */
91
+ withoutWhitespace(errorMessage?: string): this;
92
+ /** Value must match the given pattern */
93
+ pattern(pattern: RegExp, errorMessage?: string): this;
94
+ /**
95
+ * Value must be a strong password
96
+ * Requirements:
97
+ * - At least 8 characters
98
+ * - At least 1 uppercase letter
99
+ * - At least 1 lowercase letter
100
+ * - At least 1 number
101
+ * - At least 1 special character
102
+ */
103
+ strongPassword(minLength?: number, errorMessage?: string): this;
104
+ /** Value must be exactly the given number of words */
105
+ words(words: number, errorMessage?: string): this;
106
+ /** Value must be at least the given number of words */
107
+ minWords(words: number, errorMessage?: string): this;
108
+ /** Value must be at most the given number of words */
109
+ maxWords(words: number, errorMessage?: string): this;
110
+ /** Value length must be greater than the given length */
111
+ minLength(length: number, errorMessage?: string): this;
112
+ /** @alias minLength */
113
+ min(min: number, errorMessage?: string): this;
114
+ /** Value length must be less than the given length */
115
+ maxLength(length: number, errorMessage?: string): this;
116
+ /** @alias maxLength */
117
+ max(max: number, errorMessage?: string): this;
118
+ /** Value must be of the given length */
119
+ length(length: number, errorMessage?: string): this;
120
+ /**
121
+ * String length must be between min and max (inclusive)
122
+ *
123
+ * @param min - Minimum length (inclusive)
124
+ * @param max - Maximum length (inclusive)
125
+ *
126
+ * @example
127
+ * ```ts
128
+ * v.string().between(5, 10) // Length: 5 to 10 characters
129
+ * v.string().lengthBetween(8, 20) // Same using alias
130
+ * ```
131
+ *
132
+ * @category Validation Rule
133
+ */
134
+ between(min: number, max: number, errorMessage?: string): this;
135
+ /**
136
+ * Alias for between() - string length between min and max
137
+ */
138
+ lengthBetween(min: number, max: number, errorMessage?: string): this;
139
+ /** Allow only alphabetic characters */
140
+ alpha(errorMessage?: string): this;
141
+ /** Allow only alphanumeric characters */
142
+ alphanumeric(errorMessage?: string): this;
143
+ /** Allow only numeric characters */
144
+ numeric(errorMessage?: string): this;
145
+ /** Value must starts with the given string */
146
+ startsWith(value: string, errorMessage?: string): this;
147
+ /** Value must ends with the given string */
148
+ endsWith(value: string, errorMessage?: string): this;
149
+ /** Value must contain the given string */
150
+ contains(value: string, errorMessage?: string): this;
151
+ /** Value must not contain the given string */
152
+ notContains(value: string, errorMessage?: string): this;
153
+ /** Value must be a valid IP address */
154
+ ip(errorMessage?: string): this;
155
+ /** Value must be a valid IPv4 address */
156
+ ip4(errorMessage?: string): this;
157
+ /** Value must be a valid IPv6 address */
158
+ ip6(errorMessage?: string): this;
159
+ /** Check if the string matches a credit card number */
160
+ creditCard(errorMessage?: string): this;
161
+ /** Determine if the value is a valid color */
162
+ color(errorMessage?: string): this;
163
+ /** Determine if the value is a valid hex color */
164
+ hexColor(errorMessage?: string): this;
165
+ /** Determine if the value is a valid HSL color */
166
+ hslColor(errorMessage?: string): this;
167
+ /** Determine if the value is a valid RGB color */
168
+ rgbColor(errorMessage?: string): this;
169
+ /** Determine if the value is a valid RGBA color */
170
+ rgbaColor(errorMessage?: string): this;
171
+ /** Determine if the value is a valid light color */
172
+ lightColor(errorMessage?: string): this;
173
+ /** Determine if the value is a valid dark color */
174
+ darkColor(errorMessage?: string): this;
175
+ enum: (values: any, errorMessage?: string) => ScalarValidator;
176
+ /** Value must be in one of the given values */
177
+ in: (values: any[], errorMessage?: string) => ScalarValidator;
178
+ /** @alias in */
179
+ oneOf: (values: any[], errorMessage?: string) => ScalarValidator;
180
+ /** @alias oneOf */
181
+ allowsOnly: (values: any[], errorMessage?: string) => ScalarValidator;
182
+ /** Forbid the value from being one of the given values */
183
+ forbids: (values: any[], errorMessage?: string) => ScalarValidator;
184
+ /** @alias forbids */
185
+ notIn: (values: any[], errorMessage?: string) => ScalarValidator;
186
+ }
187
+ //# sourceMappingURL=string-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-validator.d.ts","sourceRoot":"","sources":["../../src/validators/string-validator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,404 @@
1
+ 'use strict';require('@mongez/reinforcements'),require('@mongez/supportive-is'),require('dayjs');var stringMutators=require('../mutators/string-mutators.js'),alpha=require('../rules/string/alpha.js'),creditCard=require('../rules/string/credit-card.js'),email=require('../rules/string/email.js'),ip=require('../rules/string/ip.js'),pattern=require('../rules/string/pattern.js'),stringComparison=require('../rules/string/string-comparison.js'),strongPasswordRule=require('../rules/string/strong-password-rule.js'),url=require('../rules/string/url.js'),withoutWhitespace=require('../rules/string/without-whitespace.js'),lengthRules=require('../rules/length/length-rules.js'),colorRules=require('../rules/color/color-rules.js'),typeRules=require('../rules/common/type-rules.js'),baseValidator=require('./base-validator.js'),scalarValidator=require('./scalar-validator.js');/**
2
+ * String validator class
3
+ */
4
+ class StringValidator extends baseValidator.BaseValidator {
5
+ constructor(errorMessage) {
6
+ super();
7
+ this.addRule(typeRules.stringRule, errorMessage);
8
+ }
9
+ // ==================== Mutators ====================
10
+ /**
11
+ * Stringify the value if not a string
12
+ */
13
+ toString() {
14
+ this.addMutator(stringMutators.stringifyMutator);
15
+ return this;
16
+ }
17
+ /** Convert string to uppercase */
18
+ uppercase() {
19
+ this.addMutator(stringMutators.uppercaseMutator);
20
+ return this;
21
+ }
22
+ /** Convert string to lowercase */
23
+ lowercase() {
24
+ this.addMutator(stringMutators.lowercaseMutator);
25
+ return this;
26
+ }
27
+ /** Capitalize only the first letter of the string */
28
+ capitalize() {
29
+ this.addMutator(stringMutators.capitalizeMutator);
30
+ return this;
31
+ }
32
+ /** Capitalize the first letter of each word (Title Case) */
33
+ titleCase() {
34
+ this.addMutator(stringMutators.titleCaseMutator);
35
+ return this;
36
+ }
37
+ /** Convert to camelCase */
38
+ camelCase() {
39
+ this.addMutator(stringMutators.camelCaseMutator);
40
+ return this;
41
+ }
42
+ /** Convert to PascalCase */
43
+ pascalCase() {
44
+ this.addMutator(stringMutators.pascalCaseMutator);
45
+ return this;
46
+ }
47
+ /** Convert to snake_case */
48
+ snakeCase() {
49
+ this.addMutator(stringMutators.snakeCaseMutator);
50
+ return this;
51
+ }
52
+ /** Convert to kebab-case */
53
+ kebabCase() {
54
+ this.addMutator(stringMutators.kebabCaseMutator);
55
+ return this;
56
+ }
57
+ /**
58
+ * Trim the given needle from the string
59
+ * If no needle is provided, the default is a single space
60
+ */
61
+ trim(needle) {
62
+ this.addMutator(stringMutators.trimMutator, { needle });
63
+ return this;
64
+ }
65
+ /** Trim from the left/start */
66
+ ltrim(needle) {
67
+ this.addMutator(stringMutators.ltrimMutator, { needle });
68
+ return this;
69
+ }
70
+ /** Trim from the right/end */
71
+ rtrim(needle) {
72
+ this.addMutator(stringMutators.rtrimMutator, { needle });
73
+ return this;
74
+ }
75
+ /** Trim multiple whitespace into single space */
76
+ trimMultipleWhitespace() {
77
+ this.addMutator(stringMutators.trimMultipleWhitespaceMutator);
78
+ return this;
79
+ }
80
+ /** Pad string from the start to reach target length */
81
+ padStart(length, char = " ") {
82
+ this.addMutator(stringMutators.padStartMutator, { length, char });
83
+ return this;
84
+ }
85
+ /** Pad string from the end to reach target length */
86
+ padEnd(length, char = " ") {
87
+ this.addMutator(stringMutators.padEndMutator, { length, char });
88
+ return this;
89
+ }
90
+ /** Remove HTML tags (safe HTML) */
91
+ safeHtml() {
92
+ this.addMutator(stringMutators.safeHtmlMutator);
93
+ return this;
94
+ }
95
+ /** HTML escape special characters */
96
+ htmlEscape() {
97
+ return this.addMutator(stringMutators.htmlEscapeMutator);
98
+ }
99
+ /** Unescape HTML entities */
100
+ unescapeHtml() {
101
+ this.addMutator(stringMutators.unescapeHtmlMutator);
102
+ return this;
103
+ }
104
+ /**
105
+ * Remove special characters
106
+ * This will remove all characters that are not alphanumeric or whitespace
107
+ */
108
+ removeSpecialCharacters() {
109
+ this.addMutator(stringMutators.removeSpecialCharactersMutator);
110
+ return this;
111
+ }
112
+ /** Convert to only alphabetic characters */
113
+ toAlpha() {
114
+ this.addMutator(stringMutators.alphaOnlyMutator);
115
+ return this;
116
+ }
117
+ /** Convert to only alphanumeric characters */
118
+ toAlphanumeric() {
119
+ this.addMutator(stringMutators.alphanumericOnlyMutator);
120
+ return this;
121
+ }
122
+ /** Remove all numeric characters */
123
+ removeNumbers() {
124
+ this.addMutator(stringMutators.removeNumbersMutator);
125
+ return this;
126
+ }
127
+ /** URL decode */
128
+ urlDecode() {
129
+ this.addMutator(stringMutators.urlDecodeMutator);
130
+ return this;
131
+ }
132
+ /** URL encode */
133
+ urlEncode() {
134
+ this.addMutator(stringMutators.urlEncodeMutator);
135
+ return this;
136
+ }
137
+ /** Convert to URL-friendly slug */
138
+ slug() {
139
+ this.addMutator(stringMutators.slugMutator);
140
+ return this;
141
+ }
142
+ /** Base64 encode */
143
+ base64Encode() {
144
+ this.addMutator(stringMutators.base64EncodeMutator);
145
+ return this;
146
+ }
147
+ /** Base64 decode */
148
+ base64Decode() {
149
+ this.addMutator(stringMutators.base64DecodeMutator);
150
+ return this;
151
+ }
152
+ /** Replace substring or pattern */
153
+ replace(search, replace) {
154
+ this.addMutator(stringMutators.replaceMutator, { search, replace });
155
+ return this;
156
+ }
157
+ /** Replace all occurrences of substring or pattern */
158
+ replaceAll(search, replace) {
159
+ this.addMutator(stringMutators.replaceAllMutator, { search, replace });
160
+ return this;
161
+ }
162
+ /** Append/suffix text to the end */
163
+ append(suffix) {
164
+ this.addMutator(stringMutators.appendMutator, { suffix });
165
+ return this;
166
+ }
167
+ /** Prepend/prefix text to the beginning */
168
+ prepend(prefix) {
169
+ this.addMutator(stringMutators.prependMutator, { prefix });
170
+ return this;
171
+ }
172
+ /** Reverse the string */
173
+ reverse() {
174
+ this.addMutator(stringMutators.reverseMutator);
175
+ return this;
176
+ }
177
+ /** Truncate to a maximum length */
178
+ truncate(maxLength, suffix = "...") {
179
+ this.addMutator(stringMutators.truncateMutator, { maxLength, suffix });
180
+ return this;
181
+ }
182
+ /** Repeat string N times */
183
+ repeat(count) {
184
+ this.addMutator(stringMutators.repeatMutator, { count });
185
+ return this;
186
+ }
187
+ /** Mask part of string */
188
+ mask(start, end, char = "*") {
189
+ this.addMutator(stringMutators.maskMutator, { start, end, char });
190
+ return this;
191
+ }
192
+ // ==================== Validation Rules ====================
193
+ /** Value must be a valid email */
194
+ email(errorMessage) {
195
+ this.addRule(email.emailRule, errorMessage);
196
+ return this;
197
+ }
198
+ /** Value must be a valid URL */
199
+ url(errorMessage) {
200
+ this.addRule(url.urlRule, errorMessage);
201
+ return this;
202
+ }
203
+ /** Value can not have whitespace */
204
+ withoutWhitespace(errorMessage) {
205
+ this.addRule(withoutWhitespace.withoutWhitespaceRule, errorMessage);
206
+ return this;
207
+ }
208
+ /** Value must match the given pattern */
209
+ pattern(pattern$1, errorMessage) {
210
+ const rule = this.addRule(pattern.patternRule, errorMessage);
211
+ rule.context.options.pattern = pattern$1;
212
+ return this;
213
+ }
214
+ /**
215
+ * Value must be a strong password
216
+ * Requirements:
217
+ * - At least 8 characters
218
+ * - At least 1 uppercase letter
219
+ * - At least 1 lowercase letter
220
+ * - At least 1 number
221
+ * - At least 1 special character
222
+ */
223
+ strongPassword(minLength, errorMessage) {
224
+ const rule = this.addRule(strongPasswordRule.strongPasswordRule, errorMessage);
225
+ rule.context.options.minLength = minLength;
226
+ return this;
227
+ }
228
+ /** Value must be exactly the given number of words */
229
+ words(words, errorMessage) {
230
+ const rule = this.addRule(lengthRules.wordsRule, errorMessage);
231
+ rule.context.options.words = words;
232
+ return this;
233
+ }
234
+ /** Value must be at least the given number of words */
235
+ minWords(words, errorMessage) {
236
+ const rule = this.addRule(lengthRules.minWordsRule, errorMessage);
237
+ rule.context.options.minWords = words;
238
+ return this;
239
+ }
240
+ /** Value must be at most the given number of words */
241
+ maxWords(words, errorMessage) {
242
+ const rule = this.addRule(lengthRules.maxWordsRule, errorMessage);
243
+ rule.context.options.maxWords = words;
244
+ return this;
245
+ }
246
+ /** Value length must be greater than the given length */
247
+ minLength(length, errorMessage) {
248
+ const rule = this.addRule(lengthRules.minLengthRule, errorMessage);
249
+ rule.context.options.minLength = length;
250
+ return this;
251
+ }
252
+ /** @alias minLength */
253
+ min(min, errorMessage) {
254
+ return this.minLength(min, errorMessage);
255
+ }
256
+ /** Value length must be less than the given length */
257
+ maxLength(length, errorMessage) {
258
+ const rule = this.addRule(lengthRules.maxLengthRule, errorMessage);
259
+ rule.context.options.maxLength = length;
260
+ return this;
261
+ }
262
+ /** @alias maxLength */
263
+ max(max, errorMessage) {
264
+ return this.maxLength(max, errorMessage);
265
+ }
266
+ /** Value must be of the given length */
267
+ length(length, errorMessage) {
268
+ const rule = this.addRule(lengthRules.lengthRule, errorMessage);
269
+ rule.context.options.length = length;
270
+ return this;
271
+ }
272
+ /**
273
+ * String length must be between min and max (inclusive)
274
+ *
275
+ * @param min - Minimum length (inclusive)
276
+ * @param max - Maximum length (inclusive)
277
+ *
278
+ * @example
279
+ * ```ts
280
+ * v.string().between(5, 10) // Length: 5 to 10 characters
281
+ * v.string().lengthBetween(8, 20) // Same using alias
282
+ * ```
283
+ *
284
+ * @category Validation Rule
285
+ */
286
+ between(min, max, errorMessage) {
287
+ const rule = this.addRule(lengthRules.betweenLengthRule, errorMessage);
288
+ rule.context.options.minLength = min;
289
+ rule.context.options.maxLength = max;
290
+ return this;
291
+ }
292
+ /**
293
+ * Alias for between() - string length between min and max
294
+ */
295
+ lengthBetween(min, max, errorMessage) {
296
+ return this.between(min, max, errorMessage);
297
+ }
298
+ /** Allow only alphabetic characters */
299
+ alpha(errorMessage) {
300
+ this.addRule(alpha.alphaRule, errorMessage);
301
+ return this;
302
+ }
303
+ /** Allow only alphanumeric characters */
304
+ alphanumeric(errorMessage) {
305
+ this.addRule(alpha.alphaNumericRule, errorMessage);
306
+ return this;
307
+ }
308
+ /** Allow only numeric characters */
309
+ numeric(errorMessage) {
310
+ this.addRule(alpha.isNumericRule, errorMessage);
311
+ return this;
312
+ }
313
+ /** Value must starts with the given string */
314
+ startsWith(value, errorMessage) {
315
+ const rule = this.addRule(stringComparison.startsWithRule, errorMessage);
316
+ rule.context.options.value = value;
317
+ return this;
318
+ }
319
+ /** Value must ends with the given string */
320
+ endsWith(value, errorMessage) {
321
+ const rule = this.addRule(stringComparison.endsWithRule, errorMessage);
322
+ rule.context.options.value = value;
323
+ return this;
324
+ }
325
+ /** Value must contain the given string */
326
+ contains(value, errorMessage) {
327
+ const rule = this.addRule(stringComparison.containsRule, errorMessage);
328
+ rule.context.options.value = value;
329
+ return this;
330
+ }
331
+ /** Value must not contain the given string */
332
+ notContains(value, errorMessage) {
333
+ const rule = this.addRule(stringComparison.notContainsRule, errorMessage);
334
+ rule.context.options.value = value;
335
+ return this;
336
+ }
337
+ /** Value must be a valid IP address */
338
+ ip(errorMessage) {
339
+ this.addRule(ip.ipRule, errorMessage);
340
+ return this;
341
+ }
342
+ /** Value must be a valid IPv4 address */
343
+ ip4(errorMessage) {
344
+ this.addRule(ip.ip4Rule, errorMessage);
345
+ return this;
346
+ }
347
+ /** Value must be a valid IPv6 address */
348
+ ip6(errorMessage) {
349
+ this.addRule(ip.ip6Rule, errorMessage);
350
+ return this;
351
+ }
352
+ /** Check if the string matches a credit card number */
353
+ creditCard(errorMessage) {
354
+ this.addRule(creditCard.isCreditCardRule, errorMessage);
355
+ return this;
356
+ }
357
+ /** Determine if the value is a valid color */
358
+ color(errorMessage) {
359
+ this.addRule(colorRules.colorRule, errorMessage);
360
+ return this;
361
+ }
362
+ /** Determine if the value is a valid hex color */
363
+ hexColor(errorMessage) {
364
+ this.addRule(colorRules.hexColorRule, errorMessage);
365
+ return this;
366
+ }
367
+ /** Determine if the value is a valid HSL color */
368
+ hslColor(errorMessage) {
369
+ this.addRule(colorRules.hslColorRule, errorMessage);
370
+ return this;
371
+ }
372
+ /** Determine if the value is a valid RGB color */
373
+ rgbColor(errorMessage) {
374
+ this.addRule(colorRules.rgbColorRule, errorMessage);
375
+ return this;
376
+ }
377
+ /** Determine if the value is a valid RGBA color */
378
+ rgbaColor(errorMessage) {
379
+ this.addRule(colorRules.rgbaColorRule, errorMessage);
380
+ return this;
381
+ }
382
+ /** Determine if the value is a valid light color */
383
+ lightColor(errorMessage) {
384
+ this.addRule(colorRules.lightColorRule, errorMessage);
385
+ return this;
386
+ }
387
+ /** Determine if the value is a valid dark color */
388
+ darkColor(errorMessage) {
389
+ this.addRule(colorRules.darkColorRule, errorMessage);
390
+ return this;
391
+ }
392
+ // Enum and value checking methods from ScalarValidator
393
+ enum = scalarValidator.ScalarValidator.prototype.enum;
394
+ /** Value must be in one of the given values */
395
+ in = scalarValidator.ScalarValidator.prototype.in;
396
+ /** @alias in */
397
+ oneOf = scalarValidator.ScalarValidator.prototype.in;
398
+ /** @alias oneOf */
399
+ allowsOnly = scalarValidator.ScalarValidator.prototype.allowsOnly;
400
+ /** Forbid the value from being one of the given values */
401
+ forbids = scalarValidator.ScalarValidator.prototype.forbids;
402
+ /** @alias forbids */
403
+ notIn = scalarValidator.ScalarValidator.prototype.forbids;
404
+ }exports.StringValidator=StringValidator;//# sourceMappingURL=string-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-validator.js","sources":["../../src/validators/string-validator.ts"],"sourcesContent":[null],"names":["BaseValidator","stringRule","stringifyMutator","uppercaseMutator","lowercaseMutator","capitalizeMutator","titleCaseMutator","camelCaseMutator","pascalCaseMutator","snakeCaseMutator","kebabCaseMutator","trimMutator","ltrimMutator","rtrimMutator","trimMultipleWhitespaceMutator","padStartMutator","padEndMutator","safeHtmlMutator","htmlEscapeMutator","unescapeHtmlMutator","removeSpecialCharactersMutator","alphaOnlyMutator","alphanumericOnlyMutator","removeNumbersMutator","urlDecodeMutator","urlEncodeMutator","slugMutator","base64EncodeMutator","base64DecodeMutator","replaceMutator","replaceAllMutator","appendMutator","prependMutator","reverseMutator","truncateMutator","repeatMutator","maskMutator","emailRule","urlRule","withoutWhitespaceRule","pattern","patternRule","strongPasswordRule","wordsRule","minWordsRule","maxWordsRule","minLengthRule","maxLengthRule","lengthRule","betweenLengthRule","alphaRule","alphaNumericRule","isNumericRule","startsWithRule","endsWithRule","containsRule","notContainsRule","ipRule","ip4Rule","ip6Rule","isCreditCardRule","colorRule","hexColorRule","hslColorRule","rgbColorRule","rgbaColorRule","lightColorRule","darkColorRule","ScalarValidator"],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Seal Configuration
3
+ *
4
+ * Global configuration for the Seal validation library
5
+ */
6
+ import type { AttributeTranslation, RuleTranslation } from "./types";
7
+ export type TranslateRuleCallback = (ruleTranslation: RuleTranslation) => string;
8
+ export type TranslateAttributeCallback = (attributeTranslation: AttributeTranslation) => string;
9
+ export type SealConfig = {
10
+ /**
11
+ * Translation function for error messages
12
+ * Default: returns the key with attributes replaced
13
+ */
14
+ translateRule?: TranslateRuleCallback;
15
+ /**
16
+ * Translation function for attribute messages
17
+ */
18
+ translateAttribute?: TranslateAttributeCallback;
19
+ /**
20
+ * Default to first error only in validation
21
+ * Default: true
22
+ */
23
+ firstErrorOnly?: boolean;
24
+ };
25
+ /**
26
+ * Configure Seal globally
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * import { configureSeal } from "@warlock.js/seal";
31
+ * import { trans } from "@mongez/localization";
32
+ *
33
+ * configureSeal({
34
+ * translateRule: (ruleTranslation) => trans(`validation.${ruleTranslation.rule.name}`, ruleTranslation.attributes),
35
+ * translateAttribute: (attributeTranslation) => trans(`validation.attributes.${attributeTranslation.rule.name}.${attributeTranslation.attribute}`, attributeTranslation.context.allValues),
36
+ * });
37
+ * ```
38
+ */
39
+ export declare function configureSeal(options: Partial<SealConfig>): void;
40
+ /**
41
+ * Get current Seal configuration
42
+ */
43
+ export declare function getSealConfig(): SealConfig;
44
+ /**
45
+ * Reset configuration to defaults
46
+ */
47
+ export declare function resetSealConfig(): void;
48
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAErE,MAAM,MAAM,qBAAqB,GAAG,CAClC,eAAe,EAAE,eAAe,KAC7B,MAAM,CAAC;AAEZ,MAAM,MAAM,0BAA0B,GAAG,CACvC,oBAAoB,EAAE,oBAAoB,KACvC,MAAM,CAAC;AAEZ,MAAM,MAAM,UAAU,GAAG;IACvB;;;OAGG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC;;OAEG;IACH,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;IAEhD;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AASF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAEhE;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,UAAU,CAE1C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAKtC"}