@stoplight/spectral-core 1.12.3 → 1.12.4
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.
|
@@ -28,5 +28,6 @@ export declare class DocumentInventory implements IDocumentInventory {
|
|
|
28
28
|
constructor(document: IDocument, resolver: Resolver);
|
|
29
29
|
resolve(): Promise<void>;
|
|
30
30
|
findAssociatedItemForPath(path: JsonPath, resolved: boolean): DocumentInventoryItem | null;
|
|
31
|
+
protected convertRefMapKeyToPath(refPath: string): JsonPath;
|
|
31
32
|
protected parseResolveResult: Resolver['parseResolveResult'];
|
|
32
33
|
}
|
|
@@ -67,64 +67,87 @@ class DocumentInventory {
|
|
|
67
67
|
findAssociatedItemForPath(path, resolved) {
|
|
68
68
|
if (!resolved) {
|
|
69
69
|
const newPath = (0, spectral_runtime_1.getClosestJsonPath)(this.unresolved, path);
|
|
70
|
-
|
|
70
|
+
const item = {
|
|
71
71
|
document: this.document,
|
|
72
72
|
path: newPath,
|
|
73
73
|
missingPropertyPath: path,
|
|
74
74
|
};
|
|
75
|
+
return item;
|
|
75
76
|
}
|
|
76
77
|
try {
|
|
77
78
|
const newPath = (0, spectral_runtime_1.getClosestJsonPath)(this.resolved, path);
|
|
78
|
-
|
|
79
|
+
const $ref = (0, spectral_runtime_1.traverseObjUntilRef)(this.unresolved, newPath);
|
|
79
80
|
if ($ref === null) {
|
|
80
|
-
|
|
81
|
+
const item = {
|
|
81
82
|
document: this.document,
|
|
82
83
|
path: (0, spectral_runtime_1.getClosestJsonPath)(this.unresolved, path),
|
|
83
84
|
missingPropertyPath: path,
|
|
84
85
|
};
|
|
86
|
+
return item;
|
|
85
87
|
}
|
|
86
88
|
const missingPropertyPath = newPath.length === 0 ? [] : path.slice(path.lastIndexOf(newPath[newPath.length - 1]) + 1);
|
|
87
89
|
let { source } = this;
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
if (
|
|
97
|
-
|
|
90
|
+
if (source === null || this.graph === null) {
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
let refMap = this.graph.getNodeData(source).refMap;
|
|
94
|
+
let resolvedDoc = this.document;
|
|
95
|
+
const adjustedPath = ['#', ...path.map(String)];
|
|
96
|
+
let refMapKey = '';
|
|
97
|
+
for (const segment of adjustedPath) {
|
|
98
|
+
if (refMapKey.length > 0) {
|
|
99
|
+
refMapKey += '/';
|
|
98
100
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
path: (0, spectral_runtime_1.getClosestJsonPath)(resolvedDoc.data, path),
|
|
105
|
-
missingPropertyPath: path,
|
|
106
|
-
};
|
|
101
|
+
refMapKey += (0, json_1.encodePointerFragment)(segment);
|
|
102
|
+
while (refMapKey in refMap) {
|
|
103
|
+
const newRef = refMap[refMapKey];
|
|
104
|
+
if ((0, json_1.isLocalRef)(newRef)) {
|
|
105
|
+
refMapKey = newRef;
|
|
107
106
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
107
|
+
else {
|
|
108
|
+
const extractedSource = (0, json_1.extractSourceFromRef)(newRef);
|
|
109
|
+
if (extractedSource === null) {
|
|
110
|
+
const item = {
|
|
111
|
+
document: resolvedDoc,
|
|
112
|
+
path: (0, spectral_runtime_1.getClosestJsonPath)(resolvedDoc.data, path),
|
|
113
|
+
missingPropertyPath: path,
|
|
114
|
+
};
|
|
115
|
+
return item;
|
|
116
|
+
}
|
|
117
|
+
source = (0, spectral_runtime_1.isAbsoluteRef)(extractedSource) ? extractedSource : (0, path_1.resolve)(source, '..', extractedSource);
|
|
118
|
+
const newResolvedDoc = source === this.document.source ? this.document : this.referencedDocuments[source];
|
|
119
|
+
if (newResolvedDoc === null || newResolvedDoc === void 0) {
|
|
120
|
+
const item = {
|
|
121
|
+
document: resolvedDoc,
|
|
122
|
+
path: (0, spectral_runtime_1.getClosestJsonPath)(resolvedDoc.data, path),
|
|
123
|
+
missingPropertyPath: path,
|
|
124
|
+
};
|
|
125
|
+
return item;
|
|
126
|
+
}
|
|
127
|
+
resolvedDoc = newResolvedDoc;
|
|
128
|
+
refMap = this.graph.getNodeData(source).refMap;
|
|
129
|
+
refMapKey = newRef.indexOf('#') >= 0 ? newRef.slice(newRef.indexOf('#')) : '#';
|
|
114
130
|
}
|
|
115
131
|
}
|
|
116
|
-
const closestPath = (0, spectral_runtime_1.getClosestJsonPath)(resolvedDoc.data, scopedPath);
|
|
117
|
-
return {
|
|
118
|
-
document: resolvedDoc,
|
|
119
|
-
path: closestPath,
|
|
120
|
-
missingPropertyPath: [...closestPath, ...missingPropertyPath],
|
|
121
|
-
};
|
|
122
132
|
}
|
|
133
|
+
const closestPath = (0, spectral_runtime_1.getClosestJsonPath)(resolvedDoc.data, this.convertRefMapKeyToPath(refMapKey));
|
|
134
|
+
const item = {
|
|
135
|
+
document: resolvedDoc,
|
|
136
|
+
path: closestPath,
|
|
137
|
+
missingPropertyPath: [...closestPath, ...missingPropertyPath],
|
|
138
|
+
};
|
|
139
|
+
return item;
|
|
123
140
|
}
|
|
124
141
|
catch {
|
|
125
142
|
return null;
|
|
126
143
|
}
|
|
127
144
|
}
|
|
145
|
+
convertRefMapKeyToPath(refPath) {
|
|
146
|
+
if (refPath.startsWith('#/')) {
|
|
147
|
+
refPath = refPath.slice(2);
|
|
148
|
+
}
|
|
149
|
+
return refPath.split('/').map(json_1.decodePointerFragment);
|
|
150
|
+
}
|
|
128
151
|
}
|
|
129
152
|
exports.DocumentInventory = DocumentInventory;
|
|
130
153
|
DocumentInventory._cachedRemoteDocuments = new WeakMap();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documentInventory.js","sourceRoot":"","sources":["../src/documentInventory.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"documentInventory.js","sourceRoot":"","sources":["../src/documentInventory.ts"],"names":[],"mappings":"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"}
|