-
-
Notifications
You must be signed in to change notification settings - Fork 20
Open
@axel7083
Description
When running the first example Single message
1 got an error.
$: node --version v20.17.0 $: node > const Ajv = require("ajv").default > const ajv = new Ajv({allErrors: true}) > require("ajv-errors")(ajv /*, {singleError: true} */) > const schema = { type: "object", required: ["foo"], properties: { foo: {type: "integer"}, }, additionalProperties: false, errorMessage: "should be an object with an integer property foo only", } > const validate = ajv.compile(schema) Error compiling schema, function code: const schema16 = scope.schema[10];return function validate14(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;if(data && typeof data == "object" && !Array.isArray(data)){if(data.foo === undefined){const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "foo"},message:"must have required property '"+"foo"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}for(const key0 in data){if(!(key0 === "foo")){const err1 = {instancePath,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}if(data.foo !== undefined){let data0 = data.foo;if(!(((typeof data0 == "number") && (!(data0 % 1) && !isNaN(data0))) && (isFinite(data0)))){const err2 = {instancePath:instancePath+"/foo",schemaPath:"#/properties/foo/type",keyword:"type",params:{type: "integer"},message:"must be integer"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}}else {const err3 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(errors > 0){for(const err4 of vErrors){if((((({"str":"err4"}.keyword !== "errorMessage") && (!{"str":"err4"}.emUsed)) && (({"str":"err4"}.instancePath === instancePath) || (({"str":"err4"}.instancePath.indexOf(instancePath) === 0) && ({"str":"err4"}.instancePath[instancePath.length] === "/")))) && ({"str":"err4"}.schemaPath.indexOf("#") === 0)) && ({"str":"err4"}.schemaPath["#".length] === "/")){{"str":"emErrs0"}.push({"str":"err4"});{"str":"err4"}.emUsed = true;}}if({"str":"emErrs0"}.length){if(vErrors === null){vErrors = [{"str":"err5"}];}else {vErrors.push({"str":"err5"});}errors++;}const emErrs1 = [];for(const err6 of vErrors){if(!{"str":"err6"}.emUsed){{"str":"emErrs1"}.push({"str":"err6"});}}vErrors = emErrs1;errors = {"str":"emErrs1"}.length;}validate14.errors = vErrors;return errors === 0;} Uncaught SyntaxError: Unexpected token ':'
Details
My package.json
"ajv": "^8.17.1",
"ajv-errors": "^3.0.0"
Footnotes
Metadata
Metadata
Assignees
Labels
No labels