Closed
Description
Person.json
{
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"person": {
"type": "object",
"properties": {
"name": { "type": "string" },
"children": {
"type": "array",
"items": { "$ref": "#/definitions/person" },
"default": []
}
}
}
},
"type": "object",
"properties": {
"person": { "$ref": "#/definitions/person" }
}
}
House.json
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"owner": { "$ref": "Person.json" }
}
}
output
Could not generate type definitions from json-schema RangeError: Maximum call stack size exceeded
at Object.log (/Users/jose/dev/Decision-Tree/node_modules/json-schema-to-typescript/dist/src/utils.js:1:1)
at generateRawType (/Users/jose/dev/Decision-Tree/node_modules/json-schema-to-typescript/dist/src/generator.js:153:13)
at generateType (/Users/jose/dev/Decision-Tree/node_modules/json-schema-to-typescript/dist/src/generator.js:146:16)
at /Users/jose/dev/Decision-Tree/node_modules/json-schema-to-typescript/dist/src/generator.js:273:47
at Array.map (<anonymous>)
at generateInterface (/Users/jose/dev/Decision-Tree/node_modules/json-schema-to-typescript/dist/src/generator.js:271:14)
at generateRawType (/Users/jose/dev/Decision-Tree/node_modules/json-schema-to-typescript/dist/src/generator.js:168:20)
at generateType (/Users/jose/dev/Decision-Tree/node_modules/json-schema-to-typescript/dist/src/generator.js:146:16)
at /Users/jose/dev/Decision-Tree/node_modules/json-schema-to-typescript/dist/src/generator.js:162:28
at generateRawType (/Users/jose/dev/Decision-Tree/node_modules/json-schema-to-typescript/dist/src/generator.js:164:15)
When I don't reference Person.json
it works fine generating the recursive reference
Also tried this other Person schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"type": "object",
"properties": {
"name": { "type": "string" },
"children": {
"type": "array",
"items": { "$ref": "#" }
}
}
}