@warlock.js/seal 5.29.0 → 5.30.0

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 (430) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +2 -0
  3. package/cjs/index.cjs +37 -30
  4. package/cjs/index.cjs.map +1 -1
  5. package/cjs/{object-DubGC-xu.cjs → object--LXRt5RF.cjs} +10 -8
  6. package/cjs/object--LXRt5RF.cjs.map +1 -0
  7. package/cjs/object.cjs +2 -2
  8. package/cjs/{required-methods-BOVNRtci.cjs → required-methods-DYsRO9aZ.cjs} +97 -68
  9. package/cjs/required-methods-DYsRO9aZ.cjs.map +1 -0
  10. package/cjs/{string-DpDpgefH.cjs → string-DsqnKoSB.cjs} +6 -6
  11. package/cjs/string-DsqnKoSB.cjs.map +1 -0
  12. package/cjs/string.cjs +2 -2
  13. package/esm/config.d.mts +2 -1
  14. package/esm/config.d.mts.map +1 -1
  15. package/esm/config.mjs +1 -1
  16. package/esm/config.mjs.map +1 -1
  17. package/esm/factory/validate.d.mts +9 -6
  18. package/esm/factory/validate.d.mts.map +1 -1
  19. package/esm/factory/validate.mjs +12 -4
  20. package/esm/factory/validate.mjs.map +1 -1
  21. package/esm/factory/validators.d.mts +5 -5
  22. package/esm/factory/validators.d.mts.map +1 -1
  23. package/esm/factory/validators.mjs +1 -1
  24. package/esm/factory/validators.mjs.map +1 -1
  25. package/esm/helpers/date-helpers.d.mts +1 -1
  26. package/esm/helpers/date-helpers.d.mts.map +1 -1
  27. package/esm/helpers/date-helpers.mjs +1 -1
  28. package/esm/helpers/date-helpers.mjs.map +1 -1
  29. package/esm/helpers/file.utils.d.mts +1 -1
  30. package/esm/helpers/file.utils.d.mts.map +1 -1
  31. package/esm/helpers/file.utils.mjs +1 -1
  32. package/esm/helpers/file.utils.mjs.map +1 -1
  33. package/esm/helpers/get-field-value.d.mts +2 -1
  34. package/esm/helpers/get-field-value.d.mts.map +1 -1
  35. package/esm/helpers/get-field-value.mjs +1 -1
  36. package/esm/helpers/get-field-value.mjs.map +1 -1
  37. package/esm/helpers/is-empty-value.mjs +1 -1
  38. package/esm/helpers/is-empty-value.mjs.map +1 -1
  39. package/esm/helpers/path-helpers.d.mts +1 -1
  40. package/esm/helpers/path-helpers.d.mts.map +1 -1
  41. package/esm/helpers/path-helpers.mjs +1 -1
  42. package/esm/helpers/path-helpers.mjs.map +1 -1
  43. package/esm/helpers/validation-helpers.d.mts +2 -1
  44. package/esm/helpers/validation-helpers.d.mts.map +1 -1
  45. package/esm/helpers/validation-helpers.mjs +1 -1
  46. package/esm/helpers/validation-helpers.mjs.map +1 -1
  47. package/esm/index.d.mts +3 -3
  48. package/esm/mutators/array-mutators.d.mts +2 -1
  49. package/esm/mutators/array-mutators.d.mts.map +1 -1
  50. package/esm/mutators/array-mutators.mjs +1 -1
  51. package/esm/mutators/array-mutators.mjs.map +1 -1
  52. package/esm/mutators/boolean-mutators.d.mts +2 -1
  53. package/esm/mutators/boolean-mutators.d.mts.map +1 -1
  54. package/esm/mutators/boolean-mutators.mjs +1 -1
  55. package/esm/mutators/boolean-mutators.mjs.map +1 -1
  56. package/esm/mutators/date-mutators.d.mts +2 -1
  57. package/esm/mutators/date-mutators.d.mts.map +1 -1
  58. package/esm/mutators/date-mutators.mjs +1 -1
  59. package/esm/mutators/date-mutators.mjs.map +1 -1
  60. package/esm/mutators/number-mutators.d.mts +2 -1
  61. package/esm/mutators/number-mutators.d.mts.map +1 -1
  62. package/esm/mutators/number-mutators.mjs +1 -1
  63. package/esm/mutators/number-mutators.mjs.map +1 -1
  64. package/esm/mutators/object-mutators.d.mts +2 -1
  65. package/esm/mutators/object-mutators.d.mts.map +1 -1
  66. package/esm/mutators/object-mutators.mjs +1 -1
  67. package/esm/mutators/object-mutators.mjs.map +1 -1
  68. package/esm/mutators/scalar-mutators.d.mts +2 -1
  69. package/esm/mutators/scalar-mutators.d.mts.map +1 -1
  70. package/esm/mutators/scalar-mutators.mjs +1 -1
  71. package/esm/mutators/scalar-mutators.mjs.map +1 -1
  72. package/esm/mutators/string-mutators.d.mts +2 -1
  73. package/esm/mutators/string-mutators.d.mts.map +1 -1
  74. package/esm/mutators/string-mutators.mjs +1 -1
  75. package/esm/mutators/string-mutators.mjs.map +1 -1
  76. package/esm/object.d.mts +1 -1
  77. package/esm/object.d.mts.map +1 -1
  78. package/esm/object.mjs +1 -1
  79. package/esm/object.mjs.map +1 -1
  80. package/esm/plugins/plugin-system.d.mts +1 -1
  81. package/esm/plugins/plugin-system.d.mts.map +1 -1
  82. package/esm/plugins/plugin-system.mjs +1 -1
  83. package/esm/plugins/plugin-system.mjs.map +1 -1
  84. package/esm/rules/array/array-rules.d.mts +2 -1
  85. package/esm/rules/array/array-rules.d.mts.map +1 -1
  86. package/esm/rules/array/array-rules.mjs +1 -1
  87. package/esm/rules/array/array-rules.mjs.map +1 -1
  88. package/esm/rules/color/color-rules.d.mts +2 -1
  89. package/esm/rules/color/color-rules.d.mts.map +1 -1
  90. package/esm/rules/color/color-rules.mjs +1 -1
  91. package/esm/rules/color/color-rules.mjs.map +1 -1
  92. package/esm/rules/common/enum.d.mts +2 -1
  93. package/esm/rules/common/enum.d.mts.map +1 -1
  94. package/esm/rules/common/enum.mjs +1 -1
  95. package/esm/rules/common/enum.mjs.map +1 -1
  96. package/esm/rules/common/equals-field-rules.d.mts +2 -1
  97. package/esm/rules/common/equals-field-rules.d.mts.map +1 -1
  98. package/esm/rules/common/equals-field-rules.mjs +1 -1
  99. package/esm/rules/common/equals-field-rules.mjs.map +1 -1
  100. package/esm/rules/common/instanceof.d.mts +2 -1
  101. package/esm/rules/common/instanceof.d.mts.map +1 -1
  102. package/esm/rules/common/instanceof.mjs +1 -1
  103. package/esm/rules/common/instanceof.mjs.map +1 -1
  104. package/esm/rules/common/literal.d.mts +2 -1
  105. package/esm/rules/common/literal.d.mts.map +1 -1
  106. package/esm/rules/common/literal.mjs +1 -1
  107. package/esm/rules/common/literal.mjs.map +1 -1
  108. package/esm/rules/common/type-rules.d.mts +2 -1
  109. package/esm/rules/common/type-rules.d.mts.map +1 -1
  110. package/esm/rules/common/type-rules.mjs +1 -1
  111. package/esm/rules/common/type-rules.mjs.map +1 -1
  112. package/esm/rules/common/unknown-key.d.mts +2 -1
  113. package/esm/rules/common/unknown-key.d.mts.map +1 -1
  114. package/esm/rules/common/unknown-key.mjs +1 -1
  115. package/esm/rules/common/unknown-key.mjs.map +1 -1
  116. package/esm/rules/conditional/forbidden-if-rules.d.mts +2 -1
  117. package/esm/rules/conditional/forbidden-if-rules.d.mts.map +1 -1
  118. package/esm/rules/conditional/forbidden-if-rules.mjs +1 -1
  119. package/esm/rules/conditional/forbidden-if-rules.mjs.map +1 -1
  120. package/esm/rules/conditional/present-if-rules.d.mts +2 -1
  121. package/esm/rules/conditional/present-if-rules.d.mts.map +1 -1
  122. package/esm/rules/conditional/present-if-rules.mjs +1 -1
  123. package/esm/rules/conditional/present-if-rules.mjs.map +1 -1
  124. package/esm/rules/conditional/present-unless-rules.d.mts +2 -1
  125. package/esm/rules/conditional/present-unless-rules.d.mts.map +1 -1
  126. package/esm/rules/conditional/present-unless-rules.mjs +1 -1
  127. package/esm/rules/conditional/present-unless-rules.mjs.map +1 -1
  128. package/esm/rules/conditional/present-with-rules.d.mts +2 -1
  129. package/esm/rules/conditional/present-with-rules.d.mts.map +1 -1
  130. package/esm/rules/conditional/present-with-rules.mjs +1 -1
  131. package/esm/rules/conditional/present-with-rules.mjs.map +1 -1
  132. package/esm/rules/conditional/present-without-rules.d.mts +2 -1
  133. package/esm/rules/conditional/present-without-rules.d.mts.map +1 -1
  134. package/esm/rules/conditional/present-without-rules.mjs +1 -1
  135. package/esm/rules/conditional/present-without-rules.mjs.map +1 -1
  136. package/esm/rules/conditional/required-if-rules.d.mts +2 -1
  137. package/esm/rules/conditional/required-if-rules.d.mts.map +1 -1
  138. package/esm/rules/conditional/required-if-rules.mjs +1 -1
  139. package/esm/rules/conditional/required-if-rules.mjs.map +1 -1
  140. package/esm/rules/conditional/required-unless-rules.d.mts +2 -1
  141. package/esm/rules/conditional/required-unless-rules.d.mts.map +1 -1
  142. package/esm/rules/conditional/required-unless-rules.mjs +1 -1
  143. package/esm/rules/conditional/required-unless-rules.mjs.map +1 -1
  144. package/esm/rules/conditional/required-when-rule.d.mts +2 -1
  145. package/esm/rules/conditional/required-when-rule.d.mts.map +1 -1
  146. package/esm/rules/conditional/required-when-rule.mjs +1 -1
  147. package/esm/rules/conditional/required-when-rule.mjs.map +1 -1
  148. package/esm/rules/conditional/required-with-rules.d.mts +2 -1
  149. package/esm/rules/conditional/required-with-rules.d.mts.map +1 -1
  150. package/esm/rules/conditional/required-with-rules.mjs +1 -1
  151. package/esm/rules/conditional/required-with-rules.mjs.map +1 -1
  152. package/esm/rules/conditional/required-without-rules.d.mts +2 -1
  153. package/esm/rules/conditional/required-without-rules.d.mts.map +1 -1
  154. package/esm/rules/conditional/required-without-rules.mjs +1 -1
  155. package/esm/rules/conditional/required-without-rules.mjs.map +1 -1
  156. package/esm/rules/core/equal.d.mts +2 -1
  157. package/esm/rules/core/equal.d.mts.map +1 -1
  158. package/esm/rules/core/equal.mjs +1 -1
  159. package/esm/rules/core/equal.mjs.map +1 -1
  160. package/esm/rules/core/forbidden.d.mts +2 -1
  161. package/esm/rules/core/forbidden.d.mts.map +1 -1
  162. package/esm/rules/core/forbidden.mjs +1 -1
  163. package/esm/rules/core/forbidden.mjs.map +1 -1
  164. package/esm/rules/core/required.d.mts +2 -1
  165. package/esm/rules/core/required.d.mts.map +1 -1
  166. package/esm/rules/core/required.mjs +1 -1
  167. package/esm/rules/core/required.mjs.map +1 -1
  168. package/esm/rules/core/union.d.mts +1 -1
  169. package/esm/rules/core/union.d.mts.map +1 -1
  170. package/esm/rules/core/union.mjs +3 -1
  171. package/esm/rules/core/union.mjs.map +1 -1
  172. package/esm/rules/core/when.d.mts +2 -1
  173. package/esm/rules/core/when.d.mts.map +1 -1
  174. package/esm/rules/core/when.mjs +1 -1
  175. package/esm/rules/core/when.mjs.map +1 -1
  176. package/esm/rules/date/date-comparison-rules.d.mts +2 -1
  177. package/esm/rules/date/date-comparison-rules.d.mts.map +1 -1
  178. package/esm/rules/date/date-comparison-rules.mjs +1 -1
  179. package/esm/rules/date/date-comparison-rules.mjs.map +1 -1
  180. package/esm/rules/date/date-day-rules.d.mts +2 -1
  181. package/esm/rules/date/date-day-rules.d.mts.map +1 -1
  182. package/esm/rules/date/date-day-rules.mjs +1 -1
  183. package/esm/rules/date/date-day-rules.mjs.map +1 -1
  184. package/esm/rules/date/date-field-comparison-rules.d.mts +2 -1
  185. package/esm/rules/date/date-field-comparison-rules.d.mts.map +1 -1
  186. package/esm/rules/date/date-field-comparison-rules.mjs +1 -1
  187. package/esm/rules/date/date-field-comparison-rules.mjs.map +1 -1
  188. package/esm/rules/date/date-period-rules.d.mts +2 -1
  189. package/esm/rules/date/date-period-rules.d.mts.map +1 -1
  190. package/esm/rules/date/date-period-rules.mjs +1 -1
  191. package/esm/rules/date/date-period-rules.mjs.map +1 -1
  192. package/esm/rules/date/date-relative-rules.d.mts +2 -1
  193. package/esm/rules/date/date-relative-rules.d.mts.map +1 -1
  194. package/esm/rules/date/date-relative-rules.mjs +1 -1
  195. package/esm/rules/date/date-relative-rules.mjs.map +1 -1
  196. package/esm/rules/date/date-special-rules.d.mts +2 -1
  197. package/esm/rules/date/date-special-rules.d.mts.map +1 -1
  198. package/esm/rules/date/date-special-rules.mjs +1 -1
  199. package/esm/rules/date/date-special-rules.mjs.map +1 -1
  200. package/esm/rules/date/date.d.mts +2 -1
  201. package/esm/rules/date/date.d.mts.map +1 -1
  202. package/esm/rules/date/date.mjs +1 -1
  203. package/esm/rules/date/date.mjs.map +1 -1
  204. package/esm/rules/file/dimensions.d.mts +2 -1
  205. package/esm/rules/file/dimensions.d.mts.map +1 -1
  206. package/esm/rules/file/dimensions.mjs +1 -1
  207. package/esm/rules/file/dimensions.mjs.map +1 -1
  208. package/esm/rules/file/file-size.d.mts +2 -1
  209. package/esm/rules/file/file-size.d.mts.map +1 -1
  210. package/esm/rules/file/file-size.mjs +1 -1
  211. package/esm/rules/file/file-size.mjs.map +1 -1
  212. package/esm/rules/length/length-rules.d.mts +2 -1
  213. package/esm/rules/length/length-rules.d.mts.map +1 -1
  214. package/esm/rules/length/length-rules.mjs +1 -1
  215. package/esm/rules/length/length-rules.mjs.map +1 -1
  216. package/esm/rules/number/number-rules.d.mts +2 -1
  217. package/esm/rules/number/number-rules.d.mts.map +1 -1
  218. package/esm/rules/number/number-rules.mjs +1 -1
  219. package/esm/rules/number/number-rules.mjs.map +1 -1
  220. package/esm/rules/scalar/accepted-rule.mjs +1 -1
  221. package/esm/rules/scalar/accepted-rule.mjs.map +1 -1
  222. package/esm/rules/scalar/declined-rule.mjs +1 -1
  223. package/esm/rules/scalar/declined-rule.mjs.map +1 -1
  224. package/esm/rules/string/alpha.d.mts +2 -1
  225. package/esm/rules/string/alpha.d.mts.map +1 -1
  226. package/esm/rules/string/alpha.mjs +1 -1
  227. package/esm/rules/string/alpha.mjs.map +1 -1
  228. package/esm/rules/string/credit-card.d.mts +2 -1
  229. package/esm/rules/string/credit-card.d.mts.map +1 -1
  230. package/esm/rules/string/credit-card.mjs +1 -1
  231. package/esm/rules/string/credit-card.mjs.map +1 -1
  232. package/esm/rules/string/email.d.mts +2 -1
  233. package/esm/rules/string/email.d.mts.map +1 -1
  234. package/esm/rules/string/email.mjs +1 -1
  235. package/esm/rules/string/email.mjs.map +1 -1
  236. package/esm/rules/string/id-formats.d.mts +2 -1
  237. package/esm/rules/string/id-formats.d.mts.map +1 -1
  238. package/esm/rules/string/id-formats.mjs +1 -1
  239. package/esm/rules/string/id-formats.mjs.map +1 -1
  240. package/esm/rules/string/ip.d.mts +2 -1
  241. package/esm/rules/string/ip.d.mts.map +1 -1
  242. package/esm/rules/string/ip.mjs +1 -1
  243. package/esm/rules/string/ip.mjs.map +1 -1
  244. package/esm/rules/string/matches.d.mts +2 -1
  245. package/esm/rules/string/matches.d.mts.map +1 -1
  246. package/esm/rules/string/matches.mjs +1 -1
  247. package/esm/rules/string/matches.mjs.map +1 -1
  248. package/esm/rules/string/pattern.d.mts +2 -1
  249. package/esm/rules/string/pattern.d.mts.map +1 -1
  250. package/esm/rules/string/pattern.mjs +1 -1
  251. package/esm/rules/string/pattern.mjs.map +1 -1
  252. package/esm/rules/string/string-comparison.d.mts +2 -1
  253. package/esm/rules/string/string-comparison.d.mts.map +1 -1
  254. package/esm/rules/string/string-comparison.mjs +1 -1
  255. package/esm/rules/string/string-comparison.mjs.map +1 -1
  256. package/esm/rules/string/strong-password-rule.d.mts +2 -1
  257. package/esm/rules/string/strong-password-rule.d.mts.map +1 -1
  258. package/esm/rules/string/strong-password-rule.mjs +1 -1
  259. package/esm/rules/string/strong-password-rule.mjs.map +1 -1
  260. package/esm/rules/string/url.d.mts +2 -1
  261. package/esm/rules/string/url.d.mts.map +1 -1
  262. package/esm/rules/string/url.mjs +1 -1
  263. package/esm/rules/string/url.mjs.map +1 -1
  264. package/esm/rules/string/without-whitespace.d.mts +2 -1
  265. package/esm/rules/string/without-whitespace.d.mts.map +1 -1
  266. package/esm/rules/string/without-whitespace.mjs +1 -1
  267. package/esm/rules/string/without-whitespace.mjs.map +1 -1
  268. package/esm/standard-schema/json-schema.d.mts +1 -1
  269. package/esm/standard-schema/json-schema.d.mts.map +1 -1
  270. package/esm/standard-schema/json-schema.mjs +1 -1
  271. package/esm/standard-schema/json-schema.mjs.map +1 -1
  272. package/esm/standard-schema/map-result.d.mts +2 -1
  273. package/esm/standard-schema/map-result.d.mts.map +1 -1
  274. package/esm/standard-schema/map-result.mjs +1 -1
  275. package/esm/standard-schema/map-result.mjs.map +1 -1
  276. package/esm/standard-schema/types.d.mts +1 -1
  277. package/esm/standard-schema/types.d.mts.map +1 -1
  278. package/esm/string.d.mts +1 -1
  279. package/esm/string.d.mts.map +1 -1
  280. package/esm/string.mjs +1 -1
  281. package/esm/string.mjs.map +1 -1
  282. package/esm/types/conditional-types.d.mts +1 -1
  283. package/esm/types/conditional-types.d.mts.map +1 -1
  284. package/esm/types/context-types.d.mts +8 -2
  285. package/esm/types/context-types.d.mts.map +1 -1
  286. package/esm/types/data-transformer-types.d.mts +1 -1
  287. package/esm/types/data-transformer-types.d.mts.map +1 -1
  288. package/esm/types/date-types.d.mts +1 -1
  289. package/esm/types/date-types.d.mts.map +1 -1
  290. package/esm/types/date-types.mjs +1 -1
  291. package/esm/types/date-types.mjs.map +1 -1
  292. package/esm/types/file.types.d.mts +1 -1
  293. package/esm/types/file.types.d.mts.map +1 -1
  294. package/esm/types/inference-types.d.mts +21 -4
  295. package/esm/types/inference-types.d.mts.map +1 -1
  296. package/esm/types/mutator-types.d.mts +1 -1
  297. package/esm/types/mutator-types.d.mts.map +1 -1
  298. package/esm/types/result-types.d.mts +26 -2
  299. package/esm/types/result-types.d.mts.map +1 -1
  300. package/esm/types/rule-types.d.mts +1 -1
  301. package/esm/types/rule-types.d.mts.map +1 -1
  302. package/esm/types/schema-types.d.mts +1 -1
  303. package/esm/types/schema-types.d.mts.map +1 -1
  304. package/esm/validators/any-validator.d.mts +1 -1
  305. package/esm/validators/any-validator.d.mts.map +1 -1
  306. package/esm/validators/any-validator.mjs +1 -1
  307. package/esm/validators/any-validator.mjs.map +1 -1
  308. package/esm/validators/array-validator.d.mts +1 -1
  309. package/esm/validators/array-validator.d.mts.map +1 -1
  310. package/esm/validators/array-validator.mjs +1 -1
  311. package/esm/validators/array-validator.mjs.map +1 -1
  312. package/esm/validators/base-validator.d.mts +8 -1
  313. package/esm/validators/base-validator.d.mts.map +1 -1
  314. package/esm/validators/base-validator.mjs +23 -4
  315. package/esm/validators/base-validator.mjs.map +1 -1
  316. package/esm/validators/boolean-validator.d.mts +1 -1
  317. package/esm/validators/boolean-validator.d.mts.map +1 -1
  318. package/esm/validators/boolean-validator.mjs +1 -1
  319. package/esm/validators/boolean-validator.mjs.map +1 -1
  320. package/esm/validators/computed-validator.d.mts +1 -1
  321. package/esm/validators/computed-validator.d.mts.map +1 -1
  322. package/esm/validators/computed-validator.mjs +1 -1
  323. package/esm/validators/computed-validator.mjs.map +1 -1
  324. package/esm/validators/date-validator.d.mts +2 -1
  325. package/esm/validators/date-validator.d.mts.map +1 -1
  326. package/esm/validators/date-validator.mjs +1 -1
  327. package/esm/validators/date-validator.mjs.map +1 -1
  328. package/esm/validators/discriminated-union-validator.d.mts +8 -2
  329. package/esm/validators/discriminated-union-validator.d.mts.map +1 -1
  330. package/esm/validators/discriminated-union-validator.mjs +6 -1
  331. package/esm/validators/discriminated-union-validator.mjs.map +1 -1
  332. package/esm/validators/float-validator.d.mts +1 -1
  333. package/esm/validators/float-validator.d.mts.map +1 -1
  334. package/esm/validators/float-validator.mjs +1 -1
  335. package/esm/validators/float-validator.mjs.map +1 -1
  336. package/esm/validators/instanceof-validator.d.mts +1 -1
  337. package/esm/validators/instanceof-validator.d.mts.map +1 -1
  338. package/esm/validators/instanceof-validator.mjs +1 -1
  339. package/esm/validators/instanceof-validator.mjs.map +1 -1
  340. package/esm/validators/int-validator.d.mts +1 -1
  341. package/esm/validators/int-validator.d.mts.map +1 -1
  342. package/esm/validators/int-validator.mjs +1 -1
  343. package/esm/validators/int-validator.mjs.map +1 -1
  344. package/esm/validators/lazy-validator.d.mts +1 -1
  345. package/esm/validators/lazy-validator.d.mts.map +1 -1
  346. package/esm/validators/lazy-validator.mjs +1 -1
  347. package/esm/validators/lazy-validator.mjs.map +1 -1
  348. package/esm/validators/literal-validator.d.mts +1 -1
  349. package/esm/validators/literal-validator.d.mts.map +1 -1
  350. package/esm/validators/literal-validator.mjs +5 -2
  351. package/esm/validators/literal-validator.mjs.map +1 -1
  352. package/esm/validators/managed-validator.d.mts +1 -1
  353. package/esm/validators/managed-validator.d.mts.map +1 -1
  354. package/esm/validators/managed-validator.mjs +1 -1
  355. package/esm/validators/managed-validator.mjs.map +1 -1
  356. package/esm/validators/methods/equality-conditional-methods.d.mts +2 -1
  357. package/esm/validators/methods/equality-conditional-methods.d.mts.map +1 -1
  358. package/esm/validators/methods/equality-conditional-methods.mjs +1 -1
  359. package/esm/validators/methods/equality-conditional-methods.mjs.map +1 -1
  360. package/esm/validators/methods/forbidden-methods.d.mts +1 -1
  361. package/esm/validators/methods/forbidden-methods.d.mts.map +1 -1
  362. package/esm/validators/methods/forbidden-methods.mjs +1 -1
  363. package/esm/validators/methods/forbidden-methods.mjs.map +1 -1
  364. package/esm/validators/methods/present-methods.d.mts +1 -1
  365. package/esm/validators/methods/present-methods.d.mts.map +1 -1
  366. package/esm/validators/methods/present-methods.mjs +1 -1
  367. package/esm/validators/methods/present-methods.mjs.map +1 -1
  368. package/esm/validators/methods/required-methods.d.mts +2 -1
  369. package/esm/validators/methods/required-methods.d.mts.map +1 -1
  370. package/esm/validators/methods/required-methods.mjs +1 -1
  371. package/esm/validators/methods/required-methods.mjs.map +1 -1
  372. package/esm/validators/number-validator.d.mts +1 -1
  373. package/esm/validators/number-validator.d.mts.map +1 -1
  374. package/esm/validators/number-validator.mjs +1 -1
  375. package/esm/validators/number-validator.mjs.map +1 -1
  376. package/esm/validators/numeric-validator.d.mts +1 -1
  377. package/esm/validators/numeric-validator.d.mts.map +1 -1
  378. package/esm/validators/numeric-validator.mjs +1 -1
  379. package/esm/validators/numeric-validator.mjs.map +1 -1
  380. package/esm/validators/object-validator.d.mts +1 -1
  381. package/esm/validators/object-validator.d.mts.map +1 -1
  382. package/esm/validators/object-validator.mjs +5 -3
  383. package/esm/validators/object-validator.mjs.map +1 -1
  384. package/esm/validators/primitive-validator.d.mts +1 -1
  385. package/esm/validators/primitive-validator.d.mts.map +1 -1
  386. package/esm/validators/primitive-validator.mjs +1 -1
  387. package/esm/validators/primitive-validator.mjs.map +1 -1
  388. package/esm/validators/record-validator.d.mts +1 -1
  389. package/esm/validators/record-validator.d.mts.map +1 -1
  390. package/esm/validators/record-validator.mjs +1 -1
  391. package/esm/validators/record-validator.mjs.map +1 -1
  392. package/esm/validators/scalar-validator.d.mts +1 -1
  393. package/esm/validators/scalar-validator.d.mts.map +1 -1
  394. package/esm/validators/scalar-validator.mjs +1 -1
  395. package/esm/validators/scalar-validator.mjs.map +1 -1
  396. package/esm/validators/string-validator.d.mts +1 -1
  397. package/esm/validators/string-validator.d.mts.map +1 -1
  398. package/esm/validators/string-validator.mjs +1 -1
  399. package/esm/validators/string-validator.mjs.map +1 -1
  400. package/esm/validators/tuple-validator.d.mts +1 -1
  401. package/esm/validators/tuple-validator.d.mts.map +1 -1
  402. package/esm/validators/tuple-validator.mjs +1 -1
  403. package/esm/validators/tuple-validator.mjs.map +1 -1
  404. package/esm/validators/union-validator.d.mts +1 -1
  405. package/esm/validators/union-validator.d.mts.map +1 -1
  406. package/esm/validators/union-validator.mjs +1 -1
  407. package/esm/validators/union-validator.mjs.map +1 -1
  408. package/llms-full.txt +9 -7
  409. package/package.json +3 -2
  410. package/skills/handle-seal-errors/SKILL.md +4 -6
  411. package/skills/pick-seal-primitive/SKILL.md +4 -0
  412. package/skills/seal-basics/SKILL.md +1 -1
  413. package/cjs/object-DubGC-xu.cjs.map +0 -1
  414. package/cjs/required-methods-BOVNRtci.cjs.map +0 -1
  415. package/cjs/string-DpDpgefH.cjs.map +0 -1
  416. package/esm/helpers/index.d.mts +0 -5
  417. package/esm/mutators/index.d.mts +0 -7
  418. package/esm/rules/array/index.d.mts +0 -1
  419. package/esm/rules/color/index.d.mts +0 -1
  420. package/esm/rules/common/index.d.mts +0 -6
  421. package/esm/rules/conditional/index.d.mts +0 -10
  422. package/esm/rules/core/index.d.mts +0 -5
  423. package/esm/rules/date/index.d.mts +0 -7
  424. package/esm/rules/file/index.d.mts +0 -2
  425. package/esm/rules/index.d.mts +0 -45
  426. package/esm/rules/length/index.d.mts +0 -1
  427. package/esm/rules/number/index.d.mts +0 -1
  428. package/esm/rules/string/index.d.mts +0 -11
  429. package/esm/standard-schema/index.d.mts +0 -3
  430. package/esm/types/index.d.mts +0 -10
