@amartus/oas-utils 0.3.3 → 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 -242
- 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,239 +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
|
-
if (hasExplicitVersion && documentContainsAllOfRefs(doc)) {
|
|
102
|
-
const versionInfo = oasVersion ? `OpenAPI ${oasVersion}` : `JSON Schema ${schemaVersion}`;
|
|
103
|
-
throw new Error(`Sealing via additionalProperties:false cannot reliably cover schemas composed with allOf in ${versionInfo}. ` +
|
|
104
|
-
`Use --use-unevaluated-properties or enable --uplift to upgrade the document to a version that supports unevaluatedProperties.`);
|
|
105
|
-
}
|
|
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;
|
|
106
84
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
// Wrap the standalone schema in an OpenAPI structure
|
|
111
|
-
wrappedName = doc.title || "Root";
|
|
112
|
-
schemas = {};
|
|
113
|
-
schemas[wrappedName] = doc;
|
|
85
|
+
catch (e) {
|
|
86
|
+
// If JSONPath fails for some reason, fall back to conservative false
|
|
87
|
+
return false;
|
|
114
88
|
}
|
|
115
|
-
|
|
116
|
-
|
|
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.`);
|
|
117
104
|
}
|
|
118
|
-
|
|
105
|
+
}
|
|
106
|
+
const openApiSealHandler = {
|
|
107
|
+
createContext(doc) {
|
|
108
|
+
return {
|
|
109
|
+
schemas: doc.components?.schemas,
|
|
110
|
+
wrappedName: "",
|
|
111
|
+
isStandalone: false,
|
|
112
|
+
};
|
|
113
|
+
},
|
|
114
|
+
finalize(doc) {
|
|
119
115
|
return doc;
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
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];
|
|
129
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;
|
|
130
150
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
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
|
+
}
|
|
143
177
|
}
|
|
144
178
|
}
|
|
145
179
|
}
|
|
180
|
+
return referenced;
|
|
146
181
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
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;
|
|
169
204
|
}
|
|
170
|
-
schemas[coreName] = coreSchema;
|
|
171
|
-
schemas[name] = wrapper;
|
|
172
205
|
}
|
|
206
|
+
return coreMapping;
|
|
173
207
|
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
}
|
|
178
|
-
// Step 4: Seal composition roots and direct-only objects
|
|
179
|
-
for (const [name, schema] of Object.entries(schemas)) {
|
|
180
|
-
if (!schema || typeof schema !== "object")
|
|
181
|
-
continue;
|
|
182
|
-
// Skip if already sealed
|
|
183
|
-
if (schema[sealing] === false || schema.additionalProperties === false) {
|
|
184
|
-
continue;
|
|
185
|
-
}
|
|
186
|
-
// Check if this is a wrapper we created (single-item allOf pointing to Core)
|
|
187
|
-
const isWrapper = schema.allOf &&
|
|
188
|
-
schema.allOf.length === 1 &&
|
|
189
|
-
typeof schema.allOf[0].$ref === "string" &&
|
|
190
|
-
schema.allOf[0].$ref.includes("Core");
|
|
191
|
-
// Only seal if there's sealable content (properties or composition)
|
|
192
|
-
if (!hasSealableContent(schema)) {
|
|
193
|
-
continue;
|
|
194
|
-
}
|
|
195
|
-
// Seal composition roots (allOf/anyOf/oneOf) - except wrappers we just created
|
|
196
|
-
if (!isWrapper &&
|
|
197
|
-
(schema.allOf || schema.anyOf || schema.oneOf) &&
|
|
198
|
-
isObjectLike(schema)) {
|
|
199
|
-
schema[sealing] = false;
|
|
200
|
-
}
|
|
201
|
-
else if (!coreMapping.has(name) && isObjectLike(schema) && !name.endsWith("Core")) {
|
|
202
|
-
// Seal direct-only object schemas (not core-candidates and not cores themselves)
|
|
203
|
-
schema[sealing] = false;
|
|
208
|
+
rewriteReferences(coreMapping) {
|
|
209
|
+
for (const [originalName, coreName] of coreMapping.entries()) {
|
|
210
|
+
this.updateReference(originalName, coreName);
|
|
204
211
|
}
|
|
205
212
|
}
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
const defAny = def;
|
|
228
|
-
if (!Array.isArray(defAny.allOf))
|
|
229
|
-
continue;
|
|
230
|
-
for (const item of defAny.allOf) {
|
|
231
|
-
if (item && typeof item === "object" && typeof item.$ref === "string") {
|
|
232
|
-
const refName = extractDefRefName(item.$ref);
|
|
233
|
-
if (refName && defs[refName]) {
|
|
234
|
-
referencedInAllOf.add(refName);
|
|
235
|
-
}
|
|
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;
|
|
236
234
|
}
|
|
237
235
|
}
|
|
238
236
|
}
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
allOf: [{ $ref: refPath }],
|
|
254
|
-
};
|
|
255
|
-
wrapper[sealing] = false;
|
|
256
|
-
const coreSchemaAny = coreSchema;
|
|
257
|
-
if (coreSchemaAny.description) {
|
|
258
|
-
wrapper.description = coreSchemaAny.description;
|
|
259
|
-
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();
|
|
260
251
|
}
|
|
261
|
-
defs[coreName] = coreSchema;
|
|
262
|
-
defs[name] = wrapper;
|
|
263
252
|
}
|
|
264
253
|
}
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
updateNestedAllOfReferences(defs, originalName, coreName, defsKey);
|
|
254
|
+
getCoreRef(coreName) {
|
|
255
|
+
return `#/components/schemas/${coreName}`;
|
|
268
256
|
}
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
if (
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
}
|
|
288
|
-
else if (!coreMapping.has(name) && isObjectLike(def) && !name.endsWith("Core")) {
|
|
289
|
-
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;
|
|
290
275
|
}
|
|
291
276
|
}
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
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);
|
|
297
282
|
}
|
|
298
283
|
}
|
|
299
284
|
/**
|
|
@@ -303,29 +288,9 @@ function updateNestedAllOfReferences(defs, originalName, coreName, defsKey) {
|
|
|
303
288
|
const refPrefix = defsKey === "$defs" ? "#/$defs" : "#/definitions";
|
|
304
289
|
const originalRef = `${refPrefix}/${originalName}`;
|
|
305
290
|
const coreRef = `${refPrefix}/${coreName}`;
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
const pointers = JSONPath({ path: query, json: { [defsKey]: defs }, resultType: 'pointer' });
|
|
310
|
-
for (const ptr of pointers) {
|
|
311
|
-
// pointer points to the matching allOf item; we need to set its $ref to coreRef
|
|
312
|
-
setJsonPointer({ [defsKey]: defs }, ptr + '/$ref', coreRef);
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
catch (e) {
|
|
316
|
-
// Fallback to original loop if JSONPath fails
|
|
317
|
-
for (const def of Object.values(defs)) {
|
|
318
|
-
if (!def || typeof def !== "object")
|
|
319
|
-
continue;
|
|
320
|
-
if (!Array.isArray(def.allOf))
|
|
321
|
-
continue;
|
|
322
|
-
for (const item of def.allOf) {
|
|
323
|
-
if (item && typeof item === "object" && item.$ref === originalRef) {
|
|
324
|
-
item.$ref = coreRef;
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
}
|
|
291
|
+
const pointerRoot = { [defsKey]: defs };
|
|
292
|
+
const query = `$.${defsKey}..allOf[?(@.$ref=='${originalRef}')]`;
|
|
293
|
+
updateAllOfReferencesWithQuery(defs, originalRef, coreRef, query, pointerRoot);
|
|
329
294
|
}
|
|
330
295
|
/**
|
|
331
296
|
* Update all allOf references from original schema to core schema.
|
|
@@ -333,16 +298,19 @@ function updateNestedAllOfReferences(defs, originalName, coreName, defsKey) {
|
|
|
333
298
|
function updateAllOfReferences(schemas, originalName, coreName) {
|
|
334
299
|
const originalRef = `#/components/schemas/${originalName}`;
|
|
335
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) {
|
|
336
306
|
try {
|
|
337
|
-
const
|
|
338
|
-
const pointers = JSONPath({ path: query, json: { components: { schemas } }, resultType: 'pointer' });
|
|
307
|
+
const pointers = JSONPath({ path: query, json: pointerRoot, resultType: "pointer" });
|
|
339
308
|
for (const ptr of pointers) {
|
|
340
|
-
setJsonPointer(
|
|
309
|
+
setJsonPointer(pointerRoot, ptr + "/$ref", coreRef);
|
|
341
310
|
}
|
|
342
311
|
}
|
|
343
312
|
catch (e) {
|
|
344
|
-
|
|
345
|
-
for (const schema of Object.values(schemas)) {
|
|
313
|
+
for (const schema of Object.values(scope)) {
|
|
346
314
|
if (!schema || typeof schema !== "object")
|
|
347
315
|
continue;
|
|
348
316
|
if (!Array.isArray(schema.allOf))
|
|
@@ -381,15 +349,17 @@ function unescapePointer(part) {
|
|
|
381
349
|
/**
|
|
382
350
|
* Recursively seal inline object schemas (properties, items, etc.).
|
|
383
351
|
*/
|
|
384
|
-
function sealInlineSchemas(schemas, sealing) {
|
|
352
|
+
function sealInlineSchemas(schemas, sealing, supportsUnevaluated) {
|
|
385
353
|
const sealRecursive = (obj) => {
|
|
386
354
|
if (!obj || typeof obj !== "object")
|
|
387
355
|
return;
|
|
388
356
|
if (isObjectLike(obj) && !isPreSealed(obj) && hasSealableContent(obj)) {
|
|
389
357
|
const hasComposition = Boolean(obj.allOf || obj.anyOf || obj.oneOf);
|
|
390
358
|
const hasRef = Boolean(findRefsInObject(obj).length > 0);
|
|
391
|
-
|
|
392
|
-
|
|
359
|
+
if (hasComposition && supportsUnevaluated) {
|
|
360
|
+
obj.unevaluatedProperties = false;
|
|
361
|
+
}
|
|
362
|
+
else if (!hasRef && !hasComposition) {
|
|
393
363
|
obj[sealing] = false;
|
|
394
364
|
}
|
|
395
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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"}
|