@warlock.js/seal 4.0.161 → 4.0.163

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 (805) hide show
  1. package/cjs/config.d.ts +48 -0
  2. package/cjs/config.d.ts.map +1 -0
  3. package/cjs/config.js +42 -0
  4. package/cjs/config.js.map +1 -0
  5. package/cjs/factory/index.d.ts +3 -0
  6. package/cjs/factory/index.d.ts.map +1 -0
  7. package/cjs/factory/validate.d.ts +8 -0
  8. package/cjs/factory/validate.d.ts.map +1 -0
  9. package/cjs/factory/validate.js +23 -0
  10. package/cjs/factory/validate.js.map +1 -0
  11. package/cjs/factory/validators.d.ts +56 -0
  12. package/cjs/factory/validators.d.ts.map +1 -0
  13. package/cjs/factory/validators.js +45 -0
  14. package/cjs/factory/validators.js.map +1 -0
  15. package/cjs/helpers/date-helpers.d.ts +16 -0
  16. package/cjs/helpers/date-helpers.d.ts.map +1 -0
  17. package/cjs/helpers/date-helpers.js +20 -0
  18. package/cjs/helpers/date-helpers.js.map +1 -0
  19. package/cjs/helpers/file.utils.d.ts +8 -0
  20. package/cjs/helpers/file.utils.d.ts.map +1 -0
  21. package/cjs/helpers/file.utils.js +29 -0
  22. package/cjs/helpers/file.utils.js.map +1 -0
  23. package/cjs/helpers/get-field-value.d.ts +37 -0
  24. package/cjs/helpers/get-field-value.d.ts.map +1 -0
  25. package/cjs/helpers/get-field-value.js +40 -0
  26. package/cjs/helpers/get-field-value.js.map +1 -0
  27. package/cjs/helpers/index.d.ts +6 -0
  28. package/cjs/helpers/index.d.ts.map +1 -0
  29. package/cjs/helpers/is-empty-value.d.ts +2 -0
  30. package/cjs/helpers/is-empty-value.d.ts.map +1 -0
  31. package/cjs/helpers/is-empty-value.js +3 -0
  32. package/cjs/helpers/is-empty-value.js.map +1 -0
  33. package/cjs/helpers/path-helpers.d.ts +5 -0
  34. package/cjs/helpers/path-helpers.d.ts.map +1 -0
  35. package/cjs/helpers/path-helpers.js +8 -0
  36. package/cjs/helpers/path-helpers.js.map +1 -0
  37. package/cjs/helpers/validation-helpers.d.ts +26 -0
  38. package/cjs/helpers/validation-helpers.d.ts.map +1 -0
  39. package/cjs/helpers/validation-helpers.js +74 -0
  40. package/cjs/helpers/validation-helpers.js.map +1 -0
  41. package/cjs/index.d.ts +30 -0
  42. package/cjs/index.d.ts.map +1 -0
  43. package/cjs/index.js +1 -0
  44. package/cjs/index.js.map +1 -0
  45. package/cjs/mutators/array-mutators.d.ts +12 -0
  46. package/cjs/mutators/array-mutators.d.ts.map +1 -0
  47. package/cjs/mutators/array-mutators.js +37 -0
  48. package/cjs/mutators/array-mutators.js.map +1 -0
  49. package/cjs/mutators/date-mutators.d.ts +39 -0
  50. package/cjs/mutators/date-mutators.d.ts.map +1 -0
  51. package/cjs/mutators/date-mutators.js +120 -0
  52. package/cjs/mutators/date-mutators.js.map +1 -0
  53. package/cjs/mutators/index.d.ts +7 -0
  54. package/cjs/mutators/index.d.ts.map +1 -0
  55. package/cjs/mutators/number-mutators.d.ts +22 -0
  56. package/cjs/mutators/number-mutators.d.ts.map +1 -0
  57. package/cjs/mutators/number-mutators.js +53 -0
  58. package/cjs/mutators/number-mutators.js.map +1 -0
  59. package/cjs/mutators/object-mutators.d.ts +8 -0
  60. package/cjs/mutators/object-mutators.d.ts.map +1 -0
  61. package/cjs/mutators/object-mutators.js +48 -0
  62. package/cjs/mutators/object-mutators.js.map +1 -0
  63. package/cjs/mutators/scalar-mutators.d.ts +3 -0
  64. package/cjs/mutators/scalar-mutators.d.ts.map +1 -0
  65. package/cjs/mutators/scalar-mutators.js +6 -0
  66. package/cjs/mutators/scalar-mutators.js.map +1 -0
  67. package/cjs/mutators/string-mutators.d.ts +72 -0
  68. package/cjs/mutators/string-mutators.d.ts.map +1 -0
  69. package/cjs/mutators/string-mutators.js +193 -0
  70. package/cjs/mutators/string-mutators.js.map +1 -0
  71. package/cjs/plugins/index.d.ts +7 -0
  72. package/cjs/plugins/index.d.ts.map +1 -0
  73. package/cjs/plugins/plugin-system.d.ts +71 -0
  74. package/cjs/plugins/plugin-system.d.ts.map +1 -0
  75. package/cjs/plugins/plugin-system.js +67 -0
  76. package/cjs/plugins/plugin-system.js.map +1 -0
  77. package/cjs/rules/array/array-rules.d.ts +12 -0
  78. package/cjs/rules/array/array-rules.d.ts.map +1 -0
  79. package/cjs/rules/array/array-rules.js +45 -0
  80. package/cjs/rules/array/array-rules.js.map +1 -0
  81. package/cjs/rules/array/index.d.ts +2 -0
  82. package/cjs/rules/array/index.d.ts.map +1 -0
  83. package/cjs/rules/color/color-rules.d.ts +30 -0
  84. package/cjs/rules/color/color-rules.d.ts.map +1 -0
  85. package/cjs/rules/color/color-rules.js +120 -0
  86. package/cjs/rules/color/color-rules.js.map +1 -0
  87. package/cjs/rules/color/index.d.ts +2 -0
  88. package/cjs/rules/color/index.d.ts.map +1 -0
  89. package/cjs/rules/common/enum.d.ts +26 -0
  90. package/cjs/rules/common/enum.d.ts.map +1 -0
  91. package/cjs/rules/common/enum.js +69 -0
  92. package/cjs/rules/common/enum.js.map +1 -0
  93. package/cjs/rules/common/equals-field-rules.d.ts +18 -0
  94. package/cjs/rules/common/equals-field-rules.d.ts.map +1 -0
  95. package/cjs/rules/common/equals-field-rules.js +39 -0
  96. package/cjs/rules/common/equals-field-rules.js.map +1 -0
  97. package/cjs/rules/common/index.d.ts +5 -0
  98. package/cjs/rules/common/index.d.ts.map +1 -0
  99. package/cjs/rules/common/type-rules.d.ts +38 -0
  100. package/cjs/rules/common/type-rules.d.ts.map +1 -0
  101. package/cjs/rules/common/type-rules.js +117 -0
  102. package/cjs/rules/common/type-rules.js.map +1 -0
  103. package/cjs/rules/common/unknown-key.d.ts +9 -0
  104. package/cjs/rules/common/unknown-key.d.ts.map +1 -0
  105. package/cjs/rules/common/unknown-key.js +17 -0
  106. package/cjs/rules/common/unknown-key.js.map +1 -0
  107. package/cjs/rules/conditional/forbidden-if-rules.d.ts +54 -0
  108. package/cjs/rules/conditional/forbidden-if-rules.d.ts.map +1 -0
  109. package/cjs/rules/conditional/forbidden-if-rules.js +118 -0
  110. package/cjs/rules/conditional/forbidden-if-rules.js.map +1 -0
  111. package/cjs/rules/conditional/index.d.ts +11 -0
  112. package/cjs/rules/conditional/index.d.ts.map +1 -0
  113. package/cjs/rules/conditional/present-if-rules.d.ts +45 -0
  114. package/cjs/rules/conditional/present-if-rules.d.ts.map +1 -0
  115. package/cjs/rules/conditional/present-if-rules.js +100 -0
  116. package/cjs/rules/conditional/present-if-rules.js.map +1 -0
  117. package/cjs/rules/conditional/present-unless-rules.d.ts +11 -0
  118. package/cjs/rules/conditional/present-unless-rules.d.ts.map +1 -0
  119. package/cjs/rules/conditional/present-unless-rules.js +22 -0
  120. package/cjs/rules/conditional/present-unless-rules.js.map +1 -0
  121. package/cjs/rules/conditional/present-with-rules.d.ts +26 -0
  122. package/cjs/rules/conditional/present-with-rules.d.ts.map +1 -0
  123. package/cjs/rules/conditional/present-with-rules.js +70 -0
  124. package/cjs/rules/conditional/present-with-rules.js.map +1 -0
  125. package/cjs/rules/conditional/present-without-rules.d.ts +26 -0
  126. package/cjs/rules/conditional/present-without-rules.d.ts.map +1 -0
  127. package/cjs/rules/conditional/present-without-rules.js +70 -0
  128. package/cjs/rules/conditional/present-without-rules.js.map +1 -0
  129. package/cjs/rules/conditional/required-if-rules.d.ts +77 -0
  130. package/cjs/rules/conditional/required-if-rules.d.ts.map +1 -0
  131. package/cjs/rules/conditional/required-if-rules.js +205 -0
  132. package/cjs/rules/conditional/required-if-rules.js.map +1 -0
  133. package/cjs/rules/conditional/required-unless-rules.d.ts +11 -0
  134. package/cjs/rules/conditional/required-unless-rules.d.ts.map +1 -0
  135. package/cjs/rules/conditional/required-unless-rules.js +22 -0
  136. package/cjs/rules/conditional/required-unless-rules.js.map +1 -0
  137. package/cjs/rules/conditional/required-when-rule.d.ts +18 -0
  138. package/cjs/rules/conditional/required-when-rule.d.ts.map +1 -0
  139. package/cjs/rules/conditional/required-when-rule.js +26 -0
  140. package/cjs/rules/conditional/required-when-rule.js.map +1 -0
  141. package/cjs/rules/conditional/required-with-rules.d.ts +26 -0
  142. package/cjs/rules/conditional/required-with-rules.d.ts.map +1 -0
  143. package/cjs/rules/conditional/required-with-rules.js +64 -0
  144. package/cjs/rules/conditional/required-with-rules.js.map +1 -0
  145. package/cjs/rules/conditional/required-without-rules.d.ts +26 -0
  146. package/cjs/rules/conditional/required-without-rules.d.ts.map +1 -0
  147. package/cjs/rules/conditional/required-without-rules.js +64 -0
  148. package/cjs/rules/conditional/required-without-rules.js.map +1 -0
  149. package/cjs/rules/core/equal.d.ts +8 -0
  150. package/cjs/rules/core/equal.d.ts.map +1 -0
  151. package/cjs/rules/core/equal.js +14 -0
  152. package/cjs/rules/core/equal.js.map +1 -0
  153. package/cjs/rules/core/forbidden.d.ts +6 -0
  154. package/cjs/rules/core/forbidden.d.ts.map +1 -0
  155. package/cjs/rules/core/forbidden.js +13 -0
  156. package/cjs/rules/core/forbidden.js.map +1 -0
  157. package/cjs/rules/core/index.d.ts +6 -0
  158. package/cjs/rules/core/index.d.ts.map +1 -0
  159. package/cjs/rules/core/required.d.ts +11 -0
  160. package/cjs/rules/core/required.d.ts.map +1 -0
  161. package/cjs/rules/core/required.js +31 -0
  162. package/cjs/rules/core/required.js.map +1 -0
  163. package/cjs/rules/core/union.d.ts +9 -0
  164. package/cjs/rules/core/union.d.ts.map +1 -0
  165. package/cjs/rules/core/union.js +40 -0
  166. package/cjs/rules/core/union.js.map +1 -0
  167. package/cjs/rules/core/when.d.ts +6 -0
  168. package/cjs/rules/core/when.d.ts.map +1 -0
  169. package/cjs/rules/core/when.js +40 -0
  170. package/cjs/rules/core/when.js.map +1 -0
  171. package/cjs/rules/date/date-comparison-rules.d.ts +25 -0
  172. package/cjs/rules/date/date-comparison-rules.d.ts.map +1 -0
  173. package/cjs/rules/date/date-comparison-rules.js +80 -0
  174. package/cjs/rules/date/date-comparison-rules.js.map +1 -0
  175. package/cjs/rules/date/date-day-rules.d.ts +21 -0
  176. package/cjs/rules/date/date-day-rules.d.ts.map +1 -0
  177. package/cjs/rules/date/date-day-rules.js +68 -0
  178. package/cjs/rules/date/date-day-rules.js.map +1 -0
  179. package/cjs/rules/date/date-field-comparison-rules.d.ts +28 -0
  180. package/cjs/rules/date/date-field-comparison-rules.d.ts.map +1 -0
  181. package/cjs/rules/date/date-field-comparison-rules.js +94 -0
  182. package/cjs/rules/date/date-field-comparison-rules.js.map +1 -0
  183. package/cjs/rules/date/date-period-rules.d.ts +124 -0
  184. package/cjs/rules/date/date-period-rules.d.ts.map +1 -0
  185. package/cjs/rules/date/date-period-rules.js +605 -0
  186. package/cjs/rules/date/date-period-rules.js.map +1 -0
  187. package/cjs/rules/date/date-relative-rules.d.ts +20 -0
  188. package/cjs/rules/date/date-relative-rules.d.ts.map +1 -0
  189. package/cjs/rules/date/date-relative-rules.js +60 -0
  190. package/cjs/rules/date/date-relative-rules.js.map +1 -0
  191. package/cjs/rules/date/date-special-rules.d.ts +20 -0
  192. package/cjs/rules/date/date-special-rules.d.ts.map +1 -0
  193. package/cjs/rules/date/date-special-rules.js +71 -0
  194. package/cjs/rules/date/date-special-rules.js.map +1 -0
  195. package/cjs/rules/date/date.d.ts +93 -0
  196. package/cjs/rules/date/date.d.ts.map +1 -0
  197. package/cjs/rules/date/date.js +288 -0
  198. package/cjs/rules/date/date.js.map +1 -0
  199. package/cjs/rules/date/index.d.ts +8 -0
  200. package/cjs/rules/date/index.d.ts.map +1 -0
  201. package/cjs/rules/file/dimensions.d.ts +26 -0
  202. package/cjs/rules/file/dimensions.d.ts.map +1 -0
  203. package/cjs/rules/file/dimensions.js +60 -0
  204. package/cjs/rules/file/dimensions.js.map +1 -0
  205. package/cjs/rules/file/file-size.d.ts +14 -0
  206. package/cjs/rules/file/file-size.d.ts.map +1 -0
  207. package/cjs/rules/file/file-size.js +30 -0
  208. package/cjs/rules/file/file-size.js.map +1 -0
  209. package/cjs/rules/file/index.d.ts +11 -0
  210. package/cjs/rules/file/index.d.ts.map +1 -0
  211. package/cjs/rules/index.d.ts +19 -0
  212. package/cjs/rules/index.d.ts.map +1 -0
  213. package/cjs/rules/length/index.d.ts +2 -0
  214. package/cjs/rules/length/index.d.ts.map +1 -0
  215. package/cjs/rules/length/length-rules.d.ts +49 -0
  216. package/cjs/rules/length/length-rules.d.ts.map +1 -0
  217. package/cjs/rules/length/length-rules.js +107 -0
  218. package/cjs/rules/length/length-rules.js.map +1 -0
  219. package/cjs/rules/number/index.d.ts +2 -0
  220. package/cjs/rules/number/index.d.ts.map +1 -0
  221. package/cjs/rules/number/number-rules.d.ts +65 -0
  222. package/cjs/rules/number/number-rules.d.ts.map +1 -0
  223. package/cjs/rules/number/number-rules.js +245 -0
  224. package/cjs/rules/number/number-rules.js.map +1 -0
  225. package/cjs/rules/scalar/accepted-rule.d.ts +39 -0
  226. package/cjs/rules/scalar/accepted-rule.d.ts.map +1 -0
  227. package/cjs/rules/scalar/accepted-rule.js +117 -0
  228. package/cjs/rules/scalar/accepted-rule.js.map +1 -0
  229. package/cjs/rules/scalar/declined-rule.d.ts +39 -0
  230. package/cjs/rules/scalar/declined-rule.d.ts.map +1 -0
  231. package/cjs/rules/scalar/declined-rule.js +117 -0
  232. package/cjs/rules/scalar/declined-rule.js.map +1 -0
  233. package/cjs/rules/scalar/index.d.ts +3 -0
  234. package/cjs/rules/scalar/index.d.ts.map +1 -0
  235. package/cjs/rules/string/alpha.d.ts +14 -0
  236. package/cjs/rules/string/alpha.d.ts.map +1 -0
  237. package/cjs/rules/string/alpha.js +39 -0
  238. package/cjs/rules/string/alpha.js.map +1 -0
  239. package/cjs/rules/string/credit-card.d.ts +6 -0
  240. package/cjs/rules/string/credit-card.d.ts.map +1 -0
  241. package/cjs/rules/string/credit-card.js +31 -0
  242. package/cjs/rules/string/credit-card.js.map +1 -0
  243. package/cjs/rules/string/email.d.ts +6 -0
  244. package/cjs/rules/string/email.d.ts.map +1 -0
  245. package/cjs/rules/string/email.js +13 -0
  246. package/cjs/rules/string/email.js.map +1 -0
  247. package/cjs/rules/string/index.d.ts +17 -0
  248. package/cjs/rules/string/index.d.ts.map +1 -0
  249. package/cjs/rules/string/ip.d.ts +14 -0
  250. package/cjs/rules/string/ip.d.ts.map +1 -0
  251. package/cjs/rules/string/ip.js +39 -0
  252. package/cjs/rules/string/ip.js.map +1 -0
  253. package/cjs/rules/string/matches.d.ts +8 -0
  254. package/cjs/rules/string/matches.d.ts.map +1 -0
  255. package/cjs/rules/string/matches.js +15 -0
  256. package/cjs/rules/string/matches.js.map +1 -0
  257. package/cjs/rules/string/pattern.d.ts +8 -0
  258. package/cjs/rules/string/pattern.d.ts.map +1 -0
  259. package/cjs/rules/string/pattern.js +14 -0
  260. package/cjs/rules/string/pattern.js.map +1 -0
  261. package/cjs/rules/string/string-comparison.d.ts +26 -0
  262. package/cjs/rules/string/string-comparison.d.ts.map +1 -0
  263. package/cjs/rules/string/string-comparison.js +56 -0
  264. package/cjs/rules/string/string-comparison.js.map +1 -0
  265. package/cjs/rules/string/strong-password-rule.d.ts +14 -0
  266. package/cjs/rules/string/strong-password-rule.d.ts.map +1 -0
  267. package/cjs/rules/string/strong-password-rule.js +38 -0
  268. package/cjs/rules/string/strong-password-rule.js.map +1 -0
  269. package/cjs/rules/string/url.d.ts +6 -0
  270. package/cjs/rules/string/url.d.ts.map +1 -0
  271. package/cjs/rules/string/url.js +16 -0
  272. package/cjs/rules/string/url.js.map +1 -0
  273. package/cjs/rules/string/without-whitespace.d.ts +6 -0
  274. package/cjs/rules/string/without-whitespace.d.ts.map +1 -0
  275. package/cjs/rules/string/without-whitespace.js +13 -0
  276. package/cjs/rules/string/without-whitespace.js.map +1 -0
  277. package/cjs/standard-schema/index.d.ts +4 -0
  278. package/cjs/standard-schema/index.d.ts.map +1 -0
  279. package/cjs/standard-schema/json-schema.d.ts +61 -0
  280. package/cjs/standard-schema/json-schema.d.ts.map +1 -0
  281. package/cjs/standard-schema/json-schema.js +85 -0
  282. package/cjs/standard-schema/json-schema.js.map +1 -0
  283. package/cjs/standard-schema/map-result.d.ts +18 -0
  284. package/cjs/standard-schema/map-result.d.ts.map +1 -0
  285. package/cjs/standard-schema/map-result.js +27 -0
  286. package/cjs/standard-schema/map-result.js.map +1 -0
  287. package/cjs/standard-schema/types.d.ts +93 -0
  288. package/cjs/standard-schema/types.d.ts.map +1 -0
  289. package/cjs/types/conditional-types.d.ts +15 -0
  290. package/cjs/types/conditional-types.d.ts.map +1 -0
  291. package/cjs/types/context-types.d.ts +47 -0
  292. package/cjs/types/context-types.d.ts.map +1 -0
  293. package/cjs/types/data-transformer-types.d.ts +25 -0
  294. package/cjs/types/data-transformer-types.d.ts.map +1 -0
  295. package/cjs/types/date-types.d.ts +9 -0
  296. package/cjs/types/date-types.d.ts.map +1 -0
  297. package/cjs/types/date-types.js +12 -0
  298. package/cjs/types/date-types.js.map +1 -0
  299. package/cjs/types/file.types.d.ts +5 -0
  300. package/cjs/types/file.types.d.ts.map +1 -0
  301. package/cjs/types/index.d.ts +11 -0
  302. package/cjs/types/index.d.ts.map +1 -0
  303. package/cjs/types/inference-types.d.ts +32 -0
  304. package/cjs/types/inference-types.d.ts.map +1 -0
  305. package/cjs/types/mutator-types.d.ts +27 -0
  306. package/cjs/types/mutator-types.d.ts.map +1 -0
  307. package/cjs/types/result-types.d.ts +19 -0
  308. package/cjs/types/result-types.d.ts.map +1 -0
  309. package/cjs/types/rule-types.d.ts +58 -0
  310. package/cjs/types/rule-types.d.ts.map +1 -0
  311. package/cjs/types/schema-types.d.ts +6 -0
  312. package/cjs/types/schema-types.d.ts.map +1 -0
  313. package/cjs/validators/any-validator.d.ts +29 -0
  314. package/cjs/validators/any-validator.d.ts.map +1 -0
  315. package/cjs/validators/any-validator.js +31 -0
  316. package/cjs/validators/any-validator.js.map +1 -0
  317. package/cjs/validators/array-validator.d.ts +72 -0
  318. package/cjs/validators/array-validator.d.ts.map +1 -0
  319. package/cjs/validators/array-validator.js +162 -0
  320. package/cjs/validators/array-validator.js.map +1 -0
  321. package/cjs/validators/base-validator.d.ts +425 -0
  322. package/cjs/validators/base-validator.d.ts.map +1 -0
  323. package/cjs/validators/base-validator.js +637 -0
  324. package/cjs/validators/base-validator.js.map +1 -0
  325. package/cjs/validators/boolean-validator.d.ts +67 -0
  326. package/cjs/validators/boolean-validator.d.ts.map +1 -0
  327. package/cjs/validators/boolean-validator.js +105 -0
  328. package/cjs/validators/boolean-validator.js.map +1 -0
  329. package/cjs/validators/computed-validator.d.ts +75 -0
  330. package/cjs/validators/computed-validator.d.ts.map +1 -0
  331. package/cjs/validators/computed-validator.js +124 -0
  332. package/cjs/validators/computed-validator.js.map +1 -0
  333. package/cjs/validators/date-validator.d.ts +330 -0
  334. package/cjs/validators/date-validator.d.ts.map +1 -0
  335. package/cjs/validators/date-validator.js +614 -0
  336. package/cjs/validators/date-validator.js.map +1 -0
  337. package/cjs/validators/float-validator.d.ts +8 -0
  338. package/cjs/validators/float-validator.d.ts.map +1 -0
  339. package/cjs/validators/float-validator.js +9 -0
  340. package/cjs/validators/float-validator.js.map +1 -0
  341. package/cjs/validators/index.d.ts +31 -0
  342. package/cjs/validators/index.d.ts.map +1 -0
  343. package/cjs/validators/int-validator.d.ts +19 -0
  344. package/cjs/validators/int-validator.d.ts.map +1 -0
  345. package/cjs/validators/int-validator.js +21 -0
  346. package/cjs/validators/int-validator.js.map +1 -0
  347. package/cjs/validators/managed-validator.d.ts +38 -0
  348. package/cjs/validators/managed-validator.d.ts.map +1 -0
  349. package/cjs/validators/managed-validator.js +34 -0
  350. package/cjs/validators/managed-validator.js.map +1 -0
  351. package/cjs/validators/methods/equality-conditional-methods.d.ts +88 -0
  352. package/cjs/validators/methods/equality-conditional-methods.d.ts.map +1 -0
  353. package/cjs/validators/methods/equality-conditional-methods.js +118 -0
  354. package/cjs/validators/methods/equality-conditional-methods.js.map +1 -0
  355. package/cjs/validators/methods/forbidden-methods.d.ts +58 -0
  356. package/cjs/validators/methods/forbidden-methods.d.ts.map +1 -0
  357. package/cjs/validators/methods/forbidden-methods.js +122 -0
  358. package/cjs/validators/methods/forbidden-methods.js.map +1 -0
  359. package/cjs/validators/methods/present-methods.d.ts +102 -0
  360. package/cjs/validators/methods/present-methods.d.ts.map +1 -0
  361. package/cjs/validators/methods/present-methods.js +229 -0
  362. package/cjs/validators/methods/present-methods.js.map +1 -0
  363. package/cjs/validators/methods/required-methods.d.ts +174 -0
  364. package/cjs/validators/methods/required-methods.d.ts.map +1 -0
  365. package/cjs/validators/methods/required-methods.js +246 -0
  366. package/cjs/validators/methods/required-methods.js.map +1 -0
  367. package/cjs/validators/number-validator.d.ts +166 -0
  368. package/cjs/validators/number-validator.d.ts.map +1 -0
  369. package/cjs/validators/number-validator.js +307 -0
  370. package/cjs/validators/number-validator.js.map +1 -0
  371. package/cjs/validators/numeric-validator.d.ts +15 -0
  372. package/cjs/validators/numeric-validator.d.ts.map +1 -0
  373. package/cjs/validators/numeric-validator.js +18 -0
  374. package/cjs/validators/numeric-validator.js.map +1 -0
  375. package/cjs/validators/object-validator.d.ts +233 -0
  376. package/cjs/validators/object-validator.d.ts.map +1 -0
  377. package/cjs/validators/object-validator.js +517 -0
  378. package/cjs/validators/object-validator.js.map +1 -0
  379. package/cjs/validators/primitive-validator.d.ts +70 -0
  380. package/cjs/validators/primitive-validator.d.ts.map +1 -0
  381. package/cjs/validators/primitive-validator.js +80 -0
  382. package/cjs/validators/primitive-validator.js.map +1 -0
  383. package/cjs/validators/record-validator.d.ts +54 -0
  384. package/cjs/validators/record-validator.d.ts.map +1 -0
  385. package/cjs/validators/record-validator.js +100 -0
  386. package/cjs/validators/record-validator.js.map +1 -0
  387. package/cjs/validators/scalar-validator.d.ts +93 -0
  388. package/cjs/validators/scalar-validator.d.ts.map +1 -0
  389. package/cjs/validators/scalar-validator.js +149 -0
  390. package/cjs/validators/scalar-validator.js.map +1 -0
  391. package/cjs/validators/string-validator.d.ts +189 -0
  392. package/cjs/validators/string-validator.d.ts.map +1 -0
  393. package/cjs/validators/string-validator.js +387 -0
  394. package/cjs/validators/string-validator.js.map +1 -0
  395. package/cjs/validators/tuple-validator.d.ts +56 -0
  396. package/cjs/validators/tuple-validator.d.ts.map +1 -0
  397. package/cjs/validators/tuple-validator.js +121 -0
  398. package/cjs/validators/tuple-validator.js.map +1 -0
  399. package/cjs/validators/union-validator.d.ts +55 -0
  400. package/cjs/validators/union-validator.d.ts.map +1 -0
  401. package/cjs/validators/union-validator.js +60 -0
  402. package/cjs/validators/union-validator.js.map +1 -0
  403. package/esm/config.d.ts +48 -0
  404. package/esm/config.d.ts.map +1 -0
  405. package/esm/config.js +42 -0
  406. package/esm/config.js.map +1 -0
  407. package/esm/factory/index.d.ts +3 -0
  408. package/esm/factory/index.d.ts.map +1 -0
  409. package/esm/factory/validate.d.ts +8 -0
  410. package/esm/factory/validate.d.ts.map +1 -0
  411. package/esm/factory/validate.js +23 -0
  412. package/esm/factory/validate.js.map +1 -0
  413. package/esm/factory/validators.d.ts +56 -0
  414. package/esm/factory/validators.d.ts.map +1 -0
  415. package/esm/factory/validators.js +45 -0
  416. package/esm/factory/validators.js.map +1 -0
  417. package/esm/helpers/date-helpers.d.ts +16 -0
  418. package/esm/helpers/date-helpers.d.ts.map +1 -0
  419. package/esm/helpers/date-helpers.js +20 -0
  420. package/esm/helpers/date-helpers.js.map +1 -0
  421. package/esm/helpers/file.utils.d.ts +8 -0
  422. package/esm/helpers/file.utils.d.ts.map +1 -0
  423. package/esm/helpers/file.utils.js +29 -0
  424. package/esm/helpers/file.utils.js.map +1 -0
  425. package/esm/helpers/get-field-value.d.ts +37 -0
  426. package/esm/helpers/get-field-value.d.ts.map +1 -0
  427. package/esm/helpers/get-field-value.js +40 -0
  428. package/esm/helpers/get-field-value.js.map +1 -0
  429. package/esm/helpers/index.d.ts +6 -0
  430. package/esm/helpers/index.d.ts.map +1 -0
  431. package/esm/helpers/is-empty-value.d.ts +2 -0
  432. package/esm/helpers/is-empty-value.d.ts.map +1 -0
  433. package/esm/helpers/is-empty-value.js +3 -0
  434. package/esm/helpers/is-empty-value.js.map +1 -0
  435. package/esm/helpers/path-helpers.d.ts +5 -0
  436. package/esm/helpers/path-helpers.d.ts.map +1 -0
  437. package/esm/helpers/path-helpers.js +8 -0
  438. package/esm/helpers/path-helpers.js.map +1 -0
  439. package/esm/helpers/validation-helpers.d.ts +26 -0
  440. package/esm/helpers/validation-helpers.d.ts.map +1 -0
  441. package/esm/helpers/validation-helpers.js +74 -0
  442. package/esm/helpers/validation-helpers.js.map +1 -0
  443. package/esm/index.d.ts +30 -0
  444. package/esm/index.d.ts.map +1 -0
  445. package/esm/index.js +1 -0
  446. package/esm/index.js.map +1 -0
  447. package/esm/mutators/array-mutators.d.ts +12 -0
  448. package/esm/mutators/array-mutators.d.ts.map +1 -0
  449. package/esm/mutators/array-mutators.js +37 -0
  450. package/esm/mutators/array-mutators.js.map +1 -0
  451. package/esm/mutators/date-mutators.d.ts +39 -0
  452. package/esm/mutators/date-mutators.d.ts.map +1 -0
  453. package/esm/mutators/date-mutators.js +120 -0
  454. package/esm/mutators/date-mutators.js.map +1 -0
  455. package/esm/mutators/index.d.ts +7 -0
  456. package/esm/mutators/index.d.ts.map +1 -0
  457. package/esm/mutators/number-mutators.d.ts +22 -0
  458. package/esm/mutators/number-mutators.d.ts.map +1 -0
  459. package/esm/mutators/number-mutators.js +53 -0
  460. package/esm/mutators/number-mutators.js.map +1 -0
  461. package/esm/mutators/object-mutators.d.ts +8 -0
  462. package/esm/mutators/object-mutators.d.ts.map +1 -0
  463. package/esm/mutators/object-mutators.js +48 -0
  464. package/esm/mutators/object-mutators.js.map +1 -0
  465. package/esm/mutators/scalar-mutators.d.ts +3 -0
  466. package/esm/mutators/scalar-mutators.d.ts.map +1 -0
  467. package/esm/mutators/scalar-mutators.js +6 -0
  468. package/esm/mutators/scalar-mutators.js.map +1 -0
  469. package/esm/mutators/string-mutators.d.ts +72 -0
  470. package/esm/mutators/string-mutators.d.ts.map +1 -0
  471. package/esm/mutators/string-mutators.js +193 -0
  472. package/esm/mutators/string-mutators.js.map +1 -0
  473. package/esm/plugins/index.d.ts +7 -0
  474. package/esm/plugins/index.d.ts.map +1 -0
  475. package/esm/plugins/plugin-system.d.ts +71 -0
  476. package/esm/plugins/plugin-system.d.ts.map +1 -0
  477. package/esm/plugins/plugin-system.js +67 -0
  478. package/esm/plugins/plugin-system.js.map +1 -0
  479. package/esm/rules/array/array-rules.d.ts +12 -0
  480. package/esm/rules/array/array-rules.d.ts.map +1 -0
  481. package/esm/rules/array/array-rules.js +45 -0
  482. package/esm/rules/array/array-rules.js.map +1 -0
  483. package/esm/rules/array/index.d.ts +2 -0
  484. package/esm/rules/array/index.d.ts.map +1 -0
  485. package/esm/rules/color/color-rules.d.ts +30 -0
  486. package/esm/rules/color/color-rules.d.ts.map +1 -0
  487. package/esm/rules/color/color-rules.js +120 -0
  488. package/esm/rules/color/color-rules.js.map +1 -0
  489. package/esm/rules/color/index.d.ts +2 -0
  490. package/esm/rules/color/index.d.ts.map +1 -0
  491. package/esm/rules/common/enum.d.ts +26 -0
  492. package/esm/rules/common/enum.d.ts.map +1 -0
  493. package/esm/rules/common/enum.js +69 -0
  494. package/esm/rules/common/enum.js.map +1 -0
  495. package/esm/rules/common/equals-field-rules.d.ts +18 -0
  496. package/esm/rules/common/equals-field-rules.d.ts.map +1 -0
  497. package/esm/rules/common/equals-field-rules.js +39 -0
  498. package/esm/rules/common/equals-field-rules.js.map +1 -0
  499. package/esm/rules/common/index.d.ts +5 -0
  500. package/esm/rules/common/index.d.ts.map +1 -0
  501. package/esm/rules/common/type-rules.d.ts +38 -0
  502. package/esm/rules/common/type-rules.d.ts.map +1 -0
  503. package/esm/rules/common/type-rules.js +117 -0
  504. package/esm/rules/common/type-rules.js.map +1 -0
  505. package/esm/rules/common/unknown-key.d.ts +9 -0
  506. package/esm/rules/common/unknown-key.d.ts.map +1 -0
  507. package/esm/rules/common/unknown-key.js +17 -0
  508. package/esm/rules/common/unknown-key.js.map +1 -0
  509. package/esm/rules/conditional/forbidden-if-rules.d.ts +54 -0
  510. package/esm/rules/conditional/forbidden-if-rules.d.ts.map +1 -0
  511. package/esm/rules/conditional/forbidden-if-rules.js +118 -0
  512. package/esm/rules/conditional/forbidden-if-rules.js.map +1 -0
  513. package/esm/rules/conditional/index.d.ts +11 -0
  514. package/esm/rules/conditional/index.d.ts.map +1 -0
  515. package/esm/rules/conditional/present-if-rules.d.ts +45 -0
  516. package/esm/rules/conditional/present-if-rules.d.ts.map +1 -0
  517. package/esm/rules/conditional/present-if-rules.js +100 -0
  518. package/esm/rules/conditional/present-if-rules.js.map +1 -0
  519. package/esm/rules/conditional/present-unless-rules.d.ts +11 -0
  520. package/esm/rules/conditional/present-unless-rules.d.ts.map +1 -0
  521. package/esm/rules/conditional/present-unless-rules.js +22 -0
  522. package/esm/rules/conditional/present-unless-rules.js.map +1 -0
  523. package/esm/rules/conditional/present-with-rules.d.ts +26 -0
  524. package/esm/rules/conditional/present-with-rules.d.ts.map +1 -0
  525. package/esm/rules/conditional/present-with-rules.js +70 -0
  526. package/esm/rules/conditional/present-with-rules.js.map +1 -0
  527. package/esm/rules/conditional/present-without-rules.d.ts +26 -0
  528. package/esm/rules/conditional/present-without-rules.d.ts.map +1 -0
  529. package/esm/rules/conditional/present-without-rules.js +70 -0
  530. package/esm/rules/conditional/present-without-rules.js.map +1 -0
  531. package/esm/rules/conditional/required-if-rules.d.ts +77 -0
  532. package/esm/rules/conditional/required-if-rules.d.ts.map +1 -0
  533. package/esm/rules/conditional/required-if-rules.js +205 -0
  534. package/esm/rules/conditional/required-if-rules.js.map +1 -0
  535. package/esm/rules/conditional/required-unless-rules.d.ts +11 -0
  536. package/esm/rules/conditional/required-unless-rules.d.ts.map +1 -0
  537. package/esm/rules/conditional/required-unless-rules.js +22 -0
  538. package/esm/rules/conditional/required-unless-rules.js.map +1 -0
  539. package/esm/rules/conditional/required-when-rule.d.ts +18 -0
  540. package/esm/rules/conditional/required-when-rule.d.ts.map +1 -0
  541. package/esm/rules/conditional/required-when-rule.js +26 -0
  542. package/esm/rules/conditional/required-when-rule.js.map +1 -0
  543. package/esm/rules/conditional/required-with-rules.d.ts +26 -0
  544. package/esm/rules/conditional/required-with-rules.d.ts.map +1 -0
  545. package/esm/rules/conditional/required-with-rules.js +64 -0
  546. package/esm/rules/conditional/required-with-rules.js.map +1 -0
  547. package/esm/rules/conditional/required-without-rules.d.ts +26 -0
  548. package/esm/rules/conditional/required-without-rules.d.ts.map +1 -0
  549. package/esm/rules/conditional/required-without-rules.js +64 -0
  550. package/esm/rules/conditional/required-without-rules.js.map +1 -0
  551. package/esm/rules/core/equal.d.ts +8 -0
  552. package/esm/rules/core/equal.d.ts.map +1 -0
  553. package/esm/rules/core/equal.js +14 -0
  554. package/esm/rules/core/equal.js.map +1 -0
  555. package/esm/rules/core/forbidden.d.ts +6 -0
  556. package/esm/rules/core/forbidden.d.ts.map +1 -0
  557. package/esm/rules/core/forbidden.js +13 -0
  558. package/esm/rules/core/forbidden.js.map +1 -0
  559. package/esm/rules/core/index.d.ts +6 -0
  560. package/esm/rules/core/index.d.ts.map +1 -0
  561. package/esm/rules/core/required.d.ts +11 -0
  562. package/esm/rules/core/required.d.ts.map +1 -0
  563. package/esm/rules/core/required.js +31 -0
  564. package/esm/rules/core/required.js.map +1 -0
  565. package/esm/rules/core/union.d.ts +9 -0
  566. package/esm/rules/core/union.d.ts.map +1 -0
  567. package/esm/rules/core/union.js +40 -0
  568. package/esm/rules/core/union.js.map +1 -0
  569. package/esm/rules/core/when.d.ts +6 -0
  570. package/esm/rules/core/when.d.ts.map +1 -0
  571. package/esm/rules/core/when.js +40 -0
  572. package/esm/rules/core/when.js.map +1 -0
  573. package/esm/rules/date/date-comparison-rules.d.ts +25 -0
  574. package/esm/rules/date/date-comparison-rules.d.ts.map +1 -0
  575. package/esm/rules/date/date-comparison-rules.js +80 -0
  576. package/esm/rules/date/date-comparison-rules.js.map +1 -0
  577. package/esm/rules/date/date-day-rules.d.ts +21 -0
  578. package/esm/rules/date/date-day-rules.d.ts.map +1 -0
  579. package/esm/rules/date/date-day-rules.js +68 -0
  580. package/esm/rules/date/date-day-rules.js.map +1 -0
  581. package/esm/rules/date/date-field-comparison-rules.d.ts +28 -0
  582. package/esm/rules/date/date-field-comparison-rules.d.ts.map +1 -0
  583. package/esm/rules/date/date-field-comparison-rules.js +94 -0
  584. package/esm/rules/date/date-field-comparison-rules.js.map +1 -0
  585. package/esm/rules/date/date-period-rules.d.ts +124 -0
  586. package/esm/rules/date/date-period-rules.d.ts.map +1 -0
  587. package/esm/rules/date/date-period-rules.js +605 -0
  588. package/esm/rules/date/date-period-rules.js.map +1 -0
  589. package/esm/rules/date/date-relative-rules.d.ts +20 -0
  590. package/esm/rules/date/date-relative-rules.d.ts.map +1 -0
  591. package/esm/rules/date/date-relative-rules.js +60 -0
  592. package/esm/rules/date/date-relative-rules.js.map +1 -0
  593. package/esm/rules/date/date-special-rules.d.ts +20 -0
  594. package/esm/rules/date/date-special-rules.d.ts.map +1 -0
  595. package/esm/rules/date/date-special-rules.js +71 -0
  596. package/esm/rules/date/date-special-rules.js.map +1 -0
  597. package/esm/rules/date/date.d.ts +93 -0
  598. package/esm/rules/date/date.d.ts.map +1 -0
  599. package/esm/rules/date/date.js +288 -0
  600. package/esm/rules/date/date.js.map +1 -0
  601. package/esm/rules/date/index.d.ts +8 -0
  602. package/esm/rules/date/index.d.ts.map +1 -0
  603. package/esm/rules/file/dimensions.d.ts +26 -0
  604. package/esm/rules/file/dimensions.d.ts.map +1 -0
  605. package/esm/rules/file/dimensions.js +60 -0
  606. package/esm/rules/file/dimensions.js.map +1 -0
  607. package/esm/rules/file/file-size.d.ts +14 -0
  608. package/esm/rules/file/file-size.d.ts.map +1 -0
  609. package/esm/rules/file/file-size.js +30 -0
  610. package/esm/rules/file/file-size.js.map +1 -0
  611. package/esm/rules/file/index.d.ts +11 -0
  612. package/esm/rules/file/index.d.ts.map +1 -0
  613. package/esm/rules/index.d.ts +19 -0
  614. package/esm/rules/index.d.ts.map +1 -0
  615. package/esm/rules/length/index.d.ts +2 -0
  616. package/esm/rules/length/index.d.ts.map +1 -0
  617. package/esm/rules/length/length-rules.d.ts +49 -0
  618. package/esm/rules/length/length-rules.d.ts.map +1 -0
  619. package/esm/rules/length/length-rules.js +107 -0
  620. package/esm/rules/length/length-rules.js.map +1 -0
  621. package/esm/rules/number/index.d.ts +2 -0
  622. package/esm/rules/number/index.d.ts.map +1 -0
  623. package/esm/rules/number/number-rules.d.ts +65 -0
  624. package/esm/rules/number/number-rules.d.ts.map +1 -0
  625. package/esm/rules/number/number-rules.js +245 -0
  626. package/esm/rules/number/number-rules.js.map +1 -0
  627. package/esm/rules/scalar/accepted-rule.d.ts +39 -0
  628. package/esm/rules/scalar/accepted-rule.d.ts.map +1 -0
  629. package/esm/rules/scalar/accepted-rule.js +117 -0
  630. package/esm/rules/scalar/accepted-rule.js.map +1 -0
  631. package/esm/rules/scalar/declined-rule.d.ts +39 -0
  632. package/esm/rules/scalar/declined-rule.d.ts.map +1 -0
  633. package/esm/rules/scalar/declined-rule.js +117 -0
  634. package/esm/rules/scalar/declined-rule.js.map +1 -0
  635. package/esm/rules/scalar/index.d.ts +3 -0
  636. package/esm/rules/scalar/index.d.ts.map +1 -0
  637. package/esm/rules/string/alpha.d.ts +14 -0
  638. package/esm/rules/string/alpha.d.ts.map +1 -0
  639. package/esm/rules/string/alpha.js +39 -0
  640. package/esm/rules/string/alpha.js.map +1 -0
  641. package/esm/rules/string/credit-card.d.ts +6 -0
  642. package/esm/rules/string/credit-card.d.ts.map +1 -0
  643. package/esm/rules/string/credit-card.js +31 -0
  644. package/esm/rules/string/credit-card.js.map +1 -0
  645. package/esm/rules/string/email.d.ts +6 -0
  646. package/esm/rules/string/email.d.ts.map +1 -0
  647. package/esm/rules/string/email.js +13 -0
  648. package/esm/rules/string/email.js.map +1 -0
  649. package/esm/rules/string/index.d.ts +17 -0
  650. package/esm/rules/string/index.d.ts.map +1 -0
  651. package/esm/rules/string/ip.d.ts +14 -0
  652. package/esm/rules/string/ip.d.ts.map +1 -0
  653. package/esm/rules/string/ip.js +39 -0
  654. package/esm/rules/string/ip.js.map +1 -0
  655. package/esm/rules/string/matches.d.ts +8 -0
  656. package/esm/rules/string/matches.d.ts.map +1 -0
  657. package/esm/rules/string/matches.js +15 -0
  658. package/esm/rules/string/matches.js.map +1 -0
  659. package/esm/rules/string/pattern.d.ts +8 -0
  660. package/esm/rules/string/pattern.d.ts.map +1 -0
  661. package/esm/rules/string/pattern.js +14 -0
  662. package/esm/rules/string/pattern.js.map +1 -0
  663. package/esm/rules/string/string-comparison.d.ts +26 -0
  664. package/esm/rules/string/string-comparison.d.ts.map +1 -0
  665. package/esm/rules/string/string-comparison.js +56 -0
  666. package/esm/rules/string/string-comparison.js.map +1 -0
  667. package/esm/rules/string/strong-password-rule.d.ts +14 -0
  668. package/esm/rules/string/strong-password-rule.d.ts.map +1 -0
  669. package/esm/rules/string/strong-password-rule.js +38 -0
  670. package/esm/rules/string/strong-password-rule.js.map +1 -0
  671. package/esm/rules/string/url.d.ts +6 -0
  672. package/esm/rules/string/url.d.ts.map +1 -0
  673. package/esm/rules/string/url.js +16 -0
  674. package/esm/rules/string/url.js.map +1 -0
  675. package/esm/rules/string/without-whitespace.d.ts +6 -0
  676. package/esm/rules/string/without-whitespace.d.ts.map +1 -0
  677. package/esm/rules/string/without-whitespace.js +13 -0
  678. package/esm/rules/string/without-whitespace.js.map +1 -0
  679. package/esm/standard-schema/index.d.ts +4 -0
  680. package/esm/standard-schema/index.d.ts.map +1 -0
  681. package/esm/standard-schema/json-schema.d.ts +61 -0
  682. package/esm/standard-schema/json-schema.d.ts.map +1 -0
  683. package/esm/standard-schema/json-schema.js +85 -0
  684. package/esm/standard-schema/json-schema.js.map +1 -0
  685. package/esm/standard-schema/map-result.d.ts +18 -0
  686. package/esm/standard-schema/map-result.d.ts.map +1 -0
  687. package/esm/standard-schema/map-result.js +27 -0
  688. package/esm/standard-schema/map-result.js.map +1 -0
  689. package/esm/standard-schema/types.d.ts +93 -0
  690. package/esm/standard-schema/types.d.ts.map +1 -0
  691. package/esm/types/conditional-types.d.ts +15 -0
  692. package/esm/types/conditional-types.d.ts.map +1 -0
  693. package/esm/types/context-types.d.ts +47 -0
  694. package/esm/types/context-types.d.ts.map +1 -0
  695. package/esm/types/data-transformer-types.d.ts +25 -0
  696. package/esm/types/data-transformer-types.d.ts.map +1 -0
  697. package/esm/types/date-types.d.ts +9 -0
  698. package/esm/types/date-types.d.ts.map +1 -0
  699. package/esm/types/date-types.js +12 -0
  700. package/esm/types/date-types.js.map +1 -0
  701. package/esm/types/file.types.d.ts +5 -0
  702. package/esm/types/file.types.d.ts.map +1 -0
  703. package/esm/types/index.d.ts +11 -0
  704. package/esm/types/index.d.ts.map +1 -0
  705. package/esm/types/inference-types.d.ts +32 -0
  706. package/esm/types/inference-types.d.ts.map +1 -0
  707. package/esm/types/mutator-types.d.ts +27 -0
  708. package/esm/types/mutator-types.d.ts.map +1 -0
  709. package/esm/types/result-types.d.ts +19 -0
  710. package/esm/types/result-types.d.ts.map +1 -0
  711. package/esm/types/rule-types.d.ts +58 -0
  712. package/esm/types/rule-types.d.ts.map +1 -0
  713. package/esm/types/schema-types.d.ts +6 -0
  714. package/esm/types/schema-types.d.ts.map +1 -0
  715. package/esm/validators/any-validator.d.ts +29 -0
  716. package/esm/validators/any-validator.d.ts.map +1 -0
  717. package/esm/validators/any-validator.js +31 -0
  718. package/esm/validators/any-validator.js.map +1 -0
  719. package/esm/validators/array-validator.d.ts +72 -0
  720. package/esm/validators/array-validator.d.ts.map +1 -0
  721. package/esm/validators/array-validator.js +162 -0
  722. package/esm/validators/array-validator.js.map +1 -0
  723. package/esm/validators/base-validator.d.ts +425 -0
  724. package/esm/validators/base-validator.d.ts.map +1 -0
  725. package/esm/validators/base-validator.js +637 -0
  726. package/esm/validators/base-validator.js.map +1 -0
  727. package/esm/validators/boolean-validator.d.ts +67 -0
  728. package/esm/validators/boolean-validator.d.ts.map +1 -0
  729. package/esm/validators/boolean-validator.js +105 -0
  730. package/esm/validators/boolean-validator.js.map +1 -0
  731. package/esm/validators/computed-validator.d.ts +75 -0
  732. package/esm/validators/computed-validator.d.ts.map +1 -0
  733. package/esm/validators/computed-validator.js +124 -0
  734. package/esm/validators/computed-validator.js.map +1 -0
  735. package/esm/validators/date-validator.d.ts +330 -0
  736. package/esm/validators/date-validator.d.ts.map +1 -0
  737. package/esm/validators/date-validator.js +614 -0
  738. package/esm/validators/date-validator.js.map +1 -0
  739. package/esm/validators/float-validator.d.ts +8 -0
  740. package/esm/validators/float-validator.d.ts.map +1 -0
  741. package/esm/validators/float-validator.js +9 -0
  742. package/esm/validators/float-validator.js.map +1 -0
  743. package/esm/validators/index.d.ts +31 -0
  744. package/esm/validators/index.d.ts.map +1 -0
  745. package/esm/validators/int-validator.d.ts +19 -0
  746. package/esm/validators/int-validator.d.ts.map +1 -0
  747. package/esm/validators/int-validator.js +21 -0
  748. package/esm/validators/int-validator.js.map +1 -0
  749. package/esm/validators/managed-validator.d.ts +38 -0
  750. package/esm/validators/managed-validator.d.ts.map +1 -0
  751. package/esm/validators/managed-validator.js +34 -0
  752. package/esm/validators/managed-validator.js.map +1 -0
  753. package/esm/validators/methods/equality-conditional-methods.d.ts +88 -0
  754. package/esm/validators/methods/equality-conditional-methods.d.ts.map +1 -0
  755. package/esm/validators/methods/equality-conditional-methods.js +118 -0
  756. package/esm/validators/methods/equality-conditional-methods.js.map +1 -0
  757. package/esm/validators/methods/forbidden-methods.d.ts +58 -0
  758. package/esm/validators/methods/forbidden-methods.d.ts.map +1 -0
  759. package/esm/validators/methods/forbidden-methods.js +122 -0
  760. package/esm/validators/methods/forbidden-methods.js.map +1 -0
  761. package/esm/validators/methods/present-methods.d.ts +102 -0
  762. package/esm/validators/methods/present-methods.d.ts.map +1 -0
  763. package/esm/validators/methods/present-methods.js +229 -0
  764. package/esm/validators/methods/present-methods.js.map +1 -0
  765. package/esm/validators/methods/required-methods.d.ts +174 -0
  766. package/esm/validators/methods/required-methods.d.ts.map +1 -0
  767. package/esm/validators/methods/required-methods.js +246 -0
  768. package/esm/validators/methods/required-methods.js.map +1 -0
  769. package/esm/validators/number-validator.d.ts +166 -0
  770. package/esm/validators/number-validator.d.ts.map +1 -0
  771. package/esm/validators/number-validator.js +307 -0
  772. package/esm/validators/number-validator.js.map +1 -0
  773. package/esm/validators/numeric-validator.d.ts +15 -0
  774. package/esm/validators/numeric-validator.d.ts.map +1 -0
  775. package/esm/validators/numeric-validator.js +18 -0
  776. package/esm/validators/numeric-validator.js.map +1 -0
  777. package/esm/validators/object-validator.d.ts +233 -0
  778. package/esm/validators/object-validator.d.ts.map +1 -0
  779. package/esm/validators/object-validator.js +517 -0
  780. package/esm/validators/object-validator.js.map +1 -0
  781. package/esm/validators/primitive-validator.d.ts +70 -0
  782. package/esm/validators/primitive-validator.d.ts.map +1 -0
  783. package/esm/validators/primitive-validator.js +80 -0
  784. package/esm/validators/primitive-validator.js.map +1 -0
  785. package/esm/validators/record-validator.d.ts +54 -0
  786. package/esm/validators/record-validator.d.ts.map +1 -0
  787. package/esm/validators/record-validator.js +100 -0
  788. package/esm/validators/record-validator.js.map +1 -0
  789. package/esm/validators/scalar-validator.d.ts +93 -0
  790. package/esm/validators/scalar-validator.d.ts.map +1 -0
  791. package/esm/validators/scalar-validator.js +149 -0
  792. package/esm/validators/scalar-validator.js.map +1 -0
  793. package/esm/validators/string-validator.d.ts +189 -0
  794. package/esm/validators/string-validator.d.ts.map +1 -0
  795. package/esm/validators/string-validator.js +387 -0
  796. package/esm/validators/string-validator.js.map +1 -0
  797. package/esm/validators/tuple-validator.d.ts +56 -0
  798. package/esm/validators/tuple-validator.d.ts.map +1 -0
  799. package/esm/validators/tuple-validator.js +121 -0
  800. package/esm/validators/tuple-validator.js.map +1 -0
  801. package/esm/validators/union-validator.d.ts +55 -0
  802. package/esm/validators/union-validator.d.ts.map +1 -0
  803. package/esm/validators/union-validator.js +60 -0
  804. package/esm/validators/union-validator.js.map +1 -0
  805. package/package.json +1 -1