@@ -1 +1 @@
1
- {"version":3,"file":"without-whitespace.mjs","names":[],"sources":["../../../../../../../../seal/src/rules/string/without-whitespace.ts"],"sourcesContent":["import { invalidRule, VALID_RULE } from \"../../helpers\";\nimport type { SchemaRule } from \"../../types\";\n\n/**\n * Without whitespace rule - value must not contain whitespace\n */\nexport const withoutWhitespaceRule: SchemaRule = {\n name: \"withoutWhitespace\",\n defaultErrorMessage: \"The :input must not contain whitespace\",\n async validate(value: any, context) {\n if (!/\\s/.test(value)) {\n return VALID_RULE;\n }\n return invalidRule(this, context);\n },\n};\n"],"mappings":";;;;;;;AAMA,MAAa,wBAAoC;CAC/C,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,CAAC,KAAK,KAAK,KAAK,GAClB,OAAO;EAET,OAAO,YAAY,MAAM,OAAO;CAClC;AACF"}
1
+ {"version":3,"file":"without-whitespace.mjs","names":[],"sources":["../../../../../../../../../packages/seal/src/rules/string/without-whitespace.ts"],"sourcesContent":["import { invalidRule, VALID_RULE } from \"../../helpers\";\nimport type { SchemaRule } from \"../../types\";\n\n/**\n * Without whitespace rule - value must not contain whitespace\n */\nexport const withoutWhitespaceRule: SchemaRule = {\n name: \"withoutWhitespace\",\n defaultErrorMessage: \"The :input must not contain whitespace\",\n async validate(value: any, context) {\n if (!/\\s/.test(value)) {\n return VALID_RULE;\n }\n return invalidRule(this, context);\n },\n};\n"],"mappings":";;;;;;;AAMA,MAAa,wBAAoC;CAC/C,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,CAAC,KAAK,KAAK,KAAK,GAClB,OAAO;EAET,OAAO,YAAY,MAAM,OAAO;CAClC;AACF"}
@@ -1,6 +1,6 @@
1
1
  import { StandardJSONSchemaV1 } from "./types.mjs";
