@maroonedog/luq 0.1.2-alpha → 2.0.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 (1283) hide show
  1. package/LICENSE +9 -9
  2. package/README.md +389 -215
  3. package/dist/async/async-context.d.ts +41 -0
  4. package/dist/async/async-context.js +84 -0
  5. package/dist/async/async-context.mjs +79 -0
  6. package/dist/async/async-validator.d.ts +20 -0
  7. package/dist/async/async-validator.js +52 -0
  8. package/dist/async/async-validator.mjs +47 -0
  9. package/dist/async/index.d.ts +4 -0
  10. package/dist/async/index.js +25 -0
  11. package/dist/async/index.mjs +16 -0
  12. package/dist/async.d.ts +1 -0
  13. package/dist/async.js +2 -0
  14. package/dist/async.mjs +1 -0
  15. package/dist/builder/builder-surface.types.d.ts +39 -0
  16. package/dist/builder/builder-surface.types.js +2 -0
  17. package/dist/builder/builder-surface.types.mjs +1 -0
  18. package/dist/builder/compile-declarations.d.ts +4 -0
  19. package/dist/builder/compile-declarations.js +40 -0
  20. package/dist/builder/compile-declarations.mjs +37 -0
  21. package/dist/builder/create-builder.d.ts +16 -0
  22. package/dist/builder/create-builder.js +98 -0
  23. package/dist/builder/create-builder.mjs +92 -0
  24. package/dist/builder/create-field-builder.d.ts +5 -0
  25. package/dist/builder/create-field-builder.js +47 -0
  26. package/dist/builder/create-field-builder.mjs +44 -0
  27. package/dist/builder/create-plan-validator.d.ts +3 -0
  28. package/dist/builder/create-plan-validator.js +15 -0
  29. package/dist/builder/create-plan-validator.mjs +12 -0
  30. package/dist/builder/create-projection-reader.d.ts +3 -0
  31. package/dist/builder/create-projection-reader.js +44 -0
  32. package/dist/builder/create-projection-reader.mjs +41 -0
  33. package/dist/builder/create-subset-validator.d.ts +3 -0
  34. package/dist/builder/create-subset-validator.js +40 -0
  35. package/dist/builder/create-subset-validator.mjs +37 -0
  36. package/dist/builder/field-builder.types.d.ts +43 -0
  37. package/dist/builder/field-builder.types.js +11 -0
  38. package/dist/builder/field-builder.types.mjs +8 -0
  39. package/dist/builder/field-entry.types.d.ts +10 -0
  40. package/dist/builder/field-entry.types.js +2 -0
  41. package/dist/builder/field-entry.types.mjs +1 -0
  42. package/dist/builder/field-options.types.d.ts +11 -0
  43. package/dist/builder/field-options.types.js +13 -0
  44. package/dist/builder/field-options.types.mjs +12 -0
  45. package/dist/builder/global-config-store.d.ts +4 -0
  46. package/dist/builder/global-config-store.js +29 -0
  47. package/dist/builder/global-config-store.mjs +24 -0
  48. package/dist/builder/index.d.ts +6 -0
  49. package/dist/builder/index.js +17 -0
  50. package/dist/builder/index.mjs +8 -0
  51. package/dist/builder/resolve-field-default.d.ts +14 -0
  52. package/dist/builder/resolve-field-default.js +50 -0
  53. package/dist/builder/resolve-field-default.mjs +47 -0
  54. package/dist/builder/validator.types.d.ts +28 -0
  55. package/dist/builder/validator.types.js +2 -0
  56. package/dist/builder/validator.types.mjs +1 -0
  57. package/dist/chain/attach-slot-methods.d.ts +17 -0
  58. package/dist/chain/attach-slot-methods.js +47 -0
  59. package/dist/chain/attach-slot-methods.mjs +42 -0
  60. package/dist/chain/chain-method.types.d.ts +16 -0
  61. package/dist/chain/chain-method.types.js +2 -0
  62. package/dist/chain/chain-method.types.mjs +1 -0
  63. package/dist/chain/chain-state.types.d.ts +47 -0
  64. package/dist/chain/chain-state.types.js +2 -0
  65. package/dist/chain/chain-state.types.mjs +1 -0
  66. package/dist/chain/collect-branch-rules.d.ts +18 -0
  67. package/dist/chain/collect-branch-rules.js +71 -0
  68. package/dist/chain/collect-branch-rules.mjs +65 -0
  69. package/dist/chain/collect-field-rules.d.ts +10 -0
  70. package/dist/chain/collect-field-rules.js +22 -0
  71. package/dist/chain/collect-field-rules.mjs +17 -0
  72. package/dist/chain/create-chain-node.d.ts +26 -0
  73. package/dist/chain/create-chain-node.js +82 -0
  74. package/dist/chain/create-chain-node.mjs +77 -0
  75. package/dist/chain/create-field-slots.d.ts +6 -0
  76. package/dist/chain/create-field-slots.js +37 -0
  77. package/dist/chain/create-field-slots.mjs +33 -0
  78. package/dist/chain/field-chain.types.d.ts +25 -0
  79. package/dist/chain/field-chain.types.js +2 -0
  80. package/dist/chain/field-chain.types.mjs +1 -0
  81. package/dist/chain/field-slots.types.d.ts +18 -0
  82. package/dist/chain/field-slots.types.js +2 -0
  83. package/dist/chain/field-slots.types.mjs +1 -0
  84. package/dist/chain/index.d.ts +13 -0
  85. package/dist/chain/index.js +26 -0
  86. package/dist/chain/index.mjs +9 -0
  87. package/dist/chain/marker-coverage.types.d.ts +56 -0
  88. package/dist/chain/marker-coverage.types.js +2 -0
  89. package/dist/chain/marker-coverage.types.mjs +1 -0
  90. package/dist/chain/plugin-bag.types.d.ts +9 -0
  91. package/dist/chain/plugin-bag.types.js +2 -0
  92. package/dist/chain/plugin-bag.types.mjs +1 -0
  93. package/dist/chain/refine-methods.types.d.ts +33 -0
  94. package/dist/chain/refine-methods.types.js +14 -0
  95. package/dist/chain/refine-methods.types.mjs +11 -0
  96. package/dist/chain/resolve-args.types.d.ts +28 -0
  97. package/dist/chain/resolve-args.types.js +2 -0
  98. package/dist/chain/resolve-args.types.mjs +1 -0
  99. package/dist/chain/slot-value.types.d.ts +14 -0
  100. package/dist/chain/slot-value.types.js +2 -0
  101. package/dist/chain/slot-value.types.mjs +1 -0
  102. package/dist/compile/branch-executor.port.d.ts +6 -0
  103. package/dist/compile/branch-executor.port.js +2 -0
  104. package/dist/compile/branch-executor.port.mjs +1 -0
  105. package/dist/compile/compile-array-node.d.ts +19 -0
  106. package/dist/compile/compile-array-node.js +50 -0
  107. package/dist/compile/compile-array-node.mjs +46 -0
  108. package/dist/compile/compile-composite.d.ts +18 -0
  109. package/dist/compile/compile-composite.js +30 -0
  110. package/dist/compile/compile-composite.mjs +27 -0
  111. package/dist/compile/compile-field.d.ts +31 -0
  112. package/dist/compile/compile-field.js +67 -0
  113. package/dist/compile/compile-field.mjs +62 -0
  114. package/dist/compile/compile-schema.d.ts +8 -0
  115. package/dist/compile/compile-schema.js +126 -0
  116. package/dist/compile/compile-schema.mjs +121 -0
  117. package/dist/compile/declared-child-keys.d.ts +15 -0
  118. package/dist/compile/declared-child-keys.js +70 -0
  119. package/dist/compile/declared-child-keys.mjs +66 -0
  120. package/dist/compile/group-array-fields.d.ts +39 -0
  121. package/dist/compile/group-array-fields.js +66 -0
  122. package/dist/compile/group-array-fields.mjs +63 -0
  123. package/dist/compile/index.d.ts +18 -0
  124. package/dist/compile/index.js +33 -0
  125. package/dist/compile/index.mjs +10 -0
  126. package/dist/compile/resolve-conditional-presence.d.ts +5 -0
  127. package/dist/compile/resolve-conditional-presence.js +41 -0
  128. package/dist/compile/resolve-conditional-presence.mjs +37 -0
  129. package/dist/compile/resolve-presence.d.ts +6 -0
  130. package/dist/compile/resolve-presence.js +59 -0
  131. package/dist/compile/resolve-presence.mjs +55 -0
  132. package/dist/compile/resolve-recursion.d.ts +10 -0
  133. package/dist/compile/resolve-recursion.js +33 -0
  134. package/dist/compile/resolve-recursion.mjs +28 -0
  135. package/dist/compile/split-rules-by-kind.d.ts +16 -0
  136. package/dist/compile/split-rules-by-kind.js +61 -0
  137. package/dist/compile/split-rules-by-kind.mjs +56 -0
  138. package/dist/compile/validation-plan.types.d.ts +113 -0
  139. package/dist/compile/validation-plan.types.js +2 -0
  140. package/dist/compile/validation-plan.types.mjs +1 -0
  141. package/dist/core/type-erasure.d.ts +42 -0
  142. package/dist/core/type-erasure.js +63 -0
  143. package/dist/core/type-erasure.mjs +57 -0
  144. package/dist/field-rule/create-field-rule.d.ts +11 -0
  145. package/dist/field-rule/create-field-rule.js +50 -0
  146. package/dist/field-rule/create-field-rule.mjs +46 -0
  147. package/dist/field-rule/create-plugin-registry.d.ts +2 -0
  148. package/dist/field-rule/create-plugin-registry.js +60 -0
  149. package/dist/field-rule/create-plugin-registry.mjs +57 -0
  150. package/dist/field-rule/field-rule.types.d.ts +38 -0
  151. package/dist/field-rule/field-rule.types.js +2 -0
  152. package/dist/field-rule/field-rule.types.mjs +1 -0
  153. package/dist/field-rule/index.d.ts +5 -0
  154. package/dist/field-rule/index.js +13 -0
  155. package/dist/field-rule/index.mjs +6 -0
  156. package/dist/field-rule/plugin-registry.types.d.ts +17 -0
  157. package/dist/field-rule/plugin-registry.types.js +2 -0
  158. package/dist/field-rule/plugin-registry.types.mjs +1 -0
  159. package/dist/field-rule/use-field.d.ts +6 -0
  160. package/dist/field-rule/use-field.js +6 -0
  161. package/dist/field-rule/use-field.mjs +3 -0
  162. package/dist/field-rule.d.ts +1 -0
  163. package/dist/field-rule.js +2 -0
  164. package/dist/field-rule.mjs +1 -0
  165. package/dist/index.d.ts +14 -72
  166. package/dist/index.js +48 -2
  167. package/dist/index.mjs +18 -2
  168. package/dist/json-schema/apply-keyword-binding.d.ts +20 -0
  169. package/dist/json-schema/apply-keyword-binding.js +7 -0
  170. package/dist/json-schema/apply-keyword-binding.mjs +4 -0
  171. package/dist/json-schema/bind-keyword.d.ts +7 -0
  172. package/dist/json-schema/bind-keyword.js +21 -0
  173. package/dist/json-schema/bind-keyword.mjs +16 -0
  174. package/dist/json-schema/build-from-schema.d.ts +23 -0
  175. package/dist/json-schema/build-from-schema.js +64 -0
  176. package/dist/json-schema/build-from-schema.mjs +57 -0
  177. package/dist/json-schema/collect-definitions.d.ts +21 -0
  178. package/dist/json-schema/collect-definitions.js +67 -0
  179. package/dist/json-schema/collect-definitions.mjs +59 -0
  180. package/dist/json-schema/collect-sub-schema-rules.d.ts +6 -0
  181. package/dist/json-schema/collect-sub-schema-rules.js +82 -0
  182. package/dist/json-schema/collect-sub-schema-rules.mjs +78 -0
  183. package/dist/json-schema/compose-conditional.d.ts +4 -0
  184. package/dist/json-schema/compose-conditional.js +17 -0
  185. package/dist/json-schema/compose-conditional.mjs +14 -0
  186. package/dist/json-schema/compose-keyword.d.ts +7 -0
  187. package/dist/json-schema/compose-keyword.js +127 -0
  188. package/dist/json-schema/compose-keyword.mjs +121 -0
  189. package/dist/json-schema/create-structural-context.d.ts +10 -0
  190. package/dist/json-schema/create-structural-context.js +51 -0
  191. package/dist/json-schema/create-structural-context.mjs +48 -0
  192. package/dist/json-schema/declare-object-keywords.d.ts +24 -0
  193. package/dist/json-schema/declare-object-keywords.js +140 -0
  194. package/dist/json-schema/declare-object-keywords.mjs +132 -0
  195. package/dist/json-schema/declare-presence.d.ts +12 -0
  196. package/dist/json-schema/declare-presence.js +46 -0
  197. package/dist/json-schema/declare-presence.mjs +43 -0
  198. package/dist/json-schema/declare-required-properties.d.ts +18 -0
  199. package/dist/json-schema/declare-required-properties.js +58 -0
  200. package/dist/json-schema/declare-required-properties.mjs +55 -0
  201. package/dist/json-schema/declare-scalar-keywords.d.ts +11 -0
  202. package/dist/json-schema/declare-scalar-keywords.js +110 -0
  203. package/dist/json-schema/declare-scalar-keywords.mjs +105 -0
  204. package/dist/json-schema/declare-value-keywords.d.ts +23 -0
  205. package/dist/json-schema/declare-value-keywords.js +120 -0
  206. package/dist/json-schema/declare-value-keywords.mjs +112 -0
  207. package/dist/json-schema/draft07-keyword-value.types.d.ts +61 -0
  208. package/dist/json-schema/draft07-keyword-value.types.js +2 -0
  209. package/dist/json-schema/draft07-keyword-value.types.mjs +1 -0
  210. package/dist/json-schema/draft07.types.d.ts +57 -0
  211. package/dist/json-schema/draft07.types.js +28 -0
  212. package/dist/json-schema/draft07.types.mjs +24 -0
  213. package/dist/json-schema/extensions/json-schema/index.d.ts +3 -0
  214. package/dist/json-schema/extensions/json-schema/index.js +27 -0
  215. package/dist/json-schema/extensions/json-schema/index.mjs +11 -0
  216. package/dist/json-schema/extensions/json-schema/json-schema.d.ts +18 -0
  217. package/dist/json-schema/extensions/json-schema/json-schema.js +100 -0
  218. package/dist/json-schema/extensions/json-schema/json-schema.mjs +96 -0
  219. package/dist/json-schema/extensions/json-schema-full-feature/bundle-coverage.d.ts +38 -0
  220. package/dist/json-schema/extensions/json-schema-full-feature/bundle-coverage.js +96 -0
  221. package/dist/json-schema/extensions/json-schema-full-feature/bundle-coverage.mjs +89 -0
  222. package/dist/json-schema/extensions/json-schema-full-feature/bundled-plugins.d.ts +7 -0
  223. package/dist/json-schema/extensions/json-schema-full-feature/bundled-plugins.js +107 -0
  224. package/dist/json-schema/extensions/json-schema-full-feature/bundled-plugins.mjs +104 -0
  225. package/dist/json-schema/extensions/json-schema-full-feature/index.d.ts +4 -0
  226. package/dist/json-schema/extensions/json-schema-full-feature/index.js +25 -0
  227. package/dist/json-schema/extensions/json-schema-full-feature/index.mjs +14 -0
  228. package/dist/json-schema/extensions/json-schema-full-feature/json-schema-full-feature.d.ts +23 -0
  229. package/dist/json-schema/extensions/json-schema-full-feature/json-schema-full-feature.js +64 -0
  230. package/dist/json-schema/extensions/json-schema-full-feature/json-schema-full-feature.mjs +60 -0
  231. package/dist/json-schema/flatten-array-schema.d.ts +25 -0
  232. package/dist/json-schema/flatten-array-schema.js +141 -0
  233. package/dist/json-schema/flatten-array-schema.mjs +134 -0
  234. package/dist/json-schema/flatten-schema.d.ts +20 -0
  235. package/dist/json-schema/flatten-schema.js +162 -0
  236. package/dist/json-schema/flatten-schema.mjs +157 -0
  237. package/dist/json-schema/format-map.d.ts +20 -0
  238. package/dist/json-schema/format-map.js +89 -0
  239. package/dist/json-schema/format-map.mjs +84 -0
  240. package/dist/json-schema/index.d.ts +19 -0
  241. package/dist/json-schema/index.js +57 -0
  242. package/dist/json-schema/index.mjs +19 -0
  243. package/dist/json-schema/json-schema-bag.types.d.ts +124 -0
  244. package/dist/json-schema/json-schema-bag.types.js +2 -0
  245. package/dist/json-schema/json-schema-bag.types.mjs +1 -0
  246. package/dist/json-schema/keyword-binding.types.d.ts +50 -0
  247. package/dist/json-schema/keyword-binding.types.js +2 -0
  248. package/dist/json-schema/keyword-binding.types.mjs +1 -0
  249. package/dist/json-schema/keyword-map-array.d.ts +13 -0
  250. package/dist/json-schema/keyword-map-array.js +37 -0
  251. package/dist/json-schema/keyword-map-array.mjs +34 -0
  252. package/dist/json-schema/keyword-map-core.d.ts +8 -0
  253. package/dist/json-schema/keyword-map-core.js +54 -0
  254. package/dist/json-schema/keyword-map-core.mjs +51 -0
  255. package/dist/json-schema/keyword-map-number.d.ts +13 -0
  256. package/dist/json-schema/keyword-map-number.js +33 -0
  257. package/dist/json-schema/keyword-map-number.mjs +30 -0
  258. package/dist/json-schema/keyword-map-object.d.ts +17 -0
  259. package/dist/json-schema/keyword-map-object.js +51 -0
  260. package/dist/json-schema/keyword-map-object.mjs +48 -0
  261. package/dist/json-schema/keyword-map-string.d.ts +20 -0
  262. package/dist/json-schema/keyword-map-string.js +44 -0
  263. package/dist/json-schema/keyword-map-string.mjs +41 -0
  264. package/dist/json-schema/keyword-map.d.ts +32 -0
  265. package/dist/json-schema/keyword-map.js +93 -0
  266. package/dist/json-schema/keyword-map.mjs +84 -0
  267. package/dist/json-schema/resolve-ref.d.ts +16 -0
  268. package/dist/json-schema/resolve-ref.js +103 -0
  269. package/dist/json-schema/resolve-ref.mjs +97 -0
  270. package/dist/json-schema/schema-to-declarations.d.ts +9 -0
  271. package/dist/json-schema/schema-to-declarations.js +122 -0
  272. package/dist/json-schema/schema-to-declarations.mjs +116 -0
  273. package/dist/json-schema/structural-expansion.types.d.ts +83 -0
  274. package/dist/json-schema/structural-expansion.types.js +22 -0
  275. package/dist/json-schema/structural-expansion.types.mjs +18 -0
  276. package/dist/json-schema/unsupported-keyword-error.d.ts +5 -0
  277. package/dist/json-schema/unsupported-keyword-error.js +24 -0
  278. package/dist/json-schema/unsupported-keyword-error.mjs +20 -0
  279. package/dist/path/create-array-reader.d.ts +13 -0
  280. package/dist/path/create-array-reader.js +22 -0
  281. package/dist/path/create-array-reader.mjs +19 -0
  282. package/dist/path/create-value-reader.d.ts +26 -0
  283. package/dist/path/create-value-reader.js +71 -0
  284. package/dist/path/create-value-reader.mjs +65 -0
  285. package/dist/path/create-value-writer.d.ts +5 -0
  286. package/dist/path/create-value-writer.js +55 -0
  287. package/dist/path/create-value-writer.mjs +52 -0
  288. package/dist/path/element-of.types.d.ts +1 -0
  289. package/dist/path/element-of.types.js +2 -0
  290. package/dist/path/element-of.types.mjs +1 -0
  291. package/dist/path/field-path.types.d.ts +13 -0
  292. package/dist/path/field-path.types.js +2 -0
  293. package/dist/path/field-path.types.mjs +1 -0
  294. package/dist/path/format-issue-path.d.ts +15 -0
  295. package/dist/path/format-issue-path.js +34 -0
  296. package/dist/path/format-issue-path.mjs +31 -0
  297. package/dist/path/index.d.ts +18 -0
  298. package/dist/path/index.js +26 -0
  299. package/dist/path/index.mjs +7 -0
  300. package/dist/path/leaf-path.types.d.ts +16 -0
  301. package/dist/path/leaf-path.types.js +2 -0
  302. package/dist/path/leaf-path.types.mjs +1 -0
  303. package/dist/path/match-path-pattern.d.ts +9 -0
  304. package/dist/path/match-path-pattern.js +66 -0
  305. package/dist/path/match-path-pattern.mjs +63 -0
  306. package/dist/path/opaque-object.types.d.ts +5 -0
  307. package/dist/path/opaque-object.types.js +2 -0
  308. package/dist/path/opaque-object.types.mjs +1 -0
  309. package/dist/path/parse-field-path.d.ts +25 -0
  310. package/dist/path/parse-field-path.js +75 -0
  311. package/dist/path/parse-field-path.mjs +69 -0
  312. package/dist/path/path-depth.types.d.ts +4 -0
  313. package/dist/path/path-depth.types.js +2 -0
  314. package/dist/path/path-depth.types.mjs +1 -0
  315. package/dist/path/path-segment.types.d.ts +27 -0
  316. package/dist/path/path-segment.types.js +2 -0
  317. package/dist/path/path-segment.types.mjs +1 -0
  318. package/dist/path/property-value-of.types.d.ts +2 -0
  319. package/dist/path/property-value-of.types.js +2 -0
  320. package/dist/path/property-value-of.types.mjs +1 -0
  321. package/dist/path/reserved-segment.d.ts +28 -0
  322. package/dist/path/reserved-segment.js +68 -0
  323. package/dist/path/reserved-segment.mjs +62 -0
  324. package/dist/path/value-at-path.types.d.ts +25 -0
  325. package/dist/path/value-at-path.types.js +2 -0
  326. package/dist/path/value-at-path.types.mjs +1 -0
  327. package/dist/plugin-kit/compiled-rule.d.ts +99 -0
  328. package/dist/plugin-kit/compiled-rule.js +2 -0
  329. package/dist/plugin-kit/compiled-rule.mjs +1 -0
  330. package/dist/plugin-kit/create-conditional-presence.d.ts +25 -0
  331. package/dist/plugin-kit/create-conditional-presence.js +32 -0
  332. package/dist/plugin-kit/create-conditional-presence.mjs +28 -0
  333. package/dist/plugin-kit/create-rule.d.ts +48 -0
  334. package/dist/plugin-kit/create-rule.js +67 -0
  335. package/dist/plugin-kit/create-rule.mjs +57 -0
  336. package/dist/plugin-kit/external-context.d.ts +2 -0
  337. package/dist/plugin-kit/external-context.js +25 -0
  338. package/dist/plugin-kit/external-context.mjs +22 -0
  339. package/dist/plugin-kit/index.d.ts +11 -0
  340. package/dist/plugin-kit/index.js +39 -0
  341. package/dist/plugin-kit/index.mjs +23 -0
  342. package/dist/plugin-kit/is-json-value-equal.d.ts +10 -0
  343. package/dist/plugin-kit/is-json-value-equal.js +81 -0
  344. package/dist/plugin-kit/is-json-value-equal.mjs +77 -0
  345. package/dist/plugin-kit/marker.types.d.ts +114 -0
  346. package/dist/plugin-kit/marker.types.js +2 -0
  347. package/dist/plugin-kit/marker.types.mjs +1 -0
  348. package/dist/plugin-kit/plugin-definition.d.ts +40 -0
  349. package/dist/plugin-kit/plugin-definition.js +25 -0
  350. package/dist/plugin-kit/plugin-definition.mjs +20 -0
  351. package/dist/plugin-kit/rule-build-context.d.ts +27 -0
  352. package/dist/plugin-kit/rule-build-context.js +8 -0
  353. package/dist/plugin-kit/rule-build-context.mjs +5 -0
  354. package/dist/plugin-kit/runtime-args.types.d.ts +27 -0
  355. package/dist/plugin-kit/runtime-args.types.js +2 -0
  356. package/dist/plugin-kit/runtime-args.types.mjs +1 -0
  357. package/dist/plugin-kit.d.ts +1 -0
  358. package/dist/plugin-kit.js +2 -0
  359. package/dist/plugin-kit.mjs +1 -0
  360. package/dist/plugins/array-contains/array-contains.d.ts +22 -0
  361. package/dist/plugins/array-contains/array-contains.js +82 -0
  362. package/dist/plugins/array-contains/array-contains.mjs +79 -0
  363. package/dist/plugins/array-contains/index.d.ts +2 -0
  364. package/dist/plugins/array-contains/index.js +5 -0
  365. package/dist/plugins/array-contains/index.mjs +1 -0
  366. package/dist/plugins/array-each/array-each.d.ts +14 -0
  367. package/dist/plugins/array-each/array-each.js +51 -0
  368. package/dist/plugins/array-each/array-each.mjs +48 -0
  369. package/dist/plugins/array-each/index.d.ts +1 -0
  370. package/dist/plugins/array-each/index.js +5 -0
  371. package/dist/plugins/array-each/index.mjs +1 -0
  372. package/dist/plugins/array-includes/array-includes.d.ts +9 -0
  373. package/dist/plugins/array-includes/array-includes.js +26 -0
  374. package/dist/plugins/array-includes/array-includes.mjs +23 -0
  375. package/dist/plugins/array-includes/index.d.ts +2 -0
  376. package/dist/plugins/array-includes/index.js +5 -0
  377. package/dist/plugins/array-includes/index.mjs +1 -0
  378. package/dist/plugins/array-max-length/array-max-length.d.ts +10 -0
  379. package/dist/plugins/array-max-length/array-max-length.js +29 -0
  380. package/dist/plugins/array-max-length/array-max-length.mjs +26 -0
  381. package/dist/plugins/array-max-length/index.d.ts +2 -0
  382. package/dist/plugins/array-max-length/index.js +5 -0
  383. package/dist/plugins/array-max-length/index.mjs +1 -0
  384. package/dist/plugins/array-min-length/array-min-length.d.ts +10 -0
  385. package/dist/plugins/array-min-length/array-min-length.js +29 -0
  386. package/dist/plugins/array-min-length/array-min-length.mjs +26 -0
  387. package/dist/plugins/array-min-length/index.d.ts +2 -0
  388. package/dist/plugins/array-min-length/index.js +5 -0
  389. package/dist/plugins/array-min-length/index.mjs +1 -0
  390. package/dist/plugins/array-unique/array-unique.d.ts +7 -0
  391. package/dist/plugins/array-unique/array-unique.js +54 -0
  392. package/dist/plugins/array-unique/array-unique.mjs +51 -0
  393. package/dist/plugins/array-unique/index.d.ts +1 -0
  394. package/dist/plugins/array-unique/index.js +5 -0
  395. package/dist/plugins/array-unique/index.mjs +1 -0
  396. package/dist/plugins/arrayContains.d.ts +1 -37
  397. package/dist/plugins/arrayContains.js +2 -1
  398. package/dist/plugins/arrayContains.mjs +1 -1
  399. package/dist/plugins/arrayEach.d.ts +1 -0
  400. package/dist/plugins/arrayEach.js +2 -0
  401. package/dist/plugins/arrayEach.mjs +1 -0
  402. package/dist/plugins/arrayIncludes.d.ts +1 -42
  403. package/dist/plugins/arrayIncludes.js +2 -1
  404. package/dist/plugins/arrayIncludes.mjs +1 -1
  405. package/dist/plugins/arrayMaxLength.d.ts +1 -43
  406. package/dist/plugins/arrayMaxLength.js +2 -1
  407. package/dist/plugins/arrayMaxLength.mjs +1 -1
  408. package/dist/plugins/arrayMinLength.d.ts +1 -43
  409. package/dist/plugins/arrayMinLength.js +2 -1
  410. package/dist/plugins/arrayMinLength.mjs +1 -1
  411. package/dist/plugins/arrayUnique.d.ts +1 -41
  412. package/dist/plugins/arrayUnique.js +2 -1
  413. package/dist/plugins/arrayUnique.mjs +1 -1
  414. package/dist/plugins/boolean-falsy/boolean-falsy.d.ts +7 -0
  415. package/dist/plugins/boolean-falsy/boolean-falsy.js +24 -0
  416. package/dist/plugins/boolean-falsy/boolean-falsy.mjs +21 -0
  417. package/dist/plugins/boolean-falsy/index.d.ts +1 -0
  418. package/dist/plugins/boolean-falsy/index.js +5 -0
  419. package/dist/plugins/boolean-falsy/index.mjs +1 -0
  420. package/dist/plugins/boolean-truthy/boolean-truthy.d.ts +7 -0
  421. package/dist/plugins/boolean-truthy/boolean-truthy.js +24 -0
  422. package/dist/plugins/boolean-truthy/boolean-truthy.mjs +21 -0
  423. package/dist/plugins/boolean-truthy/index.d.ts +1 -0
  424. package/dist/plugins/boolean-truthy/index.js +5 -0
  425. package/dist/plugins/boolean-truthy/index.mjs +1 -0
  426. package/dist/plugins/booleanFalsy.d.ts +1 -41
  427. package/dist/plugins/booleanFalsy.js +2 -1
  428. package/dist/plugins/booleanFalsy.mjs +1 -1
  429. package/dist/plugins/booleanTruthy.d.ts +1 -38
  430. package/dist/plugins/booleanTruthy.js +2 -1
  431. package/dist/plugins/booleanTruthy.mjs +1 -1
  432. package/dist/plugins/compare-field/compare-field.d.ts +13 -0
  433. package/dist/plugins/compare-field/compare-field.js +57 -0
  434. package/dist/plugins/compare-field/compare-field.mjs +54 -0
  435. package/dist/plugins/compare-field/index.d.ts +2 -0
  436. package/dist/plugins/compare-field/index.js +5 -0
  437. package/dist/plugins/compare-field/index.mjs +1 -0
  438. package/dist/plugins/compareField.d.ts +1 -58
  439. package/dist/plugins/compareField.js +2 -1
  440. package/dist/plugins/compareField.mjs +1 -1
  441. package/dist/plugins/conditional-schema/conditional-schema.d.ts +17 -0
  442. package/dist/plugins/conditional-schema/conditional-schema.js +87 -0
  443. package/dist/plugins/conditional-schema/conditional-schema.mjs +84 -0
  444. package/dist/plugins/conditional-schema/index.d.ts +2 -0
  445. package/dist/plugins/conditional-schema/index.js +5 -0
  446. package/dist/plugins/conditional-schema/index.mjs +1 -0
  447. package/dist/plugins/conditionalSchema.d.ts +1 -0
  448. package/dist/plugins/conditionalSchema.js +2 -0
  449. package/dist/plugins/conditionalSchema.mjs +1 -0
  450. package/dist/plugins/custom/custom.d.ts +12 -0
  451. package/dist/plugins/custom/custom.js +82 -0
  452. package/dist/plugins/custom/custom.mjs +79 -0
  453. package/dist/plugins/custom/index.d.ts +1 -0
  454. package/dist/plugins/custom/index.js +5 -0
  455. package/dist/plugins/custom/index.mjs +1 -0
  456. package/dist/plugins/custom.d.ts +1 -60
  457. package/dist/plugins/custom.js +2 -1
  458. package/dist/plugins/custom.mjs +1 -1
  459. package/dist/plugins/from-context/from-context.d.ts +28 -0
  460. package/dist/plugins/from-context/from-context.js +84 -0
  461. package/dist/plugins/from-context/from-context.mjs +81 -0
  462. package/dist/plugins/from-context/index.d.ts +2 -0
  463. package/dist/plugins/from-context/index.js +5 -0
  464. package/dist/plugins/from-context/index.mjs +1 -0
  465. package/dist/plugins/fromContext.d.ts +1 -0
  466. package/dist/plugins/fromContext.js +2 -0
  467. package/dist/plugins/fromContext.mjs +1 -0
  468. package/dist/plugins/index.d.ts +1 -0
  469. package/dist/plugins/index.generated.d.ts +77 -0
  470. package/dist/plugins/index.generated.js +160 -0
  471. package/dist/plugins/index.generated.mjs +79 -0
  472. package/dist/plugins/index.js +2 -0
  473. package/dist/plugins/index.mjs +1 -0
  474. package/dist/plugins/jsonSchema.d.ts +1 -11
  475. package/dist/plugins/jsonSchema.js +2 -1
  476. package/dist/plugins/jsonSchema.mjs +1 -1
  477. package/dist/plugins/jsonSchemaFullFeature.d.ts +1 -31
  478. package/dist/plugins/jsonSchemaFullFeature.js +2 -1
  479. package/dist/plugins/jsonSchemaFullFeature.mjs +1 -1
  480. package/dist/plugins/literal/index.d.ts +1 -0
  481. package/dist/plugins/literal/index.js +5 -0
  482. package/dist/plugins/literal/index.mjs +1 -0
  483. package/dist/plugins/literal/literal.d.ts +10 -0
  484. package/dist/plugins/literal/literal.js +53 -0
  485. package/dist/plugins/literal/literal.mjs +50 -0
  486. package/dist/plugins/literal.d.ts +1 -40
  487. package/dist/plugins/literal.js +2 -1
  488. package/dist/plugins/literal.mjs +1 -1
  489. package/dist/plugins/manifest.generated.d.ts +8 -0
  490. package/dist/plugins/manifest.generated.js +83 -0
  491. package/dist/plugins/manifest.generated.mjs +80 -0
  492. package/dist/plugins/nullable/index.d.ts +1 -0
  493. package/dist/plugins/nullable/index.js +5 -0
  494. package/dist/plugins/nullable/index.mjs +1 -0
  495. package/dist/plugins/nullable/nullable.d.ts +7 -0
  496. package/dist/plugins/nullable/nullable.js +39 -0
  497. package/dist/plugins/nullable/nullable.mjs +36 -0
  498. package/dist/plugins/nullable.d.ts +1 -34
  499. package/dist/plugins/nullable.js +2 -1
  500. package/dist/plugins/nullable.mjs +1 -1
  501. package/dist/plugins/number-finite/index.d.ts +1 -0
  502. package/dist/plugins/number-finite/index.js +5 -0
  503. package/dist/plugins/number-finite/index.mjs +1 -0
  504. package/dist/plugins/number-finite/number-finite.d.ts +7 -0
  505. package/dist/plugins/number-finite/number-finite.js +21 -0
  506. package/dist/plugins/number-finite/number-finite.mjs +18 -0
  507. package/dist/plugins/number-integer/index.d.ts +1 -0
  508. package/dist/plugins/number-integer/index.js +5 -0
  509. package/dist/plugins/number-integer/index.mjs +1 -0
  510. package/dist/plugins/number-integer/number-integer.d.ts +7 -0
  511. package/dist/plugins/number-integer/number-integer.js +21 -0
  512. package/dist/plugins/number-integer/number-integer.mjs +18 -0
  513. package/dist/plugins/number-max/index.d.ts +2 -0
  514. package/dist/plugins/number-max/index.js +5 -0
  515. package/dist/plugins/number-max/index.mjs +1 -0
  516. package/dist/plugins/number-max/number-max.d.ts +11 -0
  517. package/dist/plugins/number-max/number-max.js +36 -0
  518. package/dist/plugins/number-max/number-max.mjs +33 -0
  519. package/dist/plugins/number-min/index.d.ts +2 -0
  520. package/dist/plugins/number-min/index.js +5 -0
  521. package/dist/plugins/number-min/index.mjs +1 -0
  522. package/dist/plugins/number-min/number-min.d.ts +11 -0
  523. package/dist/plugins/number-min/number-min.js +38 -0
  524. package/dist/plugins/number-min/number-min.mjs +35 -0
  525. package/dist/plugins/number-multiple-of/index.d.ts +2 -0
  526. package/dist/plugins/number-multiple-of/index.js +5 -0
  527. package/dist/plugins/number-multiple-of/index.mjs +1 -0
  528. package/dist/plugins/number-multiple-of/is-multiple-of.d.ts +7 -0
  529. package/dist/plugins/number-multiple-of/is-multiple-of.js +61 -0
  530. package/dist/plugins/number-multiple-of/is-multiple-of.mjs +57 -0
  531. package/dist/plugins/number-multiple-of/number-multiple-of.d.ts +9 -0
  532. package/dist/plugins/number-multiple-of/number-multiple-of.js +27 -0
  533. package/dist/plugins/number-multiple-of/number-multiple-of.mjs +24 -0
  534. package/dist/plugins/number-negative/index.d.ts +1 -0
  535. package/dist/plugins/number-negative/index.js +5 -0
  536. package/dist/plugins/number-negative/index.mjs +1 -0
  537. package/dist/plugins/number-negative/number-negative.d.ts +7 -0
  538. package/dist/plugins/number-negative/number-negative.js +21 -0
  539. package/dist/plugins/number-negative/number-negative.mjs +18 -0
  540. package/dist/plugins/number-positive/index.d.ts +1 -0
  541. package/dist/plugins/number-positive/index.js +5 -0
  542. package/dist/plugins/number-positive/index.mjs +1 -0
  543. package/dist/plugins/number-positive/number-positive.d.ts +7 -0
  544. package/dist/plugins/number-positive/number-positive.js +21 -0
  545. package/dist/plugins/number-positive/number-positive.mjs +18 -0
  546. package/dist/plugins/number-range/index.d.ts +2 -0
  547. package/dist/plugins/number-range/index.js +5 -0
  548. package/dist/plugins/number-range/index.mjs +1 -0
  549. package/dist/plugins/number-range/number-range.d.ts +11 -0
  550. package/dist/plugins/number-range/number-range.js +39 -0
  551. package/dist/plugins/number-range/number-range.mjs +36 -0
  552. package/dist/plugins/numberFinite.d.ts +1 -0
  553. package/dist/plugins/numberFinite.js +2 -0
  554. package/dist/plugins/numberFinite.mjs +1 -0
  555. package/dist/plugins/numberInteger.d.ts +1 -41
  556. package/dist/plugins/numberInteger.js +2 -1
  557. package/dist/plugins/numberInteger.mjs +1 -1
  558. package/dist/plugins/numberMax.d.ts +1 -49
  559. package/dist/plugins/numberMax.js +2 -1
  560. package/dist/plugins/numberMax.mjs +1 -1
  561. package/dist/plugins/numberMin.d.ts +1 -49
  562. package/dist/plugins/numberMin.js +2 -1
  563. package/dist/plugins/numberMin.mjs +1 -1
  564. package/dist/plugins/numberMultipleOf.d.ts +1 -42
  565. package/dist/plugins/numberMultipleOf.js +2 -1
  566. package/dist/plugins/numberMultipleOf.mjs +1 -1
  567. package/dist/plugins/numberNegative.d.ts +1 -41
  568. package/dist/plugins/numberNegative.js +2 -1
  569. package/dist/plugins/numberNegative.mjs +1 -1
  570. package/dist/plugins/numberPositive.d.ts +1 -41
  571. package/dist/plugins/numberPositive.js +2 -1
  572. package/dist/plugins/numberPositive.mjs +1 -1
  573. package/dist/plugins/numberRange.d.ts +1 -0
  574. package/dist/plugins/numberRange.js +2 -0
  575. package/dist/plugins/numberRange.mjs +1 -0
  576. package/dist/plugins/object/index.d.ts +2 -0
  577. package/dist/plugins/object/index.js +5 -0
  578. package/dist/plugins/object/index.mjs +1 -0
  579. package/dist/plugins/object/object.d.ts +9 -0
  580. package/dist/plugins/object/object.js +29 -0
  581. package/dist/plugins/object/object.mjs +26 -0
  582. package/dist/plugins/object-additional-properties/index.d.ts +3 -0
  583. package/dist/plugins/object-additional-properties/index.js +11 -0
  584. package/dist/plugins/object-additional-properties/index.mjs +6 -0
  585. package/dist/plugins/object-additional-properties/object-additional-properties-schema.d.ts +14 -0
  586. package/dist/plugins/object-additional-properties/object-additional-properties-schema.js +56 -0
  587. package/dist/plugins/object-additional-properties/object-additional-properties-schema.mjs +53 -0
  588. package/dist/plugins/object-additional-properties/object-additional-properties.d.ts +9 -0
  589. package/dist/plugins/object-additional-properties/object-additional-properties.js +40 -0
  590. package/dist/plugins/object-additional-properties/object-additional-properties.mjs +37 -0
  591. package/dist/plugins/object-dependent-required/dependent-required-violation.d.ts +7 -0
  592. package/dist/plugins/object-dependent-required/dependent-required-violation.js +45 -0
  593. package/dist/plugins/object-dependent-required/dependent-required-violation.mjs +40 -0
  594. package/dist/plugins/object-dependent-required/index.d.ts +3 -0
  595. package/dist/plugins/object-dependent-required/index.js +5 -0
  596. package/dist/plugins/object-dependent-required/index.mjs +1 -0
  597. package/dist/plugins/object-dependent-required/object-dependent-required.d.ts +10 -0
  598. package/dist/plugins/object-dependent-required/object-dependent-required.js +27 -0
  599. package/dist/plugins/object-dependent-required/object-dependent-required.mjs +24 -0
  600. package/dist/plugins/object-dependent-schemas/index.d.ts +2 -0
  601. package/dist/plugins/object-dependent-schemas/index.js +5 -0
  602. package/dist/plugins/object-dependent-schemas/index.mjs +1 -0
  603. package/dist/plugins/object-dependent-schemas/object-dependent-schemas.d.ts +16 -0
  604. package/dist/plugins/object-dependent-schemas/object-dependent-schemas.js +47 -0
  605. package/dist/plugins/object-dependent-schemas/object-dependent-schemas.mjs +44 -0
  606. package/dist/plugins/object-max-properties/index.d.ts +2 -0
  607. package/dist/plugins/object-max-properties/index.js +5 -0
  608. package/dist/plugins/object-max-properties/index.mjs +1 -0
  609. package/dist/plugins/object-max-properties/object-max-properties.d.ts +10 -0
  610. package/dist/plugins/object-max-properties/object-max-properties.js +32 -0
  611. package/dist/plugins/object-max-properties/object-max-properties.mjs +29 -0
  612. package/dist/plugins/object-min-properties/index.d.ts +2 -0
  613. package/dist/plugins/object-min-properties/index.js +5 -0
  614. package/dist/plugins/object-min-properties/index.mjs +1 -0
  615. package/dist/plugins/object-min-properties/object-min-properties.d.ts +10 -0
  616. package/dist/plugins/object-min-properties/object-min-properties.js +32 -0
  617. package/dist/plugins/object-min-properties/object-min-properties.mjs +29 -0
  618. package/dist/plugins/object-pattern-properties/index.d.ts +2 -0
  619. package/dist/plugins/object-pattern-properties/index.js +5 -0
  620. package/dist/plugins/object-pattern-properties/index.mjs +1 -0
  621. package/dist/plugins/object-pattern-properties/object-pattern-properties.d.ts +16 -0
  622. package/dist/plugins/object-pattern-properties/object-pattern-properties.js +57 -0
  623. package/dist/plugins/object-pattern-properties/object-pattern-properties.mjs +54 -0
  624. package/dist/plugins/object-property-names/index.d.ts +2 -0
  625. package/dist/plugins/object-property-names/index.js +5 -0
  626. package/dist/plugins/object-property-names/index.mjs +1 -0
  627. package/dist/plugins/object-property-names/object-property-names.d.ts +16 -0
  628. package/dist/plugins/object-property-names/object-property-names.js +47 -0
  629. package/dist/plugins/object-property-names/object-property-names.mjs +44 -0
  630. package/dist/plugins/object-recursively/index.d.ts +2 -0
  631. package/dist/plugins/object-recursively/index.js +5 -0
  632. package/dist/plugins/object-recursively/index.mjs +1 -0
  633. package/dist/plugins/object-recursively/object-recursively.d.ts +11 -0
  634. package/dist/plugins/object-recursively/object-recursively.js +26 -0
  635. package/dist/plugins/object-recursively/object-recursively.mjs +23 -0
  636. package/dist/plugins/object.d.ts +1 -43
  637. package/dist/plugins/object.js +2 -1
  638. package/dist/plugins/object.mjs +1 -1
  639. package/dist/plugins/objectAdditionalProperties.d.ts +1 -51
  640. package/dist/plugins/objectAdditionalProperties.js +2 -1
  641. package/dist/plugins/objectAdditionalProperties.mjs +1 -1
  642. package/dist/plugins/objectDependentRequired.d.ts +1 -42
  643. package/dist/plugins/objectDependentRequired.js +2 -1
  644. package/dist/plugins/objectDependentRequired.mjs +1 -1
  645. package/dist/plugins/objectDependentSchemas.d.ts +1 -40
  646. package/dist/plugins/objectDependentSchemas.js +2 -1
  647. package/dist/plugins/objectDependentSchemas.mjs +1 -1
  648. package/dist/plugins/objectMaxProperties.d.ts +1 -42
  649. package/dist/plugins/objectMaxProperties.js +2 -1
  650. package/dist/plugins/objectMaxProperties.mjs +1 -1
  651. package/dist/plugins/objectMinProperties.d.ts +1 -42
  652. package/dist/plugins/objectMinProperties.js +2 -1
  653. package/dist/plugins/objectMinProperties.mjs +1 -1
  654. package/dist/plugins/objectPatternProperties.d.ts +1 -46
  655. package/dist/plugins/objectPatternProperties.js +2 -1
  656. package/dist/plugins/objectPatternProperties.mjs +1 -1
  657. package/dist/plugins/objectPropertyNames.d.ts +1 -36
  658. package/dist/plugins/objectPropertyNames.js +2 -1
  659. package/dist/plugins/objectPropertyNames.mjs +1 -1
  660. package/dist/plugins/objectRecursively.d.ts +1 -0
  661. package/dist/plugins/objectRecursively.js +2 -0
  662. package/dist/plugins/objectRecursively.mjs +1 -0
  663. package/dist/plugins/one-of/index.d.ts +1 -0
  664. package/dist/plugins/one-of/index.js +5 -0
  665. package/dist/plugins/one-of/index.mjs +1 -0
  666. package/dist/plugins/one-of/one-of.d.ts +7 -0
  667. package/dist/plugins/one-of/one-of.js +67 -0
  668. package/dist/plugins/one-of/one-of.mjs +64 -0
  669. package/dist/plugins/oneOf.d.ts +1 -44
  670. package/dist/plugins/oneOf.js +2 -1
  671. package/dist/plugins/oneOf.mjs +1 -1
  672. package/dist/plugins/optional/index.d.ts +1 -0
  673. package/dist/plugins/optional/index.js +5 -0
  674. package/dist/plugins/optional/index.mjs +1 -0
  675. package/dist/plugins/optional/optional.d.ts +7 -0
  676. package/dist/plugins/optional/optional.js +42 -0
  677. package/dist/plugins/optional/optional.mjs +39 -0
  678. package/dist/plugins/optional-if/index.d.ts +1 -0
  679. package/dist/plugins/optional-if/index.js +5 -0
  680. package/dist/plugins/optional-if/index.mjs +1 -0
  681. package/dist/plugins/optional-if/optional-if.d.ts +11 -0
  682. package/dist/plugins/optional-if/optional-if.js +31 -0
  683. package/dist/plugins/optional-if/optional-if.mjs +28 -0
  684. package/dist/plugins/optional.d.ts +1 -35
  685. package/dist/plugins/optional.js +2 -1
  686. package/dist/plugins/optional.mjs +1 -1
  687. package/dist/plugins/optionalIf.d.ts +1 -0
  688. package/dist/plugins/optionalIf.js +2 -0
  689. package/dist/plugins/optionalIf.mjs +1 -0
  690. package/dist/plugins/or-fail/index.d.ts +1 -0
  691. package/dist/plugins/or-fail/index.js +5 -0
  692. package/dist/plugins/or-fail/index.mjs +1 -0
  693. package/dist/plugins/or-fail/or-fail.d.ts +7 -0
  694. package/dist/plugins/or-fail/or-fail.js +44 -0
  695. package/dist/plugins/or-fail/or-fail.mjs +41 -0
  696. package/dist/plugins/orFail.d.ts +1 -0
  697. package/dist/plugins/orFail.js +2 -0
  698. package/dist/plugins/orFail.mjs +1 -0
  699. package/dist/plugins/read-only/index.d.ts +1 -0
  700. package/dist/plugins/read-only/index.js +5 -0
  701. package/dist/plugins/read-only/index.mjs +1 -0
  702. package/dist/plugins/read-only/read-only.d.ts +7 -0
  703. package/dist/plugins/read-only/read-only.js +52 -0
  704. package/dist/plugins/read-only/read-only.mjs +49 -0
  705. package/dist/plugins/readOnly.d.ts +1 -0
  706. package/dist/plugins/readOnly.js +2 -0
  707. package/dist/plugins/readOnly.mjs +1 -0
  708. package/dist/plugins/readOnlyWriteOnly.d.ts +1 -48
  709. package/dist/plugins/readOnlyWriteOnly.js +2 -1
  710. package/dist/plugins/readOnlyWriteOnly.mjs +1 -1
  711. package/dist/plugins/required/index.d.ts +1 -0
  712. package/dist/plugins/required/index.js +5 -0
  713. package/dist/plugins/required/index.mjs +1 -0
  714. package/dist/plugins/required/required.d.ts +7 -0
  715. package/dist/plugins/required/required.js +42 -0
  716. package/dist/plugins/required/required.mjs +39 -0
  717. package/dist/plugins/required-if/index.d.ts +1 -0
  718. package/dist/plugins/required-if/index.js +5 -0
  719. package/dist/plugins/required-if/index.mjs +1 -0
  720. package/dist/plugins/required-if/required-if.d.ts +11 -0
  721. package/dist/plugins/required-if/required-if.js +34 -0
  722. package/dist/plugins/required-if/required-if.mjs +31 -0
  723. package/dist/plugins/required.d.ts +1 -45
  724. package/dist/plugins/required.js +2 -1
  725. package/dist/plugins/required.mjs +1 -1
  726. package/dist/plugins/requiredIf.d.ts +1 -66
  727. package/dist/plugins/requiredIf.js +2 -1
  728. package/dist/plugins/requiredIf.mjs +1 -1
  729. package/dist/plugins/skip/index.d.ts +1 -0
  730. package/dist/plugins/skip/index.js +5 -0
  731. package/dist/plugins/skip/index.mjs +1 -0
  732. package/dist/plugins/skip/skip.d.ts +7 -0
  733. package/dist/plugins/skip/skip.js +22 -0
  734. package/dist/plugins/skip/skip.mjs +19 -0
  735. package/dist/plugins/skip.d.ts +1 -57
  736. package/dist/plugins/skip.js +2 -1
  737. package/dist/plugins/skip.mjs +1 -1
  738. package/dist/plugins/stitch/index.d.ts +2 -0
  739. package/dist/plugins/stitch/index.js +5 -0
  740. package/dist/plugins/stitch/index.mjs +1 -0
  741. package/dist/plugins/stitch/stitch.d.ts +30 -0
  742. package/dist/plugins/stitch/stitch.js +72 -0
  743. package/dist/plugins/stitch/stitch.mjs +69 -0
  744. package/dist/plugins/stitch.d.ts +1 -0
  745. package/dist/plugins/stitch.js +2 -0
  746. package/dist/plugins/stitch.mjs +1 -0
  747. package/dist/plugins/string-alphanumeric/index.d.ts +1 -0
  748. package/dist/plugins/string-alphanumeric/index.js +5 -0
  749. package/dist/plugins/string-alphanumeric/index.mjs +1 -0
  750. package/dist/plugins/string-alphanumeric/string-alphanumeric.d.ts +8 -0
  751. package/dist/plugins/string-alphanumeric/string-alphanumeric.js +39 -0
  752. package/dist/plugins/string-alphanumeric/string-alphanumeric.mjs +36 -0
  753. package/dist/plugins/string-base64/index.d.ts +1 -0
  754. package/dist/plugins/string-base64/index.js +5 -0
  755. package/dist/plugins/string-base64/index.mjs +1 -0
  756. package/dist/plugins/string-base64/string-base64.d.ts +12 -0
  757. package/dist/plugins/string-base64/string-base64.js +40 -0
  758. package/dist/plugins/string-base64/string-base64.mjs +37 -0
  759. package/dist/plugins/string-content-encoding/content-encoding-checks.d.ts +4 -0
  760. package/dist/plugins/string-content-encoding/content-encoding-checks.js +67 -0
  761. package/dist/plugins/string-content-encoding/content-encoding-checks.mjs +64 -0
  762. package/dist/plugins/string-content-encoding/index.d.ts +2 -0
  763. package/dist/plugins/string-content-encoding/index.js +5 -0
  764. package/dist/plugins/string-content-encoding/index.mjs +1 -0
  765. package/dist/plugins/string-content-encoding/string-content-encoding.d.ts +10 -0
  766. package/dist/plugins/string-content-encoding/string-content-encoding.js +40 -0
  767. package/dist/plugins/string-content-encoding/string-content-encoding.mjs +37 -0
  768. package/dist/plugins/string-content-media-type/index.d.ts +1 -0
  769. package/dist/plugins/string-content-media-type/index.js +5 -0
  770. package/dist/plugins/string-content-media-type/index.mjs +1 -0
  771. package/dist/plugins/string-content-media-type/media-type-checks.d.ts +3 -0
  772. package/dist/plugins/string-content-media-type/media-type-checks.js +46 -0
  773. package/dist/plugins/string-content-media-type/media-type-checks.mjs +43 -0
  774. package/dist/plugins/string-content-media-type/string-content-media-type.d.ts +8 -0
  775. package/dist/plugins/string-content-media-type/string-content-media-type.js +41 -0
  776. package/dist/plugins/string-content-media-type/string-content-media-type.mjs +38 -0
  777. package/dist/plugins/string-date/calendar-date.d.ts +3 -0
  778. package/dist/plugins/string-date/calendar-date.js +24 -0
  779. package/dist/plugins/string-date/calendar-date.mjs +20 -0
  780. package/dist/plugins/string-date/index.d.ts +1 -0
  781. package/dist/plugins/string-date/index.js +5 -0
  782. package/dist/plugins/string-date/index.mjs +1 -0
  783. package/dist/plugins/string-date/string-date.d.ts +7 -0
  784. package/dist/plugins/string-date/string-date.js +42 -0
  785. package/dist/plugins/string-date/string-date.mjs +39 -0
  786. package/dist/plugins/string-datetime/calendar-date.d.ts +2 -0
  787. package/dist/plugins/string-datetime/calendar-date.js +24 -0
  788. package/dist/plugins/string-datetime/calendar-date.mjs +20 -0
  789. package/dist/plugins/string-datetime/index.d.ts +1 -0
  790. package/dist/plugins/string-datetime/index.js +5 -0
  791. package/dist/plugins/string-datetime/index.mjs +1 -0
  792. package/dist/plugins/string-datetime/string-datetime.d.ts +12 -0
  793. package/dist/plugins/string-datetime/string-datetime.js +67 -0
  794. package/dist/plugins/string-datetime/string-datetime.mjs +64 -0
  795. package/dist/plugins/string-duration/index.d.ts +1 -0
  796. package/dist/plugins/string-duration/index.js +5 -0
  797. package/dist/plugins/string-duration/index.mjs +1 -0
  798. package/dist/plugins/string-duration/string-duration.d.ts +7 -0
  799. package/dist/plugins/string-duration/string-duration.js +31 -0
  800. package/dist/plugins/string-duration/string-duration.mjs +28 -0
  801. package/dist/plugins/string-email/index.d.ts +1 -0
  802. package/dist/plugins/string-email/index.js +5 -0
  803. package/dist/plugins/string-email/index.mjs +1 -0
  804. package/dist/plugins/string-email/string-email.d.ts +14 -0
  805. package/dist/plugins/string-email/string-email.js +58 -0
  806. package/dist/plugins/string-email/string-email.mjs +55 -0
  807. package/dist/plugins/string-ends-with/index.d.ts +1 -0
  808. package/dist/plugins/string-ends-with/index.js +5 -0
  809. package/dist/plugins/string-ends-with/index.mjs +1 -0
  810. package/dist/plugins/string-ends-with/string-ends-with.d.ts +8 -0
  811. package/dist/plugins/string-ends-with/string-ends-with.js +30 -0
  812. package/dist/plugins/string-ends-with/string-ends-with.mjs +27 -0
  813. package/dist/plugins/string-exact-length/index.d.ts +1 -0
  814. package/dist/plugins/string-exact-length/index.js +5 -0
  815. package/dist/plugins/string-exact-length/index.mjs +1 -0
  816. package/dist/plugins/string-exact-length/string-exact-length.d.ts +11 -0
  817. package/dist/plugins/string-exact-length/string-exact-length.js +34 -0
  818. package/dist/plugins/string-exact-length/string-exact-length.mjs +31 -0
  819. package/dist/plugins/string-hostname/index.d.ts +1 -0
  820. package/dist/plugins/string-hostname/index.js +5 -0
  821. package/dist/plugins/string-hostname/index.mjs +1 -0
  822. package/dist/plugins/string-hostname/string-hostname.d.ts +7 -0
  823. package/dist/plugins/string-hostname/string-hostname.js +30 -0
  824. package/dist/plugins/string-hostname/string-hostname.mjs +27 -0
  825. package/dist/plugins/string-idn-email/idn-email.d.ts +1 -0
  826. package/dist/plugins/string-idn-email/idn-email.js +85 -0
  827. package/dist/plugins/string-idn-email/idn-email.mjs +82 -0
  828. package/dist/plugins/string-idn-email/index.d.ts +1 -0
  829. package/dist/plugins/string-idn-email/index.js +5 -0
  830. package/dist/plugins/string-idn-email/index.mjs +1 -0
  831. package/dist/plugins/string-idn-email/string-idn-email.d.ts +7 -0
  832. package/dist/plugins/string-idn-email/string-idn-email.js +29 -0
  833. package/dist/plugins/string-idn-email/string-idn-email.mjs +26 -0
  834. package/dist/plugins/string-idn-hostname/idn-hostname.d.ts +1 -0
  835. package/dist/plugins/string-idn-hostname/idn-hostname.js +72 -0
  836. package/dist/plugins/string-idn-hostname/idn-hostname.mjs +69 -0
  837. package/dist/plugins/string-idn-hostname/index.d.ts +1 -0
  838. package/dist/plugins/string-idn-hostname/index.js +5 -0
  839. package/dist/plugins/string-idn-hostname/index.mjs +1 -0
  840. package/dist/plugins/string-idn-hostname/string-idn-hostname.d.ts +7 -0
  841. package/dist/plugins/string-idn-hostname/string-idn-hostname.js +31 -0
  842. package/dist/plugins/string-idn-hostname/string-idn-hostname.mjs +28 -0
  843. package/dist/plugins/string-ipv4/index.d.ts +1 -0
  844. package/dist/plugins/string-ipv4/index.js +5 -0
  845. package/dist/plugins/string-ipv4/index.mjs +1 -0
  846. package/dist/plugins/string-ipv4/string-ipv4.d.ts +7 -0
  847. package/dist/plugins/string-ipv4/string-ipv4.js +32 -0
  848. package/dist/plugins/string-ipv4/string-ipv4.mjs +29 -0
  849. package/dist/plugins/string-ipv6/index.d.ts +1 -0
  850. package/dist/plugins/string-ipv6/index.js +5 -0
  851. package/dist/plugins/string-ipv6/index.mjs +1 -0
  852. package/dist/plugins/string-ipv6/ipv6-address.d.ts +2 -0
  853. package/dist/plugins/string-ipv6/ipv6-address.js +70 -0
  854. package/dist/plugins/string-ipv6/ipv6-address.mjs +67 -0
  855. package/dist/plugins/string-ipv6/string-ipv6.d.ts +7 -0
  856. package/dist/plugins/string-ipv6/string-ipv6.js +27 -0
  857. package/dist/plugins/string-ipv6/string-ipv6.mjs +24 -0
  858. package/dist/plugins/string-iri/control-character.d.ts +1 -0
  859. package/dist/plugins/string-iri/control-character.js +21 -0
  860. package/dist/plugins/string-iri/control-character.mjs +18 -0
  861. package/dist/plugins/string-iri/index.d.ts +1 -0
  862. package/dist/plugins/string-iri/index.js +5 -0
  863. package/dist/plugins/string-iri/index.mjs +1 -0
  864. package/dist/plugins/string-iri/string-iri.d.ts +7 -0
  865. package/dist/plugins/string-iri/string-iri.js +49 -0
  866. package/dist/plugins/string-iri/string-iri.mjs +46 -0
  867. package/dist/plugins/string-iri-reference/control-character.d.ts +1 -0
  868. package/dist/plugins/string-iri-reference/control-character.js +21 -0
  869. package/dist/plugins/string-iri-reference/control-character.mjs +18 -0
  870. package/dist/plugins/string-iri-reference/index.d.ts +1 -0
  871. package/dist/plugins/string-iri-reference/index.js +5 -0
  872. package/dist/plugins/string-iri-reference/index.mjs +1 -0
  873. package/dist/plugins/string-iri-reference/iri-reference.d.ts +1 -0
  874. package/dist/plugins/string-iri-reference/iri-reference.js +39 -0
  875. package/dist/plugins/string-iri-reference/iri-reference.mjs +36 -0
  876. package/dist/plugins/string-iri-reference/string-iri-reference.d.ts +7 -0
  877. package/dist/plugins/string-iri-reference/string-iri-reference.js +26 -0
  878. package/dist/plugins/string-iri-reference/string-iri-reference.mjs +23 -0
  879. package/dist/plugins/string-json-pointer/index.d.ts +1 -0
  880. package/dist/plugins/string-json-pointer/index.js +5 -0
  881. package/dist/plugins/string-json-pointer/index.mjs +1 -0
  882. package/dist/plugins/string-json-pointer/string-json-pointer.d.ts +7 -0
  883. package/dist/plugins/string-json-pointer/string-json-pointer.js +35 -0
  884. package/dist/plugins/string-json-pointer/string-json-pointer.mjs +32 -0
  885. package/dist/plugins/string-max/index.d.ts +1 -0
  886. package/dist/plugins/string-max/index.js +5 -0
  887. package/dist/plugins/string-max/index.mjs +1 -0
  888. package/dist/plugins/string-max/string-max.d.ts +11 -0
  889. package/dist/plugins/string-max/string-max.js +34 -0
  890. package/dist/plugins/string-max/string-max.mjs +31 -0
  891. package/dist/plugins/string-min/index.d.ts +1 -0
  892. package/dist/plugins/string-min/index.js +5 -0
  893. package/dist/plugins/string-min/index.mjs +1 -0
  894. package/dist/plugins/string-min/string-min.d.ts +11 -0
  895. package/dist/plugins/string-min/string-min.js +37 -0
  896. package/dist/plugins/string-min/string-min.mjs +34 -0
  897. package/dist/plugins/string-pattern/index.d.ts +1 -0
  898. package/dist/plugins/string-pattern/index.js +5 -0
  899. package/dist/plugins/string-pattern/index.mjs +1 -0
  900. package/dist/plugins/string-pattern/string-pattern.d.ts +8 -0
  901. package/dist/plugins/string-pattern/string-pattern.js +49 -0
  902. package/dist/plugins/string-pattern/string-pattern.mjs +46 -0
  903. package/dist/plugins/string-regex/index.d.ts +1 -0
  904. package/dist/plugins/string-regex/index.js +5 -0
  905. package/dist/plugins/string-regex/index.mjs +1 -0
  906. package/dist/plugins/string-regex/is-ecma262-regex.d.ts +2 -0
  907. package/dist/plugins/string-regex/is-ecma262-regex.js +25 -0
  908. package/dist/plugins/string-regex/is-ecma262-regex.mjs +22 -0
  909. package/dist/plugins/string-regex/string-regex.d.ts +7 -0
  910. package/dist/plugins/string-regex/string-regex.js +28 -0
  911. package/dist/plugins/string-regex/string-regex.mjs +25 -0
  912. package/dist/plugins/string-relative-json-pointer/index.d.ts +1 -0
  913. package/dist/plugins/string-relative-json-pointer/index.js +5 -0
  914. package/dist/plugins/string-relative-json-pointer/index.mjs +1 -0
  915. package/dist/plugins/string-relative-json-pointer/string-relative-json-pointer.d.ts +7 -0
  916. package/dist/plugins/string-relative-json-pointer/string-relative-json-pointer.js +42 -0
  917. package/dist/plugins/string-relative-json-pointer/string-relative-json-pointer.mjs +39 -0
  918. package/dist/plugins/string-starts-with/index.d.ts +1 -0
  919. package/dist/plugins/string-starts-with/index.js +5 -0
  920. package/dist/plugins/string-starts-with/index.mjs +1 -0
  921. package/dist/plugins/string-starts-with/string-starts-with.d.ts +8 -0
  922. package/dist/plugins/string-starts-with/string-starts-with.js +30 -0
  923. package/dist/plugins/string-starts-with/string-starts-with.mjs +27 -0
  924. package/dist/plugins/string-time/index.d.ts +1 -0
  925. package/dist/plugins/string-time/index.js +5 -0
  926. package/dist/plugins/string-time/index.mjs +1 -0
  927. package/dist/plugins/string-time/string-time.d.ts +12 -0
  928. package/dist/plugins/string-time/string-time.js +37 -0
  929. package/dist/plugins/string-time/string-time.mjs +34 -0
  930. package/dist/plugins/string-uri-reference/index.d.ts +1 -0
  931. package/dist/plugins/string-uri-reference/index.js +5 -0
  932. package/dist/plugins/string-uri-reference/index.mjs +1 -0
  933. package/dist/plugins/string-uri-reference/string-uri-reference.d.ts +7 -0
  934. package/dist/plugins/string-uri-reference/string-uri-reference.js +28 -0
  935. package/dist/plugins/string-uri-reference/string-uri-reference.mjs +25 -0
  936. package/dist/plugins/string-uri-reference/uri-reference.d.ts +1 -0
  937. package/dist/plugins/string-uri-reference/uri-reference.js +71 -0
  938. package/dist/plugins/string-uri-reference/uri-reference.mjs +68 -0
  939. package/dist/plugins/string-uri-template/index.d.ts +1 -0
  940. package/dist/plugins/string-uri-template/index.js +5 -0
  941. package/dist/plugins/string-uri-template/index.mjs +1 -0
  942. package/dist/plugins/string-uri-template/string-uri-template.d.ts +7 -0
  943. package/dist/plugins/string-uri-template/string-uri-template.js +26 -0
  944. package/dist/plugins/string-uri-template/string-uri-template.mjs +23 -0
  945. package/dist/plugins/string-uri-template/uri-template.d.ts +1 -0
  946. package/dist/plugins/string-uri-template/uri-template.js +59 -0
  947. package/dist/plugins/string-uri-template/uri-template.mjs +56 -0
  948. package/dist/plugins/string-url/index.d.ts +1 -0
  949. package/dist/plugins/string-url/index.js +5 -0
  950. package/dist/plugins/string-url/index.mjs +1 -0
  951. package/dist/plugins/string-url/string-url.d.ts +14 -0
  952. package/dist/plugins/string-url/string-url.js +55 -0
  953. package/dist/plugins/string-url/string-url.mjs +52 -0
  954. package/dist/plugins/stringAlphanumeric.d.ts +1 -0
  955. package/dist/plugins/stringAlphanumeric.js +2 -0
  956. package/dist/plugins/stringAlphanumeric.mjs +1 -0
  957. package/dist/plugins/stringBase64.d.ts +1 -119
  958. package/dist/plugins/stringBase64.js +2 -1
  959. package/dist/plugins/stringBase64.mjs +1 -1
  960. package/dist/plugins/stringContentEncoding.d.ts +1 -43
  961. package/dist/plugins/stringContentEncoding.js +2 -1
  962. package/dist/plugins/stringContentEncoding.mjs +1 -1
  963. package/dist/plugins/stringContentMediaType.d.ts +1 -47
  964. package/dist/plugins/stringContentMediaType.js +2 -1
  965. package/dist/plugins/stringContentMediaType.mjs +1 -1
  966. package/dist/plugins/stringDate.d.ts +1 -48
  967. package/dist/plugins/stringDate.js +2 -1
  968. package/dist/plugins/stringDate.mjs +1 -1
  969. package/dist/plugins/stringDatetime.d.ts +1 -108
  970. package/dist/plugins/stringDatetime.js +2 -1
  971. package/dist/plugins/stringDatetime.mjs +1 -1
  972. package/dist/plugins/stringDuration.d.ts +1 -41
  973. package/dist/plugins/stringDuration.js +2 -1
  974. package/dist/plugins/stringDuration.mjs +1 -1
  975. package/dist/plugins/stringEmail.d.ts +1 -81
  976. package/dist/plugins/stringEmail.js +2 -1
  977. package/dist/plugins/stringEmail.mjs +1 -1
  978. package/dist/plugins/stringEndsWith.d.ts +1 -0
  979. package/dist/plugins/stringEndsWith.js +2 -0
  980. package/dist/plugins/stringEndsWith.mjs +1 -0
  981. package/dist/plugins/stringExactLength.d.ts +1 -0
  982. package/dist/plugins/stringExactLength.js +2 -0
  983. package/dist/plugins/stringExactLength.mjs +1 -0
  984. package/dist/plugins/stringHostname.d.ts +1 -104
  985. package/dist/plugins/stringHostname.js +2 -1
  986. package/dist/plugins/stringHostname.mjs +1 -1
  987. package/dist/plugins/stringIdnEmail.d.ts +1 -0
  988. package/dist/plugins/stringIdnEmail.js +2 -0
  989. package/dist/plugins/stringIdnEmail.mjs +1 -0
  990. package/dist/plugins/stringIdnHostname.d.ts +1 -0
  991. package/dist/plugins/stringIdnHostname.js +2 -0
  992. package/dist/plugins/stringIdnHostname.mjs +1 -0
  993. package/dist/plugins/stringIpv4.d.ts +1 -85
  994. package/dist/plugins/stringIpv4.js +2 -1
  995. package/dist/plugins/stringIpv4.mjs +1 -1
  996. package/dist/plugins/stringIpv6.d.ts +1 -104
  997. package/dist/plugins/stringIpv6.js +2 -1
  998. package/dist/plugins/stringIpv6.mjs +1 -1
  999. package/dist/plugins/stringIri.d.ts +1 -117
  1000. package/dist/plugins/stringIri.js +2 -1
  1001. package/dist/plugins/stringIri.mjs +1 -1
  1002. package/dist/plugins/stringIriReference.d.ts +1 -43
  1003. package/dist/plugins/stringIriReference.js +2 -1
  1004. package/dist/plugins/stringIriReference.mjs +1 -1
  1005. package/dist/plugins/stringJsonPointer.d.ts +1 -107
  1006. package/dist/plugins/stringJsonPointer.js +2 -1
  1007. package/dist/plugins/stringJsonPointer.mjs +1 -1
  1008. package/dist/plugins/stringMax.d.ts +1 -43
  1009. package/dist/plugins/stringMax.js +2 -1
  1010. package/dist/plugins/stringMax.mjs +1 -1
  1011. package/dist/plugins/stringMin.d.ts +1 -43
  1012. package/dist/plugins/stringMin.js +2 -1
  1013. package/dist/plugins/stringMin.mjs +1 -1
  1014. package/dist/plugins/stringPattern.d.ts +1 -40
  1015. package/dist/plugins/stringPattern.js +2 -1
  1016. package/dist/plugins/stringPattern.mjs +1 -1
  1017. package/dist/plugins/stringRegex.d.ts +1 -0
  1018. package/dist/plugins/stringRegex.js +2 -0
  1019. package/dist/plugins/stringRegex.mjs +1 -0
  1020. package/dist/plugins/stringRelativeJsonPointer.d.ts +1 -42
  1021. package/dist/plugins/stringRelativeJsonPointer.js +2 -1
  1022. package/dist/plugins/stringRelativeJsonPointer.mjs +1 -1
  1023. package/dist/plugins/stringStartsWith.d.ts +1 -0
  1024. package/dist/plugins/stringStartsWith.js +2 -0
  1025. package/dist/plugins/stringStartsWith.mjs +1 -0
  1026. package/dist/plugins/stringTime.d.ts +1 -39
  1027. package/dist/plugins/stringTime.js +2 -1
  1028. package/dist/plugins/stringTime.mjs +1 -1
  1029. package/dist/plugins/stringUriReference.d.ts +1 -0
  1030. package/dist/plugins/stringUriReference.js +2 -0
  1031. package/dist/plugins/stringUriReference.mjs +1 -0
  1032. package/dist/plugins/stringUriTemplate.d.ts +1 -43
  1033. package/dist/plugins/stringUriTemplate.js +2 -1
  1034. package/dist/plugins/stringUriTemplate.mjs +1 -1
  1035. package/dist/plugins/stringUrl.d.ts +1 -97
  1036. package/dist/plugins/stringUrl.js +2 -1
  1037. package/dist/plugins/stringUrl.mjs +1 -1
  1038. package/dist/plugins/transform/index.d.ts +1 -0
  1039. package/dist/plugins/transform/index.js +5 -0
  1040. package/dist/plugins/transform/index.mjs +1 -0
  1041. package/dist/plugins/transform/transform.d.ts +7 -0
  1042. package/dist/plugins/transform/transform.js +35 -0
  1043. package/dist/plugins/transform/transform.mjs +32 -0
  1044. package/dist/plugins/transform.d.ts +1 -35
  1045. package/dist/plugins/transform.js +2 -1
  1046. package/dist/plugins/transform.mjs +1 -1
  1047. package/dist/plugins/tuple-builder/index.d.ts +2 -0
  1048. package/dist/plugins/tuple-builder/index.js +5 -0
  1049. package/dist/plugins/tuple-builder/index.mjs +1 -0
  1050. package/dist/plugins/tuple-builder/tuple-builder.d.ts +21 -0
  1051. package/dist/plugins/tuple-builder/tuple-builder.js +128 -0
  1052. package/dist/plugins/tuple-builder/tuple-builder.mjs +125 -0
  1053. package/dist/plugins/tupleBuilder.d.ts +1 -66
  1054. package/dist/plugins/tupleBuilder.js +2 -1
  1055. package/dist/plugins/tupleBuilder.mjs +1 -1
  1056. package/dist/plugins/union-guard/index.d.ts +1 -0
  1057. package/dist/plugins/union-guard/index.js +5 -0
  1058. package/dist/plugins/union-guard/index.mjs +1 -0
  1059. package/dist/plugins/union-guard/union-guard.d.ts +14 -0
  1060. package/dist/plugins/union-guard/union-guard.js +56 -0
  1061. package/dist/plugins/union-guard/union-guard.mjs +53 -0
  1062. package/dist/plugins/unionGuard.d.ts +1 -0
  1063. package/dist/plugins/unionGuard.js +2 -0
  1064. package/dist/plugins/unionGuard.mjs +1 -0
  1065. package/dist/plugins/uuid/index.d.ts +1 -0
  1066. package/dist/plugins/uuid/index.js +5 -0
  1067. package/dist/plugins/uuid/index.mjs +1 -0
  1068. package/dist/plugins/uuid/uuid.d.ts +10 -0
  1069. package/dist/plugins/uuid/uuid.js +56 -0
  1070. package/dist/plugins/uuid/uuid.mjs +53 -0
  1071. package/dist/plugins/uuid.d.ts +1 -95
  1072. package/dist/plugins/uuid.js +2 -1
  1073. package/dist/plugins/uuid.mjs +1 -1
  1074. package/dist/plugins/validate-if/index.d.ts +1 -0
  1075. package/dist/plugins/validate-if/index.js +5 -0
  1076. package/dist/plugins/validate-if/index.mjs +1 -0
  1077. package/dist/plugins/validate-if/validate-if.d.ts +7 -0
  1078. package/dist/plugins/validate-if/validate-if.js +22 -0
  1079. package/dist/plugins/validate-if/validate-if.mjs +19 -0
  1080. package/dist/plugins/validateIf.d.ts +1 -57
  1081. package/dist/plugins/validateIf.js +2 -1
  1082. package/dist/plugins/validateIf.mjs +1 -1
  1083. package/dist/plugins/write-only/index.d.ts +1 -0
  1084. package/dist/plugins/write-only/index.js +5 -0
  1085. package/dist/plugins/write-only/index.mjs +1 -0
  1086. package/dist/plugins/write-only/write-only.d.ts +7 -0
  1087. package/dist/plugins/write-only/write-only.js +48 -0
  1088. package/dist/plugins/write-only/write-only.mjs +45 -0
  1089. package/dist/plugins/writeOnly.d.ts +1 -0
  1090. package/dist/plugins/writeOnly.js +2 -0
  1091. package/dist/plugins/writeOnly.mjs +1 -0
  1092. package/dist/result/index.d.ts +18 -0
  1093. package/dist/result/index.js +44 -0
  1094. package/dist/result/index.mjs +36 -0
  1095. package/dist/result.d.ts +1 -0
  1096. package/dist/result.js +2 -0
  1097. package/dist/result.mjs +1 -0
  1098. package/dist/runtime/create-field-validator.d.ts +12 -0
  1099. package/dist/runtime/create-field-validator.js +74 -0
  1100. package/dist/runtime/create-field-validator.mjs +71 -0
  1101. package/dist/runtime/create-issue.d.ts +24 -0
  1102. package/dist/runtime/create-issue.js +34 -0
  1103. package/dist/runtime/create-issue.mjs +30 -0
  1104. package/dist/runtime/create-validator.d.ts +19 -0
  1105. package/dist/runtime/create-validator.js +70 -0
  1106. package/dist/runtime/create-validator.mjs +65 -0
  1107. package/dist/runtime/decide-presence.d.ts +5 -0
  1108. package/dist/runtime/decide-presence.js +47 -0
  1109. package/dist/runtime/decide-presence.mjs +44 -0
  1110. package/dist/runtime/index-stack.d.ts +28 -0
  1111. package/dist/runtime/index-stack.js +68 -0
  1112. package/dist/runtime/index-stack.mjs +63 -0
  1113. package/dist/runtime/index.d.ts +19 -0
  1114. package/dist/runtime/index.js +48 -0
  1115. package/dist/runtime/index.mjs +16 -0
  1116. package/dist/runtime/issue-sink.d.ts +39 -0
  1117. package/dist/runtime/issue-sink.js +61 -0
  1118. package/dist/runtime/issue-sink.mjs +56 -0
  1119. package/dist/runtime/output-writer.d.ts +38 -0
  1120. package/dist/runtime/output-writer.js +59 -0
  1121. package/dist/runtime/output-writer.mjs +52 -0
  1122. package/dist/runtime/run-array-node.d.ts +9 -0
  1123. package/dist/runtime/run-array-node.js +98 -0
  1124. package/dist/runtime/run-array-node.mjs +95 -0
  1125. package/dist/runtime/run-branch.d.ts +14 -0
  1126. package/dist/runtime/run-branch.js +67 -0
  1127. package/dist/runtime/run-branch.mjs +63 -0
  1128. package/dist/runtime/run-field.d.ts +27 -0
  1129. package/dist/runtime/run-field.js +88 -0
  1130. package/dist/runtime/run-field.mjs +84 -0
  1131. package/dist/runtime/run-plan.d.ts +28 -0
  1132. package/dist/runtime/run-plan.js +50 -0
  1133. package/dist/runtime/run-plan.mjs +46 -0
  1134. package/dist/runtime/run-recursion.d.ts +17 -0
  1135. package/dist/runtime/run-recursion.js +119 -0
  1136. package/dist/runtime/run-recursion.mjs +115 -0
  1137. package/dist/subpath-aliases/read-only-write-only.d.ts +2 -0
  1138. package/dist/subpath-aliases/read-only-write-only.js +16 -0
  1139. package/dist/subpath-aliases/read-only-write-only.mjs +11 -0
  1140. package/dist/types/global-config.d.ts +31 -0
  1141. package/dist/types/global-config.js +36 -0
  1142. package/dist/types/global-config.mjs +32 -0
  1143. package/dist/types/index.d.ts +64 -70
  1144. package/dist/types/index.js +28 -0
  1145. package/dist/types/index.mjs +19 -0
  1146. package/dist/types/validation-result.types.d.ts +22 -0
  1147. package/dist/types/validation-result.types.js +2 -0
  1148. package/dist/types/validation-result.types.mjs +1 -0
  1149. package/package.json +516 -353
  1150. package/dist/constants.d.ts +0 -27
  1151. package/dist/core/async.experimental/async-context.d.ts +0 -60
  1152. package/dist/core/builder/array-batch-optimizer.d.ts +0 -66
  1153. package/dist/core/builder/context/field-context.d.ts +0 -31
  1154. package/dist/core/builder/context/field-type-detector.d.ts +0 -19
  1155. package/dist/core/builder/core/builder.d.ts +0 -10
  1156. package/dist/core/builder/core/field-builder.d.ts +0 -13
  1157. package/dist/core/builder/core/index.d.ts +0 -17
  1158. package/dist/core/builder/index.d.ts +0 -24
  1159. package/dist/core/builder/nested-array-processor.d.ts +0 -52
  1160. package/dist/core/builder/plugins/composable-conditional-plugin.d.ts +0 -32
  1161. package/dist/core/builder/plugins/composable-directly-plugin.d.ts +0 -32
  1162. package/dist/core/builder/plugins/composable-plugin.d.ts +0 -242
  1163. package/dist/core/builder/plugins/plugin-creator.d.ts +0 -38
  1164. package/dist/core/builder/plugins/plugin-interfaces.d.ts +0 -343
  1165. package/dist/core/builder/plugins/plugin-types.d.ts +0 -441
  1166. package/dist/core/builder/raw-validator.d.ts +0 -22
  1167. package/dist/core/builder/types/field-options.d.ts +0 -46
  1168. package/dist/core/builder/types/types.d.ts +0 -319
  1169. package/dist/core/builder/ultra-fast-validator.d.ts +0 -30
  1170. package/dist/core/builder/validator-factory.d.ts +0 -29
  1171. package/dist/core/global-config.d.ts +0 -27
  1172. package/dist/core/index.d.ts +0 -36
  1173. package/dist/core/optimization/array-batch-validator.d.ts +0 -68
  1174. package/dist/core/optimization/core/field-utils.d.ts +0 -103
  1175. package/dist/core/optimization/core/strategy-factory.d.ts +0 -84
  1176. package/dist/core/optimization/core/validation-engine.d.ts +0 -107
  1177. package/dist/core/optimization/execution-strategy-selector.d.ts +0 -23
  1178. package/dist/core/optimization/unified-validator.d.ts +0 -45
  1179. package/dist/core/plugin/__tests__/test-utils.d.ts +0 -1
  1180. package/dist/core/plugin/arrayContains.d.ts +0 -37
  1181. package/dist/core/plugin/arrayIncludes.d.ts +0 -42
  1182. package/dist/core/plugin/arrayMaxLength.d.ts +0 -43
  1183. package/dist/core/plugin/arrayMinLength.d.ts +0 -43
  1184. package/dist/core/plugin/arrayUnique.d.ts +0 -41
  1185. package/dist/core/plugin/booleanFalsy.d.ts +0 -41
  1186. package/dist/core/plugin/booleanTruthy.d.ts +0 -38
  1187. package/dist/core/plugin/compareField.d.ts +0 -58
  1188. package/dist/core/plugin/conditionalSchema.d.ts +0 -24
  1189. package/dist/core/plugin/custom.d.ts +0 -60
  1190. package/dist/core/plugin/fromContext.d.ts +0 -150
  1191. package/dist/core/plugin/index.d.ts +0 -71
  1192. package/dist/core/plugin/jsonSchema/dsl-converter.d.ts +0 -22
  1193. package/dist/core/plugin/jsonSchema/error-generation.d.ts +0 -14
  1194. package/dist/core/plugin/jsonSchema/format-validators.d.ts +0 -20
  1195. package/dist/core/plugin/jsonSchema/index.d.ts +0 -11
  1196. package/dist/core/plugin/jsonSchema/plugin.d.ts +0 -35
  1197. package/dist/core/plugin/jsonSchema/ref-resolver.d.ts +0 -14
  1198. package/dist/core/plugin/jsonSchema/types.d.ts +0 -69
  1199. package/dist/core/plugin/jsonSchema/validation-core.d.ts +0 -29
  1200. package/dist/core/plugin/jsonSchemaFullFeature.d.ts +0 -31
  1201. package/dist/core/plugin/literal.d.ts +0 -40
  1202. package/dist/core/plugin/message-factories.d.ts +0 -9
  1203. package/dist/core/plugin/nullable.d.ts +0 -34
  1204. package/dist/core/plugin/numberFinite.d.ts +0 -41
  1205. package/dist/core/plugin/numberInteger.d.ts +0 -41
  1206. package/dist/core/plugin/numberMax.d.ts +0 -49
  1207. package/dist/core/plugin/numberMin.d.ts +0 -49
  1208. package/dist/core/plugin/numberMultipleOf.d.ts +0 -42
  1209. package/dist/core/plugin/numberNegative.d.ts +0 -41
  1210. package/dist/core/plugin/numberPositive.d.ts +0 -41
  1211. package/dist/core/plugin/numberRange.d.ts +0 -48
  1212. package/dist/core/plugin/object.d.ts +0 -43
  1213. package/dist/core/plugin/objectAdditionalProperties.d.ts +0 -51
  1214. package/dist/core/plugin/objectDependentRequired.d.ts +0 -42
  1215. package/dist/core/plugin/objectDependentSchemas.d.ts +0 -40
  1216. package/dist/core/plugin/objectMaxProperties.d.ts +0 -42
  1217. package/dist/core/plugin/objectMinProperties.d.ts +0 -42
  1218. package/dist/core/plugin/objectPatternProperties.d.ts +0 -46
  1219. package/dist/core/plugin/objectPropertyNames.d.ts +0 -36
  1220. package/dist/core/plugin/objectRecursively.d.ts +0 -81
  1221. package/dist/core/plugin/oneOf.d.ts +0 -44
  1222. package/dist/core/plugin/optional.d.ts +0 -35
  1223. package/dist/core/plugin/optionalIf.d.ts +0 -42
  1224. package/dist/core/plugin/orFail.d.ts +0 -132
  1225. package/dist/core/plugin/readOnlyWriteOnly.d.ts +0 -48
  1226. package/dist/core/plugin/required.d.ts +0 -45
  1227. package/dist/core/plugin/requiredIf.d.ts +0 -66
  1228. package/dist/core/plugin/shared-constants.d.ts +0 -45
  1229. package/dist/core/plugin/shared.d.ts +0 -3
  1230. package/dist/core/plugin/skip.d.ts +0 -57
  1231. package/dist/core/plugin/stitch-typed.d.ts +0 -15
  1232. package/dist/core/plugin/stitch.d.ts +0 -1
  1233. package/dist/core/plugin/stitchSimple.d.ts +0 -4
  1234. package/dist/core/plugin/stringAlphanumeric.d.ts +0 -42
  1235. package/dist/core/plugin/stringBase64.d.ts +0 -119
  1236. package/dist/core/plugin/stringContentEncoding.d.ts +0 -43
  1237. package/dist/core/plugin/stringContentMediaType.d.ts +0 -47
  1238. package/dist/core/plugin/stringDate.d.ts +0 -48
  1239. package/dist/core/plugin/stringDatetime.d.ts +0 -108
  1240. package/dist/core/plugin/stringDuration.d.ts +0 -41
  1241. package/dist/core/plugin/stringEmail.d.ts +0 -81
  1242. package/dist/core/plugin/stringEndsWith.d.ts +0 -42
  1243. package/dist/core/plugin/stringExactLength.d.ts +0 -46
  1244. package/dist/core/plugin/stringHostname.d.ts +0 -104
  1245. package/dist/core/plugin/stringIpv4.d.ts +0 -85
  1246. package/dist/core/plugin/stringIpv6.d.ts +0 -104
  1247. package/dist/core/plugin/stringIri.d.ts +0 -117
  1248. package/dist/core/plugin/stringIriReference.d.ts +0 -43
  1249. package/dist/core/plugin/stringJsonPointer.d.ts +0 -107
  1250. package/dist/core/plugin/stringMax.d.ts +0 -43
  1251. package/dist/core/plugin/stringMin.d.ts +0 -43
  1252. package/dist/core/plugin/stringPattern.d.ts +0 -40
  1253. package/dist/core/plugin/stringRelativeJsonPointer.d.ts +0 -42
  1254. package/dist/core/plugin/stringStartsWith.d.ts +0 -42
  1255. package/dist/core/plugin/stringTime.d.ts +0 -39
  1256. package/dist/core/plugin/stringUriTemplate.d.ts +0 -43
  1257. package/dist/core/plugin/stringUrl.d.ts +0 -97
  1258. package/dist/core/plugin/testUtils.d.ts +0 -15
  1259. package/dist/core/plugin/transform-type-restrictions.d.ts +0 -61
  1260. package/dist/core/plugin/transform.d.ts +0 -35
  1261. package/dist/core/plugin/tupleBuilder.d.ts +0 -66
  1262. package/dist/core/plugin/types.d.ts +0 -143
  1263. package/dist/core/plugin/unionGuard.d.ts +0 -50
  1264. package/dist/core/plugin/utils/field-accessor-optimized.d.ts +0 -50
  1265. package/dist/core/plugin/utils/field-accessor.d.ts +0 -107
  1266. package/dist/core/plugin/uuid.d.ts +0 -95
  1267. package/dist/core/plugin/validateIf.d.ts +0 -57
  1268. package/dist/core/registry/plugin-registry.d.ts +0 -116
  1269. package/dist/core/registry.d.ts +0 -6
  1270. package/dist/core/transform/index.d.ts +0 -1
  1271. package/dist/core/transform/string/defaultValue.d.ts +0 -6
  1272. package/dist/core/transform/string/index.d.ts +0 -3
  1273. package/dist/core/transform/string/replace.d.ts +0 -14
  1274. package/dist/core/transform/string/sanitize.d.ts +0 -6
  1275. package/dist/core/utils/type-guards.d.ts +0 -68
  1276. package/dist/index.js.map +0 -7
  1277. package/dist/index.mjs.map +0 -7
  1278. package/dist/types/array-type-analysis.d.ts +0 -115
  1279. package/dist/types/indexed-result.d.ts +0 -44
  1280. package/dist/types/result.d.ts +0 -159
  1281. package/dist/types/stitch-types.d.ts +0 -118
  1282. package/dist/types/util.d.ts +0 -19
  1283. package/dist/types/valitator.d.ts +0 -10
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ // ===========================================================================
3
+ // L1 src/path/reserved-segment.ts
4
+ // The prototype-pollution gate for the ONE path grammar, plus the error every
5
+ // path-shaped rejection throws.
6
+ //
7
+ // PathSyntaxError lives here, not in parse-field-path.ts, because this module
8
+ // is the first thing that throws it and parse-field-path.ts imports this one.
9
+ // Putting the class the other way round would make the two files mutually
10
+ // dependent for no gain.
11
+ // ===========================================================================
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.PathSyntaxError = exports.RESERVED_SEGMENTS = void 0;
14
+ exports.isReservedSegment = isReservedSegment;
15
+ exports.assertDeclarableKey = assertDeclarableKey;
16
+ /** Segment names that reach `Object.prototype` and must never be walked,
17
+ * written, or vivified. `fromJsonSchema` derives segments verbatim from
18
+ * untrusted schema property names, so this list is a security boundary, not a
19
+ * style preference. */
20
+ exports.RESERVED_SEGMENTS = Object.freeze([
21
+ "__proto__",
22
+ "constructor",
23
+ "prototype",
24
+ ]);
25
+ /** Thrown at BUILD time for every malformed or unsafe path. A declared rule
26
+ * must either execute or fail loudly; the legacy silent `return () => null`
27
+ * turned a typo into a rule that never ran. */
28
+ class PathSyntaxError extends Error {
29
+ constructor(path, reason) {
30
+ super(`Invalid field path ${JSON.stringify(path)}: ${reason}`);
31
+ this.name = "PathSyntaxError";
32
+ this.path = path;
33
+ }
34
+ }
35
+ exports.PathSyntaxError = PathSyntaxError;
36
+ function isReservedSegment(key) {
37
+ return exports.RESERVED_SEGMENTS.includes(key);
38
+ }
39
+ /**
40
+ * The single definition of "this string may be used as one path segment".
41
+ *
42
+ * `source` is the whole path (or the origin, for a key that has not been
43
+ * joined into a path yet) and appears in the message so a regression names the
44
+ * offender.
45
+ *
46
+ * A key containing `.` is rejected rather than escaped: the grammar splits on
47
+ * `.` and has no escape syntax, so such a key would silently mean something
48
+ * else. Rejecting is the only honest option, and it is the reason this
49
+ * function is exported — the JSON Schema converter must call it on raw
50
+ * property names BEFORE joining them into a path, where the dot is still
51
+ * visible as its own key.
52
+ */
53
+ function assertDeclarableKey(key, source) {
54
+ if (key === "") {
55
+ throw new PathSyntaxError(source, "a path segment must not be empty");
56
+ }
57
+ if (key.includes(".")) {
58
+ throw new PathSyntaxError(source, `the key ${JSON.stringify(key)} contains "." and cannot be expressed; ` +
59
+ 'the grammar splits on "." and defines no escape');
60
+ }
61
+ if (key.includes("[") || key.includes("]")) {
62
+ throw new PathSyntaxError(source, `the key ${JSON.stringify(key)} contains a bracket; "[*]" is the only ` +
63
+ "bracket form and it must trail a key");
64
+ }
65
+ if (isReservedSegment(key)) {
66
+ throw new PathSyntaxError(source, `${JSON.stringify(key)} is a reserved segment (prototype pollution)`);
67
+ }
68
+ }
@@ -0,0 +1,62 @@
1
+ // ===========================================================================
2
+ // L1 src/path/reserved-segment.ts
3
+ // The prototype-pollution gate for the ONE path grammar, plus the error every
4
+ // path-shaped rejection throws.
5
+ //
6
+ // PathSyntaxError lives here, not in parse-field-path.ts, because this module
7
+ // is the first thing that throws it and parse-field-path.ts imports this one.
8
+ // Putting the class the other way round would make the two files mutually
9
+ // dependent for no gain.
10
+ // ===========================================================================
11
+ /** Segment names that reach `Object.prototype` and must never be walked,
12
+ * written, or vivified. `fromJsonSchema` derives segments verbatim from
13
+ * untrusted schema property names, so this list is a security boundary, not a
14
+ * style preference. */
15
+ export const RESERVED_SEGMENTS = Object.freeze([
16
+ "__proto__",
17
+ "constructor",
18
+ "prototype",
19
+ ]);
20
+ /** Thrown at BUILD time for every malformed or unsafe path. A declared rule
21
+ * must either execute or fail loudly; the legacy silent `return () => null`
22
+ * turned a typo into a rule that never ran. */
23
+ export class PathSyntaxError extends Error {
24
+ constructor(path, reason) {
25
+ super(`Invalid field path ${JSON.stringify(path)}: ${reason}`);
26
+ this.name = "PathSyntaxError";
27
+ this.path = path;
28
+ }
29
+ }
30
+ export function isReservedSegment(key) {
31
+ return RESERVED_SEGMENTS.includes(key);
32
+ }
33
+ /**
34
+ * The single definition of "this string may be used as one path segment".
35
+ *
36
+ * `source` is the whole path (or the origin, for a key that has not been
37
+ * joined into a path yet) and appears in the message so a regression names the
38
+ * offender.
39
+ *
40
+ * A key containing `.` is rejected rather than escaped: the grammar splits on
41
+ * `.` and has no escape syntax, so such a key would silently mean something
42
+ * else. Rejecting is the only honest option, and it is the reason this
43
+ * function is exported — the JSON Schema converter must call it on raw
44
+ * property names BEFORE joining them into a path, where the dot is still
45
+ * visible as its own key.
46
+ */
47
+ export function assertDeclarableKey(key, source) {
48
+ if (key === "") {
49
+ throw new PathSyntaxError(source, "a path segment must not be empty");
50
+ }
51
+ if (key.includes(".")) {
52
+ throw new PathSyntaxError(source, `the key ${JSON.stringify(key)} contains "." and cannot be expressed; ` +
53
+ 'the grammar splits on "." and defines no escape');
54
+ }
55
+ if (key.includes("[") || key.includes("]")) {
56
+ throw new PathSyntaxError(source, `the key ${JSON.stringify(key)} contains a bracket; "[*]" is the only ` +
57
+ "bracket form and it must trail a key");
58
+ }
59
+ if (isReservedSegment(key)) {
60
+ throw new PathSyntaxError(source, `${JSON.stringify(key)} is a reserved segment (prototype pollution)`);
61
+ }
62
+ }
@@ -0,0 +1,25 @@
1
+ import type { ParsePath, Segment } from "./path-segment.types";
2
+ import type { IsOpaqueObject } from "./opaque-object.types";
3
+ import type { ElementOf } from "./element-of.types";
4
+ /** `unknown extends T` is tested BEFORE NonNullable, because
5
+ * `NonNullable<unknown>` is `{}` since TS 4.9 and would otherwise collapse
6
+ * every Record<string, unknown> subtree to never on the second segment. */
7
+ type ReadKey<T, K extends string> = unknown extends T ? unknown : NonNullable<T> extends infer U ? U extends readonly unknown[] ? never : IsOpaqueObject<U> extends true ? never : U extends object ? K extends keyof U ? U[K] : never : never : never;
8
+ type WalkSegments<T, S extends readonly Segment[]> = S extends readonly [
9
+ infer H,
10
+ ...infer R extends readonly Segment[]
11
+ ] ? H extends {
12
+ readonly each: true;
13
+ } ? WalkSegments<ElementOf<T>, R> : H extends {
14
+ readonly key: infer K extends string;
15
+ } ? WalkSegments<ReadKey<T, K>, R> : never : T;
16
+ /** The declared type at P. Optionality survives on the LAST segment only, so
17
+ * the chain can observe presence type-state while intermediate steps stay
18
+ * total: ValueAtPath<T,"opt"> is `Address | undefined`, ValueAtPath<T,
19
+ * "opt.street"> is `string`. */
20
+ export type ValueAtPath<T, P extends string> = WalkSegments<T, ParsePath<P>>;
21
+ /** Maps a tuple of path literals to an object of their resolved value types. */
22
+ export type PickPaths<T, P extends readonly string[]> = {
23
+ readonly [K in P[number]]: ValueAtPath<T, K>;
24
+ };
25
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,99 @@
1
+ import type { ArrayItemContext, CheckOutcome, IssueDetail, IssueSeverity, MessageContext, RuleContext } from "../types";
2
+ export type RuleKind = "check" | "presence" | "conditionalPresence" | "gate" | "transform" | "composite" | "recursive";
3
+ export interface CheckRule {
4
+ readonly kind: "check";
5
+ readonly code: string;
6
+ readonly severity: IssueSeverity;
7
+ run(value: unknown, ctx: RuleContext): CheckOutcome;
8
+ describe(detail: IssueDetail, ctx: MessageContext): string;
9
+ }
10
+ /**
11
+ * WHICH absences a rule permits, without the identity that reports a refusal.
12
+ * Split out because a conditional presence rule owns TWO of these — one per
13
+ * side of its predicate — while both sides share its code and its message.
14
+ */
15
+ export interface PresenceAllowance {
16
+ readonly allowUndefined: boolean;
17
+ readonly allowNull: boolean;
18
+ readonly emptyStringIsMissing: boolean;
19
+ }
20
+ export interface PresenceRule extends PresenceAllowance {
21
+ readonly kind: "presence";
22
+ readonly code: string;
23
+ readonly severity: IssueSeverity;
24
+ describe(ctx: MessageContext): string;
25
+ }
26
+ /**
27
+ * Presence only a value of the ROOT can settle: `.requiredIf(when)` and
28
+ * `.optionalIf(when)`.
29
+ *
30
+ * Plain PresenceRules merge into ONE policy at build time, which is why
31
+ * nothing before this could make a MISSING value depend on a sibling field.
32
+ * requiredIf had to be a check instead, and a check never sees undefined
33
+ * because the presence gate returns first — so `.requiredIf(cond)` alone was
34
+ * silent on the very absence it exists to forbid.
35
+ *
36
+ * The condition is therefore carried HERE, and compilation turns each side
37
+ * into a finished PresencePolicy. The run time evaluates one predicate and
38
+ * PICKS; it never assembles a policy and never asks what a rule is.
39
+ *
40
+ * `whenMet` / `whenUnmet` is null on the side that has no opinion, and the
41
+ * field then keeps the policy its unconditional rules already merged to. That
42
+ * is what leaves `.required().requiredIf(cond)` rejecting a missing value
43
+ * while the condition is false.
44
+ */
45
+ export interface ConditionalPresenceRule {
46
+ readonly kind: "conditionalPresence";
47
+ readonly code: string;
48
+ readonly severity: IssueSeverity;
49
+ /** Evaluated once per field run, BEFORE the value is judged. */
50
+ when(root: unknown, arrayContext?: ArrayItemContext): boolean;
51
+ readonly whenMet: PresenceAllowance | null;
52
+ readonly whenUnmet: PresenceAllowance | null;
53
+ describe(ctx: MessageContext): string;
54
+ }
55
+ export interface GateRule {
56
+ readonly kind: "gate";
57
+ readonly code: string;
58
+ shouldRun(value: unknown, ctx: RuleContext): boolean;
59
+ }
60
+ export interface TransformRule {
61
+ readonly kind: "transform";
62
+ apply(value: unknown, ctx: RuleContext): unknown;
63
+ }
64
+ /** Rules bound to a path RELATIVE to the branch subject. */
65
+ export interface BranchField {
66
+ readonly path: string;
67
+ readonly rules: readonly Rule[];
68
+ }
69
+ export interface CompositeBranch {
70
+ readonly label: string;
71
+ readonly rules: readonly Rule[];
72
+ readonly fields: readonly BranchField[];
73
+ }
74
+ /** A branch after compilation: the same call shape as a check. */
75
+ export interface BranchRunner {
76
+ readonly label: string;
77
+ run(value: unknown, ctx: RuleContext): CheckOutcome;
78
+ }
79
+ export type CompositeExecute = (value: unknown, ctx: RuleContext) => CheckOutcome;
80
+ export type CompositeCombine = (runners: readonly BranchRunner[]) => CompositeExecute;
81
+ export interface CompositeRule {
82
+ readonly kind: "composite";
83
+ readonly code: string;
84
+ readonly severity: IssueSeverity;
85
+ readonly branches: readonly CompositeBranch[];
86
+ /** Called ONCE at build time; runners[i] corresponds to branches[i]. */
87
+ readonly combine: CompositeCombine;
88
+ describe(detail: IssueDetail, ctx: MessageContext): string;
89
+ }
90
+ export type RecursionTarget = "self" | "element";
91
+ export interface RecursiveRule {
92
+ readonly kind: "recursive";
93
+ readonly code: string;
94
+ readonly severity: IssueSeverity;
95
+ readonly target: RecursionTarget;
96
+ readonly maxDepth: number;
97
+ describe(detail: IssueDetail, ctx: MessageContext): string;
98
+ }
99
+ export type Rule = CheckRule | PresenceRule | ConditionalPresenceRule | GateRule | TransformRule | CompositeRule | RecursiveRule;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ import type { IssueSeverity, MessageContext, MessageContextExtra, MessageFactory } from "../types";
2
+ import type { ConditionalPresenceRule, PresenceAllowance } from "./compiled-rule";
3
+ import type { RootPredicateFn } from "./runtime-args.types";
4
+ /** Rejects undefined, null and "" — legacy's emptiness, verbatim. */
5
+ export declare const REQUIRES_A_VALUE: PresenceAllowance;
6
+ /**
7
+ * Permits undefined and null. "" stays PRESENT here, so a conditionally
8
+ * optional field still runs its own checks against an empty string, exactly
9
+ * as `.optional().min(3)` does.
10
+ */
11
+ export declare const PERMITS_ABSENCE: PresenceAllowance;
12
+ export interface ConditionalPresenceSpec<C extends MessageContextExtra> {
13
+ readonly code: string;
14
+ readonly messageFactory?: MessageFactory<C>;
15
+ readonly severity: IssueSeverity;
16
+ /** The user's predicate. Stored by identity, never re-wrapped. */
17
+ readonly when: RootPredicateFn;
18
+ /** In force while the predicate holds; null defers to the merged policy. */
19
+ readonly whenMet: PresenceAllowance | null;
20
+ /** In force while it does not; null defers to the merged policy. */
21
+ readonly whenUnmet: PresenceAllowance | null;
22
+ describe(ctx: MessageContext): string;
23
+ buildMessageContext(): C;
24
+ }
25
+ export declare function conditionalPresence<C extends MessageContextExtra>(spec: ConditionalPresenceSpec<C>): ConditionalPresenceRule;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PERMITS_ABSENCE = exports.REQUIRES_A_VALUE = void 0;
4
+ exports.conditionalPresence = conditionalPresence;
5
+ const rule_build_context_1 = require("./rule-build-context");
6
+ /** Rejects undefined, null and "" — legacy's emptiness, verbatim. */
7
+ exports.REQUIRES_A_VALUE = Object.freeze({
8
+ allowUndefined: false,
9
+ allowNull: false,
10
+ emptyStringIsMissing: true,
11
+ });
12
+ /**
13
+ * Permits undefined and null. "" stays PRESENT here, so a conditionally
14
+ * optional field still runs its own checks against an empty string, exactly
15
+ * as `.optional().min(3)` does.
16
+ */
17
+ exports.PERMITS_ABSENCE = Object.freeze({
18
+ allowUndefined: true,
19
+ allowNull: true,
20
+ emptyStringIsMissing: false,
21
+ });
22
+ function conditionalPresence(spec) {
23
+ return {
24
+ kind: "conditionalPresence",
25
+ code: spec.code,
26
+ severity: spec.severity,
27
+ when: spec.when,
28
+ whenMet: spec.whenMet,
29
+ whenUnmet: spec.whenUnmet,
30
+ describe: (ctx) => (0, rule_build_context_1.renderMessage)(spec.messageFactory, ctx, spec.buildMessageContext(), spec.describe(ctx)),
31
+ };
32
+ }
@@ -0,0 +1,28 @@
1
+ import { renderMessage } from "./rule-build-context.mjs";
2
+ /** Rejects undefined, null and "" — legacy's emptiness, verbatim. */
3
+ export const REQUIRES_A_VALUE = Object.freeze({
4
+ allowUndefined: false,
5
+ allowNull: false,
6
+ emptyStringIsMissing: true,
7
+ });
8
+ /**
9
+ * Permits undefined and null. "" stays PRESENT here, so a conditionally
10
+ * optional field still runs its own checks against an empty string, exactly
11
+ * as `.optional().min(3)` does.
12
+ */
13
+ export const PERMITS_ABSENCE = Object.freeze({
14
+ allowUndefined: true,
15
+ allowNull: true,
16
+ emptyStringIsMissing: false,
17
+ });
18
+ export function conditionalPresence(spec) {
19
+ return {
20
+ kind: "conditionalPresence",
21
+ code: spec.code,
22
+ severity: spec.severity,
23
+ when: spec.when,
24
+ whenMet: spec.whenMet,
25
+ whenUnmet: spec.whenUnmet,
26
+ describe: (ctx) => renderMessage(spec.messageFactory, ctx, spec.buildMessageContext(), spec.describe(ctx)),
27
+ };
28
+ }
@@ -0,0 +1,48 @@
1
+ import type { CheckOutcome, IssueDetail, IssueSeverity, MessageContext, MessageContextExtra, MessageFactory, RuleContext } from "../types";
2
+ import type { BranchField, CheckRule, CompositeBranch, CompositeCombine, CompositeRule, GateRule, PresenceRule, RecursionTarget, RecursiveRule, Rule, TransformRule } from "./compiled-rule";
3
+ export interface CheckSpec<C extends MessageContextExtra> {
4
+ readonly code: string;
5
+ readonly messageFactory?: MessageFactory<C>;
6
+ readonly severity: IssueSeverity;
7
+ run(value: unknown, ctx: RuleContext): CheckOutcome;
8
+ describe(detail: IssueDetail, ctx: MessageContext): string;
9
+ buildMessageContext(detail: IssueDetail): C;
10
+ }
11
+ export declare function check<C extends MessageContextExtra>(spec: CheckSpec<C>): CheckRule;
12
+ export interface PresenceSpec<C extends MessageContextExtra> {
13
+ readonly code: string;
14
+ readonly messageFactory?: MessageFactory<C>;
15
+ readonly severity: IssueSeverity;
16
+ readonly allowUndefined: boolean;
17
+ readonly allowNull: boolean;
18
+ readonly emptyStringIsMissing: boolean;
19
+ describe(ctx: MessageContext): string;
20
+ buildMessageContext(): C;
21
+ }
22
+ export declare function presence<C extends MessageContextExtra>(spec: PresenceSpec<C>): PresenceRule;
23
+ export declare function gate(code: string, shouldRun: (value: unknown, ctx: RuleContext) => boolean): GateRule;
24
+ export declare function transform(apply: (value: unknown, ctx: RuleContext) => unknown): TransformRule;
25
+ /** Declares a branch of a composite. */
26
+ export declare function branch(label: string, rules: readonly Rule[], fields?: readonly BranchField[]): CompositeBranch;
27
+ /** Declares a branch that only constrains sub-paths. */
28
+ export declare function fieldsBranch(label: string, fields: readonly BranchField[]): CompositeBranch;
29
+ export interface CompositeSpec<C extends MessageContextExtra> {
30
+ readonly code: string;
31
+ readonly messageFactory?: MessageFactory<C>;
32
+ readonly severity: IssueSeverity;
33
+ readonly branches: readonly CompositeBranch[];
34
+ readonly combine: CompositeCombine;
35
+ describe(detail: IssueDetail, ctx: MessageContext): string;
36
+ buildMessageContext(detail: IssueDetail): C;
37
+ }
38
+ export declare function composite<C extends MessageContextExtra>(spec: CompositeSpec<C>): CompositeRule;
39
+ export interface RecursiveSpec<C extends MessageContextExtra> {
40
+ readonly code: string;
41
+ readonly messageFactory?: MessageFactory<C>;
42
+ readonly severity: IssueSeverity;
43
+ readonly target: RecursionTarget;
44
+ readonly maxDepth: number;
45
+ describe(detail: IssueDetail, ctx: MessageContext): string;
46
+ buildMessageContext(detail: IssueDetail): C;
47
+ }
48
+ export declare function recursive<C extends MessageContextExtra>(spec: RecursiveSpec<C>): RecursiveRule;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.check = check;
4
+ exports.presence = presence;
5
+ exports.gate = gate;
6
+ exports.transform = transform;
7
+ exports.branch = branch;
8
+ exports.fieldsBranch = fieldsBranch;
9
+ exports.composite = composite;
10
+ exports.recursive = recursive;
11
+ const rule_build_context_1 = require("./rule-build-context");
12
+ const EMPTY_FIELDS = Object.freeze([]);
13
+ const EMPTY_RULES = Object.freeze([]);
14
+ function check(spec) {
15
+ return {
16
+ kind: "check",
17
+ code: spec.code,
18
+ severity: spec.severity,
19
+ run: (value, ctx) => spec.run(value, ctx),
20
+ describe: (detail, ctx) => (0, rule_build_context_1.renderMessage)(spec.messageFactory, ctx, spec.buildMessageContext(detail), spec.describe(detail, ctx)),
21
+ };
22
+ }
23
+ function presence(spec) {
24
+ return {
25
+ kind: "presence",
26
+ code: spec.code,
27
+ severity: spec.severity,
28
+ allowUndefined: spec.allowUndefined,
29
+ allowNull: spec.allowNull,
30
+ emptyStringIsMissing: spec.emptyStringIsMissing,
31
+ describe: (ctx) => (0, rule_build_context_1.renderMessage)(spec.messageFactory, ctx, spec.buildMessageContext(), spec.describe(ctx)),
32
+ };
33
+ }
34
+ function gate(code, shouldRun) {
35
+ return { kind: "gate", code, shouldRun };
36
+ }
37
+ function transform(apply) {
38
+ return { kind: "transform", apply };
39
+ }
40
+ /** Declares a branch of a composite. */
41
+ function branch(label, rules, fields = EMPTY_FIELDS) {
42
+ return { label, rules, fields };
43
+ }
44
+ /** Declares a branch that only constrains sub-paths. */
45
+ function fieldsBranch(label, fields) {
46
+ return { label, rules: EMPTY_RULES, fields };
47
+ }
48
+ function composite(spec) {
49
+ return {
50
+ kind: "composite",
51
+ code: spec.code,
52
+ severity: spec.severity,
53
+ branches: spec.branches,
54
+ combine: spec.combine,
55
+ describe: (detail, ctx) => (0, rule_build_context_1.renderMessage)(spec.messageFactory, ctx, spec.buildMessageContext(detail), spec.describe(detail, ctx)),
56
+ };
57
+ }
58
+ function recursive(spec) {
59
+ return {
60
+ kind: "recursive",
61
+ code: spec.code,
62
+ severity: spec.severity,
63
+ target: spec.target,
64
+ maxDepth: spec.maxDepth,
65
+ describe: (detail, ctx) => (0, rule_build_context_1.renderMessage)(spec.messageFactory, ctx, spec.buildMessageContext(detail), spec.describe(detail, ctx)),
66
+ };
67
+ }
@@ -0,0 +1,57 @@
1
+ import { renderMessage } from "./rule-build-context.mjs";
2
+ const EMPTY_FIELDS = Object.freeze([]);
3
+ const EMPTY_RULES = Object.freeze([]);
4
+ export function check(spec) {
5
+ return {
6
+ kind: "check",
7
+ code: spec.code,
8
+ severity: spec.severity,
9
+ run: (value, ctx) => spec.run(value, ctx),
10
+ describe: (detail, ctx) => renderMessage(spec.messageFactory, ctx, spec.buildMessageContext(detail), spec.describe(detail, ctx)),
11
+ };
12
+ }
13
+ export function presence(spec) {
14
+ return {
15
+ kind: "presence",
16
+ code: spec.code,
17
+ severity: spec.severity,
18
+ allowUndefined: spec.allowUndefined,
19
+ allowNull: spec.allowNull,
20
+ emptyStringIsMissing: spec.emptyStringIsMissing,
21
+ describe: (ctx) => renderMessage(spec.messageFactory, ctx, spec.buildMessageContext(), spec.describe(ctx)),
22
+ };
23
+ }
24
+ export function gate(code, shouldRun) {
25
+ return { kind: "gate", code, shouldRun };
26
+ }
27
+ export function transform(apply) {
28
+ return { kind: "transform", apply };
29
+ }
30
+ /** Declares a branch of a composite. */
31
+ export function branch(label, rules, fields = EMPTY_FIELDS) {
32
+ return { label, rules, fields };
33
+ }
34
+ /** Declares a branch that only constrains sub-paths. */
35
+ export function fieldsBranch(label, fields) {
36
+ return { label, rules: EMPTY_RULES, fields };
37
+ }
38
+ export function composite(spec) {
39
+ return {
40
+ kind: "composite",
41
+ code: spec.code,
42
+ severity: spec.severity,
43
+ branches: spec.branches,
44
+ combine: spec.combine,
45
+ describe: (detail, ctx) => renderMessage(spec.messageFactory, ctx, spec.buildMessageContext(detail), spec.describe(detail, ctx)),
46
+ };
47
+ }
48
+ export function recursive(spec) {
49
+ return {
50
+ kind: "recursive",
51
+ code: spec.code,
52
+ severity: spec.severity,
53
+ target: spec.target,
54
+ maxDepth: spec.maxDepth,
55
+ describe: (detail, ctx) => renderMessage(spec.messageFactory, ctx, spec.buildMessageContext(detail), spec.describe(detail, ctx)),
56
+ };
57
+ }
@@ -0,0 +1,2 @@
1
+ import { type RuleContext } from "../types";
2
+ export declare function readExternalContext<C extends object>(ctx: RuleContext, isContext: (value: unknown) => value is C): C | undefined;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readExternalContext = readExternalContext;
4
+ // ===========================================================================
5
+ // L2 src/plugin-kit/external-context.ts
6
+ // RESIDUAL 4 / item 1 — the READ side of the async story.
7
+ //
8
+ // It lives at L2, not at L9, for a layering reason found by compiling: the only
9
+ // consumer that matters is a PLUGIN (fromContext), and a plugin at L7 may not
10
+ // import L9. L9 re-exports this under the 1.x name so the public surface is
11
+ // unchanged, but the mechanism is a plain read of RuleContext.external, which
12
+ // is L0 vocabulary. Nothing in the engine knows the word "async".
13
+ //
14
+ // 1.x's getAsyncContext<C>(context) asserted the shape. Here the caller passes
15
+ // the guard that proves it — alternative 2 in the code standard, not
16
+ // alternative 4 — so a context that never resolved cannot masquerade as one
17
+ // that did.
18
+ // ===========================================================================
19
+ const types_1 = require("../types");
20
+ function readExternalContext(ctx, isContext) {
21
+ const external = ctx.external;
22
+ if (external === undefined || !(0, types_1.isPlainObject)(external))
23
+ return undefined;
24
+ return isContext(external) ? external : undefined;
25
+ }
@@ -0,0 +1,22 @@
1
+ // ===========================================================================
2
+ // L2 src/plugin-kit/external-context.ts
3
+ // RESIDUAL 4 / item 1 — the READ side of the async story.
4
+ //
5
+ // It lives at L2, not at L9, for a layering reason found by compiling: the only
6
+ // consumer that matters is a PLUGIN (fromContext), and a plugin at L7 may not
7
+ // import L9. L9 re-exports this under the 1.x name so the public surface is
8
+ // unchanged, but the mechanism is a plain read of RuleContext.external, which
9
+ // is L0 vocabulary. Nothing in the engine knows the word "async".
10
+ //
11
+ // 1.x's getAsyncContext<C>(context) asserted the shape. Here the caller passes
12
+ // the guard that proves it — alternative 2 in the code standard, not
13
+ // alternative 4 — so a context that never resolved cannot masquerade as one
14
+ // that did.
15
+ // ===========================================================================
16
+ import { isPlainObject } from "../types/index.mjs";
17
+ export function readExternalContext(ctx, isContext) {
18
+ const external = ctx.external;
19
+ if (external === undefined || !isPlainObject(external))
20
+ return undefined;
21
+ return isContext(external) ? external : undefined;
22
+ }
@@ -0,0 +1,11 @@
1
+ export * from "./compiled-rule";
2
+ export * from "./create-conditional-presence";
3
+ export * from "./create-rule";
4
+ export * from "./external-context";
5
+ export * from "./is-json-value-equal";
6
+ export * from "./marker.types";
7
+ export * from "./plugin-definition";
8
+ export * from "./rule-build-context";
9
+ export * from "./runtime-args.types";
10
+ export * from "../types";
11
+ export type { FieldPath, LeafPath, MissingLeafPaths, PickPaths, ValueAtPath, } from "../path/index";
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ // ===========================================================================
18
+ // src/plugin-kit/index.ts — THE ./plugin-kit SUBPATH.
19
+ //
20
+ // Everything a plugin author may import, and nothing else. A plugin under
21
+ // src/plugins/** imports these modules by relative path; a plugin published
22
+ // OUTSIDE this repository imports this subpath. The two must name the same
23
+ // set, so this barrel re-exports exactly the modules the isolation gate
24
+ // permits an isolated-tier plugin to reach: plugin-kit itself, the L0
25
+ // vocabulary, and the L1 path vocabulary.
26
+ //
27
+ // Re-exports only; nothing is defined here.
28
+ // ===========================================================================
29
+ __exportStar(require("./compiled-rule"), exports);
30
+ __exportStar(require("./create-conditional-presence"), exports);
31
+ __exportStar(require("./create-rule"), exports);
32
+ __exportStar(require("./external-context"), exports);
33
+ __exportStar(require("./is-json-value-equal"), exports);
34
+ __exportStar(require("./marker.types"), exports);
35
+ __exportStar(require("./plugin-definition"), exports);
36
+ __exportStar(require("./rule-build-context"), exports);
37
+ __exportStar(require("./runtime-args.types"), exports);
38
+ // ---- the vocabulary a rule reads its value and its context with -----------
39
+ __exportStar(require("../types"), exports);