MCPcopy Create free account
hub / github.com/bytebase/bytebase / mergeObjectShape

Function mergeObjectShape

frontend/scripts/generate_openapi_index.js:40–68  ·  view source on GitHub ↗
(schemaDef, mergedProperties, mergedRequired, options)

Source from the content-addressed store, hash-verified

38}
39
40function mergeObjectShape(schemaDef, mergedProperties, mergedRequired, options) {
41 if (!isObjectSchema(schemaDef)) {
42 return;
43 }
44
45 if (schemaDef.properties) {
46 Object.assign(mergedProperties, schemaDef.properties);
47 }
48
49 if (options.includeRequired && Array.isArray(schemaDef.required)) {
50 for (const requiredName of schemaDef.required) {
51 mergedRequired.add(requiredName);
52 }
53 }
54
55 if (Array.isArray(schemaDef.allOf)) {
56 for (const part of schemaDef.allOf) {
57 mergeObjectShape(part, mergedProperties, mergedRequired, options);
58 }
59 }
60
61 if (Array.isArray(schemaDef.oneOf)) {
62 for (const branch of schemaDef.oneOf) {
63 mergeObjectShape(branch, mergedProperties, mergedRequired, {
64 includeRequired: false,
65 });
66 }
67 }
68}
69
70function collectObjectShape(schemaDef) {
71 const mergedProperties = {};

Callers 1

collectObjectShapeFunction · 0.85

Calls 2

isObjectSchemaFunction · 0.85
addMethod · 0.80

Tested by

no test coverage detected