@takeshape/schema 9.104.0 → 9.105.1
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/flatten-templates.js +1 -1
- package/dist/interfaces.d.ts +4 -4
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js +13 -9
- package/dist/migration/to/v3.32.0.js +1 -1
- package/dist/models/project-schema.d.ts +2 -2
- package/dist/models/project-schema.d.ts.map +1 -1
- package/dist/models/project-schema.js +5 -5
- package/dist/refs.d.ts +3 -4
- package/dist/refs.d.ts.map +1 -1
- package/dist/refs.js +15 -14
- package/dist/schema-util.d.ts.map +1 -1
- package/dist/schema-util.js +28 -23
- package/dist/template-shapes/templates.d.ts.map +1 -1
- package/dist/template-shapes/templates.js +1 -1
- package/dist/template-shapes/where.js +1 -1
- package/dist/unions.js +1 -1
- package/dist/util/form-config.js +1 -1
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +16 -13
- package/es/flatten-templates.js +2 -2
- package/es/interfaces.js +14 -10
- package/es/migration/to/v3.32.0.js +2 -2
- package/es/models/project-schema.js +6 -6
- package/es/refs.js +14 -12
- package/es/schema-util.js +29 -24
- package/es/template-shapes/templates.js +2 -2
- package/es/template-shapes/where.js +2 -2
- package/es/unions.js +2 -2
- package/es/util/form-config.js +2 -2
- package/es/validate.js +17 -14
- package/examples/dependencies/wordpress-2024-01.json +26894 -0
- package/package.json +5 -5
|
@@ -21,7 +21,7 @@ function flattenTemplates(projectSchema) {
|
|
|
21
21
|
const {
|
|
22
22
|
shapeName,
|
|
23
23
|
dependencies
|
|
24
|
-
} = (0, _templateShapes.resolveTemplate)(newSchema, ref.template, (0, _refs.
|
|
24
|
+
} = (0, _templateShapes.resolveTemplate)(newSchema, ref.template, (0, _refs.refItemToNamespacedShapeName)(ref));
|
|
25
25
|
(0, _set.default)(newSchema, ref.path, ref.path[ref.path.length - 1] === '@ref' ? `local:${shapeName}` : shapeName);
|
|
26
26
|
Object.assign(newSchema.shapes, dependencies);
|
|
27
27
|
}
|
package/dist/interfaces.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { OneOfSchema, ProjectSchemaJSON, PropertySchema, ShapeJSON, ShapeMap } from './project-schema';
|
|
2
|
-
import type { ServicesShapesContext } from './refs';
|
|
2
|
+
import type { RefItem, ServicesShapesContext } from './refs';
|
|
3
3
|
export declare function isInterfaceShape(shape?: ShapeJSON): boolean;
|
|
4
4
|
export type ImplementationShapeMap = Record<string, Set<ShapeJSON>>;
|
|
5
5
|
export type ImplementationShapeNameMap = Record<string, Set<string>>;
|
|
6
6
|
export declare function isInterfaceRef(context: ServicesShapesContext, propertySchema: PropertySchema): boolean;
|
|
7
7
|
export declare function getImplementationShapeMap(shapeMap: ShapeMap): ImplementationShapeMap;
|
|
8
8
|
export declare function getImplementationShapeNameMap(shapeMap: ShapeMap): ImplementationShapeNameMap;
|
|
9
|
-
export declare function pruneUnusedInterfaces(shapeMap: ShapeMap): ShapeMap;
|
|
10
|
-
export declare function getImplementingShapes(
|
|
11
|
-
export declare function interfaceToUnion(context: Pick<ProjectSchemaJSON, 'shapes' | 'services'>,
|
|
9
|
+
export declare function pruneUnusedInterfaces(projectSchema: ProjectSchemaJSON, shapeMap: ShapeMap): ShapeMap;
|
|
10
|
+
export declare function getImplementingShapes(context: Pick<ProjectSchemaJSON, 'services' | 'shapes'>, interfaceRef: RefItem): ShapeJSON[];
|
|
11
|
+
export declare function interfaceToUnion(context: Pick<ProjectSchemaJSON, 'shapes' | 'services'>, interfaceRef: RefItem): OneOfSchema;
|
|
12
12
|
export declare function getPossibleShapeNames(projectSchema: ProjectSchemaJSON, shape: ShapeJSON): string[];
|
|
13
13
|
//# sourceMappingURL=interfaces.d.ts.map
|
package/dist/interfaces.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAC1G,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAC1G,OAAO,KAAK,EAAC,OAAO,EAAE,qBAAqB,EAAC,MAAM,QAAQ,CAAC;AAa3D,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,CAE3D;AAED,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;AACpE,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAErE,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAGtG;AAqBD,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,GAAG,sBAAsB,CAEpF;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,QAAQ,GAAG,0BAA0B,CAE5F;AAED,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAcpG;AAMD,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,QAAQ,CAAC,EACvD,YAAY,EAAE,OAAO,GACpB,SAAS,EAAE,CAcb;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,UAAU,CAAC,EACvD,YAAY,EAAE,OAAO,GACpB,WAAW,CAKb;AAED,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE,CAgBlG"}
|
package/dist/interfaces.js
CHANGED
|
@@ -45,13 +45,13 @@ function getImplementationShapeMap(shapeMap) {
|
|
|
45
45
|
function getImplementationShapeNameMap(shapeMap) {
|
|
46
46
|
return getImplementationsHelper(shapeMap, shape => shape.name);
|
|
47
47
|
}
|
|
48
|
-
function pruneUnusedInterfaces(shapeMap) {
|
|
48
|
+
function pruneUnusedInterfaces(projectSchema, shapeMap) {
|
|
49
49
|
return (0, _mapValues.default)(shapeMap, shape => {
|
|
50
50
|
const {
|
|
51
51
|
interfaces
|
|
52
52
|
} = shape;
|
|
53
53
|
if (interfaces !== null && interfaces !== void 0 && interfaces.length) {
|
|
54
|
-
const filteredInterfaces = interfaces.filter(
|
|
54
|
+
const filteredInterfaces = interfaces.filter(refExpression => shapeMap[(0, _refs.refItemToNamespacedShapeName)((0, _refs.refExpressionToRefItem)(projectSchema, refExpression))]);
|
|
55
55
|
if (interfaces.length !== filteredInterfaces.length) {
|
|
56
56
|
return {
|
|
57
57
|
...shape,
|
|
@@ -62,32 +62,36 @@ function pruneUnusedInterfaces(shapeMap) {
|
|
|
62
62
|
return shape;
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
|
-
function
|
|
65
|
+
function compareRefItems(refItem1, refItem2) {
|
|
66
|
+
return refItem1.typeName === refItem2.typeName && refItem1.serviceKey === refItem2.serviceKey;
|
|
67
|
+
}
|
|
68
|
+
function getImplementingShapes(context, interfaceRef) {
|
|
69
|
+
const shapeMap = context.shapes;
|
|
66
70
|
const implementingShapes = [];
|
|
67
71
|
for (const shape of Object.values(shapeMap)) {
|
|
68
72
|
var _shape$interfaces;
|
|
69
|
-
if ((_shape$interfaces = shape.interfaces) !== null && _shape$interfaces !== void 0 && _shape$interfaces.
|
|
73
|
+
if ((_shape$interfaces = shape.interfaces) !== null && _shape$interfaces !== void 0 && _shape$interfaces.find(interfaceRefExpression => compareRefItems((0, _refs.refExpressionToRefItem)(context, interfaceRefExpression), interfaceRef))) {
|
|
70
74
|
implementingShapes.push(shape);
|
|
71
75
|
}
|
|
72
76
|
}
|
|
73
77
|
return implementingShapes;
|
|
74
78
|
}
|
|
75
|
-
function interfaceToUnion(context,
|
|
76
|
-
const shapes = getImplementingShapes(context
|
|
79
|
+
function interfaceToUnion(context, interfaceRef) {
|
|
80
|
+
const shapes = getImplementingShapes(context, interfaceRef);
|
|
77
81
|
return {
|
|
78
82
|
oneOf: shapes.map(shape => ({
|
|
79
|
-
'@ref': (0, _refs.
|
|
83
|
+
'@ref': (0, _refs.normalizeRefExpression)(context, shape.name)
|
|
80
84
|
}))
|
|
81
85
|
};
|
|
82
86
|
}
|
|
83
87
|
function getPossibleShapeNames(projectSchema, shape) {
|
|
84
88
|
let names;
|
|
85
89
|
if (isInterfaceShape(shape)) {
|
|
86
|
-
names = getImplementingShapes(projectSchema.
|
|
90
|
+
names = getImplementingShapes(projectSchema, (0, _refs.shapeToRefItem)(projectSchema, shape)).map(shape => shape.name);
|
|
87
91
|
} else if ((0, _unions.isUnionSchema)(shape.schema)) {
|
|
88
92
|
names = shape.schema.oneOf.map(member => {
|
|
89
93
|
const ref = (0, _refs.getRef)(projectSchema, member);
|
|
90
|
-
return ref && (0, _refs.
|
|
94
|
+
return ref && (0, _refs.refItemToNamespacedShapeName)(ref);
|
|
91
95
|
}).filter(_util.isDefined);
|
|
92
96
|
} else {
|
|
93
97
|
names = [shape.name];
|
|
@@ -30,7 +30,7 @@ export declare class ProjectSchema {
|
|
|
30
30
|
atRefToRefItem(atRef: string, template?: string): RefItem;
|
|
31
31
|
refItemToShape(refItem: RefItem): ShapeModel;
|
|
32
32
|
getRef(refSchema: SchemaWithRef): import("@takeshape/util").Maybe<RefItem>;
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
normalizeRefExpression(refExpression: string): string;
|
|
34
|
+
refExpressionToRefItem(refExpression: string): RefItem;
|
|
35
35
|
}
|
|
36
36
|
//# sourceMappingURL=project-schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-schema.d.ts","sourceRoot":"","sources":["../../../src/models/project-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EACL,OAAO,EACP,eAAe,EAMhB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AACvC,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AACnC,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AACnC,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAC;AASxC;;;;GAIG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,MAAM,CAA0B;gBAE5B,uBAAuB,EAAE,iBAAiB;IAMtD,IAAI,IAAI,sBAEP;IAED,IAAI,SAAS,WAEZ;IAED,IAAI,OAAO,uBAEV;IAED,IAAI,MAAM,uBAET;IAED,cAAc,CAAC,SAAS,EAAE,MAAM;IAUhC,YAAY,CAAC,OAAO,EAAE,MAAM;IAU5B,aAAa,CAAC,QAAQ,EAAE,MAAM;IAI9B,IAAI,MAAM,gBAKT;IAED,IAAI,IAAI,sBAGP;IAED,cAAc,CAAC,SAAS,EAAE,MAAM;IAIhC,IAAI,OAAO,iBAIV;IAED,iBAAiB,CAAC,YAAY,EAAE,MAAM;IAItC,IAAI,SAAS,iBAGZ;IAED,cAAc,CAAC,SAAS,EAAE,MAAM;IAIhC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAI/C,cAAc,CAAC,OAAO,EAAE,OAAO;IAI/B,MAAM,CAAC,SAAS,EAAE,aAAa;IAI/B,
|
|
1
|
+
{"version":3,"file":"project-schema.d.ts","sourceRoot":"","sources":["../../../src/models/project-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EACL,OAAO,EACP,eAAe,EAMhB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AACvC,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AACnC,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AACnC,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAC;AASxC;;;;GAIG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,MAAM,CAA0B;gBAE5B,uBAAuB,EAAE,iBAAiB;IAMtD,IAAI,IAAI,sBAEP;IAED,IAAI,SAAS,WAEZ;IAED,IAAI,OAAO,uBAEV;IAED,IAAI,MAAM,uBAET;IAED,cAAc,CAAC,SAAS,EAAE,MAAM;IAUhC,YAAY,CAAC,OAAO,EAAE,MAAM;IAU5B,aAAa,CAAC,QAAQ,EAAE,MAAM;IAI9B,IAAI,MAAM,gBAKT;IAED,IAAI,IAAI,sBAGP;IAED,cAAc,CAAC,SAAS,EAAE,MAAM;IAIhC,IAAI,OAAO,iBAIV;IAED,iBAAiB,CAAC,YAAY,EAAE,MAAM;IAItC,IAAI,SAAS,iBAGZ;IAED,cAAc,CAAC,SAAS,EAAE,MAAM;IAIhC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAI/C,cAAc,CAAC,OAAO,EAAE,OAAO;IAI/B,MAAM,CAAC,SAAS,EAAE,aAAa;IAI/B,sBAAsB,CAAC,aAAa,EAAE,MAAM;IAI5C,sBAAsB,CAAC,aAAa,EAAE,MAAM;CAG7C"}
|
|
@@ -55,7 +55,7 @@ class ProjectSchema {
|
|
|
55
55
|
return new _shape.ShapeModel(this, shapeRef);
|
|
56
56
|
}
|
|
57
57
|
get shapes() {
|
|
58
|
-
this._cache.shapes = this._cache.shapes ?? Object.keys(this.json.shapes).map(name => new _shape.ShapeModel(this, (0, _refs.
|
|
58
|
+
this._cache.shapes = this._cache.shapes ?? Object.keys(this.json.shapes).map(name => new _shape.ShapeModel(this, (0, _refs.normalizeRefExpression)(this.json, name)));
|
|
59
59
|
return this._cache.shapes;
|
|
60
60
|
}
|
|
61
61
|
get refs() {
|
|
@@ -88,11 +88,11 @@ class ProjectSchema {
|
|
|
88
88
|
getRef(refSchema) {
|
|
89
89
|
return (0, _refs.getRef)(this.json, refSchema);
|
|
90
90
|
}
|
|
91
|
-
|
|
92
|
-
return (0, _refs.
|
|
91
|
+
normalizeRefExpression(refExpression) {
|
|
92
|
+
return (0, _refs.normalizeRefExpression)(this.json, refExpression);
|
|
93
93
|
}
|
|
94
|
-
|
|
95
|
-
return (0, _refs.
|
|
94
|
+
refExpressionToRefItem(refExpression) {
|
|
95
|
+
return (0, _refs.refExpressionToRefItem)(this.json, refExpression);
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
exports.ProjectSchema = ProjectSchema;
|
package/dist/refs.d.ts
CHANGED
|
@@ -102,14 +102,13 @@ export interface ParsedName {
|
|
|
102
102
|
* Parse a name (query, shape, etc) that might have a namespace and find the corresponding service layer id
|
|
103
103
|
*/
|
|
104
104
|
export declare function parseName(context: ServicesContext, name: string): ParsedName;
|
|
105
|
-
export declare function shapeNameToRefItem(context: ServicesContext, shapeName: string, template?: string): RefItem;
|
|
106
105
|
export declare function shapeToRefItem(context: ServicesContext, shape: ShapeJSON): RefItem;
|
|
107
106
|
/**
|
|
108
107
|
* Given a property schema and project schema, finds a `@ref` or `$ref` and
|
|
109
108
|
* returns a `RefItem` suitable for loading a referenced schema...
|
|
110
109
|
*/
|
|
111
110
|
export declare function getRef(context: ServicesContext, refSchema: SchemaWithRef): Maybe<RefItem>;
|
|
112
|
-
export declare function getRefWithPath(context: ServicesContext, refSchema: SchemaWithRef, schemaPath?: SchemaPath): Maybe<RefItemWithPath>;
|
|
111
|
+
export declare function getRefWithPath(context: ServicesContext, refSchema: SchemaWithRef, schemaPath?: SchemaPath, isInterfaceRef?: boolean): Maybe<RefItemWithPath>;
|
|
113
112
|
/**
|
|
114
113
|
* Tests for a `@ref` or `$ref` property directly on the passed schema.
|
|
115
114
|
*
|
|
@@ -128,7 +127,7 @@ export declare function refItemToAtRef(refItem: RefItem): string;
|
|
|
128
127
|
/**
|
|
129
128
|
* Turns a `RefItem` into a standard shape name, namespacing if present.
|
|
130
129
|
*/
|
|
131
|
-
export declare function
|
|
130
|
+
export declare function refItemToNamespacedShapeName(refItem: RefItem): string;
|
|
132
131
|
/**
|
|
133
132
|
* Turns a `RefItem` into a path suitable for `lodash.get`.
|
|
134
133
|
*/
|
|
@@ -207,7 +206,7 @@ export declare function propertyRefToArgs(projectSchema: ProjectSchemaJSON, ref:
|
|
|
207
206
|
/**
|
|
208
207
|
* Get a ref to the given shape.
|
|
209
208
|
*/
|
|
210
|
-
export declare function
|
|
209
|
+
export declare function normalizeRefExpression(context: ServicesContext, refExpression: string): string;
|
|
211
210
|
export declare function normalizeLocalRefString(ref: string): string;
|
|
212
211
|
export declare function getAllPropertyRefs(projectSchema: ProjectSchemaJSON): PropertyRefItem[];
|
|
213
212
|
export interface QueryEntry {
|
package/dist/refs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../src/refs.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../src/refs.ts"],"names":[],"mappings":"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"}
|
package/dist/refs.js
CHANGED
|
@@ -26,6 +26,7 @@ exports.hasRefProperty = hasRefProperty;
|
|
|
26
26
|
exports.hasResolvableRef = hasResolvableRef;
|
|
27
27
|
exports.isRefItemWithPath = isRefItemWithPath;
|
|
28
28
|
exports.normalizeLocalRefString = normalizeLocalRefString;
|
|
29
|
+
exports.normalizeRefExpression = normalizeRefExpression;
|
|
29
30
|
exports.omitRefAndExtend = void 0;
|
|
30
31
|
exports.parseName = parseName;
|
|
31
32
|
exports.parsePropertyRef = parsePropertyRef;
|
|
@@ -42,8 +43,8 @@ exports.refExpressionToRefItem = refExpressionToRefItem;
|
|
|
42
43
|
exports.refExpressionToShape = refExpressionToShape;
|
|
43
44
|
exports.refItemListToShapeList = refItemListToShapeList;
|
|
44
45
|
exports.refItemToAtRef = refItemToAtRef;
|
|
46
|
+
exports.refItemToNamespacedShapeName = refItemToNamespacedShapeName;
|
|
45
47
|
exports.refItemToShape = refItemToShape;
|
|
46
|
-
exports.refItemToShapeName = refItemToShapeName;
|
|
47
48
|
exports.refItemToShapePath = refItemToShapePath;
|
|
48
49
|
exports.refItemToShapeSchema = refItemToShapeSchema;
|
|
49
50
|
exports.refItemToShapeWithPath = refItemToShapeWithPath;
|
|
@@ -51,8 +52,6 @@ exports.refSchemaToPath = refSchemaToPath;
|
|
|
51
52
|
exports.refToRefItem = refToRefItem;
|
|
52
53
|
exports.returnShapeToSchema = returnShapeToSchema;
|
|
53
54
|
exports.serializePropertyRef = serializePropertyRef;
|
|
54
|
-
exports.shapeNameToRef = shapeNameToRef;
|
|
55
|
-
exports.shapeNameToRefItem = shapeNameToRefItem;
|
|
56
55
|
exports.shapeToRefItem = shapeToRefItem;
|
|
57
56
|
exports.splitAtRef = splitAtRef;
|
|
58
57
|
exports.untemplate = void 0;
|
|
@@ -111,7 +110,7 @@ function parseReturnShape(projectSchema, shape) {
|
|
|
111
110
|
return {
|
|
112
111
|
isArray: true,
|
|
113
112
|
ref,
|
|
114
|
-
shapeName:
|
|
113
|
+
shapeName: refItemToNamespacedShapeName(ref)
|
|
115
114
|
};
|
|
116
115
|
}
|
|
117
116
|
if (typeof shape.items.type !== 'string') {
|
|
@@ -123,7 +122,7 @@ function parseReturnShape(projectSchema, shape) {
|
|
|
123
122
|
};
|
|
124
123
|
}
|
|
125
124
|
const ref = refExpressionToRefItem(projectSchema, shape);
|
|
126
|
-
const shapeName =
|
|
125
|
+
const shapeName = refItemToNamespacedShapeName(ref);
|
|
127
126
|
return {
|
|
128
127
|
isArray: false,
|
|
129
128
|
shapeName,
|
|
@@ -204,7 +203,7 @@ function refExpressionToRefItem(context, refExpression) {
|
|
|
204
203
|
if (shapeName.includes(':')) {
|
|
205
204
|
return atRefToRefItem(context, shapeName, template);
|
|
206
205
|
}
|
|
207
|
-
return
|
|
206
|
+
return shapeNameToRefItem(context, shapeName, template);
|
|
208
207
|
}
|
|
209
208
|
|
|
210
209
|
/**
|
|
@@ -317,13 +316,14 @@ function getRef(context, refSchema) {
|
|
|
317
316
|
return refToRefItem(context, refSchema.$ref);
|
|
318
317
|
}
|
|
319
318
|
}
|
|
320
|
-
function getRefWithPath(context, refSchema, schemaPath = []) {
|
|
319
|
+
function getRefWithPath(context, refSchema, schemaPath = [], isInterfaceRef = false) {
|
|
321
320
|
const refItem = getRef(context, refSchema);
|
|
322
321
|
if (refItem) {
|
|
323
322
|
const refType = (0, _types.getRefType)(refSchema);
|
|
324
323
|
return {
|
|
325
324
|
...refItem,
|
|
326
|
-
path: schemaPath.concat([refType])
|
|
325
|
+
path: schemaPath.concat([refType]),
|
|
326
|
+
isInterfaceRef
|
|
327
327
|
};
|
|
328
328
|
}
|
|
329
329
|
}
|
|
@@ -355,13 +355,14 @@ function getRefOrItemsRef(context, refSchema, schemaPath = []) {
|
|
|
355
355
|
* Turns a `RefItem` into an `@ref`.
|
|
356
356
|
*/
|
|
357
357
|
function refItemToAtRef(refItem) {
|
|
358
|
-
|
|
358
|
+
const shapeRef = `${refItem.serviceKey}:${refItem.typeName}`;
|
|
359
|
+
return refItem.template ? createTemplateShapeName(refItem.template, shapeRef) : shapeRef;
|
|
359
360
|
}
|
|
360
361
|
|
|
361
362
|
/**
|
|
362
363
|
* Turns a `RefItem` into a standard shape name, namespacing if present.
|
|
363
364
|
*/
|
|
364
|
-
function
|
|
365
|
+
function refItemToNamespacedShapeName(refItem) {
|
|
365
366
|
const {
|
|
366
367
|
serviceNamespace,
|
|
367
368
|
typeName
|
|
@@ -373,7 +374,7 @@ function refItemToShapeName(refItem) {
|
|
|
373
374
|
* Turns a `RefItem` into a path suitable for `lodash.get`.
|
|
374
375
|
*/
|
|
375
376
|
function refItemToShapePath(refItem) {
|
|
376
|
-
return ['shapes',
|
|
377
|
+
return ['shapes', refItemToNamespacedShapeName(refItem)];
|
|
377
378
|
}
|
|
378
379
|
|
|
379
380
|
/**
|
|
@@ -416,7 +417,7 @@ function refItemToShapeSchema(context, refItem) {
|
|
|
416
417
|
*/
|
|
417
418
|
function getRefShapeName(context, refSchema) {
|
|
418
419
|
const refItem = getRef(context, refSchema);
|
|
419
|
-
return refItem ?
|
|
420
|
+
return refItem ? refItemToNamespacedShapeName(refItem) : undefined;
|
|
420
421
|
}
|
|
421
422
|
|
|
422
423
|
/**
|
|
@@ -627,8 +628,8 @@ function propertyRefToArgs(projectSchema, ref) {
|
|
|
627
628
|
/**
|
|
628
629
|
* Get a ref to the given shape.
|
|
629
630
|
*/
|
|
630
|
-
function
|
|
631
|
-
return refItemToAtRef(
|
|
631
|
+
function normalizeRefExpression(context, refExpression) {
|
|
632
|
+
return refItemToAtRef(refExpressionToRefItem(context, refExpression));
|
|
632
633
|
}
|
|
633
634
|
function normalizeLocalRefString(ref) {
|
|
634
635
|
return ref.startsWith('local:') ? ref.substring(6) : ref;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-util.d.ts","sourceRoot":"","sources":["../../src/schema-util.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EAEd,SAAS,EAET,SAAS,EACT,QAAQ,EACR,aAAa,EAGb,WAAW,EAEX,YAAY,EACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,+BAA+B,EAC/B,UAAU,EACV,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAElB,UAAU,EACV,aAAa,EACb,WAAW,EACZ,MAAM,eAAe,CAAC;AAQvB,OAAO,EAAC,KAAK,EAA4C,MAAM,iBAAiB,CAAC;AAiBjF,OAAO,EASL,OAAO,EAIP,eAAe,EACf,eAAe,EACf,qBAAqB,
|
|
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
|
@@ -484,7 +484,7 @@ const requiredBuiltinShapes = ['Asset', 'TSRelationship', 'TSStaticSite', 'TSUse
|
|
|
484
484
|
*/
|
|
485
485
|
function getBuiltinsUsed(projectSchema) {
|
|
486
486
|
const builtinsUsed = {};
|
|
487
|
-
const shapeNames = (0, _uniq.default)(requiredBuiltinShapes.concat(getAllRefs(projectSchema, refItem => refItem.serviceKey === 'local' && isBuiltinShape(refItem.typeName)).map(_refs.
|
|
487
|
+
const shapeNames = (0, _uniq.default)(requiredBuiltinShapes.concat(getAllRefs(projectSchema, refItem => refItem.serviceKey === 'local' && isBuiltinShape(refItem.typeName)).map(_refs.refItemToNamespacedShapeName)));
|
|
488
488
|
const schemaWithAllBuiltins = {
|
|
489
489
|
...emptySchema('project-id'),
|
|
490
490
|
shapes: _builtinSchema.builtInShapes
|
|
@@ -628,7 +628,7 @@ const createShapeToPropertySchema = (projectSchema, definitions, definitionNames
|
|
|
628
628
|
}
|
|
629
629
|
const refItem = (0, _refs.getRef)(projectSchema, propSchema);
|
|
630
630
|
if (refItem) {
|
|
631
|
-
const shapeName = (0, _refs.
|
|
631
|
+
const shapeName = (0, _refs.refItemToNamespacedShapeName)(refItem);
|
|
632
632
|
const shape = (0, _refs.refItemToShape)(projectSchema, refItem);
|
|
633
633
|
if (shape) {
|
|
634
634
|
delete propSchema['@ref'];
|
|
@@ -776,39 +776,44 @@ function addRef(refs, ref, predicate) {
|
|
|
776
776
|
*/
|
|
777
777
|
function getAllRefsInShapes(projectSchema, predicate) {
|
|
778
778
|
const items = [];
|
|
779
|
-
const refPropNames = ['$ref', '@ref', '@args', 'args'];
|
|
780
|
-
(0, _util.visit)(projectSchema.shapes, refPropNames, (
|
|
779
|
+
const refPropNames = ['$ref', '@ref', '@args', 'args', 'interfaces'];
|
|
780
|
+
(0, _util.visit)(projectSchema.shapes, refPropNames, (interfaces, refPath) => {
|
|
781
|
+
const propName = refPath[refPath.length - 1];
|
|
782
|
+
const path = ['shapes', ...refPath];
|
|
783
|
+
if (propName === 'interfaces' && (0, _isArray.default)(interfaces)) {
|
|
784
|
+
interfaces.forEach((interfaceRefExpression, index) => {
|
|
785
|
+
addRef(items, {
|
|
786
|
+
...(0, _refs.refExpressionToRefItem)(projectSchema, interfaceRefExpression),
|
|
787
|
+
path: [...path, index]
|
|
788
|
+
}, predicate);
|
|
789
|
+
});
|
|
790
|
+
}
|
|
791
|
+
|
|
781
792
|
// The client sometimes generates invalid schemas, like refs that are
|
|
782
793
|
// undefined. Treat ref as unknown and toss those out.
|
|
783
794
|
// See the `useShapeEditor > can deal with renames test`
|
|
784
|
-
if (!(0, _isString.default)(
|
|
795
|
+
if (!(0, _isString.default)(interfaces)) {
|
|
785
796
|
return;
|
|
786
797
|
}
|
|
787
|
-
const propName = refPath[refPath.length - 1];
|
|
788
|
-
const path = ['shapes', ...refPath];
|
|
789
|
-
let refItem = {};
|
|
790
798
|
if (propName === '@ref') {
|
|
791
799
|
const {
|
|
792
800
|
shapeName,
|
|
793
801
|
template
|
|
794
|
-
} = (0, _refs.parseTemplateShape)(
|
|
795
|
-
|
|
802
|
+
} = (0, _refs.parseTemplateShape)(interfaces);
|
|
803
|
+
addRef(items, {
|
|
796
804
|
...(0, _refs.atRefToRefItem)(projectSchema, shapeName, template),
|
|
797
805
|
path
|
|
798
|
-
};
|
|
806
|
+
}, predicate);
|
|
799
807
|
} else if (propName === '$ref') {
|
|
800
|
-
|
|
801
|
-
...(0, _refs.refToRefItem)(projectSchema,
|
|
808
|
+
addRef(items, {
|
|
809
|
+
...(0, _refs.refToRefItem)(projectSchema, interfaces),
|
|
802
810
|
path
|
|
803
|
-
};
|
|
811
|
+
}, predicate);
|
|
804
812
|
} else if (propName === '@args' || propName === 'args') {
|
|
805
|
-
|
|
806
|
-
...(0, _refs.refExpressionToRefItem)(projectSchema,
|
|
813
|
+
addRef(items, {
|
|
814
|
+
...(0, _refs.refExpressionToRefItem)(projectSchema, interfaces),
|
|
807
815
|
path
|
|
808
|
-
};
|
|
809
|
-
}
|
|
810
|
-
if ((0, _refs.isRefItemWithPath)(refItem)) {
|
|
811
|
-
addRef(items, refItem, predicate);
|
|
816
|
+
}, predicate);
|
|
812
817
|
}
|
|
813
818
|
});
|
|
814
819
|
return items;
|
|
@@ -936,7 +941,7 @@ function getShapesById(projectSchema) {
|
|
|
936
941
|
*/
|
|
937
942
|
function getAllNamespaceShapes(projectSchema) {
|
|
938
943
|
const isServiceRef = refItem => Boolean(refItem.serviceNamespace);
|
|
939
|
-
return (0, _uniq.default)(getAllRefs(projectSchema, isServiceRef).map(_refs.
|
|
944
|
+
return (0, _uniq.default)(getAllRefs(projectSchema, isServiceRef).map(_refs.refItemToNamespacedShapeName));
|
|
940
945
|
}
|
|
941
946
|
|
|
942
947
|
/**
|
|
@@ -993,7 +998,7 @@ function filterGraphQLServiceMap(serviceMap) {
|
|
|
993
998
|
*/
|
|
994
999
|
function collectReferencedShapeNames(context, shapeNames) {
|
|
995
1000
|
const addRef = refItem => {
|
|
996
|
-
shapeNames.add((0, _refs.
|
|
1001
|
+
shapeNames.add((0, _refs.refItemToNamespacedShapeName)(refItem));
|
|
997
1002
|
};
|
|
998
1003
|
const collect = schema => {
|
|
999
1004
|
const args = schema['@args'];
|
|
@@ -1206,7 +1211,7 @@ function fieldMappingContainsKey(fieldMapping, key) {
|
|
|
1206
1211
|
const schemaMatchesShapeName = (workingCopy, schemaWithRef, shapeName) => {
|
|
1207
1212
|
const arrayOfShapeRef = (0, _refs.getRef)(workingCopy, schemaWithRef);
|
|
1208
1213
|
(0, _tinyInvariant.default)(arrayOfShapeRef);
|
|
1209
|
-
const arrayOfShapeName = (0, _refs.
|
|
1214
|
+
const arrayOfShapeName = (0, _refs.refItemToNamespacedShapeName)(arrayOfShapeRef);
|
|
1210
1215
|
return arrayOfShapeName === shapeName;
|
|
1211
1216
|
};
|
|
1212
1217
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/template-shapes/templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAqB,cAAc,EAAE,SAAS,EAAc,MAAM,mBAAmB,CAAC;AAC/G,OAAO,KAAK,EAAC,gBAAgB,EAAE,eAAe,EAAC,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/template-shapes/templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAqB,cAAc,EAAE,SAAS,EAAc,MAAM,mBAAmB,CAAC;AAC/G,OAAO,KAAK,EAAC,gBAAgB,EAAE,eAAe,EAAC,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAC,aAAa,EAAC,MAAM,SAAS,CAAC;AAiBtC,eAAO,MAAM,SAAS,YAoJH,OAAO,SAAS,SAAS,KAAG,gBAAgB,AApJX,CAAC;AACrD,eAAO,MAAM,kBAAkB,YAmJZ,OAAO,SAAS,SAAS,KAAG,gBAAgB,AAnJO,CAAC;AACvE,eAAO,MAAM,UAAU,YA0WJ,eAAe,SAAS,SAAS,KAAG,gBAAgB,AA1WJ,CAAC;AACpE,eAAO,MAAM,YAAY,YAyWN,eAAe,SAAS,SAAS,KAAG,gBAAgB,AAzWC,CAAC;AACzE,eAAO,MAAM,UAAU,sBAsNI,eAAe,SAAS,SAAS,KAAG,gBAAgB,AAtNF,CAAC;AAC9E,eAAO,MAAM,UAAU,sBAqNI,eAAe,SAAS,SAAS,KAAG,gBAAgB,AArNF,CAAC;AAC9E,eAAO,MAAM,aAAa,sBAoNC,eAAe,SAAS,SAAS,KAAG,gBAAgB,AApNO,CAAC;AACvF,eAAO,MAAM,UAAU,sBAmNI,eAAe,SAAS,SAAS,KAAG,gBAAgB,AAnNF,CAAC;AAC9E,eAAO,MAAM,aAAa,8BAAwB,CAAC;AACnD,eAAO,MAAM,aAAa,8BAAwB,CAAC;AACnD,eAAO,MAAM,YAAY,YA+RN,OAAO,SAAS,SAAS,KAAG,gBAAgB,AA/RQ,CAAC;AACxE,eAAO,MAAM,YAAY,YA8RN,OAAO,SAAS,SAAS,KAAG,gBAAgB,AA9RQ,CAAC;AACxE,eAAO,MAAM,eAAe,YA6RT,OAAO,SAAS,SAAS,KAAG,gBAAgB,AA7Rc,CAAC;AAC9E,eAAO,MAAM,YAAY,YA4RN,OAAO,SAAS,SAAS,KAAG,gBAAgB,AA5RQ,CAAC;AAExE,eAAO,MAAM,iBAAiB,WAU5B,CAAC;AAEH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAqB5D,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,YAMzB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,YAKxB,CAAC;AAEF,eAAO,MAAM,uBAAuB,WAsBnC,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,GAAG,gBAAgB,CAe1F;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,GAAG,gBAAgB,CAmB1F;AAsBD,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,aAChC,OAAO,SAAS,SAAS,KAAG,gBAAgB,CAU9D;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,aAAa,eACxC,MAAM,YAG1B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAM3D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AA2BD;;GAEG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,uBAM9C,eAAe,SAAS,SAAS,KAAG,gBAAgB,CA4E9E;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,aACtC,OAAO,SAAS,SAAS,KAAG,gBAAgB,CAiB9D;AAED,eAAO,MAAM,gBAAgB,EAAE,YAwB9B,CAAC;AAuBF,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,aAC5D,eAAe,SAAS,SAAS,KAAG,gBAAgB,CA0BtE"}
|
|
@@ -247,7 +247,7 @@ function rewriteRefs(context, shapeSchema, rewriteShapeName) {
|
|
|
247
247
|
if ((value['@ref'] || value.$ref) && !parentPath.includes('@input') && !parentPath.includes('@output')) {
|
|
248
248
|
const refItem = (0, _refs.getRef)(context, value);
|
|
249
249
|
if (refItem) {
|
|
250
|
-
value['@ref'] = refItem.isForeign ? (0, _refs.refItemToAtRef)(refItem) : `local:${rewriteShapeName((0, _refs.
|
|
250
|
+
value['@ref'] = refItem.isForeign ? (0, _refs.refItemToAtRef)(refItem) : `local:${rewriteShapeName((0, _refs.refItemToNamespacedShapeName)(refItem))}`;
|
|
251
251
|
if (value.$ref) {
|
|
252
252
|
delete value.$ref;
|
|
253
253
|
}
|
|
@@ -231,7 +231,7 @@ function getTypeName(name, prop, shapeName, context) {
|
|
|
231
231
|
const prefix = `TS${relationshipDepth >= MAX_RELATIONSHIP_DEPTH ? 'Shallow' : ''}Where`;
|
|
232
232
|
const fieldName = `${conflictingProperties !== null && conflictingProperties !== void 0 && conflictingProperties.has(name) ? '_' : ''}${(0, _util.formatShapeName)(name)}`;
|
|
233
233
|
const refItem = (0, _refs.getRefOrItemsRef)(projectSchema, prop);
|
|
234
|
-
const suffix = refItem ? (0, _refs.
|
|
234
|
+
const suffix = refItem ? (0, _refs.refItemToNamespacedShapeName)(refItem) : `${shapeName}${fieldName}`;
|
|
235
235
|
return `${prefix}${suffix}`;
|
|
236
236
|
}
|
|
237
237
|
return `TSWhere${(0, _util.pascalCase)(type)}`;
|
package/dist/unions.js
CHANGED
|
@@ -23,7 +23,7 @@ function enumerateOneOfKeys(projectSchema, oneOf) {
|
|
|
23
23
|
for (const child of oneOf) {
|
|
24
24
|
const refItem = (0, _refs.getRef)(projectSchema, child);
|
|
25
25
|
if (refItem) {
|
|
26
|
-
const shapeName = (0, _refs.
|
|
26
|
+
const shapeName = (0, _refs.refItemToNamespacedShapeName)(refItem);
|
|
27
27
|
if (projectSchema.shapes[shapeName]) {
|
|
28
28
|
const shapeId = projectSchema.shapes[shapeName].id;
|
|
29
29
|
result.push({
|
package/dist/util/form-config.js
CHANGED
|
@@ -43,7 +43,7 @@ function normalizeForms(projectSchema) {
|
|
|
43
43
|
if (propSchema) {
|
|
44
44
|
const ref = (0, _refs.getRefOrItemsRef)(projectSchema, propSchema);
|
|
45
45
|
if (ref && propConfig.properties) {
|
|
46
|
-
const nestedShapeName = (0, _refs.
|
|
46
|
+
const nestedShapeName = (0, _refs.refItemToNamespacedShapeName)(ref);
|
|
47
47
|
normalizedForms[nestedShapeName] = {
|
|
48
48
|
default: (0, _util.deepClone)(propConfig)
|
|
49
49
|
};
|
package/dist/validate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,WAAW,EAAC,MAAM,KAAK,CAAC;AACvD,OAAO,KAAK,EAAC,UAAU,EAAE,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAC,mBAAmB,EAAE,UAAU,EAAc,MAAM,eAAe,CAAC;AAChF,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EAYlB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAwB,yBAAyB,EAAC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,WAAW,EAAC,MAAM,KAAK,CAAC;AACvD,OAAO,KAAK,EAAC,UAAU,EAAE,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAC,mBAAmB,EAAE,UAAU,EAAc,MAAM,eAAe,CAAC;AAChF,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EAYlB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAwB,yBAAyB,EAAC,MAAM,mBAAmB,CAAC;AA+BnF,OAAO,EAEL,YAAY,EAKb,MAAM,iBAAiB,CAAC;AAWzB,OAAO,EAAC,WAAW,EAAC,MAAM,WAAW,CAAC;AA82BtC,MAAM,MAAM,sBAAsB,GAC9B;IAAC,KAAK,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,oBAAoB,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAC,GAC9D;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,yBAAyB,EAAE,CAAA;CAAC,CAAC;AAE3E,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,yBAAyB,CAuBzE;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,qBAAqB,KAAK,sBAAsB,CAAC;CACxF;AACD,MAAM,WAAW,qBAAqB;IACpC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAEpE,MAAM,WAAW,eAAgB,SAAQ,qBAAqB;IAC5D,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,MAAM,yBAAyB,GAAG,WAAW,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;AAmHrF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,GAAE,qBAA0B,GAAG,sBAAsB,CAW9G;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAgC5G;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,CAgB7E;AAgBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,CAQpE;AAgBD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,OAAO,GAAG,UAAU,CAQrE;AAED,MAAM,MAAM,mCAAmC,GAC3C;IAAC,KAAK,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAC,GAC7D;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,yBAAyB,EAAE,CAAA;CAAC,CAAC;AAE3E;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,OAAO,GAAG,mCAAmC,CAIrG;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,OAAO,GAAG,mBAAmB,CAQxF"}
|
package/dist/validate.js
CHANGED
|
@@ -471,7 +471,7 @@ function validateLocalRefs(projectSchema) {
|
|
|
471
471
|
message: `Invalid template "${item.template}"`
|
|
472
472
|
});
|
|
473
473
|
}
|
|
474
|
-
const shapeName = (0, _refs.
|
|
474
|
+
const shapeName = (0, _refs.refItemToNamespacedShapeName)(item);
|
|
475
475
|
if (!shapeNames.has(shapeName)) {
|
|
476
476
|
const invalidRef = (0, _get.default)(projectSchema, item.path);
|
|
477
477
|
const path = invalidRef.items ? [...item.path, 'items', '@ref'] : item.path;
|
|
@@ -508,10 +508,15 @@ function isValidRef(context, projectSchema, layer, item) {
|
|
|
508
508
|
const {
|
|
509
509
|
serviceKey: layerId
|
|
510
510
|
} = item;
|
|
511
|
-
const shapeName = (0, _refs.
|
|
511
|
+
const shapeName = (0, _refs.refItemToNamespacedShapeName)(item);
|
|
512
512
|
const localShapeExists = Boolean(projectSchema.shapes[shapeName]) || builtInShapeNames.has(shapeName);
|
|
513
513
|
return layerId === 'local' ? localShapeExists : localShapeExists || isValidShapeReference(context, layer, shapeName);
|
|
514
514
|
}
|
|
515
|
+
function mustBeInterface({
|
|
516
|
+
path
|
|
517
|
+
}) {
|
|
518
|
+
return path[0] === 'shapes' && path[2] === 'interfaces';
|
|
519
|
+
}
|
|
515
520
|
async function validateRefs(context, projectSchema) {
|
|
516
521
|
const {
|
|
517
522
|
resolveLayer
|
|
@@ -536,13 +541,18 @@ async function validateRefs(context, projectSchema) {
|
|
|
536
541
|
const {
|
|
537
542
|
serviceKey: layerId
|
|
538
543
|
} = item;
|
|
539
|
-
const
|
|
544
|
+
const layer = layersById[layerId];
|
|
545
|
+
const valid = isValidRef(context, projectSchema, layer, item);
|
|
540
546
|
if (!valid) {
|
|
541
547
|
errors.push({
|
|
542
548
|
type: 'notFound',
|
|
543
549
|
path: item.path,
|
|
544
550
|
message: `Invalid ref "${(0, _get.default)(projectSchema, item.path)}"`
|
|
545
551
|
});
|
|
552
|
+
} else if (mustBeInterface(item)) {
|
|
553
|
+
const context = (layer === null || layer === void 0 ? void 0 : layer.schema) ?? projectSchema;
|
|
554
|
+
const shape = (0, _get.default)(context, item.path.slice(0, 2));
|
|
555
|
+
errors.push(...validateShapeImplementsInterface(context, shape, item, item.path));
|
|
546
556
|
}
|
|
547
557
|
}
|
|
548
558
|
return errors;
|
|
@@ -647,14 +657,14 @@ function matchesInterface(shape, interfaceShape, path) {
|
|
|
647
657
|
}
|
|
648
658
|
return errors;
|
|
649
659
|
}
|
|
650
|
-
function validateShapeImplementsInterface(projectSchema, shape,
|
|
660
|
+
function validateShapeImplementsInterface(projectSchema, shape, interfaceRefItem, path) {
|
|
651
661
|
const errors = [];
|
|
652
|
-
const interfaceShape = projectSchema
|
|
662
|
+
const interfaceShape = (0, _refs.refItemToShape)(projectSchema, interfaceRefItem);
|
|
653
663
|
if (!interfaceShape) {
|
|
654
664
|
errors.push({
|
|
655
665
|
type: 'notFound',
|
|
656
666
|
path,
|
|
657
|
-
message: `Invalid interface "${
|
|
667
|
+
message: `Invalid interface "${(0, _refs.refItemToAtRef)(interfaceRefItem)}" not found`
|
|
658
668
|
});
|
|
659
669
|
} else if (interfaceShape.type !== 'interface') {
|
|
660
670
|
errors.push({
|
|
@@ -684,13 +694,6 @@ function validateInterfaceImplementations(projectSchema) {
|
|
|
684
694
|
message: `"${shape.name}" must have an object or extends schema to implement interfaces`
|
|
685
695
|
}];
|
|
686
696
|
}
|
|
687
|
-
for (let i = 0; i < shape.interfaces.length; i++) {
|
|
688
|
-
const path = ['shapes', shape.name, 'interfaces', i];
|
|
689
|
-
const interfaceErrors = validateShapeImplementsInterface(projectSchema, shape, shape.interfaces[i], path);
|
|
690
|
-
if (interfaceErrors.length) {
|
|
691
|
-
errors.push(...interfaceErrors);
|
|
692
|
-
}
|
|
693
|
-
}
|
|
694
697
|
}
|
|
695
698
|
}
|
|
696
699
|
return errors;
|