@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.
- package/es/content-schema-transform.js +2 -2
- package/es/layers/layers.js +2 -2
- package/es/layers/type-utils.js +4 -4
- package/es/migration/index.js +6 -1
- package/es/migration/to/v3.15.0.js +10 -0
- package/es/project-schema/index.js +1 -0
- package/es/project-schema/v3.15.0.js +1 -0
- package/es/refs.js +78 -1
- package/es/rewrite.js +4 -5
- package/es/schema-util.js +32 -118
- package/es/schemas/index.js +4 -3
- package/es/schemas/index.ts +4 -2
- package/es/schemas/project-schema/v3.15.0.json +2359 -0
- package/es/schemas/project-schema.json +1 -1
- package/es/template-shapes/templates.js +4 -11
- package/es/types/utils.js +12 -8
- package/es/unions.js +5 -5
- package/es/util/detect-cycles.js +2 -2
- package/es/util/index.js +2 -1
- package/es/util/merge.js +36 -0
- package/es/validate.js +2 -10
- package/examples/latest/betzino.json +1 -1
- package/examples/latest/blog-schema.json +1 -1
- package/examples/latest/brewery-schema.json +1 -1
- package/examples/latest/complex-project-schema.json +1 -1
- package/examples/latest/fabric-ecommerce.json +1 -1
- package/examples/latest/frank-and-fred-schema.json +1 -1
- package/examples/latest/massive-schema.json +1 -1
- package/examples/latest/mill-components-schema.json +1 -1
- package/examples/latest/pet-oneof-array.json +1 -1
- package/examples/latest/post-schema.json +1 -1
- package/examples/latest/pruned-shopify-product-schema.json +1 -1
- package/examples/latest/real-world-schema.json +1 -1
- package/examples/latest/recursive-repeater-schema.json +1 -1
- package/examples/latest/recursive-schema.json +1 -1
- package/examples/latest/rick-and-morty-ast.json +1 -1
- package/examples/latest/rick-and-morty-graphql.json +1 -1
- package/examples/latest/rick-and-morty-rest.json +1 -1
- package/examples/latest/schema-with-repeater-draftjs.json +1 -1
- package/examples/latest/shape-books-v3_2_0.json +1 -1
- package/examples/latest/shape-books.json +1 -1
- package/examples/latest/shopify-lookbook.json +1 -1
- package/examples/latest/shopify-store-with-widget.json +1 -1
- package/examples/latest/stripe-starter-resolved.json +1 -1
- package/examples/latest/user-schema-no-required.json +1 -1
- package/examples/latest/user-schema-with-defaults.json +1 -1
- package/lib/content-schema-transform.js +6 -6
- package/lib/layers/layers.js +1 -1
- package/lib/layers/type-utils.js +3 -3
- package/lib/migration/index.d.ts.map +1 -1
- package/lib/migration/index.js +6 -0
- package/lib/migration/to/v3.15.0.d.ts +4 -0
- package/lib/migration/to/v3.15.0.d.ts.map +1 -0
- package/lib/migration/to/v3.15.0.js +18 -0
- package/lib/project-schema/index.d.ts +3 -1
- package/lib/project-schema/index.d.ts.map +1 -1
- package/lib/project-schema/index.js +33 -20
- package/lib/project-schema/latest.d.ts +45 -23
- package/lib/project-schema/latest.d.ts.map +1 -1
- package/lib/project-schema/v3.15.0.d.ts +1459 -0
- package/lib/project-schema/v3.15.0.d.ts.map +1 -0
- package/lib/project-schema/v3.15.0.js +5 -0
- package/lib/refs.d.ts +11 -2
- package/lib/refs.d.ts.map +1 -1
- package/lib/refs.js +83 -0
- package/lib/rewrite.d.ts.map +1 -1
- package/lib/rewrite.js +5 -5
- package/lib/schema-util.d.ts +3 -15
- package/lib/schema-util.d.ts.map +1 -1
- package/lib/schema-util.js +36 -135
- package/lib/schemas/index.d.ts +2302 -2
- package/lib/schemas/index.d.ts.map +1 -1
- package/lib/schemas/index.js +24 -22
- package/lib/schemas/index.ts +4 -2
- package/lib/schemas/project-schema/v3.15.0.json +2359 -0
- package/lib/schemas/project-schema.json +1 -1
- package/lib/template-shapes/templates.d.ts.map +1 -1
- package/lib/template-shapes/templates.js +8 -13
- package/lib/types/types.d.ts +2 -2
- package/lib/types/types.d.ts.map +1 -1
- package/lib/types/utils.d.ts +3 -1
- package/lib/types/utils.d.ts.map +1 -1
- package/lib/types/utils.js +15 -8
- package/lib/unions.js +4 -4
- package/lib/util/detect-cycles.d.ts +1 -1
- package/lib/util/detect-cycles.js +2 -2
- package/lib/util/index.d.ts +1 -0
- package/lib/util/index.d.ts.map +1 -1
- package/lib/util/index.js +13 -0
- package/lib/util/merge.d.ts +5 -0
- package/lib/util/merge.d.ts.map +1 -0
- package/lib/util/merge.js +51 -0
- package/lib/validate.d.ts.map +1 -1
- package/lib/validate.js +3 -10
- 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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"}
|
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":";AAAA,OAAO,KAAK,EAAC,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAC,MAAM,SAAS,CAAC;AACzE,OAAO,KAAK,EAAC,cAAc,EAAE,KAAK,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../src/refs.ts"],"names":[],"mappings":"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"}
|
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
|
}
|
package/lib/rewrite.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rewrite.d.ts","sourceRoot":"","sources":["../../src/rewrite.ts"],"names":[],"mappings":"
|
|
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 (
|
|
46
|
-
var _value$required;
|
|
47
|
-
|
|
47
|
+
if ((0, _util.isRecord)(value)) {
|
|
48
48
|
// Remove required
|
|
49
|
-
if (options.removeRequired && (
|
|
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
|
};
|
package/lib/schema-util.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="lodash" />
|
|
2
|
-
import type { ProjectSchema, PropertySchema, FormConfig, Query, QueryMap, Shape, ShapeMap,
|
|
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>;
|
package/lib/schema-util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-util.d.ts","sourceRoot":"","sources":["../../src/schema-util.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,UAAU,EAEV,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,
|
|
1
|
+
{"version":3,"file":"schema-util.d.ts","sourceRoot":"","sources":["../../src/schema-util.ts"],"names":[],"mappings":"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"}
|
package/lib/schema-util.js
CHANGED
|
@@ -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
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
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
|
-
|
|
854
|
-
|
|
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
|
-
}
|
|
858
|
-
|
|
859
|
-
const newPath = [...path, 'allOf', index];
|
|
860
|
-
callback(propSchema, newPath);
|
|
809
|
+
}
|
|
810
|
+
}
|
|
861
811
|
|
|
862
|
-
|
|
863
|
-
|
|
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
|
-
|
|
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,
|
|
1226
|
-
const
|
|
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
|
-
|
|
1302
|
-
const createSchemaPropertyAccessor = (0, _curry.default)((context,
|
|
1303
|
-
const
|
|
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 => {
|