@takeshape/schema 8.271.0 → 8.272.0
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/schema-util.d.ts +1 -1
- package/dist/schema-util.d.ts.map +1 -1
- package/dist/schema-util.js +11 -7
- package/es/schema-util.js +11 -7
- package/package.json +4 -4
package/dist/schema-util.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export declare const nonStructuralSchemaKeys: string[];
|
|
|
18
18
|
export declare function getServiceIdFieldName(serviceFieldName: string): string;
|
|
19
19
|
export declare function getGeneratorVersion(generator: string): string;
|
|
20
20
|
export declare function getServiceInfo(projectSchema: ProjectSchema, shape: Shape): Record<string, ServiceInfo[]>;
|
|
21
|
-
export declare function pathBetween(fromShape: Shape, toShape: Shape, projectSchema: ProjectSchema): string[];
|
|
21
|
+
export declare function pathBetween(fromShape: Shape, toShape: Shape, projectSchema: ProjectSchema, depthLimit?: number): string[];
|
|
22
22
|
export declare function getShapeQueriesAndMutations(shapeList: Array<Shape | ShapeV3_0_0>): {
|
|
23
23
|
queries: QueryMap;
|
|
24
24
|
mutations: QueryMap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-util.d.ts","sourceRoot":"","sources":["../../src/schema-util.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EAEd,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,aAAa,EACb,WAAW,EAGX,WAAW,EAEZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,+BAA+B,EAC/B,UAAU,EACV,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAElB,gBAAgB,EAChB,UAAU,EACV,aAAa,EACd,MAAM,eAAe,CAAC;AAUvB,OAAO,EAAC,KAAK,EAA8B,MAAM,iBAAiB,CAAC;AAenE,OAAO,EASL,OAAO,EAIP,eAAe,EACf,eAAe,EACf,qBAAqB,EAKtB,MAAM,QAAQ,CAAC;AAMhB,eAAO,MAAM,2BAA2B,2BAA2B,CAAC;AAEpE,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEzD;AAID,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAgB,aAAa,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,GAAG,OAAO,CAG7F;AAED,eAAO,MAAM,kBAAkB,qIAUrB,CAAC;AACX,eAAO,MAAM,gBAAgB,oKAAkE,CAAC;AAEhG,eAAO,MAAM,gBAAgB,wSAYnB,CAAC;AAEX,eAAO,MAAM,gBAAgB,8LAA2D,CAAC;AAEzF,eAAO,MAAM,eAAe,uOAOlB,CAAC;AAEX,eAAO,MAAM,8BAA8B,UAAkD,CAAC;AAG9F,eAAO,MAAM,uBAAuB,UAWnC,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAEtE;AAMD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE7D;AAGD,wBAAgB,cAAc,CAAC,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAyDxG;AAGD,wBAAgB,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,GAAG,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"schema-util.d.ts","sourceRoot":"","sources":["../../src/schema-util.ts"],"names":[],"mappings":"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"}
|
package/dist/schema-util.js
CHANGED
|
@@ -210,7 +210,7 @@ function getServiceInfo(projectSchema, shape) {
|
|
|
210
210
|
} // Follow refs to find the path between two shapes in a schema
|
|
211
211
|
|
|
212
212
|
|
|
213
|
-
function pathBetween(fromShape, toShape, projectSchema) {
|
|
213
|
+
function pathBetween(fromShape, toShape, projectSchema, depthLimit = 4) {
|
|
214
214
|
if (fromShape.name === toShape.name) {
|
|
215
215
|
return [];
|
|
216
216
|
}
|
|
@@ -219,9 +219,13 @@ function pathBetween(fromShape, toShape, projectSchema) {
|
|
|
219
219
|
let shortestPath;
|
|
220
220
|
let shortestPathLength = Number.MAX_SAFE_INTEGER;
|
|
221
221
|
|
|
222
|
-
const pathBetweenHelper = (schema, pathSoFar, seen) => {
|
|
222
|
+
const pathBetweenHelper = (schema, pathSoFar, seen, depth) => {
|
|
223
|
+
if (depth > depthLimit) {
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
|
|
223
227
|
if (schema.items) {
|
|
224
|
-
pathBetweenHelper(schema.items, pathSoFar, seen);
|
|
228
|
+
pathBetweenHelper(schema.items, pathSoFar, seen, depth);
|
|
225
229
|
return;
|
|
226
230
|
}
|
|
227
231
|
|
|
@@ -235,23 +239,23 @@ function pathBetween(fromShape, toShape, projectSchema) {
|
|
|
235
239
|
shortestPath = pathSoFar;
|
|
236
240
|
shortestPathLength = pathSoFar.length;
|
|
237
241
|
} else if (!seen.has(referenced.name)) {
|
|
238
|
-
pathBetweenHelper(referenced.schema, pathSoFar, new Set([...seen, referenced.name]));
|
|
242
|
+
pathBetweenHelper(referenced.schema, pathSoFar, new Set([...seen, referenced.name]), depth);
|
|
239
243
|
}
|
|
240
244
|
}
|
|
241
245
|
} else if (pathSoFar.length + 1 < shortestPathLength && (schema.oneOf || schema.allOf || schema.properties)) {
|
|
242
246
|
if (schema.oneOf) {
|
|
243
247
|
for (const itemSchema of schema.oneOf) {
|
|
244
|
-
pathBetweenHelper(itemSchema, pathSoFar, seen);
|
|
248
|
+
pathBetweenHelper(itemSchema, pathSoFar, seen, depth);
|
|
245
249
|
}
|
|
246
250
|
} else {
|
|
247
251
|
for (const [propName, propSchema] of createSchemaPropertyList(projectSchema, schema).getNodes()) {
|
|
248
|
-
pathBetweenHelper(propSchema, pathSoFar.concat(String(propName)), seen);
|
|
252
|
+
pathBetweenHelper(propSchema, pathSoFar.concat(String(propName)), seen, depth + 1);
|
|
249
253
|
}
|
|
250
254
|
}
|
|
251
255
|
}
|
|
252
256
|
};
|
|
253
257
|
|
|
254
|
-
pathBetweenHelper(fromShape.schema, [], new Set([fromShape.name]));
|
|
258
|
+
pathBetweenHelper(fromShape.schema, [], new Set([fromShape.name]), 0);
|
|
255
259
|
|
|
256
260
|
if (!shortestPath) {
|
|
257
261
|
throw new Error(`No path between ${fromShape.name} and ${toShape.name}`);
|
package/es/schema-util.js
CHANGED
|
@@ -108,7 +108,7 @@ export function getServiceInfo(projectSchema, shape) {
|
|
|
108
108
|
return result;
|
|
109
109
|
} // Follow refs to find the path between two shapes in a schema
|
|
110
110
|
|
|
111
|
-
export function pathBetween(fromShape, toShape, projectSchema) {
|
|
111
|
+
export function pathBetween(fromShape, toShape, projectSchema, depthLimit = 4) {
|
|
112
112
|
if (fromShape.name === toShape.name) {
|
|
113
113
|
return [];
|
|
114
114
|
}
|
|
@@ -117,9 +117,13 @@ export function pathBetween(fromShape, toShape, projectSchema) {
|
|
|
117
117
|
let shortestPath;
|
|
118
118
|
let shortestPathLength = Number.MAX_SAFE_INTEGER;
|
|
119
119
|
|
|
120
|
-
const pathBetweenHelper = (schema, pathSoFar, seen) => {
|
|
120
|
+
const pathBetweenHelper = (schema, pathSoFar, seen, depth) => {
|
|
121
|
+
if (depth > depthLimit) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
|
|
121
125
|
if (schema.items) {
|
|
122
|
-
pathBetweenHelper(schema.items, pathSoFar, seen);
|
|
126
|
+
pathBetweenHelper(schema.items, pathSoFar, seen, depth);
|
|
123
127
|
return;
|
|
124
128
|
}
|
|
125
129
|
|
|
@@ -133,23 +137,23 @@ export function pathBetween(fromShape, toShape, projectSchema) {
|
|
|
133
137
|
shortestPath = pathSoFar;
|
|
134
138
|
shortestPathLength = pathSoFar.length;
|
|
135
139
|
} else if (!seen.has(referenced.name)) {
|
|
136
|
-
pathBetweenHelper(referenced.schema, pathSoFar, new Set([...seen, referenced.name]));
|
|
140
|
+
pathBetweenHelper(referenced.schema, pathSoFar, new Set([...seen, referenced.name]), depth);
|
|
137
141
|
}
|
|
138
142
|
}
|
|
139
143
|
} else if (pathSoFar.length + 1 < shortestPathLength && (schema.oneOf || schema.allOf || schema.properties)) {
|
|
140
144
|
if (schema.oneOf) {
|
|
141
145
|
for (const itemSchema of schema.oneOf) {
|
|
142
|
-
pathBetweenHelper(itemSchema, pathSoFar, seen);
|
|
146
|
+
pathBetweenHelper(itemSchema, pathSoFar, seen, depth);
|
|
143
147
|
}
|
|
144
148
|
} else {
|
|
145
149
|
for (const [propName, propSchema] of createSchemaPropertyList(projectSchema, schema).getNodes()) {
|
|
146
|
-
pathBetweenHelper(propSchema, pathSoFar.concat(String(propName)), seen);
|
|
150
|
+
pathBetweenHelper(propSchema, pathSoFar.concat(String(propName)), seen, depth + 1);
|
|
147
151
|
}
|
|
148
152
|
}
|
|
149
153
|
}
|
|
150
154
|
};
|
|
151
155
|
|
|
152
|
-
pathBetweenHelper(fromShape.schema, [], new Set([fromShape.name]));
|
|
156
|
+
pathBetweenHelper(fromShape.schema, [], new Set([fromShape.name]), 0);
|
|
153
157
|
|
|
154
158
|
if (!shortestPath) {
|
|
155
159
|
throw new Error(`No path between ${fromShape.name} and ${toShape.name}`);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@takeshape/schema",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.272.0",
|
|
4
4
|
"description": "TakeShape Schema",
|
|
5
5
|
"homepage": "https://www.takeshape.io",
|
|
6
6
|
"repository": {
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
"p-reduce": "^2.1.0",
|
|
31
31
|
"semver": "^7.3.2",
|
|
32
32
|
"tiny-invariant": "^1.2.0",
|
|
33
|
-
"@takeshape/errors": "8.
|
|
34
|
-
"@takeshape/
|
|
35
|
-
"@takeshape/
|
|
33
|
+
"@takeshape/errors": "8.272.0",
|
|
34
|
+
"@takeshape/json-schema": "8.272.0",
|
|
35
|
+
"@takeshape/util": "8.272.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@takeshape/json-schema-to-typescript": "^11.0.0",
|