Updated the files.
This commit is contained in:
parent
1553e6b971
commit
753967d4f5
23418 changed files with 3784666 additions and 0 deletions
67
my-app/node_modules/ajv/dist/vocabularies/jtd/ref.js
generated
vendored
Executable file
67
my-app/node_modules/ajv/dist/vocabularies/jtd/ref.js
generated
vendored
Executable file
|
@ -0,0 +1,67 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.hasRef = void 0;
|
||||
const compile_1 = require("../../compile");
|
||||
const codegen_1 = require("../../compile/codegen");
|
||||
const ref_error_1 = require("../../compile/ref_error");
|
||||
const names_1 = require("../../compile/names");
|
||||
const ref_1 = require("../core/ref");
|
||||
const metadata_1 = require("./metadata");
|
||||
const def = {
|
||||
keyword: "ref",
|
||||
schemaType: "string",
|
||||
code(cxt) {
|
||||
(0, metadata_1.checkMetadata)(cxt);
|
||||
const { gen, data, schema: ref, parentSchema, it } = cxt;
|
||||
const { schemaEnv: { root }, } = it;
|
||||
const valid = gen.name("valid");
|
||||
if (parentSchema.nullable) {
|
||||
gen.var(valid, (0, codegen_1._) `${data} === null`);
|
||||
gen.if((0, codegen_1.not)(valid), validateJtdRef);
|
||||
}
|
||||
else {
|
||||
gen.var(valid, false);
|
||||
validateJtdRef();
|
||||
}
|
||||
cxt.ok(valid);
|
||||
function validateJtdRef() {
|
||||
var _a;
|
||||
const refSchema = (_a = root.schema.definitions) === null || _a === void 0 ? void 0 : _a[ref];
|
||||
if (!refSchema) {
|
||||
throw new ref_error_1.default(it.opts.uriResolver, "", ref, `No definition ${ref}`);
|
||||
}
|
||||
if (hasRef(refSchema) || !it.opts.inlineRefs)
|
||||
callValidate(refSchema);
|
||||
else
|
||||
inlineRefSchema(refSchema);
|
||||
}
|
||||
function callValidate(schema) {
|
||||
const sch = compile_1.compileSchema.call(it.self, new compile_1.SchemaEnv({ schema, root, schemaPath: `/definitions/${ref}` }));
|
||||
const v = (0, ref_1.getValidate)(cxt, sch);
|
||||
const errsCount = gen.const("_errs", names_1.default.errors);
|
||||
(0, ref_1.callRef)(cxt, v, sch, sch.$async);
|
||||
gen.assign(valid, (0, codegen_1._) `${errsCount} === ${names_1.default.errors}`);
|
||||
}
|
||||
function inlineRefSchema(schema) {
|
||||
const schName = gen.scopeValue("schema", it.opts.code.source === true ? { ref: schema, code: (0, codegen_1.stringify)(schema) } : { ref: schema });
|
||||
cxt.subschema({
|
||||
schema,
|
||||
dataTypes: [],
|
||||
schemaPath: codegen_1.nil,
|
||||
topSchemaRef: schName,
|
||||
errSchemaPath: `/definitions/${ref}`,
|
||||
}, valid);
|
||||
}
|
||||
},
|
||||
};
|
||||
function hasRef(schema) {
|
||||
for (const key in schema) {
|
||||
let sch;
|
||||
if (key === "ref" || (typeof (sch = schema[key]) == "object" && hasRef(sch)))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
exports.hasRef = hasRef;
|
||||
exports.default = def;
|
||||
//# sourceMappingURL=ref.js.map
|
Loading…
Add table
Add a link
Reference in a new issue