@takeshape/schema 8.67.0 → 8.68.7

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.
Files changed (95) hide show
  1. package/es/content-schema-transform.js +2 -2
  2. package/es/layers/layers.js +2 -2
  3. package/es/layers/type-utils.js +4 -4
  4. package/es/migration/index.js +6 -1
  5. package/es/migration/to/v3.15.0.js +10 -0
  6. package/es/project-schema/index.js +1 -0
  7. package/es/project-schema/v3.15.0.js +1 -0
  8. package/es/refs.js +78 -1
  9. package/es/rewrite.js +4 -5
  10. package/es/schema-util.js +32 -118
  11. package/es/schemas/index.js +4 -3
  12. package/es/schemas/index.ts +4 -2
  13. package/es/schemas/project-schema/v3.15.0.json +2359 -0
  14. package/es/schemas/project-schema.json +1 -1
  15. package/es/template-shapes/templates.js +4 -11
  16. package/es/types/utils.js +12 -8
  17. package/es/unions.js +5 -5
  18. package/es/util/detect-cycles.js +2 -2
  19. package/es/util/index.js +2 -1
  20. package/es/util/merge.js +36 -0
  21. package/es/validate.js +2 -10
  22. package/examples/latest/betzino.json +1 -1
  23. package/examples/latest/blog-schema.json +1 -1
  24. package/examples/latest/brewery-schema.json +1 -1
  25. package/examples/latest/complex-project-schema.json +1 -1
  26. package/examples/latest/fabric-ecommerce.json +1 -1
  27. package/examples/latest/frank-and-fred-schema.json +1 -1
  28. package/examples/latest/massive-schema.json +1 -1
  29. package/examples/latest/mill-components-schema.json +1 -1
  30. package/examples/latest/pet-oneof-array.json +1 -1
  31. package/examples/latest/post-schema.json +1 -1
  32. package/examples/latest/pruned-shopify-product-schema.json +1 -1
  33. package/examples/latest/real-world-schema.json +1 -1
  34. package/examples/latest/recursive-repeater-schema.json +1 -1
  35. package/examples/latest/recursive-schema.json +1 -1
  36. package/examples/latest/rick-and-morty-ast.json +1 -1
  37. package/examples/latest/rick-and-morty-graphql.json +1 -1
  38. package/examples/latest/rick-and-morty-rest.json +1 -1
  39. package/examples/latest/schema-with-repeater-draftjs.json +1 -1
  40. package/examples/latest/shape-books-v3_2_0.json +1 -1
  41. package/examples/latest/shape-books.json +1 -1
  42. package/examples/latest/shopify-lookbook.json +1 -1
  43. package/examples/latest/shopify-store-with-widget.json +1 -1
  44. package/examples/latest/stripe-starter-resolved.json +1 -1
  45. package/examples/latest/user-schema-no-required.json +1 -1
  46. package/examples/latest/user-schema-with-defaults.json +1 -1
  47. package/lib/content-schema-transform.js +6 -6
  48. package/lib/layers/layers.js +1 -1
  49. package/lib/layers/type-utils.js +3 -3
  50. package/lib/migration/index.d.ts.map +1 -1
  51. package/lib/migration/index.js +6 -0
  52. package/lib/migration/to/v3.15.0.d.ts +4 -0
  53. package/lib/migration/to/v3.15.0.d.ts.map +1 -0
  54. package/lib/migration/to/v3.15.0.js +18 -0
  55. package/lib/project-schema/index.d.ts +3 -1
  56. package/lib/project-schema/index.d.ts.map +1 -1
  57. package/lib/project-schema/index.js +33 -20
  58. package/lib/project-schema/latest.d.ts +45 -23
  59. package/lib/project-schema/latest.d.ts.map +1 -1
  60. package/lib/project-schema/v3.15.0.d.ts +1459 -0
  61. package/lib/project-schema/v3.15.0.d.ts.map +1 -0
  62. package/lib/project-schema/v3.15.0.js +5 -0
  63. package/lib/refs.d.ts +11 -2
  64. package/lib/refs.d.ts.map +1 -1
  65. package/lib/refs.js +83 -0
  66. package/lib/rewrite.d.ts.map +1 -1
  67. package/lib/rewrite.js +5 -5
  68. package/lib/schema-util.d.ts +3 -15
  69. package/lib/schema-util.d.ts.map +1 -1
  70. package/lib/schema-util.js +36 -135
  71. package/lib/schemas/index.d.ts +2302 -2
  72. package/lib/schemas/index.d.ts.map +1 -1
  73. package/lib/schemas/index.js +24 -22
  74. package/lib/schemas/index.ts +4 -2
  75. package/lib/schemas/project-schema/v3.15.0.json +2359 -0
  76. package/lib/schemas/project-schema.json +1 -1
  77. package/lib/template-shapes/templates.d.ts.map +1 -1
  78. package/lib/template-shapes/templates.js +8 -13
  79. package/lib/types/types.d.ts +2 -2
  80. package/lib/types/types.d.ts.map +1 -1
  81. package/lib/types/utils.d.ts +3 -1
  82. package/lib/types/utils.d.ts.map +1 -1
  83. package/lib/types/utils.js +15 -8
  84. package/lib/unions.js +4 -4
  85. package/lib/util/detect-cycles.d.ts +1 -1
  86. package/lib/util/detect-cycles.js +2 -2
  87. package/lib/util/index.d.ts +1 -0
  88. package/lib/util/index.d.ts.map +1 -1
  89. package/lib/util/index.js +13 -0
  90. package/lib/util/merge.d.ts +5 -0
  91. package/lib/util/merge.d.ts.map +1 -0
  92. package/lib/util/merge.js +51 -0
  93. package/lib/validate.d.ts.map +1 -1
  94. package/lib/validate.js +3 -10
  95. package/package.json +4 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v3.15.0.d.ts","sourceRoot":"","sources":["../../../src/project-schema/v3.15.0.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