2
2
 
3
- //#region ../seal/src/standard-schema/json-schema.d.ts
3
+ //#region ../../packages/seal/src/standard-schema/json-schema.d.ts
4
4
  /**
5
5
  * Supported JSON Schema generation targets.
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema.d.mts","names":[],"sources":["../../../../../../../seal/src/standard-schema/json-schema.ts"],"mappings":";;;;;AAKA;KAAY,gBAAA,GAAmB,oBAAA,CAAqB,MAAM;;;AAAA;KAK9C,gBAAA,GAAmB,MAAM;;;;AAAA;AAmBrC;;;;;;;;;AAAgF;AA4ChF;;;iBA5CgB,aAAA,CAAc,MAAA,EAAQ,gBAAA,EAAkB,MAAA,EAAQ,gBAAgB;;;;;AA4CF;AA2B9E;;;;;;;;;;;;;;;;;iBA3BgB,kBAAA,CAAmB,MAAA,EAAQ,gBAAA,GAAmB,gBAAgB;;;;;iBA2B9D,cAAA,CACd,KAAA,EAAO,KAAA;EAAQ,IAAA;EAAc,OAAA;IAAW,OAAA,EAAS,MAAA;EAAA;AAAA,IACjD,QAAA,WACC,MAAA"}
1
+ {"version":3,"file":"json-schema.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/standard-schema/json-schema.ts"],"mappings":";;;;;AAKA;KAAY,gBAAA,GAAmB,oBAAA,CAAqB,MAAM;;;AAAA;KAK9C,gBAAA,GAAmB,MAAM;;;;AAAA;AAmBrC;;;;;;;;;AAAgF;AA4ChF;;;iBA5CgB,aAAA,CAAc,MAAA,EAAQ,gBAAA,EAAkB,MAAA,EAAQ,gBAAgB;;;;;AA4CF;AA2B9E;;;;;;;;;;;;;;;;;iBA3BgB,kBAAA,CAAmB,MAAA,EAAQ,gBAAA,GAAmB,gBAAgB;;;;;iBA2B9D,cAAA,CACd,KAAA,EAAO,KAAA;EAAQ,IAAA;EAAc,OAAA;IAAW,OAAA,EAAS,MAAA;EAAA;AAAA,IACjD,QAAA,WACC,MAAA"}
@@ -1,4 +1,4 @@
1
- //#region ../seal/src/standard-schema/json-schema.ts
1
+ //#region ../../packages/seal/src/standard-schema/json-schema.ts
2
2
  /**
3
3
  * Apply nullable to a JSON Schema object based on the target dialect.
4
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema.mjs","names":[],"sources":["../../../../../../../seal/src/standard-schema/json-schema.ts"],"sourcesContent":["import type { StandardJSONSchemaV1 } from \"./types\";\n\n/**\n * Supported JSON Schema generation targets.\n */\nexport type JsonSchemaTarget = StandardJSONSchemaV1.Target;\n\n/**\n * The result shape for a generated JSON Schema.\n */\nexport type JsonSchemaResult = Record<string, unknown>;\n\n/**\n * Apply nullable to a JSON Schema object based on the target dialect.\n *\n * - draft-2020-12 : `type` becomes an array: `[\"string\", \"null\"]`\n * - openai-strict : same as draft-2020-12 (type array form)\n * - draft-07 : wraps in `oneOf: [{ ...schema }, { type: \"null\" }]`\n * - openapi-3.0 : adds `nullable: true` alongside the existing type\n *\n * Mutates the schema in-place.\n *\n * @example\n * ```ts\n * const schema = { type: \"string\" };\n * applyNullable(schema, \"draft-2020-12\");\n * // → { type: [\"string\", \"null\"] }\n * ```\n */\nexport function applyNullable(schema: JsonSchemaResult, target: JsonSchemaTarget): void {\n if (target === \"openapi-3.0\") {\n schema.nullable = true;\n return;\n }\n\n if (target === \"draft-2020-12\" || target === \"openai-strict\") {\n const baseType = schema.type as string | string[] | undefined;\n schema.type = Array.isArray(baseType)\n ? [...baseType, \"null\"]\n : [baseType as string, \"null\"];\n return;\n }\n\n // draft-07: oneOf wrapping\n const copy = { ...schema };\n for (const key of Object.keys(schema)) {\n delete schema[key];\n }\n schema.oneOf = [copy, { type: \"null\" }];\n}\n\n/**\n * Wrap a field schema as nullable for OpenAI strict mode.\n *\n * OpenAI strict requires optional fields to be expressed as a nullable type\n * rather than being omitted from the `required` array. This helper wraps a\n * given schema into its nullable equivalent using the type-array form.\n *\n * Unlike `applyNullable()` (which mutates in-place), this returns a new\n * schema object to avoid side effects when wrapping child schemas.\n *\n * @example\n * ```ts\n * wrapNullableStrict({ type: \"string\", minLength: 3 })\n * // → { type: [\"string\", \"null\"], minLength: 3 }\n *\n * wrapNullableStrict({ type: \"object\", properties: {...} })\n * // → { type: [\"object\", \"null\"], properties: {...} }\n *\n * wrapNullableStrict({ oneOf: [...] })\n * // → { oneOf: [..., { type: \"null\" }] }\n * ```\n */\nexport function wrapNullableStrict(schema: JsonSchemaResult): JsonSchemaResult {\n // If the schema uses oneOf/anyOf (e.g. union), append null to the list\n if (schema.oneOf) {\n return { ...schema, oneOf: [...(schema.oneOf as unknown[]), { type: \"null\" }] };\n }\n\n if (schema.anyOf) {\n return { ...schema, anyOf: [...(schema.anyOf as unknown[]), { type: \"null\" }] };\n }\n\n // If there's no type at all (permissive `{}`), stay permissive\n if (schema.type === undefined) {\n return schema;\n }\n\n // Standard case: wrap type into array with null\n const baseType = schema.type as string | string[];\n return {\n ...schema,\n type: Array.isArray(baseType) ? [...baseType, \"null\"] : [baseType, \"null\"],\n };\n}\n\n/**\n * Find the first rule matching the given name in a rules array,\n * and return its options bag.\n */\nexport function getRuleOptions(\n rules: Array<{ name: string; context: { options: Record<string, unknown> } }>,\n ruleName: string,\n): Record<string, unknown> | undefined {\n const rule = rules.find(r => r.name === ruleName);\n return rule?.context?.options as Record<string, unknown> | undefined;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AA6BA,SAAgB,cAAc,QAA0B,QAAgC;CACtF,IAAI,WAAW,eAAe;EAC5B,OAAO,WAAW;EAClB;CACF;CAEA,IAAI,WAAW,mBAAmB,WAAW,iBAAiB;EAC5D,MAAM,WAAW,OAAO;EACxB,OAAO,OAAO,MAAM,QAAQ,QAAQ,IAChC,CAAC,GAAG,UAAU,MAAM,IACpB,CAAC,UAAoB,MAAM;EAC/B;CACF;CAGA,MAAM,OAAO,EAAE,GAAG,OAAO;CACzB,KAAK,MAAM,OAAO,OAAO,KAAK,MAAM,GAClC,OAAO,OAAO;CAEhB,OAAO,QAAQ,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC;AACxC;;;;;;;;;;;;;;;;;;;;;;;AAwBA,SAAgB,mBAAmB,QAA4C;CAE7E,IAAI,OAAO,OACT,OAAO;EAAE,GAAG;EAAQ,OAAO,CAAC,GAAI,OAAO,OAAqB,EAAE,MAAM,OAAO,CAAC;CAAE;CAGhF,IAAI,OAAO,OACT,OAAO;EAAE,GAAG;EAAQ,OAAO,CAAC,GAAI,OAAO,OAAqB,EAAE,MAAM,OAAO,CAAC;CAAE;CAIhF,IAAI,OAAO,SAAS,QAClB,OAAO;CAIT,MAAM,WAAW,OAAO;CACxB,OAAO;EACL,GAAG;EACH,MAAM,MAAM,QAAQ,QAAQ,IAAI,CAAC,GAAG,UAAU,MAAM,IAAI,CAAC,UAAU,MAAM;CAC3E;AACF;;;;;AAMA,SAAgB,eACd,OACA,UACqC;CAErC,OADa,MAAM,MAAK,MAAK,EAAE,SAAS,QAC9B,CAAC,EAAE,SAAS;AACxB"}
1
+ {"version":3,"file":"json-schema.mjs","names":[],"sources":["../../../../../../../../packages/seal/src/standard-schema/json-schema.ts"],"sourcesContent":["import type { StandardJSONSchemaV1 } from \"./types\";\n\n/**\n * Supported JSON Schema generation targets.\n */\nexport type JsonSchemaTarget = StandardJSONSchemaV1.Target;\n\n/**\n * The result shape for a generated JSON Schema.\n */\nexport type JsonSchemaResult = Record<string, unknown>;\n\n/**\n * Apply nullable to a JSON Schema object based on the target dialect.\n *\n * - draft-2020-12 : `type` becomes an array: `[\"string\", \"null\"]`\n * - openai-strict : same as draft-2020-12 (type array form)\n * - draft-07 : wraps in `oneOf: [{ ...schema }, { type: \"null\" }]`\n * - openapi-3.0 : adds `nullable: true` alongside the existing type\n *\n * Mutates the schema in-place.\n *\n * @example\n * ```ts\n * const schema = { type: \"string\" };\n * applyNullable(schema, \"draft-2020-12\");\n * // → { type: [\"string\", \"null\"] }\n * ```\n */\nexport function applyNullable(schema: JsonSchemaResult, target: JsonSchemaTarget): void {\n if (target === \"openapi-3.0\") {\n schema.nullable = true;\n return;\n }\n\n if (target === \"draft-2020-12\" || target === \"openai-strict\") {\n const baseType = schema.type as string | string[] | undefined;\n schema.type = Array.isArray(baseType)\n ? [...baseType, \"null\"]\n : [baseType as string, \"null\"];\n return;\n }\n\n // draft-07: oneOf wrapping\n const copy = { ...schema };\n for (const key of Object.keys(schema)) {\n delete schema[key];\n }\n schema.oneOf = [copy, { type: \"null\" }];\n}\n\n/**\n * Wrap a field schema as nullable for OpenAI strict mode.\n *\n * OpenAI strict requires optional fields to be expressed as a nullable type\n * rather than being omitted from the `required` array. This helper wraps a\n * given schema into its nullable equivalent using the type-array form.\n *\n * Unlike `applyNullable()` (which mutates in-place), this returns a new\n * schema object to avoid side effects when wrapping child schemas.\n *\n * @example\n * ```ts\n * wrapNullableStrict({ type: \"string\", minLength: 3 })\n * // → { type: [\"string\", \"null\"], minLength: 3 }\n *\n * wrapNullableStrict({ type: \"object\", properties: {...} })\n * // → { type: [\"object\", \"null\"], properties: {...} }\n *\n * wrapNullableStrict({ oneOf: [...] })\n * // → { oneOf: [..., { type: \"null\" }] }\n * ```\n */\nexport function wrapNullableStrict(schema: JsonSchemaResult): JsonSchemaResult {\n // If the schema uses oneOf/anyOf (e.g. union), append null to the list\n if (schema.oneOf) {\n return { ...schema, oneOf: [...(schema.oneOf as unknown[]), { type: \"null\" }] };\n }\n\n if (schema.anyOf) {\n return { ...schema, anyOf: [...(schema.anyOf as unknown[]), { type: \"null\" }] };\n }\n\n // If there's no type at all (permissive `{}`), stay permissive\n if (schema.type === undefined) {\n return schema;\n }\n\n // Standard case: wrap type into array with null\n const baseType = schema.type as string | string[];\n return {\n ...schema,\n type: Array.isArray(baseType) ? [...baseType, \"null\"] : [baseType, \"null\"],\n };\n}\n\n/**\n * Find the first rule matching the given name in a rules array,\n * and return its options bag.\n */\nexport function getRuleOptions(\n rules: Array<{ name: string; context: { options: Record<string, unknown> } }>,\n ruleName: string,\n): Record<string, unknown> | undefined {\n const rule = rules.find(r => r.name === ruleName);\n return rule?.context?.options as Record<string, unknown> | undefined;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AA6BA,SAAgB,cAAc,QAA0B,QAAgC;CACtF,IAAI,WAAW,eAAe;EAC5B,OAAO,WAAW;EAClB;CACF;CAEA,IAAI,WAAW,mBAAmB,WAAW,iBAAiB;EAC5D,MAAM,WAAW,OAAO;EACxB,OAAO,OAAO,MAAM,QAAQ,QAAQ,IAChC,CAAC,GAAG,UAAU,MAAM,IACpB,CAAC,UAAoB,MAAM;EAC/B;CACF;CAGA,MAAM,OAAO,EAAE,GAAG,OAAO;CACzB,KAAK,MAAM,OAAO,OAAO,KAAK,MAAM,GAClC,OAAO,OAAO;CAEhB,OAAO,QAAQ,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC;AACxC;;;;;;;;;;;;;;;;;;;;;;;AAwBA,SAAgB,mBAAmB,QAA4C;CAE7E,IAAI,OAAO,OACT,OAAO;EAAE,GAAG;EAAQ,OAAO,CAAC,GAAI,OAAO,OAAqB,EAAE,MAAM,OAAO,CAAC;CAAE;CAGhF,IAAI,OAAO,OACT,OAAO;EAAE,GAAG;EAAQ,OAAO,CAAC,GAAI,OAAO,OAAqB,EAAE,MAAM,OAAO,CAAC;CAAE;CAIhF,IAAI,OAAO,SAAS,QAClB,OAAO;CAIT,MAAM,WAAW,OAAO;CACxB,OAAO;EACL,GAAG;EACH,MAAM,MAAM,QAAQ,QAAQ,IAAI,CAAC,GAAG,UAAU,MAAM,IAAI,CAAC,UAAU,MAAM;CAC3E;AACF;;;;;AAMA,SAAgB,eACd,OACA,UACqC;CAErC,OADa,MAAM,MAAK,MAAK,EAAE,SAAS,QAC9B,CAAC,EAAE,SAAS;AACxB"}
@@ -1,6 +1,7 @@
1
1
  import { StandardSchemaV1 } from "./types.mjs";
2
2
  import { ValidationResult } from "../types/result-types.mjs";
3
- //#region ../seal/src/standard-schema/map-result.d.ts
3
+
4
+ //#region ../../packages/seal/src/standard-schema/map-result.d.ts
4
5
  /**
5
6
  * Maps a Seal ValidationResult to a Standard Schema result shape.
6
7
  *
@@ -1 +1 @@
1
- {"version":3,"file":"map-result.d.mts","names":[],"sources":["../../../../../../../seal/src/standard-schema/map-result.ts"],"mappings":";;;;;;AAiBA;;;;;;;;;AAE0B;;iBAFV,mBAAA,CACd,MAAA,EAAQ,gBAAA,GACP,gBAAA,CAAiB,MAAM"}
1
+ {"version":3,"file":"map-result.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/standard-schema/map-result.ts"],"mappings":";;;;;;AAiBA;;;;;;;;;AAE0B;;;iBAFV,mBAAA,CACd,MAAA,EAAQ,gBAAA,GACP,gBAAA,CAAiB,MAAM"}
@@ -1,4 +1,4 @@
1
- //#region ../seal/src/standard-schema/map-result.ts
1
+ //#region ../../packages/seal/src/standard-schema/map-result.ts
2
2
  /**
3
3
  * Maps a Seal ValidationResult to a Standard Schema result shape.
4
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"map-result.mjs","names":[],"sources":["../../../../../../../seal/src/standard-schema/map-result.ts"],"sourcesContent":["import type { ValidationResult } from \"../types\";\nimport type { StandardSchemaV1 } from \"./types\";\n\n/**\n * Maps a Seal ValidationResult to a Standard Schema result shape.\n *\n * Seal error paths are dot-notation strings (e.g. \"address.city\").\n * Standard Schema expects an array of path segments: [{ key: \"address\" }, { key: \"city\" }].\n *\n * @example\n * ```ts\n * const result = await validator.validate(value, context);\n * return mapToStandardResult(result);\n * // Success → { value: <data> }\n * // Failure → { issues: [{ message: \"...\", path: [{ key: \"...\" }] }] }\n * ```\n */\nexport function mapToStandardResult(\n result: ValidationResult,\n): StandardSchemaV1.Result<unknown> {\n if (result.isValid) {\n return { value: result.data };\n }\n\n return {\n issues: result.errors.map(e => ({\n message: e.error,\n path: e.input\n ? e.input.split(\".\").map(key => ({ key }))\n : undefined,\n })),\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;AAiBA,SAAgB,oBACd,QACkC;CAClC,IAAI,OAAO,SACT,OAAO,EAAE,OAAO,OAAO,KAAK;CAG9B,OAAO,EACL,QAAQ,OAAO,OAAO,KAAI,OAAM;EAC9B,SAAS,EAAE;EACX,MAAM,EAAE,QACJ,EAAE,MAAM,MAAM,GAAG,CAAC,CAAC,KAAI,SAAQ,EAAE,IAAI,EAAE,IACvC;CACN,EAAE,EACJ;AACF"}
1
+ {"version":3,"file":"map-result.mjs","names":[],"sources":["../../../../../../../../packages/seal/src/standard-schema/map-result.ts"],"sourcesContent":["import type { ValidationResult } from \"../types\";\nimport type { StandardSchemaV1 } from \"./types\";\n\n/**\n * Maps a Seal ValidationResult to a Standard Schema result shape.\n *\n * Seal error paths are dot-notation strings (e.g. \"address.city\").\n * Standard Schema expects an array of path segments: [{ key: \"address\" }, { key: \"city\" }].\n *\n * @example\n * ```ts\n * const result = await validator.validate(value, context);\n * return mapToStandardResult(result);\n * // Success → { value: <data> }\n * // Failure → { issues: [{ message: \"...\", path: [{ key: \"...\" }] }] }\n * ```\n */\nexport function mapToStandardResult(\n result: ValidationResult,\n): StandardSchemaV1.Result<unknown> {\n if (result.isValid) {\n return { value: result.data };\n }\n\n return {\n issues: result.errors.map(e => ({\n message: e.error,\n path: e.input\n ? e.input.split(\".\").map(key => ({ key }))\n : undefined,\n })),\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;AAiBA,SAAgB,oBACd,QACkC;CAClC,IAAI,OAAO,SACT,OAAO,EAAE,OAAO,OAAO,KAAK;CAG9B,OAAO,EACL,QAAQ,OAAO,OAAO,KAAI,OAAM;EAC9B,SAAS,EAAE;EACX,MAAM,EAAE,QACJ,EAAE,MAAM,MAAM,GAAG,CAAC,CAAC,KAAI,SAAQ,EAAE,IAAI,EAAE,IACvC;CACN,EAAE,EACJ;AACF"}
@@ -1,4 +1,4 @@
1
- //#region ../seal/src/standard-schema/types.d.ts
1
+ //#region ../../packages/seal/src/standard-schema/types.d.ts
2
2
  /**
3
3
  * Standard Schema Spec Types
4
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.mts","names":[],"sources":["../../../../../../../seal/src/standard-schema/types.ts"],"mappings":";;AAgBA;;;;;;;;;;UAAiB,gBAAA,2BAA2C,KAAA;EAAA,SACjD,WAAA,EAAa,gBAAA,CAAiB,KAAA,CAAM,KAAA,EAAO,MAAA;AAAA;AAAA,kBAG7B,gBAAA;EAHgB;EAAA,UAKtB,KAAA,2BAAgC,KAAA;IALG;IAAA,SAOzC,OAAA;IAP+C;IAAA,SAS/C,MAAA;IAN4B;IAAA,SAQ5B,KAAA,GAAQ,KAAA,CAAM,KAAA,EAAO,MAAA;IANiB;IAAA,SAQtC,QAAA,GACP,KAAA,WACA,OAAA,GAAU,OAAA,iBACP,MAAA,CAAO,MAAA,IAAU,OAAA,CAAQ,MAAA,CAAO,MAAA;EAAA;EALpB;EAAA,UASF,aAAA;IAAA,SACN,KAAA,EAAO,MAAA;IAAA,SACP,MAAA;EAAA;EANqB;EAAA,UAUf,OAAA;IAAA,SACN,cAAA,GAAiB,MAAA;EAAA;EAKK;EAAA,UADhB,aAAA;IAAA,SACN,MAAA,EAAQ,aAAA,CAAc,KAAA;EAAA;EAAA,KAGrB,MAAA,WAAiB,aAAA,CAAc,MAAA,IAAU,aAAA;EAKrB;EAAA,UAFf,KAAA;IAAA,SACN,OAAA;IAAA,SACA,IAAA,GAAO,aAAA,CAAc,WAAA,GAAc,WAAA;EAAA;EAU5B;EAAA,UAND,WAAA;IAAA,SACN,GAAA,EAAK,WAAA;EAAA;EAUqC;EAAA,UANpC,KAAA,2BAAgC,KAAA;IAAA,SACtC,KAAA,EAAO,KAAA;IAAA,SACP,MAAA,EAAQ,MAAA;EAAA;EAS8C;EAAA,KALrD,UAAA,WAAqB,gBAAA,IAAoB,WAAA,CACnD,CAAA;EAnDqB;EAAA,KAuDX,WAAA,WAAsB,gBAAA,IAAoB,WAAA,CACpD,CAAA;AAAA;;UASa,oBAAA,2BAA+C,KAAA;EAAA,SACrD,WAAA,EAAa,oBAAA,CAAqB,KAAA,CAAM,KAAA,EAAO,MAAA;AAAA;AAAA,kBAGjC,oBAAA;EAAA,UACN,KAAA,2BAAgC,KAAA,UACvC,IAAA,CAAK,gBAAA,CAAiB,KAAA,CAAM,KAAA,EAAO,MAAA;IAAA,SAClC,UAAA,EAAY,SAAA;EAAA;EA9DT;EAAA,UAkEG,SAAA;IAjEV;IAAA,SAmEI,KAAA,GAAQ,OAAA,EAAS,OAAA,KAAY,MAAA;IAnEhB;IAAA,SAqEb,MAAA,GAAS,OAAA,EAAS,OAAA,KAAY,MAAA;EAAA;EAjExB;;;;;;;;;;;;EAAA,KAgFL,MAAA;EAAA,UAOK,OAAA;IAAA,SACN,MAAA,EAAQ,MAAA;IAAA,SACR,cAAA,GAAiB,MAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/standard-schema/types.ts"],"mappings":";;AAgBA;;;;;;;;;;UAAiB,gBAAA,2BAA2C,KAAA;EAAA,SACjD,WAAA,EAAa,gBAAA,CAAiB,KAAA,CAAM,KAAA,EAAO,MAAA;AAAA;AAAA,kBAG7B,gBAAA;EAHgB;EAAA,UAKtB,KAAA,2BAAgC,KAAA;IALG;IAAA,SAOzC,OAAA;IAP+C;IAAA,SAS/C,MAAA;IAN4B;IAAA,SAQ5B,KAAA,GAAQ,KAAA,CAAM,KAAA,EAAO,MAAA;IANiB;IAAA,SAQtC,QAAA,GACP,KAAA,WACA,OAAA,GAAU,OAAA,iBACP,MAAA,CAAO,MAAA,IAAU,OAAA,CAAQ,MAAA,CAAO,MAAA;EAAA;EALpB;EAAA,UASF,aAAA;IAAA,SACN,KAAA,EAAO,MAAA;IAAA,SACP,MAAA;EAAA;EANqB;EAAA,UAUf,OAAA;IAAA,SACN,cAAA,GAAiB,MAAA;EAAA;EAKK;EAAA,UADhB,aAAA;IAAA,SACN,MAAA,EAAQ,aAAA,CAAc,KAAA;EAAA;EAAA,KAGrB,MAAA,WAAiB,aAAA,CAAc,MAAA,IAAU,aAAA;EAKrB;EAAA,UAFf,KAAA;IAAA,SACN,OAAA;IAAA,SACA,IAAA,GAAO,aAAA,CAAc,WAAA,GAAc,WAAA;EAAA;EAU5B;EAAA,UAND,WAAA;IAAA,SACN,GAAA,EAAK,WAAA;EAAA;EAUqC;EAAA,UANpC,KAAA,2BAAgC,KAAA;IAAA,SACtC,KAAA,EAAO,KAAA;IAAA,SACP,MAAA,EAAQ,MAAA;EAAA;EAS8C;EAAA,KALrD,UAAA,WAAqB,gBAAA,IAAoB,WAAA,CACnD,CAAA;EAnDqB;EAAA,KAuDX,WAAA,WAAsB,gBAAA,IAAoB,WAAA,CACpD,CAAA;AAAA;;UASa,oBAAA,2BAA+C,KAAA;EAAA,SACrD,WAAA,EAAa,oBAAA,CAAqB,KAAA,CAAM,KAAA,EAAO,MAAA;AAAA;AAAA,kBAGjC,oBAAA;EAAA,UACN,KAAA,2BAAgC,KAAA,UACvC,IAAA,CAAK,gBAAA,CAAiB,KAAA,CAAM,KAAA,EAAO,MAAA;IAAA,SAClC,UAAA,EAAY,SAAA;EAAA;EA9DT;EAAA,UAkEG,SAAA;IAjEV;IAAA,SAmEI,KAAA,GAAQ,OAAA,EAAS,OAAA,KAAY,MAAA;IAnEhB;IAAA,SAqEb,MAAA,GAAS,OAAA,EAAS,OAAA,KAAY,MAAA;EAAA;EAjExB;;;;;;;;;;;;EAAA,KAgFL,MAAA;EAAA,UAOK,OAAA;IAAA,SACN,MAAA,EAAQ,MAAA;IAAA,SACR,cAAA,GAAiB,MAAA;EAAA;AAAA"}
package/esm/string.d.mts CHANGED
@@ -5,7 +5,7 @@ import { presentMethodsApplied } from "./validators/methods/present-methods.mjs"
5
5
  import { requiredMethodsApplied } from "./validators/methods/required-methods.mjs";
6
6
  import { StringValidator } from "./validators/string-validator.mjs";
7
7
 
8
- //#region ../seal/src/string.d.ts
8
+ //#region ../../packages/seal/src/string.d.ts
9
9
  /** Create a string schema without importing the complete `v` factory. */
10
10
  declare const string: (errorMessage?: string) => StringValidator & StandardSchemaV1<string>;
11
11
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"string.d.mts","names":[],"sources":["../../../../../../seal/src/string.ts"],"mappings":";;;;;;;;;cAUa,MAAA,GAAU,YAAA,cACgB,eAAA,GAAkB,gBAAgB"}
1
+ {"version":3,"file":"string.d.mts","names":[],"sources":["../../../../../../../packages/seal/src/string.ts"],"mappings":";;;;;;;;;cAUa,MAAA,GAAU,YAAA,cACgB,eAAA,GAAkB,gBAAgB"}
package/esm/string.mjs CHANGED
@@ -4,7 +4,7 @@ import { presentMethodsApplied } from "./validators/methods/present-methods.mjs"
4
4
  import { requiredMethodsApplied } from "./validators/methods/required-methods.mjs";
5
5
  import { StringValidator } from "./validators/string-validator.mjs";
6
6
 
7
- //#region ../seal/src/string.ts
7
+ //#region ../../packages/seal/src/string.ts
8
8
  /** Create a string schema without importing the complete `v` factory. */
9
9
  const string = (errorMessage) => new StringValidator(errorMessage);
10
10
 
@@ -1 +1 @@
1
- {"version":3,"file":"string.mjs","names":[],"sources":["../../../../../../seal/src/string.ts"],"sourcesContent":["import type { StandardSchemaV1 } from \"./standard-schema/types\";\nimport { StringValidator } from \"./validators/string-validator\";\n\nexport { equalityConditionalMethodsApplied } from \"./validators/methods/equality-conditional-methods\";\nexport { forbiddenMethodsApplied } from \"./validators/methods/forbidden-methods\";\nexport { presentMethodsApplied } from \"./validators/methods/present-methods\";\nexport { requiredMethodsApplied } from \"./validators/methods/required-methods\";\nexport { StringValidator };\n\n/** Create a string schema without importing the complete `v` factory. */\nexport const string = (errorMessage?: string) =>\n new StringValidator(errorMessage) as StringValidator & StandardSchemaV1<string>;\n"],"mappings":";;;;;;;;AAUA,MAAa,UAAU,iBACrB,IAAI,gBAAgB,YAAY"}
1
+ {"version":3,"file":"string.mjs","names":[],"sources":["../../../../../../../packages/seal/src/string.ts"],"sourcesContent":["import type { StandardSchemaV1 } from \"./standard-schema/types\";\nimport { StringValidator } from \"./validators/string-validator\";\n\nexport { equalityConditionalMethodsApplied } from \"./validators/methods/equality-conditional-methods\";\nexport { forbiddenMethodsApplied } from \"./validators/methods/forbidden-methods\";\nexport { presentMethodsApplied } from \"./validators/methods/present-methods\";\nexport { requiredMethodsApplied } from \"./validators/methods/required-methods\";\nexport { StringValidator };\n\n/** Create a string schema without importing the complete `v` factory. */\nexport const string = (errorMessage?: string) =>\n new StringValidator(errorMessage) as StringValidator & StandardSchemaV1<string>;\n"],"mappings":";;;;;;;;AAUA,MAAa,UAAU,iBACrB,IAAI,gBAAgB,YAAY"}
@@ -1,6 +1,6 @@
1
1
  import { BaseValidator } from "../validators/base-validator.mjs";
2
2
 
3
- //#region ../seal/src/types/conditional-types.d.ts
3
+ //#region ../../packages/seal/src/types/conditional-types.d.ts
4
4
  /**
5
5
  * Options for conditional when rule
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"conditional-types.d.mts","names":[],"sources":["../../../../../../../seal/src/types/conditional-types.ts"],"mappings":";;;;;AAKA;KAAY,eAAA;4BAEV,KAAA,UAEI;EAAJ,EAAA,EAAI,MAAA,SAAe,aAAA,GAEM;EAAzB,SAAA,GAAY,aAAA,EAJZ;EAMA,KAAA;AAAA"}
1
+ {"version":3,"file":"conditional-types.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/types/conditional-types.ts"],"mappings":";;;;;AAKA;KAAY,eAAA;4BAEV,KAAA,UAEI;EAAJ,EAAA,EAAI,MAAA,SAAe,aAAA,GAEM;EAAzB,SAAA,GAAY,aAAA,EAJZ;EAMA,KAAA;AAAA"}
@@ -1,7 +1,7 @@
1
1
  import { Schema } from "./schema-types.mjs";
2
2
  import { SchemaRule } from "./rule-types.mjs";
3
3
 
4
- //#region ../seal/src/types/context-types.d.ts
4
+ //#region ../../packages/seal/src/types/context-types.d.ts
5
5
  type RuleTranslation = {
6
6
  rule: SchemaRule;
7
7
  context: SchemaContext;
@@ -31,7 +31,13 @@ type SchemaContext = {
31
31
  context?: Record<string, any>; /** Root context */
32
32
  rootContext?: Record<string, any>; /** Translation function for error messages */
33
33
  translateRule: (ruleTranslation: RuleTranslation) => string;
34
- translateAttribute: (attributeTranslation: AttributeTranslation) => string; /** Validation configurations */
34
+ translateAttribute: (attributeTranslation: AttributeTranslation) => string;
35
+ /**
36
+ * Set by a parent `ObjectValidator` when the key was absent and `value` is
37
+ * this field's own `.default()`. The receiving validator reads it once and
38
+ * clears it, so it never leaks into an array/tuple/record's item contexts.
39
+ */
40
+ valueIsDefault?: boolean; /** Validation configurations */
35
41
  configurations?: {
36
42
  firstErrorOnly?: boolean; /** Rendered as `:value` in error messages instead of the submitted input */
37
43
  redactValue?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"context-types.d.mts","names":[],"sources":["../../../../../../../seal/src/types/context-types.ts"],"mappings":";;;;KAGY,eAAA;EACV,IAAA,EAAM,UAAA;EACN,OAAA,EAAS,aAAa;EACtB,UAAA;IACE,KAAA;IACA,IAAA;IACA,GAAA;IACA,KAAA;IAAA,CACC,GAAA;EAAA;AAAA;AAAA,KAIO,oBAAA;EACV,SAAA;EACA,OAAA,EAAS,aAAA;EACT,IAAA,EAAM,UAAU;AAAA;;AAPF;AAIhB;KASY,aAAA;yBAEV,SAAA,OAVA;EAYA,MAAA,OAXS;EAaT,KAAA,OAZM;EAcN,GAAA,UAdgB;EAgBhB,IAAA,UAVuB;EAYvB,MAAA,GAAS,MAAA,EAAA;EAET,OAAA,GAAU,MAAA,eAEI;EAAd,WAAA,GAAc,MAAA,eAG6B;EAD3C,aAAA,GAAgB,eAAA,EAAiB,eAAA;EACjC,kBAAA,GAAqB,oBAAA,EAAsB,oBAAA,aAjB3C;EAmBA,cAAA;IACE,cAAA,YAdF;IAgBE,WAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"context-types.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/types/context-types.ts"],"mappings":";;;;KAGY,eAAA;EACV,IAAA,EAAM,UAAA;EACN,OAAA,EAAS,aAAa;EACtB,UAAA;IACE,KAAA;IACA,IAAA;IACA,GAAA;IACA,KAAA;IAAA,CACC,GAAA;EAAA;AAAA;AAAA,KAIO,oBAAA;EACV,SAAA;EACA,OAAA,EAAS,aAAA;EACT,IAAA,EAAM,UAAU;AAAA;;AAPF;AAIhB;KASY,aAAA;yBAEV,SAAA,OAVA;EAYA,MAAA,OAXS;EAaT,KAAA,OAZM;EAcN,GAAA,UAdgB;EAgBhB,IAAA,UAVuB;EAYvB,MAAA,GAAS,MAAA,EAAA;EAET,OAAA,GAAU,MAAA,eAEI;EAAd,WAAA,GAAc,MAAA,eAG6B;EAD3C,aAAA,GAAgB,eAAA,EAAiB,eAAA;EACjC,kBAAA,GAAqB,oBAAA,EAAsB,oBAAA;EAjB3C;;;;;EAuBA,cAAA,YAbS;EAeT,cAAA;IACE,cAAA,YAZF;IAcE,WAAA;EAAA;AAAA"}
@@ -1,6 +1,6 @@
1
1
  import { SchemaContext } from "./context-types.mjs";
2
2
 
3
- //#region ../seal/src/types/data-transformer-types.d.ts
3
+ //#region ../../packages/seal/src/types/data-transformer-types.d.ts
4
4
  /**
5
5
  * Transformer callback signature
6
6
  * First param: the data to transform
@@ -1 +1 @@
1
- {"version":3,"file":"data-transformer-types.d.mts","names":[],"sources":["../../../../../../../seal/src/types/data-transformer-types.ts"],"mappings":";;;;;AAOA;;;KAAY,mBAAA,IACV,IAAA,OACA,MAAA;EACE,OAAA;EACA,OAAA,EAAS,aAAA;AAAA,YAEF,OAAO;;;;;AAAA;KAON,yBAAA,IACV,IAAA,OACA,OAAA,EAAS,aAAA,WACA,OAAO;;;;;KAMN,yBAAA;EACV,SAAA,EAAW,mBAAmB;EAC9B,OAAA;AAAA"}
1
+ {"version":3,"file":"data-transformer-types.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/types/data-transformer-types.ts"],"mappings":";;;;;AAOA;;;KAAY,mBAAA,IACV,IAAA,OACA,MAAA;EACE,OAAA;EACA,OAAA,EAAS,aAAA;AAAA,YAEF,OAAO;;;;;AAAA;KAON,yBAAA,IACV,IAAA,OACA,OAAA,EAAS,aAAA,WACA,OAAO;;;;;KAMN,yBAAA;EACV,SAAA,EAAW,mBAAmB;EAC9B,OAAA;AAAA"}
@@ -1,4 +1,4 @@
1
- //#region ../seal/src/types/date-types.d.ts
1
+ //#region ../../packages/seal/src/types/date-types.d.ts
2
2
  /**
3
3
  * Week day names for validation
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"date-types.d.mts","names":[],"sources":["../../../../../../../seal/src/types/date-types.ts"],"mappings":";;AAGA;;KAAY,OAAA;;AAAO;AAYnB;cAAa,SAAA,EAAW,MAAM,CAAC,OAAA"}
1
+ {"version":3,"file":"date-types.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/types/date-types.ts"],"mappings":";;AAGA;;KAAY,OAAA;;AAAO;AAYnB;cAAa,SAAA,EAAW,MAAM,CAAC,OAAA"}
@@ -1,4 +1,4 @@
1
- //#region ../seal/src/types/date-types.ts
1
+ //#region ../../packages/seal/src/types/date-types.ts
2
2
  /**
3
3
  * Week day numbers mapping
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"date-types.mjs","names":[],"sources":["../../../../../../../seal/src/types/date-types.ts"],"sourcesContent":["/**\n * Week day names for validation\n */\nexport type WeekDay =\n | \"sunday\"\n | \"monday\"\n | \"tuesday\"\n | \"wednesday\"\n | \"thursday\"\n | \"friday\"\n | \"saturday\";\n\n/**\n * Week day numbers mapping\n */\nexport const WEEK_DAYS: Record<WeekDay, number> = {\n sunday: 0,\n monday: 1,\n tuesday: 2,\n wednesday: 3,\n thursday: 4,\n friday: 5,\n saturday: 6,\n};\n"],"mappings":";;;;AAeA,MAAa,YAAqC;CAChD,QAAQ;CACR,QAAQ;CACR,SAAS;CACT,WAAW;CACX,UAAU;CACV,QAAQ;CACR,UAAU;AACZ"}
1
+ {"version":3,"file":"date-types.mjs","names":[],"sources":["../../../../../../../../packages/seal/src/types/date-types.ts"],"sourcesContent":["/**\n * Week day names for validation\n */\nexport type WeekDay =\n | \"sunday\"\n | \"monday\"\n | \"tuesday\"\n | \"wednesday\"\n | \"thursday\"\n | \"friday\"\n | \"saturday\";\n\n/**\n * Week day numbers mapping\n */\nexport const WEEK_DAYS: Record<WeekDay, number> = {\n sunday: 0,\n monday: 1,\n tuesday: 2,\n wednesday: 3,\n thursday: 4,\n friday: 5,\n saturday: 6,\n};\n"],"mappings":";;;;AAeA,MAAa,YAAqC;CAChD,QAAQ;CACR,QAAQ;CACR,SAAS;CACT,WAAW;CACX,UAAU;CACV,QAAQ;CACR,UAAU;AACZ"}
@@ -1,4 +1,4 @@
1
- //#region ../seal/src/types/file.types.d.ts
1
+ //#region ../../packages/seal/src/types/file.types.d.ts
2
2
  type FileSizeOption = {
3
3
  size: number;
4
4
  unit: "B" | "KB" | "MB" | "GB";
@@ -1 +1 @@
1
- {"version":3,"file":"file.types.d.mts","names":[],"sources":["../../../../../../../seal/src/types/file.types.ts"],"mappings":";KAAY,cAAA;EACV,IAAA;EACA,IAAI;AAAA"}
1
+ {"version":3,"file":"file.types.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/types/file.types.ts"],"mappings":";KAAY,cAAA;EACV,IAAA;EACA,IAAI;AAAA"}
@@ -16,7 +16,7 @@ import { LiteralValidator } from "../validators/literal-validator.mjs";
16
16
  import { ManagedValidator } from "../validators/managed-validator.mjs";
17
17
  import { ScalarValidator } from "../validators/scalar-validator.mjs";
18
18
  import { StringValidator } from "../validators/string-validator.mjs";
19
- //#region ../seal/src/types/inference-types.d.ts
19
+ //#region ../../packages/seal/src/types/inference-types.d.ts
20
20
  /**
21
21
  * Two inference shapes describe the two halves of the validation pipeline:
22
22
  *
@@ -107,6 +107,12 @@ type IsInputOptionalKey<V> = V extends {
107
107
  } | {
108
108
  hasCatch: true;
109
109
  } ? true : false;
110
+ /**
111
+ * Merge the optional-key and required-key halves of an object shape into one
112
+ * object type, so `Infer<>` reads (and compares) as a single literal instead
113
+ * of an intersection of two mapped types.
114
+ */
115
+ type Flatten<T> = { [K in keyof T]: T[K] } & {};
110
116
  /**
111
117
  * Apply `| null` widening when the validator type carries `{ isNullable: true }`.
112
118
  *
@@ -125,14 +131,14 @@ type WithNullable<V, T> = V extends {
125
131
  * walker on the parent class's type parameter creates a recursive class-base
126
132
  * reference when combined with brand-checks.
127
133
  */
128
- type InferOutputObjectShape<S extends Schema> = { [K in keyof S as IsOutputOptionalKey<S[K]> extends true ? K : never]?: Infer.Output<S[K]> } & { [K in keyof S as IsOutputOptionalKey<S[K]> extends true ? never : K]: Infer.Output<S[K]> };
134
+ type InferOutputObjectShape<S extends Schema> = Flatten<{ [K in keyof S as IsOutputOptionalKey<S[K]> extends true ? K : never]?: Infer.Output<S[K]> } & { [K in keyof S as IsOutputOptionalKey<S[K]> extends true ? never : K]: Infer.Output<S[K]> }>;
129
135
  /**
130
136
  * Compute the inferred *input* object shape for a Schema. Mirror of
131
137
  * `InferOutputObjectShape` but uses `IsInputOptionalKey` — fields with
132
138
  * `.default()` or `.catch()` (or `.optional()`) are all marked optional in
133
139
  * the input shape.
134
140
  */
135
- type InferInputObjectShape<S extends Schema> = { [K in keyof S as IsInputOptionalKey<S[K]> extends true ? K : never]?: Infer.Input<S[K]> } & { [K in keyof S as IsInputOptionalKey<S[K]> extends true ? never : K]: Infer.Input<S[K]> };
141
+ type InferInputObjectShape<S extends Schema> = Flatten<{ [K in keyof S as IsInputOptionalKey<S[K]> extends true ? K : never]?: Infer.Input<S[K]> } & { [K in keyof S as IsInputOptionalKey<S[K]> extends true ? never : K]: Infer.Input<S[K]> }>;
136
142
  /**
137
143
  * Bare `Infer<T>` defaults to `Infer.Input<T>`. Use `Infer.Output<T>` when
138
144
  * typing validated data (Cascade `Model<>` params, validate() returns).
@@ -173,6 +179,17 @@ type InferObjectShape<S extends Schema> = InferOutputObjectShape<S>;
173
179
  * @deprecated Use `IsOutputOptionalKey<V>` instead. Kept for back-compat.
174
180
  */
175
181
  type IsOptionalKey<V> = IsOutputOptionalKey<V>;
182
+ /**
183
+ * The `data` type `validate(schema, input)` returns on success.
184
+ *
185
+ * It is `Infer.Output<T>`, except where the schema's type does not describe
186
+ * its output: a bare `BaseValidator`, an `ObjectValidator` over the wide
187
+ * `Schema` (an index signature whose values are `any`/`unknown`), or anything
188
+ * whose output is `unknown`. Those stay `any`, as they were before
189
+ * `validate()` was typed, so untyped call sites keep compiling. A
190
+ * `v.record(...)` with a typed value keeps its `Record<string, …>` output.
191
+ */
192
+ type ValidatedOutput<T> = [Infer.Output<T>] extends [infer O] ? unknown extends O ? any : O extends object ? string extends keyof O ? unknown extends O[keyof O] ? any : O : O : O : never;
176
193
  //#endregion
177
- export { Infer, InferInput, InferInputObjectShape, InferObjectShape, InferOutput, InferOutputObjectShape, IsInputOptionalKey, IsOptionalKey, IsOutputOptionalKey };
194
+ export { Infer, InferInput, InferInputObjectShape, InferObjectShape, InferOutput, InferOutputObjectShape, IsInputOptionalKey, IsOptionalKey, IsOutputOptionalKey, ValidatedOutput };
178
195
  //# sourceMappingURL=inference-types.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inference-types.d.mts","names":[],"sources":["../../../../../../../seal/src/types/inference-types.ts"],"mappings":"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"}
1
+ {"version":3,"file":"inference-types.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/types/inference-types.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmB6C;;;;;;;;;;AAoErB;AAUxB;;;;;;;;;;;;;;AACkB;AAWlB;;;;;;;;;;AAC0D;AAEhD;;;;;;;;KA3BL,YAAA,MAAkB,CAAA;EAAY,UAAA;AAAA,WAE/B,CAAC;EAAW,QAAA;AAAA;;AAgCuB;AAAA;;;;KAtB3B,mBAAA,MAAyB,CAAA;EAAY,UAAA;AAAA,IAC7C,YAAA,CAAa,CAAA;;;;;;;KAWL,kBAAA,MAAwB,CAAC;EACjC,UAAA;AAAA;EAAuB,UAAA;AAAA;EAAuB,QAAA;AAAA;;;;;;KAS7C,OAAA,oBAA2B,CAAA,GAAI,CAAA,CAAE,CAAA;;;;;;;;KASjC,YAAA,SAAqB,CAAA;EAAY,UAAA;AAAA,IAAqB,CAAA,UAAW,CAAA;;;;;;;;;KAU1D,sBAAA,WAAiC,MAAA,IAAU,OAAA,eAEvC,CAAA,IAAK,mBAAA,CAAoB,CAAA,CAAE,CAAA,kBAAmB,CAAA,YAAa,KAAA,CAAM,MAAA,CAAO,CAAA,CAAE,CAAA,qBAE1E,CAAA,IAAK,mBAAA,CAAoB,CAAA,CAAE,CAAA,0BAA2B,CAAA,GAAI,KAAA,CAAM,MAAA,CAAO,CAAA,CAAE,CAAA;;;;;;;KAU7E,qBAAA,WAAgC,MAAA,IAAU,OAAA,eAEtC,CAAA,IAAK,kBAAA,CAAmB,CAAA,CAAE,CAAA,kBAAmB,CAAA,YAAa,KAAA,CAAM,KAAA,CAAM,CAAA,CAAE,CAAA,qBAExE,CAAA,IAAK,kBAAA,CAAmB,CAAA,CAAE,CAAA,0BAA2B,CAAA,GAAI,KAAA,CAAM,KAAA,CAAM,CAAA,CAAE,CAAA;;AAdG;AAU1F;;KAYY,KAAA,MAAW,KAAA,CAAM,KAAK,CAAC,CAAA;AAAA,kBAGlB,KAAA;EAbD;;;;EAAA,KAkBF,KAAA,MACV,CAAA,SAAU,aAAA,YACN,KAAA,CAAM,CAAA,IACN,CAAA,SAAU,2BAAA,wBACR,QAAA,SAAiB,aAAA,YACf,CAAA,SAAU,aAAA,GACR,YAAA,CAAa,CAAA,EAAG,KAAA,CAAM,CAAA,qBAG1B,CAAA,SAAU,eAAA,YACR,YAAA,CAAa,CAAA,EAAG,qBAAA,CAAsB,CAAA,KACtC,CAAA,SAAU,cAAA,GACR,CAAA;IAAY,SAAA,kBAA2B,aAAA;EAAA,IACrC,YAAA,CAAa,CAAA,EAAG,KAAA,CAAM,KAAA,CAAM,CAAA,cAE9B,CAAA,SAAU,gBAAA,YACR,YAAA,CAAa,CAAA,EAAG,CAAA,YAChB,CAAA,SAAU,mBAAA,YACR,YAAA,CAAa,CAAA,EAAG,CAAA,IAChB,CAAA,SAAU,iBAAA,YACR,CAAA,GACA,CAAA,SAAU,gBAAA,YACR,CAAA,GACA,CAAA,SAAU,gBAAA,iBACR,YAAA,CAAa,CAAA,EAAG,CAAA,IAChB,CAAA,SAAU,eAAA,GACR,YAAA,CAAa,CAAA,YACb,CAAA,SAAU,YAAA,GACR,YAAA,CAAa,CAAA,YACb,CAAA,SAAU,cAAA,GACR,YAAA,CAAa,CAAA,YACb,CAAA,SAAU,gBAAA,GACR,YAAA,CAAa,CAAA,aACb,CAAA,SAAU,aAAA,GACR,YAAA,CAAa,CAAA,EAAG,IAAA,IAChB,CAAA,SAAU,eAAA,GACR,YAAA,CAAa,CAAA,+BACb,CAAA,SAAU,YAAA;EAvD4B;;;;;EAAA,KAgE5D,MAAA,MACV,CAAA,SAAU,aAAA,YACN,MAAA,CAAO,CAAA,IACP,CAAA,SAAU,2BAAA,wBACR,QAAA,SAAiB,aAAA,YACf,CAAA,SAAU,aAAA,GACR,YAAA,CAAa,CAAA,EAAG,MAAA,CAAO,CAAA,qBAG3B,CAAA,SAAU,eAAA,YACR,YAAA,CAAa,CAAA,EAAG,sBAAA,CAAuB,CAAA,KACvC,CAAA,SAAU,cAAA,GACR,CAAA;IAAY,SAAA,kBAA2B,aAAA;EAAA,IACrC,YAAA,CAAa,CAAA,EAAG,KAAA,CAAM,MAAA,CAAO,CAAA,cAE/B,CAAA,SAAU,gBAAA,YACR,YAAA,CAAa,CAAA,EAAG,CAAA,YAChB,CAAA,SAAU,mBAAA,YACR,YAAA,CAAa,CAAA,EAAG,CAAA,IAChB,CAAA,SAAU,iBAAA,YACR,CAAA,GACA,CAAA,SAAU,gBAAA,YACR,CAAA,GAMA,CAAA,SAAU,gBAAA,iBACR,YAAA,CAAa,CAAA,EAAG,CAAA,IAChB,CAAA,SAAU,eAAA,GACR,YAAA,CAAa,CAAA,YACb,CAAA,SAAU,YAAA,GACR,YAAA,CAAa,CAAA,YACb,CAAA,SAAU,cAAA,GACR,YAAA,CAAa,CAAA,YACb,CAAA,SAAU,gBAAA,GACR,YAAA,CAAa,CAAA,aACb,CAAA,SAAU,aAAA,GACR,YAAA,CAAa,CAAA,EAAG,IAAA,IAChB,CAAA,SAAU,eAAA,GACR,YAAA,CAAa,CAAA,+BACb,CAAA,SAAU,YAAA;AAAA;;;;;KASlC,UAAA,MAAgB,KAAA,CAAM,KAAK,CAAC,CAAA;;;;;KAM5B,WAAA,MAAiB,KAAA,CAAM,MAAM,CAAC,CAAA;;;;KAK9B,gBAAA,WAA2B,MAAA,IAAU,sBAAA,CAAuB,CAAA;;;;KAK5D,aAAA,MAAmB,mBAAmB,CAAC,CAAA;;;;;;;;;;AAjIqC;KA6I5E,eAAA,OAAsB,KAAA,CAAM,MAAA,CAAO,CAAA,uCAC3B,CAAA,SAEd,CAAA,uCACuB,CAAA,mBACH,CAAA,OAAQ,CAAA,UAEtB,CAAA,GACF,CAAA,GACF,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { SchemaContext } from "./context-types.mjs";
2
2
 
3
- //#region ../seal/src/types/mutator-types.d.ts
3
+ //#region ../../packages/seal/src/types/mutator-types.d.ts
4
4
  /**
5
5
  * Mutator context
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"mutator-types.d.mts","names":[],"sources":["../../../../../../../seal/src/types/mutator-types.ts"],"mappings":";;;;;AAKA;KAAY,cAAA;EAAc,sBAExB,OAAA,EAAS,OAAA,EAFgB;EAIzB,GAAA,EAAK,aAAa;AAAA;;;;KAMR,OAAA,mBAA0B,IAAA,OAAW,OAAA,GAAU,cAAA,CAAe,OAAA,MAAa,OAAA;AAAvF;;;AAAA,KAKY,qBAAA;EAL+C,wBAOzD,MAAA,EAAQ,OAAA,CAAQ,OAAA,GAP4E;EAS5F,OAAA;IACE,OAAA,EAAS,OAAA;IACT,GAAA,EAAK,aAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"mutator-types.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/types/mutator-types.ts"],"mappings":";;;;;AAKA;KAAY,cAAA;EAAc,sBAExB,OAAA,EAAS,OAAA,EAFgB;EAIzB,GAAA,EAAK,aAAa;AAAA;;;;KAMR,OAAA,mBAA0B,IAAA,OAAW,OAAA,GAAU,cAAA,CAAe,OAAA,MAAa,OAAA;AAAvF;;;AAAA,KAKY,qBAAA;EAL+C,wBAOzD,MAAA,EAAQ,OAAA,CAAQ,OAAA,GAP4E;EAS5F,OAAA;IACE,OAAA,EAAS,OAAA;IACT,GAAA,EAAK,aAAA;EAAA;AAAA"}
@@ -1,4 +1,4 @@
1
- //#region ../seal/src/types/result-types.d.ts
1
+ //#region ../../packages/seal/src/types/result-types.d.ts
2
2
  /**
3
3
  * Validation result
4
4
  */
@@ -11,6 +11,30 @@ type ValidationResult = {
11
11
  input: string;
12
12
  }[];
13
13
  };
14
+ /**
15
+ * What `validate()` returns: a result narrowed by `isValid`.
16
+ *
17
+ * On success `data` is the schema's validated output; on failure it is always
18
+ * `undefined` (a failed validation never hands back the input it rejected).
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * const result = await validate(schema, input);
23
+ *
24
+ * if (!result.isValid) return result.errors;
25
+ *
26
+ * result.data; // Infer.Output<typeof schema>
27
+ * ```
28
+ */
29
+ type TypedValidationResult<TData> = {
30
+ isValid: true;
31
+ data: TData;
32
+ errors: ValidationResult["errors"];
33
+ } | {
34
+ isValid: false;
35
+ data: undefined;
36
+ errors: ValidationResult["errors"];
37
+ };
14
38
  //#endregion
15
- export { ValidationResult };
39
+ export { TypedValidationResult, ValidationResult };
16
40
  //# sourceMappingURL=result-types.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"result-types.d.mts","names":[],"sources":["../../../../../../../seal/src/types/result-types.ts"],"mappings":";;AAGA;;KAAY,gBAAA;EAAgB,gCAE1B,OAAA,WAEA;EAAA,IAAA,OAIE;EAFF,MAAA;IAME,4BAJA,IAAA,UAIK;IAFL,KAAA;IAEA,KAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"result-types.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/types/result-types.ts"],"mappings":";;AAGA;;KAAY,gBAAA;EAAgB,gCAE1B,OAAA,WAEA;EAAA,IAAA,OAIE;EAFF,MAAA;IAME,4BAJA,IAAA,UAIK;IAFL,KAAA,UAqB6B;IAnB7B,KAAA;EAAA;AAAA;;;;;;;;;;;;;;;AAqB2D;KAFnD,qBAAA;EACN,OAAA;EAAe,IAAA,EAAM,KAAA;EAAO,MAAA,EAAQ,gBAAA;AAAA;EACpC,OAAA;EAAgB,IAAA;EAAiB,MAAA,EAAQ,gBAAA;AAAA"}
@@ -1,6 +1,6 @@
1
1
  import { SchemaContext } from "./context-types.mjs";
2
2
 
3
- //#region ../seal/src/types/rule-types.d.ts
3
+ //#region ../../packages/seal/src/types/rule-types.d.ts
4
4
  /**
5
5
  * Rule validation result
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"rule-types.d.mts","names":[],"sources":["../../../../../../../seal/src/types/rule-types.ts"],"mappings":";;;;;AAKA;KAAY,UAAA;EAEN,OAAA;EACA,KAAA;EACA,KAAA;EACA,IAAA;AAAA;EAGA,OAAA;AAAA;AAAA,KAGD,cAAA;AAAA,KAEO,wBAAA,GAA2B,MAAA,SAErC,cAAA,GAAiB,MAAA,SAAe,cAAA;AAN5B;;;AAAA,KAYM,iBAAA,YAA6B,MAAM,SAAS,CAAA;AAVrC;AAEnB;;AAFmB,KAeP,UAAA,iBAA2B,iBAAA,GAAoB,iBAAA;EAXzD,gBAaA,IAAA,UAbiB;EAejB,WAAA,WAjB2C;EAmB3C,aAAA,YAnBqC;EAqBrC,QAAA,GACE,IAAA,EAAM,oBAAA,CAAqB,OAAA,GAC3B,KAAA,OACA,OAAA,EAAS,aAAA,KACN,OAAA,CAAQ,UAAA,GAvBI;EAyBjB,mBAAA,WAzB8C;EA2B9C,YAAA,WArBU;EAuBV,SAAA;AAAA;;;;KAMU,oBAAA,iBAAqC,iBAAA,GAAoB,iBAAA,IACnE,UAAA;EA9BuD;AAAA;AAKzD;;EA8BI,OAAA;IACE,YAAA;IACA,OAAA,EAAS,OAAA;IACT,cAAA,EAAgB,wBAAA;IAChB,oBAAA,EAAsB,MAAA,kBAvBf;IAyBP,iBAAA,EAAmB,MAAA,eAxBlB;IA0BD,kBAAA,EAAoB,MAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"rule-types.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/types/rule-types.ts"],"mappings":";;;;;AAKA;KAAY,UAAA;EAEN,OAAA;EACA,KAAA;EACA,KAAA;EACA,IAAA;AAAA;EAGA,OAAA;AAAA;AAAA,KAGD,cAAA;AAAA,KAEO,wBAAA,GAA2B,MAAA,SAErC,cAAA,GAAiB,MAAA,SAAe,cAAA;AAN5B;;;AAAA,KAYM,iBAAA,YAA6B,MAAM,SAAS,CAAA;AAVrC;AAEnB;;AAFmB,KAeP,UAAA,iBAA2B,iBAAA,GAAoB,iBAAA;EAXzD,gBAaA,IAAA,UAbiB;EAejB,WAAA,WAjB2C;EAmB3C,aAAA,YAnBqC;EAqBrC,QAAA,GACE,IAAA,EAAM,oBAAA,CAAqB,OAAA,GAC3B,KAAA,OACA,OAAA,EAAS,aAAA,KACN,OAAA,CAAQ,UAAA,GAvBI;EAyBjB,mBAAA,WAzB8C;EA2B9C,YAAA,WArBU;EAuBV,SAAA;AAAA;;;;KAMU,oBAAA,iBAAqC,iBAAA,GAAoB,iBAAA,IACnE,UAAA;EA9BuD;AAAA;AAKzD;;EA8BI,OAAA;IACE,YAAA;IACA,OAAA,EAAS,OAAA;IACT,cAAA,EAAgB,wBAAA;IAChB,oBAAA,EAAsB,MAAA,kBAvBf;IAyBP,iBAAA,EAAmB,MAAA,eAxBlB;IA0BD,kBAAA,EAAoB,MAAA;EAAA;AAAA"}
@@ -1,6 +1,6 @@
1
1
  import { BaseValidator } from "../validators/base-validator.mjs";
2
2
 
3
- //#region ../seal/src/types/schema-types.d.ts
3
+ //#region ../../packages/seal/src/types/schema-types.d.ts
4
4
  /**
5
5
  * Schema definition - a record of validators
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"schema-types.d.mts","names":[],"sources":["../../../../../../../seal/src/types/schema-types.ts"],"mappings":";;;;;AAKA;KAAY,MAAA,GAAS,MAAM,SAAS,aAAA"}
1
+ {"version":3,"file":"schema-types.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/types/schema-types.ts"],"mappings":";;;;;AAKA;KAAY,MAAA,GAAS,MAAM,SAAS,aAAA"}
@@ -1,7 +1,7 @@
1
1
  import { JsonSchemaResult, JsonSchemaTarget } from "../standard-schema/json-schema.mjs";
2
2
  import { BaseValidator } from "./base-validator.mjs";
3
3
 
4
- //#region ../seal/src/validators/any-validator.d.ts
4
+ //#region ../../packages/seal/src/validators/any-validator.d.ts
5
5
  /**
6
6
  * Any validator - accepts any value
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"any-validator.d.mts","names":[],"sources":["../../../../../../../seal/src/validators/any-validator.ts"],"mappings":";;;;;;AAOA;cAAa,YAAA,SAAqB,aAAA;;;;EAIhB,YAAA;EAJ6B;;;EAS7B,UAAA;EAAA;;;;;;AAc0E;;;;;;EAA1E,YAAA,CAAa,MAAA,GAAQ,gBAAA,GAAqC,gBAAA;AAAA"}
1
+ {"version":3,"file":"any-validator.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/validators/any-validator.ts"],"mappings":";;;;;;AAOA;cAAa,YAAA,SAAqB,aAAA;;;;EAIhB,YAAA;EAJ6B;;;EAS7B,UAAA;EAAA;;;;;;AAc0E;;;;;;EAA1E,YAAA,CAAa,MAAA,GAAQ,gBAAA,GAAqC,gBAAA;AAAA"}
@@ -1,7 +1,7 @@
1
1
  import { applyNullable } from "../standard-schema/json-schema.mjs";
2
2
  import { BaseValidator } from "./base-validator.mjs";
3
3
 
4
- //#region ../seal/src/validators/any-validator.ts
4
+ //#region ../../packages/seal/src/validators/any-validator.ts
5
5
  /**
6
6
  * Any validator - accepts any value
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"any-validator.mjs","names":[],"sources":["../../../../../../../seal/src/validators/any-validator.ts"],"sourcesContent":["import type { JsonSchemaResult, JsonSchemaTarget } from \"../standard-schema/json-schema\";\nimport { applyNullable } from \"../standard-schema/json-schema\";\nimport { BaseValidator } from \"./base-validator\";\n\n/**\n * Any validator - accepts any value\n */\nexport class AnyValidator extends BaseValidator {\n /**\n * Any validator means any value, so we disable the default required requirement.\n */\n public override requiredRule = null;\n\n /**\n * Set is optional to be true\n */\n public override isOptional = true;\n\n /**\n * @inheritdoc\n *\n * Any validator accepts anything. In JSON Schema, an empty object `{}`\n * is the permissive schema that accepts any valid JSON value.\n *\n * @example\n * ```ts\n * v.any().toJsonSchema(\"draft-2020-12\")\n * // → {}\n * ```\n */\n public override toJsonSchema(target: JsonSchemaTarget = \"draft-2020-12\"): JsonSchemaResult {\n const schema: JsonSchemaResult = {};\n if (this.isNullable) applyNullable(schema, target);\n return schema;\n }\n}\n"],"mappings":";;;;;;;AAOA,IAAa,eAAb,cAAkC,cAAc;;;sBAIf;oBAKF;;;;;;;;;;;;;;CAc7B,AAAgB,aAAa,SAA2B,iBAAmC;EACzF,MAAM,SAA2B,CAAC;EAClC,IAAI,KAAK,YAAY,cAAc,QAAQ,MAAM;EACjD,OAAO;CACT;AACF"}
1
+ {"version":3,"file":"any-validator.mjs","names":[],"sources":["../../../../../../../../packages/seal/src/validators/any-validator.ts"],"sourcesContent":["import type { JsonSchemaResult, JsonSchemaTarget } from \"../standard-schema/json-schema\";\nimport { applyNullable } from \"../standard-schema/json-schema\";\nimport { BaseValidator } from \"./base-validator\";\n\n/**\n * Any validator - accepts any value\n */\nexport class AnyValidator extends BaseValidator {\n /**\n * Any validator means any value, so we disable the default required requirement.\n */\n public override requiredRule = null;\n\n /**\n * Set is optional to be true\n */\n public override isOptional = true;\n\n /**\n * @inheritdoc\n *\n * Any validator accepts anything. In JSON Schema, an empty object `{}`\n * is the permissive schema that accepts any valid JSON value.\n *\n * @example\n * ```ts\n * v.any().toJsonSchema(\"draft-2020-12\")\n * // → {}\n * ```\n */\n public override toJsonSchema(target: JsonSchemaTarget = \"draft-2020-12\"): JsonSchemaResult {\n const schema: JsonSchemaResult = {};\n if (this.isNullable) applyNullable(schema, target);\n return schema;\n }\n}\n"],"mappings":";;;;;;;AAOA,IAAa,eAAb,cAAkC,cAAc;;;sBAIf;oBAKF;;;;;;;;;;;;;;CAc7B,AAAgB,aAAa,SAA2B,iBAAmC;EACzF,MAAM,SAA2B,CAAC;EAClC,IAAI,KAAK,YAAY,cAAc,QAAQ,MAAM;EACjD,OAAO;CACT;AACF"}
@@ -3,7 +3,7 @@ import { SchemaContext } from "../types/context-types.mjs";
3
3
  import { ValidationResult } from "../types/result-types.mjs";
4
4
  import { BaseValidator } from "./base-validator.mjs";
5
5
 
6
- //#region ../seal/src/validators/array-validator.d.ts
6
+ //#region ../../packages/seal/src/validators/array-validator.d.ts
7
7
  /**
8
8
  * Array validator class
9
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"array-validator.d.mts","names":[],"sources":["../../../../../../../seal/src/validators/array-validator.ts"],"mappings":";;;;;;;;;cAmBa,cAAA,SAAuB,aAAA;EAEzB,SAAA,EAAW,aAAA;cAAX,SAAA,EAAW,aAAA,EAClB,YAAA;;;;EAUK,WAAA,CAAY,KAAA;EA8GuB;;;EAvG1B,KAAA;EAoK0D;EA3JnE,IAAA;EA7BwC;EAkCxC,OAAA;EAlC2B;EAuC3B,UAAA;EArCa;EA0Cb,IAAA,CAAK,SAAA,mBAAmC,GAAA;EA1C3B;EA+Cb,GAAA,CAAI,GAAA,UAAa,YAAA;EA9CtB;EAmDK,SAAA,CAAU,MAAA,UAAgB,YAAA;EAzCd;EA8CZ,GAAA,CAAI,GAAA,UAAa,YAAA;EA9BjB;EAmCA,SAAA,CAAU,MAAA,UAAgB,YAAA;EAzB1B;EA8BA,MAAA,CAAO,MAAA,UAAgB,YAAA;EAzBlB;;;;;;;;;;;;;;EA2CL,OAAA,CAAQ,GAAA,UAAa,GAAA,UAAa,YAAA;EAlB3B;;;EA4BP,aAAA,CAAc,GAAA,UAAa,GAAA,UAAa,YAAA;EAVnB;EAerB,MAAA,CAAO,YAAA;EALP;EAUA,MAAA,CAAO,SAAA,mBAAmC,YAAA;EAVf;EAe3B,MAAA,CAAO,IAAA,OAAW,OAAA,EAAS,aAAA;EAV3B;;;;;;EAqBM,QAAA,CAAS,IAAA,OAAW,OAAA,EAAS,aAAA,GAAgB,OAAA,CAAQ,gBAAA;EAXhC;;;;;;;;;;;EAwElB,YAAA,CAAa,MAAA,GAAQ,gBAAA,GAAqC,gBAAA;AAAA"}
1
+ {"version":3,"file":"array-validator.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/validators/array-validator.ts"],"mappings":";;;;;;;;;cAmBa,cAAA,SAAuB,aAAA;EAEzB,SAAA,EAAW,aAAA;cAAX,SAAA,EAAW,aAAA,EAClB,YAAA;EADkB;;;EAWb,WAAA,CAAY,KAAA;EA8G+C;;;EAvGlD,KAAA;EApBkB;EA6B3B,IAAA;EA7BwC;EAkCxC,OAAA;EAhCE;EAqCF,UAAA;;EAKA,IAAA,CAAK,SAAA,mBAAmC,GAAA;EA1CtC;EA+CF,GAAA,CAAI,GAAA,UAAa,YAAA;EApCjB;EAyCA,SAAA,CAAU,MAAA,UAAgB,YAAA;EAlCjB;EAuCT,GAAA,CAAI,GAAA,UAAa,YAAA;EAzBjB;EA8BA,SAAA,CAAU,MAAA,UAAgB,YAAA;EApB1B;EAyBA,MAAA,CAAO,MAAA,UAAgB,YAAA;EAzBiB;;;;;;;;;;;;;;EA2CxC,OAAA,CAAQ,GAAA,UAAa,GAAA,UAAa,YAAA;EAlBX;;;EA4BvB,aAAA,CAAc,GAAA,UAAa,GAAA,UAAa,YAAA;EAVN;EAelC,MAAA,CAAO,YAAA;EALO;EAUd,MAAA,CAAO,SAAA,mBAAmC,YAAA;EAVF;EAexC,MAAA,CAAO,IAAA,OAAW,OAAA,EAAS,aAAA;EAVpB;;;;;;EAqBD,QAAA,CAAS,IAAA,OAAW,OAAA,EAAS,aAAA,GAAgB,OAAA,CAAQ,gBAAA;EAXzC;;;;;;;;;;;EAwET,YAAA,CAAa,MAAA,GAAQ,gBAAA,GAAqC,gBAAA;AAAA"}
@@ -9,7 +9,7 @@ import { sortedArrayRule, uniqueArrayRule } from "../rules/array/array-rules.mjs
9
9
  import { arrayRule } from "../rules/common/type-rules.mjs";
10
10
  import "../rules/index.mjs";
11
11
 
12
- //#region ../seal/src/validators/array-validator.ts
12
+ //#region ../../packages/seal/src/validators/array-validator.ts
13
13
  /**
14
14
  * Array validator class
15
15
  */
@@ -1 +1 @@
1
- {"version":3,"file":"array-validator.mjs","names":[],"sources":["../../../../../../../seal/src/validators/array-validator.ts"],"sourcesContent":["import { setKeyPath } from \"../helpers\";\nimport { flipArrayMutator, sortArrayMutator, uniqueArrayMutator } from \"../mutators\";\nimport {\n arrayRule,\n betweenLengthRule,\n lengthRule,\n maxLengthRule,\n minLengthRule,\n sortedArrayRule,\n uniqueArrayRule,\n} from \"../rules\";\nimport type { SchemaContext, ValidationResult } from \"../types\";\nimport { BaseValidator } from \"./base-validator\";\nimport { applyNullable, getRuleOptions } from \"../standard-schema/json-schema\";\nimport type { JsonSchemaResult, JsonSchemaTarget } from \"../standard-schema/json-schema\";\n\n/**\n * Array validator class\n */\nexport class ArrayValidator extends BaseValidator {\n public constructor(\n public validator: BaseValidator,\n errorMessage?: string,\n ) {\n super();\n this.blankIsMissing = true;\n this.addMutableRule(arrayRule, errorMessage);\n }\n\n /**\n * Check if value is an array type\n */\n public matchesType(value: any): boolean {\n return Array.isArray(value);\n }\n\n /**\n * Clone the validator\n */\n public override clone(): this {\n const cloned = super.clone();\n\n cloned.validator = this.validator.clone();\n\n return cloned;\n }\n\n /** Reverse array order */\n public flip() {\n return this.addMutator(flipArrayMutator);\n }\n\n /** Reverse array order (alias) */\n public reverse() {\n return this.addMutator(flipArrayMutator);\n }\n\n /** Make it has only unique values */\n public onlyUnique() {\n return this.addMutator(uniqueArrayMutator);\n }\n\n /** Sort array */\n public sort(direction: \"asc\" | \"desc\" = \"asc\", key?: string) {\n return this.addMutator(sortArrayMutator, { direction, key });\n }\n\n /** Array length must be greater than the given length */\n public min(min: number, errorMessage?: string) {\n return this.addRule(minLengthRule, errorMessage, { minLength: min });\n }\n\n /** @alias min */\n public minLength(length: number, errorMessage?: string) {\n return this.min(length, errorMessage);\n }\n\n /** Array length must be less than the given length */\n public max(max: number, errorMessage?: string) {\n return this.addRule(maxLengthRule, errorMessage, { maxLength: max });\n }\n\n /** @alias max */\n public maxLength(length: number, errorMessage?: string) {\n return this.max(length, errorMessage);\n }\n\n /** Array length must be of the given length */\n public length(length: number, errorMessage?: string) {\n return this.addRule(lengthRule, errorMessage, { length });\n }\n\n /**\n * Array length must be between min and max (inclusive)\n *\n * @param min - Minimum length (inclusive)\n * @param max - Maximum length (inclusive)\n *\n * @example\n * ```ts\n * v.array(v.string()).between(1, 10) // Array must have 1 to 10 items\n * v.array(v.number()).lengthBetween(5, 20) // Same using alias\n * ```\n *\n * @category Validation Rule\n */\n public between(min: number, max: number, errorMessage?: string) {\n return this.addRule(betweenLengthRule, errorMessage, {\n minLength: min,\n maxLength: max,\n });\n }\n\n /**\n * Alias for between() - array length between min and max\n */\n public lengthBetween(min: number, max: number, errorMessage?: string) {\n return this.between(min, max, errorMessage);\n }\n\n /** Array must have unique values */\n public unique(errorMessage?: string) {\n return this.addRule(uniqueArrayRule, errorMessage);\n }\n\n /** Array must be sorted */\n public sorted(direction: \"asc\" | \"desc\" = \"asc\", errorMessage?: string) {\n return this.addRule(sortedArrayRule, errorMessage, { direction });\n }\n\n /** Mutate the data */\n public mutate(data: any, context: SchemaContext) {\n if (!Array.isArray(data)) return data;\n return super.mutate([...data], context);\n }\n\n /** Validate array\n *\n * Absent input (and absent without `.default()`) propagates as `data: undefined`\n * so the parent ObjectValidator can omit the key. Without this, optional array\n * fields would silently materialise as `[]` in the validated output.\n */\n public async validate(data: any, context: SchemaContext): Promise<ValidationResult> {\n // Apply default when absent, then mutate. Mirrors BaseValidator's\n // `valueForRules = data ?? this.getDefaultValue()` so `.default([...])`\n // works on arrays too.\n const valueForRules = data ?? this.getDefaultValue();\n const mutatedData = await this.mutate(valueForRules, context);\n\n const result = await super.validate(data, context);\n\n if (result.isValid === false) return result;\n\n // Nothing to iterate for absent (no default) or null (nullable) inputs —\n // propagate so the parent ObjectValidator can omit the key.\n if (mutatedData === undefined || mutatedData === null) return result;\n\n // Defensive: type rule (arrayRule) should have failed for non-arrays.\n if (!Array.isArray(mutatedData)) return result;\n\n const errors: ValidationResult[\"errors\"] = [];\n\n // Validate all items in parallel (consistent with ObjectValidator)\n const validationPromises = mutatedData.map(async (value: any, index: number) => {\n const childContext: SchemaContext = {\n ...context,\n parent: mutatedData,\n value,\n key: index.toString(),\n path: setKeyPath(context.path, index.toString()),\n };\n\n const childResult = await this.validator.validate(value, childContext);\n\n // Update mutated data with validated result\n mutatedData[index] = childResult.data;\n\n // Collect errors from this element\n if (childResult.isValid === false) {\n errors.push(...childResult.errors);\n }\n });\n\n await Promise.all(validationPromises);\n\n return {\n isValid: errors.length === 0,\n errors,\n data: await this.startTransformationPipeline(mutatedData, context),\n };\n }\n\n /**\n * @inheritdoc\n *\n * Recursively generates JSON Schema for the array items.\n *\n * @example\n * ```ts\n * v.array(v.string().min(1)).minLength(1).toJsonSchema(\"draft-2020-12\")\n * // → { type: \"array\", items: { type: \"string\", minLength: 1 }, minItems: 1 }\n * ```\n */\n public override toJsonSchema(target: JsonSchemaTarget = \"draft-2020-12\"): JsonSchemaResult {\n const schema: JsonSchemaResult = {\n type: \"array\",\n items: this.validator.toJsonSchema(target),\n };\n\n const minOpts = getRuleOptions(this.rules, \"minLength\");\n if (minOpts?.minLength !== undefined) schema.minItems = minOpts.minLength;\n\n const maxOpts = getRuleOptions(this.rules, \"maxLength\");\n if (maxOpts?.maxLength !== undefined) schema.maxItems = maxOpts.maxLength;\n\n const betweenOpts = getRuleOptions(this.rules, \"betweenLength\");\n if (betweenOpts) {\n if (betweenOpts.minLength !== undefined) schema.minItems = betweenOpts.minLength;\n if (betweenOpts.maxLength !== undefined) schema.maxItems = betweenOpts.maxLength;\n }\n\n const lengthOpts = getRuleOptions(this.rules, \"length\");\n if (lengthOpts?.length !== undefined) {\n schema.minItems = lengthOpts.length;\n schema.maxItems = lengthOpts.length;\n }\n\n if (this.isNullable) applyNullable(schema, target);\n\n return schema;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"array-validator.mjs","names":[],"sources":["../../../../../../../../packages/seal/src/validators/array-validator.ts"],"sourcesContent":["import { setKeyPath } from \"../helpers\";\nimport { flipArrayMutator, sortArrayMutator, uniqueArrayMutator } from \"../mutators\";\nimport {\n arrayRule,\n betweenLengthRule,\n lengthRule,\n maxLengthRule,\n minLengthRule,\n sortedArrayRule,\n uniqueArrayRule,\n} from \"../rules\";\nimport type { SchemaContext, ValidationResult } from \"../types\";\nimport { BaseValidator } from \"./base-validator\";\nimport { applyNullable, getRuleOptions } from \"../standard-schema/json-schema\";\nimport type { JsonSchemaResult, JsonSchemaTarget } from \"../standard-schema/json-schema\";\n\n/**\n * Array validator class\n */\nexport class ArrayValidator extends BaseValidator {\n public constructor(\n public validator: BaseValidator,\n errorMessage?: string,\n ) {\n super();\n this.blankIsMissing = true;\n this.addMutableRule(arrayRule, errorMessage);\n }\n\n /**\n * Check if value is an array type\n */\n public matchesType(value: any): boolean {\n return Array.isArray(value);\n }\n\n /**\n * Clone the validator\n */\n public override clone(): this {\n const cloned = super.clone();\n\n cloned.validator = this.validator.clone();\n\n return cloned;\n }\n\n /** Reverse array order */\n public flip() {\n return this.addMutator(flipArrayMutator);\n }\n\n /** Reverse array order (alias) */\n public reverse() {\n return this.addMutator(flipArrayMutator);\n }\n\n /** Make it has only unique values */\n public onlyUnique() {\n return this.addMutator(uniqueArrayMutator);\n }\n\n /** Sort array */\n public sort(direction: \"asc\" | \"desc\" = \"asc\", key?: string) {\n return this.addMutator(sortArrayMutator, { direction, key });\n }\n\n /** Array length must be greater than the given length */\n public min(min: number, errorMessage?: string) {\n return this.addRule(minLengthRule, errorMessage, { minLength: min });\n }\n\n /** @alias min */\n public minLength(length: number, errorMessage?: string) {\n return this.min(length, errorMessage);\n }\n\n /** Array length must be less than the given length */\n public max(max: number, errorMessage?: string) {\n return this.addRule(maxLengthRule, errorMessage, { maxLength: max });\n }\n\n /** @alias max */\n public maxLength(length: number, errorMessage?: string) {\n return this.max(length, errorMessage);\n }\n\n /** Array length must be of the given length */\n public length(length: number, errorMessage?: string) {\n return this.addRule(lengthRule, errorMessage, { length });\n }\n\n /**\n * Array length must be between min and max (inclusive)\n *\n * @param min - Minimum length (inclusive)\n * @param max - Maximum length (inclusive)\n *\n * @example\n * ```ts\n * v.array(v.string()).between(1, 10) // Array must have 1 to 10 items\n * v.array(v.number()).lengthBetween(5, 20) // Same using alias\n * ```\n *\n * @category Validation Rule\n */\n public between(min: number, max: number, errorMessage?: string) {\n return this.addRule(betweenLengthRule, errorMessage, {\n minLength: min,\n maxLength: max,\n });\n }\n\n /**\n * Alias for between() - array length between min and max\n */\n public lengthBetween(min: number, max: number, errorMessage?: string) {\n return this.between(min, max, errorMessage);\n }\n\n /** Array must have unique values */\n public unique(errorMessage?: string) {\n return this.addRule(uniqueArrayRule, errorMessage);\n }\n\n /** Array must be sorted */\n public sorted(direction: \"asc\" | \"desc\" = \"asc\", errorMessage?: string) {\n return this.addRule(sortedArrayRule, errorMessage, { direction });\n }\n\n /** Mutate the data */\n public mutate(data: any, context: SchemaContext) {\n if (!Array.isArray(data)) return data;\n return super.mutate([...data], context);\n }\n\n /** Validate array\n *\n * Absent input (and absent without `.default()`) propagates as `data: undefined`\n * so the parent ObjectValidator can omit the key. Without this, optional array\n * fields would silently materialise as `[]` in the validated output.\n */\n public async validate(data: any, context: SchemaContext): Promise<ValidationResult> {\n // Apply default when absent, then mutate. Mirrors BaseValidator's\n // `valueForRules = data ?? this.getDefaultValue()` so `.default([...])`\n // works on arrays too.\n const valueForRules = data ?? this.getDefaultValue();\n const mutatedData = await this.mutate(valueForRules, context);\n\n const result = await super.validate(data, context);\n\n if (result.isValid === false) return result;\n\n // Nothing to iterate for absent (no default) or null (nullable) inputs —\n // propagate so the parent ObjectValidator can omit the key.\n if (mutatedData === undefined || mutatedData === null) return result;\n\n // Defensive: type rule (arrayRule) should have failed for non-arrays.\n if (!Array.isArray(mutatedData)) return result;\n\n const errors: ValidationResult[\"errors\"] = [];\n\n // Validate all items in parallel (consistent with ObjectValidator)\n const validationPromises = mutatedData.map(async (value: any, index: number) => {\n const childContext: SchemaContext = {\n ...context,\n parent: mutatedData,\n value,\n key: index.toString(),\n path: setKeyPath(context.path, index.toString()),\n };\n\n const childResult = await this.validator.validate(value, childContext);\n\n // Update mutated data with validated result\n mutatedData[index] = childResult.data;\n\n // Collect errors from this element\n if (childResult.isValid === false) {\n errors.push(...childResult.errors);\n }\n });\n\n await Promise.all(validationPromises);\n\n return {\n isValid: errors.length === 0,\n errors,\n data: await this.startTransformationPipeline(mutatedData, context),\n };\n }\n\n /**\n * @inheritdoc\n *\n * Recursively generates JSON Schema for the array items.\n *\n * @example\n * ```ts\n * v.array(v.string().min(1)).minLength(1).toJsonSchema(\"draft-2020-12\")\n * // → { type: \"array\", items: { type: \"string\", minLength: 1 }, minItems: 1 }\n * ```\n */\n public override toJsonSchema(target: JsonSchemaTarget = \"draft-2020-12\"): JsonSchemaResult {\n const schema: JsonSchemaResult = {\n type: \"array\",\n items: this.validator.toJsonSchema(target),\n };\n\n const minOpts = getRuleOptions(this.rules, \"minLength\");\n if (minOpts?.minLength !== undefined) schema.minItems = minOpts.minLength;\n\n const maxOpts = getRuleOptions(this.rules, \"maxLength\");\n if (maxOpts?.maxLength !== undefined) schema.maxItems = maxOpts.maxLength;\n\n const betweenOpts = getRuleOptions(this.rules, \"betweenLength\");\n if (betweenOpts) {\n if (betweenOpts.minLength !== undefined) schema.minItems = betweenOpts.minLength;\n if (betweenOpts.maxLength !== undefined) schema.maxItems = betweenOpts.maxLength;\n }\n\n const lengthOpts = getRuleOptions(this.rules, \"length\");\n if (lengthOpts?.length !== undefined) {\n schema.minItems = lengthOpts.length;\n schema.maxItems = lengthOpts.length;\n }\n\n if (this.isNullable) applyNullable(schema, target);\n\n return schema;\n }\n}\n"],"mappings":"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"}
@@ -5,7 +5,8 @@ import { SchemaContext } from "../types/context-types.mjs";
5
5
  import { ValidationResult } from "../types/result-types.mjs";
6
6
  import { ContextualizedMutator, Mutator } from "../types/mutator-types.mjs";
7
7
  import { ContextualizedTransformer, SimpleTransformerCallback, TransformerCallback } from "../types/data-transformer-types.mjs";
8
- //#region ../seal/src/validators/base-validator.d.ts
8
+
9
+ //#region ../../packages/seal/src/validators/base-validator.d.ts
9
10
  /**
10
11
  * Base validator class - foundation for all validators
11
12
  */
@@ -346,6 +347,12 @@ declare class BaseValidator<TInput = unknown, TOutput = TInput> {
346
347
  }): this;
347
348
  /**
348
349
  * Define custom rule
350
+ *
351
+ * `value` is deliberately untyped: custom rules run in the rule pipeline,
352
+ * before a container validates its children (an object's fields are not yet
353
+ * validated or defaulted) and, when `firstErrorOnly` is `false` (the default
354
+ * is `true`), even after the type rule has failed. Typing it as the schema
355
+ * output would promise a shape the callback does not always receive.
349
356
  */
350
357
  refine(callback: (value: any, context: SchemaContext) => Promise<string | undefined> | string | undefined): this;
351
358
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"base-validator.d.mts","names":[],"sources":["../../../../../../../seal/src/validators/base-validator.ts"],"mappings":"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"}
1
+ {"version":3,"file":"base-validator.d.mts","names":[],"sources":["../../../../../../../../packages/seal/src/validators/base-validator.ts"],"mappings":"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"}