generated from etclabscore/pristine-typescript
-
-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
Using v1.10.3, I receive an error when trying to traverse a JSON schema containing two arrays of objects in BFS order. (With bfs: false, there is no error)
test.js:
const traverse = require("@json-schema-tools/traverse").default;
const fs = require('fs');
const jsonSchema = JSON.parse(fs.readFileSync('test.json', 'utf8'));
traverse(jsonSchema, (schemaOrSubschema, _, path, parent) => {
console.log("PATH", path);
}, { skipFirstMutation: false, bfs: true });
test.json:
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"titles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"language": {
"type": "string"
}
}
}
},
"acronyms": {
"type": "array",
"items": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"language": {
"type": "string"
}
}
}
}
}
}
error output:
$ node test.js
PATH $
PATH $.properties.titles
PATH $.properties.titles.items
PATH $.properties.titles.items.properties.text
PATH $.properties.titles.items.properties.language
/home/vera/Desktop/node_modules/@json-schema-tools/traverse/build/index.js:170
mutableSchema.properties = mutableProps_1;
^
TypeError: Cannot set properties of undefined (setting 'properties')
at traverse (/home/vera/Desktop/node_modules/@json-schema-tools/traverse/build/index.js:170:38)
at traverse (/home/vera/Desktop/node_modules/@json-schema-tools/traverse/build/index.js:157:43)
at rec (/home/vera/Desktop/node_modules/@json-schema-tools/traverse/build/index.js:113:16)
at /home/vera/Desktop/node_modules/@json-schema-tools/traverse/build/index.js:168:49
at Array.forEach (<anonymous>)
at traverse (/home/vera/Desktop/node_modules/@json-schema-tools/traverse/build/index.js:167:44)
at Object.<anonymous> (/home/vera/Desktop/debug_json_schema_traverse/test.js:6:1)
at Module._compile (node:internal/modules/cjs/loader:1126:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1180:10)
at Module.load (node:internal/modules/cjs/loader:1004:32)
Metadata
Metadata
Assignees
Labels
No labels