package/lib/refs.d.ts CHANGED
@@ -1,8 +1,7 @@
1
1
  /// <reference types="lodash" />
2
2
  import type { SchemaPath, SchemaWithRef, ProjectSchemaV3X } from './types';
3
- import type { PropertySchema, Shape, ShapeSchema } from './project-schema';
3
+ import type { PropertySchema, Shape, ShapeSchema, ObjectSchema, ReturnShape } from './project-schema';
4
4
  import type { Maybe } from '@takeshape/util';
5
- import { ReturnShape } from './project-schema';
6
5
  export declare type ServicesContext = Pick<ProjectSchemaV3X, 'services'>;
7
6
  export declare type ServicesShapesContext = Pick<ProjectSchemaV3X, 'services' | 'shapes'>;
8
7
  /**
@@ -144,4 +143,14 @@ export declare function hasRef(schema: PropertySchema): boolean;
144
143
  * Returns whether a schema has refs which can be followed.
145
144
  */
146
145
  export declare function hasResolvableRef(context: ServicesShapesContext, schema: PropertySchema): boolean;
146
+ /**
147
+ * Given a schema, will resolve any `allOf` or `ref` objects. This function has
148
+ * to fully resolve all refs, because attempting to extend an object schema with
149
+ * a ref property would create an invalid schema, potentially containing both
150
+ * a ref and properties.
151
+ *
152
+ * If it can't create a valid schema it returns the input.
153
+ */
154
+ export declare function dereferenceSchema(context: ServicesShapesContext, shapeOrFieldSchema: PropertySchema, schemaPath?: SchemaPath): PropertySchema;
155
+ export declare function dereferenceObjectSchema(context: ServicesShapesContext, shapeOrFieldSchema: PropertySchema, schemaPath?: SchemaPath): ObjectSchema;
147
156
  //# sourceMappingURL=refs.d.ts.map
package/lib/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":";AAAA,OAAO,KAAK,EAAC,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAC,MAAM,SAAS,CAAC;AACzE,OAAO,KAAK,EAAC,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAC;AACpG,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAkB3C,oBAAY,eAAe,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;AACjE,oBAAY,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,QAAQ,CAAC,CAAC;AAElF;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAC9C,IAAI,EAAE,UAAU,CAAC;CAClB;AAGD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,eAAe,EAAE,MAAM,GAAG;IAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC,CAO7G;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,eAAe,EAAE,KAAK,EAAE,WAAW,GAAG,iBAAiB,CAqBtG;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnF;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,UAAW,MAAM,WAEvC,CAAC;AAEF,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAE1F;AAUD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAQrF;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,YAOjF;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAQ/F;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAExG;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAKlD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAalG;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAyB/F;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,CAWzF;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,aAAa,EACxB,UAAU,GAAE,UAAe,GAC1B,KAAK,CAAC,eAAe,CAAC,CAUxB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAE7D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,aAAa,EACxB,UAAU,GAAE,UAAe,GAC1B,KAAK,CAAC,eAAe,CAAC,CAUxB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAEvD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAG3D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAE7D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAG7F;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,CAGzG;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAGjG;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAG3G;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,iBAAkB,cAAc,gBAAgB,cAAc,4EAC/B,CAAC;AAE7D;;;GAGG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,qBAAqB,EAAE,MAAM,EAAE,cAAc,GAAG,cAAc,CAWhG;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CActD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAchG;AAWD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,qBAAqB,EAC9B,kBAAkB,EAAE,cAAc,EAClC,UAAU,GAAE,UAAe,GAC1B,cAAc,CA6ChB;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,qBAAqB,EAC9B,kBAAkB,EAAE,cAAc,EAClC,UAAU,GAAE,UAAe,GAC1B,YAAY,CAQd"}
package/lib/refs.js CHANGED
@@ -7,6 +7,8 @@ exports.$refToAtRef = $refToAtRef;
7
7
  exports.anyRefToShapeSchemaPath = anyRefToShapeSchemaPath;
