@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.
@@ -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.refItemToShapeName)(ref));
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
  }
@@ -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(shapeMap: ShapeMap, interfaceName: string): ShapeJSON[];
11
- export declare function interfaceToUnion(context: Pick<ProjectSchemaJSON, 'shapes' | 'services'>, interfaceName: string): OneOfSchema;
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
@@ -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;AAMlD,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,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAYlE;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,GAAG,SAAS,EAAE,CAS5F;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,UAAU,CAAC,EACvD,aAAa,EAAE,MAAM,GACpB,WAAW,CAKb;AAED,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE,CAgBlG"}
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"}
@@ -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(name => shapeMap[name]);
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 getImplementingShapes(shapeMap, interfaceName) {
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.includes(interfaceName)) {
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, interfaceName) {
76
- const shapes = getImplementingShapes(context.shapes, interfaceName);
79
+ function interfaceToUnion(context, interfaceRef) {
80
+ const shapes = getImplementingShapes(context, interfaceRef);
77
81
  return {
78
82
  oneOf: shapes.map(shape => ({
79
- '@ref': (0, _refs.shapeNameToRef)(context, shape.name)
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.shapes, shape.name).map(shape => shape.name);
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.refItemToShapeName)(ref);
94
+ return ref && (0, _refs.refItemToNamespacedShapeName)(ref);
91
95
  }).filter(_util.isDefined);
92
96
  } else {
93
97
  names = [shape.name];
@@ -73,7 +73,7 @@ const migrate = async (_, projectSchema) => {
73
73
  title: name,
74
74
  schema: {
75
75
  extends: [{
76
- '@ref': (0, _refs.shapeNameToRef)(projectSchema, name)
76
+ '@ref': (0, _refs.normalizeRefExpression)(projectSchema, name)
77
77
  }]
78
78
  }
79
79
  };
@@ -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
- shapeNameToRef(shapeName: string): string;
34
- shapeNameToRefItem(shapeName: string): RefItem;
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,cAAc,CAAC,SAAS,EAAE,MAAM;IAIhC,kBAAkB,CAAC,SAAS,EAAE,MAAM;CAGrC"}
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.shapeNameToRef)(this.json, name)));
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
- shapeNameToRef(shapeName) {
92
- return (0, _refs.shapeNameToRef)(this.json, shapeName);
91
+ normalizeRefExpression(refExpression) {
92
+ return (0, _refs.normalizeRefExpression)(this.json, refExpression);
93
93
  }
94
- shapeNameToRefItem(shapeName) {
95
- return (0, _refs.shapeNameToRefItem)(this.json, shapeName);
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 refItemToShapeName(refItem: RefItem): string;
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 shapeNameToRef(context: ServicesContext, shapeName: string): string;
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 {
@@ -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: refItemToShapeName(ref)
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 = refItemToShapeName(ref);
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 refToRefItem(context, `#/shapes/${shapeName}/schema`, template);
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
- return `${refItem.serviceKey}:${refItem.typeName}`;
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 refItemToShapeName(refItem) {
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', refItemToShapeName(refItem)];
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 ? refItemToShapeName(refItem) : undefined;
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 shapeNameToRef(context, shapeName) {
631
- return refItemToAtRef(shapeNameToRefItem(context, shapeName));
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":"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"}
1
+ {"version":3,"file":"schema-util.d.ts","sourceRoot":"","sources":["../../src/schema-util.ts"],"names":[],"mappings":"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"}
@@ -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.refItemToShapeName)));
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.refItemToShapeName)(refItem);
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, (ref, refPath) => {
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)(ref)) {
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)(ref);
795
- refItem = {
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
- refItem = {
801
- ...(0, _refs.refToRefItem)(projectSchema, ref),
808
+ addRef(items, {
809
+ ...(0, _refs.refToRefItem)(projectSchema, interfaces),
802
810
  path
803
- };
811
+ }, predicate);
804
812
  } else if (propName === '@args' || propName === 'args') {
805
- refItem = {
806
- ...(0, _refs.refExpressionToRefItem)(projectSchema, ref),
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.refItemToShapeName));
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.refItemToShapeName)(refItem));
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.refItemToShapeName)(arrayOfShapeRef);
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;AAWtC,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"}
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.refItemToShapeName)(refItem))}`;
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.refItemToShapeName)(refItem) : `${shapeName}${fieldName}`;
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.refItemToShapeName)(refItem);
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({
@@ -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.refItemToShapeName)(ref);
46
+ const nestedShapeName = (0, _refs.refItemToNamespacedShapeName)(ref);
47
47
  normalizedForms[nestedShapeName] = {
48
48
  default: (0, _util.deepClone)(propConfig)
49
49
  };
@@ -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;AA4BnF,OAAO,EAEL,YAAY,EAKb,MAAM,iBAAiB,CAAC;AAWzB,OAAO,EAAC,WAAW,EAAC,MAAM,WAAW,CAAC;AA62BtC,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"}
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.refItemToShapeName)(item);
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.refItemToShapeName)(item);
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 valid = isValidRef(context, projectSchema, layersById[layerId], item);
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, interfaceShapeName, path) {
660
+ function validateShapeImplementsInterface(projectSchema, shape, interfaceRefItem, path) {
651
661
  const errors = [];
652
- const interfaceShape = projectSchema.shapes[interfaceShapeName];
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 "${interfaceShapeName}" not found`
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;