@@ -0,0 +1,517 @@
1
+ import {except}from'@mongez/reinforcements';import {isPlainObject}from'@mongez/supportive-is';import {setKeyPath}from'../helpers/path-helpers.js';import'dayjs';import {stripUnknownMutator,objectTrimMutator}from'../mutators/object-mutators.js';import'net';import {objectRule}from'../rules/common/type-rules.js';import {unknownKeyRule}from'../rules/common/unknown-key.js';import {wrapNullableStrict,applyNullable}from'../standard-schema/json-schema.js';import {BaseValidator}from'./base-validator.js';import {ComputedValidator}from'./computed-validator.js';/**
2
+ * Object validator class with generic schema type for proper type inference
3
+ */
4
+ class ObjectValidator extends BaseValidator {
5
+ schema;
6
+ shouldAllowUnknown = false;
7
+ allowedKeys = [];
8
+ hasUnknownKeyRule = false;
9
+ constructor(schema, errorMessage) {
10
+ super();
11
+ this.schema = schema;
12
+ this.addMutableRule(objectRule, errorMessage);
13
+ }
14
+ /**
15
+ * Check if value is an object type (plain object, not array or date)
16
+ */
17
+ matchesType(value) {
18
+ return isPlainObject(value);
19
+ }
20
+ /** Strip unknown keys from the data */
21
+ stripUnknown() {
22
+ const validator = this.instance;
23
+ return validator.addMutator(stripUnknownMutator, {
24
+ get allowedKeys() {
25
+ return validator.allowedKeys;
26
+ },
27
+ });
28
+ }
29
+ /** Add list of allowed keys that could be in the data but not necessarily validated */
30
+ allow(...keys) {
31
+ const validator = this.instance;
32
+ validator.allowedKeys.push(...keys);
33
+ return validator;
34
+ }
35
+ /** Trim values of the object properties */
36
+ trim(recursive = true) {
37
+ const validator = this.instance;
38
+ return validator.addMutator(objectTrimMutator, { recursive });
39
+ }
40
+ /** Whether to allow unknown properties
41
+ * Please note it will allow only unknown direct children keys, not nested children keys
42
+ */
43
+ allowUnknown(allow = true) {
44
+ const validator = this.instance;
45
+ validator.shouldAllowUnknown = allow;
46
+ return validator;
47
+ }
48
+ /**
49
+ * Create a copy of this object validator with the same configuration
50
+ * Copies schema, rules, mutators, transformers, and object-specific settings
51
+ *
52
+ * @returns A new ObjectValidator instance with copied configuration
53
+ *
54
+ * @example
55
+ * ```ts
56
+ * const baseUser = v.object({ name: v.string() }).allowUnknown();
57
+ * const userCopy = baseUser.clone();
58
+ * // userCopy has the same schema and allowUnknown setting
59
+ * ```
60
+ */
61
+ clone(keys) {
62
+ // Get cloned instance with all BaseValidator properties
63
+ const cloned = super.clone();
64
+ // Clone schema with deep copy of validators
65
+ const newSchema = {};
66
+ for (const key in this.schema) {
67
+ if (keys && !keys.includes(key))
68
+ continue;
69
+ newSchema[key] = this.schema[key].clone();
70
+ }
71
+ cloned.schema = newSchema;
72
+ // Add ObjectValidator-specific properties
73
+ cloned.shouldAllowUnknown = this.shouldAllowUnknown;
74
+ cloned.allowedKeys = [...this.allowedKeys];
75
+ // NOTE: hasUnknownKeyRule is intentionally NOT copied.
76
+ // Each clone must add its own unknownKeyRule on first validate()
77
+ // so it holds references to its own schema/allowedKeys, not the original's.
78
+ return cloned;
79
+ }
80
+ /**
81
+ * Extend this schema with additional fields
82
+ * Clones the current validator and adds new fields to the schema
83
+ * **Keeps original configuration** (allowUnknown, stripUnknown, etc.)
84
+ *
85
+ * If an ObjectValidator is provided, only its schema is used - its configuration is ignored.
86
+ * This is useful for creating reusable field collections that can be added to different schemas.
87
+ *
88
+ * @param schemaOrValidator - Plain schema object or ObjectValidator to extend with
89
+ * @returns A new ObjectValidator with merged schema and original configuration
90
+ *
91
+ * @example
92
+ * ```ts
93
+ * // Extend with plain schema
94
+ * const baseUser = v.object({
95
+ * name: v.string().required(),
96
+ * email: v.string().email().required()
97
+ * }).allowUnknown();
98
+ *
99
+ * const adminUser = baseUser.extend({
100
+ * role: v.string().in(['admin', 'superadmin']).required()
101
+ * });
102
+ * // adminUser has: name, email, role
103
+ * // adminUser keeps: allowUnknown() from base ✅
104
+ *
105
+ * // Extend with ObjectValidator (only schema is used)
106
+ * const auditFields = v.object({
107
+ * createdAt: v.date().required(),
108
+ * updatedAt: v.date().required()
109
+ * }).stripUnknown(); // This config is ignored!
110
+ *
111
+ * const fullUser = baseUser.extend(auditFields);
112
+ * // fullUser has: name, email, createdAt, updatedAt
113
+ * // fullUser keeps: allowUnknown() from base (NOT stripUnknown from auditFields) ✅
114
+ *
115
+ * // Chain multiple extends
116
+ * const complexSchema = baseUser
117
+ * .extend(auditFields)
118
+ * .extend({ metadata: v.object({}) });
119
+ * ```
120
+ */
121
+ extend(schemaOrValidator) {
122
+ // Clone current validator to preserve original
123
+ const extended = this.clone();
124
+ // Extract schema from parameter
125
+ const schemaToAdd = schemaOrValidator instanceof ObjectValidator ? schemaOrValidator.schema : schemaOrValidator;
126
+ // Merge schemas with cloned validators (later fields override earlier ones)
127
+ for (const key in schemaToAdd) {
128
+ extended.schema[key] = schemaToAdd[key].clone();
129
+ }
130
+ return extended;
131
+ }
132
+ /**
133
+ * Merge with another ObjectValidator
134
+ * Clones current validator, merges schemas, and **overrides configuration** with other validator's config
135
+ *
136
+ * Unlike extend(), merge() combines both schemas AND configurations.
137
+ * The other validator's configuration (allowUnknown, stripUnknown, etc.) takes precedence.
138
+ *
139
+ * @param validator - Another ObjectValidator to merge with
140
+ * @returns A new ObjectValidator with merged schema and configuration
141
+ *
142
+ * @example
143
+ * ```ts
144
+ * const baseUser = v.object({
145
+ * name: v.string().required()
146
+ * }).allowUnknown();
147
+ *
148
+ * const timestamps = v.object({
149
+ * createdAt: v.date().required(),
150
+ * updatedAt: v.date().required()
151
+ * }).stripUnknown();
152
+ *
153
+ * const merged = baseUser.merge(timestamps);
154
+ * // merged has: name, createdAt, updatedAt
155
+ * // merged config: stripUnknown() from timestamps (overrides allowUnknown) ✅
156
+ *
157
+ * // Chain multiple merges
158
+ * const full = baseUser.merge(timestamps).merge(softDeleteSchema);
159
+ * ```
160
+ */
161
+ merge(validator) {
162
+ // Clone current validator
163
+ const merged = this.clone();
164
+ // Merge schemas with cloned validators (later fields override earlier ones)
165
+ for (const key in validator.schema) {
166
+ merged.schema[key] = validator.schema[key].clone();
167
+ }
168
+ // Override configuration with other validator's config
169
+ merged.shouldAllowUnknown = validator.shouldAllowUnknown;
170
+ merged.allowedKeys = [...merged.allowedKeys, ...validator.allowedKeys];
171
+ // Append rules, mutators, transformers from other validator
172
+ merged.rules.push(...validator.rules);
173
+ merged.mutators.push(...validator.mutators);
174
+ merged.dataTransformers.push(...validator.dataTransformers);
175
+ // Merge attributes text (later wins)
176
+ merged.attributesText = {
177
+ ...merged.attributesText,
178
+ ...validator.attributesText,
179
+ };
180
+ merged.translatedAttributes = {
181
+ ...merged.translatedAttributes,
182
+ ...validator.translatedAttributes,
183
+ };
184
+ return merged;
185
+ }
186
+ /**
187
+ * Create a new schema with only the specified fields
188
+ * Clones the current validator and keeps only the selected fields
189
+ * **Preserves all configuration** (allowUnknown, stripUnknown, etc.)
190
+ *
191
+ * @param keys - Field names to keep in the schema
192
+ * @returns A new ObjectValidator with only the picked fields
193
+ *
194
+ * @example
195
+ * ```ts
196
+ * const fullUser = v.object({
197
+ * id: v.int().required(),
198
+ * name: v.string().required(),
199
+ * email: v.string().email().required(),
200
+ * password: v.string().required(),
201
+ * role: v.string()
202
+ * }).allowUnknown();
203
+ *
204
+ * // For login - only need email and password
205
+ * const loginSchema = fullUser.pick('email', 'password');
206
+ * // loginSchema has: { email, password }
207
+ * // loginSchema keeps: allowUnknown() ✅
208
+ *
209
+ * // For public profile
210
+ * const publicSchema = fullUser.pick('id', 'name', 'role');
211
+ * // publicSchema has: { id, name, role }
212
+ * ```
213
+ */
214
+ pick(...keys) {
215
+ // Clone current validator
216
+ const picked = this.clone();
217
+ // Create new schema with only picked keys
218
+ const newSchema = {};
219
+ for (const key of keys) {
220
+ if (key in picked.schema) {
221
+ newSchema[key] = picked.schema[key];
222
+ }
223
+ }
224
+ picked.schema = newSchema;
225
+ return picked;
226
+ }
227
+ /**
228
+ * Mark all or the given schema fields as optional
229
+ */
230
+ partial(...keys) {
231
+ const validationSchema = this.clone();
232
+ if (keys.length === 0) {
233
+ keys = Object.keys(validationSchema.schema);
234
+ }
235
+ for (const key of keys) {
236
+ validationSchema.schema[key] = validationSchema.schema[key].optional();
237
+ }
238
+ return validationSchema;
239
+ }
240
+ /**
241
+ * Make the all or the given fields as required
242
+ */
243
+ requiredFields(...keys) {
244
+ const validationSchema = this.clone();
245
+ if (keys.length === 0) {
246
+ keys = Object.keys(validationSchema.schema);
247
+ }
248
+ for (const key of keys) {
249
+ validationSchema.schema[key] = validationSchema.schema[key].required();
250
+ }
251
+ return validationSchema;
252
+ }
253
+ /**
254
+ * Create a new schema excluding the specified fields
255
+ * Clones the current validator and removes the specified fields
256
+ * **Preserves all configuration** (allowUnknown, stripUnknown, etc.)
257
+ *
258
+ * @param keys - Field names to exclude from the schema
259
+ * @returns A new ObjectValidator without the excluded fields
260
+ *
261
+ * @example
262
+ * ```ts
263
+ * const fullUser = v.object({
264
+ * id: v.int().required(),
265
+ * name: v.string().required(),
266
+ * email: v.string().email().required(),
267
+ * password: v.string().required(),
268
+ * role: v.string()
269
+ * }).allowUnknown();
270
+ *
271
+ * // For updates - exclude id
272
+ * const updateSchema = fullUser.without('id');
273
+ * // updateSchema has: { name, email, password, role }
274
+ * // updateSchema keeps: allowUnknown() ✅
275
+ *
276
+ * // For public API - exclude sensitive fields
277
+ * const publicSchema = fullUser.without('password', 'role');
278
+ * // publicSchema has: { id, name, email }
279
+ *
280
+ * // Combine with other methods
281
+ * const patchSchema = fullUser.without('id', 'password');
282
+ * // patchSchema has: { name, email, role }
283
+ * ```
284
+ */
285
+ without(...keys) {
286
+ // Clone current validator
287
+ const filtered = this.clone();
288
+ // Create new schema excluding specified keys
289
+ const newSchema = {};
290
+ for (const key in filtered.schema) {
291
+ if (!keys.includes(key)) {
292
+ newSchema[key] = filtered.schema[key];
293
+ }
294
+ }
295
+ filtered.schema = newSchema;
296
+ return filtered;
297
+ }
298
+ /** Mutate the data */
299
+ mutate(data, context) {
300
+ if (!isPlainObject(data))
301
+ return data;
302
+ return super.mutate({ ...data }, context);
303
+ }
304
+ /** Validate the data */
305
+ async validate(data, context = { path: "" }) {
306
+ context.schema = this.schema;
307
+ const mutatedData = await this.mutate(data, context);
308
+ // Check for unknown properties
309
+ if (this.shouldAllowUnknown === false && !this.hasUnknownKeyRule) {
310
+ this.hasUnknownKeyRule = true;
311
+ const rule = this.addMutableRule(unknownKeyRule, undefined, {
312
+ allowedKeys: this.allowedKeys,
313
+ schema: this.schema,
314
+ });
315
+ this.setRuleAttributesList(rule);
316
+ }
317
+ const result = await super.validate(mutatedData, context);
318
+ if (result.isValid === false)
319
+ return result;
320
+ if (data === undefined)
321
+ return result;
322
+ // ═══════════════════════════════════════════════════════════
323
+ // PHASE 1: Validate user input fields (skip computed/managed)
324
+ // ═══════════════════════════════════════════════════════════
325
+ const errors = [];
326
+ const validatedData = {};
327
+ const userInputKeys = Object.keys(this.schema).filter((key) => !this.isComputedValidator(this.schema[key]));
328
+ const validationPromises = userInputKeys.map(async (key) => {
329
+ const validator = this.schema[key];
330
+ const value = mutatedData?.[key] !== undefined ? mutatedData[key] : validator.getDefaultValue();
331
+ const childContext = {
332
+ ...context,
333
+ parent: mutatedData,
334
+ value,
335
+ key,
336
+ path: setKeyPath(context.path, key),
337
+ };
338
+ const childResult = await validator.validate(value, childContext);
339
+ // Only include in validated data if not omitted
340
+ if (childResult.data !== undefined && !validator.isOmitted()) {
341
+ validatedData[key] = childResult.data;
342
+ }
343
+ if (childResult.isValid === false) {
344
+ errors.push(...childResult.errors);
345
+ }
346
+ });
347
+ await Promise.all(validationPromises);
348
+ // If Phase 1 failed, return early
349
+ if (errors.length > 0) {
350
+ return {
351
+ isValid: false,
352
+ errors,
353
+ data: undefined,
354
+ };
355
+ }
356
+ // ═══════════════════════════════════════════════════════════
357
+ // PHASE 2: Execute computed/managed fields with validated data
358
+ // ═══════════════════════════════════════════════════════════
359
+ const computedFields = this.getComputedFields();
360
+ const computedPromises = Object.keys(computedFields).map(async (key) => {
361
+ const validator = computedFields[key];
362
+ const childContext = {
363
+ ...context,
364
+ parent: validatedData,
365
+ value: undefined, // Computed fields don't have input value
366
+ };
367
+ // Execute computed callback with validated data
368
+ const childResult = await validator.validate(validatedData, childContext);
369
+ // Only include in final data if not omitted
370
+ if (childResult.data !== undefined && !validator.isOmitted()) {
371
+ validatedData[key] = childResult.data;
372
+ }
373
+ if (childResult.isValid === false) {
374
+ errors.push(...childResult.errors);
375
+ }
376
+ });
377
+ await Promise.all(computedPromises);
378
+ // If Phase 2 failed, return early
379
+ if (errors.length > 0) {
380
+ return {
381
+ isValid: false,
382
+ errors,
383
+ data: undefined,
384
+ };
385
+ }
386
+ // Remove undefined values
387
+ const cleanedData = removeUndefinedValues(validatedData);
388
+ const transformedData = await this.startTransformationPipeline(cleanedData, context);
389
+ const output = this.shouldAllowUnknown === false
390
+ ? transformedData
391
+ : {
392
+ ...transformedData,
393
+ ...except(mutatedData, Object.keys(this.schema)),
394
+ };
395
+ return {
396
+ isValid: true,
397
+ errors: [],
398
+ data: output,
399
+ };
400
+ }
401
+ /**
402
+ * Check if a validator is a computed or managed field
403
+ * ManagedValidator extends ComputedValidator, so instanceof catches both
404
+ */
405
+ isComputedValidator(validator) {
406
+ return validator instanceof ComputedValidator;
407
+ }
408
+ /**
409
+ * Get all computed/managed fields from the schema
410
+ */
411
+ getComputedFields() {
412
+ const computed = {};
413
+ for (const [key, validator] of Object.entries(this.schema)) {
414
+ if (validator instanceof ComputedValidator) {
415
+ computed[key] = validator;
416
+ }
417
+ }
418
+ return computed;
419
+ }
420
+ /**
421
+ * @inheritdoc
422
+ *
423
+ * Recursively generates JSON Schema for all input fields in the schema.
424
+ * Computed/managed fields are skipped — they have no input representation.
425
+ *
426
+ * **Standard targets** (`draft-2020-12`, `draft-07`, `openapi-3.0`):
427
+ * - Fields marked `.optional()` are excluded from `required`.
428
+ *
429
+ * **`openai-strict` target** (OpenAI Structured Outputs):
430
+ * - ALL fields appear in `required` — OpenAI rejects schemas with optional fields.
431
+ * - Optional fields are instead expressed as nullable types:
432
+ * `{ type: ["string", "null"] }` so the model can output `null` for them.
433
+ * - Recursively applies `openai-strict` to all nested objects.
434
+ *
435
+ * @example
436
+ * ```ts
437
+ * v.object({
438
+ * name: v.string().required(),
439
+ * age: v.int().optional(),
440
+ * }).toJsonSchema("draft-2020-12")
441
+ * // → { type: "object",
442
+ * // properties: { name: { type: "string" }, age: { type: "integer" } },
443
+ * // required: ["name"], additionalProperties: false }
444
+ *
445
+ * v.object({
446
+ * name: v.string().required(),
447
+ * age: v.int().optional(),
448
+ * }).toJsonSchema("openai-strict")
449
+ * // → { type: "object",
450
+ * // properties: { name: { type: "string" }, age: { type: ["integer", "null"] } },
451
+ * // required: ["name", "age"], ← all fields
452
+ * // additionalProperties: false }
453
+ * ```
454
+ */
455
+ toJsonSchema(target = "draft-2020-12") {
456
+ const properties = {};
457
+ const required = [];
458
+ const isOpenAIStrict = target === "openai-strict";
459
+ for (const [key, validator] of Object.entries(this.schema)) {
460
+ // Skip computed/managed — runtime-only, no input schema
461
+ if (validator instanceof ComputedValidator)
462
+ continue;
463
+ let fieldSchema = validator.toJsonSchema(target);
464
+ if (isOpenAIStrict) {
465
+ // OpenAI strict: every field must be in required.
466
+ // Optional fields are expressed as nullable rather than absent.
467
+ if (validator.isOptional) {
468
+ fieldSchema = wrapNullableStrict(fieldSchema);
469
+ }
470
+ required.push(key);
471
+ }
472
+ else {
473
+ // Standard JSON Schema: only non-optional fields go in required
474
+ if (!validator.isOptional) {
475
+ required.push(key);
476
+ }
477
+ }
478
+ properties[key] = fieldSchema;
479
+ }
480
+ const schema = { type: "object", properties };
481
+ if (required.length > 0)
482
+ schema.required = required;
483
+ if (!this.shouldAllowUnknown)
484
+ schema.additionalProperties = false;
485
+ if (this.isNullable)
486
+ applyNullable(schema, target);
487
+ return schema;
488
+ }
489
+ }
490
+ /** Recursively remove undefined values from an object */
491
+ function removeUndefinedValues(obj, visited = new WeakMap()) {
492
+ // Handle primitives and null
493
+ if (obj === null) {
494
+ return obj;
495
+ }
496
+ // Handle arrays
497
+ if (Array.isArray(obj)) {
498
+ return obj.map((item) => removeUndefinedValues(item, visited));
499
+ }
500
+ // Skip non-plain objects (class instances, Dates, Buffers, etc.)
501
+ if (!isPlainObject(obj)) {
502
+ return obj;
503
+ }
504
+ // Handle circular references - return already processed result
505
+ if (visited.has(obj)) {
506
+ return visited.get(obj);
507
+ }
508
+ // Process plain objects
509
+ const result = {};
510
+ visited.set(obj, result); // Mark as processing BEFORE recursion
511
+ for (const [key, value] of Object.entries(obj)) {
512
+ if (value !== undefined) {
513
+ result[key] = removeUndefinedValues(value, visited);
514
+ }
515
+ }
516
+ return result;
517
+ }export{ObjectValidator};//# sourceMappingURL=object-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-validator.js","sources":["../../src/validators/object-validator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import { BaseValidator } from "./base-validator";
2
+ /**
3
+ * Abstract base validator for primitive-typed fields (string, number, boolean).
4
+ *
5
+ * Provides value-membership rules that are meaningful for any single primitive value
6
+ * but not for complex structures (object, array).
7
+ *
8
+ * Do NOT expose this on the `v` factory — it is an inheritance-only base class.
9
+ *
10
+ * Hierarchy:
11
+ * BaseValidator
12
+ * └── PrimitiveValidator ← enum, in, oneOf, allowsOnly, forbids, notIn
13
+ * ├── StringValidator
14
+ * ├── NumberValidator
15
+ * │ └── FloatValidator
16
+ * ├── BooleanValidator
17
+ * └── ScalarValidator (extends PrimitiveValidator, adds asNumber/asString/accepted/declined)
18
+ *
19
+ * @example
20
+ * class MyValidator extends PrimitiveValidator {
21
+ * // inherits: in(), forbids(), enum(), oneOf(), allowsOnly(), notIn()
22
+ * }
23
+ */
24
+ export declare abstract class PrimitiveValidator extends BaseValidator {
25
+ /**
26
+ * Value must be one of the enum's values
27
+ *
28
+ * @example
29
+ * v.string().enum(Direction) // Direction is a TS enum
30
+ */
31
+ enum(values: any, errorMessage?: string): this;
32
+ /**
33
+ * Value must be one of the given values
34
+ *
35
+ * @example
36
+ * v.string().in(["admin", "user", "guest"])
37
+ * v.number().in([1, 2, 3])
38
+ */
39
+ in(values: any[], errorMessage?: string): this;
40
+ /**
41
+ * Alias for `in()`
42
+ *
43
+ * @example
44
+ * v.string().oneOf(["active", "inactive"])
45
+ */
46
+ oneOf(values: any[], errorMessage?: string): this;
47
+ /**
48
+ * Value must be one of the allowed values (stricter variant)
49
+ *
50
+ * @example
51
+ * v.string().allowsOnly(["yes", "no"])
52
+ */
53
+ allowsOnly(values: any[], errorMessage?: string): this;
54
+ /**
55
+ * Value must NOT be one of the given values
56
+ *
57
+ * @example
58
+ * v.string().forbids(["banned", "blacklisted"])
59
+ * v.number().forbids([0, -1])
60
+ */
61
+ forbids(values: any[], errorMessage?: string): this;
62
+ /**
63
+ * Alias for `forbids()`
64
+ *
65
+ * @example
66
+ * v.string().notIn(["OK", "NOT OK"])
67
+ */
68
+ notIn(values: any[], errorMessage?: string): this;
69
+ }
70
+ //# sourceMappingURL=primitive-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitive-validator.d.ts","sourceRoot":"","sources":["../../src/validators/primitive-validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,8BAAsB,kBAAmB,SAAQ,aAAa;IAC5D;;;;;OAKG;IACI,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM;IAI9C;;;;;;OAMG;IACI,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM;IAI9C;;;;;OAKG;IACI,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM;IAIjD;;;;;OAKG;IACI,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM;IAItD;;;;;;OAMG;IACI,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM;IAInD;;;;;OAKG;IACI,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM;CAGlD"}