@takeshape/json-schema 11.78.0 → 11.79.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/dist/utils/references.js +6 -1
- package/package.json +2 -2
package/dist/utils/references.js
CHANGED
|
@@ -48,13 +48,18 @@ function collectRefs(def, key, collect) {
|
|
|
48
48
|
*/
|
|
49
49
|
export function getReferenceMap(definitions) {
|
|
50
50
|
const references = new Map();
|
|
51
|
+
const visited = new Set();
|
|
51
52
|
const addToReferenceMap = (ref, key) => {
|
|
52
53
|
const refKey = ref.replace(SCHEMA_DEFINITION_PREFIX[0], '').replace(SCHEMA_DEFINITION_PREFIX[1], '');
|
|
53
|
-
const refSet = references.get(key) ?? new Set();
|
|
54
54
|
// Circular reference
|
|
55
55
|
if (key === refKey) {
|
|
56
56
|
return;
|
|
57
57
|
}
|
|
58
|
+
const visitKey = `${key}->${refKey}`;
|
|
59
|
+
if (visited.has(visitKey))
|
|
60
|
+
return;
|
|
61
|
+
visited.add(visitKey);
|
|
62
|
+
const refSet = references.get(key) ?? new Set();
|
|
58
63
|
refSet.add(refKey);
|
|
59
64
|
references.set(key, refSet);
|
|
60
65
|
const refDef = definitions[refKey];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@takeshape/json-schema",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.79.3",
|
|
4
4
|
"description": "JSON Schema validator",
|
|
5
5
|
"homepage": "https://www.takeshape.io",
|
|
6
6
|
"repository": {
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"ajv-formats": "3.0.1",
|
|
39
39
|
"lodash": "^4.17.21",
|
|
40
40
|
"minimatch": "^3.0.4",
|
|
41
|
-
"@takeshape/util": "11.
|
|
41
|
+
"@takeshape/util": "11.79.3"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@types/json-schema": "^7.0.7",
|