@amartus/oas-utils 0.3.4 → 0.3.5
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/lib/sealSchema.d.ts.map +1 -1
- package/dist/lib/sealSchema.js +212 -243
- package/dist/lib/sealSchema.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sealSchema.d.ts","sourceRoot":"","sources":["../../src/lib/sealSchema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sealSchema.d.ts","sourceRoot":"","sources":["../../src/lib/sealSchema.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,iBAAiB;IAChC,uGAAuG;IACvG,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,mHAAmH;IACnH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,GAAE,iBAAsB,GAAG,GAAG,CAsEtE"}
|
package/dist/lib/sealSchema.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { refToName, documentSupportsUnevaluatedProperties, getOpenApiVersion, getJsonSchemaVersion, upgradeToOas31, upgradeJsonSchemaToDraft201909 } from "./oasUtils.js";
|
|
2
2
|
import { JSONPath } from "jsonpath-plus";
|
|
3
|
-
import { extractDefRefName } from "./jsonSchemaUtils.js";
|
|
4
3
|
/**
|
|
5
4
|
* Seal OpenAPI/JSON Schema objects to prevent additional properties.
|
|
6
5
|
*
|
|
@@ -21,9 +20,11 @@ export function sealSchema(doc, opts = {}) {
|
|
|
21
20
|
if (!doc || typeof doc !== "object")
|
|
22
21
|
return doc;
|
|
23
22
|
const useUnevaluated = opts.useUnevaluatedProperties !== false;
|
|
24
|
-
|
|
23
|
+
let sealing = useUnevaluated ? "unevaluatedProperties" : "additionalProperties";
|
|
25
24
|
// Check if this is a standalone JSON Schema (not an OpenAPI document)
|
|
26
25
|
const isStandalone = isStandaloneJsonSchema(doc);
|
|
26
|
+
const supportsUnevaluated = documentSupportsUnevaluatedProperties(doc);
|
|
27
|
+
const containsAllOfRefs = documentContainsAllOfRefs(doc);
|
|
27
28
|
// Check if using unevaluatedProperties and validate version compatibility
|
|
28
29
|
if (useUnevaluated) {
|
|
29
30
|
const oasVersion = getOpenApiVersion(doc);
|
|
@@ -31,8 +32,7 @@ export function sealSchema(doc, opts = {}) {
|
|
|
31
32
|
// Only validate if there's an explicit version specified
|
|
32
33
|
const hasExplicitVersion = oasVersion || schemaVersion;
|
|
33
34
|
if (hasExplicitVersion) {
|
|
34
|
-
|
|
35
|
-
if (!isCompatible) {
|
|
35
|
+
if (!supportsUnevaluated) {
|
|
36
36
|
if (opts.uplift) {
|
|
37
37
|
// Automatically upgrade the version
|
|
38
38
|
if (oasVersion) {
|
|
@@ -61,240 +61,224 @@ export function sealSchema(doc, opts = {}) {
|
|
|
61
61
|
console.warn(`[SEAL-SCHEMA] Set JSON Schema version to draft 2019-09 to support unevaluatedProperties.`);
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
//
|
|
65
|
-
// unevaluatedProperties) we must ensure that sealing will actually cover
|
|
66
|
-
// composed schemas. In OpenAPI 3.0 and JSON Schema drafts before 2019-09,
|
|
67
|
-
// `additionalProperties: false` does NOT apply across `allOf` composition in
|
|
68
|
-
// a way that reliably seals extended models. If the document contains any
|
|
69
|
-
// schema using `allOf` compositions referencing other schemas, sealing with
|
|
70
|
-
// `additionalProperties:false` may be ineffective. In that case we should
|
|
71
|
-
// throw an error unless `useUnevaluatedProperties` is true or `uplift` is set
|
|
72
|
-
// (to upgrade the document to a version that supports `unevaluatedProperties`).
|
|
64
|
+
// If not using unevaluatedProperties, validate compatibility
|
|
73
65
|
if (!useUnevaluated) {
|
|
74
|
-
validateAdditionalPropertiesCompatibility(doc);
|
|
66
|
+
validateAdditionalPropertiesCompatibility(doc, supportsUnevaluated, containsAllOfRefs);
|
|
75
67
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
* Validate that attempting to seal using `additionalProperties:false` is
|
|
93
|
-
* compatible with the document's declared OpenAPI/JSON Schema version. Throw
|
|
94
|
-
* a descriptive error when an explicit older version is present and the
|
|
95
|
-
* document contains allOf references that would make sealing ineffective.
|
|
96
|
-
*/
|
|
97
|
-
function validateAdditionalPropertiesCompatibility(doc) {
|
|
98
|
-
const oasVersion = getOpenApiVersion(doc);
|
|
99
|
-
const schemaVersion = getJsonSchemaVersion(doc);
|
|
100
|
-
const hasExplicitVersion = oasVersion || schemaVersion;
|
|
101
|
-
const supportsUnevaluated = documentSupportsUnevaluatedProperties(doc);
|
|
102
|
-
if (hasExplicitVersion && !supportsUnevaluated && documentContainsAllOfRefs(doc)) {
|
|
103
|
-
const versionInfo = oasVersion ? `OpenAPI ${oasVersion}` : `JSON Schema ${schemaVersion}`;
|
|
104
|
-
throw new Error(`Sealing via additionalProperties:false cannot reliably cover schemas composed with allOf in ${versionInfo}. ` +
|
|
105
|
-
`Use --use-unevaluated-properties or enable --uplift to upgrade the document to a version that supports unevaluatedProperties.`);
|
|
106
|
-
}
|
|
68
|
+
const handler = selectSealHandler(isStandalone);
|
|
69
|
+
const context = handler.createContext(doc);
|
|
70
|
+
const normalizedSchemas = context.schemas;
|
|
71
|
+
if (!normalizedSchemas || typeof normalizedSchemas !== "object")
|
|
72
|
+
return doc;
|
|
73
|
+
applySealingToSchemaMap(normalizedSchemas, sealing, supportsUnevaluated);
|
|
74
|
+
return handler.finalize(doc, context);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Determine whether the provided document contains any schemas that use `allOf`
|
|
78
|
+
*/
|
|
79
|
+
function documentContainsAllOfRefs(doc) {
|
|
80
|
+
// Use JSONPath to find any allOf entries
|
|
81
|
+
try {
|
|
82
|
+
const matches = JSONPath({ path: "$..allOf", json: doc });
|
|
83
|
+
return Array.isArray(matches) && matches.length > 0;
|
|
107
84
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
// Wrap the standalone schema in an OpenAPI structure
|
|
112
|
-
wrappedName = doc.title || "Root";
|
|
113
|
-
schemas = {};
|
|
114
|
-
schemas[wrappedName] = doc;
|
|
85
|
+
catch (e) {
|
|
86
|
+
// If JSONPath fails for some reason, fall back to conservative false
|
|
87
|
+
return false;
|
|
115
88
|
}
|
|
116
|
-
|
|
117
|
-
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Validate that attempting to seal using `additionalProperties:false` is
|
|
92
|
+
* compatible with the document's declared OpenAPI/JSON Schema version. Throw
|
|
93
|
+
* a descriptive error when an explicit older version is present and the
|
|
94
|
+
* document contains allOf references that would make sealing ineffective.
|
|
95
|
+
*/
|
|
96
|
+
function validateAdditionalPropertiesCompatibility(doc, supportsUnevaluated, containsAllOfRefs) {
|
|
97
|
+
const oasVersion = getOpenApiVersion(doc);
|
|
98
|
+
const schemaVersion = getJsonSchemaVersion(doc);
|
|
99
|
+
const hasExplicitVersion = oasVersion || schemaVersion;
|
|
100
|
+
if (hasExplicitVersion && !supportsUnevaluated && containsAllOfRefs) {
|
|
101
|
+
const versionInfo = oasVersion ? `OpenAPI ${oasVersion}` : `JSON Schema ${schemaVersion}`;
|
|
102
|
+
throw new Error(`Sealing via additionalProperties:false cannot reliably cover schemas composed with allOf in ${versionInfo}. ` +
|
|
103
|
+
`Use --use-unevaluated-properties or enable --uplift to upgrade the document to a version that supports unevaluatedProperties.`);
|
|
118
104
|
}
|
|
119
|
-
|
|
105
|
+
}
|
|
106
|
+
const openApiSealHandler = {
|
|
107
|
+
createContext(doc) {
|
|
108
|
+
return {
|
|
109
|
+
schemas: doc.components?.schemas,
|
|
110
|
+
wrappedName: "",
|
|
111
|
+
isStandalone: false,
|
|
112
|
+
};
|
|
113
|
+
},
|
|
114
|
+
finalize(doc) {
|
|
120
115
|
return doc;
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
116
|
+
},
|
|
117
|
+
};
|
|
118
|
+
const jsonSchemaSealHandler = {
|
|
119
|
+
createContext(doc) {
|
|
120
|
+
const wrappedName = doc.title || "Root";
|
|
121
|
+
return {
|
|
122
|
+
schemas: { [wrappedName]: doc },
|
|
123
|
+
wrappedName,
|
|
124
|
+
isStandalone: true,
|
|
125
|
+
};
|
|
126
|
+
},
|
|
127
|
+
finalize(doc, context) {
|
|
128
|
+
if (context.wrappedName && context.schemas) {
|
|
129
|
+
return context.schemas[context.wrappedName];
|
|
130
130
|
}
|
|
131
|
+
return doc;
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
function selectSealHandler(isStandalone) {
|
|
135
|
+
return isStandalone ? jsonSchemaSealHandler : openApiSealHandler;
|
|
136
|
+
}
|
|
137
|
+
function applySealingToSchemaMap(schemas, sealing, supportsUnevaluated) {
|
|
138
|
+
if (!schemas || typeof schemas !== "object")
|
|
139
|
+
return;
|
|
140
|
+
new ComponentSchemaSealer(schemas, sealing, supportsUnevaluated).run();
|
|
141
|
+
}
|
|
142
|
+
class SchemaSealerTemplate {
|
|
143
|
+
schemas;
|
|
144
|
+
sealing;
|
|
145
|
+
supportsUnevaluated;
|
|
146
|
+
constructor(schemas, sealing, supportsUnevaluated) {
|
|
147
|
+
this.schemas = schemas;
|
|
148
|
+
this.sealing = sealing;
|
|
149
|
+
this.supportsUnevaluated = supportsUnevaluated;
|
|
131
150
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
151
|
+
run() {
|
|
152
|
+
if (!this.schemas || typeof this.schemas !== "object")
|
|
153
|
+
return;
|
|
154
|
+
this.preprocess();
|
|
155
|
+
const referenced = this.collectReferencedInAllOf();
|
|
156
|
+
const coreMapping = this.createCoreMapping(referenced);
|
|
157
|
+
this.rewriteReferences(coreMapping);
|
|
158
|
+
this.sealSchemas(coreMapping);
|
|
159
|
+
sealInlineSchemas(this.schemas, this.sealing, this.supportsUnevaluated);
|
|
160
|
+
this.postprocess();
|
|
161
|
+
}
|
|
162
|
+
preprocess() { }
|
|
163
|
+
postprocess() { }
|
|
164
|
+
collectReferencedInAllOf() {
|
|
165
|
+
const referenced = new Set();
|
|
166
|
+
for (const schema of Object.values(this.schemas)) {
|
|
167
|
+
if (!schema || typeof schema !== "object")
|
|
168
|
+
continue;
|
|
169
|
+
if (!Array.isArray(schema.allOf))
|
|
170
|
+
continue;
|
|
171
|
+
for (const item of schema.allOf) {
|
|
172
|
+
if (item && typeof item === "object" && typeof item.$ref === "string") {
|
|
173
|
+
const refName = refToName(item.$ref);
|
|
174
|
+
if (refName && this.schemas[refName]) {
|
|
175
|
+
referenced.add(refName);
|
|
176
|
+
}
|
|
144
177
|
}
|
|
145
178
|
}
|
|
146
179
|
}
|
|
180
|
+
return referenced;
|
|
147
181
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
182
|
+
createCoreMapping(referenced) {
|
|
183
|
+
const coreMapping = new Map();
|
|
184
|
+
for (const name of referenced) {
|
|
185
|
+
const schema = this.schemas[name];
|
|
186
|
+
if (schema &&
|
|
187
|
+
typeof schema === "object" &&
|
|
188
|
+
!isPreSealed(schema) &&
|
|
189
|
+
isObjectLike(schema)) {
|
|
190
|
+
const coreName = `${name}Core`;
|
|
191
|
+
coreMapping.set(name, coreName);
|
|
192
|
+
const coreSchema = deepClone(schema);
|
|
193
|
+
removeSealing(coreSchema);
|
|
194
|
+
const wrapper = {
|
|
195
|
+
allOf: [{ $ref: this.getCoreRef(coreName) }],
|
|
196
|
+
};
|
|
197
|
+
wrapper[this.sealing] = false;
|
|
198
|
+
if (coreSchema.description) {
|
|
199
|
+
wrapper.description = coreSchema.description;
|
|
200
|
+
delete coreSchema.description;
|
|
201
|
+
}
|
|
202
|
+
this.schemas[coreName] = coreSchema;
|
|
203
|
+
this.schemas[name] = wrapper;
|
|
170
204
|
}
|
|
171
|
-
schemas[coreName] = coreSchema;
|
|
172
|
-
schemas[name] = wrapper;
|
|
173
205
|
}
|
|
206
|
+
return coreMapping;
|
|
174
207
|
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
}
|
|
179
|
-
// Step 4: Seal composition roots and direct-only objects
|
|
180
|
-
for (const [name, schema] of Object.entries(schemas)) {
|
|
181
|
-
if (!schema || typeof schema !== "object")
|
|
182
|
-
continue;
|
|
183
|
-
// Skip if already sealed
|
|
184
|
-
if (schema[sealing] === false || schema.additionalProperties === false) {
|
|
185
|
-
continue;
|
|
186
|
-
}
|
|
187
|
-
// Check if this is a wrapper we created (single-item allOf pointing to Core)
|
|
188
|
-
const isWrapper = schema.allOf &&
|
|
189
|
-
schema.allOf.length === 1 &&
|
|
190
|
-
typeof schema.allOf[0].$ref === "string" &&
|
|
191
|
-
schema.allOf[0].$ref.includes("Core");
|
|
192
|
-
// Only seal if there's sealable content (properties or composition)
|
|
193
|
-
if (!hasSealableContent(schema)) {
|
|
194
|
-
continue;
|
|
195
|
-
}
|
|
196
|
-
// Seal composition roots (allOf/anyOf/oneOf) - except wrappers we just created
|
|
197
|
-
if (!isWrapper &&
|
|
198
|
-
(schema.allOf || schema.anyOf || schema.oneOf) &&
|
|
199
|
-
isObjectLike(schema)) {
|
|
200
|
-
schema[sealing] = false;
|
|
201
|
-
}
|
|
202
|
-
else if (!coreMapping.has(name) && isObjectLike(schema) && !name.endsWith("Core")) {
|
|
203
|
-
// Seal direct-only object schemas (not core-candidates and not cores themselves)
|
|
204
|
-
schema[sealing] = false;
|
|
208
|
+
rewriteReferences(coreMapping) {
|
|
209
|
+
for (const [originalName, coreName] of coreMapping.entries()) {
|
|
210
|
+
this.updateReference(originalName, coreName);
|
|
205
211
|
}
|
|
206
212
|
}
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
const defAny = def;
|
|
229
|
-
if (!Array.isArray(defAny.allOf))
|
|
230
|
-
continue;
|
|
231
|
-
for (const item of defAny.allOf) {
|
|
232
|
-
if (item && typeof item === "object" && typeof item.$ref === "string") {
|
|
233
|
-
const refName = extractDefRefName(item.$ref);
|
|
234
|
-
if (refName && defs[refName]) {
|
|
235
|
-
referencedInAllOf.add(refName);
|
|
236
|
-
}
|
|
213
|
+
sealSchemas(coreMapping) {
|
|
214
|
+
for (const [name, schema] of Object.entries(this.schemas)) {
|
|
215
|
+
if (!schema || typeof schema !== "object")
|
|
216
|
+
continue;
|
|
217
|
+
if (schema[this.sealing] === false || schema.additionalProperties === false) {
|
|
218
|
+
continue;
|
|
219
|
+
}
|
|
220
|
+
if (!hasSealableContent(schema)) {
|
|
221
|
+
continue;
|
|
222
|
+
}
|
|
223
|
+
const isWrapper = schema.allOf &&
|
|
224
|
+
schema.allOf.length === 1 &&
|
|
225
|
+
typeof schema.allOf[0].$ref === "string" &&
|
|
226
|
+
schema.allOf[0].$ref.includes("Core");
|
|
227
|
+
if (!isWrapper &&
|
|
228
|
+
(schema.allOf || schema.anyOf || schema.oneOf) &&
|
|
229
|
+
isObjectLike(schema)) {
|
|
230
|
+
schema[this.sealing] = false;
|
|
231
|
+
}
|
|
232
|
+
else if (!coreMapping.has(name) && isObjectLike(schema) && !name.endsWith("Core")) {
|
|
233
|
+
schema[this.sealing] = false;
|
|
237
234
|
}
|
|
238
235
|
}
|
|
239
236
|
}
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
allOf: [{ $ref: refPath }],
|
|
255
|
-
};
|
|
256
|
-
wrapper[sealing] = false;
|
|
257
|
-
const coreSchemaAny = coreSchema;
|
|
258
|
-
if (coreSchemaAny.description) {
|
|
259
|
-
wrapper.description = coreSchemaAny.description;
|
|
260
|
-
delete coreSchemaAny.description;
|
|
237
|
+
}
|
|
238
|
+
class ComponentSchemaSealer extends SchemaSealerTemplate {
|
|
239
|
+
constructor(schemas, sealing, supportsUnevaluated) {
|
|
240
|
+
super(schemas, sealing, supportsUnevaluated);
|
|
241
|
+
}
|
|
242
|
+
preprocess() {
|
|
243
|
+
for (const schema of Object.values(this.schemas)) {
|
|
244
|
+
if (!schema || typeof schema !== "object")
|
|
245
|
+
continue;
|
|
246
|
+
if (schema.$defs && typeof schema.$defs === "object") {
|
|
247
|
+
new NestedSchemaSealer(schema, "$defs", this.sealing, this.supportsUnevaluated).run();
|
|
248
|
+
}
|
|
249
|
+
if (schema.definitions && typeof schema.definitions === "object") {
|
|
250
|
+
new NestedSchemaSealer(schema, "definitions", this.sealing, this.supportsUnevaluated).run();
|
|
261
251
|
}
|
|
262
|
-
defs[coreName] = coreSchema;
|
|
263
|
-
defs[name] = wrapper;
|
|
264
252
|
}
|
|
265
253
|
}
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
updateNestedAllOfReferences(defs, originalName, coreName, defsKey);
|
|
254
|
+
getCoreRef(coreName) {
|
|
255
|
+
return `#/components/schemas/${coreName}`;
|
|
269
256
|
}
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
if (
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
}
|
|
289
|
-
else if (!coreMapping.has(name) && isObjectLike(def) && !name.endsWith("Core")) {
|
|
290
|
-
defAny[sealing] = false;
|
|
257
|
+
updateReference(originalName, coreName) {
|
|
258
|
+
updateAllOfReferences(this.schemas, originalName, coreName);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
class NestedSchemaSealer extends SchemaSealerTemplate {
|
|
262
|
+
parent;
|
|
263
|
+
defsKey;
|
|
264
|
+
constructor(parent, defsKey, sealing, supportsUnevaluated) {
|
|
265
|
+
super(parent[defsKey], sealing, supportsUnevaluated);
|
|
266
|
+
this.parent = parent;
|
|
267
|
+
this.defsKey = defsKey;
|
|
268
|
+
}
|
|
269
|
+
postprocess() {
|
|
270
|
+
if (this.parent &&
|
|
271
|
+
hasSealableContent(this.parent) &&
|
|
272
|
+
isObjectLike(this.parent) &&
|
|
273
|
+
!isPreSealed(this.parent)) {
|
|
274
|
+
this.parent[this.sealing] = false;
|
|
291
275
|
}
|
|
292
276
|
}
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
277
|
+
getCoreRef(coreName) {
|
|
278
|
+
return this.defsKey === "$defs" ? `#/$defs/${coreName}` : `#/definitions/${coreName}`;
|
|
279
|
+
}
|
|
280
|
+
updateReference(originalName, coreName) {
|
|
281
|
+
updateNestedAllOfReferences(this.schemas, originalName, coreName, this.defsKey);
|
|
298
282
|
}
|
|
299
283
|
}
|
|
300
284
|
/**
|
|
@@ -304,29 +288,9 @@ function updateNestedAllOfReferences(defs, originalName, coreName, defsKey) {
|
|
|
304
288
|
const refPrefix = defsKey === "$defs" ? "#/$defs" : "#/definitions";
|
|
305
289
|
const originalRef = `${refPrefix}/${originalName}`;
|
|
306
290
|
const coreRef = `${refPrefix}/${coreName}`;
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
const pointers = JSONPath({ path: query, json: { [defsKey]: defs }, resultType: 'pointer' });
|
|
311
|
-
for (const ptr of pointers) {
|
|
312
|
-
// pointer points to the matching allOf item; we need to set its $ref to coreRef
|
|
313
|
-
setJsonPointer({ [defsKey]: defs }, ptr + '/$ref', coreRef);
|
|
314
|
-
}
|
|
315
|
-
}
|
|
316
|
-
catch (e) {
|
|
317
|
-
// Fallback to original loop if JSONPath fails
|
|
318
|
-
for (const def of Object.values(defs)) {
|
|
319
|
-
if (!def || typeof def !== "object")
|
|
320
|
-
continue;
|
|
321
|
-
if (!Array.isArray(def.allOf))
|
|
322
|
-
continue;
|
|
323
|
-
for (const item of def.allOf) {
|
|
324
|
-
if (item && typeof item === "object" && item.$ref === originalRef) {
|
|
325
|
-
item.$ref = coreRef;
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
}
|
|
329
|
-
}
|
|
291
|
+
const pointerRoot = { [defsKey]: defs };
|
|
292
|
+
const query = `$.${defsKey}..allOf[?(@.$ref=='${originalRef}')]`;
|
|
293
|
+
updateAllOfReferencesWithQuery(defs, originalRef, coreRef, query, pointerRoot);
|
|
330
294
|
}
|
|
331
295
|
/**
|
|
332
296
|
* Update all allOf references from original schema to core schema.
|
|
@@ -334,16 +298,19 @@ function updateNestedAllOfReferences(defs, originalName, coreName, defsKey) {
|
|
|
334
298
|
function updateAllOfReferences(schemas, originalName, coreName) {
|
|
335
299
|
const originalRef = `#/components/schemas/${originalName}`;
|
|
336
300
|
const coreRef = `#/components/schemas/${coreName}`;
|
|
301
|
+
const pointerRoot = { components: { schemas } };
|
|
302
|
+
const query = `$.components.schemas..allOf[?(@.$ref=='${originalRef}')]`;
|
|
303
|
+
updateAllOfReferencesWithQuery(schemas, originalRef, coreRef, query, pointerRoot);
|
|
304
|
+
}
|
|
305
|
+
function updateAllOfReferencesWithQuery(scope, originalRef, coreRef, query, pointerRoot) {
|
|
337
306
|
try {
|
|
338
|
-
const
|
|
339
|
-
const pointers = JSONPath({ path: query, json: { components: { schemas } }, resultType: 'pointer' });
|
|
307
|
+
const pointers = JSONPath({ path: query, json: pointerRoot, resultType: "pointer" });
|
|
340
308
|
for (const ptr of pointers) {
|
|
341
|
-
setJsonPointer(
|
|
309
|
+
setJsonPointer(pointerRoot, ptr + "/$ref", coreRef);
|
|
342
310
|
}
|
|
343
311
|
}
|
|
344
312
|
catch (e) {
|
|
345
|
-
|
|
346
|
-
for (const schema of Object.values(schemas)) {
|
|
313
|
+
for (const schema of Object.values(scope)) {
|
|
347
314
|
if (!schema || typeof schema !== "object")
|
|
348
315
|
continue;
|
|
349
316
|
if (!Array.isArray(schema.allOf))
|
|
@@ -382,15 +349,17 @@ function unescapePointer(part) {
|
|
|
382
349
|
/**
|
|
383
350
|
* Recursively seal inline object schemas (properties, items, etc.).
|
|
384
351
|
*/
|
|
385
|
-
function sealInlineSchemas(schemas, sealing) {
|
|
352
|
+
function sealInlineSchemas(schemas, sealing, supportsUnevaluated) {
|
|
386
353
|
const sealRecursive = (obj) => {
|
|
387
354
|
if (!obj || typeof obj !== "object")
|
|
388
355
|
return;
|
|
389
356
|
if (isObjectLike(obj) && !isPreSealed(obj) && hasSealableContent(obj)) {
|
|
390
357
|
const hasComposition = Boolean(obj.allOf || obj.anyOf || obj.oneOf);
|
|
391
358
|
const hasRef = Boolean(findRefsInObject(obj).length > 0);
|
|
392
|
-
|
|
393
|
-
|
|
359
|
+
if (hasComposition && supportsUnevaluated) {
|
|
360
|
+
obj.unevaluatedProperties = false;
|
|
361
|
+
}
|
|
362
|
+
else if (!hasRef && !hasComposition) {
|
|
394
363
|
obj[sealing] = false;
|
|
395
364
|
}
|
|
396
365
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sealSchema.js","sourceRoot":"","sources":["../../src/lib/sealSchema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sealSchema.js","sourceRoot":"","sources":["../../src/lib/sealSchema.ts"],"names":[],"mappings":"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"}
|