@kubb/agent 4.33.2 → 4.33.3
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/.output/nitro.json +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +13 -7
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
- package/.output/server/node_modules/@babel/runtime/package.json +1 -1
- package/.output/server/node_modules/@readme/openapi-parser/package.json +3 -3
- package/.output/server/node_modules/@redocly/config/lib/asyncapi-config-schema.js +53 -0
- package/.output/server/node_modules/@redocly/config/lib/default-theme-config-schema.js +2 -0
- package/.output/server/node_modules/@redocly/config/lib/ex-theme-config-schemas.js +2 -1
- package/.output/server/node_modules/@redocly/config/lib/remove-property-recursively.js +7 -4
- package/.output/server/node_modules/@redocly/config/package.json +2 -2
- package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/filters/filter-in.js +54 -1
- package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/filters/filter-out.js +54 -1
- package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/oas2/index.js +1 -1
- package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/oas3/index.js +1 -1
- package/.output/server/node_modules/@redocly/openapi-core/package.json +2 -2
- package/.output/server/node_modules/ajv/.runkit_example.js +23 -0
- package/.output/server/node_modules/ajv/LICENSE +22 -0
- package/.output/server/node_modules/ajv/README.md +207 -0
- package/.output/server/node_modules/ajv/dist/2019.d.ts +19 -0
- package/.output/server/node_modules/ajv/dist/2019.js +61 -0
- package/.output/server/node_modules/ajv/dist/2019.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/2020.d.ts +19 -0
- package/.output/server/node_modules/ajv/dist/2020.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/ajv.d.ts +18 -0
- package/.output/server/node_modules/ajv/dist/ajv.js +50 -0
- package/.output/server/node_modules/ajv/dist/ajv.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/compile/codegen/code.d.ts +40 -0
- package/.output/server/node_modules/ajv/dist/compile/codegen/code.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/compile/codegen/index.d.ts +79 -0
- package/.output/server/node_modules/ajv/dist/compile/codegen/index.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/compile/codegen/scope.d.ts +79 -0
- package/.output/server/node_modules/ajv/dist/compile/codegen/scope.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/compile/errors.d.ts +13 -0
- package/.output/server/node_modules/ajv/dist/compile/errors.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/compile/index.d.ts +80 -0
- package/.output/server/node_modules/ajv/dist/compile/index.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/compile/jtd/parse.d.ts +4 -0
- package/.output/server/node_modules/ajv/dist/compile/jtd/parse.js +350 -0
- package/.output/server/node_modules/ajv/dist/compile/jtd/parse.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/compile/jtd/serialize.d.ts +4 -0
- package/.output/server/node_modules/ajv/dist/compile/jtd/serialize.js +229 -0
- package/.output/server/node_modules/ajv/dist/compile/jtd/serialize.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/compile/jtd/types.d.ts +6 -0
- package/.output/server/node_modules/ajv/dist/compile/jtd/types.js +14 -0
- package/.output/server/node_modules/ajv/dist/compile/jtd/types.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/compile/names.d.ts +20 -0
- package/.output/server/node_modules/ajv/dist/compile/names.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/compile/ref_error.d.ts +6 -0
- package/.output/server/node_modules/ajv/dist/compile/ref_error.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/compile/resolve.d.ts +12 -0
- package/.output/server/node_modules/ajv/dist/compile/resolve.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/compile/rules.d.ts +28 -0
- package/.output/server/node_modules/ajv/dist/compile/rules.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/compile/util.d.ts +40 -0
- package/.output/server/node_modules/ajv/dist/compile/util.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/applicability.d.ts +6 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/applicability.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/boolSchema.d.ts +4 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/boolSchema.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/dataType.d.ts +17 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/dataType.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/defaults.d.ts +2 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/defaults.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/index.d.ts +42 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/index.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/keyword.d.ts +8 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/keyword.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/subschema.d.ts +47 -0
- package/.output/server/node_modules/ajv/dist/compile/validate/subschema.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/core.d.ts +173 -0
- package/.output/server/node_modules/ajv/dist/core.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/jtd.d.ts +47 -0
- package/.output/server/node_modules/ajv/dist/jtd.js +72 -0
- package/.output/server/node_modules/ajv/dist/jtd.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/refs/json-schema-2019-09/index.d.ts +2 -0
- package/.output/server/node_modules/ajv/dist/refs/json-schema-2019-09/index.js +28 -0
- package/.output/server/node_modules/ajv/dist/refs/json-schema-2019-09/index.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/refs/json-schema-2019-09/meta/applicator.json +53 -0
- package/.output/server/node_modules/ajv/dist/refs/json-schema-2019-09/meta/content.json +17 -0
- package/.output/server/node_modules/ajv/dist/refs/json-schema-2019-09/meta/core.json +57 -0
- package/.output/server/node_modules/ajv/dist/refs/json-schema-2019-09/meta/format.json +14 -0
- package/.output/server/node_modules/ajv/dist/refs/json-schema-2019-09/meta/meta-data.json +37 -0
- package/.output/server/node_modules/ajv/dist/refs/json-schema-2019-09/meta/validation.json +90 -0
- package/.output/server/node_modules/ajv/dist/refs/json-schema-2019-09/schema.json +39 -0
- package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/index.d.ts +2 -0
- package/.output/server/node_modules/ajv/dist/refs/json-schema-2020-12/index.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/refs/json-schema-draft-06.json +137 -0
- package/.output/server/node_modules/ajv/dist/refs/json-schema-draft-07.json +151 -0
- package/.output/server/node_modules/ajv/dist/refs/json-schema-secure.json +88 -0
- package/.output/server/node_modules/ajv/dist/refs/jtd-schema.d.ts +3 -0
- package/.output/server/node_modules/ajv/dist/refs/jtd-schema.js +118 -0
- package/.output/server/node_modules/ajv/dist/refs/jtd-schema.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/runtime/equal.d.ts +6 -0
- package/.output/server/node_modules/ajv/dist/runtime/equal.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/runtime/parseJson.d.ts +18 -0
- package/.output/server/node_modules/ajv/dist/runtime/parseJson.js +185 -0
- package/.output/server/node_modules/ajv/dist/runtime/parseJson.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/runtime/quote.d.ts +5 -0
- package/.output/server/node_modules/ajv/dist/runtime/quote.js +30 -0
- package/.output/server/node_modules/ajv/dist/runtime/quote.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/runtime/re2.d.ts +6 -0
- package/.output/server/node_modules/ajv/dist/runtime/re2.js +6 -0
- package/.output/server/node_modules/ajv/dist/runtime/re2.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/runtime/timestamp.d.ts +5 -0
- package/.output/server/node_modules/ajv/dist/runtime/timestamp.js +42 -0
- package/.output/server/node_modules/ajv/dist/runtime/timestamp.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/runtime/ucs2length.d.ts +5 -0
- package/.output/server/node_modules/ajv/dist/runtime/ucs2length.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/runtime/uri.d.ts +6 -0
- package/.output/server/node_modules/ajv/dist/runtime/uri.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/runtime/validation_error.d.ts +7 -0
- package/.output/server/node_modules/ajv/dist/runtime/validation_error.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/standalone/index.d.ts +6 -0
- package/.output/server/node_modules/ajv/dist/standalone/index.js +90 -0
- package/.output/server/node_modules/ajv/dist/standalone/index.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/standalone/instance.d.ts +12 -0
- package/.output/server/node_modules/ajv/dist/standalone/instance.js +35 -0
- package/.output/server/node_modules/ajv/dist/standalone/instance.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/types/index.d.ts +183 -0
- package/.output/server/node_modules/ajv/dist/types/index.js +3 -0
- package/.output/server/node_modules/ajv/dist/types/index.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/types/json-schema.d.ts +125 -0
- package/.output/server/node_modules/ajv/dist/types/json-schema.js +3 -0
- package/.output/server/node_modules/ajv/dist/types/json-schema.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/types/jtd-schema.d.ts +174 -0
- package/.output/server/node_modules/ajv/dist/types/jtd-schema.js +3 -0
- package/.output/server/node_modules/ajv/dist/types/jtd-schema.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/additionalItems.d.ts +8 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.d.ts +6 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/allOf.d.ts +3 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/anyOf.d.ts +4 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/contains.d.ts +7 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/dependencies.d.ts +21 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.d.ts +3 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/if.d.ts +6 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/if.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/index.d.ts +13 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/index.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/items.d.ts +5 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/items.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/items2020.d.ts +6 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/not.d.ts +4 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/not.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/oneOf.d.ts +6 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/patternProperties.d.ts +3 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/prefixItems.d.ts +3 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/properties.d.ts +3 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/propertyNames.d.ts +6 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/thenElse.d.ts +3 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/code.d.ts +17 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/code.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/core/id.d.ts +3 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/core/id.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/core/index.d.ts +3 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/core/index.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/core/ref.d.ts +8 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/core/ref.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/discriminator/index.d.ts +5 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/discriminator/types.d.ts +10 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/draft2020.d.ts +3 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/draft2020.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/draft7.d.ts +3 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/draft7.js +17 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/draft7.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.d.ts +5 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.d.ts +5 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/dynamic/index.d.ts +3 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/dynamic/index.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.d.ts +3 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.d.ts +3 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/errors.d.ts +9 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/errors.js +3 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/errors.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/format/format.d.ts +8 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/format/format.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/format/index.d.ts +3 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/format/index.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/discriminator.d.ts +6 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/discriminator.js +71 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/discriminator.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/elements.d.ts +5 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/elements.js +24 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/elements.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/enum.d.ts +6 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/enum.js +43 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/enum.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/error.d.ts +9 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/error.js +20 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/error.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/index.d.ts +10 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/index.js +29 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/index.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/metadata.d.ts +5 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/metadata.js +25 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/metadata.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/nullable.d.ts +4 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/nullable.js +22 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/nullable.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.d.ts +3 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js +15 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/properties.d.ts +22 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/properties.js +149 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/properties.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/ref.d.ts +4 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/ref.js +67 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/ref.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/type.d.ts +10 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/type.js +69 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/type.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/union.d.ts +3 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/union.js +12 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/union.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/values.d.ts +5 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/values.js +51 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/jtd/values.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/metadata.d.ts +3 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/metadata.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/next.d.ts +3 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/next.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/unevaluated/index.d.ts +3 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/unevaluated/index.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.d.ts +6 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.d.ts +6 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/const.d.ts +6 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/const.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/dependentRequired.d.ts +5 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/enum.d.ts +8 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/enum.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/index.d.ts +16 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/index.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitContains.d.ts +3 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitContains.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitItems.d.ts +3 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitLength.d.ts +3 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitNumber.d.ts +11 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitProperties.d.ts +3 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/multipleOf.d.ts +8 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/pattern.d.ts +8 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/required.d.ts +8 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/required.js.map +1 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/uniqueItems.d.ts +9 -0
- package/.output/server/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +1 -0
- package/.output/server/node_modules/ajv/lib/2019.ts +81 -0
- package/.output/server/node_modules/ajv/lib/2020.ts +75 -0
- package/.output/server/node_modules/ajv/lib/ajv.ts +70 -0
- package/.output/server/node_modules/ajv/lib/compile/codegen/code.ts +169 -0
- package/.output/server/node_modules/ajv/lib/compile/codegen/index.ts +852 -0
- package/.output/server/node_modules/ajv/lib/compile/codegen/scope.ts +215 -0
- package/.output/server/node_modules/ajv/lib/compile/errors.ts +184 -0
- package/.output/server/node_modules/ajv/lib/compile/index.ts +324 -0
- package/.output/server/node_modules/ajv/lib/compile/jtd/parse.ts +411 -0
- package/.output/server/node_modules/ajv/lib/compile/jtd/serialize.ts +266 -0
- package/.output/server/node_modules/ajv/lib/compile/jtd/types.ts +16 -0
- package/.output/server/node_modules/ajv/lib/compile/names.ts +27 -0
- package/.output/server/node_modules/ajv/lib/compile/ref_error.ts +13 -0
- package/.output/server/node_modules/ajv/lib/compile/resolve.ts +149 -0
- package/.output/server/node_modules/ajv/lib/compile/rules.ts +50 -0
- package/.output/server/node_modules/ajv/lib/compile/util.ts +213 -0
- package/.output/server/node_modules/ajv/lib/compile/validate/applicability.ts +22 -0
- package/.output/server/node_modules/ajv/lib/compile/validate/boolSchema.ts +47 -0
- package/.output/server/node_modules/ajv/lib/compile/validate/dataType.ts +230 -0
- package/.output/server/node_modules/ajv/lib/compile/validate/defaults.ts +32 -0
- package/.output/server/node_modules/ajv/lib/compile/validate/index.ts +582 -0
- package/.output/server/node_modules/ajv/lib/compile/validate/keyword.ts +171 -0
- package/.output/server/node_modules/ajv/lib/compile/validate/subschema.ts +135 -0
- package/.output/server/node_modules/ajv/lib/core.ts +891 -0
- package/.output/server/node_modules/ajv/lib/jtd.ts +132 -0
- package/.output/server/node_modules/ajv/lib/refs/data.json +13 -0
- package/.output/server/node_modules/ajv/lib/refs/json-schema-2019-09/index.ts +28 -0
- package/.output/server/node_modules/ajv/lib/refs/json-schema-2019-09/meta/applicator.json +53 -0
- package/.output/server/node_modules/ajv/lib/refs/json-schema-2019-09/meta/content.json +17 -0
- package/.output/server/node_modules/ajv/lib/refs/json-schema-2019-09/meta/core.json +57 -0
- package/.output/server/node_modules/ajv/lib/refs/json-schema-2019-09/meta/format.json +14 -0
- package/.output/server/node_modules/ajv/lib/refs/json-schema-2019-09/meta/meta-data.json +37 -0
- package/.output/server/node_modules/ajv/lib/refs/json-schema-2019-09/meta/validation.json +90 -0
- package/.output/server/node_modules/ajv/lib/refs/json-schema-2019-09/schema.json +39 -0
- package/.output/server/node_modules/ajv/lib/refs/json-schema-2020-12/index.ts +30 -0
- package/.output/server/node_modules/ajv/lib/refs/json-schema-2020-12/meta/applicator.json +48 -0
- package/.output/server/node_modules/ajv/lib/refs/json-schema-2020-12/meta/content.json +17 -0
- package/.output/server/node_modules/ajv/lib/refs/json-schema-2020-12/meta/core.json +51 -0
- package/.output/server/node_modules/ajv/lib/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
- package/.output/server/node_modules/ajv/lib/refs/json-schema-2020-12/meta/meta-data.json +37 -0
- package/.output/server/node_modules/ajv/lib/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
- package/.output/server/node_modules/ajv/lib/refs/json-schema-2020-12/meta/validation.json +90 -0
- package/.output/server/node_modules/ajv/lib/refs/json-schema-2020-12/schema.json +55 -0
- package/.output/server/node_modules/ajv/lib/refs/json-schema-draft-06.json +137 -0
- package/.output/server/node_modules/ajv/lib/refs/json-schema-draft-07.json +151 -0
- package/.output/server/node_modules/ajv/lib/refs/json-schema-secure.json +88 -0
- package/.output/server/node_modules/ajv/lib/refs/jtd-schema.ts +130 -0
- package/.output/server/node_modules/ajv/lib/runtime/equal.ts +7 -0
- package/.output/server/node_modules/ajv/lib/runtime/parseJson.ts +177 -0
- package/.output/server/node_modules/ajv/lib/runtime/quote.ts +31 -0
- package/.output/server/node_modules/ajv/lib/runtime/re2.ts +6 -0
- package/.output/server/node_modules/ajv/lib/runtime/timestamp.ts +46 -0
- package/.output/server/node_modules/ajv/lib/runtime/ucs2length.ts +20 -0
- package/.output/server/node_modules/ajv/lib/runtime/uri.ts +6 -0
- package/.output/server/node_modules/ajv/lib/runtime/validation_error.ts +13 -0
- package/.output/server/node_modules/ajv/lib/standalone/index.ts +100 -0
- package/.output/server/node_modules/ajv/lib/standalone/instance.ts +36 -0
- package/.output/server/node_modules/ajv/lib/types/index.ts +244 -0
- package/.output/server/node_modules/ajv/lib/types/json-schema.ts +187 -0
- package/.output/server/node_modules/ajv/lib/types/jtd-schema.ts +273 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/applicator/additionalItems.ts +56 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/applicator/additionalProperties.ts +118 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/applicator/allOf.ts +22 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/applicator/anyOf.ts +14 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/applicator/contains.ts +109 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/applicator/dependencies.ts +112 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/applicator/dependentSchemas.ts +11 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/applicator/if.ts +80 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/applicator/index.ts +53 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/applicator/items.ts +59 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/applicator/items2020.ts +36 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/applicator/not.ts +38 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/applicator/oneOf.ts +82 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/applicator/patternProperties.ts +91 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/applicator/prefixItems.ts +12 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/applicator/properties.ts +57 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/applicator/propertyNames.ts +50 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/applicator/thenElse.ts +13 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/code.ts +168 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/core/id.ts +10 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/core/index.ts +16 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/core/ref.ts +129 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/discriminator/index.ts +113 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/discriminator/types.ts +12 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/draft2020.ts +23 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/draft7.ts +17 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/dynamic/dynamicAnchor.ts +31 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/dynamic/dynamicRef.ts +51 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/dynamic/index.ts +9 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/dynamic/recursiveAnchor.ts +14 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/dynamic/recursiveRef.ts +10 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/errors.ts +18 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/format/format.ts +120 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/format/index.ts +6 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/jtd/discriminator.ts +89 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/jtd/elements.ts +32 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/jtd/enum.ts +45 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/jtd/error.ts +23 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/jtd/index.ts +37 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/jtd/metadata.ts +24 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/jtd/nullable.ts +21 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/jtd/optionalProperties.ts +15 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/jtd/properties.ts +184 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/jtd/ref.ts +76 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/jtd/type.ts +75 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/jtd/union.ts +12 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/jtd/values.ts +58 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/metadata.ts +17 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/next.ts +8 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/unevaluated/index.ts +7 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedItems.ts +47 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedProperties.ts +85 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/validation/const.ts +28 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/validation/dependentRequired.ts +23 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/validation/enum.ts +54 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/validation/index.ts +49 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/validation/limitContains.ts +16 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/validation/limitItems.ts +26 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/validation/limitLength.ts +30 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/validation/limitNumber.ts +42 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/validation/limitProperties.ts +26 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/validation/multipleOf.ts +34 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/validation/pattern.ts +28 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/validation/required.ts +98 -0
- package/.output/server/node_modules/ajv/lib/vocabularies/validation/uniqueItems.ts +79 -0
- package/.output/server/node_modules/ajv/package.json +1 -1
- package/.output/server/node_modules/oas/dist/{chunk-SH63AK3O.js → chunk-5EP6HY2E.js} +159 -70
- package/.output/server/node_modules/oas/dist/{chunk-L3V5TF63.js → chunk-7MARUOFZ.js} +1 -9
- package/.output/server/node_modules/oas/dist/{chunk-BOVZLW7Q.js → chunk-HGVFNEKW.js} +517 -126
- package/.output/server/node_modules/oas/dist/{chunk-JMLIY2LK.js → chunk-LSH3X5NA.js} +124 -191
- package/.output/server/node_modules/oas/dist/{chunk-TTCGKV5E.js → chunk-S27IGTVG.js} +4 -1
- package/.output/server/node_modules/oas/dist/chunk-VA3NKXX7.js +9 -0
- package/.output/server/node_modules/oas/dist/index.js +6 -6
- package/.output/server/node_modules/oas/dist/types.js +1 -5
- package/.output/server/node_modules/oas/dist/utils.js +6 -6
- package/.output/server/node_modules/oas/package.json +8 -6
- package/.output/server/node_modules/oas-normalize/package.json +5 -5
- package/.output/server/package.json +7 -7
- package/package.json +16 -16
- package/.output/server/node_modules/oas/dist/chunk-LV26LN7C.js +0 -27
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
KeywordErrorDefinition,
|
|
3
|
+
KeywordErrorCxt,
|
|
4
|
+
ErrorObject,
|
|
5
|
+
AnySchemaObject,
|
|
6
|
+
} from "../../types"
|
|
7
|
+
import type {SchemaObjCxt} from ".."
|
|
8
|
+
import {isJSONType, JSONType} from "../rules"
|
|
9
|
+
import {schemaHasRulesForType} from "./applicability"
|
|
10
|
+
import {reportError} from "../errors"
|
|
11
|
+
import {_, nil, and, not, operators, Code, Name} from "../codegen"
|
|
12
|
+
import {toHash, schemaRefOrVal} from "../util"
|
|
13
|
+
|
|
14
|
+
export enum DataType {
|
|
15
|
+
Correct,
|
|
16
|
+
Wrong,
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function getSchemaTypes(schema: AnySchemaObject): JSONType[] {
|
|
20
|
+
const types = getJSONTypes(schema.type)
|
|
21
|
+
const hasNull = types.includes("null")
|
|
22
|
+
if (hasNull) {
|
|
23
|
+
if (schema.nullable === false) throw new Error("type: null contradicts nullable: false")
|
|
24
|
+
} else {
|
|
25
|
+
if (!types.length && schema.nullable !== undefined) {
|
|
26
|
+
throw new Error('"nullable" cannot be used without "type"')
|
|
27
|
+
}
|
|
28
|
+
if (schema.nullable === true) types.push("null")
|
|
29
|
+
}
|
|
30
|
+
return types
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
|
|
34
|
+
export function getJSONTypes(ts: unknown | unknown[]): JSONType[] {
|
|
35
|
+
const types: unknown[] = Array.isArray(ts) ? ts : ts ? [ts] : []
|
|
36
|
+
if (types.every(isJSONType)) return types
|
|
37
|
+
throw new Error("type must be JSONType or JSONType[]: " + types.join(","))
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export function coerceAndCheckDataType(it: SchemaObjCxt, types: JSONType[]): boolean {
|
|
41
|
+
const {gen, data, opts} = it
|
|
42
|
+
const coerceTo = coerceToTypes(types, opts.coerceTypes)
|
|
43
|
+
const checkTypes =
|
|
44
|
+
types.length > 0 &&
|
|
45
|
+
!(coerceTo.length === 0 && types.length === 1 && schemaHasRulesForType(it, types[0]))
|
|
46
|
+
if (checkTypes) {
|
|
47
|
+
const wrongType = checkDataTypes(types, data, opts.strictNumbers, DataType.Wrong)
|
|
48
|
+
gen.if(wrongType, () => {
|
|
49
|
+
if (coerceTo.length) coerceData(it, types, coerceTo)
|
|
50
|
+
else reportTypeError(it)
|
|
51
|
+
})
|
|
52
|
+
}
|
|
53
|
+
return checkTypes
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const COERCIBLE: Set<JSONType> = new Set(["string", "number", "integer", "boolean", "null"])
|
|
57
|
+
function coerceToTypes(types: JSONType[], coerceTypes?: boolean | "array"): JSONType[] {
|
|
58
|
+
return coerceTypes
|
|
59
|
+
? types.filter((t) => COERCIBLE.has(t) || (coerceTypes === "array" && t === "array"))
|
|
60
|
+
: []
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function coerceData(it: SchemaObjCxt, types: JSONType[], coerceTo: JSONType[]): void {
|
|
64
|
+
const {gen, data, opts} = it
|
|
65
|
+
const dataType = gen.let("dataType", _`typeof ${data}`)
|
|
66
|
+
const coerced = gen.let("coerced", _`undefined`)
|
|
67
|
+
if (opts.coerceTypes === "array") {
|
|
68
|
+
gen.if(_`${dataType} == 'object' && Array.isArray(${data}) && ${data}.length == 1`, () =>
|
|
69
|
+
gen
|
|
70
|
+
.assign(data, _`${data}[0]`)
|
|
71
|
+
.assign(dataType, _`typeof ${data}`)
|
|
72
|
+
.if(checkDataTypes(types, data, opts.strictNumbers), () => gen.assign(coerced, data))
|
|
73
|
+
)
|
|
74
|
+
}
|
|
75
|
+
gen.if(_`${coerced} !== undefined`)
|
|
76
|
+
for (const t of coerceTo) {
|
|
77
|
+
if (COERCIBLE.has(t) || (t === "array" && opts.coerceTypes === "array")) {
|
|
78
|
+
coerceSpecificType(t)
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
gen.else()
|
|
82
|
+
reportTypeError(it)
|
|
83
|
+
gen.endIf()
|
|
84
|
+
|
|
85
|
+
gen.if(_`${coerced} !== undefined`, () => {
|
|
86
|
+
gen.assign(data, coerced)
|
|
87
|
+
assignParentData(it, coerced)
|
|
88
|
+
})
|
|
89
|
+
|
|
90
|
+
function coerceSpecificType(t: string): void {
|
|
91
|
+
switch (t) {
|
|
92
|
+
case "string":
|
|
93
|
+
gen
|
|
94
|
+
.elseIf(_`${dataType} == "number" || ${dataType} == "boolean"`)
|
|
95
|
+
.assign(coerced, _`"" + ${data}`)
|
|
96
|
+
.elseIf(_`${data} === null`)
|
|
97
|
+
.assign(coerced, _`""`)
|
|
98
|
+
return
|
|
99
|
+
case "number":
|
|
100
|
+
gen
|
|
101
|
+
.elseIf(
|
|
102
|
+
_`${dataType} == "boolean" || ${data} === null
|
|
103
|
+
|| (${dataType} == "string" && ${data} && ${data} == +${data})`
|
|
104
|
+
)
|
|
105
|
+
.assign(coerced, _`+${data}`)
|
|
106
|
+
return
|
|
107
|
+
case "integer":
|
|
108
|
+
gen
|
|
109
|
+
.elseIf(
|
|
110
|
+
_`${dataType} === "boolean" || ${data} === null
|
|
111
|
+
|| (${dataType} === "string" && ${data} && ${data} == +${data} && !(${data} % 1))`
|
|
112
|
+
)
|
|
113
|
+
.assign(coerced, _`+${data}`)
|
|
114
|
+
return
|
|
115
|
+
case "boolean":
|
|
116
|
+
gen
|
|
117
|
+
.elseIf(_`${data} === "false" || ${data} === 0 || ${data} === null`)
|
|
118
|
+
.assign(coerced, false)
|
|
119
|
+
.elseIf(_`${data} === "true" || ${data} === 1`)
|
|
120
|
+
.assign(coerced, true)
|
|
121
|
+
return
|
|
122
|
+
case "null":
|
|
123
|
+
gen.elseIf(_`${data} === "" || ${data} === 0 || ${data} === false`)
|
|
124
|
+
gen.assign(coerced, null)
|
|
125
|
+
return
|
|
126
|
+
|
|
127
|
+
case "array":
|
|
128
|
+
gen
|
|
129
|
+
.elseIf(
|
|
130
|
+
_`${dataType} === "string" || ${dataType} === "number"
|
|
131
|
+
|| ${dataType} === "boolean" || ${data} === null`
|
|
132
|
+
)
|
|
133
|
+
.assign(coerced, _`[${data}]`)
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
function assignParentData({gen, parentData, parentDataProperty}: SchemaObjCxt, expr: Name): void {
|
|
139
|
+
// TODO use gen.property
|
|
140
|
+
gen.if(_`${parentData} !== undefined`, () =>
|
|
141
|
+
gen.assign(_`${parentData}[${parentDataProperty}]`, expr)
|
|
142
|
+
)
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
export function checkDataType(
|
|
146
|
+
dataType: JSONType,
|
|
147
|
+
data: Name,
|
|
148
|
+
strictNums?: boolean | "log",
|
|
149
|
+
correct = DataType.Correct
|
|
150
|
+
): Code {
|
|
151
|
+
const EQ = correct === DataType.Correct ? operators.EQ : operators.NEQ
|
|
152
|
+
let cond: Code
|
|
153
|
+
switch (dataType) {
|
|
154
|
+
case "null":
|
|
155
|
+
return _`${data} ${EQ} null`
|
|
156
|
+
case "array":
|
|
157
|
+
cond = _`Array.isArray(${data})`
|
|
158
|
+
break
|
|
159
|
+
case "object":
|
|
160
|
+
cond = _`${data} && typeof ${data} == "object" && !Array.isArray(${data})`
|
|
161
|
+
break
|
|
162
|
+
case "integer":
|
|
163
|
+
cond = numCond(_`!(${data} % 1) && !isNaN(${data})`)
|
|
164
|
+
break
|
|
165
|
+
case "number":
|
|
166
|
+
cond = numCond()
|
|
167
|
+
break
|
|
168
|
+
default:
|
|
169
|
+
return _`typeof ${data} ${EQ} ${dataType}`
|
|
170
|
+
}
|
|
171
|
+
return correct === DataType.Correct ? cond : not(cond)
|
|
172
|
+
|
|
173
|
+
function numCond(_cond: Code = nil): Code {
|
|
174
|
+
return and(_`typeof ${data} == "number"`, _cond, strictNums ? _`isFinite(${data})` : nil)
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
export function checkDataTypes(
|
|
179
|
+
dataTypes: JSONType[],
|
|
180
|
+
data: Name,
|
|
181
|
+
strictNums?: boolean | "log",
|
|
182
|
+
correct?: DataType
|
|
183
|
+
): Code {
|
|
184
|
+
if (dataTypes.length === 1) {
|
|
185
|
+
return checkDataType(dataTypes[0], data, strictNums, correct)
|
|
186
|
+
}
|
|
187
|
+
let cond: Code
|
|
188
|
+
const types = toHash(dataTypes)
|
|
189
|
+
if (types.array && types.object) {
|
|
190
|
+
const notObj = _`typeof ${data} != "object"`
|
|
191
|
+
cond = types.null ? notObj : _`!${data} || ${notObj}`
|
|
192
|
+
delete types.null
|
|
193
|
+
delete types.array
|
|
194
|
+
delete types.object
|
|
195
|
+
} else {
|
|
196
|
+
cond = nil
|
|
197
|
+
}
|
|
198
|
+
if (types.number) delete types.integer
|
|
199
|
+
for (const t in types) cond = and(cond, checkDataType(t as JSONType, data, strictNums, correct))
|
|
200
|
+
return cond
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
export type TypeError = ErrorObject<"type", {type: string}>
|
|
204
|
+
|
|
205
|
+
const typeError: KeywordErrorDefinition = {
|
|
206
|
+
message: ({schema}) => `must be ${schema}`,
|
|
207
|
+
params: ({schema, schemaValue}) =>
|
|
208
|
+
typeof schema == "string" ? _`{type: ${schema}}` : _`{type: ${schemaValue}}`,
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
export function reportTypeError(it: SchemaObjCxt): void {
|
|
212
|
+
const cxt = getTypeErrorContext(it)
|
|
213
|
+
reportError(cxt, typeError)
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
function getTypeErrorContext(it: SchemaObjCxt): KeywordErrorCxt {
|
|
217
|
+
const {gen, data, schema} = it
|
|
218
|
+
const schemaCode = schemaRefOrVal(it, schema, "type")
|
|
219
|
+
return {
|
|
220
|
+
gen,
|
|
221
|
+
keyword: "type",
|
|
222
|
+
data,
|
|
223
|
+
schema: schema.type,
|
|
224
|
+
schemaCode,
|
|
225
|
+
schemaValue: schemaCode,
|
|
226
|
+
parentSchema: schema,
|
|
227
|
+
params: {},
|
|
228
|
+
it,
|
|
229
|
+
}
|
|
230
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type {SchemaObjCxt} from ".."
|
|
2
|
+
import {_, getProperty, stringify} from "../codegen"
|
|
3
|
+
import {checkStrictMode} from "../util"
|
|
4
|
+
|
|
5
|
+
export function assignDefaults(it: SchemaObjCxt, ty?: string): void {
|
|
6
|
+
const {properties, items} = it.schema
|
|
7
|
+
if (ty === "object" && properties) {
|
|
8
|
+
for (const key in properties) {
|
|
9
|
+
assignDefault(it, key, properties[key].default)
|
|
10
|
+
}
|
|
11
|
+
} else if (ty === "array" && Array.isArray(items)) {
|
|
12
|
+
items.forEach((sch, i: number) => assignDefault(it, i, sch.default))
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function assignDefault(it: SchemaObjCxt, prop: string | number, defaultValue: unknown): void {
|
|
17
|
+
const {gen, compositeRule, data, opts} = it
|
|
18
|
+
if (defaultValue === undefined) return
|
|
19
|
+
const childData = _`${data}${getProperty(prop)}`
|
|
20
|
+
if (compositeRule) {
|
|
21
|
+
checkStrictMode(it, `default is ignored for: ${childData}`)
|
|
22
|
+
return
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
let condition = _`${childData} === undefined`
|
|
26
|
+
if (opts.useDefaults === "empty") {
|
|
27
|
+
condition = _`${condition} || ${childData} === null || ${childData} === ""`
|
|
28
|
+
}
|
|
29
|
+
// `${childData} === undefined` +
|
|
30
|
+
// (opts.useDefaults === "empty" ? ` || ${childData} === null || ${childData} === ""` : "")
|
|
31
|
+
gen.if(condition, _`${childData} = ${stringify(defaultValue)}`)
|
|
32
|
+
}
|