@warlock.js/seal 4.0.171 → 4.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1226) hide show
  1. package/cjs/index.cjs +8900 -0
  2. package/cjs/index.cjs.map +1 -0
  3. package/esm/config.d.mts +47 -0
  4. package/esm/config.d.mts.map +1 -0
  5. package/esm/config.mjs +40 -0
  6. package/esm/config.mjs.map +1 -0
  7. package/esm/factory/index.d.mts +2 -0
  8. package/esm/factory/index.mjs +4 -0
  9. package/esm/factory/validate.d.mts +16 -0
  10. package/esm/factory/validate.d.mts.map +1 -0
  11. package/esm/factory/validate.mjs +29 -0
  12. package/esm/factory/validate.mjs.map +1 -0
  13. package/esm/factory/validators.d.mts +75 -0
  14. package/esm/factory/validators.d.mts.map +1 -0
  15. package/esm/factory/validators.mjs +132 -0
  16. package/esm/factory/validators.mjs.map +1 -0
  17. package/esm/helpers/date-helpers.d.mts +19 -0
  18. package/esm/helpers/date-helpers.d.mts.map +1 -0
  19. package/esm/helpers/date-helpers.mjs +24 -0
  20. package/esm/helpers/date-helpers.mjs.map +1 -0
  21. package/esm/helpers/file.utils.d.mts +12 -0
  22. package/esm/helpers/file.utils.d.mts.map +1 -0
  23. package/esm/helpers/file.utils.mjs +33 -0
  24. package/esm/helpers/file.utils.mjs.map +1 -0
  25. package/esm/helpers/get-field-value.d.mts +42 -0
  26. package/esm/helpers/get-field-value.d.mts.map +1 -0
  27. package/esm/helpers/get-field-value.mjs +45 -0
  28. package/esm/helpers/get-field-value.mjs.map +1 -0
  29. package/esm/helpers/index.mjs +7 -0
  30. package/esm/helpers/is-empty-value.mjs +10 -0
  31. package/esm/helpers/is-empty-value.mjs.map +1 -0
  32. package/esm/helpers/path-helpers.d.mts +8 -0
  33. package/esm/helpers/path-helpers.d.mts.map +1 -0
  34. package/esm/helpers/path-helpers.mjs +12 -0
  35. package/esm/helpers/path-helpers.mjs.map +1 -0
  36. package/esm/helpers/validation-helpers.d.mts +36 -0
  37. package/esm/helpers/validation-helpers.d.mts.map +1 -0
  38. package/esm/helpers/validation-helpers.mjs +72 -0
  39. package/esm/helpers/validation-helpers.mjs.map +1 -0
  40. package/esm/index.d.mts +96 -0
  41. package/esm/index.mjs +92 -0
  42. package/esm/mutators/array-mutators.d.mts +16 -0
  43. package/esm/mutators/array-mutators.d.mts.map +1 -0
  44. package/esm/mutators/array-mutators.mjs +40 -0
  45. package/esm/mutators/array-mutators.mjs.map +1 -0
  46. package/esm/mutators/date-mutators.d.mts +43 -0
  47. package/esm/mutators/date-mutators.d.mts.map +1 -0
  48. package/esm/mutators/date-mutators.mjs +113 -0
  49. package/esm/mutators/date-mutators.mjs.map +1 -0
  50. package/esm/mutators/index.mjs +8 -0
  51. package/esm/mutators/number-mutators.d.mts +26 -0
  52. package/esm/mutators/number-mutators.d.mts.map +1 -0
  53. package/esm/mutators/number-mutators.mjs +53 -0
  54. package/esm/mutators/number-mutators.mjs.map +1 -0
  55. package/esm/mutators/object-mutators.d.mts +12 -0
  56. package/esm/mutators/object-mutators.d.mts.map +1 -0
  57. package/esm/mutators/object-mutators.mjs +37 -0
  58. package/esm/mutators/object-mutators.mjs.map +1 -0
  59. package/esm/mutators/scalar-mutators.d.mts +7 -0
  60. package/esm/mutators/scalar-mutators.d.mts.map +1 -0
  61. package/esm/mutators/scalar-mutators.mjs +9 -0
  62. package/esm/mutators/scalar-mutators.mjs.map +1 -0
  63. package/esm/mutators/string-mutators.d.mts +76 -0
  64. package/esm/mutators/string-mutators.d.mts.map +1 -0
  65. package/esm/mutators/string-mutators.mjs +169 -0
  66. package/esm/mutators/string-mutators.mjs.map +1 -0
  67. package/esm/plugins/plugin-system.d.mts +71 -0
  68. package/esm/plugins/plugin-system.d.mts.map +1 -0
  69. package/esm/plugins/plugin-system.mjs +64 -0
  70. package/esm/plugins/plugin-system.mjs.map +1 -0
  71. package/esm/rules/array/array-rules.d.mts +16 -0
  72. package/esm/rules/array/array-rules.d.mts.map +1 -0
  73. package/esm/rules/array/array-rules.mjs +41 -0
  74. package/esm/rules/array/array-rules.mjs.map +1 -0
  75. package/esm/rules/array/index.mjs +3 -0
  76. package/esm/rules/color/color-rules.d.mts +34 -0
  77. package/esm/rules/color/color-rules.d.mts.map +1 -0
  78. package/esm/rules/color/color-rules.mjs +104 -0
  79. package/esm/rules/color/color-rules.mjs.map +1 -0
  80. package/esm/rules/color/index.mjs +3 -0
  81. package/esm/rules/common/enum.d.mts +30 -0
  82. package/esm/rules/common/enum.d.mts.map +1 -0
  83. package/esm/rules/common/enum.mjs +77 -0
  84. package/esm/rules/common/enum.mjs.map +1 -0
  85. package/esm/rules/common/equals-field-rules.d.mts +22 -0
  86. package/esm/rules/common/equals-field-rules.d.mts.map +1 -0
  87. package/esm/rules/common/equals-field-rules.mjs +42 -0
  88. package/esm/rules/common/equals-field-rules.mjs.map +1 -0
  89. package/esm/rules/common/index.mjs +8 -0
  90. package/esm/rules/common/instanceof.d.mts +16 -0
  91. package/esm/rules/common/instanceof.d.mts.map +1 -0
  92. package/esm/rules/common/instanceof.mjs +23 -0
  93. package/esm/rules/common/instanceof.mjs.map +1 -0
  94. package/esm/rules/common/literal.d.mts +16 -0
  95. package/esm/rules/common/literal.d.mts.map +1 -0
  96. package/esm/rules/common/literal.mjs +29 -0
  97. package/esm/rules/common/literal.mjs.map +1 -0
  98. package/esm/rules/common/type-rules.d.mts +42 -0
  99. package/esm/rules/common/type-rules.d.mts.map +1 -0
  100. package/esm/rules/common/type-rules.mjs +112 -0
  101. package/esm/rules/common/type-rules.mjs.map +1 -0
  102. package/esm/rules/common/unknown-key.d.mts +14 -0
  103. package/esm/rules/common/unknown-key.d.mts.map +1 -0
  104. package/esm/rules/common/unknown-key.mjs +25 -0
  105. package/esm/rules/common/unknown-key.mjs.map +1 -0
  106. package/esm/rules/conditional/forbidden-if-rules.d.mts +58 -0
  107. package/esm/rules/conditional/forbidden-if-rules.d.mts.map +1 -0
  108. package/esm/rules/conditional/forbidden-if-rules.mjs +116 -0
  109. package/esm/rules/conditional/forbidden-if-rules.mjs.map +1 -0
  110. package/esm/rules/conditional/index.mjs +12 -0
  111. package/esm/rules/conditional/present-if-rules.d.mts +49 -0
  112. package/esm/rules/conditional/present-if-rules.d.mts.map +1 -0
  113. package/esm/rules/conditional/present-if-rules.mjs +97 -0
  114. package/esm/rules/conditional/present-if-rules.mjs.map +1 -0
  115. package/esm/rules/conditional/present-unless-rules.d.mts +15 -0
  116. package/esm/rules/conditional/present-unless-rules.d.mts.map +1 -0
  117. package/esm/rules/conditional/present-unless-rules.mjs +30 -0
  118. package/esm/rules/conditional/present-unless-rules.mjs.map +1 -0
  119. package/esm/rules/conditional/present-with-rules.d.mts +30 -0
  120. package/esm/rules/conditional/present-with-rules.d.mts.map +1 -0
  121. package/esm/rules/conditional/present-with-rules.mjs +75 -0
  122. package/esm/rules/conditional/present-with-rules.mjs.map +1 -0
  123. package/esm/rules/conditional/present-without-rules.d.mts +30 -0
  124. package/esm/rules/conditional/present-without-rules.d.mts.map +1 -0
  125. package/esm/rules/conditional/present-without-rules.mjs +75 -0
  126. package/esm/rules/conditional/present-without-rules.mjs.map +1 -0
  127. package/esm/rules/conditional/required-if-rules.d.mts +81 -0
  128. package/esm/rules/conditional/required-if-rules.d.mts.map +1 -0
  129. package/esm/rules/conditional/required-if-rules.mjs +203 -0
  130. package/esm/rules/conditional/required-if-rules.mjs.map +1 -0
  131. package/esm/rules/conditional/required-unless-rules.d.mts +15 -0
  132. package/esm/rules/conditional/required-unless-rules.d.mts.map +1 -0
  133. package/esm/rules/conditional/required-unless-rules.mjs +31 -0
  134. package/esm/rules/conditional/required-unless-rules.mjs.map +1 -0
  135. package/esm/rules/conditional/required-when-rule.d.mts +23 -0
  136. package/esm/rules/conditional/required-when-rule.d.mts.map +1 -0
  137. package/esm/rules/conditional/required-when-rule.mjs +32 -0
  138. package/esm/rules/conditional/required-when-rule.mjs.map +1 -0
  139. package/esm/rules/conditional/required-with-rules.d.mts +30 -0
  140. package/esm/rules/conditional/required-with-rules.d.mts.map +1 -0
  141. package/esm/rules/conditional/required-with-rules.mjs +66 -0
  142. package/esm/rules/conditional/required-with-rules.mjs.map +1 -0
  143. package/esm/rules/conditional/required-without-rules.d.mts +30 -0
  144. package/esm/rules/conditional/required-without-rules.d.mts.map +1 -0
  145. package/esm/rules/conditional/required-without-rules.mjs +66 -0
  146. package/esm/rules/conditional/required-without-rules.mjs.map +1 -0
  147. package/esm/rules/core/equal.d.mts +12 -0
  148. package/esm/rules/core/equal.d.mts.map +1 -0
  149. package/esm/rules/core/equal.mjs +22 -0
  150. package/esm/rules/core/equal.mjs.map +1 -0
  151. package/esm/rules/core/forbidden.d.mts +10 -0
  152. package/esm/rules/core/forbidden.d.mts.map +1 -0
  153. package/esm/rules/core/forbidden.mjs +20 -0
  154. package/esm/rules/core/forbidden.mjs.map +1 -0
  155. package/esm/rules/core/index.mjs +7 -0
  156. package/esm/rules/core/required.d.mts +15 -0
  157. package/esm/rules/core/required.d.mts.map +1 -0
  158. package/esm/rules/core/required.mjs +36 -0
  159. package/esm/rules/core/required.mjs.map +1 -0
  160. package/esm/rules/core/union.d.mts +13 -0
  161. package/esm/rules/core/union.d.mts.map +1 -0
  162. package/esm/rules/core/union.mjs +30 -0
  163. package/esm/rules/core/union.mjs.map +1 -0
  164. package/esm/rules/core/when.d.mts +11 -0
  165. package/esm/rules/core/when.d.mts.map +1 -0
  166. package/esm/rules/core/when.mjs +36 -0
  167. package/esm/rules/core/when.mjs.map +1 -0
  168. package/esm/rules/date/date-comparison-rules.d.mts +29 -0
  169. package/esm/rules/date/date-comparison-rules.d.mts.map +1 -0
  170. package/esm/rules/date/date-comparison-rules.mjs +78 -0
  171. package/esm/rules/date/date-comparison-rules.mjs.map +1 -0
  172. package/esm/rules/date/date-day-rules.d.mts +25 -0
  173. package/esm/rules/date/date-day-rules.d.mts.map +1 -0
  174. package/esm/rules/date/date-day-rules.mjs +61 -0
  175. package/esm/rules/date/date-day-rules.mjs.map +1 -0
  176. package/esm/rules/date/date-field-comparison-rules.d.mts +32 -0
  177. package/esm/rules/date/date-field-comparison-rules.d.mts.map +1 -0
  178. package/esm/rules/date/date-field-comparison-rules.mjs +81 -0
  179. package/esm/rules/date/date-field-comparison-rules.mjs.map +1 -0
  180. package/esm/rules/date/date-period-rules.d.mts +127 -0
  181. package/esm/rules/date/date-period-rules.d.mts.map +1 -0
  182. package/esm/rules/date/date-period-rules.mjs +398 -0
  183. package/esm/rules/date/date-period-rules.mjs.map +1 -0
  184. package/esm/rules/date/date-relative-rules.d.mts +24 -0
  185. package/esm/rules/date/date-relative-rules.d.mts.map +1 -0
  186. package/esm/rules/date/date-relative-rules.mjs +55 -0
  187. package/esm/rules/date/date-relative-rules.mjs.map +1 -0
  188. package/esm/rules/date/date-special-rules.d.mts +24 -0
  189. package/esm/rules/date/date-special-rules.d.mts.map +1 -0
  190. package/esm/rules/date/date-special-rules.mjs +58 -0
  191. package/esm/rules/date/date-special-rules.mjs.map +1 -0
  192. package/esm/rules/date/date.d.mts +97 -0
  193. package/esm/rules/date/date.d.mts.map +1 -0
  194. package/esm/rules/date/date.mjs +234 -0
  195. package/esm/rules/date/date.mjs.map +1 -0
  196. package/esm/rules/date/index.mjs +9 -0
  197. package/esm/rules/file/dimensions.d.mts +30 -0
  198. package/esm/rules/file/dimensions.d.mts.map +1 -0
  199. package/esm/rules/file/dimensions.mjs +56 -0
  200. package/esm/rules/file/dimensions.mjs.map +1 -0
  201. package/esm/rules/file/file-size.d.mts +18 -0
  202. package/esm/rules/file/file-size.d.mts.map +1 -0
  203. package/esm/rules/file/file-size.mjs +33 -0
  204. package/esm/rules/file/file-size.mjs.map +1 -0
  205. package/esm/rules/file/index.mjs +4 -0
  206. package/esm/rules/index.mjs +57 -0
  207. package/esm/rules/length/index.mjs +3 -0
  208. package/esm/rules/length/length-rules.d.mts +53 -0
  209. package/esm/rules/length/length-rules.d.mts.map +1 -0
  210. package/esm/rules/length/length-rules.mjs +98 -0
  211. package/esm/rules/length/length-rules.mjs.map +1 -0
  212. package/esm/rules/number/index.mjs +3 -0
  213. package/esm/rules/number/number-rules.d.mts +69 -0
  214. package/esm/rules/number/number-rules.d.mts.map +1 -0
  215. package/esm/rules/number/number-rules.mjs +196 -0
  216. package/esm/rules/number/number-rules.mjs.map +1 -0
  217. package/esm/rules/scalar/accepted-rule.mjs +116 -0
  218. package/esm/rules/scalar/accepted-rule.mjs.map +1 -0
  219. package/esm/rules/scalar/declined-rule.mjs +116 -0
  220. package/esm/rules/scalar/declined-rule.mjs.map +1 -0
  221. package/esm/rules/scalar/index.mjs +4 -0
  222. package/esm/rules/string/alpha.d.mts +18 -0
  223. package/esm/rules/string/alpha.d.mts.map +1 -0
  224. package/esm/rules/string/alpha.mjs +41 -0
  225. package/esm/rules/string/alpha.mjs.map +1 -0
  226. package/esm/rules/string/credit-card.d.mts +10 -0
  227. package/esm/rules/string/credit-card.d.mts.map +1 -0
  228. package/esm/rules/string/credit-card.mjs +32 -0
  229. package/esm/rules/string/credit-card.mjs.map +1 -0
  230. package/esm/rules/string/email.d.mts +10 -0
  231. package/esm/rules/string/email.d.mts.map +1 -0
  232. package/esm/rules/string/email.mjs +20 -0
  233. package/esm/rules/string/email.mjs.map +1 -0
  234. package/esm/rules/string/id-formats.d.mts +54 -0
  235. package/esm/rules/string/id-formats.d.mts.map +1 -0
  236. package/esm/rules/string/id-formats.mjs +104 -0
  237. package/esm/rules/string/id-formats.mjs.map +1 -0
  238. package/esm/rules/string/index.mjs +13 -0
  239. package/esm/rules/string/ip.d.mts +18 -0
  240. package/esm/rules/string/ip.d.mts.map +1 -0
  241. package/esm/rules/string/ip.mjs +42 -0
  242. package/esm/rules/string/ip.mjs.map +1 -0
  243. package/esm/rules/string/matches.d.mts +12 -0
  244. package/esm/rules/string/matches.d.mts.map +1 -0
  245. package/esm/rules/string/matches.mjs +21 -0
  246. package/esm/rules/string/matches.mjs.map +1 -0
  247. package/esm/rules/string/pattern.d.mts +12 -0
  248. package/esm/rules/string/pattern.d.mts.map +1 -0
  249. package/esm/rules/string/pattern.mjs +20 -0
  250. package/esm/rules/string/pattern.mjs.map +1 -0
  251. package/esm/rules/string/string-comparison.d.mts +30 -0
  252. package/esm/rules/string/string-comparison.d.mts.map +1 -0
  253. package/esm/rules/string/string-comparison.mjs +56 -0
  254. package/esm/rules/string/string-comparison.mjs.map +1 -0
  255. package/esm/rules/string/strong-password-rule.d.mts +18 -0
  256. package/esm/rules/string/strong-password-rule.d.mts.map +1 -0
  257. package/esm/rules/string/strong-password-rule.mjs +31 -0
  258. package/esm/rules/string/strong-password-rule.mjs.map +1 -0
  259. package/esm/rules/string/url.d.mts +10 -0
  260. package/esm/rules/string/url.d.mts.map +1 -0
  261. package/esm/rules/string/url.mjs +23 -0
  262. package/esm/rules/string/url.mjs.map +1 -0
  263. package/esm/rules/string/without-whitespace.d.mts +10 -0
  264. package/esm/rules/string/without-whitespace.d.mts.map +1 -0
  265. package/esm/rules/string/without-whitespace.mjs +19 -0
  266. package/esm/rules/string/without-whitespace.mjs.map +1 -0
  267. package/esm/standard-schema/json-schema.d.mts +65 -0
  268. package/esm/standard-schema/json-schema.d.mts.map +1 -0
  269. package/esm/standard-schema/json-schema.mjs +81 -0
  270. package/esm/standard-schema/json-schema.mjs.map +1 -0
  271. package/esm/standard-schema/map-result.d.mts +22 -0
  272. package/esm/standard-schema/map-result.d.mts.map +1 -0
  273. package/esm/standard-schema/map-result.mjs +26 -0
  274. package/esm/standard-schema/map-result.mjs.map +1 -0
  275. package/esm/standard-schema/types.d.mts +96 -0
  276. package/esm/standard-schema/types.d.mts.map +1 -0
  277. package/esm/types/conditional-types.d.mts +15 -0
  278. package/esm/types/conditional-types.d.mts.map +1 -0
  279. package/esm/types/context-types.d.mts +41 -0
  280. package/esm/types/context-types.d.mts.map +1 -0
  281. package/esm/types/data-transformer-types.d.mts +29 -0
  282. package/esm/types/data-transformer-types.d.mts.map +1 -0
  283. package/esm/types/date-types.d.mts +12 -0
  284. package/esm/types/date-types.d.mts.map +1 -0
  285. package/esm/types/date-types.mjs +17 -0
  286. package/esm/types/date-types.mjs.map +1 -0
  287. package/esm/types/file.types.d.mts +8 -0
  288. package/esm/types/file.types.d.mts.map +1 -0
  289. package/esm/types/inference-types.d.mts +178 -0
  290. package/esm/types/inference-types.d.mts.map +1 -0
  291. package/esm/types/mutator-types.d.mts +27 -0
  292. package/esm/types/mutator-types.d.mts.map +1 -0
  293. package/esm/types/result-types.d.mts +16 -0
  294. package/esm/types/result-types.d.mts.map +1 -0
  295. package/esm/types/rule-types.d.mts +52 -0
  296. package/esm/types/rule-types.d.mts.map +1 -0
  297. package/esm/types/schema-types.d.mts +10 -0
  298. package/esm/types/schema-types.d.mts.map +1 -0
  299. package/esm/validators/any-validator.d.mts +33 -0
  300. package/esm/validators/any-validator.d.mts.map +1 -0
  301. package/esm/validators/any-validator.mjs +35 -0
  302. package/esm/validators/any-validator.mjs.map +1 -0
  303. package/esm/validators/array-validator.d.mts +82 -0
  304. package/esm/validators/array-validator.d.mts.map +1 -0
  305. package/esm/validators/array-validator.mjs +176 -0
  306. package/esm/validators/array-validator.mjs.map +1 -0
  307. package/esm/validators/base-validator.d.mts +491 -0
  308. package/esm/validators/base-validator.d.mts.map +1 -0
  309. package/esm/validators/base-validator.mjs +656 -0
  310. package/esm/validators/base-validator.mjs.map +1 -0
  311. package/esm/validators/boolean-validator.d.mts +71 -0
  312. package/esm/validators/boolean-validator.d.mts.map +1 -0
  313. package/esm/validators/boolean-validator.mjs +126 -0
  314. package/esm/validators/boolean-validator.mjs.map +1 -0
  315. package/esm/validators/computed-validator.d.mts +80 -0
  316. package/esm/validators/computed-validator.d.mts.map +1 -0
  317. package/esm/validators/computed-validator.mjs +116 -0
  318. package/esm/validators/computed-validator.mjs.map +1 -0
  319. package/esm/validators/date-validator.d.mts +336 -0
  320. package/esm/validators/date-validator.d.mts.map +1 -0
  321. package/esm/validators/date-validator.mjs +637 -0
  322. package/esm/validators/date-validator.mjs.map +1 -0
  323. package/esm/validators/discriminated-union-validator.d.mts +67 -0
  324. package/esm/validators/discriminated-union-validator.d.mts.map +1 -0
  325. package/esm/validators/discriminated-union-validator.mjs +125 -0
  326. package/esm/validators/discriminated-union-validator.mjs.map +1 -0
  327. package/esm/validators/float-validator.d.mts +12 -0
  328. package/esm/validators/float-validator.d.mts.map +1 -0
  329. package/esm/validators/float-validator.mjs +18 -0
  330. package/esm/validators/float-validator.mjs.map +1 -0
  331. package/esm/validators/index.d.mts +22 -0
  332. package/esm/validators/index.mjs +28 -0
  333. package/esm/validators/instanceof-validator.d.mts +48 -0
  334. package/esm/validators/instanceof-validator.d.mts.map +1 -0
  335. package/esm/validators/instanceof-validator.mjs +63 -0
  336. package/esm/validators/instanceof-validator.mjs.map +1 -0
  337. package/esm/validators/int-validator.d.mts +23 -0
  338. package/esm/validators/int-validator.d.mts.map +1 -0
  339. package/esm/validators/int-validator.mjs +30 -0
  340. package/esm/validators/int-validator.mjs.map +1 -0
  341. package/esm/validators/lazy-validator.d.mts +70 -0
  342. package/esm/validators/lazy-validator.d.mts.map +1 -0
  343. package/esm/validators/lazy-validator.mjs +85 -0
  344. package/esm/validators/lazy-validator.mjs.map +1 -0
  345. package/esm/validators/literal-validator.d.mts +52 -0
  346. package/esm/validators/literal-validator.d.mts.map +1 -0
  347. package/esm/validators/literal-validator.mjs +67 -0
  348. package/esm/validators/literal-validator.mjs.map +1 -0
  349. package/esm/validators/managed-validator.d.mts +42 -0
  350. package/esm/validators/managed-validator.d.mts.map +1 -0
  351. package/esm/validators/managed-validator.mjs +39 -0
  352. package/esm/validators/managed-validator.mjs.map +1 -0
  353. package/esm/validators/methods/equality-conditional-methods.d.mts +90 -0
  354. package/esm/validators/methods/equality-conditional-methods.d.mts.map +1 -0
  355. package/esm/validators/methods/equality-conditional-methods.mjs +129 -0
  356. package/esm/validators/methods/equality-conditional-methods.mjs.map +1 -0
  357. package/esm/validators/methods/forbidden-methods.d.mts +58 -0
  358. package/esm/validators/methods/forbidden-methods.d.mts.map +1 -0
  359. package/esm/validators/methods/forbidden-methods.mjs +131 -0
  360. package/esm/validators/methods/forbidden-methods.mjs.map +1 -0
  361. package/esm/validators/methods/present-methods.d.mts +102 -0
  362. package/esm/validators/methods/present-methods.d.mts.map +1 -0
  363. package/esm/validators/methods/present-methods.mjs +235 -0
  364. package/esm/validators/methods/present-methods.mjs.map +1 -0
  365. package/esm/validators/methods/required-methods.d.mts +193 -0
  366. package/esm/validators/methods/required-methods.d.mts.map +1 -0
  367. package/esm/validators/methods/required-methods.mjs +347 -0
  368. package/esm/validators/methods/required-methods.mjs.map +1 -0
  369. package/esm/validators/number-validator.d.mts +170 -0
  370. package/esm/validators/number-validator.d.mts.map +1 -0
  371. package/esm/validators/number-validator.mjs +303 -0
  372. package/esm/validators/number-validator.mjs.map +1 -0
  373. package/esm/validators/numeric-validator.d.mts +19 -0
  374. package/esm/validators/numeric-validator.d.mts.map +1 -0
  375. package/esm/validators/numeric-validator.mjs +27 -0
  376. package/esm/validators/numeric-validator.mjs.map +1 -0
  377. package/esm/validators/object-validator.d.mts +253 -0
  378. package/esm/validators/object-validator.d.mts.map +1 -0
  379. package/esm/validators/object-validator.mjs +440 -0
  380. package/esm/validators/object-validator.mjs.map +1 -0
  381. package/esm/validators/primitive-validator.d.mts +74 -0
  382. package/esm/validators/primitive-validator.d.mts.map +1 -0
  383. package/esm/validators/primitive-validator.mjs +89 -0
  384. package/esm/validators/primitive-validator.mjs.map +1 -0
  385. package/esm/validators/record-validator.d.mts +63 -0
  386. package/esm/validators/record-validator.d.mts.map +1 -0
  387. package/esm/validators/record-validator.mjs +111 -0
  388. package/esm/validators/record-validator.mjs.map +1 -0
  389. package/esm/validators/scalar-validator.d.mts +97 -0
  390. package/esm/validators/scalar-validator.d.mts.map +1 -0
  391. package/esm/validators/scalar-validator.mjs +172 -0
  392. package/esm/validators/scalar-validator.mjs.map +1 -0
  393. package/esm/validators/string-validator.d.mts +224 -0
  394. package/esm/validators/string-validator.d.mts.map +1 -0
  395. package/esm/validators/string-validator.mjs +443 -0
  396. package/esm/validators/string-validator.mjs.map +1 -0
  397. package/esm/validators/tuple-validator.d.mts +66 -0
  398. package/esm/validators/tuple-validator.d.mts.map +1 -0
  399. package/esm/validators/tuple-validator.mjs +133 -0
  400. package/esm/validators/tuple-validator.mjs.map +1 -0
  401. package/esm/validators/union-validator.d.mts +59 -0
  402. package/esm/validators/union-validator.d.mts.map +1 -0
  403. package/esm/validators/union-validator.mjs +66 -0
  404. package/esm/validators/union-validator.mjs.map +1 -0
  405. package/llms-full.txt +2175 -0
  406. package/llms.txt +17 -0
  407. package/package.json +37 -48
  408. package/skills/bridge-standard-schema/SKILL.md +138 -0
  409. package/skills/compose-seal-modifiers/SKILL.md +271 -0
  410. package/skills/define-structural-shape/SKILL.md +138 -0
  411. package/skills/define-structural-shape/array-methods.md +78 -0
  412. package/skills/define-structural-shape/object-methods.md +166 -0
  413. package/skills/extend-seal-with-plugins/SKILL.md +178 -0
  414. package/skills/generate-json-schema/SKILL.md +143 -0
  415. package/skills/handle-seal-errors/SKILL.md +148 -0
  416. package/skills/overview/SKILL.md +72 -0
  417. package/skills/pick-seal-primitive/SKILL.md +133 -0
  418. package/skills/pick-seal-primitive/boolean-methods.md +71 -0
  419. package/skills/pick-seal-primitive/date-methods.md +175 -0
  420. package/skills/pick-seal-primitive/number-methods.md +123 -0
  421. package/skills/pick-seal-primitive/string-methods.md +169 -0
  422. package/skills/seal-basics/SKILL.md +106 -0
  423. package/cjs/config.d.ts +0 -48
  424. package/cjs/config.d.ts.map +0 -1
  425. package/cjs/config.js +0 -42
  426. package/cjs/config.js.map +0 -1
  427. package/cjs/factory/index.d.ts +0 -3
  428. package/cjs/factory/index.d.ts.map +0 -1
  429. package/cjs/factory/validate.d.ts +0 -8
  430. package/cjs/factory/validate.d.ts.map +0 -1
  431. package/cjs/factory/validate.js +0 -23
  432. package/cjs/factory/validate.js.map +0 -1
  433. package/cjs/factory/validators.d.ts +0 -56
  434. package/cjs/factory/validators.d.ts.map +0 -1
  435. package/cjs/factory/validators.js +0 -47
  436. package/cjs/factory/validators.js.map +0 -1
  437. package/cjs/helpers/date-helpers.d.ts +0 -16
  438. package/cjs/helpers/date-helpers.d.ts.map +0 -1
  439. package/cjs/helpers/date-helpers.js +0 -20
  440. package/cjs/helpers/date-helpers.js.map +0 -1
  441. package/cjs/helpers/file.utils.d.ts +0 -8
  442. package/cjs/helpers/file.utils.d.ts.map +0 -1
  443. package/cjs/helpers/file.utils.js +0 -29
  444. package/cjs/helpers/file.utils.js.map +0 -1
  445. package/cjs/helpers/get-field-value.d.ts +0 -37
  446. package/cjs/helpers/get-field-value.d.ts.map +0 -1
  447. package/cjs/helpers/get-field-value.js +0 -40
  448. package/cjs/helpers/get-field-value.js.map +0 -1
  449. package/cjs/helpers/index.d.ts +0 -6
  450. package/cjs/helpers/index.d.ts.map +0 -1
  451. package/cjs/helpers/is-empty-value.d.ts +0 -2
  452. package/cjs/helpers/is-empty-value.d.ts.map +0 -1
  453. package/cjs/helpers/is-empty-value.js +0 -3
  454. package/cjs/helpers/is-empty-value.js.map +0 -1
  455. package/cjs/helpers/path-helpers.d.ts +0 -5
  456. package/cjs/helpers/path-helpers.d.ts.map +0 -1
  457. package/cjs/helpers/path-helpers.js +0 -8
  458. package/cjs/helpers/path-helpers.js.map +0 -1
  459. package/cjs/helpers/validation-helpers.d.ts +0 -26
  460. package/cjs/helpers/validation-helpers.d.ts.map +0 -1
  461. package/cjs/helpers/validation-helpers.js +0 -74
  462. package/cjs/helpers/validation-helpers.js.map +0 -1
  463. package/cjs/index.d.ts +0 -30
  464. package/cjs/index.d.ts.map +0 -1
  465. package/cjs/index.js +0 -1
  466. package/cjs/index.js.map +0 -1
  467. package/cjs/mutators/array-mutators.d.ts +0 -12
  468. package/cjs/mutators/array-mutators.d.ts.map +0 -1
  469. package/cjs/mutators/array-mutators.js +0 -37
  470. package/cjs/mutators/array-mutators.js.map +0 -1
  471. package/cjs/mutators/date-mutators.d.ts +0 -39
  472. package/cjs/mutators/date-mutators.d.ts.map +0 -1
  473. package/cjs/mutators/date-mutators.js +0 -120
  474. package/cjs/mutators/date-mutators.js.map +0 -1
  475. package/cjs/mutators/index.d.ts +0 -7
  476. package/cjs/mutators/index.d.ts.map +0 -1
  477. package/cjs/mutators/number-mutators.d.ts +0 -22
  478. package/cjs/mutators/number-mutators.d.ts.map +0 -1
  479. package/cjs/mutators/number-mutators.js +0 -53
  480. package/cjs/mutators/number-mutators.js.map +0 -1
  481. package/cjs/mutators/object-mutators.d.ts +0 -8
  482. package/cjs/mutators/object-mutators.d.ts.map +0 -1
  483. package/cjs/mutators/object-mutators.js +0 -48
  484. package/cjs/mutators/object-mutators.js.map +0 -1
  485. package/cjs/mutators/scalar-mutators.d.ts +0 -3
  486. package/cjs/mutators/scalar-mutators.d.ts.map +0 -1
  487. package/cjs/mutators/scalar-mutators.js +0 -6
  488. package/cjs/mutators/scalar-mutators.js.map +0 -1
  489. package/cjs/mutators/string-mutators.d.ts +0 -72
  490. package/cjs/mutators/string-mutators.d.ts.map +0 -1
  491. package/cjs/mutators/string-mutators.js +0 -193
  492. package/cjs/mutators/string-mutators.js.map +0 -1
  493. package/cjs/plugins/index.d.ts +0 -7
  494. package/cjs/plugins/index.d.ts.map +0 -1
  495. package/cjs/plugins/plugin-system.d.ts +0 -71
  496. package/cjs/plugins/plugin-system.d.ts.map +0 -1
  497. package/cjs/plugins/plugin-system.js +0 -67
  498. package/cjs/plugins/plugin-system.js.map +0 -1
  499. package/cjs/rules/array/array-rules.d.ts +0 -12
  500. package/cjs/rules/array/array-rules.d.ts.map +0 -1
  501. package/cjs/rules/array/array-rules.js +0 -45
  502. package/cjs/rules/array/array-rules.js.map +0 -1
  503. package/cjs/rules/array/index.d.ts +0 -2
  504. package/cjs/rules/array/index.d.ts.map +0 -1
  505. package/cjs/rules/color/color-rules.d.ts +0 -30
  506. package/cjs/rules/color/color-rules.d.ts.map +0 -1
  507. package/cjs/rules/color/color-rules.js +0 -120
  508. package/cjs/rules/color/color-rules.js.map +0 -1
  509. package/cjs/rules/color/index.d.ts +0 -2
  510. package/cjs/rules/color/index.d.ts.map +0 -1
  511. package/cjs/rules/common/enum.d.ts +0 -26
  512. package/cjs/rules/common/enum.d.ts.map +0 -1
  513. package/cjs/rules/common/enum.js +0 -69
  514. package/cjs/rules/common/enum.js.map +0 -1
  515. package/cjs/rules/common/equals-field-rules.d.ts +0 -18
  516. package/cjs/rules/common/equals-field-rules.d.ts.map +0 -1
  517. package/cjs/rules/common/equals-field-rules.js +0 -39
  518. package/cjs/rules/common/equals-field-rules.js.map +0 -1
  519. package/cjs/rules/common/index.d.ts +0 -5
  520. package/cjs/rules/common/index.d.ts.map +0 -1
  521. package/cjs/rules/common/type-rules.d.ts +0 -38
  522. package/cjs/rules/common/type-rules.d.ts.map +0 -1
  523. package/cjs/rules/common/type-rules.js +0 -117
  524. package/cjs/rules/common/type-rules.js.map +0 -1
  525. package/cjs/rules/common/unknown-key.d.ts +0 -9
  526. package/cjs/rules/common/unknown-key.d.ts.map +0 -1
  527. package/cjs/rules/common/unknown-key.js +0 -17
  528. package/cjs/rules/common/unknown-key.js.map +0 -1
  529. package/cjs/rules/conditional/forbidden-if-rules.d.ts +0 -54
  530. package/cjs/rules/conditional/forbidden-if-rules.d.ts.map +0 -1
  531. package/cjs/rules/conditional/forbidden-if-rules.js +0 -118
  532. package/cjs/rules/conditional/forbidden-if-rules.js.map +0 -1
  533. package/cjs/rules/conditional/index.d.ts +0 -11
  534. package/cjs/rules/conditional/index.d.ts.map +0 -1
  535. package/cjs/rules/conditional/present-if-rules.d.ts +0 -45
  536. package/cjs/rules/conditional/present-if-rules.d.ts.map +0 -1
  537. package/cjs/rules/conditional/present-if-rules.js +0 -100
  538. package/cjs/rules/conditional/present-if-rules.js.map +0 -1
  539. package/cjs/rules/conditional/present-unless-rules.d.ts +0 -11
  540. package/cjs/rules/conditional/present-unless-rules.d.ts.map +0 -1
  541. package/cjs/rules/conditional/present-unless-rules.js +0 -22
  542. package/cjs/rules/conditional/present-unless-rules.js.map +0 -1
  543. package/cjs/rules/conditional/present-with-rules.d.ts +0 -26
  544. package/cjs/rules/conditional/present-with-rules.d.ts.map +0 -1
  545. package/cjs/rules/conditional/present-with-rules.js +0 -70
  546. package/cjs/rules/conditional/present-with-rules.js.map +0 -1
  547. package/cjs/rules/conditional/present-without-rules.d.ts +0 -26
  548. package/cjs/rules/conditional/present-without-rules.d.ts.map +0 -1
  549. package/cjs/rules/conditional/present-without-rules.js +0 -70
  550. package/cjs/rules/conditional/present-without-rules.js.map +0 -1
  551. package/cjs/rules/conditional/required-if-rules.d.ts +0 -77
  552. package/cjs/rules/conditional/required-if-rules.d.ts.map +0 -1
  553. package/cjs/rules/conditional/required-if-rules.js +0 -205
  554. package/cjs/rules/conditional/required-if-rules.js.map +0 -1
  555. package/cjs/rules/conditional/required-unless-rules.d.ts +0 -11
  556. package/cjs/rules/conditional/required-unless-rules.d.ts.map +0 -1
  557. package/cjs/rules/conditional/required-unless-rules.js +0 -22
  558. package/cjs/rules/conditional/required-unless-rules.js.map +0 -1
  559. package/cjs/rules/conditional/required-when-rule.d.ts +0 -18
  560. package/cjs/rules/conditional/required-when-rule.d.ts.map +0 -1
  561. package/cjs/rules/conditional/required-when-rule.js +0 -26
  562. package/cjs/rules/conditional/required-when-rule.js.map +0 -1
  563. package/cjs/rules/conditional/required-with-rules.d.ts +0 -26
  564. package/cjs/rules/conditional/required-with-rules.d.ts.map +0 -1
  565. package/cjs/rules/conditional/required-with-rules.js +0 -64
  566. package/cjs/rules/conditional/required-with-rules.js.map +0 -1
  567. package/cjs/rules/conditional/required-without-rules.d.ts +0 -26
  568. package/cjs/rules/conditional/required-without-rules.d.ts.map +0 -1
  569. package/cjs/rules/conditional/required-without-rules.js +0 -64
  570. package/cjs/rules/conditional/required-without-rules.js.map +0 -1
  571. package/cjs/rules/core/equal.d.ts +0 -8
  572. package/cjs/rules/core/equal.d.ts.map +0 -1
  573. package/cjs/rules/core/equal.js +0 -14
  574. package/cjs/rules/core/equal.js.map +0 -1
  575. package/cjs/rules/core/forbidden.d.ts +0 -6
  576. package/cjs/rules/core/forbidden.d.ts.map +0 -1
  577. package/cjs/rules/core/forbidden.js +0 -13
  578. package/cjs/rules/core/forbidden.js.map +0 -1
  579. package/cjs/rules/core/index.d.ts +0 -6
  580. package/cjs/rules/core/index.d.ts.map +0 -1
  581. package/cjs/rules/core/required.d.ts +0 -11
  582. package/cjs/rules/core/required.d.ts.map +0 -1
  583. package/cjs/rules/core/required.js +0 -31
  584. package/cjs/rules/core/required.js.map +0 -1
  585. package/cjs/rules/core/union.d.ts +0 -9
  586. package/cjs/rules/core/union.d.ts.map +0 -1
  587. package/cjs/rules/core/union.js +0 -40
  588. package/cjs/rules/core/union.js.map +0 -1
  589. package/cjs/rules/core/when.d.ts +0 -6
  590. package/cjs/rules/core/when.d.ts.map +0 -1
  591. package/cjs/rules/core/when.js +0 -40
  592. package/cjs/rules/core/when.js.map +0 -1
  593. package/cjs/rules/date/date-comparison-rules.d.ts +0 -25
  594. package/cjs/rules/date/date-comparison-rules.d.ts.map +0 -1
  595. package/cjs/rules/date/date-comparison-rules.js +0 -80
  596. package/cjs/rules/date/date-comparison-rules.js.map +0 -1
  597. package/cjs/rules/date/date-day-rules.d.ts +0 -21
  598. package/cjs/rules/date/date-day-rules.d.ts.map +0 -1
  599. package/cjs/rules/date/date-day-rules.js +0 -68
  600. package/cjs/rules/date/date-day-rules.js.map +0 -1
  601. package/cjs/rules/date/date-field-comparison-rules.d.ts +0 -28
  602. package/cjs/rules/date/date-field-comparison-rules.d.ts.map +0 -1
  603. package/cjs/rules/date/date-field-comparison-rules.js +0 -94
  604. package/cjs/rules/date/date-field-comparison-rules.js.map +0 -1
  605. package/cjs/rules/date/date-period-rules.d.ts +0 -124
  606. package/cjs/rules/date/date-period-rules.d.ts.map +0 -1
  607. package/cjs/rules/date/date-period-rules.js +0 -605
  608. package/cjs/rules/date/date-period-rules.js.map +0 -1
  609. package/cjs/rules/date/date-relative-rules.d.ts +0 -20
  610. package/cjs/rules/date/date-relative-rules.d.ts.map +0 -1
  611. package/cjs/rules/date/date-relative-rules.js +0 -60
  612. package/cjs/rules/date/date-relative-rules.js.map +0 -1
  613. package/cjs/rules/date/date-special-rules.d.ts +0 -20
  614. package/cjs/rules/date/date-special-rules.d.ts.map +0 -1
  615. package/cjs/rules/date/date-special-rules.js +0 -71
  616. package/cjs/rules/date/date-special-rules.js.map +0 -1
  617. package/cjs/rules/date/date.d.ts +0 -93
  618. package/cjs/rules/date/date.d.ts.map +0 -1
  619. package/cjs/rules/date/date.js +0 -288
  620. package/cjs/rules/date/date.js.map +0 -1
  621. package/cjs/rules/date/index.d.ts +0 -8
  622. package/cjs/rules/date/index.d.ts.map +0 -1
  623. package/cjs/rules/file/dimensions.d.ts +0 -26
  624. package/cjs/rules/file/dimensions.d.ts.map +0 -1
  625. package/cjs/rules/file/dimensions.js +0 -60
  626. package/cjs/rules/file/dimensions.js.map +0 -1
  627. package/cjs/rules/file/file-size.d.ts +0 -14
  628. package/cjs/rules/file/file-size.d.ts.map +0 -1
  629. package/cjs/rules/file/file-size.js +0 -30
  630. package/cjs/rules/file/file-size.js.map +0 -1
  631. package/cjs/rules/file/index.d.ts +0 -11
  632. package/cjs/rules/file/index.d.ts.map +0 -1
  633. package/cjs/rules/index.d.ts +0 -19
  634. package/cjs/rules/index.d.ts.map +0 -1
  635. package/cjs/rules/length/index.d.ts +0 -2
  636. package/cjs/rules/length/index.d.ts.map +0 -1
  637. package/cjs/rules/length/length-rules.d.ts +0 -49
  638. package/cjs/rules/length/length-rules.d.ts.map +0 -1
  639. package/cjs/rules/length/length-rules.js +0 -107
  640. package/cjs/rules/length/length-rules.js.map +0 -1
  641. package/cjs/rules/number/index.d.ts +0 -2
  642. package/cjs/rules/number/index.d.ts.map +0 -1
  643. package/cjs/rules/number/number-rules.d.ts +0 -65
  644. package/cjs/rules/number/number-rules.d.ts.map +0 -1
  645. package/cjs/rules/number/number-rules.js +0 -245
  646. package/cjs/rules/number/number-rules.js.map +0 -1
  647. package/cjs/rules/scalar/accepted-rule.d.ts +0 -39
  648. package/cjs/rules/scalar/accepted-rule.d.ts.map +0 -1
  649. package/cjs/rules/scalar/accepted-rule.js +0 -117
  650. package/cjs/rules/scalar/accepted-rule.js.map +0 -1
  651. package/cjs/rules/scalar/declined-rule.d.ts +0 -39
  652. package/cjs/rules/scalar/declined-rule.d.ts.map +0 -1
  653. package/cjs/rules/scalar/declined-rule.js +0 -117
  654. package/cjs/rules/scalar/declined-rule.js.map +0 -1
  655. package/cjs/rules/scalar/index.d.ts +0 -3
  656. package/cjs/rules/scalar/index.d.ts.map +0 -1
  657. package/cjs/rules/string/alpha.d.ts +0 -14
  658. package/cjs/rules/string/alpha.d.ts.map +0 -1
  659. package/cjs/rules/string/alpha.js +0 -39
  660. package/cjs/rules/string/alpha.js.map +0 -1
  661. package/cjs/rules/string/credit-card.d.ts +0 -6
  662. package/cjs/rules/string/credit-card.d.ts.map +0 -1
  663. package/cjs/rules/string/credit-card.js +0 -31
  664. package/cjs/rules/string/credit-card.js.map +0 -1
  665. package/cjs/rules/string/email.d.ts +0 -6
  666. package/cjs/rules/string/email.d.ts.map +0 -1
  667. package/cjs/rules/string/email.js +0 -13
  668. package/cjs/rules/string/email.js.map +0 -1
  669. package/cjs/rules/string/index.d.ts +0 -17
  670. package/cjs/rules/string/index.d.ts.map +0 -1
  671. package/cjs/rules/string/ip.d.ts +0 -14
  672. package/cjs/rules/string/ip.d.ts.map +0 -1
  673. package/cjs/rules/string/ip.js +0 -39
  674. package/cjs/rules/string/ip.js.map +0 -1
  675. package/cjs/rules/string/matches.d.ts +0 -8
  676. package/cjs/rules/string/matches.d.ts.map +0 -1
  677. package/cjs/rules/string/matches.js +0 -15
  678. package/cjs/rules/string/matches.js.map +0 -1
  679. package/cjs/rules/string/pattern.d.ts +0 -8
  680. package/cjs/rules/string/pattern.d.ts.map +0 -1
  681. package/cjs/rules/string/pattern.js +0 -14
  682. package/cjs/rules/string/pattern.js.map +0 -1
  683. package/cjs/rules/string/string-comparison.d.ts +0 -26
  684. package/cjs/rules/string/string-comparison.d.ts.map +0 -1
  685. package/cjs/rules/string/string-comparison.js +0 -56
  686. package/cjs/rules/string/string-comparison.js.map +0 -1
  687. package/cjs/rules/string/strong-password-rule.d.ts +0 -14
  688. package/cjs/rules/string/strong-password-rule.d.ts.map +0 -1
  689. package/cjs/rules/string/strong-password-rule.js +0 -38
  690. package/cjs/rules/string/strong-password-rule.js.map +0 -1
  691. package/cjs/rules/string/url.d.ts +0 -6
  692. package/cjs/rules/string/url.d.ts.map +0 -1
  693. package/cjs/rules/string/url.js +0 -16
  694. package/cjs/rules/string/url.js.map +0 -1
  695. package/cjs/rules/string/without-whitespace.d.ts +0 -6
  696. package/cjs/rules/string/without-whitespace.d.ts.map +0 -1
  697. package/cjs/rules/string/without-whitespace.js +0 -13
  698. package/cjs/rules/string/without-whitespace.js.map +0 -1
  699. package/cjs/standard-schema/index.d.ts +0 -4
  700. package/cjs/standard-schema/index.d.ts.map +0 -1
  701. package/cjs/standard-schema/json-schema.d.ts +0 -61
  702. package/cjs/standard-schema/json-schema.d.ts.map +0 -1
  703. package/cjs/standard-schema/json-schema.js +0 -85
  704. package/cjs/standard-schema/json-schema.js.map +0 -1
  705. package/cjs/standard-schema/map-result.d.ts +0 -18
  706. package/cjs/standard-schema/map-result.d.ts.map +0 -1
  707. package/cjs/standard-schema/map-result.js +0 -27
  708. package/cjs/standard-schema/map-result.js.map +0 -1
  709. package/cjs/standard-schema/types.d.ts +0 -93
  710. package/cjs/standard-schema/types.d.ts.map +0 -1
  711. package/cjs/types/conditional-types.d.ts +0 -15
  712. package/cjs/types/conditional-types.d.ts.map +0 -1
  713. package/cjs/types/context-types.d.ts +0 -47
  714. package/cjs/types/context-types.d.ts.map +0 -1
  715. package/cjs/types/data-transformer-types.d.ts +0 -25
  716. package/cjs/types/data-transformer-types.d.ts.map +0 -1
  717. package/cjs/types/date-types.d.ts +0 -9
  718. package/cjs/types/date-types.d.ts.map +0 -1
  719. package/cjs/types/date-types.js +0 -12
  720. package/cjs/types/date-types.js.map +0 -1
  721. package/cjs/types/file.types.d.ts +0 -5
  722. package/cjs/types/file.types.d.ts.map +0 -1
  723. package/cjs/types/index.d.ts +0 -11
  724. package/cjs/types/index.d.ts.map +0 -1
  725. package/cjs/types/inference-types.d.ts +0 -32
  726. package/cjs/types/inference-types.d.ts.map +0 -1
  727. package/cjs/types/mutator-types.d.ts +0 -27
  728. package/cjs/types/mutator-types.d.ts.map +0 -1
  729. package/cjs/types/result-types.d.ts +0 -19
  730. package/cjs/types/result-types.d.ts.map +0 -1
  731. package/cjs/types/rule-types.d.ts +0 -58
  732. package/cjs/types/rule-types.d.ts.map +0 -1
  733. package/cjs/types/schema-types.d.ts +0 -6
  734. package/cjs/types/schema-types.d.ts.map +0 -1
  735. package/cjs/validators/any-validator.d.ts +0 -29
  736. package/cjs/validators/any-validator.d.ts.map +0 -1
  737. package/cjs/validators/any-validator.js +0 -31
  738. package/cjs/validators/any-validator.js.map +0 -1
  739. package/cjs/validators/array-validator.d.ts +0 -72
  740. package/cjs/validators/array-validator.d.ts.map +0 -1
  741. package/cjs/validators/array-validator.js +0 -162
  742. package/cjs/validators/array-validator.js.map +0 -1
  743. package/cjs/validators/base-validator.d.ts +0 -425
  744. package/cjs/validators/base-validator.d.ts.map +0 -1
  745. package/cjs/validators/base-validator.js +0 -637
  746. package/cjs/validators/base-validator.js.map +0 -1
  747. package/cjs/validators/boolean-validator.d.ts +0 -67
  748. package/cjs/validators/boolean-validator.d.ts.map +0 -1
  749. package/cjs/validators/boolean-validator.js +0 -105
  750. package/cjs/validators/boolean-validator.js.map +0 -1
  751. package/cjs/validators/computed-validator.d.ts +0 -75
  752. package/cjs/validators/computed-validator.d.ts.map +0 -1
  753. package/cjs/validators/computed-validator.js +0 -124
  754. package/cjs/validators/computed-validator.js.map +0 -1
  755. package/cjs/validators/date-validator.d.ts +0 -330
  756. package/cjs/validators/date-validator.d.ts.map +0 -1
  757. package/cjs/validators/date-validator.js +0 -614
  758. package/cjs/validators/date-validator.js.map +0 -1
  759. package/cjs/validators/float-validator.d.ts +0 -8
  760. package/cjs/validators/float-validator.d.ts.map +0 -1
  761. package/cjs/validators/float-validator.js +0 -9
  762. package/cjs/validators/float-validator.js.map +0 -1
  763. package/cjs/validators/index.d.ts +0 -31
  764. package/cjs/validators/index.d.ts.map +0 -1
  765. package/cjs/validators/int-validator.d.ts +0 -19
  766. package/cjs/validators/int-validator.d.ts.map +0 -1
  767. package/cjs/validators/int-validator.js +0 -21
  768. package/cjs/validators/int-validator.js.map +0 -1
  769. package/cjs/validators/managed-validator.d.ts +0 -38
  770. package/cjs/validators/managed-validator.d.ts.map +0 -1
  771. package/cjs/validators/managed-validator.js +0 -34
  772. package/cjs/validators/managed-validator.js.map +0 -1
  773. package/cjs/validators/methods/equality-conditional-methods.d.ts +0 -88
  774. package/cjs/validators/methods/equality-conditional-methods.d.ts.map +0 -1
  775. package/cjs/validators/methods/equality-conditional-methods.js +0 -118
  776. package/cjs/validators/methods/equality-conditional-methods.js.map +0 -1
  777. package/cjs/validators/methods/forbidden-methods.d.ts +0 -58
  778. package/cjs/validators/methods/forbidden-methods.d.ts.map +0 -1
  779. package/cjs/validators/methods/forbidden-methods.js +0 -122
  780. package/cjs/validators/methods/forbidden-methods.js.map +0 -1
  781. package/cjs/validators/methods/present-methods.d.ts +0 -102
  782. package/cjs/validators/methods/present-methods.d.ts.map +0 -1
  783. package/cjs/validators/methods/present-methods.js +0 -229
  784. package/cjs/validators/methods/present-methods.js.map +0 -1
  785. package/cjs/validators/methods/required-methods.d.ts +0 -174
  786. package/cjs/validators/methods/required-methods.d.ts.map +0 -1
  787. package/cjs/validators/methods/required-methods.js +0 -246
  788. package/cjs/validators/methods/required-methods.js.map +0 -1
  789. package/cjs/validators/number-validator.d.ts +0 -166
  790. package/cjs/validators/number-validator.d.ts.map +0 -1
  791. package/cjs/validators/number-validator.js +0 -307
  792. package/cjs/validators/number-validator.js.map +0 -1
  793. package/cjs/validators/numeric-validator.d.ts +0 -15
  794. package/cjs/validators/numeric-validator.d.ts.map +0 -1
  795. package/cjs/validators/numeric-validator.js +0 -18
  796. package/cjs/validators/numeric-validator.js.map +0 -1
  797. package/cjs/validators/object-validator.d.ts +0 -233
  798. package/cjs/validators/object-validator.d.ts.map +0 -1
  799. package/cjs/validators/object-validator.js +0 -517
  800. package/cjs/validators/object-validator.js.map +0 -1
  801. package/cjs/validators/primitive-validator.d.ts +0 -70
  802. package/cjs/validators/primitive-validator.d.ts.map +0 -1
  803. package/cjs/validators/primitive-validator.js +0 -80
  804. package/cjs/validators/primitive-validator.js.map +0 -1
  805. package/cjs/validators/record-validator.d.ts +0 -54
  806. package/cjs/validators/record-validator.d.ts.map +0 -1
  807. package/cjs/validators/record-validator.js +0 -100
  808. package/cjs/validators/record-validator.js.map +0 -1
  809. package/cjs/validators/scalar-validator.d.ts +0 -93
  810. package/cjs/validators/scalar-validator.d.ts.map +0 -1
  811. package/cjs/validators/scalar-validator.js +0 -149
  812. package/cjs/validators/scalar-validator.js.map +0 -1
  813. package/cjs/validators/string-validator.d.ts +0 -189
  814. package/cjs/validators/string-validator.d.ts.map +0 -1
  815. package/cjs/validators/string-validator.js +0 -387
  816. package/cjs/validators/string-validator.js.map +0 -1
  817. package/cjs/validators/tuple-validator.d.ts +0 -56
  818. package/cjs/validators/tuple-validator.d.ts.map +0 -1
  819. package/cjs/validators/tuple-validator.js +0 -121
  820. package/cjs/validators/tuple-validator.js.map +0 -1
  821. package/cjs/validators/union-validator.d.ts +0 -55
  822. package/cjs/validators/union-validator.d.ts.map +0 -1
  823. package/cjs/validators/union-validator.js +0 -60
  824. package/cjs/validators/union-validator.js.map +0 -1
  825. package/esm/config.d.ts +0 -48
  826. package/esm/config.d.ts.map +0 -1
  827. package/esm/config.js +0 -42
  828. package/esm/config.js.map +0 -1
  829. package/esm/factory/index.d.ts +0 -3
  830. package/esm/factory/index.d.ts.map +0 -1
  831. package/esm/factory/validate.d.ts +0 -8
  832. package/esm/factory/validate.d.ts.map +0 -1
  833. package/esm/factory/validate.js +0 -23
  834. package/esm/factory/validate.js.map +0 -1
  835. package/esm/factory/validators.d.ts +0 -56
  836. package/esm/factory/validators.d.ts.map +0 -1
  837. package/esm/factory/validators.js +0 -47
  838. package/esm/factory/validators.js.map +0 -1
  839. package/esm/helpers/date-helpers.d.ts +0 -16
  840. package/esm/helpers/date-helpers.d.ts.map +0 -1
  841. package/esm/helpers/date-helpers.js +0 -20
  842. package/esm/helpers/date-helpers.js.map +0 -1
  843. package/esm/helpers/file.utils.d.ts +0 -8
  844. package/esm/helpers/file.utils.d.ts.map +0 -1
  845. package/esm/helpers/file.utils.js +0 -29
  846. package/esm/helpers/file.utils.js.map +0 -1
  847. package/esm/helpers/get-field-value.d.ts +0 -37
  848. package/esm/helpers/get-field-value.d.ts.map +0 -1
  849. package/esm/helpers/get-field-value.js +0 -40
  850. package/esm/helpers/get-field-value.js.map +0 -1
  851. package/esm/helpers/index.d.ts +0 -6
  852. package/esm/helpers/index.d.ts.map +0 -1
  853. package/esm/helpers/is-empty-value.d.ts +0 -2
  854. package/esm/helpers/is-empty-value.d.ts.map +0 -1
  855. package/esm/helpers/is-empty-value.js +0 -3
  856. package/esm/helpers/is-empty-value.js.map +0 -1
  857. package/esm/helpers/path-helpers.d.ts +0 -5
  858. package/esm/helpers/path-helpers.d.ts.map +0 -1
  859. package/esm/helpers/path-helpers.js +0 -8
  860. package/esm/helpers/path-helpers.js.map +0 -1
  861. package/esm/helpers/validation-helpers.d.ts +0 -26
  862. package/esm/helpers/validation-helpers.d.ts.map +0 -1
  863. package/esm/helpers/validation-helpers.js +0 -74
  864. package/esm/helpers/validation-helpers.js.map +0 -1
  865. package/esm/index.d.ts +0 -30
  866. package/esm/index.d.ts.map +0 -1
  867. package/esm/index.js +0 -1
  868. package/esm/index.js.map +0 -1
  869. package/esm/mutators/array-mutators.d.ts +0 -12
  870. package/esm/mutators/array-mutators.d.ts.map +0 -1
  871. package/esm/mutators/array-mutators.js +0 -37
  872. package/esm/mutators/array-mutators.js.map +0 -1
  873. package/esm/mutators/date-mutators.d.ts +0 -39
  874. package/esm/mutators/date-mutators.d.ts.map +0 -1
  875. package/esm/mutators/date-mutators.js +0 -120
  876. package/esm/mutators/date-mutators.js.map +0 -1
  877. package/esm/mutators/index.d.ts +0 -7
  878. package/esm/mutators/index.d.ts.map +0 -1
  879. package/esm/mutators/number-mutators.d.ts +0 -22
  880. package/esm/mutators/number-mutators.d.ts.map +0 -1
  881. package/esm/mutators/number-mutators.js +0 -53
  882. package/esm/mutators/number-mutators.js.map +0 -1
  883. package/esm/mutators/object-mutators.d.ts +0 -8
  884. package/esm/mutators/object-mutators.d.ts.map +0 -1
  885. package/esm/mutators/object-mutators.js +0 -48
  886. package/esm/mutators/object-mutators.js.map +0 -1
  887. package/esm/mutators/scalar-mutators.d.ts +0 -3
  888. package/esm/mutators/scalar-mutators.d.ts.map +0 -1
  889. package/esm/mutators/scalar-mutators.js +0 -6
  890. package/esm/mutators/scalar-mutators.js.map +0 -1
  891. package/esm/mutators/string-mutators.d.ts +0 -72
  892. package/esm/mutators/string-mutators.d.ts.map +0 -1
  893. package/esm/mutators/string-mutators.js +0 -193
  894. package/esm/mutators/string-mutators.js.map +0 -1
  895. package/esm/plugins/index.d.ts +0 -7
  896. package/esm/plugins/index.d.ts.map +0 -1
  897. package/esm/plugins/plugin-system.d.ts +0 -71
  898. package/esm/plugins/plugin-system.d.ts.map +0 -1
  899. package/esm/plugins/plugin-system.js +0 -67
  900. package/esm/plugins/plugin-system.js.map +0 -1
  901. package/esm/rules/array/array-rules.d.ts +0 -12
  902. package/esm/rules/array/array-rules.d.ts.map +0 -1
  903. package/esm/rules/array/array-rules.js +0 -45
  904. package/esm/rules/array/array-rules.js.map +0 -1
  905. package/esm/rules/array/index.d.ts +0 -2
  906. package/esm/rules/array/index.d.ts.map +0 -1
  907. package/esm/rules/color/color-rules.d.ts +0 -30
  908. package/esm/rules/color/color-rules.d.ts.map +0 -1
  909. package/esm/rules/color/color-rules.js +0 -120
  910. package/esm/rules/color/color-rules.js.map +0 -1
  911. package/esm/rules/color/index.d.ts +0 -2
  912. package/esm/rules/color/index.d.ts.map +0 -1
  913. package/esm/rules/common/enum.d.ts +0 -26
  914. package/esm/rules/common/enum.d.ts.map +0 -1
  915. package/esm/rules/common/enum.js +0 -69
  916. package/esm/rules/common/enum.js.map +0 -1
  917. package/esm/rules/common/equals-field-rules.d.ts +0 -18
  918. package/esm/rules/common/equals-field-rules.d.ts.map +0 -1
  919. package/esm/rules/common/equals-field-rules.js +0 -39
  920. package/esm/rules/common/equals-field-rules.js.map +0 -1
  921. package/esm/rules/common/index.d.ts +0 -5
  922. package/esm/rules/common/index.d.ts.map +0 -1
  923. package/esm/rules/common/type-rules.d.ts +0 -38
  924. package/esm/rules/common/type-rules.d.ts.map +0 -1
  925. package/esm/rules/common/type-rules.js +0 -117
  926. package/esm/rules/common/type-rules.js.map +0 -1
  927. package/esm/rules/common/unknown-key.d.ts +0 -9
  928. package/esm/rules/common/unknown-key.d.ts.map +0 -1
  929. package/esm/rules/common/unknown-key.js +0 -17
  930. package/esm/rules/common/unknown-key.js.map +0 -1
  931. package/esm/rules/conditional/forbidden-if-rules.d.ts +0 -54
  932. package/esm/rules/conditional/forbidden-if-rules.d.ts.map +0 -1
  933. package/esm/rules/conditional/forbidden-if-rules.js +0 -118
  934. package/esm/rules/conditional/forbidden-if-rules.js.map +0 -1
  935. package/esm/rules/conditional/index.d.ts +0 -11
  936. package/esm/rules/conditional/index.d.ts.map +0 -1
  937. package/esm/rules/conditional/present-if-rules.d.ts +0 -45
  938. package/esm/rules/conditional/present-if-rules.d.ts.map +0 -1
  939. package/esm/rules/conditional/present-if-rules.js +0 -100
  940. package/esm/rules/conditional/present-if-rules.js.map +0 -1
  941. package/esm/rules/conditional/present-unless-rules.d.ts +0 -11
  942. package/esm/rules/conditional/present-unless-rules.d.ts.map +0 -1
  943. package/esm/rules/conditional/present-unless-rules.js +0 -22
  944. package/esm/rules/conditional/present-unless-rules.js.map +0 -1
  945. package/esm/rules/conditional/present-with-rules.d.ts +0 -26
  946. package/esm/rules/conditional/present-with-rules.d.ts.map +0 -1
  947. package/esm/rules/conditional/present-with-rules.js +0 -70
  948. package/esm/rules/conditional/present-with-rules.js.map +0 -1
  949. package/esm/rules/conditional/present-without-rules.d.ts +0 -26
  950. package/esm/rules/conditional/present-without-rules.d.ts.map +0 -1
  951. package/esm/rules/conditional/present-without-rules.js +0 -70
  952. package/esm/rules/conditional/present-without-rules.js.map +0 -1
  953. package/esm/rules/conditional/required-if-rules.d.ts +0 -77
  954. package/esm/rules/conditional/required-if-rules.d.ts.map +0 -1
  955. package/esm/rules/conditional/required-if-rules.js +0 -205
  956. package/esm/rules/conditional/required-if-rules.js.map +0 -1
  957. package/esm/rules/conditional/required-unless-rules.d.ts +0 -11
  958. package/esm/rules/conditional/required-unless-rules.d.ts.map +0 -1
  959. package/esm/rules/conditional/required-unless-rules.js +0 -22
  960. package/esm/rules/conditional/required-unless-rules.js.map +0 -1
  961. package/esm/rules/conditional/required-when-rule.d.ts +0 -18
  962. package/esm/rules/conditional/required-when-rule.d.ts.map +0 -1
  963. package/esm/rules/conditional/required-when-rule.js +0 -26
  964. package/esm/rules/conditional/required-when-rule.js.map +0 -1
  965. package/esm/rules/conditional/required-with-rules.d.ts +0 -26
  966. package/esm/rules/conditional/required-with-rules.d.ts.map +0 -1
  967. package/esm/rules/conditional/required-with-rules.js +0 -64
  968. package/esm/rules/conditional/required-with-rules.js.map +0 -1
  969. package/esm/rules/conditional/required-without-rules.d.ts +0 -26
  970. package/esm/rules/conditional/required-without-rules.d.ts.map +0 -1
  971. package/esm/rules/conditional/required-without-rules.js +0 -64
  972. package/esm/rules/conditional/required-without-rules.js.map +0 -1
  973. package/esm/rules/core/equal.d.ts +0 -8
  974. package/esm/rules/core/equal.d.ts.map +0 -1
  975. package/esm/rules/core/equal.js +0 -14
  976. package/esm/rules/core/equal.js.map +0 -1
  977. package/esm/rules/core/forbidden.d.ts +0 -6
  978. package/esm/rules/core/forbidden.d.ts.map +0 -1
  979. package/esm/rules/core/forbidden.js +0 -13
  980. package/esm/rules/core/forbidden.js.map +0 -1
  981. package/esm/rules/core/index.d.ts +0 -6
  982. package/esm/rules/core/index.d.ts.map +0 -1
  983. package/esm/rules/core/required.d.ts +0 -11
  984. package/esm/rules/core/required.d.ts.map +0 -1
  985. package/esm/rules/core/required.js +0 -31
  986. package/esm/rules/core/required.js.map +0 -1
  987. package/esm/rules/core/union.d.ts +0 -9
  988. package/esm/rules/core/union.d.ts.map +0 -1
  989. package/esm/rules/core/union.js +0 -40
  990. package/esm/rules/core/union.js.map +0 -1
  991. package/esm/rules/core/when.d.ts +0 -6
  992. package/esm/rules/core/when.d.ts.map +0 -1
  993. package/esm/rules/core/when.js +0 -40
  994. package/esm/rules/core/when.js.map +0 -1
  995. package/esm/rules/date/date-comparison-rules.d.ts +0 -25
  996. package/esm/rules/date/date-comparison-rules.d.ts.map +0 -1
  997. package/esm/rules/date/date-comparison-rules.js +0 -80
  998. package/esm/rules/date/date-comparison-rules.js.map +0 -1
  999. package/esm/rules/date/date-day-rules.d.ts +0 -21
  1000. package/esm/rules/date/date-day-rules.d.ts.map +0 -1
  1001. package/esm/rules/date/date-day-rules.js +0 -68
  1002. package/esm/rules/date/date-day-rules.js.map +0 -1
  1003. package/esm/rules/date/date-field-comparison-rules.d.ts +0 -28
  1004. package/esm/rules/date/date-field-comparison-rules.d.ts.map +0 -1
  1005. package/esm/rules/date/date-field-comparison-rules.js +0 -94
  1006. package/esm/rules/date/date-field-comparison-rules.js.map +0 -1
  1007. package/esm/rules/date/date-period-rules.d.ts +0 -124
  1008. package/esm/rules/date/date-period-rules.d.ts.map +0 -1
  1009. package/esm/rules/date/date-period-rules.js +0 -605
  1010. package/esm/rules/date/date-period-rules.js.map +0 -1
  1011. package/esm/rules/date/date-relative-rules.d.ts +0 -20
  1012. package/esm/rules/date/date-relative-rules.d.ts.map +0 -1
  1013. package/esm/rules/date/date-relative-rules.js +0 -60
  1014. package/esm/rules/date/date-relative-rules.js.map +0 -1
  1015. package/esm/rules/date/date-special-rules.d.ts +0 -20
  1016. package/esm/rules/date/date-special-rules.d.ts.map +0 -1
  1017. package/esm/rules/date/date-special-rules.js +0 -71
  1018. package/esm/rules/date/date-special-rules.js.map +0 -1
  1019. package/esm/rules/date/date.d.ts +0 -93
  1020. package/esm/rules/date/date.d.ts.map +0 -1
  1021. package/esm/rules/date/date.js +0 -288
  1022. package/esm/rules/date/date.js.map +0 -1
  1023. package/esm/rules/date/index.d.ts +0 -8
  1024. package/esm/rules/date/index.d.ts.map +0 -1
  1025. package/esm/rules/file/dimensions.d.ts +0 -26
  1026. package/esm/rules/file/dimensions.d.ts.map +0 -1
  1027. package/esm/rules/file/dimensions.js +0 -60
  1028. package/esm/rules/file/dimensions.js.map +0 -1
  1029. package/esm/rules/file/file-size.d.ts +0 -14
  1030. package/esm/rules/file/file-size.d.ts.map +0 -1
  1031. package/esm/rules/file/file-size.js +0 -30
  1032. package/esm/rules/file/file-size.js.map +0 -1
  1033. package/esm/rules/file/index.d.ts +0 -11
  1034. package/esm/rules/file/index.d.ts.map +0 -1
  1035. package/esm/rules/index.d.ts +0 -19
  1036. package/esm/rules/index.d.ts.map +0 -1
  1037. package/esm/rules/length/index.d.ts +0 -2
  1038. package/esm/rules/length/index.d.ts.map +0 -1
  1039. package/esm/rules/length/length-rules.d.ts +0 -49
  1040. package/esm/rules/length/length-rules.d.ts.map +0 -1
  1041. package/esm/rules/length/length-rules.js +0 -107
  1042. package/esm/rules/length/length-rules.js.map +0 -1
  1043. package/esm/rules/number/index.d.ts +0 -2
  1044. package/esm/rules/number/index.d.ts.map +0 -1
  1045. package/esm/rules/number/number-rules.d.ts +0 -65
  1046. package/esm/rules/number/number-rules.d.ts.map +0 -1
  1047. package/esm/rules/number/number-rules.js +0 -245
  1048. package/esm/rules/number/number-rules.js.map +0 -1
  1049. package/esm/rules/scalar/accepted-rule.d.ts +0 -39
  1050. package/esm/rules/scalar/accepted-rule.d.ts.map +0 -1
  1051. package/esm/rules/scalar/accepted-rule.js +0 -117
  1052. package/esm/rules/scalar/accepted-rule.js.map +0 -1
  1053. package/esm/rules/scalar/declined-rule.d.ts +0 -39
  1054. package/esm/rules/scalar/declined-rule.d.ts.map +0 -1
  1055. package/esm/rules/scalar/declined-rule.js +0 -117
  1056. package/esm/rules/scalar/declined-rule.js.map +0 -1
  1057. package/esm/rules/scalar/index.d.ts +0 -3
  1058. package/esm/rules/scalar/index.d.ts.map +0 -1
  1059. package/esm/rules/string/alpha.d.ts +0 -14
  1060. package/esm/rules/string/alpha.d.ts.map +0 -1
  1061. package/esm/rules/string/alpha.js +0 -39
  1062. package/esm/rules/string/alpha.js.map +0 -1
  1063. package/esm/rules/string/credit-card.d.ts +0 -6
  1064. package/esm/rules/string/credit-card.d.ts.map +0 -1
  1065. package/esm/rules/string/credit-card.js +0 -31
  1066. package/esm/rules/string/credit-card.js.map +0 -1
  1067. package/esm/rules/string/email.d.ts +0 -6
  1068. package/esm/rules/string/email.d.ts.map +0 -1
  1069. package/esm/rules/string/email.js +0 -13
  1070. package/esm/rules/string/email.js.map +0 -1
  1071. package/esm/rules/string/index.d.ts +0 -17
  1072. package/esm/rules/string/index.d.ts.map +0 -1
  1073. package/esm/rules/string/ip.d.ts +0 -14
  1074. package/esm/rules/string/ip.d.ts.map +0 -1
  1075. package/esm/rules/string/ip.js +0 -39
  1076. package/esm/rules/string/ip.js.map +0 -1
  1077. package/esm/rules/string/matches.d.ts +0 -8
  1078. package/esm/rules/string/matches.d.ts.map +0 -1
  1079. package/esm/rules/string/matches.js +0 -15
  1080. package/esm/rules/string/matches.js.map +0 -1
  1081. package/esm/rules/string/pattern.d.ts +0 -8
  1082. package/esm/rules/string/pattern.d.ts.map +0 -1
  1083. package/esm/rules/string/pattern.js +0 -14
  1084. package/esm/rules/string/pattern.js.map +0 -1
  1085. package/esm/rules/string/string-comparison.d.ts +0 -26
  1086. package/esm/rules/string/string-comparison.d.ts.map +0 -1
  1087. package/esm/rules/string/string-comparison.js +0 -56
  1088. package/esm/rules/string/string-comparison.js.map +0 -1
  1089. package/esm/rules/string/strong-password-rule.d.ts +0 -14
  1090. package/esm/rules/string/strong-password-rule.d.ts.map +0 -1
  1091. package/esm/rules/string/strong-password-rule.js +0 -38
  1092. package/esm/rules/string/strong-password-rule.js.map +0 -1
  1093. package/esm/rules/string/url.d.ts +0 -6
  1094. package/esm/rules/string/url.d.ts.map +0 -1
  1095. package/esm/rules/string/url.js +0 -16
  1096. package/esm/rules/string/url.js.map +0 -1
  1097. package/esm/rules/string/without-whitespace.d.ts +0 -6
  1098. package/esm/rules/string/without-whitespace.d.ts.map +0 -1
  1099. package/esm/rules/string/without-whitespace.js +0 -13
  1100. package/esm/rules/string/without-whitespace.js.map +0 -1
  1101. package/esm/standard-schema/index.d.ts +0 -4
  1102. package/esm/standard-schema/index.d.ts.map +0 -1
  1103. package/esm/standard-schema/json-schema.d.ts +0 -61
  1104. package/esm/standard-schema/json-schema.d.ts.map +0 -1
  1105. package/esm/standard-schema/json-schema.js +0 -85
  1106. package/esm/standard-schema/json-schema.js.map +0 -1
  1107. package/esm/standard-schema/map-result.d.ts +0 -18
  1108. package/esm/standard-schema/map-result.d.ts.map +0 -1
  1109. package/esm/standard-schema/map-result.js +0 -27
  1110. package/esm/standard-schema/map-result.js.map +0 -1
  1111. package/esm/standard-schema/types.d.ts +0 -93
  1112. package/esm/standard-schema/types.d.ts.map +0 -1
  1113. package/esm/types/conditional-types.d.ts +0 -15
  1114. package/esm/types/conditional-types.d.ts.map +0 -1
  1115. package/esm/types/context-types.d.ts +0 -47
  1116. package/esm/types/context-types.d.ts.map +0 -1
  1117. package/esm/types/data-transformer-types.d.ts +0 -25
  1118. package/esm/types/data-transformer-types.d.ts.map +0 -1
  1119. package/esm/types/date-types.d.ts +0 -9
  1120. package/esm/types/date-types.d.ts.map +0 -1
  1121. package/esm/types/date-types.js +0 -12
  1122. package/esm/types/date-types.js.map +0 -1
  1123. package/esm/types/file.types.d.ts +0 -5
  1124. package/esm/types/file.types.d.ts.map +0 -1
  1125. package/esm/types/index.d.ts +0 -11
  1126. package/esm/types/index.d.ts.map +0 -1
  1127. package/esm/types/inference-types.d.ts +0 -32
  1128. package/esm/types/inference-types.d.ts.map +0 -1
  1129. package/esm/types/mutator-types.d.ts +0 -27
  1130. package/esm/types/mutator-types.d.ts.map +0 -1
  1131. package/esm/types/result-types.d.ts +0 -19
  1132. package/esm/types/result-types.d.ts.map +0 -1
  1133. package/esm/types/rule-types.d.ts +0 -58
  1134. package/esm/types/rule-types.d.ts.map +0 -1
  1135. package/esm/types/schema-types.d.ts +0 -6
  1136. package/esm/types/schema-types.d.ts.map +0 -1
  1137. package/esm/validators/any-validator.d.ts +0 -29
  1138. package/esm/validators/any-validator.d.ts.map +0 -1
  1139. package/esm/validators/any-validator.js +0 -31
  1140. package/esm/validators/any-validator.js.map +0 -1
  1141. package/esm/validators/array-validator.d.ts +0 -72
  1142. package/esm/validators/array-validator.d.ts.map +0 -1
  1143. package/esm/validators/array-validator.js +0 -162
  1144. package/esm/validators/array-validator.js.map +0 -1
  1145. package/esm/validators/base-validator.d.ts +0 -425
  1146. package/esm/validators/base-validator.d.ts.map +0 -1
  1147. package/esm/validators/base-validator.js +0 -637
  1148. package/esm/validators/base-validator.js.map +0 -1
  1149. package/esm/validators/boolean-validator.d.ts +0 -67
  1150. package/esm/validators/boolean-validator.d.ts.map +0 -1
  1151. package/esm/validators/boolean-validator.js +0 -105
  1152. package/esm/validators/boolean-validator.js.map +0 -1
  1153. package/esm/validators/computed-validator.d.ts +0 -75
  1154. package/esm/validators/computed-validator.d.ts.map +0 -1
  1155. package/esm/validators/computed-validator.js +0 -124
  1156. package/esm/validators/computed-validator.js.map +0 -1
  1157. package/esm/validators/date-validator.d.ts +0 -330
  1158. package/esm/validators/date-validator.d.ts.map +0 -1
  1159. package/esm/validators/date-validator.js +0 -614
  1160. package/esm/validators/date-validator.js.map +0 -1
  1161. package/esm/validators/float-validator.d.ts +0 -8
  1162. package/esm/validators/float-validator.d.ts.map +0 -1
  1163. package/esm/validators/float-validator.js +0 -9
  1164. package/esm/validators/float-validator.js.map +0 -1
  1165. package/esm/validators/index.d.ts +0 -31
  1166. package/esm/validators/index.d.ts.map +0 -1
  1167. package/esm/validators/int-validator.d.ts +0 -19
  1168. package/esm/validators/int-validator.d.ts.map +0 -1
  1169. package/esm/validators/int-validator.js +0 -21
  1170. package/esm/validators/int-validator.js.map +0 -1
  1171. package/esm/validators/managed-validator.d.ts +0 -38
  1172. package/esm/validators/managed-validator.d.ts.map +0 -1
  1173. package/esm/validators/managed-validator.js +0 -34
  1174. package/esm/validators/managed-validator.js.map +0 -1
  1175. package/esm/validators/methods/equality-conditional-methods.d.ts +0 -88
  1176. package/esm/validators/methods/equality-conditional-methods.d.ts.map +0 -1
  1177. package/esm/validators/methods/equality-conditional-methods.js +0 -118
  1178. package/esm/validators/methods/equality-conditional-methods.js.map +0 -1
  1179. package/esm/validators/methods/forbidden-methods.d.ts +0 -58
  1180. package/esm/validators/methods/forbidden-methods.d.ts.map +0 -1
  1181. package/esm/validators/methods/forbidden-methods.js +0 -122
  1182. package/esm/validators/methods/forbidden-methods.js.map +0 -1
  1183. package/esm/validators/methods/present-methods.d.ts +0 -102
  1184. package/esm/validators/methods/present-methods.d.ts.map +0 -1
  1185. package/esm/validators/methods/present-methods.js +0 -229
  1186. package/esm/validators/methods/present-methods.js.map +0 -1
  1187. package/esm/validators/methods/required-methods.d.ts +0 -174
  1188. package/esm/validators/methods/required-methods.d.ts.map +0 -1
  1189. package/esm/validators/methods/required-methods.js +0 -246
  1190. package/esm/validators/methods/required-methods.js.map +0 -1
  1191. package/esm/validators/number-validator.d.ts +0 -166
  1192. package/esm/validators/number-validator.d.ts.map +0 -1
  1193. package/esm/validators/number-validator.js +0 -307
  1194. package/esm/validators/number-validator.js.map +0 -1
  1195. package/esm/validators/numeric-validator.d.ts +0 -15
  1196. package/esm/validators/numeric-validator.d.ts.map +0 -1
  1197. package/esm/validators/numeric-validator.js +0 -18
  1198. package/esm/validators/numeric-validator.js.map +0 -1
  1199. package/esm/validators/object-validator.d.ts +0 -233
  1200. package/esm/validators/object-validator.d.ts.map +0 -1
  1201. package/esm/validators/object-validator.js +0 -517
  1202. package/esm/validators/object-validator.js.map +0 -1
  1203. package/esm/validators/primitive-validator.d.ts +0 -70
  1204. package/esm/validators/primitive-validator.d.ts.map +0 -1
  1205. package/esm/validators/primitive-validator.js +0 -80
  1206. package/esm/validators/primitive-validator.js.map +0 -1
  1207. package/esm/validators/record-validator.d.ts +0 -54
  1208. package/esm/validators/record-validator.d.ts.map +0 -1
  1209. package/esm/validators/record-validator.js +0 -100
  1210. package/esm/validators/record-validator.js.map +0 -1
  1211. package/esm/validators/scalar-validator.d.ts +0 -93
  1212. package/esm/validators/scalar-validator.d.ts.map +0 -1
  1213. package/esm/validators/scalar-validator.js +0 -149
  1214. package/esm/validators/scalar-validator.js.map +0 -1
  1215. package/esm/validators/string-validator.d.ts +0 -189
  1216. package/esm/validators/string-validator.d.ts.map +0 -1
  1217. package/esm/validators/string-validator.js +0 -387
  1218. package/esm/validators/string-validator.js.map +0 -1
  1219. package/esm/validators/tuple-validator.d.ts +0 -56
  1220. package/esm/validators/tuple-validator.d.ts.map +0 -1
  1221. package/esm/validators/tuple-validator.js +0 -121
  1222. package/esm/validators/tuple-validator.js.map +0 -1
  1223. package/esm/validators/union-validator.d.ts +0 -55
  1224. package/esm/validators/union-validator.d.ts.map +0 -1
  1225. package/esm/validators/union-validator.js +0 -60
  1226. package/esm/validators/union-validator.js.map +0 -1
