@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,23 @@
1
+ // ===========================================================================
2
+ // src/plugin-kit/index.ts — THE ./plugin-kit SUBPATH.
3
+ //
4
+ // Everything a plugin author may import, and nothing else. A plugin under
5
+ // src/plugins/** imports these modules by relative path; a plugin published
6
+ // OUTSIDE this repository imports this subpath. The two must name the same
7
+ // set, so this barrel re-exports exactly the modules the isolation gate
8
+ // permits an isolated-tier plugin to reach: plugin-kit itself, the L0
9
+ // vocabulary, and the L1 path vocabulary.
10
+ //
11
+ // Re-exports only; nothing is defined here.
12
+ // ===========================================================================
13
+ export * from "./compiled-rule.mjs";
14
+ export * from "./create-conditional-presence.mjs";
15
+ export * from "./create-rule.mjs";
16
+ export * from "./external-context.mjs";
17
+ export * from "./is-json-value-equal.mjs";
18
+ export * from "./marker.types.mjs";
19
+ export * from "./plugin-definition.mjs";
20
+ export * from "./rule-build-context.mjs";
21
+ export * from "./runtime-args.types.mjs";
22
+ // ---- the vocabulary a rule reads its value and its context with -----------
23
+ export * from "../types/index.mjs";
@@ -0,0 +1,10 @@
1
+ /** NaN equals NaN; +0 equals -0. `a !== a` is the NaN test that needs no cast. */
2
+ export declare function isSameValueZero(left: unknown, right: unknown): boolean;
3
+ /**
4
+ * Structural comparison for arrays and PLAIN objects only. A Date, a RegExp, a
5
+ * Map or a class instance compares by identity, because reading their own
6
+ * enumerable keys would call every one of them equal to every other — a RegExp
7
+ * has none at all. JSON has none of those shapes, so nothing that came out of
8
+ * JSON.parse is affected.
9
+ */
10
+ export declare function isJsonValueEqual(left: unknown, right: unknown): boolean;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ // ===========================================================================
3
+ // L2 src/plugin-kit/is-json-value-equal.ts
4
+ // THE single definition of "these two values are the same JSON value".
5
+ //
6
+ // It lives in plugin-kit because FOUR callers need the same answer and a plugin
7
+ // may not import a sibling plugin: `unique` (array-unique), `oneOf`, `literal`,
8
+ // and through the last two the Draft-07 `enum` and `const` keywords. Every one
9
+ // of those keywords is defined by JSON Schema §4.2.3 in terms of the JSON data
10
+ // model, where equality is STRUCTURAL — `{"a":1}` equals `{"a":1}` however many
11
+ // times it was parsed — so three separate `===` tests were three ways of being
12
+ // wrong at once. Measured on the official suite: reference equality cost 17 of
13
+ // the 929 draft7 cases before this module existed.
14
+ //
15
+ // docs/legacy-spec/plugin-catalog-structural.md records two defects this closes
16
+ // for `unique`, and they are the reason the implementation looks the way it does:
17
+ // * 1.x switched from a `===` double loop to a Set at length 11, so [NaN, NaN]
18
+ // was a duplicate in a long array and not in a short one. One definition is
19
+ // used here at every length.
20
+ // * the rewrite's first draft keyed on JSON.stringify, which is ORDER
21
+ // dependent: {a:1,b:2} and {b:2,a:1} are the same value and were reported as
22
+ // distinct. Keys are compared as a set, so order cannot matter.
23
+ //
24
+ // Leaves compare with SameValueZero (NaN equals NaN, +0 equals -0), which is the
25
+ // definition `Set` and `Array.prototype.includes` already use, so `unique`,
26
+ // `includes`, `oneOf` and `literal` all agree about what "the same value" means.
27
+ // ===========================================================================
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.isSameValueZero = isSameValueZero;
30
+ exports.isJsonValueEqual = isJsonValueEqual;
31
+ /** NaN equals NaN; +0 equals -0. `a !== a` is the NaN test that needs no cast. */
32
+ function isSameValueZero(left, right) {
33
+ return left === right || (left !== left && right !== right);
34
+ }
35
+ /**
36
+ * Structural comparison for arrays and PLAIN objects only. A Date, a RegExp, a
37
+ * Map or a class instance compares by identity, because reading their own
38
+ * enumerable keys would call every one of them equal to every other — a RegExp
39
+ * has none at all. JSON has none of those shapes, so nothing that came out of
40
+ * JSON.parse is affected.
41
+ */
42
+ function isJsonValueEqual(left, right) {
43
+ if (isSameValueZero(left, right))
44
+ return true;
45
+ if (Array.isArray(left) || Array.isArray(right)) {
46
+ return (Array.isArray(left) &&
47
+ Array.isArray(right) &&
48
+ areElementsEqual(left, right));
49
+ }
50
+ if (!isPlainRecord(left) || !isPlainRecord(right))
51
+ return false;
52
+ return areEntriesEqual(left, right);
53
+ }
54
+ function areElementsEqual(left, right) {
55
+ if (left.length !== right.length)
56
+ return false;
57
+ for (let index = 0; index < left.length; index += 1) {
58
+ if (!isJsonValueEqual(left[index], right[index]))
59
+ return false;
60
+ }
61
+ return true;
62
+ }
63
+ function areEntriesEqual(left, right) {
64
+ const leftKeys = Object.keys(left);
65
+ if (leftKeys.length !== Object.keys(right).length)
66
+ return false;
67
+ for (const key of leftKeys) {
68
+ if (!Object.prototype.hasOwnProperty.call(right, key))
69
+ return false;
70
+ if (!isJsonValueEqual(left[key], right[key]))
71
+ return false;
72
+ }
73
+ return true;
74
+ }
75
+ /** Object.prototype or a null prototype: anything else keeps its identity. */
76
+ function isPlainRecord(value) {
77
+ if (typeof value !== "object" || value === null)
78
+ return false;
79
+ const prototype = Object.getPrototypeOf(value);
80
+ return prototype === Object.prototype || prototype === null;
81
+ }
@@ -0,0 +1,77 @@
1
+ // ===========================================================================
2
+ // L2 src/plugin-kit/is-json-value-equal.ts
3
+ // THE single definition of "these two values are the same JSON value".
4
+ //
5
+ // It lives in plugin-kit because FOUR callers need the same answer and a plugin
6
+ // may not import a sibling plugin: `unique` (array-unique), `oneOf`, `literal`,
7
+ // and through the last two the Draft-07 `enum` and `const` keywords. Every one
8
+ // of those keywords is defined by JSON Schema §4.2.3 in terms of the JSON data
9
+ // model, where equality is STRUCTURAL — `{"a":1}` equals `{"a":1}` however many
10
+ // times it was parsed — so three separate `===` tests were three ways of being
11
+ // wrong at once. Measured on the official suite: reference equality cost 17 of
12
+ // the 929 draft7 cases before this module existed.
13
+ //
14
+ // docs/legacy-spec/plugin-catalog-structural.md records two defects this closes
15
+ // for `unique`, and they are the reason the implementation looks the way it does:
16
+ // * 1.x switched from a `===` double loop to a Set at length 11, so [NaN, NaN]
17
+ // was a duplicate in a long array and not in a short one. One definition is
18
+ // used here at every length.
19
+ // * the rewrite's first draft keyed on JSON.stringify, which is ORDER
20
+ // dependent: {a:1,b:2} and {b:2,a:1} are the same value and were reported as
21
+ // distinct. Keys are compared as a set, so order cannot matter.
22
+ //
23
+ // Leaves compare with SameValueZero (NaN equals NaN, +0 equals -0), which is the
24
+ // definition `Set` and `Array.prototype.includes` already use, so `unique`,
25
+ // `includes`, `oneOf` and `literal` all agree about what "the same value" means.
26
+ // ===========================================================================
27
+ /** NaN equals NaN; +0 equals -0. `a !== a` is the NaN test that needs no cast. */
28
+ export function isSameValueZero(left, right) {
29
+ return left === right || (left !== left && right !== right);
30
+ }
31
+ /**
32
+ * Structural comparison for arrays and PLAIN objects only. A Date, a RegExp, a
33
+ * Map or a class instance compares by identity, because reading their own
34
+ * enumerable keys would call every one of them equal to every other — a RegExp
35
+ * has none at all. JSON has none of those shapes, so nothing that came out of
36
+ * JSON.parse is affected.
37
+ */
38
+ export function isJsonValueEqual(left, right) {
39
+ if (isSameValueZero(left, right))
40
+ return true;
41
+ if (Array.isArray(left) || Array.isArray(right)) {
42
+ return (Array.isArray(left) &&
43
+ Array.isArray(right) &&
44
+ areElementsEqual(left, right));
45
+ }
46
+ if (!isPlainRecord(left) || !isPlainRecord(right))
47
+ return false;
48
+ return areEntriesEqual(left, right);
49
+ }
50
+ function areElementsEqual(left, right) {
51
+ if (left.length !== right.length)
52
+ return false;
53
+ for (let index = 0; index < left.length; index += 1) {
54
+ if (!isJsonValueEqual(left[index], right[index]))
55
+ return false;
56
+ }
57
+ return true;
58
+ }
59
+ function areEntriesEqual(left, right) {
60
+ const leftKeys = Object.keys(left);
61
+ if (leftKeys.length !== Object.keys(right).length)
62
+ return false;
63
+ for (const key of leftKeys) {
64
+ if (!Object.prototype.hasOwnProperty.call(right, key))
65
+ return false;
66
+ if (!isJsonValueEqual(left[key], right[key]))
67
+ return false;
68
+ }
69
+ return true;
70
+ }
71
+ /** Object.prototype or a null prototype: anything else keeps its identity. */
72
+ function isPlainRecord(value) {
73
+ if (typeof value !== "object" || value === null)
74
+ return false;
75
+ const prototype = Object.getPrototypeOf(value);
76
+ return prototype === Object.prototype || prototype === null;
77
+ }
@@ -0,0 +1,114 @@
1
+ declare const MARKER: unique symbol;
2
+ export interface FieldRef {
3
+ readonly [MARKER]: "fieldRef";
4
+ }
5
+ export interface FieldRefs {
6
+ readonly [MARKER]: "fieldRefs";
7
+ }
8
+ export interface RootPredicate {
9
+ readonly [MARKER]: "rootPredicate";
10
+ }
11
+ export interface RootReader<R> {
12
+ readonly [MARKER]: "rootReader";
13
+ readonly read: R;
14
+ }
15
+ export interface SelfReader<R> {
16
+ readonly [MARKER]: "selfReader";
17
+ readonly read: R;
18
+ }
19
+ export interface SelfValue {
20
+ readonly [MARKER]: "selfValue";
21
+ }
22
+ export interface ElementChain {
23
+ readonly [MARKER]: "elementChain";
24
+ }
25
+ export interface SelfGuard {
26
+ readonly [MARKER]: "selfGuard";
27
+ }
28
+ export interface NarrowedChain {
29
+ readonly [MARKER]: "narrowedChain";
30
+ }
31
+ /** A sub-chain over the VALUE behind any property key of the subject object. */
32
+ export interface PropertyValueChain {
33
+ readonly [MARKER]: "propertyValueChain";
34
+ }
35
+ /** A sub-chain over the property KEY itself, which is always a string. */
36
+ export interface PropertyKeyChain {
37
+ readonly [MARKER]: "propertyKeyChain";
38
+ }
39
+ export interface Unchanged {
40
+ readonly [MARKER]: "unchanged";
41
+ }
42
+ export interface TransformOut {
43
+ readonly [MARKER]: "transformOut";
44
+ }
45
+ export interface GuardOut {
46
+ readonly [MARKER]: "guardOut";
47
+ }
48
+ export type PresenceShiftKind = "excludeMissing" | "excludeUndefined" | "excludeNull" | "allowNull";
49
+ export interface PresenceShift<K extends PresenceShiftKind> {
50
+ readonly [MARKER]: "presence";
51
+ readonly shift: K;
52
+ }
53
+ declare const PROBE: unique symbol;
54
+ /** A type no resolver can produce by accident, used to spot an unresolved marker. */
55
+ export interface MarkerProbe {
56
+ readonly [PROBE]: true;
57
+ }
58
+ /** THE registry of argument markers. Both resolvers are proved exhaustive
59
+ * against it by src/chain/marker-coverage.types.ts. */
60
+ export interface ArgumentMarkerRegistry {
61
+ readonly fieldRef: FieldRef;
62
+ readonly fieldRefs: FieldRefs;
63
+ readonly rootPredicate: RootPredicate;
64
+ readonly rootReader: RootReader<MarkerProbe>;
65
+ readonly selfReader: SelfReader<MarkerProbe>;
66
+ readonly selfValue: SelfValue;
67
+ readonly elementChain: ElementChain;
68
+ readonly selfGuard: SelfGuard;
69
+ readonly narrowedChain: NarrowedChain;
70
+ readonly propertyValueChain: PropertyValueChain;
71
+ readonly propertyKeyChain: PropertyKeyChain;
72
+ }
73
+ export type ArgumentMarkerKind = keyof ArgumentMarkerRegistry;
74
+ export interface OutputMarkerRegistry {
75
+ readonly unchanged: Unchanged;
76
+ readonly transformOut: TransformOut;
77
+ readonly guardOut: GuardOut;
78
+ readonly excludeMissing: PresenceShift<"excludeMissing">;
79
+ readonly excludeUndefined: PresenceShift<"excludeUndefined">;
80
+ readonly excludeNull: PresenceShift<"excludeNull">;
81
+ readonly allowNull: PresenceShift<"allowNull">;
82
+ }
83
+ export type OutputMarkerKind = keyof OutputMarkerRegistry;
84
+ export type ArgumentMarker = ArgumentMarkerRegistry[ArgumentMarkerKind];
85
+ export type AnyMarker = ArgumentMarker | OutputMarkerRegistry[OutputMarkerKind];
86
+ /**
87
+ * A record whose every value is an argument marker. `patternProperties` and
88
+ * `dependentSchemas` take one sub-chain PER KEY, and a key set is not a tuple,
89
+ * so neither resolver's array recursion reached them. Both resolvers now
90
+ * recurse into exactly this shape and leave every other object argument (e.g.
91
+ * `{ maxDepth?: number }`) untouched, so the recursion cannot silently rewrite
92
+ * an ordinary options bag.
93
+ */
94
+ export type MarkerRecord = Readonly<Record<string, ArgumentMarker>>;
95
+ export type AssertNever<T extends never> = T;
96
+ export type BrandOf<M> = M extends {
97
+ readonly [MARKER]: infer K extends string;
98
+ } ? K : never;
99
+ type UnbrandedArgumentEntry = {
100
+ [K in ArgumentMarkerKind]: [BrandOf<ArgumentMarkerRegistry[K]>] extends [
101
+ never
102
+ ] ? K : never;
103
+ }[ArgumentMarkerKind];
104
+ type UnbrandedOutputEntry = {
105
+ [K in OutputMarkerKind]: [BrandOf<OutputMarkerRegistry[K]>] extends [never] ? K : never;
106
+ }[OutputMarkerKind];
107
+ export type MarkerRegistryProof = [
108
+ AssertNever<UnbrandedArgumentEntry>,
109
+ AssertNever<UnbrandedOutputEntry>
110
+ ];
111
+ type MarkerInOne<A> = [Extract<A, ArgumentMarker>] extends [never] ? [A] extends [readonly unknown[]] ? MarkerInUnion<A[number]> : [A] extends [MarkerRecord] ? true : false : true;
112
+ type MarkerInUnion<A> = A extends unknown ? MarkerInOne<A> : never;
113
+ export type IsMarkerFree<A extends readonly unknown[]> = true extends MarkerInUnion<A[number]> ? false : true;
114
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,40 @@
1
+ import type { MessageContextExtra, TypeName } from "../types";
2
+ import type { RuleForOut, RuntimeArgs } from "./runtime-args.types";
3
+ import type { RuleBuildContext } from "./rule-build-context";
4
+ /** TOut defaults to `unknown`, NOT to `Unchanged`. */
5
+ export interface PluginSignature<TArgs extends readonly unknown[] = readonly unknown[], TOut = unknown, TContext extends MessageContextExtra = MessageContextExtra> {
6
+ readonly args: TArgs;
7
+ readonly out: TOut;
8
+ readonly context: TContext;
9
+ }
10
+ export type PluginBuild<TSig extends PluginSignature> = (ctx: RuleBuildContext<TSig["context"]>, ...args: RuntimeArgs<TSig["args"]>) => RuleForOut<TSig["out"]>;
11
+ export interface PluginDefinition<TName extends string, TMethod extends string, TSlots extends readonly TypeName[], TSig extends PluginSignature> {
12
+ readonly name: TName;
13
+ readonly method: TMethod;
14
+ readonly slots: TSlots;
15
+ build(ctx: RuleBuildContext<TSig["context"]>, ...args: RuntimeArgs<TSig["args"]>): RuleForOut<TSig["out"]>;
16
+ /**
17
+ * Which argument POSITIONS carry a sub-chain. Absent on a plugin that takes
18
+ * none. It cannot be recovered from the signature at run time — a
19
+ * NarrowedChain and a RootPredicate are both plain functions once the types
20
+ * are erased — so a composite declares it, and src/chain/collect-branch-rules
21
+ * resolves exactly those positions to `readonly Rule[]` before build() runs.
22
+ */
23
+ readonly subChainArguments?: readonly number[];
24
+ readonly signature?: TSig;
25
+ }
26
+ export type AnyPlugin = PluginDefinition<string, string, readonly TypeName[], PluginSignature>;
27
+ export interface PluginSpec<TName extends string, TMethod extends string, TSlots extends readonly TypeName[], TSig extends PluginSignature> {
28
+ readonly name: TName;
29
+ readonly method: TMethod;
30
+ readonly slots: TSlots;
31
+ readonly build: PluginBuild<TSig>;
32
+ readonly subChainArguments?: readonly number[];
33
+ }
34
+ /** Curried: the signature is explicit, the identity literals are inferred. */
35
+ export declare function definePlugin<TSig extends PluginSignature>(): <TName extends string, TMethod extends string, TSlots extends readonly TypeName[]>(spec: PluginSpec<TName, TMethod, TSlots, TSig>) => PluginDefinition<TName, TMethod, TSlots, TSig>;
36
+ export type PluginArgs<P> = P extends PluginDefinition<string, string, readonly TypeName[], infer Sig> ? Sig["args"] : never;
37
+ export type PluginOut<P> = P extends PluginDefinition<string, string, readonly TypeName[], infer Sig> ? Sig["out"] : never;
38
+ export declare class PluginArgumentError extends Error {
39
+ constructor(pluginName: string, argumentName: string, received: unknown);
40
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PluginArgumentError = void 0;
4
+ exports.definePlugin = definePlugin;
5
+ /** Curried: the signature is explicit, the identity literals are inferred. */
6
+ function definePlugin() {
7
+ return (spec) => ({
8
+ name: spec.name,
9
+ method: spec.method,
10
+ slots: spec.slots,
11
+ build: spec.build,
12
+ // Only present when the plugin declared one, so a plugin that takes no
13
+ // sub-chain keeps exactly the four members it always had.
14
+ ...(spec.subChainArguments === undefined
15
+ ? {}
16
+ : { subChainArguments: spec.subChainArguments }),
17
+ });
18
+ }
19
+ class PluginArgumentError extends Error {
20
+ constructor(pluginName, argumentName, received) {
21
+ super(`${pluginName}: invalid argument "${argumentName}": ${String(received)}`);
22
+ this.name = "PluginArgumentError";
23
+ }
24
+ }
25
+ exports.PluginArgumentError = PluginArgumentError;
@@ -0,0 +1,20 @@
1
+ /** Curried: the signature is explicit, the identity literals are inferred. */
2
+ export function definePlugin() {
3
+ return (spec) => ({
4
+ name: spec.name,
5
+ method: spec.method,
6
+ slots: spec.slots,
7
+ build: spec.build,
8
+ // Only present when the plugin declared one, so a plugin that takes no
9
+ // sub-chain keeps exactly the four members it always had.
10
+ ...(spec.subChainArguments === undefined
11
+ ? {}
12
+ : { subChainArguments: spec.subChainArguments }),
13
+ });
14
+ }
15
+ export class PluginArgumentError extends Error {
16
+ constructor(pluginName, argumentName, received) {
17
+ super(`${pluginName}: invalid argument "${argumentName}": ${String(received)}`);
18
+ this.name = "PluginArgumentError";
19
+ }
20
+ }
@@ -0,0 +1,27 @@
1
+ import type { IssueSeverity, MessageContext, MessageContextExtra, MessageFactory } from "../types";
2
+ import type { ResolvedGlobalConfig } from "../types/global-config";
3
+ export interface RuleBuildContext<C extends MessageContextExtra = MessageContextExtra> {
4
+ /** Identity of the plugin whose build() is running. */
5
+ readonly pluginName: string;
6
+ /** Error code already resolved from options.code, falling back to pluginName. */
7
+ readonly code: string;
8
+ /** Message factory already resolved from options.messageFactory. */
9
+ readonly messageFactory?: MessageFactory<C>;
10
+ /**
11
+ * Already resolved from options.severity, falling back to
12
+ * config.defaultSeverity. Resolved ONCE, here, for the same reason
13
+ * options.code is: two resolution sites is how an override stops working.
14
+ */
15
+ readonly severity: IssueSeverity;
16
+ /**
17
+ * The effective GlobalConfig for the builder that is building this rule.
18
+ * This is the ONLY way a plugin sees it; nothing reads a process-wide
19
+ * singleton at validation time.
20
+ */
21
+ readonly config: ResolvedGlobalConfig;
22
+ /** The field this rule is attached to, in L1 grammar. */
23
+ readonly fieldPath: string;
24
+ /** Immediate child object keys declared underneath fieldPath, frozen by L4. */
25
+ readonly declaredSiblingKeys: readonly string[];
26
+ }
27
+ export declare function renderMessage<C extends MessageContextExtra>(factory: MessageFactory<C> | undefined, ctx: MessageContext, extra: C, fallback: string): string;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.renderMessage = renderMessage;
4
+ function renderMessage(factory, ctx, extra, fallback) {
5
+ return factory === undefined
6
+ ? fallback
7
+ : factory(Object.assign({}, ctx, extra));
8
+ }
@@ -0,0 +1,5 @@
1
+ export function renderMessage(factory, ctx, extra, fallback) {
2
+ return factory === undefined
3
+ ? fallback
4
+ : factory(Object.assign({}, ctx, extra));
5
+ }
@@ -0,0 +1,27 @@
1
+ import type { ElementChain, FieldRef, FieldRefs, MarkerRecord, NarrowedChain, PresenceShift, PresenceShiftKind, PropertyKeyChain, PropertyValueChain, RootPredicate, RootReader, SelfGuard, SelfReader, SelfValue, TransformOut } from "./marker.types";
2
+ import type { ArrayItemContext } from "../types";
3
+ import type { PresenceRule, Rule, TransformRule } from "./compiled-rule";
4
+ export type RootPredicateFn = (root: unknown, item?: ArrayItemContext) => boolean;
5
+ export type RootReaderFn<R> = (root: unknown) => R;
6
+ export type SelfReaderFn<R> = (value: unknown) => R;
7
+ export type SelfGuardFn = (value: unknown) => boolean;
8
+ /**
9
+ * An OPTIONAL tuple element makes `A[I]` be `M | undefined`, which matches no
10
+ * marker branch. Undefined is stripped before matching and re-added afterwards.
11
+ */
12
+ export type RuntimeArg<A> = [undefined] extends [A] ? ResolveRuntimeArg<Exclude<A, undefined>> | undefined : ResolveRuntimeArg<A>;
13
+ type ResolveRuntimeArg<A> = [A] extends [FieldRef] ? string : [A] extends [FieldRefs] ? readonly string[] : [A] extends [RootPredicate] ? RootPredicateFn : [A] extends [RootReader<infer R>] ? RootReaderFn<R> : [A] extends [SelfReader<infer R>] ? SelfReaderFn<R> : [A] extends [SelfGuard] ? SelfGuardFn : [A] extends [SelfValue] ? unknown : [A] extends [ElementChain] ? readonly Rule[] : [A] extends [NarrowedChain] ? readonly Rule[] : [A] extends [PropertyValueChain] ? readonly Rule[] : [A] extends [PropertyKeyChain] ? readonly Rule[] : [
14
+ A
15
+ ] extends [readonly unknown[]] ? {
16
+ [I in keyof A]: RuntimeArg<A[I]>;
17
+ } : [
18
+ A
19
+ ] extends [MarkerRecord] ? {
20
+ readonly [K in keyof A]: RuntimeArg<A[K]>;
21
+ } : A;
22
+ export type RuntimeArgs<A extends readonly unknown[]> = {
23
+ [I in keyof A]: RuntimeArg<A[I]>;
24
+ };
25
+ /** The runtime counterpart of the OUTPUT markers. */
26
+ export type RuleForOut<O> = [O] extends [TransformOut] ? TransformRule : [O] extends [PresenceShift<PresenceShiftKind>] ? PresenceRule : Rule;
27
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export * from "./plugin-kit/index";
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ module.exports = require("./plugin-kit/index");
@@ -0,0 +1 @@
1
+ export * from "./plugin-kit/index.mjs";
@@ -0,0 +1,22 @@
1
+ import type { ElementChain, Unchanged } from "../../plugin-kit/marker.types";
2
+ export interface ArrayContainsBounds {
3
+ readonly min?: number;
4
+ readonly max?: number;
5
+ }
6
+ export interface ArrayContainsContext {
7
+ readonly matched: number;
8
+ readonly min: number;
9
+ readonly max: number;
10
+ }
11
+ /**
12
+ * WHICH argument positions carry a sub-chain cannot be recovered from a
13
+ * plugin's type at run time — a NarrowedChain and a RootPredicate are both
14
+ * plain functions once erased — so src/chain/collect-branch-rules.ts reads it
15
+ * from this declared field. definePlugin's spec does not carry it yet (see
16
+ * needsFromOthers), which is why it is spread on rather than passed in.
17
+ */
18
+ export declare const arrayContainsPlugin: import("../../plugin-kit/plugin-definition").PluginDefinition<"arrayContains", "contains", readonly ["array", "tuple"], {
19
+ args: readonly [element: ElementChain, bounds?: ArrayContainsBounds];
20
+ out: Unchanged;
21
+ context: ArrayContainsContext;
22
+ }>;
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.arrayContainsPlugin = void 0;
4
+ // ===========================================================================
5
+ // L7 src/plugins/array-contains/array-contains.ts
6
+ // Draft-07 `contains` / `minContains` / `maxContains`.
7
+ //
8
+ // A COMPOSITE, not a check: the element schema arrives as an ElementChain that
9
+ // the chain has already collected into rules, becomes ONE branch, and the
10
+ // engine turns that branch into a runner. The plugin never touches a Rule, so
11
+ // there is no second execution path here — only counting.
12
+ //
13
+ // Legacy replaced (docs/legacy-spec/plugin-catalog-structural.md#arrayContainsPlugin):
14
+ // * three argument shapes (a value, a {validator}, a JSONSchema7) and a
15
+ // private mini schema evaluator: all three collapse into the sub-chain,
16
+ // which is the same engine every other rule runs on;
17
+ // * a non-array returned FALSE, alone among the array plugins. It passes
18
+ // here, because the array type guard owns type errors;
19
+ // * the code was the only SCREAMING_SNAKE in the catalog and no options bag
20
+ // was accepted. Both now follow the one rule: code defaults to the plugin
21
+ // name and options.code / options.messageFactory work.
22
+ // ===========================================================================
23
+ const types_1 = require("../../types");
24
+ const create_rule_1 = require("../../plugin-kit/create-rule");
25
+ const plugin_definition_1 = require("../../plugin-kit/plugin-definition");
26
+ /**
27
+ * Counting stops as soon as the count passes `max`: a further match cannot
28
+ * change the answer, and the array may be long.
29
+ */
30
+ function countMatchingElements(runners, min, max) {
31
+ const matcher = runners[0];
32
+ return (value, ctx) => {
33
+ if (matcher === undefined || !(0, types_1.isArray)(value))
34
+ return types_1.PASS;
35
+ let matched = 0;
36
+ for (const element of value) {
37
+ if (matcher.run(element, ctx).ok)
38
+ matched += 1;
39
+ if (matched > max)
40
+ break;
41
+ }
42
+ return matched < min || matched > max
43
+ ? (0, types_1.fail)({ expected: min, actual: matched, branch: matcher.label })
44
+ : types_1.PASS;
45
+ };
46
+ }
47
+ /**
48
+ * WHICH argument positions carry a sub-chain cannot be recovered from a
49
+ * plugin's type at run time — a NarrowedChain and a RootPredicate are both
50
+ * plain functions once erased — so src/chain/collect-branch-rules.ts reads it
51
+ * from this declared field. definePlugin's spec does not carry it yet (see
52
+ * needsFromOthers), which is why it is spread on rather than passed in.
53
+ */
54
+ exports.arrayContainsPlugin = (0, plugin_definition_1.definePlugin)()({
55
+ name: "arrayContains",
56
+ method: "contains",
57
+ slots: ["array", "tuple"],
58
+ build: (ctx, element, bounds) => {
59
+ const min = bounds?.min ?? 1;
60
+ const max = bounds?.max ?? Number.POSITIVE_INFINITY;
61
+ if (!(0, types_1.isNumber)(min) || Number.isNaN(min) || min < 0) {
62
+ throw new plugin_definition_1.PluginArgumentError(ctx.pluginName, "bounds.min", min);
63
+ }
64
+ if (!(0, types_1.isNumber)(max) || Number.isNaN(max) || max < min) {
65
+ throw new plugin_definition_1.PluginArgumentError(ctx.pluginName, "bounds.max", max);
66
+ }
67
+ return (0, create_rule_1.composite)({
68
+ code: ctx.code,
69
+ messageFactory: ctx.messageFactory,
70
+ severity: ctx.severity,
71
+ branches: [(0, create_rule_1.branch)("contains", element)],
72
+ combine: (runners) => countMatchingElements(runners, min, max),
73
+ describe: (detail) => `Array must contain at least ${String(min)} matching element(s), but got ${String(detail.actual)}`,
74
+ buildMessageContext: (detail) => ({
75
+ matched: (0, types_1.isNumber)(detail.actual) ? detail.actual : 0,
76
+ min,
77
+ max,
78
+ }),
79
+ });
80
+ },
81
+ subChainArguments: [0],
82
+ });