@maroonedog/luq 0.1.2-alpha → 2.1.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.
- package/LICENSE +9 -9
- package/README.md +479 -215
- package/dist/async/async-context.d.ts +41 -0
- package/dist/async/async-context.js +84 -0
- package/dist/async/async-context.mjs +79 -0
- package/dist/async/async-validator.d.ts +20 -0
- package/dist/async/async-validator.js +52 -0
- package/dist/async/async-validator.mjs +47 -0
- package/dist/async/index.d.ts +4 -0
- package/dist/async/index.js +25 -0
- package/dist/async/index.mjs +16 -0
- package/dist/async.d.ts +1 -0
- package/dist/async.js +2 -0
- package/dist/async.mjs +1 -0
- package/dist/builder/builder-surface.types.d.ts +39 -0
- package/dist/builder/builder-surface.types.js +2 -0
- package/dist/builder/builder-surface.types.mjs +1 -0
- package/dist/builder/compile-declarations.d.ts +4 -0
- package/dist/builder/compile-declarations.js +40 -0
- package/dist/builder/compile-declarations.mjs +37 -0
- package/dist/builder/create-builder.d.ts +16 -0
- package/dist/builder/create-builder.js +98 -0
- package/dist/builder/create-builder.mjs +92 -0
- package/dist/builder/create-field-builder.d.ts +5 -0
- package/dist/builder/create-field-builder.js +47 -0
- package/dist/builder/create-field-builder.mjs +44 -0
- package/dist/builder/create-plan-validator.d.ts +3 -0
- package/dist/builder/create-plan-validator.js +15 -0
- package/dist/builder/create-plan-validator.mjs +12 -0
- package/dist/builder/create-projection-reader.d.ts +3 -0
- package/dist/builder/create-projection-reader.js +44 -0
- package/dist/builder/create-projection-reader.mjs +41 -0
- package/dist/builder/create-subset-validator.d.ts +3 -0
- package/dist/builder/create-subset-validator.js +40 -0
- package/dist/builder/create-subset-validator.mjs +37 -0
- package/dist/builder/field-builder.types.d.ts +43 -0
- package/dist/builder/field-builder.types.js +11 -0
- package/dist/builder/field-builder.types.mjs +8 -0
- package/dist/builder/field-entry.types.d.ts +10 -0
- package/dist/builder/field-entry.types.js +2 -0
- package/dist/builder/field-entry.types.mjs +1 -0
- package/dist/builder/field-options.types.d.ts +11 -0
- package/dist/builder/field-options.types.js +13 -0
- package/dist/builder/field-options.types.mjs +12 -0
- package/dist/builder/global-config-store.d.ts +4 -0
- package/dist/builder/global-config-store.js +29 -0
- package/dist/builder/global-config-store.mjs +24 -0
- package/dist/builder/index.d.ts +6 -0
- package/dist/builder/index.js +17 -0
- package/dist/builder/index.mjs +8 -0
- package/dist/builder/resolve-field-default.d.ts +14 -0
- package/dist/builder/resolve-field-default.js +50 -0
- package/dist/builder/resolve-field-default.mjs +47 -0
- package/dist/builder/validator.types.d.ts +28 -0
- package/dist/builder/validator.types.js +2 -0
- package/dist/builder/validator.types.mjs +1 -0
- package/dist/chain/attach-slot-methods.d.ts +17 -0
- package/dist/chain/attach-slot-methods.js +47 -0
- package/dist/chain/attach-slot-methods.mjs +42 -0
- package/dist/chain/chain-method.types.d.ts +16 -0
- package/dist/chain/chain-method.types.js +2 -0
- package/dist/chain/chain-method.types.mjs +1 -0
- package/dist/chain/chain-state.types.d.ts +47 -0
- package/dist/chain/chain-state.types.js +2 -0
- package/dist/chain/chain-state.types.mjs +1 -0
- package/dist/chain/collect-branch-rules.d.ts +18 -0
- package/dist/chain/collect-branch-rules.js +71 -0
- package/dist/chain/collect-branch-rules.mjs +65 -0
- package/dist/chain/collect-field-rules.d.ts +10 -0
- package/dist/chain/collect-field-rules.js +22 -0
- package/dist/chain/collect-field-rules.mjs +17 -0
- package/dist/chain/create-chain-node.d.ts +26 -0
- package/dist/chain/create-chain-node.js +103 -0
- package/dist/chain/create-chain-node.mjs +98 -0
- package/dist/chain/create-field-slots.d.ts +6 -0
- package/dist/chain/create-field-slots.js +37 -0
- package/dist/chain/create-field-slots.mjs +33 -0
- package/dist/chain/field-chain.types.d.ts +25 -0
- package/dist/chain/field-chain.types.js +2 -0
- package/dist/chain/field-chain.types.mjs +1 -0
- package/dist/chain/field-slots.types.d.ts +18 -0
- package/dist/chain/field-slots.types.js +2 -0
- package/dist/chain/field-slots.types.mjs +1 -0
- package/dist/chain/index.d.ts +13 -0
- package/dist/chain/index.js +26 -0
- package/dist/chain/index.mjs +9 -0
- package/dist/chain/marker-coverage.types.d.ts +56 -0
- package/dist/chain/marker-coverage.types.js +2 -0
- package/dist/chain/marker-coverage.types.mjs +1 -0
- package/dist/chain/plugin-bag.types.d.ts +9 -0
- package/dist/chain/plugin-bag.types.js +2 -0
- package/dist/chain/plugin-bag.types.mjs +1 -0
- package/dist/chain/refine-methods.types.d.ts +33 -0
- package/dist/chain/refine-methods.types.js +14 -0
- package/dist/chain/refine-methods.types.mjs +11 -0
- package/dist/chain/resolve-args.types.d.ts +28 -0
- package/dist/chain/resolve-args.types.js +2 -0
- package/dist/chain/resolve-args.types.mjs +1 -0
- package/dist/chain/slot-value.types.d.ts +14 -0
- package/dist/chain/slot-value.types.js +2 -0
- package/dist/chain/slot-value.types.mjs +1 -0
- package/dist/compile/branch-executor.port.d.ts +6 -0
- package/dist/compile/branch-executor.port.js +2 -0
- package/dist/compile/branch-executor.port.mjs +1 -0
- package/dist/compile/compile-array-node.d.ts +19 -0
- package/dist/compile/compile-array-node.js +50 -0
- package/dist/compile/compile-array-node.mjs +46 -0
- package/dist/compile/compile-composite.d.ts +18 -0
- package/dist/compile/compile-composite.js +30 -0
- package/dist/compile/compile-composite.mjs +27 -0
- package/dist/compile/compile-field.d.ts +31 -0
- package/dist/compile/compile-field.js +67 -0
- package/dist/compile/compile-field.mjs +62 -0
- package/dist/compile/compile-schema.d.ts +8 -0
- package/dist/compile/compile-schema.js +126 -0
- package/dist/compile/compile-schema.mjs +121 -0
- package/dist/compile/declared-child-keys.d.ts +15 -0
- package/dist/compile/declared-child-keys.js +70 -0
- package/dist/compile/declared-child-keys.mjs +66 -0
- package/dist/compile/group-array-fields.d.ts +39 -0
- package/dist/compile/group-array-fields.js +66 -0
- package/dist/compile/group-array-fields.mjs +63 -0
- package/dist/compile/index.d.ts +18 -0
- package/dist/compile/index.js +33 -0
- package/dist/compile/index.mjs +10 -0
- package/dist/compile/resolve-conditional-presence.d.ts +5 -0
- package/dist/compile/resolve-conditional-presence.js +42 -0
- package/dist/compile/resolve-conditional-presence.mjs +38 -0
- package/dist/compile/resolve-presence.d.ts +6 -0
- package/dist/compile/resolve-presence.js +63 -0
- package/dist/compile/resolve-presence.mjs +59 -0
- package/dist/compile/resolve-recursion.d.ts +10 -0
- package/dist/compile/resolve-recursion.js +33 -0
- package/dist/compile/resolve-recursion.mjs +28 -0
- package/dist/compile/split-rules-by-kind.d.ts +16 -0
- package/dist/compile/split-rules-by-kind.js +61 -0
- package/dist/compile/split-rules-by-kind.mjs +56 -0
- package/dist/compile/validation-plan.types.d.ts +123 -0
- package/dist/compile/validation-plan.types.js +2 -0
- package/dist/compile/validation-plan.types.mjs +1 -0
- package/dist/core/type-erasure.d.ts +42 -0
- package/dist/core/type-erasure.js +63 -0
- package/dist/core/type-erasure.mjs +57 -0
- package/dist/field-rule/create-field-rule.d.ts +11 -0
- package/dist/field-rule/create-field-rule.js +50 -0
- package/dist/field-rule/create-field-rule.mjs +46 -0
- package/dist/field-rule/create-plugin-registry.d.ts +2 -0
- package/dist/field-rule/create-plugin-registry.js +60 -0
- package/dist/field-rule/create-plugin-registry.mjs +57 -0
- package/dist/field-rule/field-rule.types.d.ts +38 -0
- package/dist/field-rule/field-rule.types.js +2 -0
- package/dist/field-rule/field-rule.types.mjs +1 -0
- package/dist/field-rule/index.d.ts +5 -0
- package/dist/field-rule/index.js +13 -0
- package/dist/field-rule/index.mjs +6 -0
- package/dist/field-rule/plugin-registry.types.d.ts +17 -0
- package/dist/field-rule/plugin-registry.types.js +2 -0
- package/dist/field-rule/plugin-registry.types.mjs +1 -0
- package/dist/field-rule/use-field.d.ts +6 -0
- package/dist/field-rule/use-field.js +6 -0
- package/dist/field-rule/use-field.mjs +3 -0
- package/dist/field-rule.d.ts +1 -0
- package/dist/field-rule.js +2 -0
- package/dist/field-rule.mjs +1 -0
- package/dist/index.d.ts +14 -72
- package/dist/index.js +48 -2
- package/dist/index.mjs +18 -2
- package/dist/json-schema/apply-keyword-binding.d.ts +20 -0
- package/dist/json-schema/apply-keyword-binding.js +7 -0
- package/dist/json-schema/apply-keyword-binding.mjs +4 -0
- package/dist/json-schema/bind-keyword.d.ts +7 -0
- package/dist/json-schema/bind-keyword.js +21 -0
- package/dist/json-schema/bind-keyword.mjs +16 -0
- package/dist/json-schema/build-from-schema.d.ts +23 -0
- package/dist/json-schema/build-from-schema.js +63 -0
- package/dist/json-schema/build-from-schema.mjs +56 -0
- package/dist/json-schema/collect-definitions.d.ts +51 -0
- package/dist/json-schema/collect-definitions.js +111 -0
- package/dist/json-schema/collect-definitions.mjs +101 -0
- package/dist/json-schema/collect-sub-schema-rules.d.ts +17 -0
- package/dist/json-schema/collect-sub-schema-rules.js +112 -0
- package/dist/json-schema/collect-sub-schema-rules.mjs +108 -0
- package/dist/json-schema/compose-conditional.d.ts +4 -0
- package/dist/json-schema/compose-conditional.js +17 -0
- package/dist/json-schema/compose-conditional.mjs +14 -0
- package/dist/json-schema/compose-keyword.d.ts +7 -0
- package/dist/json-schema/compose-keyword.js +127 -0
- package/dist/json-schema/compose-keyword.mjs +121 -0
- package/dist/json-schema/create-structural-context.d.ts +20 -0
- package/dist/json-schema/create-structural-context.js +117 -0
- package/dist/json-schema/create-structural-context.mjs +113 -0
- package/dist/json-schema/declare-additional-properties.d.ts +19 -0
- package/dist/json-schema/declare-additional-properties.js +42 -0
- package/dist/json-schema/declare-additional-properties.mjs +37 -0
- package/dist/json-schema/declare-object-keywords.d.ts +22 -0
- package/dist/json-schema/declare-object-keywords.js +133 -0
- package/dist/json-schema/declare-object-keywords.mjs +126 -0
- package/dist/json-schema/declare-presence.d.ts +18 -0
- package/dist/json-schema/declare-presence.js +52 -0
- package/dist/json-schema/declare-presence.mjs +49 -0
- package/dist/json-schema/declare-required-properties.d.ts +18 -0
- package/dist/json-schema/declare-required-properties.js +58 -0
- package/dist/json-schema/declare-required-properties.mjs +55 -0
- package/dist/json-schema/declare-scalar-keywords.d.ts +11 -0
- package/dist/json-schema/declare-scalar-keywords.js +110 -0
- package/dist/json-schema/declare-scalar-keywords.mjs +105 -0
- package/dist/json-schema/declare-value-keywords.d.ts +23 -0
- package/dist/json-schema/declare-value-keywords.js +120 -0
- package/dist/json-schema/declare-value-keywords.mjs +112 -0
- package/dist/json-schema/draft07-keyword-value.types.d.ts +61 -0
- package/dist/json-schema/draft07-keyword-value.types.js +2 -0
- package/dist/json-schema/draft07-keyword-value.types.mjs +1 -0
- package/dist/json-schema/draft07.types.d.ts +57 -0
- package/dist/json-schema/draft07.types.js +28 -0
- package/dist/json-schema/draft07.types.mjs +24 -0
- package/dist/json-schema/extensions/json-schema/index.d.ts +4 -0
- package/dist/json-schema/extensions/json-schema/index.js +27 -0
- package/dist/json-schema/extensions/json-schema/index.mjs +11 -0
- package/dist/json-schema/extensions/json-schema/json-schema.d.ts +33 -0
- package/dist/json-schema/extensions/json-schema/json-schema.js +108 -0
- package/dist/json-schema/extensions/json-schema/json-schema.mjs +104 -0
- package/dist/json-schema/extensions/json-schema-full-feature/bundle-coverage.d.ts +38 -0
- package/dist/json-schema/extensions/json-schema-full-feature/bundle-coverage.js +96 -0
- package/dist/json-schema/extensions/json-schema-full-feature/bundle-coverage.mjs +89 -0
- package/dist/json-schema/extensions/json-schema-full-feature/bundled-plugins.d.ts +7 -0
- package/dist/json-schema/extensions/json-schema-full-feature/bundled-plugins.js +107 -0
- package/dist/json-schema/extensions/json-schema-full-feature/bundled-plugins.mjs +104 -0
- package/dist/json-schema/extensions/json-schema-full-feature/index.d.ts +5 -0
- package/dist/json-schema/extensions/json-schema-full-feature/index.js +25 -0
- package/dist/json-schema/extensions/json-schema-full-feature/index.mjs +14 -0
- package/dist/json-schema/extensions/json-schema-full-feature/json-schema-full-feature.d.ts +24 -0
- package/dist/json-schema/extensions/json-schema-full-feature/json-schema-full-feature.js +66 -0
- package/dist/json-schema/extensions/json-schema-full-feature/json-schema-full-feature.mjs +62 -0
- package/dist/json-schema/flatten-array-schema.d.ts +25 -0
- package/dist/json-schema/flatten-array-schema.js +141 -0
- package/dist/json-schema/flatten-array-schema.mjs +134 -0
- package/dist/json-schema/flatten-schema.d.ts +20 -0
- package/dist/json-schema/flatten-schema.js +162 -0
- package/dist/json-schema/flatten-schema.mjs +157 -0
- package/dist/json-schema/follow-json-pointer.d.ts +23 -0
- package/dist/json-schema/follow-json-pointer.js +87 -0
- package/dist/json-schema/follow-json-pointer.mjs +82 -0
- package/dist/json-schema/format-map.d.ts +20 -0
- package/dist/json-schema/format-map.js +89 -0
- package/dist/json-schema/format-map.mjs +84 -0
- package/dist/json-schema/index.d.ts +24 -0
- package/dist/json-schema/index.js +65 -0
- package/dist/json-schema/index.mjs +22 -0
- package/dist/json-schema/json-schema-bag.types.d.ts +124 -0
- package/dist/json-schema/json-schema-bag.types.js +2 -0
- package/dist/json-schema/json-schema-bag.types.mjs +1 -0
- package/dist/json-schema/keyword-binding.types.d.ts +50 -0
- package/dist/json-schema/keyword-binding.types.js +2 -0
- package/dist/json-schema/keyword-binding.types.mjs +1 -0
- package/dist/json-schema/keyword-map-array.d.ts +13 -0
- package/dist/json-schema/keyword-map-array.js +37 -0
- package/dist/json-schema/keyword-map-array.mjs +34 -0
- package/dist/json-schema/keyword-map-core.d.ts +8 -0
- package/dist/json-schema/keyword-map-core.js +54 -0
- package/dist/json-schema/keyword-map-core.mjs +51 -0
- package/dist/json-schema/keyword-map-number.d.ts +13 -0
- package/dist/json-schema/keyword-map-number.js +33 -0
- package/dist/json-schema/keyword-map-number.mjs +30 -0
- package/dist/json-schema/keyword-map-object.d.ts +17 -0
- package/dist/json-schema/keyword-map-object.js +51 -0
- package/dist/json-schema/keyword-map-object.mjs +48 -0
- package/dist/json-schema/keyword-map-string.d.ts +20 -0
- package/dist/json-schema/keyword-map-string.js +44 -0
- package/dist/json-schema/keyword-map-string.mjs +41 -0
- package/dist/json-schema/keyword-map.d.ts +32 -0
- package/dist/json-schema/keyword-map.js +93 -0
- package/dist/json-schema/keyword-map.mjs +84 -0
- package/dist/json-schema/ref-resolution-error.d.ts +4 -0
- package/dist/json-schema/ref-resolution-error.js +20 -0
- package/dist/json-schema/ref-resolution-error.mjs +16 -0
- package/dist/json-schema/ref-scope.d.ts +18 -0
- package/dist/json-schema/ref-scope.js +37 -0
- package/dist/json-schema/ref-scope.mjs +33 -0
- package/dist/json-schema/resolve-ref.d.ts +21 -0
- package/dist/json-schema/resolve-ref.js +133 -0
- package/dist/json-schema/resolve-ref.mjs +128 -0
- package/dist/json-schema/schema-registry.d.ts +30 -0
- package/dist/json-schema/schema-registry.js +142 -0
- package/dist/json-schema/schema-registry.mjs +139 -0
- package/dist/json-schema/schema-to-declarations.d.ts +9 -0
- package/dist/json-schema/schema-to-declarations.js +123 -0
- package/dist/json-schema/schema-to-declarations.mjs +117 -0
- package/dist/json-schema/structural-expansion.types.d.ts +90 -0
- package/dist/json-schema/structural-expansion.types.js +22 -0
- package/dist/json-schema/structural-expansion.types.mjs +18 -0
- package/dist/json-schema/unsupported-keyword-error.d.ts +5 -0
- package/dist/json-schema/unsupported-keyword-error.js +24 -0
- package/dist/json-schema/unsupported-keyword-error.mjs +20 -0
- package/dist/json-schema/uri-reference.d.ts +29 -0
- package/dist/json-schema/uri-reference.js +118 -0
- package/dist/json-schema/uri-reference.mjs +111 -0
- package/dist/path/create-array-reader.d.ts +13 -0
- package/dist/path/create-array-reader.js +22 -0
- package/dist/path/create-array-reader.mjs +19 -0
- package/dist/path/create-value-reader.d.ts +26 -0
- package/dist/path/create-value-reader.js +71 -0
- package/dist/path/create-value-reader.mjs +65 -0
- package/dist/path/create-value-writer.d.ts +5 -0
- package/dist/path/create-value-writer.js +80 -0
- package/dist/path/create-value-writer.mjs +77 -0
- package/dist/path/element-of.types.d.ts +1 -0
- package/dist/path/element-of.types.js +2 -0
- package/dist/path/element-of.types.mjs +1 -0
- package/dist/path/field-path.types.d.ts +13 -0
- package/dist/path/field-path.types.js +2 -0
- package/dist/path/field-path.types.mjs +1 -0
- package/dist/path/format-issue-path.d.ts +15 -0
- package/dist/path/format-issue-path.js +34 -0
- package/dist/path/format-issue-path.mjs +31 -0
- package/dist/path/index.d.ts +18 -0
- package/dist/path/index.js +26 -0
- package/dist/path/index.mjs +7 -0
- package/dist/path/leaf-path.types.d.ts +16 -0
- package/dist/path/leaf-path.types.js +2 -0
- package/dist/path/leaf-path.types.mjs +1 -0
- package/dist/path/match-path-pattern.d.ts +9 -0
- package/dist/path/match-path-pattern.js +66 -0
- package/dist/path/match-path-pattern.mjs +63 -0
- package/dist/path/opaque-object.types.d.ts +5 -0
- package/dist/path/opaque-object.types.js +2 -0
- package/dist/path/opaque-object.types.mjs +1 -0
- package/dist/path/parse-field-path.d.ts +25 -0
- package/dist/path/parse-field-path.js +75 -0
- package/dist/path/parse-field-path.mjs +69 -0
- package/dist/path/path-depth.types.d.ts +4 -0
- package/dist/path/path-depth.types.js +2 -0
- package/dist/path/path-depth.types.mjs +1 -0
- package/dist/path/path-segment.types.d.ts +27 -0
- package/dist/path/path-segment.types.js +2 -0
- package/dist/path/path-segment.types.mjs +1 -0
- package/dist/path/property-value-of.types.d.ts +2 -0
- package/dist/path/property-value-of.types.js +2 -0
- package/dist/path/property-value-of.types.mjs +1 -0
- package/dist/path/reserved-segment.d.ts +46 -0
- package/dist/path/reserved-segment.js +88 -0
- package/dist/path/reserved-segment.mjs +82 -0
- package/dist/path/value-at-path.types.d.ts +25 -0
- package/dist/path/value-at-path.types.js +2 -0
- package/dist/path/value-at-path.types.mjs +1 -0
- package/dist/plugin-kit/compiled-rule.d.ts +112 -0
- package/dist/plugin-kit/compiled-rule.js +2 -0
- package/dist/plugin-kit/compiled-rule.mjs +1 -0
- package/dist/plugin-kit/create-conditional-presence.d.ts +25 -0
- package/dist/plugin-kit/create-conditional-presence.js +32 -0
- package/dist/plugin-kit/create-conditional-presence.mjs +28 -0
- package/dist/plugin-kit/create-rule.d.ts +59 -0
- package/dist/plugin-kit/create-rule.js +68 -0
- package/dist/plugin-kit/create-rule.mjs +58 -0
- package/dist/plugin-kit/external-context.d.ts +2 -0
- package/dist/plugin-kit/external-context.js +25 -0
- package/dist/plugin-kit/external-context.mjs +22 -0
- package/dist/plugin-kit/index.d.ts +11 -0
- package/dist/plugin-kit/index.js +39 -0
- package/dist/plugin-kit/index.mjs +23 -0
- package/dist/plugin-kit/is-json-value-equal.d.ts +10 -0
- package/dist/plugin-kit/is-json-value-equal.js +81 -0
- package/dist/plugin-kit/is-json-value-equal.mjs +77 -0
- package/dist/plugin-kit/marker.types.d.ts +114 -0
- package/dist/plugin-kit/marker.types.js +2 -0
- package/dist/plugin-kit/marker.types.mjs +1 -0
- package/dist/plugin-kit/plugin-definition.d.ts +55 -0
- package/dist/plugin-kit/plugin-definition.js +26 -0
- package/dist/plugin-kit/plugin-definition.mjs +21 -0
- package/dist/plugin-kit/rule-build-context.d.ts +27 -0
- package/dist/plugin-kit/rule-build-context.js +8 -0
- package/dist/plugin-kit/rule-build-context.mjs +5 -0
- package/dist/plugin-kit/runtime-args.types.d.ts +27 -0
- package/dist/plugin-kit/runtime-args.types.js +2 -0
- package/dist/plugin-kit/runtime-args.types.mjs +1 -0
- package/dist/plugin-kit.d.ts +1 -0
- package/dist/plugin-kit.js +2 -0
- package/dist/plugin-kit.mjs +1 -0
- package/dist/plugins/array-contains/array-contains.d.ts +22 -0
- package/dist/plugins/array-contains/array-contains.js +82 -0
- package/dist/plugins/array-contains/array-contains.mjs +79 -0
- package/dist/plugins/array-contains/index.d.ts +2 -0
- package/dist/plugins/array-contains/index.js +5 -0
- package/dist/plugins/array-contains/index.mjs +1 -0
- package/dist/plugins/array-each/array-each.d.ts +14 -0
- package/dist/plugins/array-each/array-each.js +51 -0
- package/dist/plugins/array-each/array-each.mjs +48 -0
- package/dist/plugins/array-each/index.d.ts +1 -0
- package/dist/plugins/array-each/index.js +5 -0
- package/dist/plugins/array-each/index.mjs +1 -0
- package/dist/plugins/array-includes/array-includes.d.ts +9 -0
- package/dist/plugins/array-includes/array-includes.js +26 -0
- package/dist/plugins/array-includes/array-includes.mjs +23 -0
- package/dist/plugins/array-includes/index.d.ts +2 -0
- package/dist/plugins/array-includes/index.js +5 -0
- package/dist/plugins/array-includes/index.mjs +1 -0
- package/dist/plugins/array-max-length/array-max-length.d.ts +10 -0
- package/dist/plugins/array-max-length/array-max-length.js +29 -0
- package/dist/plugins/array-max-length/array-max-length.mjs +26 -0
- package/dist/plugins/array-max-length/index.d.ts +2 -0
- package/dist/plugins/array-max-length/index.js +5 -0
- package/dist/plugins/array-max-length/index.mjs +1 -0
- package/dist/plugins/array-min-length/array-min-length.d.ts +10 -0
- package/dist/plugins/array-min-length/array-min-length.js +29 -0
- package/dist/plugins/array-min-length/array-min-length.mjs +26 -0
- package/dist/plugins/array-min-length/index.d.ts +2 -0
- package/dist/plugins/array-min-length/index.js +5 -0
- package/dist/plugins/array-min-length/index.mjs +1 -0
- package/dist/plugins/array-unique/array-unique.d.ts +7 -0
- package/dist/plugins/array-unique/array-unique.js +54 -0
- package/dist/plugins/array-unique/array-unique.mjs +51 -0
- package/dist/plugins/array-unique/index.d.ts +1 -0
- package/dist/plugins/array-unique/index.js +5 -0
- package/dist/plugins/array-unique/index.mjs +1 -0
- package/dist/plugins/arrayContains.d.ts +1 -37
- package/dist/plugins/arrayContains.js +2 -1
- package/dist/plugins/arrayContains.mjs +1 -1
- package/dist/plugins/arrayEach.d.ts +1 -0
- package/dist/plugins/arrayEach.js +2 -0
- package/dist/plugins/arrayEach.mjs +1 -0
- package/dist/plugins/arrayIncludes.d.ts +1 -42
- package/dist/plugins/arrayIncludes.js +2 -1
- package/dist/plugins/arrayIncludes.mjs +1 -1
- package/dist/plugins/arrayMaxLength.d.ts +1 -43
- package/dist/plugins/arrayMaxLength.js +2 -1
- package/dist/plugins/arrayMaxLength.mjs +1 -1
- package/dist/plugins/arrayMinLength.d.ts +1 -43
- package/dist/plugins/arrayMinLength.js +2 -1
- package/dist/plugins/arrayMinLength.mjs +1 -1
- package/dist/plugins/arrayUnique.d.ts +1 -41
- package/dist/plugins/arrayUnique.js +2 -1
- package/dist/plugins/arrayUnique.mjs +1 -1
- package/dist/plugins/boolean-falsy/boolean-falsy.d.ts +7 -0
- package/dist/plugins/boolean-falsy/boolean-falsy.js +24 -0
- package/dist/plugins/boolean-falsy/boolean-falsy.mjs +21 -0
- package/dist/plugins/boolean-falsy/index.d.ts +1 -0
- package/dist/plugins/boolean-falsy/index.js +5 -0
- package/dist/plugins/boolean-falsy/index.mjs +1 -0
- package/dist/plugins/boolean-truthy/boolean-truthy.d.ts +7 -0
- package/dist/plugins/boolean-truthy/boolean-truthy.js +24 -0
- package/dist/plugins/boolean-truthy/boolean-truthy.mjs +21 -0
- package/dist/plugins/boolean-truthy/index.d.ts +1 -0
- package/dist/plugins/boolean-truthy/index.js +5 -0
- package/dist/plugins/boolean-truthy/index.mjs +1 -0
- package/dist/plugins/booleanFalsy.d.ts +1 -41
- package/dist/plugins/booleanFalsy.js +2 -1
- package/dist/plugins/booleanFalsy.mjs +1 -1
- package/dist/plugins/booleanTruthy.d.ts +1 -38
- package/dist/plugins/booleanTruthy.js +2 -1
- package/dist/plugins/booleanTruthy.mjs +1 -1
- package/dist/plugins/compare-field/compare-field.d.ts +13 -0
- package/dist/plugins/compare-field/compare-field.js +57 -0
- package/dist/plugins/compare-field/compare-field.mjs +54 -0
- package/dist/plugins/compare-field/index.d.ts +2 -0
- package/dist/plugins/compare-field/index.js +5 -0
- package/dist/plugins/compare-field/index.mjs +1 -0
- package/dist/plugins/compareField.d.ts +1 -58
- package/dist/plugins/compareField.js +2 -1
- package/dist/plugins/compareField.mjs +1 -1
- package/dist/plugins/conditional-schema/conditional-schema.d.ts +17 -0
- package/dist/plugins/conditional-schema/conditional-schema.js +87 -0
- package/dist/plugins/conditional-schema/conditional-schema.mjs +84 -0
- package/dist/plugins/conditional-schema/index.d.ts +2 -0
- package/dist/plugins/conditional-schema/index.js +5 -0
- package/dist/plugins/conditional-schema/index.mjs +1 -0
- package/dist/plugins/conditionalSchema.d.ts +1 -0
- package/dist/plugins/conditionalSchema.js +2 -0
- package/dist/plugins/conditionalSchema.mjs +1 -0
- package/dist/plugins/custom/custom.d.ts +12 -0
- package/dist/plugins/custom/custom.js +82 -0
- package/dist/plugins/custom/custom.mjs +79 -0
- package/dist/plugins/custom/index.d.ts +1 -0
- package/dist/plugins/custom/index.js +5 -0
- package/dist/plugins/custom/index.mjs +1 -0
- package/dist/plugins/custom.d.ts +1 -60
- package/dist/plugins/custom.js +2 -1
- package/dist/plugins/custom.mjs +1 -1
- package/dist/plugins/from-context/from-context.d.ts +28 -0
- package/dist/plugins/from-context/from-context.js +84 -0
- package/dist/plugins/from-context/from-context.mjs +81 -0
- package/dist/plugins/from-context/index.d.ts +2 -0
- package/dist/plugins/from-context/index.js +5 -0
- package/dist/plugins/from-context/index.mjs +1 -0
- package/dist/plugins/fromContext.d.ts +1 -0
- package/dist/plugins/fromContext.js +2 -0
- package/dist/plugins/fromContext.mjs +1 -0
- package/dist/plugins/index.d.ts +1 -0
- package/dist/plugins/index.generated.d.ts +77 -0
- package/dist/plugins/index.generated.js +160 -0
- package/dist/plugins/index.generated.mjs +79 -0
- package/dist/plugins/index.js +2 -0
- package/dist/plugins/index.mjs +1 -0
- package/dist/plugins/jsonSchema.d.ts +1 -11
- package/dist/plugins/jsonSchema.js +2 -1
- package/dist/plugins/jsonSchema.mjs +1 -1
- package/dist/plugins/jsonSchemaFullFeature.d.ts +1 -31
- package/dist/plugins/jsonSchemaFullFeature.js +2 -1
- package/dist/plugins/jsonSchemaFullFeature.mjs +1 -1
- package/dist/plugins/literal/index.d.ts +1 -0
- package/dist/plugins/literal/index.js +5 -0
- package/dist/plugins/literal/index.mjs +1 -0
- package/dist/plugins/literal/literal.d.ts +10 -0
- package/dist/plugins/literal/literal.js +53 -0
- package/dist/plugins/literal/literal.mjs +50 -0
- package/dist/plugins/literal.d.ts +1 -40
- package/dist/plugins/literal.js +2 -1
- package/dist/plugins/literal.mjs +1 -1
- package/dist/plugins/manifest.generated.d.ts +8 -0
- package/dist/plugins/manifest.generated.js +83 -0
- package/dist/plugins/manifest.generated.mjs +80 -0
- package/dist/plugins/nullable/index.d.ts +1 -0
- package/dist/plugins/nullable/index.js +5 -0
- package/dist/plugins/nullable/index.mjs +1 -0
- package/dist/plugins/nullable/nullable.d.ts +7 -0
- package/dist/plugins/nullable/nullable.js +39 -0
- package/dist/plugins/nullable/nullable.mjs +36 -0
- package/dist/plugins/nullable.d.ts +1 -34
- package/dist/plugins/nullable.js +2 -1
- package/dist/plugins/nullable.mjs +1 -1
- package/dist/plugins/number-finite/index.d.ts +1 -0
- package/dist/plugins/number-finite/index.js +5 -0
- package/dist/plugins/number-finite/index.mjs +1 -0
- package/dist/plugins/number-finite/number-finite.d.ts +7 -0
- package/dist/plugins/number-finite/number-finite.js +21 -0
- package/dist/plugins/number-finite/number-finite.mjs +18 -0
- package/dist/plugins/number-integer/index.d.ts +1 -0
- package/dist/plugins/number-integer/index.js +5 -0
- package/dist/plugins/number-integer/index.mjs +1 -0
- package/dist/plugins/number-integer/number-integer.d.ts +7 -0
- package/dist/plugins/number-integer/number-integer.js +21 -0
- package/dist/plugins/number-integer/number-integer.mjs +18 -0
- package/dist/plugins/number-max/index.d.ts +2 -0
- package/dist/plugins/number-max/index.js +5 -0
- package/dist/plugins/number-max/index.mjs +1 -0
- package/dist/plugins/number-max/number-max.d.ts +11 -0
- package/dist/plugins/number-max/number-max.js +36 -0
- package/dist/plugins/number-max/number-max.mjs +33 -0
- package/dist/plugins/number-min/index.d.ts +2 -0
- package/dist/plugins/number-min/index.js +5 -0
- package/dist/plugins/number-min/index.mjs +1 -0
- package/dist/plugins/number-min/number-min.d.ts +11 -0
- package/dist/plugins/number-min/number-min.js +38 -0
- package/dist/plugins/number-min/number-min.mjs +35 -0
- package/dist/plugins/number-multiple-of/index.d.ts +2 -0
- package/dist/plugins/number-multiple-of/index.js +5 -0
- package/dist/plugins/number-multiple-of/index.mjs +1 -0
- package/dist/plugins/number-multiple-of/is-multiple-of.d.ts +7 -0
- package/dist/plugins/number-multiple-of/is-multiple-of.js +61 -0
- package/dist/plugins/number-multiple-of/is-multiple-of.mjs +57 -0
- package/dist/plugins/number-multiple-of/number-multiple-of.d.ts +9 -0
- package/dist/plugins/number-multiple-of/number-multiple-of.js +27 -0
- package/dist/plugins/number-multiple-of/number-multiple-of.mjs +24 -0
- package/dist/plugins/number-negative/index.d.ts +1 -0
- package/dist/plugins/number-negative/index.js +5 -0
- package/dist/plugins/number-negative/index.mjs +1 -0
- package/dist/plugins/number-negative/number-negative.d.ts +7 -0
- package/dist/plugins/number-negative/number-negative.js +21 -0
- package/dist/plugins/number-negative/number-negative.mjs +18 -0
- package/dist/plugins/number-positive/index.d.ts +1 -0
- package/dist/plugins/number-positive/index.js +5 -0
- package/dist/plugins/number-positive/index.mjs +1 -0
- package/dist/plugins/number-positive/number-positive.d.ts +7 -0
- package/dist/plugins/number-positive/number-positive.js +21 -0
- package/dist/plugins/number-positive/number-positive.mjs +18 -0
- package/dist/plugins/number-range/index.d.ts +2 -0
- package/dist/plugins/number-range/index.js +5 -0
- package/dist/plugins/number-range/index.mjs +1 -0
- package/dist/plugins/number-range/number-range.d.ts +11 -0
- package/dist/plugins/number-range/number-range.js +39 -0
- package/dist/plugins/number-range/number-range.mjs +36 -0
- package/dist/plugins/numberFinite.d.ts +1 -0
- package/dist/plugins/numberFinite.js +2 -0
- package/dist/plugins/numberFinite.mjs +1 -0
- package/dist/plugins/numberInteger.d.ts +1 -41
- package/dist/plugins/numberInteger.js +2 -1
- package/dist/plugins/numberInteger.mjs +1 -1
- package/dist/plugins/numberMax.d.ts +1 -49
- package/dist/plugins/numberMax.js +2 -1
- package/dist/plugins/numberMax.mjs +1 -1
- package/dist/plugins/numberMin.d.ts +1 -49
- package/dist/plugins/numberMin.js +2 -1
- package/dist/plugins/numberMin.mjs +1 -1
- package/dist/plugins/numberMultipleOf.d.ts +1 -42
- package/dist/plugins/numberMultipleOf.js +2 -1
- package/dist/plugins/numberMultipleOf.mjs +1 -1
- package/dist/plugins/numberNegative.d.ts +1 -41
- package/dist/plugins/numberNegative.js +2 -1
- package/dist/plugins/numberNegative.mjs +1 -1
- package/dist/plugins/numberPositive.d.ts +1 -41
- package/dist/plugins/numberPositive.js +2 -1
- package/dist/plugins/numberPositive.mjs +1 -1
- package/dist/plugins/numberRange.d.ts +1 -0
- package/dist/plugins/numberRange.js +2 -0
- package/dist/plugins/numberRange.mjs +1 -0
- package/dist/plugins/object/index.d.ts +2 -0
- package/dist/plugins/object/index.js +5 -0
- package/dist/plugins/object/index.mjs +1 -0
- package/dist/plugins/object/object.d.ts +9 -0
- package/dist/plugins/object/object.js +29 -0
- package/dist/plugins/object/object.mjs +26 -0
- package/dist/plugins/object-additional-properties/index.d.ts +3 -0
- package/dist/plugins/object-additional-properties/index.js +11 -0
- package/dist/plugins/object-additional-properties/index.mjs +6 -0
- package/dist/plugins/object-additional-properties/object-additional-properties-schema.d.ts +14 -0
- package/dist/plugins/object-additional-properties/object-additional-properties-schema.js +58 -0
- package/dist/plugins/object-additional-properties/object-additional-properties-schema.mjs +55 -0
- package/dist/plugins/object-additional-properties/object-additional-properties.d.ts +9 -0
- package/dist/plugins/object-additional-properties/object-additional-properties.js +42 -0
- package/dist/plugins/object-additional-properties/object-additional-properties.mjs +39 -0
- package/dist/plugins/object-additional-properties/select-additional-keys.d.ts +15 -0
- package/dist/plugins/object-additional-properties/select-additional-keys.js +51 -0
- package/dist/plugins/object-additional-properties/select-additional-keys.mjs +47 -0
- package/dist/plugins/object-dependent-required/dependent-required-violation.d.ts +7 -0
- package/dist/plugins/object-dependent-required/dependent-required-violation.js +45 -0
- package/dist/plugins/object-dependent-required/dependent-required-violation.mjs +40 -0
- package/dist/plugins/object-dependent-required/index.d.ts +3 -0
- package/dist/plugins/object-dependent-required/index.js +5 -0
- package/dist/plugins/object-dependent-required/index.mjs +1 -0
- package/dist/plugins/object-dependent-required/object-dependent-required.d.ts +10 -0
- package/dist/plugins/object-dependent-required/object-dependent-required.js +27 -0
- package/dist/plugins/object-dependent-required/object-dependent-required.mjs +24 -0
- package/dist/plugins/object-dependent-schemas/index.d.ts +2 -0
- package/dist/plugins/object-dependent-schemas/index.js +5 -0
- package/dist/plugins/object-dependent-schemas/index.mjs +1 -0
- package/dist/plugins/object-dependent-schemas/object-dependent-schemas.d.ts +16 -0
- package/dist/plugins/object-dependent-schemas/object-dependent-schemas.js +47 -0
- package/dist/plugins/object-dependent-schemas/object-dependent-schemas.mjs +44 -0
- package/dist/plugins/object-max-properties/index.d.ts +2 -0
- package/dist/plugins/object-max-properties/index.js +5 -0
- package/dist/plugins/object-max-properties/index.mjs +1 -0
- package/dist/plugins/object-max-properties/object-max-properties.d.ts +10 -0
- package/dist/plugins/object-max-properties/object-max-properties.js +32 -0
- package/dist/plugins/object-max-properties/object-max-properties.mjs +29 -0
- package/dist/plugins/object-min-properties/index.d.ts +2 -0
- package/dist/plugins/object-min-properties/index.js +5 -0
- package/dist/plugins/object-min-properties/index.mjs +1 -0
- package/dist/plugins/object-min-properties/object-min-properties.d.ts +10 -0
- package/dist/plugins/object-min-properties/object-min-properties.js +32 -0
- package/dist/plugins/object-min-properties/object-min-properties.mjs +29 -0
- package/dist/plugins/object-pattern-properties/index.d.ts +2 -0
- package/dist/plugins/object-pattern-properties/index.js +5 -0
- package/dist/plugins/object-pattern-properties/index.mjs +1 -0
- package/dist/plugins/object-pattern-properties/object-pattern-properties.d.ts +16 -0
- package/dist/plugins/object-pattern-properties/object-pattern-properties.js +57 -0
- package/dist/plugins/object-pattern-properties/object-pattern-properties.mjs +54 -0
- package/dist/plugins/object-property-names/index.d.ts +2 -0
- package/dist/plugins/object-property-names/index.js +5 -0
- package/dist/plugins/object-property-names/index.mjs +1 -0
- package/dist/plugins/object-property-names/object-property-names.d.ts +16 -0
- package/dist/plugins/object-property-names/object-property-names.js +47 -0
- package/dist/plugins/object-property-names/object-property-names.mjs +44 -0
- package/dist/plugins/object-recursively/index.d.ts +2 -0
- package/dist/plugins/object-recursively/index.js +5 -0
- package/dist/plugins/object-recursively/index.mjs +1 -0
- package/dist/plugins/object-recursively/object-recursively.d.ts +11 -0
- package/dist/plugins/object-recursively/object-recursively.js +26 -0
- package/dist/plugins/object-recursively/object-recursively.mjs +23 -0
- package/dist/plugins/object.d.ts +1 -43
- package/dist/plugins/object.js +2 -1
- package/dist/plugins/object.mjs +1 -1
- package/dist/plugins/objectAdditionalProperties.d.ts +1 -51
- package/dist/plugins/objectAdditionalProperties.js +2 -1
- package/dist/plugins/objectAdditionalProperties.mjs +1 -1
- package/dist/plugins/objectDependentRequired.d.ts +1 -42
- package/dist/plugins/objectDependentRequired.js +2 -1
- package/dist/plugins/objectDependentRequired.mjs +1 -1
- package/dist/plugins/objectDependentSchemas.d.ts +1 -40
- package/dist/plugins/objectDependentSchemas.js +2 -1
- package/dist/plugins/objectDependentSchemas.mjs +1 -1
- package/dist/plugins/objectMaxProperties.d.ts +1 -42
- package/dist/plugins/objectMaxProperties.js +2 -1
- package/dist/plugins/objectMaxProperties.mjs +1 -1
- package/dist/plugins/objectMinProperties.d.ts +1 -42
- package/dist/plugins/objectMinProperties.js +2 -1
- package/dist/plugins/objectMinProperties.mjs +1 -1
- package/dist/plugins/objectPatternProperties.d.ts +1 -46
- package/dist/plugins/objectPatternProperties.js +2 -1
- package/dist/plugins/objectPatternProperties.mjs +1 -1
- package/dist/plugins/objectPropertyNames.d.ts +1 -36
- package/dist/plugins/objectPropertyNames.js +2 -1
- package/dist/plugins/objectPropertyNames.mjs +1 -1
- package/dist/plugins/objectRecursively.d.ts +1 -0
- package/dist/plugins/objectRecursively.js +2 -0
- package/dist/plugins/objectRecursively.mjs +1 -0
- package/dist/plugins/one-of/index.d.ts +1 -0
- package/dist/plugins/one-of/index.js +5 -0
- package/dist/plugins/one-of/index.mjs +1 -0
- package/dist/plugins/one-of/one-of.d.ts +7 -0
- package/dist/plugins/one-of/one-of.js +67 -0
- package/dist/plugins/one-of/one-of.mjs +64 -0
- package/dist/plugins/oneOf.d.ts +1 -44
- package/dist/plugins/oneOf.js +2 -1
- package/dist/plugins/oneOf.mjs +1 -1
- package/dist/plugins/optional/index.d.ts +1 -0
- package/dist/plugins/optional/index.js +5 -0
- package/dist/plugins/optional/index.mjs +1 -0
- package/dist/plugins/optional/optional.d.ts +7 -0
- package/dist/plugins/optional/optional.js +42 -0
- package/dist/plugins/optional/optional.mjs +39 -0
- package/dist/plugins/optional-if/index.d.ts +1 -0
- package/dist/plugins/optional-if/index.js +5 -0
- package/dist/plugins/optional-if/index.mjs +1 -0
- package/dist/plugins/optional-if/optional-if.d.ts +11 -0
- package/dist/plugins/optional-if/optional-if.js +31 -0
- package/dist/plugins/optional-if/optional-if.mjs +28 -0
- package/dist/plugins/optional.d.ts +1 -35
- package/dist/plugins/optional.js +2 -1
- package/dist/plugins/optional.mjs +1 -1
- package/dist/plugins/optionalIf.d.ts +1 -0
- package/dist/plugins/optionalIf.js +2 -0
- package/dist/plugins/optionalIf.mjs +1 -0
- package/dist/plugins/or-fail/index.d.ts +1 -0
- package/dist/plugins/or-fail/index.js +5 -0
- package/dist/plugins/or-fail/index.mjs +1 -0
- package/dist/plugins/or-fail/or-fail.d.ts +7 -0
- package/dist/plugins/or-fail/or-fail.js +44 -0
- package/dist/plugins/or-fail/or-fail.mjs +41 -0
- package/dist/plugins/orFail.d.ts +1 -0
- package/dist/plugins/orFail.js +2 -0
- package/dist/plugins/orFail.mjs +1 -0
- package/dist/plugins/read-only/index.d.ts +1 -0
- package/dist/plugins/read-only/index.js +5 -0
- package/dist/plugins/read-only/index.mjs +1 -0
- package/dist/plugins/read-only/read-only.d.ts +7 -0
- package/dist/plugins/read-only/read-only.js +52 -0
- package/dist/plugins/read-only/read-only.mjs +49 -0
- package/dist/plugins/readOnly.d.ts +1 -0
- package/dist/plugins/readOnly.js +2 -0
- package/dist/plugins/readOnly.mjs +1 -0
- package/dist/plugins/readOnlyWriteOnly.d.ts +1 -48
- package/dist/plugins/readOnlyWriteOnly.js +2 -1
- package/dist/plugins/readOnlyWriteOnly.mjs +1 -1
- package/dist/plugins/required/index.d.ts +1 -0
- package/dist/plugins/required/index.js +5 -0
- package/dist/plugins/required/index.mjs +1 -0
- package/dist/plugins/required/required.d.ts +7 -0
- package/dist/plugins/required/required.js +42 -0
- package/dist/plugins/required/required.mjs +39 -0
- package/dist/plugins/required-if/index.d.ts +1 -0
- package/dist/plugins/required-if/index.js +5 -0
- package/dist/plugins/required-if/index.mjs +1 -0
- package/dist/plugins/required-if/required-if.d.ts +11 -0
- package/dist/plugins/required-if/required-if.js +34 -0
- package/dist/plugins/required-if/required-if.mjs +31 -0
- package/dist/plugins/required.d.ts +1 -45
- package/dist/plugins/required.js +2 -1
- package/dist/plugins/required.mjs +1 -1
- package/dist/plugins/requiredIf.d.ts +1 -66
- package/dist/plugins/requiredIf.js +2 -1
- package/dist/plugins/requiredIf.mjs +1 -1
- package/dist/plugins/skip/index.d.ts +1 -0
- package/dist/plugins/skip/index.js +5 -0
- package/dist/plugins/skip/index.mjs +1 -0
- package/dist/plugins/skip/skip.d.ts +7 -0
- package/dist/plugins/skip/skip.js +22 -0
- package/dist/plugins/skip/skip.mjs +19 -0
- package/dist/plugins/skip.d.ts +1 -57
- package/dist/plugins/skip.js +2 -1
- package/dist/plugins/skip.mjs +1 -1
- package/dist/plugins/stitch/index.d.ts +2 -0
- package/dist/plugins/stitch/index.js +5 -0
- package/dist/plugins/stitch/index.mjs +1 -0
- package/dist/plugins/stitch/stitch.d.ts +30 -0
- package/dist/plugins/stitch/stitch.js +72 -0
- package/dist/plugins/stitch/stitch.mjs +69 -0
- package/dist/plugins/stitch.d.ts +1 -0
- package/dist/plugins/stitch.js +2 -0
- package/dist/plugins/stitch.mjs +1 -0
- package/dist/plugins/string-alphanumeric/index.d.ts +1 -0
- package/dist/plugins/string-alphanumeric/index.js +5 -0
- package/dist/plugins/string-alphanumeric/index.mjs +1 -0
- package/dist/plugins/string-alphanumeric/string-alphanumeric.d.ts +8 -0
- package/dist/plugins/string-alphanumeric/string-alphanumeric.js +39 -0
- package/dist/plugins/string-alphanumeric/string-alphanumeric.mjs +36 -0
- package/dist/plugins/string-base64/index.d.ts +1 -0
- package/dist/plugins/string-base64/index.js +5 -0
- package/dist/plugins/string-base64/index.mjs +1 -0
- package/dist/plugins/string-base64/string-base64.d.ts +12 -0
- package/dist/plugins/string-base64/string-base64.js +40 -0
- package/dist/plugins/string-base64/string-base64.mjs +37 -0
- package/dist/plugins/string-content-encoding/content-encoding-checks.d.ts +4 -0
- package/dist/plugins/string-content-encoding/content-encoding-checks.js +67 -0
- package/dist/plugins/string-content-encoding/content-encoding-checks.mjs +64 -0
- package/dist/plugins/string-content-encoding/index.d.ts +2 -0
- package/dist/plugins/string-content-encoding/index.js +5 -0
- package/dist/plugins/string-content-encoding/index.mjs +1 -0
- package/dist/plugins/string-content-encoding/string-content-encoding.d.ts +10 -0
- package/dist/plugins/string-content-encoding/string-content-encoding.js +40 -0
- package/dist/plugins/string-content-encoding/string-content-encoding.mjs +37 -0
- package/dist/plugins/string-content-media-type/index.d.ts +1 -0
- package/dist/plugins/string-content-media-type/index.js +5 -0
- package/dist/plugins/string-content-media-type/index.mjs +1 -0
- package/dist/plugins/string-content-media-type/media-type-checks.d.ts +3 -0
- package/dist/plugins/string-content-media-type/media-type-checks.js +46 -0
- package/dist/plugins/string-content-media-type/media-type-checks.mjs +43 -0
- package/dist/plugins/string-content-media-type/string-content-media-type.d.ts +8 -0
- package/dist/plugins/string-content-media-type/string-content-media-type.js +41 -0
- package/dist/plugins/string-content-media-type/string-content-media-type.mjs +38 -0
- package/dist/plugins/string-date/calendar-date.d.ts +3 -0
- package/dist/plugins/string-date/calendar-date.js +24 -0
- package/dist/plugins/string-date/calendar-date.mjs +20 -0
- package/dist/plugins/string-date/index.d.ts +1 -0
- package/dist/plugins/string-date/index.js +5 -0
- package/dist/plugins/string-date/index.mjs +1 -0
- package/dist/plugins/string-date/string-date.d.ts +7 -0
- package/dist/plugins/string-date/string-date.js +42 -0
- package/dist/plugins/string-date/string-date.mjs +39 -0
- package/dist/plugins/string-datetime/calendar-date.d.ts +2 -0
- package/dist/plugins/string-datetime/calendar-date.js +24 -0
- package/dist/plugins/string-datetime/calendar-date.mjs +20 -0
- package/dist/plugins/string-datetime/index.d.ts +1 -0
- package/dist/plugins/string-datetime/index.js +5 -0
- package/dist/plugins/string-datetime/index.mjs +1 -0
- package/dist/plugins/string-datetime/string-datetime.d.ts +12 -0
- package/dist/plugins/string-datetime/string-datetime.js +67 -0
- package/dist/plugins/string-datetime/string-datetime.mjs +64 -0
- package/dist/plugins/string-duration/index.d.ts +1 -0
- package/dist/plugins/string-duration/index.js +5 -0
- package/dist/plugins/string-duration/index.mjs +1 -0
- package/dist/plugins/string-duration/string-duration.d.ts +7 -0
- package/dist/plugins/string-duration/string-duration.js +31 -0
- package/dist/plugins/string-duration/string-duration.mjs +28 -0
- package/dist/plugins/string-email/index.d.ts +1 -0
- package/dist/plugins/string-email/index.js +5 -0
- package/dist/plugins/string-email/index.mjs +1 -0
- package/dist/plugins/string-email/string-email.d.ts +14 -0
- package/dist/plugins/string-email/string-email.js +58 -0
- package/dist/plugins/string-email/string-email.mjs +55 -0
- package/dist/plugins/string-ends-with/index.d.ts +1 -0
- package/dist/plugins/string-ends-with/index.js +5 -0
- package/dist/plugins/string-ends-with/index.mjs +1 -0
- package/dist/plugins/string-ends-with/string-ends-with.d.ts +8 -0
- package/dist/plugins/string-ends-with/string-ends-with.js +30 -0
- package/dist/plugins/string-ends-with/string-ends-with.mjs +27 -0
- package/dist/plugins/string-exact-length/index.d.ts +1 -0
- package/dist/plugins/string-exact-length/index.js +5 -0
- package/dist/plugins/string-exact-length/index.mjs +1 -0
- package/dist/plugins/string-exact-length/string-exact-length.d.ts +11 -0
- package/dist/plugins/string-exact-length/string-exact-length.js +34 -0
- package/dist/plugins/string-exact-length/string-exact-length.mjs +31 -0
- package/dist/plugins/string-hostname/index.d.ts +1 -0
- package/dist/plugins/string-hostname/index.js +5 -0
- package/dist/plugins/string-hostname/index.mjs +1 -0
- package/dist/plugins/string-hostname/string-hostname.d.ts +7 -0
- package/dist/plugins/string-hostname/string-hostname.js +30 -0
- package/dist/plugins/string-hostname/string-hostname.mjs +27 -0
- package/dist/plugins/string-idn-email/idn-email.d.ts +1 -0
- package/dist/plugins/string-idn-email/idn-email.js +85 -0
- package/dist/plugins/string-idn-email/idn-email.mjs +82 -0
- package/dist/plugins/string-idn-email/index.d.ts +1 -0
- package/dist/plugins/string-idn-email/index.js +5 -0
- package/dist/plugins/string-idn-email/index.mjs +1 -0
- package/dist/plugins/string-idn-email/string-idn-email.d.ts +7 -0
- package/dist/plugins/string-idn-email/string-idn-email.js +29 -0
- package/dist/plugins/string-idn-email/string-idn-email.mjs +26 -0
- package/dist/plugins/string-idn-hostname/idn-hostname.d.ts +1 -0
- package/dist/plugins/string-idn-hostname/idn-hostname.js +72 -0
- package/dist/plugins/string-idn-hostname/idn-hostname.mjs +69 -0
- package/dist/plugins/string-idn-hostname/index.d.ts +1 -0
- package/dist/plugins/string-idn-hostname/index.js +5 -0
- package/dist/plugins/string-idn-hostname/index.mjs +1 -0
- package/dist/plugins/string-idn-hostname/string-idn-hostname.d.ts +7 -0
- package/dist/plugins/string-idn-hostname/string-idn-hostname.js +31 -0
- package/dist/plugins/string-idn-hostname/string-idn-hostname.mjs +28 -0
- package/dist/plugins/string-ipv4/index.d.ts +1 -0
- package/dist/plugins/string-ipv4/index.js +5 -0
- package/dist/plugins/string-ipv4/index.mjs +1 -0
- package/dist/plugins/string-ipv4/string-ipv4.d.ts +7 -0
- package/dist/plugins/string-ipv4/string-ipv4.js +32 -0
- package/dist/plugins/string-ipv4/string-ipv4.mjs +29 -0
- package/dist/plugins/string-ipv6/index.d.ts +1 -0
- package/dist/plugins/string-ipv6/index.js +5 -0
- package/dist/plugins/string-ipv6/index.mjs +1 -0
- package/dist/plugins/string-ipv6/ipv6-address.d.ts +2 -0
- package/dist/plugins/string-ipv6/ipv6-address.js +70 -0
- package/dist/plugins/string-ipv6/ipv6-address.mjs +67 -0
- package/dist/plugins/string-ipv6/string-ipv6.d.ts +7 -0
- package/dist/plugins/string-ipv6/string-ipv6.js +27 -0
- package/dist/plugins/string-ipv6/string-ipv6.mjs +24 -0
- package/dist/plugins/string-iri/control-character.d.ts +1 -0
- package/dist/plugins/string-iri/control-character.js +21 -0
- package/dist/plugins/string-iri/control-character.mjs +18 -0
- package/dist/plugins/string-iri/index.d.ts +1 -0
- package/dist/plugins/string-iri/index.js +5 -0
- package/dist/plugins/string-iri/index.mjs +1 -0
- package/dist/plugins/string-iri/string-iri.d.ts +7 -0
- package/dist/plugins/string-iri/string-iri.js +49 -0
- package/dist/plugins/string-iri/string-iri.mjs +46 -0
- package/dist/plugins/string-iri-reference/control-character.d.ts +1 -0
- package/dist/plugins/string-iri-reference/control-character.js +21 -0
- package/dist/plugins/string-iri-reference/control-character.mjs +18 -0
- package/dist/plugins/string-iri-reference/index.d.ts +1 -0
- package/dist/plugins/string-iri-reference/index.js +5 -0
- package/dist/plugins/string-iri-reference/index.mjs +1 -0
- package/dist/plugins/string-iri-reference/iri-reference.d.ts +1 -0
- package/dist/plugins/string-iri-reference/iri-reference.js +39 -0
- package/dist/plugins/string-iri-reference/iri-reference.mjs +36 -0
- package/dist/plugins/string-iri-reference/string-iri-reference.d.ts +7 -0
- package/dist/plugins/string-iri-reference/string-iri-reference.js +26 -0
- package/dist/plugins/string-iri-reference/string-iri-reference.mjs +23 -0
- package/dist/plugins/string-json-pointer/index.d.ts +1 -0
- package/dist/plugins/string-json-pointer/index.js +5 -0
- package/dist/plugins/string-json-pointer/index.mjs +1 -0
- package/dist/plugins/string-json-pointer/string-json-pointer.d.ts +7 -0
- package/dist/plugins/string-json-pointer/string-json-pointer.js +35 -0
- package/dist/plugins/string-json-pointer/string-json-pointer.mjs +32 -0
- package/dist/plugins/string-max/index.d.ts +1 -0
- package/dist/plugins/string-max/index.js +5 -0
- package/dist/plugins/string-max/index.mjs +1 -0
- package/dist/plugins/string-max/string-max.d.ts +11 -0
- package/dist/plugins/string-max/string-max.js +34 -0
- package/dist/plugins/string-max/string-max.mjs +31 -0
- package/dist/plugins/string-min/index.d.ts +1 -0
- package/dist/plugins/string-min/index.js +5 -0
- package/dist/plugins/string-min/index.mjs +1 -0
- package/dist/plugins/string-min/string-min.d.ts +11 -0
- package/dist/plugins/string-min/string-min.js +37 -0
- package/dist/plugins/string-min/string-min.mjs +34 -0
- package/dist/plugins/string-pattern/index.d.ts +1 -0
- package/dist/plugins/string-pattern/index.js +5 -0
- package/dist/plugins/string-pattern/index.mjs +1 -0
- package/dist/plugins/string-pattern/string-pattern.d.ts +8 -0
- package/dist/plugins/string-pattern/string-pattern.js +49 -0
- package/dist/plugins/string-pattern/string-pattern.mjs +46 -0
- package/dist/plugins/string-regex/index.d.ts +1 -0
- package/dist/plugins/string-regex/index.js +5 -0
- package/dist/plugins/string-regex/index.mjs +1 -0
- package/dist/plugins/string-regex/is-ecma262-regex.d.ts +2 -0
- package/dist/plugins/string-regex/is-ecma262-regex.js +25 -0
- package/dist/plugins/string-regex/is-ecma262-regex.mjs +22 -0
- package/dist/plugins/string-regex/string-regex.d.ts +7 -0
- package/dist/plugins/string-regex/string-regex.js +28 -0
- package/dist/plugins/string-regex/string-regex.mjs +25 -0
- package/dist/plugins/string-relative-json-pointer/index.d.ts +1 -0
- package/dist/plugins/string-relative-json-pointer/index.js +5 -0
- package/dist/plugins/string-relative-json-pointer/index.mjs +1 -0
- package/dist/plugins/string-relative-json-pointer/string-relative-json-pointer.d.ts +7 -0
- package/dist/plugins/string-relative-json-pointer/string-relative-json-pointer.js +42 -0
- package/dist/plugins/string-relative-json-pointer/string-relative-json-pointer.mjs +39 -0
- package/dist/plugins/string-starts-with/index.d.ts +1 -0
- package/dist/plugins/string-starts-with/index.js +5 -0
- package/dist/plugins/string-starts-with/index.mjs +1 -0
- package/dist/plugins/string-starts-with/string-starts-with.d.ts +8 -0
- package/dist/plugins/string-starts-with/string-starts-with.js +30 -0
- package/dist/plugins/string-starts-with/string-starts-with.mjs +27 -0
- package/dist/plugins/string-time/index.d.ts +1 -0
- package/dist/plugins/string-time/index.js +5 -0
- package/dist/plugins/string-time/index.mjs +1 -0
- package/dist/plugins/string-time/string-time.d.ts +12 -0
- package/dist/plugins/string-time/string-time.js +37 -0
- package/dist/plugins/string-time/string-time.mjs +34 -0
- package/dist/plugins/string-uri-reference/index.d.ts +1 -0
- package/dist/plugins/string-uri-reference/index.js +5 -0
- package/dist/plugins/string-uri-reference/index.mjs +1 -0
- package/dist/plugins/string-uri-reference/string-uri-reference.d.ts +7 -0
- package/dist/plugins/string-uri-reference/string-uri-reference.js +28 -0
- package/dist/plugins/string-uri-reference/string-uri-reference.mjs +25 -0
- package/dist/plugins/string-uri-reference/uri-reference.d.ts +1 -0
- package/dist/plugins/string-uri-reference/uri-reference.js +71 -0
- package/dist/plugins/string-uri-reference/uri-reference.mjs +68 -0
- package/dist/plugins/string-uri-template/index.d.ts +1 -0
- package/dist/plugins/string-uri-template/index.js +5 -0
- package/dist/plugins/string-uri-template/index.mjs +1 -0
- package/dist/plugins/string-uri-template/string-uri-template.d.ts +7 -0
- package/dist/plugins/string-uri-template/string-uri-template.js +26 -0
- package/dist/plugins/string-uri-template/string-uri-template.mjs +23 -0
- package/dist/plugins/string-uri-template/uri-template.d.ts +1 -0
- package/dist/plugins/string-uri-template/uri-template.js +59 -0
- package/dist/plugins/string-uri-template/uri-template.mjs +56 -0
- package/dist/plugins/string-url/index.d.ts +1 -0
- package/dist/plugins/string-url/index.js +5 -0
- package/dist/plugins/string-url/index.mjs +1 -0
- package/dist/plugins/string-url/string-url.d.ts +14 -0
- package/dist/plugins/string-url/string-url.js +55 -0
- package/dist/plugins/string-url/string-url.mjs +52 -0
- package/dist/plugins/stringAlphanumeric.d.ts +1 -0
- package/dist/plugins/stringAlphanumeric.js +2 -0
- package/dist/plugins/stringAlphanumeric.mjs +1 -0
- package/dist/plugins/stringBase64.d.ts +1 -119
- package/dist/plugins/stringBase64.js +2 -1
- package/dist/plugins/stringBase64.mjs +1 -1
- package/dist/plugins/stringContentEncoding.d.ts +1 -43
- package/dist/plugins/stringContentEncoding.js +2 -1
- package/dist/plugins/stringContentEncoding.mjs +1 -1
- package/dist/plugins/stringContentMediaType.d.ts +1 -47
- package/dist/plugins/stringContentMediaType.js +2 -1
- package/dist/plugins/stringContentMediaType.mjs +1 -1
- package/dist/plugins/stringDate.d.ts +1 -48
- package/dist/plugins/stringDate.js +2 -1
- package/dist/plugins/stringDate.mjs +1 -1
- package/dist/plugins/stringDatetime.d.ts +1 -108
- package/dist/plugins/stringDatetime.js +2 -1
- package/dist/plugins/stringDatetime.mjs +1 -1
- package/dist/plugins/stringDuration.d.ts +1 -41
- package/dist/plugins/stringDuration.js +2 -1
- package/dist/plugins/stringDuration.mjs +1 -1
- package/dist/plugins/stringEmail.d.ts +1 -81
- package/dist/plugins/stringEmail.js +2 -1
- package/dist/plugins/stringEmail.mjs +1 -1
- package/dist/plugins/stringEndsWith.d.ts +1 -0
- package/dist/plugins/stringEndsWith.js +2 -0
- package/dist/plugins/stringEndsWith.mjs +1 -0
- package/dist/plugins/stringExactLength.d.ts +1 -0
- package/dist/plugins/stringExactLength.js +2 -0
- package/dist/plugins/stringExactLength.mjs +1 -0
- package/dist/plugins/stringHostname.d.ts +1 -104
- package/dist/plugins/stringHostname.js +2 -1
- package/dist/plugins/stringHostname.mjs +1 -1
- package/dist/plugins/stringIdnEmail.d.ts +1 -0
- package/dist/plugins/stringIdnEmail.js +2 -0
- package/dist/plugins/stringIdnEmail.mjs +1 -0
- package/dist/plugins/stringIdnHostname.d.ts +1 -0
- package/dist/plugins/stringIdnHostname.js +2 -0
- package/dist/plugins/stringIdnHostname.mjs +1 -0
- package/dist/plugins/stringIpv4.d.ts +1 -85
- package/dist/plugins/stringIpv4.js +2 -1
- package/dist/plugins/stringIpv4.mjs +1 -1
- package/dist/plugins/stringIpv6.d.ts +1 -104
- package/dist/plugins/stringIpv6.js +2 -1
- package/dist/plugins/stringIpv6.mjs +1 -1
- package/dist/plugins/stringIri.d.ts +1 -117
- package/dist/plugins/stringIri.js +2 -1
- package/dist/plugins/stringIri.mjs +1 -1
- package/dist/plugins/stringIriReference.d.ts +1 -43
- package/dist/plugins/stringIriReference.js +2 -1
- package/dist/plugins/stringIriReference.mjs +1 -1
- package/dist/plugins/stringJsonPointer.d.ts +1 -107
- package/dist/plugins/stringJsonPointer.js +2 -1
- package/dist/plugins/stringJsonPointer.mjs +1 -1
- package/dist/plugins/stringMax.d.ts +1 -43
- package/dist/plugins/stringMax.js +2 -1
- package/dist/plugins/stringMax.mjs +1 -1
- package/dist/plugins/stringMin.d.ts +1 -43
- package/dist/plugins/stringMin.js +2 -1
- package/dist/plugins/stringMin.mjs +1 -1
- package/dist/plugins/stringPattern.d.ts +1 -40
- package/dist/plugins/stringPattern.js +2 -1
- package/dist/plugins/stringPattern.mjs +1 -1
- package/dist/plugins/stringRegex.d.ts +1 -0
- package/dist/plugins/stringRegex.js +2 -0
- package/dist/plugins/stringRegex.mjs +1 -0
- package/dist/plugins/stringRelativeJsonPointer.d.ts +1 -42
- package/dist/plugins/stringRelativeJsonPointer.js +2 -1
- package/dist/plugins/stringRelativeJsonPointer.mjs +1 -1
- package/dist/plugins/stringStartsWith.d.ts +1 -0
- package/dist/plugins/stringStartsWith.js +2 -0
- package/dist/plugins/stringStartsWith.mjs +1 -0
- package/dist/plugins/stringTime.d.ts +1 -39
- package/dist/plugins/stringTime.js +2 -1
- package/dist/plugins/stringTime.mjs +1 -1
- package/dist/plugins/stringUriReference.d.ts +1 -0
- package/dist/plugins/stringUriReference.js +2 -0
- package/dist/plugins/stringUriReference.mjs +1 -0
- package/dist/plugins/stringUriTemplate.d.ts +1 -43
- package/dist/plugins/stringUriTemplate.js +2 -1
- package/dist/plugins/stringUriTemplate.mjs +1 -1
- package/dist/plugins/stringUrl.d.ts +1 -97
- package/dist/plugins/stringUrl.js +2 -1
- package/dist/plugins/stringUrl.mjs +1 -1
- package/dist/plugins/transform/index.d.ts +1 -0
- package/dist/plugins/transform/index.js +5 -0
- package/dist/plugins/transform/index.mjs +1 -0
- package/dist/plugins/transform/transform.d.ts +7 -0
- package/dist/plugins/transform/transform.js +35 -0
- package/dist/plugins/transform/transform.mjs +32 -0
- package/dist/plugins/transform.d.ts +1 -35
- package/dist/plugins/transform.js +2 -1
- package/dist/plugins/transform.mjs +1 -1
- package/dist/plugins/tuple-builder/index.d.ts +2 -0
- package/dist/plugins/tuple-builder/index.js +5 -0
- package/dist/plugins/tuple-builder/index.mjs +1 -0
- package/dist/plugins/tuple-builder/tuple-builder.d.ts +21 -0
- package/dist/plugins/tuple-builder/tuple-builder.js +128 -0
- package/dist/plugins/tuple-builder/tuple-builder.mjs +125 -0
- package/dist/plugins/tupleBuilder.d.ts +1 -66
- package/dist/plugins/tupleBuilder.js +2 -1
- package/dist/plugins/tupleBuilder.mjs +1 -1
- package/dist/plugins/union-guard/index.d.ts +1 -0
- package/dist/plugins/union-guard/index.js +5 -0
- package/dist/plugins/union-guard/index.mjs +1 -0
- package/dist/plugins/union-guard/union-guard.d.ts +14 -0
- package/dist/plugins/union-guard/union-guard.js +56 -0
- package/dist/plugins/union-guard/union-guard.mjs +53 -0
- package/dist/plugins/unionGuard.d.ts +1 -0
- package/dist/plugins/unionGuard.js +2 -0
- package/dist/plugins/unionGuard.mjs +1 -0
- package/dist/plugins/uuid/index.d.ts +1 -0
- package/dist/plugins/uuid/index.js +5 -0
- package/dist/plugins/uuid/index.mjs +1 -0
- package/dist/plugins/uuid/uuid.d.ts +10 -0
- package/dist/plugins/uuid/uuid.js +56 -0
- package/dist/plugins/uuid/uuid.mjs +53 -0
- package/dist/plugins/uuid.d.ts +1 -95
- package/dist/plugins/uuid.js +2 -1
- package/dist/plugins/uuid.mjs +1 -1
- package/dist/plugins/validate-if/index.d.ts +1 -0
- package/dist/plugins/validate-if/index.js +5 -0
- package/dist/plugins/validate-if/index.mjs +1 -0
- package/dist/plugins/validate-if/validate-if.d.ts +7 -0
- package/dist/plugins/validate-if/validate-if.js +22 -0
- package/dist/plugins/validate-if/validate-if.mjs +19 -0
- package/dist/plugins/validateIf.d.ts +1 -57
- package/dist/plugins/validateIf.js +2 -1
- package/dist/plugins/validateIf.mjs +1 -1
- package/dist/plugins/write-only/index.d.ts +1 -0
- package/dist/plugins/write-only/index.js +5 -0
- package/dist/plugins/write-only/index.mjs +1 -0
- package/dist/plugins/write-only/write-only.d.ts +7 -0
- package/dist/plugins/write-only/write-only.js +48 -0
- package/dist/plugins/write-only/write-only.mjs +45 -0
- package/dist/plugins/writeOnly.d.ts +1 -0
- package/dist/plugins/writeOnly.js +2 -0
- package/dist/plugins/writeOnly.mjs +1 -0
- package/dist/result/index.d.ts +18 -0
- package/dist/result/index.js +44 -0
- package/dist/result/index.mjs +36 -0
- package/dist/result.d.ts +1 -0
- package/dist/result.js +2 -0
- package/dist/result.mjs +1 -0
- package/dist/runtime/create-field-validator.d.ts +12 -0
- package/dist/runtime/create-field-validator.js +74 -0
- package/dist/runtime/create-field-validator.mjs +71 -0
- package/dist/runtime/create-issue.d.ts +24 -0
- package/dist/runtime/create-issue.js +34 -0
- package/dist/runtime/create-issue.mjs +30 -0
- package/dist/runtime/create-validator.d.ts +19 -0
- package/dist/runtime/create-validator.js +70 -0
- package/dist/runtime/create-validator.mjs +65 -0
- package/dist/runtime/decide-presence.d.ts +5 -0
- package/dist/runtime/decide-presence.js +48 -0
- package/dist/runtime/decide-presence.mjs +45 -0
- package/dist/runtime/index-stack.d.ts +28 -0
- package/dist/runtime/index-stack.js +68 -0
- package/dist/runtime/index-stack.mjs +63 -0
- package/dist/runtime/index.d.ts +19 -0
- package/dist/runtime/index.js +48 -0
- package/dist/runtime/index.mjs +16 -0
- package/dist/runtime/issue-sink.d.ts +39 -0
- package/dist/runtime/issue-sink.js +61 -0
- package/dist/runtime/issue-sink.mjs +56 -0
- package/dist/runtime/output-writer.d.ts +38 -0
- package/dist/runtime/output-writer.js +59 -0
- package/dist/runtime/output-writer.mjs +52 -0
- package/dist/runtime/run-array-node.d.ts +9 -0
- package/dist/runtime/run-array-node.js +98 -0
- package/dist/runtime/run-array-node.mjs +95 -0
- package/dist/runtime/run-branch.d.ts +14 -0
- package/dist/runtime/run-branch.js +67 -0
- package/dist/runtime/run-branch.mjs +63 -0
- package/dist/runtime/run-field.d.ts +27 -0
- package/dist/runtime/run-field.js +88 -0
- package/dist/runtime/run-field.mjs +84 -0
- package/dist/runtime/run-plan.d.ts +28 -0
- package/dist/runtime/run-plan.js +50 -0
- package/dist/runtime/run-plan.mjs +46 -0
- package/dist/runtime/run-recursion.d.ts +17 -0
- package/dist/runtime/run-recursion.js +119 -0
- package/dist/runtime/run-recursion.mjs +115 -0
- package/dist/standard-schema/index.d.ts +6 -0
- package/dist/standard-schema/index.js +7 -0
- package/dist/standard-schema/index.mjs +2 -0
- package/dist/standard-schema/split-issue-path.d.ts +9 -0
- package/dist/standard-schema/split-issue-path.js +66 -0
- package/dist/standard-schema/split-issue-path.mjs +63 -0
- package/dist/standard-schema/standard-schema.types.d.ts +46 -0
- package/dist/standard-schema/standard-schema.types.js +13 -0
- package/dist/standard-schema/standard-schema.types.mjs +12 -0
- package/dist/standard-schema/to-standard-schema.d.ts +41 -0
- package/dist/standard-schema/to-standard-schema.js +60 -0
- package/dist/standard-schema/to-standard-schema.mjs +57 -0
- package/dist/standard-schema.d.ts +1 -0
- package/dist/standard-schema.js +2 -0
- package/dist/standard-schema.mjs +1 -0
- package/dist/subpath-aliases/read-only-write-only.d.ts +2 -0
- package/dist/subpath-aliases/read-only-write-only.js +16 -0
- package/dist/subpath-aliases/read-only-write-only.mjs +11 -0
- package/dist/types/global-config.d.ts +31 -0
- package/dist/types/global-config.js +36 -0
- package/dist/types/global-config.mjs +32 -0
- package/dist/types/index.d.ts +75 -69
- package/dist/types/index.js +46 -0
- package/dist/types/index.mjs +36 -0
- package/dist/types/validation-result.types.d.ts +22 -0
- package/dist/types/validation-result.types.js +2 -0
- package/dist/types/validation-result.types.mjs +1 -0
- package/package.json +523 -353
- package/dist/constants.d.ts +0 -27
- package/dist/core/async.experimental/async-context.d.ts +0 -60
- package/dist/core/builder/array-batch-optimizer.d.ts +0 -66
- package/dist/core/builder/context/field-context.d.ts +0 -31
- package/dist/core/builder/context/field-type-detector.d.ts +0 -19
- package/dist/core/builder/core/builder.d.ts +0 -10
- package/dist/core/builder/core/field-builder.d.ts +0 -13
- package/dist/core/builder/core/index.d.ts +0 -17
- package/dist/core/builder/index.d.ts +0 -24
- package/dist/core/builder/nested-array-processor.d.ts +0 -52
- package/dist/core/builder/plugins/composable-conditional-plugin.d.ts +0 -32
- package/dist/core/builder/plugins/composable-directly-plugin.d.ts +0 -32
- package/dist/core/builder/plugins/composable-plugin.d.ts +0 -242
- package/dist/core/builder/plugins/plugin-creator.d.ts +0 -38
- package/dist/core/builder/plugins/plugin-interfaces.d.ts +0 -343
- package/dist/core/builder/plugins/plugin-types.d.ts +0 -441
- package/dist/core/builder/raw-validator.d.ts +0 -22
- package/dist/core/builder/types/field-options.d.ts +0 -46
- package/dist/core/builder/types/types.d.ts +0 -319
- package/dist/core/builder/ultra-fast-validator.d.ts +0 -30
- package/dist/core/builder/validator-factory.d.ts +0 -29
- package/dist/core/global-config.d.ts +0 -27
- package/dist/core/index.d.ts +0 -36
- package/dist/core/optimization/array-batch-validator.d.ts +0 -68
- package/dist/core/optimization/core/field-utils.d.ts +0 -103
- package/dist/core/optimization/core/strategy-factory.d.ts +0 -84
- package/dist/core/optimization/core/validation-engine.d.ts +0 -107
- package/dist/core/optimization/execution-strategy-selector.d.ts +0 -23
- package/dist/core/optimization/unified-validator.d.ts +0 -45
- package/dist/core/plugin/__tests__/test-utils.d.ts +0 -1
- package/dist/core/plugin/arrayContains.d.ts +0 -37
- package/dist/core/plugin/arrayIncludes.d.ts +0 -42
- package/dist/core/plugin/arrayMaxLength.d.ts +0 -43
- package/dist/core/plugin/arrayMinLength.d.ts +0 -43
- package/dist/core/plugin/arrayUnique.d.ts +0 -41
- package/dist/core/plugin/booleanFalsy.d.ts +0 -41
- package/dist/core/plugin/booleanTruthy.d.ts +0 -38
- package/dist/core/plugin/compareField.d.ts +0 -58
- package/dist/core/plugin/conditionalSchema.d.ts +0 -24
- package/dist/core/plugin/custom.d.ts +0 -60
- package/dist/core/plugin/fromContext.d.ts +0 -150
- package/dist/core/plugin/index.d.ts +0 -71
- package/dist/core/plugin/jsonSchema/dsl-converter.d.ts +0 -22
- package/dist/core/plugin/jsonSchema/error-generation.d.ts +0 -14
- package/dist/core/plugin/jsonSchema/format-validators.d.ts +0 -20
- package/dist/core/plugin/jsonSchema/index.d.ts +0 -11
- package/dist/core/plugin/jsonSchema/plugin.d.ts +0 -35
- package/dist/core/plugin/jsonSchema/ref-resolver.d.ts +0 -14
- package/dist/core/plugin/jsonSchema/types.d.ts +0 -69
- package/dist/core/plugin/jsonSchema/validation-core.d.ts +0 -29
- package/dist/core/plugin/jsonSchemaFullFeature.d.ts +0 -31
- package/dist/core/plugin/literal.d.ts +0 -40
- package/dist/core/plugin/message-factories.d.ts +0 -9
- package/dist/core/plugin/nullable.d.ts +0 -34
- package/dist/core/plugin/numberFinite.d.ts +0 -41
- package/dist/core/plugin/numberInteger.d.ts +0 -41
- package/dist/core/plugin/numberMax.d.ts +0 -49
- package/dist/core/plugin/numberMin.d.ts +0 -49
- package/dist/core/plugin/numberMultipleOf.d.ts +0 -42
- package/dist/core/plugin/numberNegative.d.ts +0 -41
- package/dist/core/plugin/numberPositive.d.ts +0 -41
- package/dist/core/plugin/numberRange.d.ts +0 -48
- package/dist/core/plugin/object.d.ts +0 -43
- package/dist/core/plugin/objectAdditionalProperties.d.ts +0 -51
- package/dist/core/plugin/objectDependentRequired.d.ts +0 -42
- package/dist/core/plugin/objectDependentSchemas.d.ts +0 -40
- package/dist/core/plugin/objectMaxProperties.d.ts +0 -42
- package/dist/core/plugin/objectMinProperties.d.ts +0 -42
- package/dist/core/plugin/objectPatternProperties.d.ts +0 -46
- package/dist/core/plugin/objectPropertyNames.d.ts +0 -36
- package/dist/core/plugin/objectRecursively.d.ts +0 -81
- package/dist/core/plugin/oneOf.d.ts +0 -44
- package/dist/core/plugin/optional.d.ts +0 -35
- package/dist/core/plugin/optionalIf.d.ts +0 -42
- package/dist/core/plugin/orFail.d.ts +0 -132
- package/dist/core/plugin/readOnlyWriteOnly.d.ts +0 -48
- package/dist/core/plugin/required.d.ts +0 -45
- package/dist/core/plugin/requiredIf.d.ts +0 -66
- package/dist/core/plugin/shared-constants.d.ts +0 -45
- package/dist/core/plugin/shared.d.ts +0 -3
- package/dist/core/plugin/skip.d.ts +0 -57
- package/dist/core/plugin/stitch-typed.d.ts +0 -15
- package/dist/core/plugin/stitch.d.ts +0 -1
- package/dist/core/plugin/stitchSimple.d.ts +0 -4
- package/dist/core/plugin/stringAlphanumeric.d.ts +0 -42
- package/dist/core/plugin/stringBase64.d.ts +0 -119
- package/dist/core/plugin/stringContentEncoding.d.ts +0 -43
- package/dist/core/plugin/stringContentMediaType.d.ts +0 -47
- package/dist/core/plugin/stringDate.d.ts +0 -48
- package/dist/core/plugin/stringDatetime.d.ts +0 -108
- package/dist/core/plugin/stringDuration.d.ts +0 -41
- package/dist/core/plugin/stringEmail.d.ts +0 -81
- package/dist/core/plugin/stringEndsWith.d.ts +0 -42
- package/dist/core/plugin/stringExactLength.d.ts +0 -46
- package/dist/core/plugin/stringHostname.d.ts +0 -104
- package/dist/core/plugin/stringIpv4.d.ts +0 -85
- package/dist/core/plugin/stringIpv6.d.ts +0 -104
- package/dist/core/plugin/stringIri.d.ts +0 -117
- package/dist/core/plugin/stringIriReference.d.ts +0 -43
- package/dist/core/plugin/stringJsonPointer.d.ts +0 -107
- package/dist/core/plugin/stringMax.d.ts +0 -43
- package/dist/core/plugin/stringMin.d.ts +0 -43
- package/dist/core/plugin/stringPattern.d.ts +0 -40
- package/dist/core/plugin/stringRelativeJsonPointer.d.ts +0 -42
- package/dist/core/plugin/stringStartsWith.d.ts +0 -42
- package/dist/core/plugin/stringTime.d.ts +0 -39
- package/dist/core/plugin/stringUriTemplate.d.ts +0 -43
- package/dist/core/plugin/stringUrl.d.ts +0 -97
- package/dist/core/plugin/testUtils.d.ts +0 -15
- package/dist/core/plugin/transform-type-restrictions.d.ts +0 -61
- package/dist/core/plugin/transform.d.ts +0 -35
- package/dist/core/plugin/tupleBuilder.d.ts +0 -66
- package/dist/core/plugin/types.d.ts +0 -143
- package/dist/core/plugin/unionGuard.d.ts +0 -50
- package/dist/core/plugin/utils/field-accessor-optimized.d.ts +0 -50
- package/dist/core/plugin/utils/field-accessor.d.ts +0 -107
- package/dist/core/plugin/uuid.d.ts +0 -95
- package/dist/core/plugin/validateIf.d.ts +0 -57
- package/dist/core/registry/plugin-registry.d.ts +0 -116
- package/dist/core/registry.d.ts +0 -6
- package/dist/core/transform/index.d.ts +0 -1
- package/dist/core/transform/string/defaultValue.d.ts +0 -6
- package/dist/core/transform/string/index.d.ts +0 -3
- package/dist/core/transform/string/replace.d.ts +0 -14
- package/dist/core/transform/string/sanitize.d.ts +0 -6
- package/dist/core/utils/type-guards.d.ts +0 -68
- package/dist/index.js.map +0 -7
- package/dist/index.mjs.map +0 -7
- package/dist/types/array-type-analysis.d.ts +0 -115
- package/dist/types/indexed-result.d.ts +0 -44
- package/dist/types/result.d.ts +0 -159
- package/dist/types/stitch-types.d.ts +0 -118
- package/dist/types/util.d.ts +0 -19
- package/dist/types/valitator.d.ts +0 -10
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import type { IsOpaqueObject } from "./opaque-object.types";
|
|
2
|
+
export type PropertyValueOf<T> = unknown extends T ? unknown : NonNullable<T> extends infer U ? U extends readonly unknown[] ? never : IsOpaqueObject<U> extends true ? never : U extends object ? U[Extract<keyof U, string>] : never : never;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `Object.prototype` 上に同名のものがあるキー。
|
|
3
|
+
*
|
|
4
|
+
* **これはもう拒否リストではない。** 以前はこの3つを宣言パスに書けなくして
|
|
5
|
+
* いたが、その拒否は過剰だった。危険なのは書き込みだけで、しかも本当に危ない
|
|
6
|
+
* のは "__proto__" ひとつである:
|
|
7
|
+
*
|
|
8
|
+
* 読み取り create-value-reader.ts が hasOwnProperty.call で own プロパティ
|
|
9
|
+
* しか読まないので、プロトタイプは最初から辿らない
|
|
10
|
+
* 書き込み `target[key] = value` は "__proto__" のとき Object.prototype の
|
|
11
|
+
* **アクセサ** を呼び、own プロパティを作らずプロトタイプを差し替える。
|
|
12
|
+
* "constructor" と "prototype" はデータプロパティなので代入でも
|
|
13
|
+
* own プロパティになるだけで、汚染にはならない
|
|
14
|
+
*
|
|
15
|
+
* create-value-writer.ts が代入をやめて defineProperty に移したことで、
|
|
16
|
+
* この経路が閉じた。したがって名前で拒否する必要が無くなり、
|
|
17
|
+
* `{ "properties": { "__proto__": ... } }` のようなスキーマを検証できる
|
|
18
|
+
* ようになった (JSON-Schema-Test-Suite の properties.json が要求している)。
|
|
19
|
+
*
|
|
20
|
+
* リスト自体は残す。テストが「この3つを書いても Object.prototype が汚れない」
|
|
21
|
+
* ことを名指しで確認するのに使う (test/unit/path/create-value-writer.test.ts)。
|
|
22
|
+
*/
|
|
23
|
+
export declare const RESERVED_SEGMENTS: readonly string[];
|
|
24
|
+
/** Thrown at BUILD time for every malformed or unsafe path. A declared rule
|
|
25
|
+
* must either execute or fail loudly; the legacy silent `return () => null`
|
|
26
|
+
* turned a typo into a rule that never ran. */
|
|
27
|
+
export declare class PathSyntaxError extends Error {
|
|
28
|
+
readonly path: string;
|
|
29
|
+
constructor(path: string, reason: string);
|
|
30
|
+
}
|
|
31
|
+
export declare function isReservedSegment(key: string): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* The single definition of "this string may be used as one path segment".
|
|
34
|
+
*
|
|
35
|
+
* `source` is the whole path (or the origin, for a key that has not been
|
|
36
|
+
* joined into a path yet) and appears in the message so a regression names the
|
|
37
|
+
* offender.
|
|
38
|
+
*
|
|
39
|
+
* A key containing `.` is rejected rather than escaped: the grammar splits on
|
|
40
|
+
* `.` and has no escape syntax, so such a key would silently mean something
|
|
41
|
+
* else. Rejecting is the only honest option, and it is the reason this
|
|
42
|
+
* function is exported — the JSON Schema converter must call it on raw
|
|
43
|
+
* property names BEFORE joining them into a path, where the dot is still
|
|
44
|
+
* visible as its own key.
|
|
45
|
+
*/
|
|
46
|
+
export declare function assertDeclarableKey(key: string, source: string): void;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ===========================================================================
|
|
3
|
+
// L1 src/path/reserved-segment.ts
|
|
4
|
+
// The prototype-pollution gate for the ONE path grammar, plus the error every
|
|
5
|
+
// path-shaped rejection throws.
|
|
6
|
+
//
|
|
7
|
+
// PathSyntaxError lives here, not in parse-field-path.ts, because this module
|
|
8
|
+
// is the first thing that throws it and parse-field-path.ts imports this one.
|
|
9
|
+
// Putting the class the other way round would make the two files mutually
|
|
10
|
+
// dependent for no gain.
|
|
11
|
+
// ===========================================================================
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.PathSyntaxError = exports.RESERVED_SEGMENTS = void 0;
|
|
14
|
+
exports.isReservedSegment = isReservedSegment;
|
|
15
|
+
exports.assertDeclarableKey = assertDeclarableKey;
|
|
16
|
+
/**
|
|
17
|
+
* `Object.prototype` 上に同名のものがあるキー。
|
|
18
|
+
*
|
|
19
|
+
* **これはもう拒否リストではない。** 以前はこの3つを宣言パスに書けなくして
|
|
20
|
+
* いたが、その拒否は過剰だった。危険なのは書き込みだけで、しかも本当に危ない
|
|
21
|
+
* のは "__proto__" ひとつである:
|
|
22
|
+
*
|
|
23
|
+
* 読み取り create-value-reader.ts が hasOwnProperty.call で own プロパティ
|
|
24
|
+
* しか読まないので、プロトタイプは最初から辿らない
|
|
25
|
+
* 書き込み `target[key] = value` は "__proto__" のとき Object.prototype の
|
|
26
|
+
* **アクセサ** を呼び、own プロパティを作らずプロトタイプを差し替える。
|
|
27
|
+
* "constructor" と "prototype" はデータプロパティなので代入でも
|
|
28
|
+
* own プロパティになるだけで、汚染にはならない
|
|
29
|
+
*
|
|
30
|
+
* create-value-writer.ts が代入をやめて defineProperty に移したことで、
|
|
31
|
+
* この経路が閉じた。したがって名前で拒否する必要が無くなり、
|
|
32
|
+
* `{ "properties": { "__proto__": ... } }` のようなスキーマを検証できる
|
|
33
|
+
* ようになった (JSON-Schema-Test-Suite の properties.json が要求している)。
|
|
34
|
+
*
|
|
35
|
+
* リスト自体は残す。テストが「この3つを書いても Object.prototype が汚れない」
|
|
36
|
+
* ことを名指しで確認するのに使う (test/unit/path/create-value-writer.test.ts)。
|
|
37
|
+
*/
|
|
38
|
+
exports.RESERVED_SEGMENTS = Object.freeze([
|
|
39
|
+
"__proto__",
|
|
40
|
+
"constructor",
|
|
41
|
+
"prototype",
|
|
42
|
+
]);
|
|
43
|
+
/** Thrown at BUILD time for every malformed or unsafe path. A declared rule
|
|
44
|
+
* must either execute or fail loudly; the legacy silent `return () => null`
|
|
45
|
+
* turned a typo into a rule that never ran. */
|
|
46
|
+
class PathSyntaxError extends Error {
|
|
47
|
+
constructor(path, reason) {
|
|
48
|
+
super(`Invalid field path ${JSON.stringify(path)}: ${reason}`);
|
|
49
|
+
this.name = "PathSyntaxError";
|
|
50
|
+
this.path = path;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.PathSyntaxError = PathSyntaxError;
|
|
54
|
+
function isReservedSegment(key) {
|
|
55
|
+
return exports.RESERVED_SEGMENTS.includes(key);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* The single definition of "this string may be used as one path segment".
|
|
59
|
+
*
|
|
60
|
+
* `source` is the whole path (or the origin, for a key that has not been
|
|
61
|
+
* joined into a path yet) and appears in the message so a regression names the
|
|
62
|
+
* offender.
|
|
63
|
+
*
|
|
64
|
+
* A key containing `.` is rejected rather than escaped: the grammar splits on
|
|
65
|
+
* `.` and has no escape syntax, so such a key would silently mean something
|
|
66
|
+
* else. Rejecting is the only honest option, and it is the reason this
|
|
67
|
+
* function is exported — the JSON Schema converter must call it on raw
|
|
68
|
+
* property names BEFORE joining them into a path, where the dot is still
|
|
69
|
+
* visible as its own key.
|
|
70
|
+
*/
|
|
71
|
+
function assertDeclarableKey(key, source) {
|
|
72
|
+
if (key === "") {
|
|
73
|
+
throw new PathSyntaxError(source, "a path segment must not be empty");
|
|
74
|
+
}
|
|
75
|
+
if (key.includes(".")) {
|
|
76
|
+
throw new PathSyntaxError(source, `the key ${JSON.stringify(key)} contains "." and cannot be expressed; ` +
|
|
77
|
+
'the grammar splits on "." and defines no escape');
|
|
78
|
+
}
|
|
79
|
+
if (key.includes("[") || key.includes("]")) {
|
|
80
|
+
throw new PathSyntaxError(source, `the key ${JSON.stringify(key)} contains a bracket; "[*]" is the only ` +
|
|
81
|
+
"bracket form and it must trail a key");
|
|
82
|
+
}
|
|
83
|
+
// 予約セグメントの拒否はここから外した。理由は RESERVED_SEGMENTS の
|
|
84
|
+
// コメントに書いてある。要約すると、危険なのは書き込みだけで、その書き込みは
|
|
85
|
+
// create-value-writer.ts が defineProperty に移したので安全になった。
|
|
86
|
+
// 名前で拒否する必要が無くなり、JSON Schema が "__proto__" というキーを
|
|
87
|
+
// 持つオブジェクトを検証できるようになった。
|
|
88
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
// ===========================================================================
|
|
2
|
+
// L1 src/path/reserved-segment.ts
|
|
3
|
+
// The prototype-pollution gate for the ONE path grammar, plus the error every
|
|
4
|
+
// path-shaped rejection throws.
|
|
5
|
+
//
|
|
6
|
+
// PathSyntaxError lives here, not in parse-field-path.ts, because this module
|
|
7
|
+
// is the first thing that throws it and parse-field-path.ts imports this one.
|
|
8
|
+
// Putting the class the other way round would make the two files mutually
|
|
9
|
+
// dependent for no gain.
|
|
10
|
+
// ===========================================================================
|
|
11
|
+
/**
|
|
12
|
+
* `Object.prototype` 上に同名のものがあるキー。
|
|
13
|
+
*
|
|
14
|
+
* **これはもう拒否リストではない。** 以前はこの3つを宣言パスに書けなくして
|
|
15
|
+
* いたが、その拒否は過剰だった。危険なのは書き込みだけで、しかも本当に危ない
|
|
16
|
+
* のは "__proto__" ひとつである:
|
|
17
|
+
*
|
|
18
|
+
* 読み取り create-value-reader.ts が hasOwnProperty.call で own プロパティ
|
|
19
|
+
* しか読まないので、プロトタイプは最初から辿らない
|
|
20
|
+
* 書き込み `target[key] = value` は "__proto__" のとき Object.prototype の
|
|
21
|
+
* **アクセサ** を呼び、own プロパティを作らずプロトタイプを差し替える。
|
|
22
|
+
* "constructor" と "prototype" はデータプロパティなので代入でも
|
|
23
|
+
* own プロパティになるだけで、汚染にはならない
|
|
24
|
+
*
|
|
25
|
+
* create-value-writer.ts が代入をやめて defineProperty に移したことで、
|
|
26
|
+
* この経路が閉じた。したがって名前で拒否する必要が無くなり、
|
|
27
|
+
* `{ "properties": { "__proto__": ... } }` のようなスキーマを検証できる
|
|
28
|
+
* ようになった (JSON-Schema-Test-Suite の properties.json が要求している)。
|
|
29
|
+
*
|
|
30
|
+
* リスト自体は残す。テストが「この3つを書いても Object.prototype が汚れない」
|
|
31
|
+
* ことを名指しで確認するのに使う (test/unit/path/create-value-writer.test.ts)。
|
|
32
|
+
*/
|
|
33
|
+
export const RESERVED_SEGMENTS = Object.freeze([
|
|
34
|
+
"__proto__",
|
|
35
|
+
"constructor",
|
|
36
|
+
"prototype",
|
|
37
|
+
]);
|
|
38
|
+
/** Thrown at BUILD time for every malformed or unsafe path. A declared rule
|
|
39
|
+
* must either execute or fail loudly; the legacy silent `return () => null`
|
|
40
|
+
* turned a typo into a rule that never ran. */
|
|
41
|
+
export class PathSyntaxError extends Error {
|
|
42
|
+
constructor(path, reason) {
|
|
43
|
+
super(`Invalid field path ${JSON.stringify(path)}: ${reason}`);
|
|
44
|
+
this.name = "PathSyntaxError";
|
|
45
|
+
this.path = path;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
export function isReservedSegment(key) {
|
|
49
|
+
return RESERVED_SEGMENTS.includes(key);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* The single definition of "this string may be used as one path segment".
|
|
53
|
+
*
|
|
54
|
+
* `source` is the whole path (or the origin, for a key that has not been
|
|
55
|
+
* joined into a path yet) and appears in the message so a regression names the
|
|
56
|
+
* offender.
|
|
57
|
+
*
|
|
58
|
+
* A key containing `.` is rejected rather than escaped: the grammar splits on
|
|
59
|
+
* `.` and has no escape syntax, so such a key would silently mean something
|
|
60
|
+
* else. Rejecting is the only honest option, and it is the reason this
|
|
61
|
+
* function is exported — the JSON Schema converter must call it on raw
|
|
62
|
+
* property names BEFORE joining them into a path, where the dot is still
|
|
63
|
+
* visible as its own key.
|
|
64
|
+
*/
|
|
65
|
+
export function assertDeclarableKey(key, source) {
|
|
66
|
+
if (key === "") {
|
|
67
|
+
throw new PathSyntaxError(source, "a path segment must not be empty");
|
|
68
|
+
}
|
|
69
|
+
if (key.includes(".")) {
|
|
70
|
+
throw new PathSyntaxError(source, `the key ${JSON.stringify(key)} contains "." and cannot be expressed; ` +
|
|
71
|
+
'the grammar splits on "." and defines no escape');
|
|
72
|
+
}
|
|
73
|
+
if (key.includes("[") || key.includes("]")) {
|
|
74
|
+
throw new PathSyntaxError(source, `the key ${JSON.stringify(key)} contains a bracket; "[*]" is the only ` +
|
|
75
|
+
"bracket form and it must trail a key");
|
|
76
|
+
}
|
|
77
|
+
// 予約セグメントの拒否はここから外した。理由は RESERVED_SEGMENTS の
|
|
78
|
+
// コメントに書いてある。要約すると、危険なのは書き込みだけで、その書き込みは
|
|
79
|
+
// create-value-writer.ts が defineProperty に移したので安全になった。
|
|
80
|
+
// 名前で拒否する必要が無くなり、JSON Schema が "__proto__" というキーを
|
|
81
|
+
// 持つオブジェクトを検証できるようになった。
|
|
82
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ParsePath, Segment } from "./path-segment.types";
|
|
2
|
+
import type { IsOpaqueObject } from "./opaque-object.types";
|
|
3
|
+
import type { ElementOf } from "./element-of.types";
|
|
4
|
+
/** `unknown extends T` is tested BEFORE NonNullable, because
|
|
5
|
+
* `NonNullable<unknown>` is `{}` since TS 4.9 and would otherwise collapse
|
|
6
|
+
* every Record<string, unknown> subtree to never on the second segment. */
|
|
7
|
+
type ReadKey<T, K extends string> = unknown extends T ? unknown : NonNullable<T> extends infer U ? U extends readonly unknown[] ? never : IsOpaqueObject<U> extends true ? never : U extends object ? K extends keyof U ? U[K] : never : never : never;
|
|
8
|
+
type WalkSegments<T, S extends readonly Segment[]> = S extends readonly [
|
|
9
|
+
infer H,
|
|
10
|
+
...infer R extends readonly Segment[]
|
|
11
|
+
] ? H extends {
|
|
12
|
+
readonly each: true;
|
|
13
|
+
} ? WalkSegments<ElementOf<T>, R> : H extends {
|
|
14
|
+
readonly key: infer K extends string;
|
|
15
|
+
} ? WalkSegments<ReadKey<T, K>, R> : never : T;
|
|
16
|
+
/** The declared type at P. Optionality survives on the LAST segment only, so
|
|
17
|
+
* the chain can observe presence type-state while intermediate steps stay
|
|
18
|
+
* total: ValueAtPath<T,"opt"> is `Address | undefined`, ValueAtPath<T,
|
|
19
|
+
* "opt.street"> is `string`. */
|
|
20
|
+
export type ValueAtPath<T, P extends string> = WalkSegments<T, ParsePath<P>>;
|
|
21
|
+
/** Maps a tuple of path literals to an object of their resolved value types. */
|
|
22
|
+
export type PickPaths<T, P extends readonly string[]> = {
|
|
23
|
+
readonly [K in P[number]]: ValueAtPath<T, K>;
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import type { ArrayItemContext, CheckOutcome, IssueDetail, IssueSeverity, MessageContext, RuleContext } from "../types";
|
|
2
|
+
export type RuleKind = "check" | "presence" | "conditionalPresence" | "gate" | "transform" | "composite" | "recursive";
|
|
3
|
+
export interface CheckRule {
|
|
4
|
+
readonly kind: "check";
|
|
5
|
+
readonly code: string;
|
|
6
|
+
readonly severity: IssueSeverity;
|
|
7
|
+
run(value: unknown, ctx: RuleContext): CheckOutcome;
|
|
8
|
+
describe(detail: IssueDetail, ctx: MessageContext): string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* WHICH absences a rule permits, without the identity that reports a refusal.
|
|
12
|
+
* Split out because a conditional presence rule owns TWO of these — one per
|
|
13
|
+
* side of its predicate — while both sides share its code and its message.
|
|
14
|
+
*/
|
|
15
|
+
export interface PresenceAllowance {
|
|
16
|
+
readonly allowUndefined: boolean;
|
|
17
|
+
readonly allowNull: boolean;
|
|
18
|
+
readonly emptyStringIsMissing: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* True when `null` is a VALUE this subject has to judge, rather than an
|
|
21
|
+
* absence presence may settle. Draft-07 sub-schemas need it: `false`,
|
|
22
|
+
* `{"not": {}}` and an `enum` without null all forbid null WITHOUT saying
|
|
23
|
+
* anything about `type`, and presence — which runs first — was answering
|
|
24
|
+
* for them. `[null]` passed `{"items":{"not":{}}}` because no check ever
|
|
25
|
+
* ran.
|
|
26
|
+
*
|
|
27
|
+
* Optional, and absent means false: a field the user declared keeps the
|
|
28
|
+
* builder's meaning, where `.nullable()` ENDS the field on null. Only
|
|
29
|
+
* src/json-schema/ turns it on.
|
|
30
|
+
*/
|
|
31
|
+
readonly nullIsValue?: boolean;
|
|
32
|
+
}
|
|
33
|
+
export interface PresenceRule extends PresenceAllowance {
|
|
34
|
+
readonly kind: "presence";
|
|
35
|
+
readonly code: string;
|
|
36
|
+
readonly severity: IssueSeverity;
|
|
37
|
+
describe(ctx: MessageContext): string;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Presence only a value of the ROOT can settle: `.requiredIf(when)` and
|
|
41
|
+
* `.optionalIf(when)`.
|
|
42
|
+
*
|
|
43
|
+
* Plain PresenceRules merge into ONE policy at build time, which is why
|
|
44
|
+
* nothing before this could make a MISSING value depend on a sibling field.
|
|
45
|
+
* requiredIf had to be a check instead, and a check never sees undefined
|
|
46
|
+
* because the presence gate returns first — so `.requiredIf(cond)` alone was
|
|
47
|
+
* silent on the very absence it exists to forbid.
|
|
48
|
+
*
|
|
49
|
+
* The condition is therefore carried HERE, and compilation turns each side
|
|
50
|
+
* into a finished PresencePolicy. The run time evaluates one predicate and
|
|
51
|
+
* PICKS; it never assembles a policy and never asks what a rule is.
|
|
52
|
+
*
|
|
53
|
+
* `whenMet` / `whenUnmet` is null on the side that has no opinion, and the
|
|
54
|
+
* field then keeps the policy its unconditional rules already merged to. That
|
|
55
|
+
* is what leaves `.required().requiredIf(cond)` rejecting a missing value
|
|
56
|
+
* while the condition is false.
|
|
57
|
+
*/
|
|
58
|
+
export interface ConditionalPresenceRule {
|
|
59
|
+
readonly kind: "conditionalPresence";
|
|
60
|
+
readonly code: string;
|
|
61
|
+
readonly severity: IssueSeverity;
|
|
62
|
+
/** Evaluated once per field run, BEFORE the value is judged. */
|
|
63
|
+
when(root: unknown, arrayContext?: ArrayItemContext): boolean;
|
|
64
|
+
readonly whenMet: PresenceAllowance | null;
|
|
65
|
+
readonly whenUnmet: PresenceAllowance | null;
|
|
66
|
+
describe(ctx: MessageContext): string;
|
|
67
|
+
}
|
|
68
|
+
export interface GateRule {
|
|
69
|
+
readonly kind: "gate";
|
|
70
|
+
readonly code: string;
|
|
71
|
+
shouldRun(value: unknown, ctx: RuleContext): boolean;
|
|
72
|
+
}
|
|
73
|
+
export interface TransformRule {
|
|
74
|
+
readonly kind: "transform";
|
|
75
|
+
apply(value: unknown, ctx: RuleContext): unknown;
|
|
76
|
+
}
|
|
77
|
+
/** Rules bound to a path RELATIVE to the branch subject. */
|
|
78
|
+
export interface BranchField {
|
|
79
|
+
readonly path: string;
|
|
80
|
+
readonly rules: readonly Rule[];
|
|
81
|
+
}
|
|
82
|
+
export interface CompositeBranch {
|
|
83
|
+
readonly label: string;
|
|
84
|
+
readonly rules: readonly Rule[];
|
|
85
|
+
readonly fields: readonly BranchField[];
|
|
86
|
+
}
|
|
87
|
+
/** A branch after compilation: the same call shape as a check. */
|
|
88
|
+
export interface BranchRunner {
|
|
89
|
+
readonly label: string;
|
|
90
|
+
run(value: unknown, ctx: RuleContext): CheckOutcome;
|
|
91
|
+
}
|
|
92
|
+
export type CompositeExecute = (value: unknown, ctx: RuleContext) => CheckOutcome;
|
|
93
|
+
export type CompositeCombine = (runners: readonly BranchRunner[]) => CompositeExecute;
|
|
94
|
+
export interface CompositeRule {
|
|
95
|
+
readonly kind: "composite";
|
|
96
|
+
readonly code: string;
|
|
97
|
+
readonly severity: IssueSeverity;
|
|
98
|
+
readonly branches: readonly CompositeBranch[];
|
|
99
|
+
/** Called ONCE at build time; runners[i] corresponds to branches[i]. */
|
|
100
|
+
readonly combine: CompositeCombine;
|
|
101
|
+
describe(detail: IssueDetail, ctx: MessageContext): string;
|
|
102
|
+
}
|
|
103
|
+
export type RecursionTarget = "self" | "element";
|
|
104
|
+
export interface RecursiveRule {
|
|
105
|
+
readonly kind: "recursive";
|
|
106
|
+
readonly code: string;
|
|
107
|
+
readonly severity: IssueSeverity;
|
|
108
|
+
readonly target: RecursionTarget;
|
|
109
|
+
readonly maxDepth: number;
|
|
110
|
+
describe(detail: IssueDetail, ctx: MessageContext): string;
|
|
111
|
+
}
|
|
112
|
+
export type Rule = CheckRule | PresenceRule | ConditionalPresenceRule | GateRule | TransformRule | CompositeRule | RecursiveRule;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { IssueSeverity, MessageContext, MessageContextExtra, MessageFactory } from "../types";
|
|
2
|
+
import type { ConditionalPresenceRule, PresenceAllowance } from "./compiled-rule";
|
|
3
|
+
import type { RootPredicateFn } from "./runtime-args.types";
|
|
4
|
+
/** Rejects undefined, null and "" — legacy's emptiness, verbatim. */
|
|
5
|
+
export declare const REQUIRES_A_VALUE: PresenceAllowance;
|
|
6
|
+
/**
|
|
7
|
+
* Permits undefined and null. "" stays PRESENT here, so a conditionally
|
|
8
|
+
* optional field still runs its own checks against an empty string, exactly
|
|
9
|
+
* as `.optional().min(3)` does.
|
|
10
|
+
*/
|
|
11
|
+
export declare const PERMITS_ABSENCE: PresenceAllowance;
|
|
12
|
+
export interface ConditionalPresenceSpec<C extends MessageContextExtra> {
|
|
13
|
+
readonly code: string;
|
|
14
|
+
readonly messageFactory?: MessageFactory<C>;
|
|
15
|
+
readonly severity: IssueSeverity;
|
|
16
|
+
/** The user's predicate. Stored by identity, never re-wrapped. */
|
|
17
|
+
readonly when: RootPredicateFn;
|
|
18
|
+
/** In force while the predicate holds; null defers to the merged policy. */
|
|
19
|
+
readonly whenMet: PresenceAllowance | null;
|
|
20
|
+
/** In force while it does not; null defers to the merged policy. */
|
|
21
|
+
readonly whenUnmet: PresenceAllowance | null;
|
|
22
|
+
describe(ctx: MessageContext): string;
|
|
23
|
+
buildMessageContext(): C;
|
|
24
|
+
}
|
|
25
|
+
export declare function conditionalPresence<C extends MessageContextExtra>(spec: ConditionalPresenceSpec<C>): ConditionalPresenceRule;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PERMITS_ABSENCE = exports.REQUIRES_A_VALUE = void 0;
|
|
4
|
+
exports.conditionalPresence = conditionalPresence;
|
|
5
|
+
const rule_build_context_1 = require("./rule-build-context");
|
|
6
|
+
/** Rejects undefined, null and "" — legacy's emptiness, verbatim. */
|
|
7
|
+
exports.REQUIRES_A_VALUE = Object.freeze({
|
|
8
|
+
allowUndefined: false,
|
|
9
|
+
allowNull: false,
|
|
10
|
+
emptyStringIsMissing: true,
|
|
11
|
+
});
|
|
12
|
+
/**
|
|
13
|
+
* Permits undefined and null. "" stays PRESENT here, so a conditionally
|
|
14
|
+
* optional field still runs its own checks against an empty string, exactly
|
|
15
|
+
* as `.optional().min(3)` does.
|
|
16
|
+
*/
|
|
17
|
+
exports.PERMITS_ABSENCE = Object.freeze({
|
|
18
|
+
allowUndefined: true,
|
|
19
|
+
allowNull: true,
|
|
20
|
+
emptyStringIsMissing: false,
|
|
21
|
+
});
|
|
22
|
+
function conditionalPresence(spec) {
|
|
23
|
+
return {
|
|
24
|
+
kind: "conditionalPresence",
|
|
25
|
+
code: spec.code,
|
|
26
|
+
severity: spec.severity,
|
|
27
|
+
when: spec.when,
|
|
28
|
+
whenMet: spec.whenMet,
|
|
29
|
+
whenUnmet: spec.whenUnmet,
|
|
30
|
+
describe: (ctx) => (0, rule_build_context_1.renderMessage)(spec.messageFactory, ctx, spec.buildMessageContext(), spec.describe(ctx)),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { renderMessage } from "./rule-build-context.mjs";
|
|
2
|
+
/** Rejects undefined, null and "" — legacy's emptiness, verbatim. */
|
|
3
|
+
export const REQUIRES_A_VALUE = Object.freeze({
|
|
4
|
+
allowUndefined: false,
|
|
5
|
+
allowNull: false,
|
|
6
|
+
emptyStringIsMissing: true,
|
|
7
|
+
});
|
|
8
|
+
/**
|
|
9
|
+
* Permits undefined and null. "" stays PRESENT here, so a conditionally
|
|
10
|
+
* optional field still runs its own checks against an empty string, exactly
|
|
11
|
+
* as `.optional().min(3)` does.
|
|
12
|
+
*/
|
|
13
|
+
export const PERMITS_ABSENCE = Object.freeze({
|
|
14
|
+
allowUndefined: true,
|
|
15
|
+
allowNull: true,
|
|
16
|
+
emptyStringIsMissing: false,
|
|
17
|
+
});
|
|
18
|
+
export function conditionalPresence(spec) {
|
|
19
|
+
return {
|
|
20
|
+
kind: "conditionalPresence",
|
|
21
|
+
code: spec.code,
|
|
22
|
+
severity: spec.severity,
|
|
23
|
+
when: spec.when,
|
|
24
|
+
whenMet: spec.whenMet,
|
|
25
|
+
whenUnmet: spec.whenUnmet,
|
|
26
|
+
describe: (ctx) => renderMessage(spec.messageFactory, ctx, spec.buildMessageContext(), spec.describe(ctx)),
|
|
27
|
+
};
|
|
28
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { CheckOutcome, IssueDetail, IssueSeverity, MessageContext, MessageContextExtra, MessageFactory, RuleContext } from "../types";
|
|
2
|
+
import type { BranchField, CheckRule, CompositeBranch, CompositeCombine, CompositeRule, GateRule, PresenceRule, RecursionTarget, RecursiveRule, Rule, TransformRule } from "./compiled-rule";
|
|
3
|
+
export interface CheckSpec<C extends MessageContextExtra> {
|
|
4
|
+
readonly code: string;
|
|
5
|
+
readonly messageFactory?: MessageFactory<C>;
|
|
6
|
+
readonly severity: IssueSeverity;
|
|
7
|
+
run(value: unknown, ctx: RuleContext): CheckOutcome;
|
|
8
|
+
describe(detail: IssueDetail, ctx: MessageContext): string;
|
|
9
|
+
buildMessageContext(detail: IssueDetail): C;
|
|
10
|
+
}
|
|
11
|
+
export declare function check<C extends MessageContextExtra>(spec: CheckSpec<C>): CheckRule;
|
|
12
|
+
export interface PresenceSpec<C extends MessageContextExtra> {
|
|
13
|
+
readonly code: string;
|
|
14
|
+
readonly messageFactory?: MessageFactory<C>;
|
|
15
|
+
readonly severity: IssueSeverity;
|
|
16
|
+
readonly allowUndefined: boolean;
|
|
17
|
+
readonly allowNull: boolean;
|
|
18
|
+
readonly emptyStringIsMissing: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* True when `null` must be JUDGED here rather than settled by presence.
|
|
21
|
+
*
|
|
22
|
+
* OPTIONAL, and false by default, because `presence()` is an API plugin
|
|
23
|
+
* AUTHORS use: making it required would break every plugin outside this
|
|
24
|
+
* repository to add a flag almost none of them want. The default is the
|
|
25
|
+
* behaviour that was always there — `.nullable()` ends the field on null.
|
|
26
|
+
* src/json-schema/ sets it, because a DOCUMENT decides whether null is
|
|
27
|
+
* allowed and `type` is not the only keyword that decides it.
|
|
28
|
+
*/
|
|
29
|
+
readonly nullIsValue?: boolean;
|
|
30
|
+
describe(ctx: MessageContext): string;
|
|
31
|
+
buildMessageContext(): C;
|
|
32
|
+
}
|
|
33
|
+
export declare function presence<C extends MessageContextExtra>(spec: PresenceSpec<C>): PresenceRule;
|
|
34
|
+
export declare function gate(code: string, shouldRun: (value: unknown, ctx: RuleContext) => boolean): GateRule;
|
|
35
|
+
export declare function transform(apply: (value: unknown, ctx: RuleContext) => unknown): TransformRule;
|
|
36
|
+
/** Declares a branch of a composite. */
|
|
37
|
+
export declare function branch(label: string, rules: readonly Rule[], fields?: readonly BranchField[]): CompositeBranch;
|
|
38
|
+
/** Declares a branch that only constrains sub-paths. */
|
|
39
|
+
export declare function fieldsBranch(label: string, fields: readonly BranchField[]): CompositeBranch;
|
|
40
|
+
export interface CompositeSpec<C extends MessageContextExtra> {
|
|
41
|
+
readonly code: string;
|
|
42
|
+
readonly messageFactory?: MessageFactory<C>;
|
|
43
|
+
readonly severity: IssueSeverity;
|
|
44
|
+
readonly branches: readonly CompositeBranch[];
|
|
45
|
+
readonly combine: CompositeCombine;
|
|
46
|
+
describe(detail: IssueDetail, ctx: MessageContext): string;
|
|
47
|
+
buildMessageContext(detail: IssueDetail): C;
|
|
48
|
+
}
|
|
49
|
+
export declare function composite<C extends MessageContextExtra>(spec: CompositeSpec<C>): CompositeRule;
|
|
50
|
+
export interface RecursiveSpec<C extends MessageContextExtra> {
|
|
51
|
+
readonly code: string;
|
|
52
|
+
readonly messageFactory?: MessageFactory<C>;
|
|
53
|
+
readonly severity: IssueSeverity;
|
|
54
|
+
readonly target: RecursionTarget;
|
|
55
|
+
readonly maxDepth: number;
|
|
56
|
+
describe(detail: IssueDetail, ctx: MessageContext): string;
|
|
57
|
+
buildMessageContext(detail: IssueDetail): C;
|
|
58
|
+
}
|
|
59
|
+
export declare function recursive<C extends MessageContextExtra>(spec: RecursiveSpec<C>): RecursiveRule;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.check = check;
|
|
4
|
+
exports.presence = presence;
|
|
5
|
+
exports.gate = gate;
|
|
6
|
+
exports.transform = transform;
|
|
7
|
+
exports.branch = branch;
|
|
8
|
+
exports.fieldsBranch = fieldsBranch;
|
|
9
|
+
exports.composite = composite;
|
|
10
|
+
exports.recursive = recursive;
|
|
11
|
+
const rule_build_context_1 = require("./rule-build-context");
|
|
12
|
+
const EMPTY_FIELDS = Object.freeze([]);
|
|
13
|
+
const EMPTY_RULES = Object.freeze([]);
|
|
14
|
+
function check(spec) {
|
|
15
|
+
return {
|
|
16
|
+
kind: "check",
|
|
17
|
+
code: spec.code,
|
|
18
|
+
severity: spec.severity,
|
|
19
|
+
run: (value, ctx) => spec.run(value, ctx),
|
|
20
|
+
describe: (detail, ctx) => (0, rule_build_context_1.renderMessage)(spec.messageFactory, ctx, spec.buildMessageContext(detail), spec.describe(detail, ctx)),
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
function presence(spec) {
|
|
24
|
+
return {
|
|
25
|
+
kind: "presence",
|
|
26
|
+
code: spec.code,
|
|
27
|
+
severity: spec.severity,
|
|
28
|
+
allowUndefined: spec.allowUndefined,
|
|
29
|
+
allowNull: spec.allowNull,
|
|
30
|
+
emptyStringIsMissing: spec.emptyStringIsMissing,
|
|
31
|
+
nullIsValue: spec.nullIsValue === true,
|
|
32
|
+
describe: (ctx) => (0, rule_build_context_1.renderMessage)(spec.messageFactory, ctx, spec.buildMessageContext(), spec.describe(ctx)),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
function gate(code, shouldRun) {
|
|
36
|
+
return { kind: "gate", code, shouldRun };
|
|
37
|
+
}
|
|
38
|
+
function transform(apply) {
|
|
39
|
+
return { kind: "transform", apply };
|
|
40
|
+
}
|
|
41
|
+
/** Declares a branch of a composite. */
|
|
42
|
+
function branch(label, rules, fields = EMPTY_FIELDS) {
|
|
43
|
+
return { label, rules, fields };
|
|
44
|
+
}
|
|
45
|
+
/** Declares a branch that only constrains sub-paths. */
|
|
46
|
+
function fieldsBranch(label, fields) {
|
|
47
|
+
return { label, rules: EMPTY_RULES, fields };
|
|
48
|
+
}
|
|
49
|
+
function composite(spec) {
|
|
50
|
+
return {
|
|
51
|
+
kind: "composite",
|
|
52
|
+
code: spec.code,
|
|
53
|
+
severity: spec.severity,
|
|
54
|
+
branches: spec.branches,
|
|
55
|
+
combine: spec.combine,
|
|
56
|
+
describe: (detail, ctx) => (0, rule_build_context_1.renderMessage)(spec.messageFactory, ctx, spec.buildMessageContext(detail), spec.describe(detail, ctx)),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
function recursive(spec) {
|
|
60
|
+
return {
|
|
61
|
+
kind: "recursive",
|
|
62
|
+
code: spec.code,
|
|
63
|
+
severity: spec.severity,
|
|
64
|
+
target: spec.target,
|
|
65
|
+
maxDepth: spec.maxDepth,
|
|
66
|
+
describe: (detail, ctx) => (0, rule_build_context_1.renderMessage)(spec.messageFactory, ctx, spec.buildMessageContext(detail), spec.describe(detail, ctx)),
|
|
67
|
+
};
|
|
68
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { renderMessage } from "./rule-build-context.mjs";
|
|
2
|
+
const EMPTY_FIELDS = Object.freeze([]);
|
|
3
|
+
const EMPTY_RULES = Object.freeze([]);
|
|
4
|
+
export function check(spec) {
|
|
5
|
+
return {
|
|
6
|
+
kind: "check",
|
|
7
|
+
code: spec.code,
|
|
8
|
+
severity: spec.severity,
|
|
9
|
+
run: (value, ctx) => spec.run(value, ctx),
|
|
10
|
+
describe: (detail, ctx) => renderMessage(spec.messageFactory, ctx, spec.buildMessageContext(detail), spec.describe(detail, ctx)),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export function presence(spec) {
|
|
14
|
+
return {
|
|
15
|
+
kind: "presence",
|
|
16
|
+
code: spec.code,
|
|
17
|
+
severity: spec.severity,
|
|
18
|
+
allowUndefined: spec.allowUndefined,
|
|
19
|
+
allowNull: spec.allowNull,
|
|
20
|
+
emptyStringIsMissing: spec.emptyStringIsMissing,
|
|
21
|
+
nullIsValue: spec.nullIsValue === true,
|
|
22
|
+
describe: (ctx) => renderMessage(spec.messageFactory, ctx, spec.buildMessageContext(), spec.describe(ctx)),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export function gate(code, shouldRun) {
|
|
26
|
+
return { kind: "gate", code, shouldRun };
|
|
27
|
+
}
|
|
28
|
+
export function transform(apply) {
|
|
29
|
+
return { kind: "transform", apply };
|
|
30
|
+
}
|
|
31
|
+
/** Declares a branch of a composite. */
|
|
32
|
+
export function branch(label, rules, fields = EMPTY_FIELDS) {
|
|
33
|
+
return { label, rules, fields };
|
|
34
|
+
}
|
|
35
|
+
/** Declares a branch that only constrains sub-paths. */
|
|
36
|
+
export function fieldsBranch(label, fields) {
|
|
37
|
+
return { label, rules: EMPTY_RULES, fields };
|
|
38
|
+
}
|
|
39
|
+
export function composite(spec) {
|
|
40
|
+
return {
|
|
41
|
+
kind: "composite",
|
|
42
|
+
code: spec.code,
|
|
43
|
+
severity: spec.severity,
|
|
44
|
+
branches: spec.branches,
|
|
45
|
+
combine: spec.combine,
|
|
46
|
+
describe: (detail, ctx) => renderMessage(spec.messageFactory, ctx, spec.buildMessageContext(detail), spec.describe(detail, ctx)),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
export function recursive(spec) {
|
|
50
|
+
return {
|
|
51
|
+
kind: "recursive",
|
|
52
|
+
code: spec.code,
|
|
53
|
+
severity: spec.severity,
|
|
54
|
+
target: spec.target,
|
|
55
|
+
maxDepth: spec.maxDepth,
|
|
56
|
+
describe: (detail, ctx) => renderMessage(spec.messageFactory, ctx, spec.buildMessageContext(detail), spec.describe(detail, ctx)),
|
|
57
|
+
};
|
|
58
|
+
}
|