8
8
  exports.atRefToRefItem = atRefToRefItem;
9
9
  exports.createTemplateShapeName = createTemplateShapeName;
10
+ exports.dereferenceObjectSchema = dereferenceObjectSchema;
11
+ exports.dereferenceSchema = dereferenceSchema;
10
12
  exports.followRef = followRef;
11
13
  exports.getFlattenedTemplateShapeName = getFlattenedTemplateShapeName;
12
14
  exports.getRef = getRef;
@@ -41,6 +43,12 @@ var _omit = _interopRequireDefault(require("lodash/fp/omit"));
41
43
 
42
44
  var _services = require("./services");
43
45
 
46
+ var _merge = require("./util/merge");
47
+
48
+ var _compile = require("ajv/dist/compile");
49
+
50
+ var _util = require("@takeshape/util");
51
+
44
52
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
45
53
 
46
54
  const templateShapeRegex = /^(\w+)<([\w:-]+)>$/;
@@ -439,4 +447,79 @@ function hasResolvableRef(context, schema) {
439
447
  }
440
448
 
441
449
  return false;
450
+ }
451
+
452
+ function isSelfReferential(path, shapeName) {
453
+ if (path[0] !== 'shapes' || path[1] !== shapeName) {
454
+ return false;
455
+ }
456
+
457
+ const index = path.findIndex(part => part === 'allOf' || part === 'extends');
458
+ return index !== -1 && (0, _util.isIntegerLike)(path[index + 1]);
459
+ }
460
+ /**
461
+ * Given a schema, will resolve any `allOf` or `ref` objects. This function has
462
+ * to fully resolve all refs, because attempting to extend an object schema with
463
+ * a ref property would create an invalid schema, potentially containing both
464
+ * a ref and properties.
465
+ *
466
+ * If it can't create a valid schema it returns the input.
467
+ */
468
+
469
+
470
+ function dereferenceSchema(context, shapeOrFieldSchema, schemaPath = []) {
471
+ const resolveAll = (resolveSchema, resolvePath) => {
472
+ try {
473
+ if ((0, _types.isAllOfSchema)(resolveSchema)) {
474
+ return merge(resolveSchema.allOf, 'allOf', resolvePath);
475
+ }
476
+
477
+ if ((0, _types.isExtendsSchema)(resolveSchema)) {
478
+ return merge(resolveSchema.extends, 'extends', resolvePath);
479
+ }
480
+
481
+ if ((0, _types.isRefSchema)(resolveSchema)) {
482
+ const refItem = getRefWithPath(context, resolveSchema);
483
+
484
+ if (!refItem) {
485
+ throw new Error('ref could not be parsed');
486
+ }
487
+
488
+ const shape = refItemToShape(context, refItem);
489
+
490
+ if (shape && !isSelfReferential(resolvePath, shape.name)) {
491
+ return resolveAll(omitRefAndExtend(resolveSchema, shape.schema), refItem.path);
492
+ }
493
+
494
+ return;
495
+ }
496
+
497
+ return resolveSchema;
498
+ } catch (err) {
499
+ throw new Error(`error at '${resolvePath.join('.')}', ${err.message}`);
500
+ }
501
+ };
502
+
503
+ const merge = (schemas, propName, path) => {
504
+ const mergedSchema = schemas.map((schema, index) => {
505
+ const resolved = resolveAll(schema, [...path, propName, index]);
506
+ return resolved && (0, _types.isObjectSchema)(resolved) ? resolved : undefined;
507
+ }).reduce((prev, curr) => (0, _merge.mergeObjectSchemas)(prev, curr), {
508
+ type: 'object',
509
+ properties: {}
510
+ });
511
+ return (0, _assign.default)((0, _omit.default)(propName, _compile.resolveSchema), mergedSchema);
512
+ };
513
+
514
+ return resolveAll(shapeOrFieldSchema, schemaPath) ?? shapeOrFieldSchema;
515
+ }
516
+
517
+ function dereferenceObjectSchema(context, shapeOrFieldSchema, schemaPath = []) {
518
+ const schema = dereferenceSchema(context, shapeOrFieldSchema, schemaPath);
519
+
520
+ if (!(0, _types.isObjectSchema)(schema)) {
521
+ throw new Error(`provided schema at '${schemaPath.join('.')}' could not be resolved to an object schema`);
522
+ }
523
+
524
+ return schema;
442
525
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rewrite.d.ts","sourceRoot":"","sources":["../../src/rewrite.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAkBD;;GAEG;AAEH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,oBAAoB,GAAG,CAAC,CAkC3F"}
1
+ {"version":3,"file":"rewrite.d.ts","sourceRoot":"","sources":["../../src/rewrite.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAkBD;;GAEG;AAEH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,oBAAoB,GAAG,CAAC,CAkC3F"}
package/lib/rewrite.js CHANGED
@@ -7,6 +7,8 @@ exports.rewriteSchema = rewriteSchema;
7
7
 
8
8
  var _defaults = _interopRequireDefault(require("lodash/fp/defaults"));
9
9
 
10
+ var _util = require("@takeshape/util");
11
+
10
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
13
 
12
14
  const rewriteSchemaCache = new Map();
@@ -42,11 +44,9 @@ function rewriteSchema(schema, options) {
42
44
  }
43
45
 
44
46
  rewrittenSchema = JSON.parse(JSON.stringify(schema), (_key, value) => {
45
- if (typeof value === 'object') {
46
- var _value$required;
47
-
47
+ if ((0, _util.isRecord)(value)) {
48
48
  // Remove required
49
- if (options.removeRequired && (_value$required = value.required) !== null && _value$required !== void 0 && _value$required.length) {
49
+ if (options.removeRequired && Array.isArray(value.required) && value.required.length) {
50
50
  delete value.required;
51
51
  } // Remove default
52
52
 
@@ -55,7 +55,7 @@ function rewriteSchema(schema, options) {
55
55
  delete value.default;
56
56
  }
57
57
 
58
- if (options.replaceInput && value['@input']) {
58
+ if (options.replaceInput && (0, _util.isRecord)(value['@input'])) {
59
59
  return { ...value['@input'],
60
60
  '@mapping': value['@mapping']
61
61
  };
@@ -1,5 +1,5 @@
1
1
  /// <reference types="lodash" />
2
- import type { ProjectSchema, PropertySchema, FormConfig, Query, QueryMap, Shape, ShapeMap, ObjectSchema, ServiceConfig, ShapeV3_0_0, ShapeSchema } from './project-schema';
2
+ import type { ProjectSchema, PropertySchema, FormConfig, Query, QueryMap, Shape, ShapeMap, ServiceConfig, ShapeV3_0_0, ShapeSchema } from './project-schema';
3
3
  import type { LatestProjectSchemaWithServices, ServiceMap, ServiceInfo, SchemaWithArgs, SchemaPropertyName, SchemaPropertyNode, ProjectSchemaV3X, SchemaPath, SchemaWithRef } from './types/types';
4
4
  import { Maybe } from '@takeshape/util';
5
5
  import { RefItem, RefItemWithPath, ServicesContext, ServicesShapesContext } from './refs';
@@ -29,8 +29,6 @@ export declare function getBuiltInProperties(apiVersion?: string): Record<string
29
29
  */
30
30
  export declare const getBuiltInPropertyNames: (apiVersion?: string) => Set<string>;
31
31
  export declare function applyBuiltinPropertiesToShape(projectSchema: ProjectSchema, shape: Shape): Shape;
32
- export declare function mergeSchemaProperties(base: ObjectSchema, overrides: ObjectSchema): ObjectSchema;
33
- export declare function mergeFormProperties(base: FormConfig, overrides: FormConfig): FormConfig;
34
32
  /**
35
33
  * Get all built-in shapes that are depended on by the given project schema.
36
34
  * Required built-in shapes are always included.
@@ -151,21 +149,11 @@ export declare function collectReferencedShapeNames(projectSchema: ProjectSchema
151
149
  * have special protection against editing or deleting.
152
150
  */
153
151
  export declare function getProtectedSchema(schema: ProjectSchema): Pick<ProjectSchema, 'shapes' | 'queries' | 'mutations'>;
154
- /**
155
- * Given a schema, will resolve any `allOf` or `ref` objects. This function has
156
- * to fully resolve all refs, because attempting to extend an object schema with
157
- * a ref property would create an invalid schema, potentially containing both
158
- * a ref and properties.
159
- *
160
- * If it can't create a valid schema it returns the input.
161
- */
162
- export declare function dereferenceSchema(context: ServicesShapesContext, shapeOrFieldSchema: PropertySchema, schemaPath?: SchemaPath): PropertySchema;
163
- export declare function dereferenceObjectSchema(context: ServicesShapesContext, shapeOrFieldSchema: PropertySchema, schemaPath?: SchemaPath): ObjectSchema;
164
152
  /**
165
153
  * Creates a schema property list chainable fn, allowing you to manipulate and
166
154
  * iterate the properties in a schema.
167
155
  */
168
- export declare const createSchemaPropertyList: import("lodash").CurriedFunction2<ServicesShapesContext, PropertySchema, {
156
+ export declare const createSchemaPropertyList: import("lodash").CurriedFunction2<ServicesShapesContext, PropertySchema | Shape, {
169
157
  _propertyIterator: Map<string, PropertySchema>;
170
158
  orderBy: (iteratees?: ((n: SchemaPropertyNode) => string)[], orders?: ("asc" | "desc")[]) => any;
171
159
  sortWith: (comparator?: ((a: SchemaPropertyNode, b: SchemaPropertyNode) => number) | undefined) => any;
@@ -181,7 +169,7 @@ export declare const createSchemaPropertyList: import("lodash").CurriedFunction2
181
169
  * Creates a schema property accessor, allowing you to safely access schema
182
170
  * properties.
183
171
  */
184
- export declare const createSchemaPropertyAccessor: import("lodash").CurriedFunction2<ServicesShapesContext, PropertySchema, {
172
+ export declare const createSchemaPropertyAccessor: import("lodash").CurriedFunction2<ServicesShapesContext, PropertySchema | Shape, {
185
173
  getValue: (propertyName: SchemaPropertyName) => Maybe<PropertySchema>;
186
174
  findValue: (predicate: (n: SchemaPropertyNode) => boolean) => Maybe<PropertySchema>;
187
175
  findName: (predicate: (n: SchemaPropertyNode) => boolean) => Maybe<SchemaPropertyName>;
@@ -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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"}
@@ -10,8 +10,6 @@ exports.arraySchemaKeys = void 0;
10
10
  exports.collectReferencedShapeNames = collectReferencedShapeNames;
11
11
  exports.createSchemaPropertyList = exports.createSchemaPropertyAccessor = exports.commonSchemaKeys = void 0;
12
12
  exports.createShape = createShape;
13
- exports.dereferenceObjectSchema = dereferenceObjectSchema;
14
- exports.dereferenceSchema = dereferenceSchema;
15
13
  exports.emptySchema = emptySchema;
16
14
  exports.ensureQuery = exports.ensureMutation = void 0;
17
15
  exports.filterGraphQLServiceMap = filterGraphQLServiceMap;
@@ -51,8 +49,6 @@ exports.isBuiltinShape = isBuiltinShape;
51
49
  exports.isBuiltinType = isBuiltinType;
52
50
  exports.isIndexedRemoteShape = void 0;
53
51
  exports.isModelShape = isModelShape;
54
- exports.mergeFormProperties = mergeFormProperties;
55
- exports.mergeSchemaProperties = mergeSchemaProperties;
56
52
  exports.objectSchemaKeys = exports.nonStructuralSchemaKeys = exports.multipleRelationshipSchemaKeys = void 0;
57
53
  exports.parseMapping = parseMapping;
58
54
  exports.parseQueryResolver = parseQueryResolver;
@@ -72,20 +68,12 @@ var _mapValues = _interopRequireDefault(require("lodash/mapValues"));
72
68
 
73
69
  var _omitBy = _interopRequireDefault(require("lodash/omitBy"));
74
70
 
75
- var _omit = _interopRequireDefault(require("lodash/fp/omit"));
76
-
77
- var _assign = _interopRequireDefault(require("lodash/fp/assign"));
78
-
79
71
  var _pickBy = _interopRequireDefault(require("lodash/pickBy"));
80
72
 
81
73
  var _get = _interopRequireDefault(require("lodash/get"));
82
74
 
83
- var _union = _interopRequireDefault(require("lodash/union"));
84
-
85
75
  var _keyBy = _interopRequireDefault(require("lodash/keyBy"));
86
76
 
87
- var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
88
-
89
77
  var _isObject = _interopRequireDefault(require("lodash/isObject"));
90
78
 
91
79
  var _curry = _interopRequireDefault(require("lodash/fp/curry"));
@@ -114,6 +102,8 @@ var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
114
102
 
115
103
  var _unions = require("./unions");
116
104
 
105
+ var _merge = require("./util/merge");
106
+
117
107
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
118
108
 
119
109
  const SERVICE_OBJECT_PATTERN_NAME = 'pattern:service-object';
@@ -423,7 +413,7 @@ exports.getBuiltInPropertyNames = getBuiltInPropertyNames;
423
413
  function applyBuiltinPropertiesToShape(projectSchema, shape) {
424
414
  return { ...shape,
425
415
  schema: { ...shape.schema,
426
- properties: { ...(0, _omitBy.default)(dereferenceObjectSchema(projectSchema, shape.schema).properties, (_, name) => name.startsWith('_')),
416
+ properties: { ...(0, _omitBy.default)((0, _refs.dereferenceObjectSchema)(projectSchema, shape.schema).properties, (_, name) => name.startsWith('_')),
427
417
  ...getBuiltInProperties(projectSchema.apiVersion),
428
418
  ...((0, _apiVersion.workflowsEnabled)(projectSchema.apiVersion) && {
429
419
  _status: (0, _workflows.getStatusField)(projectSchema.workflows, shape)
@@ -431,36 +421,6 @@ function applyBuiltinPropertiesToShape(projectSchema, shape) {
431
421
  }
432
422
  }
433
423
  };
434
- }
435
-
436
- function mergeSchemaProperties(base, overrides) {
437
- const result = { ...base,
438
- properties: { ...base.properties,
439
- ...overrides.properties
440
- }
441
- };
442
- const required = (0, _union.default)(base.required, overrides.required);
443
-
444
- if (required.length) {
445
- result.required = required;
446
- }
447
-
448
- return result;
449
- }
450
-
451
- function mergeFormProperties(base, overrides) {
452
- const result = { ...base,
453
- properties: { ...base.properties,
454
- ...overrides.properties
455
- }
456
- };
457
- const order = (0, _union.default)(base.order, overrides.order);
458
-
459
- if (order.length) {
460
- result.order = order;
461
- }
462
-
463
- return result;
464
424
  } // Dependencies of these built-in shapes are automatically added by getBuiltinsUsed
465
425
 
466
426
 
@@ -506,7 +466,7 @@ function applyDefaultsToSchema(projectSchema) {
506
466
 
507
467
  if (builtInShape && builtInShape !== shape) {
508
468
  shape = { ...shape,
509
- schema: mergeSchemaProperties(dereferenceObjectSchema(projectSchema, shape.schema), dereferenceObjectSchema(projectSchema, builtInShape.schema))
469
+ schema: (0, _merge.mergeSchemaProperties)((0, _refs.dereferenceObjectSchema)(projectSchema, shape.schema), (0, _refs.dereferenceObjectSchema)(projectSchema, builtInShape.schema))
510
470
  };
511
471
  }
512
472
 
@@ -519,7 +479,7 @@ function applyDefaultsToSchema(projectSchema) {
519
479
 
520
480
  if (builtInFormsConfig && builtInFormsConfig !== formsConfig) {
521
481
  formsConfig = { ...formsConfig,
522
- default: mergeFormProperties(formsConfig.default, builtInFormsConfig.default)
482
+ default: (0, _merge.mergeFormProperties)(formsConfig.default, builtInFormsConfig.default)
523
483
  };
524
484
  }
525
485
 
@@ -681,12 +641,6 @@ function getArgsShapeSchema(context, argsSchema) {
681
641
  return args;
682
642
  }
683
643
  }
684
- /**
685
- * Helper fn to omit `allOf` props from the target schema, and then extend it with the source schema.
686
- */
687
-
688
-
689
- const omitAllOfAndExtend = (targetSchema, sourceSchema) => (0, _assign.default)((0, _omit.default)(['allOf'], targetSchema), sourceSchema);
690
644
 
691
645
  const createShapeToPropertySchema = (projectSchema, definitions, definitionNames, useShapeIdDiscriminator = true) => {
692
646
  const rewriteRefs = (shape, addDiscriminator = false) => {
@@ -740,7 +694,7 @@ const createShapeToPropertySchema = (projectSchema, definitions, definitionNames
740
694
  return shapeSchema;
741
695
  }
742
696
 
743
- const shapeSchemaCopy = dereferenceObjectSchema(projectSchema, shapeSchema);
697
+ const shapeSchemaCopy = (0, _refs.dereferenceObjectSchema)(projectSchema, shapeSchema);
744
698
 
745
699
  if (useShapeIdDiscriminator) {
746
700
  if (addDiscriminator && shapeSchemaCopy.properties) {
@@ -802,7 +756,7 @@ function getShapeDependencies(projectSchema, shape, predicate) {
802
756
 
803
757
  if (refShape && !shapeNames.has(refShape.name)) {
804
758
  shapeNames.add(refShape.name);
805
- findDependencies(dereferenceSchema(projectSchema, refShape.schema));
759
+ findDependencies((0, _refs.dereferenceSchema)(projectSchema, refShape.schema));
806
760
  }
807
761
  } else if ((0, _utils.isObjectSchema)(schema) || (0, _utils.isAllOfSchema)(schema) || (0, _utils.isOneOfSchema)(schema)) {
808
762
  visitSchemaProperties(schema, [], findDependencies);
@@ -844,34 +798,26 @@ function getRelevantShapes(projectSchema, params) {
844
798
  return {};
845
799
  }
846
800
 
847
- function visitSchemaProperties(schema, path, callback) {
848
- if ((0, _utils.isObjectSchema)(schema)) {
849
- for (const [name, propSchema] of Object.entries(schema.properties)) {
850
- const newPath = [...path, 'properties', name];
851
- callback(propSchema, newPath);
801
+ function visitSchemaPropertiesHelper(entries, path, callback) {
802
+ for (const [name, propSchema] of entries) {
803
+ const newPath = [...path, name];
804
+ callback(propSchema, newPath);
852
805
 
853
- if ((0, _utils.isObjectSchema)(propSchema) || (0, _utils.isAllOfSchema)(propSchema) || (0, _utils.isOneOfSchema)(propSchema)) {
854
- visitSchemaProperties(propSchema, newPath, callback);
855
- }
806
+ if ((0, _utils.isObjectSchema)(propSchema) || (0, _utils.isExtendsSchema)(propSchema) || (0, _utils.isAllOfSchema)(propSchema) || (0, _utils.isOneOfSchema)(propSchema)) {
807
+ visitSchemaProperties(propSchema, newPath, callback);
856
808
  }
857
- } else if ((0, _utils.isAllOfSchema)(schema)) {
858
- for (const [index, propSchema] of Object.entries(schema.allOf)) {
859
- const newPath = [...path, 'allOf', index];
860
- callback(propSchema, newPath);
809
+ }
810
+ }
861
811
 
862
- if ((0, _utils.isObjectSchema)(propSchema) || (0, _utils.isAllOfSchema)(propSchema) || (0, _utils.isOneOfSchema)(propSchema)) {
863
- visitSchemaProperties(propSchema, newPath, callback);
864
- }
865
- }
812
+ function visitSchemaProperties(schema, path, callback) {
813
+ if ((0, _utils.isObjectSchema)(schema)) {
814
+ visitSchemaPropertiesHelper(Object.entries(schema.properties), [...path, 'properties'], callback);
815
+ } else if ((0, _utils.isExtendsSchema)(schema)) {
816
+ visitSchemaPropertiesHelper(Object.entries(schema.extends), [...path, 'extends'], callback);
817
+ } else if ((0, _utils.isAllOfSchema)(schema)) {
818
+ visitSchemaPropertiesHelper(Object.entries(schema.allOf), [...path, 'allOf'], callback);
866
819
  } else if ((0, _utils.isOneOfSchema)(schema)) {
867
- for (const [index, propSchema] of Object.entries(schema.oneOf)) {
868
- const newPath = [...path, 'oneOf', index];
869
- callback(propSchema, newPath);
870
-
871
- if ((0, _utils.isObjectSchema)(propSchema) || (0, _utils.isAllOfSchema)(propSchema) || (0, _utils.isOneOfSchema)(propSchema)) {
872
- visitSchemaProperties(propSchema, newPath, callback);
873
- }
874
- }
820
+ visitSchemaPropertiesHelper(Object.entries(schema.oneOf), [...path, 'oneOf'], callback);
875
821
  } else {
876
822
  callback(schema, path);
877
823
  }
@@ -937,7 +883,7 @@ function getAllRefsInQuery(projectSchema, queryPath, query, predicate) {
937
883
  }
938
884
 
939
885
  if (query.args && typeof query.args === 'object') {
940
- visitSchemaProperties(dereferenceObjectSchema(projectSchema, query.args), queryPath, propertyVisitor);
886
+ visitSchemaProperties((0, _refs.dereferenceObjectSchema)(projectSchema, query.args), queryPath, propertyVisitor);
941
887
  }
942
888
 
943
889
  if (query.shape) {
@@ -1164,66 +1110,15 @@ function getProtectedSchema(schema) {
1164
1110
  })
1165
1111
  };
1166
1112
  }
1167
- /**
1168
- * Given a schema, will resolve any `allOf` or `ref` objects. This function has
1169
- * to fully resolve all refs, because attempting to extend an object schema with
1170
- * a ref property would create an invalid schema, potentially containing both
1171
- * a ref and properties.
1172
- *
1173
- * If it can't create a valid schema it returns the input.
1174
- */
1175
-
1176
-
1177
- function dereferenceSchema(context, shapeOrFieldSchema, schemaPath = []) {
1178
- const resolveAll = (resolveSchema, resolvePath) => {
1179
- try {
1180
- if ((0, _utils.isAllOfSchema)(resolveSchema)) {
1181
- const allOfSchema = resolveSchema.allOf.map((stub, index) => resolveAll(stub, [...resolvePath, 'allOf', index])).reduce((prev, curr) => (0, _util.mergeWithArrayConcat)(prev, curr), {});
1182
- return (0, _isEmpty.default)(allOfSchema) ? undefined : omitAllOfAndExtend(resolveSchema, allOfSchema);
1183
- }
1184
-
1185
- if ((0, _utils.isRefSchema)(resolveSchema)) {
1186
- const refItem = (0, _refs.getRefWithPath)(context, resolveSchema);
1187
-
1188
- if (!refItem) {
1189
- throw new Error('ref could not be parsed');
1190
- }
1191
-
1192
- const refSchema = (0, _refs.refItemToShapeSchema)(context, refItem);
1193
-
1194
- if (refSchema) {
1195
- return resolveAll((0, _refs.omitRefAndExtend)(resolveSchema, refSchema), refItem.path);
1196
- }
1197
-
1198
- return;
1199
- }
1200
-
1201
- return resolveSchema;
1202
- } catch (err) {
1203
- throw new Error(`error at '${resolvePath.join('.')}', ${err.message}`);
1204
- }
1205
- };
1206
-
1207
- return resolveAll(shapeOrFieldSchema, schemaPath) ?? shapeOrFieldSchema;
1208
- }
1209
-
1210
- function dereferenceObjectSchema(context, shapeOrFieldSchema, schemaPath = []) {
1211
- const schema = dereferenceSchema(context, shapeOrFieldSchema, schemaPath);
1212
-
1213
- if (!(0, _utils.isObjectSchema)(schema)) {
1214
- throw new Error(`provided schema at '${schemaPath.join('.')}' could not be resolved to an object schema`);
1215
- }
1216
-
1217
- return schema;
1218
- }
1219
1113
  /**
1220
1114
  * Creates a schema property list chainable fn, allowing you to manipulate and
1221
1115
  * iterate the properties in a schema.
1222
1116
  */
1223
1117
 
1224
1118
 
1225
- const createSchemaPropertyList = (0, _curry.default)((context, shapeOrFieldSchema) => {
1226
- const schema = dereferenceSchema(context, shapeOrFieldSchema);
1119
+ const createSchemaPropertyList = (0, _curry.default)((context, shapeOrSchema) => {
1120
+ const propSchema = isShape(shapeOrSchema) ? shapeOrSchema.schema : shapeOrSchema;
1121
+ const schema = (0, _refs.dereferenceSchema)(context, propSchema, isShape(shapeOrSchema) ? ['shapes', shapeOrSchema.name] : undefined);
1227
1122
  const propertyIterator = new Map((0, _utils.isObjectSchema)(schema) ? Object.entries(schema.properties) : undefined);
1228
1123
  const defaultOrderByIteratees = [n => n[0]];
1229
1124
  const defaultOrderByOrders = ['asc'];
@@ -1293,14 +1188,20 @@ const createSchemaPropertyList = (0, _curry.default)((context, shapeOrFieldSchem
1293
1188
  };
1294
1189
  return self;
1295
1190
  });
1191
+ exports.createSchemaPropertyList = createSchemaPropertyList;
1192
+
1193
+ function isShape(shapeOrSchema) {
1194
+ return 'schema' in shapeOrSchema;
1195
+ }
1296
1196
  /**
1297
1197
  * Creates a schema property accessor, allowing you to safely access schema
1298
1198
  * properties.
1299
1199
  */
1300
1200
 
1301
- exports.createSchemaPropertyList = createSchemaPropertyList;
1302
- const createSchemaPropertyAccessor = (0, _curry.default)((context, shapeOrFieldSchema) => {
1303
- const schema = dereferenceSchema(context, shapeOrFieldSchema);
1201
+
1202
+ const createSchemaPropertyAccessor = (0, _curry.default)((context, shapeOrSchema) => {
1203
+ const propSchema = isShape(shapeOrSchema) ? shapeOrSchema.schema : shapeOrSchema;
1204
+ const schema = (0, _refs.dereferenceSchema)(context, propSchema, isShape(shapeOrSchema) ? ['shapes', shapeOrSchema.name] : undefined);
1304
1205
  const propertyIterator = new Map((0, _utils.isObjectSchema)(schema) ? Object.entries(schema.properties) : undefined);
1305
1206
 
1306
1207
  const _getValue = propertyName => {