@@ -0,0 +1,253 @@
1
+ import { JsonSchemaResult, JsonSchemaTarget } from "../standard-schema/json-schema.mjs";
2
+ import { Schema } from "../types/schema-types.mjs";
3
+ import { SchemaContext } from "../types/context-types.mjs";
4
+ import { ValidationResult } from "../types/result-types.mjs";
5
+ import { InferInputObjectShape, InferOutputObjectShape } from "../types/inference-types.mjs";
6
+ import { BaseValidator } from "./base-validator.mjs";
7
+
8
+ //#region ../../@warlock.js/seal/src/validators/object-validator.d.ts
9
+ /**
10
+ * Object validator class with generic schema type for proper type inference.
11
+ *
12
+ * Threads two distinct inferred shapes into `BaseValidator`'s `TInput`/`TOutput`:
13
+ *
14
+ * - `TInput` = `InferInputObjectShape<TSchema>` — what `~standard.validate()`
15
+ * accepts (caller's pre-validation payload; defaults/catches make
16
+ * keys optional)
17
+ * - `TOutput` = `InferOutputObjectShape<TSchema>` — what `~standard.validate()`
18
+ * returns on success (post-default, post-catch shape; guaranteed
19
+ * keys are required)
20
+ *
21
+ * Both helpers are used directly (not the full `Infer.*` walker) to avoid a
22
+ * recursive class-base evaluation that would otherwise occur when the
23
+ * brand-aware widening tries to inspect the class type.
24
+ */
25
+ declare class ObjectValidator<TSchema extends Schema = Schema> extends BaseValidator<InferInputObjectShape<TSchema>, InferOutputObjectShape<TSchema>> {
26
+ schema: TSchema;
27
+ protected shouldAllowUnknown: boolean;
28
+ protected allowedKeys: string[];
29
+ protected hasUnknownKeyRule: boolean;
30
+ constructor(schema: TSchema, errorMessage?: string);
31
+ /**
32
+ * Check if value is an object type (plain object, not array or date)
33
+ */
34
+ matchesType(value: any): boolean;
35
+ /** Strip unknown keys from the data */
36
+ stripUnknown(): this;
37
+ /** Add list of allowed keys that could be in the data but not necessarily validated */
38
+ allow(...keys: string[]): this;
39
+ /** Trim values of the object properties */
40
+ trim(recursive?: boolean): this;
41
+ /** Whether to allow unknown properties
42
+ * Please note it will allow only unknown direct children keys, not nested children keys
43
+ */
44
+ allowUnknown(allow?: boolean): this;
45
+ /**
46
+ * Create a copy of this object validator with the same configuration
47
+ * Copies schema, rules, mutators, transformers, and object-specific settings
48
+ *
49
+ * @returns A new ObjectValidator instance with copied configuration
50
+ *
51
+ * @example
52
+ * ```ts
53
+ * const baseUser = v.object({ name: v.string() }).allowUnknown();
54
+ * const userCopy = baseUser.clone();
55
+ * // userCopy has the same schema and allowUnknown setting
56
+ * ```
57
+ */
58
+ clone(keys?: string[]): this;
59
+ /**
60
+ * Extend this schema with additional fields
61
+ * Clones the current validator and adds new fields to the schema
62
+ * **Keeps original configuration** (allowUnknown, stripUnknown, etc.)
63
+ *
64
+ * If an ObjectValidator is provided, only its schema is used - its configuration is ignored.
65
+ * This is useful for creating reusable field collections that can be added to different schemas.
66
+ *
67
+ * @param schemaOrValidator - Plain schema object or ObjectValidator to extend with
68
+ * @returns A new ObjectValidator with merged schema and original configuration
69
+ *
70
+ * @example
71
+ * ```ts
72
+ * // Extend with plain schema
73
+ * const baseUser = v.object({
74
+ * name: v.string().required(),
75
+ * email: v.string().email().required()
76
+ * }).allowUnknown();
77
+ *
78
+ * const adminUser = baseUser.extend({
79
+ * role: v.string().in(['admin', 'superadmin']).required()
80
+ * });
81
+ * // adminUser has: name, email, role
82
+ * // adminUser keeps: allowUnknown() from base ✅
83
+ *
84
+ * // Extend with ObjectValidator (only schema is used)
85
+ * const auditFields = v.object({
86
+ * createdAt: v.date().required(),
87
+ * updatedAt: v.date().required()
88
+ * }).stripUnknown(); // This config is ignored!
89
+ *
90
+ * const fullUser = baseUser.extend(auditFields);
91
+ * // fullUser has: name, email, createdAt, updatedAt
92
+ * // fullUser keeps: allowUnknown() from base (NOT stripUnknown from auditFields) ✅
93
+ *
94
+ * // Chain multiple extends
95
+ * const complexSchema = baseUser
96
+ * .extend(auditFields)
97
+ * .extend({ metadata: v.object({}) });
98
+ * ```
99
+ */
100
+ extend<TExtension extends Schema>(schemaOrValidator: TExtension | ObjectValidator<TExtension>): ObjectValidator<TSchema & TExtension>;
101
+ /**
102
+ * Merge with another ObjectValidator
103
+ * Clones current validator, merges schemas, and **overrides configuration** with other validator's config
104
+ *
105
+ * Unlike extend(), merge() combines both schemas AND configurations.
106
+ * The other validator's configuration (allowUnknown, stripUnknown, etc.) takes precedence.
107
+ *
108
+ * @param validator - Another ObjectValidator to merge with
109
+ * @returns A new ObjectValidator with merged schema and configuration
110
+ *
111
+ * @example
112
+ * ```ts
113
+ * const baseUser = v.object({
114
+ * name: v.string().required()
115
+ * }).allowUnknown();
116
+ *
117
+ * const timestamps = v.object({
118
+ * createdAt: v.date().required(),
119
+ * updatedAt: v.date().required()
120
+ * }).stripUnknown();
121
+ *
122
+ * const merged = baseUser.merge(timestamps);
123
+ * // merged has: name, createdAt, updatedAt
124
+ * // merged config: stripUnknown() from timestamps (overrides allowUnknown) ✅
125
+ *
126
+ * // Chain multiple merges
127
+ * const full = baseUser.merge(timestamps).merge(softDeleteSchema);
128
+ * ```
129
+ */
130
+ merge<TMerge extends Schema>(validator: ObjectValidator<TMerge>): ObjectValidator<TSchema & TMerge>;
131
+ /**
132
+ * Create a new schema with only the specified fields
133
+ * Clones the current validator and keeps only the selected fields
134
+ * **Preserves all configuration** (allowUnknown, stripUnknown, etc.)
135
+ *
136
+ * @param keys - Field names to keep in the schema
137
+ * @returns A new ObjectValidator with only the picked fields
138
+ *
139
+ * @example
140
+ * ```ts
141
+ * const fullUser = v.object({
142
+ * id: v.int().required(),
143
+ * name: v.string().required(),
144
+ * email: v.string().email().required(),
145
+ * password: v.string().required(),
146
+ * role: v.string()
147
+ * }).allowUnknown();
148
+ *
149
+ * // For login - only need email and password
150
+ * const loginSchema = fullUser.pick('email', 'password');
151
+ * // loginSchema has: { email, password }
152
+ * // loginSchema keeps: allowUnknown() ✅
153
+ *
154
+ * // For public profile
155
+ * const publicSchema = fullUser.pick('id', 'name', 'role');
156
+ * // publicSchema has: { id, name, role }
157
+ * ```
158
+ */
159
+ pick<K extends keyof TSchema>(...keys: K[]): ObjectValidator<Pick<TSchema, K>>;
160
+ /**
161
+ * Mark all or the given schema fields as optional
162
+ */
163
+ partial<K extends keyof TSchema>(...keys: K[]): this;
164
+ /**
165
+ * Make the all or the given fields as required
166
+ */
167
+ requiredFields<K extends keyof TSchema>(...keys: K[]): this;
168
+ /**
169
+ * Create a new schema excluding the specified fields
170
+ * Clones the current validator and removes the specified fields
171
+ * **Preserves all configuration** (allowUnknown, stripUnknown, etc.)
172
+ *
173
+ * @param keys - Field names to exclude from the schema
174
+ * @returns A new ObjectValidator without the excluded fields
175
+ *
176
+ * @example
177
+ * ```ts
178
+ * const fullUser = v.object({
179
+ * id: v.int().required(),
180
+ * name: v.string().required(),
181
+ * email: v.string().email().required(),
182
+ * password: v.string().required(),
183
+ * role: v.string()
184
+ * }).allowUnknown();
185
+ *
186
+ * // For updates - exclude id
187
+ * const updateSchema = fullUser.without('id');
188
+ * // updateSchema has: { name, email, password, role }
189
+ * // updateSchema keeps: allowUnknown() ✅
190
+ *
191
+ * // For public API - exclude sensitive fields
192
+ * const publicSchema = fullUser.without('password', 'role');
193
+ * // publicSchema has: { id, name, email }
194
+ *
195
+ * // Combine with other methods
196
+ * const patchSchema = fullUser.without('id', 'password');
197
+ * // patchSchema has: { name, email, role }
198
+ * ```
199
+ */
200
+ without<K extends keyof TSchema>(...keys: K[]): ObjectValidator<Omit<TSchema, K>>;
201
+ /** Mutate the data */
202
+ mutate(data: any, context: SchemaContext): any;
203
+ /** Validate the data */
204
+ validate(data: any, context?: SchemaContext): Promise<ValidationResult>;
205
+ /**
206
+ * Check if a validator is a computed or managed field
207
+ * ManagedValidator extends ComputedValidator, so instanceof catches both
208
+ */
209
+ private isComputedValidator;
210
+ /**
211
+ * Get all computed/managed fields from the schema
212
+ */
213
+ private getComputedFields;
214
+ /**
215
+ * @inheritdoc
216
+ *
217
+ * Recursively generates JSON Schema for all input fields in the schema.
218
+ * Computed/managed fields are skipped — they have no input representation.
219
+ *
220
+ * **Standard targets** (`draft-2020-12`, `draft-07`, `openapi-3.0`):
221
+ * - Fields marked `.optional()` are excluded from `required`.
222
+ *
223
+ * **`openai-strict` target** (OpenAI Structured Outputs):
224
+ * - ALL fields appear in `required` — OpenAI rejects schemas with optional fields.
225
+ * - Optional fields are instead expressed as nullable types:
226
+ * `{ type: ["string", "null"] }` so the model can output `null` for them.
227
+ * - Recursively applies `openai-strict` to all nested objects.
228
+ *
229
+ * @example
230
+ * ```ts
231
+ * v.object({
232
+ * name: v.string().required(),
233
+ * age: v.int().optional(),
234
+ * }).toJsonSchema("draft-2020-12")
235
+ * // → { type: "object",
236
+ * // properties: { name: { type: "string" }, age: { type: "integer" } },
237
+ * // required: ["name"], additionalProperties: false }
238
+ *
239
+ * v.object({
240
+ * name: v.string().required(),
241
+ * age: v.int().optional(),
242
+ * }).toJsonSchema("openai-strict")
243
+ * // → { type: "object",
244
+ * // properties: { name: { type: "string" }, age: { type: ["integer", "null"] } },
245
+ * // required: ["name", "age"], ← all fields
246
+ * // additionalProperties: false }
247
+ * ```
248
+ */
249
+ toJsonSchema(target?: JsonSchemaTarget): JsonSchemaResult;
250
+ }
251
+ //#endregion
252
+ export { ObjectValidator };
253
+ //# sourceMappingURL=object-validator.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-validator.d.mts","names":[],"sources":["../../../../../../@warlock.js/seal/src/validators/object-validator.ts"],"mappings":";;;;;;;;;;;;AA+BA;;;;;;;;;;;;cAAa,eAAA,iBAAgC,MAAA,GAAS,MAAA,UAAgB,aAAA,CACpE,qBAAA,CAAsB,OAAA,GACtB,sBAAA,CAAuB,OAAA;EAOd,MAAA,EAAQ,OAAA;EAAA,UALP,kBAAA;EAAA,UACA,WAAA;EAAA,UACA,iBAAA;cAGD,MAAA,EAAQ,OAAA,EACf,YAAA;EAyK0B;;;EAhKrB,WAAA,CAAY,KAAA;EAkKU;EA7JtB,YAAA,CAAA;EAyNqB;EA/MrB,KAAA,CAAA,GAAS,IAAA;EA+MyD;EAxMlE,IAAA,CAAK,SAAA;EAwMwD;;;EAhM7D,YAAA,CAAa,KAAA;EAqOkB;;;;;;;;;;;;;EAlNtB,KAAA,CAAM,IAAA;EApE8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoI7D,MAAA,oBAA0B,MAAA,CAAA,CAC/B,iBAAA,EAAmB,UAAA,GAAa,eAAA,CAAgB,UAAA,IAC/C,eAAA,CAAgB,OAAA,GAAU,UAAA;EA6ChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAN,KAAA,gBAAqB,MAAA,CAAA,CAC1B,SAAA,EAAW,eAAA,CAAgB,MAAA,IAC1B,eAAA,CAAgB,OAAA,GAAU,MAAA;EA+Ic;;;;;;;;;;;;;;;;;;;;;;;AAiN+C;;;;;EApSnF,IAAA,iBAAqB,OAAA,CAAA,CAAA,GAAY,IAAA,EAAM,CAAA,KAAM,eAAA,CAAgB,IAAA,CAAK,OAAA,EAAS,CAAA;;;;EAoB3E,OAAA,iBAAwB,OAAA,CAAA,CAAA,GAAY,IAAA,EAAM,CAAA;;;;EAiB1C,cAAA,iBAA+B,OAAA,CAAA,CAAA,GAAY,IAAA,EAAM,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8CjD,OAAA,iBAAwB,OAAA,CAAA,CAAA,GAAY,IAAA,EAAM,CAAA,KAAM,eAAA,CAAgB,IAAA,CAAK,OAAA,EAAS,CAAA;;EAkB9E,MAAA,CAAO,IAAA,OAAW,OAAA,EAAS,aAAA;;EAMrB,QAAA,CACX,IAAA,OACA,OAAA,GAAS,aAAA,GACR,OAAA,CAAQ,gBAAA;;;;;UAgIH,mBAAA;;;;UAOA,iBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CQ,YAAA,CAAa,MAAA,GAAQ,gBAAA,GAAqC,gBAAA;AAAA"}
@@ -0,0 +1,440 @@
1
+ import { applyNullable, wrapNullableStrict } from "../standard-schema/json-schema.mjs";
2
+ import { setKeyPath } from "../helpers/path-helpers.mjs";
3
+ import "../helpers/index.mjs";
4
+ import { BaseValidator } from "./base-validator.mjs";
5
+ import { objectTrimMutator, stripUnknownMutator } from "../mutators/object-mutators.mjs";
6
+ import "../mutators/index.mjs";
7
+ import { objectRule } from "../rules/common/type-rules.mjs";
8
+ import { unknownKeyRule } from "../rules/common/unknown-key.mjs";
9
+ import "../rules/index.mjs";
10
+ import { ComputedValidator } from "./computed-validator.mjs";
11
+ import { except } from "@mongez/reinforcements";
12
+ import { isPlainObject } from "@mongez/supportive-is";
13
+
14
+ //#region ../../@warlock.js/seal/src/validators/object-validator.ts
15
+ /**
16
+ * Object validator class with generic schema type for proper type inference.
17
+ *
18
+ * Threads two distinct inferred shapes into `BaseValidator`'s `TInput`/`TOutput`:
19
+ *
20
+ * - `TInput` = `InferInputObjectShape<TSchema>` — what `~standard.validate()`
21
+ * accepts (caller's pre-validation payload; defaults/catches make
22
+ * keys optional)
23
+ * - `TOutput` = `InferOutputObjectShape<TSchema>` — what `~standard.validate()`
24
+ * returns on success (post-default, post-catch shape; guaranteed
25
+ * keys are required)
26
+ *
27
+ * Both helpers are used directly (not the full `Infer.*` walker) to avoid a
28
+ * recursive class-base evaluation that would otherwise occur when the
29
+ * brand-aware widening tries to inspect the class type.
30
+ */
31
+ var ObjectValidator = class ObjectValidator extends BaseValidator {
32
+ constructor(schema, errorMessage) {
33
+ super();
34
+ this.schema = schema;
35
+ this.shouldAllowUnknown = false;
36
+ this.allowedKeys = [];
37
+ this.hasUnknownKeyRule = false;
38
+ this.addMutableRule(objectRule, errorMessage);
39
+ }
40
+ /**
41
+ * Check if value is an object type (plain object, not array or date)
42
+ */
43
+ matchesType(value) {
44
+ return isPlainObject(value);
45
+ }
46
+ /** Strip unknown keys from the data */
47
+ stripUnknown() {
48
+ const validator = this.instance;
49
+ return validator.addMutator(stripUnknownMutator, { get allowedKeys() {
50
+ return validator.allowedKeys;
51
+ } });
52
+ }
53
+ /** Add list of allowed keys that could be in the data but not necessarily validated */
54
+ allow(...keys) {
55
+ const validator = this.instance;
56
+ validator.allowedKeys.push(...keys);
57
+ return validator;
58
+ }
59
+ /** Trim values of the object properties */
60
+ trim(recursive = true) {
61
+ return this.instance.addMutator(objectTrimMutator, { recursive });
62
+ }
63
+ /** Whether to allow unknown properties
64
+ * Please note it will allow only unknown direct children keys, not nested children keys
65
+ */
66
+ allowUnknown(allow = true) {
67
+ const validator = this.instance;
68
+ validator.shouldAllowUnknown = allow;
69
+ return validator;
70
+ }
71
+ /**
72
+ * Create a copy of this object validator with the same configuration
73
+ * Copies schema, rules, mutators, transformers, and object-specific settings
74
+ *
75
+ * @returns A new ObjectValidator instance with copied configuration
76
+ *
77
+ * @example
78
+ * ```ts
79
+ * const baseUser = v.object({ name: v.string() }).allowUnknown();
80
+ * const userCopy = baseUser.clone();
81
+ * // userCopy has the same schema and allowUnknown setting
82
+ * ```
83
+ */
84
+ clone(keys) {
85
+ const cloned = super.clone();
86
+ const newSchema = {};
87
+ for (const key in this.schema) {
88
+ if (keys && !keys.includes(key)) continue;
89
+ newSchema[key] = this.schema[key].clone();
90
+ }
91
+ cloned.schema = newSchema;
92
+ cloned.shouldAllowUnknown = this.shouldAllowUnknown;
93
+ cloned.allowedKeys = [...this.allowedKeys];
94
+ return cloned;
95
+ }
96
+ /**
97
+ * Extend this schema with additional fields
98
+ * Clones the current validator and adds new fields to the schema
99
+ * **Keeps original configuration** (allowUnknown, stripUnknown, etc.)
100
+ *
101
+ * If an ObjectValidator is provided, only its schema is used - its configuration is ignored.
102
+ * This is useful for creating reusable field collections that can be added to different schemas.
103
+ *
104
+ * @param schemaOrValidator - Plain schema object or ObjectValidator to extend with
105
+ * @returns A new ObjectValidator with merged schema and original configuration
106
+ *
107
+ * @example
108
+ * ```ts
109
+ * // Extend with plain schema
110
+ * const baseUser = v.object({
111
+ * name: v.string().required(),
112
+ * email: v.string().email().required()
113
+ * }).allowUnknown();
114
+ *
115
+ * const adminUser = baseUser.extend({
116
+ * role: v.string().in(['admin', 'superadmin']).required()
117
+ * });
118
+ * // adminUser has: name, email, role
119
+ * // adminUser keeps: allowUnknown() from base ✅
120
+ *
121
+ * // Extend with ObjectValidator (only schema is used)
122
+ * const auditFields = v.object({
123
+ * createdAt: v.date().required(),
124
+ * updatedAt: v.date().required()
125
+ * }).stripUnknown(); // This config is ignored!
126
+ *
127
+ * const fullUser = baseUser.extend(auditFields);
128
+ * // fullUser has: name, email, createdAt, updatedAt
129
+ * // fullUser keeps: allowUnknown() from base (NOT stripUnknown from auditFields) ✅
130
+ *
131
+ * // Chain multiple extends
132
+ * const complexSchema = baseUser
133
+ * .extend(auditFields)
134
+ * .extend({ metadata: v.object({}) });
135
+ * ```
136
+ */
137
+ extend(schemaOrValidator) {
138
+ const extended = this.clone();
139
+ const schemaToAdd = schemaOrValidator instanceof ObjectValidator ? schemaOrValidator.schema : schemaOrValidator;
140
+ for (const key in schemaToAdd) extended.schema[key] = schemaToAdd[key].clone();
141
+ return extended;
142
+ }
143
+ /**
144
+ * Merge with another ObjectValidator
145
+ * Clones current validator, merges schemas, and **overrides configuration** with other validator's config
146
+ *
147
+ * Unlike extend(), merge() combines both schemas AND configurations.
148
+ * The other validator's configuration (allowUnknown, stripUnknown, etc.) takes precedence.
149
+ *
150
+ * @param validator - Another ObjectValidator to merge with
151
+ * @returns A new ObjectValidator with merged schema and configuration
152
+ *
153
+ * @example
154
+ * ```ts
155
+ * const baseUser = v.object({
156
+ * name: v.string().required()
157
+ * }).allowUnknown();
158
+ *
159
+ * const timestamps = v.object({
160
+ * createdAt: v.date().required(),
161
+ * updatedAt: v.date().required()
162
+ * }).stripUnknown();
163
+ *
164
+ * const merged = baseUser.merge(timestamps);
165
+ * // merged has: name, createdAt, updatedAt
166
+ * // merged config: stripUnknown() from timestamps (overrides allowUnknown) ✅
167
+ *
168
+ * // Chain multiple merges
169
+ * const full = baseUser.merge(timestamps).merge(softDeleteSchema);
170
+ * ```
171
+ */
172
+ merge(validator) {
173
+ const merged = this.clone();
174
+ for (const key in validator.schema) merged.schema[key] = validator.schema[key].clone();
175
+ merged.shouldAllowUnknown = validator.shouldAllowUnknown;
176
+ merged.allowedKeys = [...merged.allowedKeys, ...validator.allowedKeys];
177
+ merged.rules.push(...validator.rules);
178
+ merged.mutators.push(...validator.mutators);
179
+ merged.dataTransformers.push(...validator.dataTransformers);
180
+ merged.attributesText = {
181
+ ...merged.attributesText,
182
+ ...validator.attributesText
183
+ };
184
+ merged.translatedAttributes = {
185
+ ...merged.translatedAttributes,
186
+ ...validator.translatedAttributes
187
+ };
188
+ return merged;
189
+ }
190
+ /**
191
+ * Create a new schema with only the specified fields
192
+ * Clones the current validator and keeps only the selected fields
193
+ * **Preserves all configuration** (allowUnknown, stripUnknown, etc.)
194
+ *
195
+ * @param keys - Field names to keep in the schema
196
+ * @returns A new ObjectValidator with only the picked fields
197
+ *
198
+ * @example
199
+ * ```ts
200
+ * const fullUser = v.object({
201
+ * id: v.int().required(),
202
+ * name: v.string().required(),
203
+ * email: v.string().email().required(),
204
+ * password: v.string().required(),
205
+ * role: v.string()
206
+ * }).allowUnknown();
207
+ *
208
+ * // For login - only need email and password
209
+ * const loginSchema = fullUser.pick('email', 'password');
210
+ * // loginSchema has: { email, password }
211
+ * // loginSchema keeps: allowUnknown() ✅
212
+ *
213
+ * // For public profile
214
+ * const publicSchema = fullUser.pick('id', 'name', 'role');
215
+ * // publicSchema has: { id, name, role }
216
+ * ```
217
+ */
218
+ pick(...keys) {
219
+ const picked = this.clone();
220
+ const newSchema = {};
221
+ for (const key of keys) if (key in picked.schema) newSchema[key] = picked.schema[key];
222
+ picked.schema = newSchema;
223
+ return picked;
224
+ }
225
+ /**
226
+ * Mark all or the given schema fields as optional
227
+ */
228
+ partial(...keys) {
229
+ const validationSchema = this.clone();
230
+ if (keys.length === 0) keys = Object.keys(validationSchema.schema);
231
+ for (const key of keys) validationSchema.schema[key] = validationSchema.schema[key].optional();
232
+ return validationSchema;
233
+ }
234
+ /**
235
+ * Make the all or the given fields as required
236
+ */
237
+ requiredFields(...keys) {
238
+ const validationSchema = this.clone();
239
+ if (keys.length === 0) keys = Object.keys(validationSchema.schema);
240
+ for (const key of keys) validationSchema.schema[key] = validationSchema.schema[key].required();
241
+ return validationSchema;
242
+ }
243
+ /**
244
+ * Create a new schema excluding the specified fields
245
+ * Clones the current validator and removes the specified fields
246
+ * **Preserves all configuration** (allowUnknown, stripUnknown, etc.)
247
+ *
248
+ * @param keys - Field names to exclude from the schema
249
+ * @returns A new ObjectValidator without the excluded fields
250
+ *
251
+ * @example
252
+ * ```ts
253
+ * const fullUser = v.object({
254
+ * id: v.int().required(),
255
+ * name: v.string().required(),
256
+ * email: v.string().email().required(),
257
+ * password: v.string().required(),
258
+ * role: v.string()
259
+ * }).allowUnknown();
260
+ *
261
+ * // For updates - exclude id
262
+ * const updateSchema = fullUser.without('id');
263
+ * // updateSchema has: { name, email, password, role }
264
+ * // updateSchema keeps: allowUnknown() ✅
265
+ *
266
+ * // For public API - exclude sensitive fields
267
+ * const publicSchema = fullUser.without('password', 'role');
268
+ * // publicSchema has: { id, name, email }
269
+ *
270
+ * // Combine with other methods
271
+ * const patchSchema = fullUser.without('id', 'password');
272
+ * // patchSchema has: { name, email, role }
273
+ * ```
274
+ */
275
+ without(...keys) {
276
+ const filtered = this.clone();
277
+ const newSchema = {};
278
+ for (const key in filtered.schema) if (!keys.includes(key)) newSchema[key] = filtered.schema[key];
279
+ filtered.schema = newSchema;
280
+ return filtered;
281
+ }
282
+ /** Mutate the data */
283
+ mutate(data, context) {
284
+ if (!isPlainObject(data)) return data;
285
+ return super.mutate({ ...data }, context);
286
+ }
287
+ /** Validate the data */
288
+ async validate(data, context = { path: "" }) {
289
+ context.schema = this.schema;
290
+ const mutatedData = await this.mutate(data, context);
291
+ if (this.shouldAllowUnknown === false && !this.hasUnknownKeyRule) {
292
+ this.hasUnknownKeyRule = true;
293
+ const rule = this.addMutableRule(unknownKeyRule, void 0, {
294
+ allowedKeys: this.allowedKeys,
295
+ schema: this.schema
296
+ });
297
+ this.setRuleAttributesList(rule);
298
+ }
299
+ const result = await super.validate(mutatedData, context);
300
+ if (result.isValid === false) return result;
301
+ if (data === void 0) return result;
302
+ const errors = [];
303
+ const validatedData = {};
304
+ const validationPromises = Object.keys(this.schema).filter((key) => !this.isComputedValidator(this.schema[key])).map(async (key) => {
305
+ const validator = this.schema[key];
306
+ const value = mutatedData?.[key] !== void 0 ? mutatedData[key] : validator.getDefaultValue();
307
+ const childContext = {
308
+ ...context,
309
+ parent: mutatedData,
310
+ value,
311
+ key,
312
+ path: setKeyPath(context.path, key)
313
+ };
314
+ const childResult = await validator.validate(value, childContext);
315
+ if (childResult.data !== void 0 && !validator.isOmitted()) validatedData[key] = childResult.data;
316
+ if (childResult.isValid === false) errors.push(...childResult.errors);
317
+ });
318
+ await Promise.all(validationPromises);
319
+ if (errors.length > 0) return {
320
+ isValid: false,
321
+ errors,
322
+ data: void 0
323
+ };
324
+ const computedFields = this.getComputedFields();
325
+ const computedPromises = Object.keys(computedFields).map(async (key) => {
326
+ const validator = computedFields[key];
327
+ const childContext = {
328
+ ...context,
329
+ parent: validatedData,
330
+ value: void 0
331
+ };
332
+ const childResult = await validator.validate(validatedData, childContext);
333
+ if (childResult.data !== void 0 && !validator.isOmitted()) validatedData[key] = childResult.data;
334
+ if (childResult.isValid === false) errors.push(...childResult.errors);
335
+ });
336
+ await Promise.all(computedPromises);
337
+ if (errors.length > 0) return {
338
+ isValid: false,
339
+ errors,
340
+ data: void 0
341
+ };
342
+ const cleanedData = removeUndefinedValues(validatedData);
343
+ const transformedData = await this.startTransformationPipeline(cleanedData, context);
344
+ return {
345
+ isValid: true,
346
+ errors: [],
347
+ data: this.shouldAllowUnknown === false ? transformedData : {
348
+ ...transformedData,
349
+ ...except(mutatedData, Object.keys(this.schema))
350
+ }
351
+ };
352
+ }
353
+ /**
354
+ * Check if a validator is a computed or managed field
355
+ * ManagedValidator extends ComputedValidator, so instanceof catches both
356
+ */
357
+ isComputedValidator(validator) {
358
+ return validator instanceof ComputedValidator;
359
+ }
360
+ /**
361
+ * Get all computed/managed fields from the schema
362
+ */
363
+ getComputedFields() {
364
+ const computed = {};
365
+ for (const [key, validator] of Object.entries(this.schema)) if (validator instanceof ComputedValidator) computed[key] = validator;
366
+ return computed;
367
+ }
368
+ /**
369
+ * @inheritdoc
370
+ *
371
+ * Recursively generates JSON Schema for all input fields in the schema.
372
+ * Computed/managed fields are skipped — they have no input representation.
373
+ *
374
+ * **Standard targets** (`draft-2020-12`, `draft-07`, `openapi-3.0`):
375
+ * - Fields marked `.optional()` are excluded from `required`.
376
+ *
377
+ * **`openai-strict` target** (OpenAI Structured Outputs):
378
+ * - ALL fields appear in `required` — OpenAI rejects schemas with optional fields.
379
+ * - Optional fields are instead expressed as nullable types:
380
+ * `{ type: ["string", "null"] }` so the model can output `null` for them.
381
+ * - Recursively applies `openai-strict` to all nested objects.
382
+ *
383
+ * @example
384
+ * ```ts
385
+ * v.object({
386
+ * name: v.string().required(),
387
+ * age: v.int().optional(),
388
+ * }).toJsonSchema("draft-2020-12")
389
+ * // → { type: "object",
390
+ * // properties: { name: { type: "string" }, age: { type: "integer" } },
391
+ * // required: ["name"], additionalProperties: false }
392
+ *
393
+ * v.object({
394
+ * name: v.string().required(),
395
+ * age: v.int().optional(),
396
+ * }).toJsonSchema("openai-strict")
397
+ * // → { type: "object",
398
+ * // properties: { name: { type: "string" }, age: { type: ["integer", "null"] } },
399
+ * // required: ["name", "age"], ← all fields
400
+ * // additionalProperties: false }
401
+ * ```
402
+ */
403
+ toJsonSchema(target = "draft-2020-12") {
404
+ const properties = {};
405
+ const required = [];
406
+ const isOpenAIStrict = target === "openai-strict";
407
+ for (const [key, validator] of Object.entries(this.schema)) {
408
+ if (validator instanceof ComputedValidator) continue;
409
+ let fieldSchema = validator.toJsonSchema(target);
410
+ if (isOpenAIStrict) {
411
+ if (validator.isOptional) fieldSchema = wrapNullableStrict(fieldSchema);
412
+ required.push(key);
413
+ } else if (!validator.isOptional) required.push(key);
414
+ properties[key] = fieldSchema;
415
+ }
416
+ const schema = {
417
+ type: "object",
418
+ properties
419
+ };
420
+ if (required.length > 0) schema.required = required;
421
+ if (!this.shouldAllowUnknown) schema.additionalProperties = false;
422
+ if (this.isNullable) applyNullable(schema, target);
423
+ return schema;
424
+ }
425
+ };
426
+ /** Recursively remove undefined values from an object */
427
+ function removeUndefinedValues(obj, visited = /* @__PURE__ */ new WeakMap()) {
428
+ if (obj === null) return obj;
429
+ if (Array.isArray(obj)) return obj.map((item) => removeUndefinedValues(item, visited));
430
+ if (!isPlainObject(obj)) return obj;
431
+ if (visited.has(obj)) return visited.get(obj);
432
+ const result = {};
433
+ visited.set(obj, result);
434
+ for (const [key, value] of Object.entries(obj)) if (value !== void 0) result[key] = removeUndefinedValues(value, visited);
435
+ return result;
436
+ }
437
+
438
+ //#endregion
439
+ export { ObjectValidator };
440
+ //# sourceMappingURL=object-validator.mjs.map