@takeshape/schema 8.105.0 → 8.109.4
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/{lib → dist}/api-version.d.ts +0 -0
- package/{lib → dist}/api-version.d.ts.map +0 -0
- package/{lib → dist}/api-version.js +0 -0
- package/{lib → dist}/auth-schemas.d.ts +0 -0
- package/{lib → dist}/auth-schemas.d.ts.map +0 -0
- package/{lib → dist}/auth-schemas.js +0 -0
- package/{lib → dist}/builtin-schema.d.ts +0 -0
- package/{lib → dist}/builtin-schema.d.ts.map +0 -0
- package/{lib → dist}/builtin-schema.js +0 -0
- package/{lib → dist}/content-schema-transform.d.ts +0 -0
- package/{lib → dist}/content-schema-transform.d.ts.map +0 -0
- package/{lib → dist}/content-schema-transform.js +0 -0
- package/{lib → dist}/enum.d.ts +0 -0
- package/{lib → dist}/enum.d.ts.map +0 -0
- package/{lib → dist}/enum.js +0 -0
- package/{lib → dist}/flatten-templates.d.ts +0 -0
- package/{lib → dist}/flatten-templates.d.ts.map +0 -0
- package/{lib → dist}/flatten-templates.js +0 -0
- package/{lib → dist}/get-is-leaf.d.ts +0 -0
- package/{lib → dist}/get-is-leaf.d.ts.map +0 -0
- package/{lib → dist}/get-is-leaf.js +0 -0
- package/{lib → dist}/index.d.ts +1 -0
- package/{lib → dist}/index.d.ts.map +1 -1
- package/{lib → dist}/index.js +14 -0
- package/{lib → dist}/layers/layers.d.ts +0 -0
- package/{lib → dist}/layers/layers.d.ts.map +0 -0
- package/{lib → dist}/layers/layers.js +0 -0
- package/{lib → dist}/layers/refs.d.ts +0 -0
- package/{lib → dist}/layers/refs.d.ts.map +0 -0
- package/{lib → dist}/layers/refs.js +0 -0
- package/{lib → dist}/layers/type-utils.d.ts +0 -0
- package/{lib → dist}/layers/type-utils.d.ts.map +0 -0
- package/{lib → dist}/layers/type-utils.js +0 -0
- package/{lib → dist}/layers/visitor.d.ts +0 -0
- package/{lib → dist}/layers/visitor.d.ts.map +0 -0
- package/{lib → dist}/layers/visitor.js +0 -0
- package/{lib → dist}/migration/index.d.ts +0 -0
- package/{lib → dist}/migration/index.d.ts.map +0 -0
- package/{lib → dist}/migration/index.js +0 -0
- package/{lib → dist}/migration/to/v3.0.0.d.ts +0 -0
- package/{lib → dist}/migration/to/v3.0.0.d.ts.map +0 -0
- package/{lib → dist}/migration/to/v3.0.0.js +0 -0
- package/{lib → dist}/migration/to/v3.1.0.d.ts +0 -0
- package/{lib → dist}/migration/to/v3.1.0.d.ts.map +0 -0
- package/{lib → dist}/migration/to/v3.1.0.js +0 -0
- package/{lib → dist}/migration/to/v3.10.0.d.ts +0 -0
- package/{lib → dist}/migration/to/v3.10.0.d.ts.map +0 -0
- package/{lib → dist}/migration/to/v3.10.0.js +0 -0
- package/{lib → dist}/migration/to/v3.11.0.d.ts +0 -0
- package/{lib → dist}/migration/to/v3.11.0.d.ts.map +0 -0
- package/{lib → dist}/migration/to/v3.11.0.js +0 -0
- package/{lib → dist}/migration/to/v3.12.0.d.ts +0 -0
- package/{lib → dist}/migration/to/v3.12.0.d.ts.map +0 -0
- package/{lib → dist}/migration/to/v3.12.0.js +0 -0
- package/{lib → dist}/migration/to/v3.12.1.d.ts +0 -0
- package/{lib → dist}/migration/to/v3.12.1.d.ts.map +0 -0
- package/{lib → dist}/migration/to/v3.12.1.js +0 -0
- package/{lib → dist}/migration/to/v3.12.2.d.ts +0 -0
- package/{lib → dist}/migration/to/v3.12.2.d.ts.map +0 -0
- package/{lib → dist}/migration/to/v3.12.2.js +0 -0
- package/{lib → dist}/migration/to/v3.12.3.d.ts +0 -0
- package/{lib → dist}/migration/to/v3.12.3.d.ts.map +0 -0
- package/{lib → dist}/migration/to/v3.12.3.js +0 -0
- package/{lib → dist}/migration/to/v3.13.0.d.ts +0 -0
- package/{lib → dist}/migration/to/v3.13.0.d.ts.map +0 -0
- package/{lib → dist}/migration/to/v3.13.0.js +0 -0
- package/{lib → dist}/migration/to/v3.14.0.d.ts +0 -0
- package/{lib → dist}/migration/to/v3.14.0.d.ts.map +0 -0
- package/{lib → dist}/migration/to/v3.14.0.js +0 -0
- package/{lib → dist}/migration/to/v3.15.0.d.ts +0 -0
- package/{lib → dist}/migration/to/v3.15.0.d.ts.map +0 -0
- package/{lib → dist}/migration/to/v3.15.0.js +0 -0
- package/{lib → dist}/migration/to/v3.16.0.d.ts +0 -0
- package/{lib → dist}/migration/to/v3.16.0.d.ts.map +0 -0
- package/{lib → dist}/migration/to/v3.16.0.js +0 -0
- package/{lib → dist}/migration/to/v3.17.0.d.ts +0 -0
- package/{lib → dist}/migration/to/v3.17.0.d.ts.map +0 -0
- package/{lib → dist}/migration/to/v3.17.0.js +0 -0
- package/{lib → dist}/migration/to/v3.2.0.d.ts +0 -0
- package/{lib → dist}/migration/to/v3.2.0.d.ts.map +0 -0
- package/{lib → dist}/migration/to/v3.2.0.js +0 -0
- package/{lib → dist}/migration/to/v3.3.0.d.ts +0 -0
- package/{lib → dist}/migration/to/v3.3.0.d.ts.map +0 -0
- package/{lib → dist}/migration/to/v3.3.0.js +0 -0
- package/{lib → dist}/migration/to/v3.4.0.d.ts +0 -0
- package/{lib → dist}/migration/to/v3.4.0.d.ts.map +0 -0
- package/{lib → dist}/migration/to/v3.4.0.js +0 -0
- package/{lib → dist}/migration/to/v3.5.0.d.ts +0 -0
- package/{lib → dist}/migration/to/v3.5.0.d.ts.map +0 -0
- package/{lib → dist}/migration/to/v3.5.0.js +0 -0
- package/{lib → dist}/migration/to/v3.5.1.d.ts +0 -0
- package/{lib → dist}/migration/to/v3.5.1.d.ts.map +0 -0
- package/{lib → dist}/migration/to/v3.5.1.js +0 -0
- package/{lib → dist}/migration/to/v3.6.0.d.ts +0 -0
- package/{lib → dist}/migration/to/v3.6.0.d.ts.map +0 -0
- package/{lib → dist}/migration/to/v3.6.0.js +0 -0
- package/{lib → dist}/migration/to/v3.7.0.d.ts +0 -0
- package/{lib → dist}/migration/to/v3.7.0.d.ts.map +0 -0
- package/{lib → dist}/migration/to/v3.7.0.js +0 -0
- package/{lib → dist}/migration/to/v3.8.0.d.ts +0 -0
- package/{lib → dist}/migration/to/v3.8.0.d.ts.map +0 -0
- package/{lib → dist}/migration/to/v3.8.0.js +0 -0
- package/{lib → dist}/migration/to/v3.9.0.d.ts +0 -0
- package/{lib → dist}/migration/to/v3.9.0.d.ts.map +0 -0
- package/{lib → dist}/migration/to/v3.9.0.js +0 -0
- package/{lib → dist}/migration/types.d.ts +0 -0
- package/{lib → dist}/migration/types.d.ts.map +0 -0
- package/{lib → dist}/migration/types.js +0 -0
- package/{lib → dist}/migration/utils.d.ts +0 -0
- package/{lib → dist}/migration/utils.d.ts.map +0 -0
- package/{lib → dist}/migration/utils.js +0 -0
- package/{lib → dist}/mocks.d.ts +0 -0
- package/{lib → dist}/mocks.d.ts.map +0 -0
- package/{lib → dist}/mocks.js +0 -0
- package/{lib → dist}/patterns.d.ts +0 -0
- package/{lib → dist}/patterns.d.ts.map +0 -0
- package/{lib → dist}/patterns.js +0 -0
- package/{lib → dist}/project-schema/index.d.ts +0 -0
- package/{lib → dist}/project-schema/index.d.ts.map +0 -0
- package/{lib → dist}/project-schema/index.js +0 -0
- package/{lib → dist}/project-schema/latest.d.ts +0 -0
- package/{lib → dist}/project-schema/latest.d.ts.map +0 -0
- package/{lib → dist}/project-schema/latest.js +0 -0
- package/{lib → dist}/project-schema/migrate.d.ts +0 -0
- package/{lib → dist}/project-schema/migrate.d.ts.map +0 -0
- package/{lib → dist}/project-schema/migrate.js +0 -0
- package/{lib → dist}/project-schema/v1.0.0.d.ts +0 -0
- package/{lib → dist}/project-schema/v1.0.0.d.ts.map +0 -0
- package/{lib → dist}/project-schema/v1.0.0.js +0 -0
- package/{lib → dist}/project-schema/v3.0.0.d.ts +0 -0
- package/{lib → dist}/project-schema/v3.0.0.d.ts.map +0 -0
- package/{lib → dist}/project-schema/v3.0.0.js +0 -0
- package/{lib → dist}/project-schema/v3.1.0.d.ts +0 -0
- package/{lib → dist}/project-schema/v3.1.0.d.ts.map +0 -0
- package/{lib → dist}/project-schema/v3.1.0.js +0 -0
- package/{lib → dist}/project-schema/v3.10.0.d.ts +0 -0
- package/{lib → dist}/project-schema/v3.10.0.d.ts.map +0 -0
- package/{lib → dist}/project-schema/v3.10.0.js +0 -0
- package/{lib → dist}/project-schema/v3.11.0.d.ts +0 -0
- package/{lib → dist}/project-schema/v3.11.0.d.ts.map +0 -0
- package/{lib → dist}/project-schema/v3.11.0.js +0 -0
- package/{lib → dist}/project-schema/v3.12.0.d.ts +0 -0
- package/{lib → dist}/project-schema/v3.12.0.d.ts.map +0 -0
- package/{lib → dist}/project-schema/v3.12.0.js +0 -0
- package/{lib → dist}/project-schema/v3.12.1.d.ts +0 -0
- package/{lib → dist}/project-schema/v3.12.1.d.ts.map +0 -0
- package/{lib → dist}/project-schema/v3.12.1.js +0 -0
- package/{lib → dist}/project-schema/v3.12.2.d.ts +0 -0
- package/{lib → dist}/project-schema/v3.12.2.d.ts.map +0 -0
- package/{lib → dist}/project-schema/v3.12.2.js +0 -0
- package/{lib → dist}/project-schema/v3.12.3.d.ts +0 -0
- package/{lib → dist}/project-schema/v3.12.3.d.ts.map +0 -0
- package/{lib → dist}/project-schema/v3.12.3.js +0 -0
- package/{lib → dist}/project-schema/v3.13.0.d.ts +0 -0
- package/{lib → dist}/project-schema/v3.13.0.d.ts.map +0 -0
- package/{lib → dist}/project-schema/v3.13.0.js +0 -0
- package/{lib → dist}/project-schema/v3.13.1.d.ts +0 -0
- package/{lib → dist}/project-schema/v3.13.1.d.ts.map +0 -0
- package/{lib → dist}/project-schema/v3.13.1.js +0 -0
- package/{lib → dist}/project-schema/v3.14.0.d.ts +0 -0
- package/{lib → dist}/project-schema/v3.14.0.d.ts.map +0 -0
- package/{lib → dist}/project-schema/v3.14.0.js +0 -0
- package/{lib → dist}/project-schema/v3.15.0.d.ts +0 -0
- package/{lib → dist}/project-schema/v3.15.0.d.ts.map +0 -0
- package/{lib → dist}/project-schema/v3.15.0.js +0 -0
- package/{lib → dist}/project-schema/v3.16.0.d.ts +0 -0
- package/{lib → dist}/project-schema/v3.16.0.d.ts.map +0 -0
- package/{lib → dist}/project-schema/v3.16.0.js +0 -0
- package/{lib → dist}/project-schema/v3.17.0.d.ts +0 -0
- package/{lib → dist}/project-schema/v3.17.0.d.ts.map +0 -0
- package/{lib → dist}/project-schema/v3.17.0.js +0 -0
- package/{lib → dist}/project-schema/v3.2.0.d.ts +0 -0
- package/{lib → dist}/project-schema/v3.2.0.d.ts.map +0 -0
- package/{lib → dist}/project-schema/v3.2.0.js +0 -0
- package/{lib → dist}/project-schema/v3.3.0.d.ts +0 -0
- package/{lib → dist}/project-schema/v3.3.0.d.ts.map +0 -0
- package/{lib → dist}/project-schema/v3.3.0.js +0 -0
- package/{lib → dist}/project-schema/v3.4.0.d.ts +0 -0
- package/{lib → dist}/project-schema/v3.4.0.d.ts.map +0 -0
- package/{lib → dist}/project-schema/v3.4.0.js +0 -0
- package/{lib → dist}/project-schema/v3.5.0.d.ts +0 -0
- package/{lib → dist}/project-schema/v3.5.0.d.ts.map +0 -0
- package/{lib → dist}/project-schema/v3.5.0.js +0 -0
- package/{lib → dist}/project-schema/v3.5.1.d.ts +0 -0
- package/{lib → dist}/project-schema/v3.5.1.d.ts.map +0 -0
- package/{lib → dist}/project-schema/v3.5.1.js +0 -0
- package/{lib → dist}/project-schema/v3.6.0.d.ts +0 -0
- package/{lib → dist}/project-schema/v3.6.0.d.ts.map +0 -0
- package/{lib → dist}/project-schema/v3.6.0.js +0 -0
- package/{lib → dist}/project-schema/v3.7.0.d.ts +0 -0
- package/{lib → dist}/project-schema/v3.7.0.d.ts.map +0 -0
- package/{lib → dist}/project-schema/v3.7.0.js +0 -0
- package/{lib → dist}/project-schema/v3.8.0.d.ts +0 -0
- package/{lib → dist}/project-schema/v3.8.0.d.ts.map +0 -0
- package/{lib → dist}/project-schema/v3.8.0.js +0 -0
- package/{lib → dist}/project-schema/v3.9.0.d.ts +0 -0
- package/{lib → dist}/project-schema/v3.9.0.d.ts.map +0 -0
- package/{lib → dist}/project-schema/v3.9.0.js +0 -0
- package/{lib → dist}/project-schema/v4.0.0.d.ts +0 -0
- package/{lib → dist}/project-schema/v4.0.0.d.ts.map +0 -0
- package/{lib → dist}/project-schema/v4.0.0.js +0 -0
- package/{lib → dist}/refs.d.ts +0 -0
- package/{lib → dist}/refs.d.ts.map +0 -0
- package/{lib → dist}/refs.js +0 -0
- package/dist/relationships.d.ts +11 -0
- package/dist/relationships.d.ts.map +1 -0
- package/dist/relationships.js +66 -0
- package/{lib → dist}/rewrite.d.ts +0 -0
- package/{lib → dist}/rewrite.d.ts.map +0 -0
- package/{lib → dist}/rewrite.js +0 -0
- package/{lib → dist}/scalars.d.ts +0 -0
- package/{lib → dist}/scalars.d.ts.map +0 -0
- package/{lib → dist}/scalars.js +0 -0
- package/dist/schema-transform.d.ts +4 -0
- package/dist/schema-transform.d.ts.map +1 -0
- package/dist/schema-transform.js +58 -0
- package/{lib → dist}/schema-util.d.ts +2 -0
- package/dist/schema-util.d.ts.map +1 -0
- package/{lib → dist}/schema-util.js +10 -7
- package/{lib → dist}/schemas/auth-schemas.json +0 -0
- package/{lib → dist}/schemas/index.d.ts +0 -0
- package/{lib → dist}/schemas/index.d.ts.map +0 -0
- package/{lib → dist}/schemas/index.js +0 -0
- package/{lib → dist}/schemas/index.ts +0 -0
- package/{lib → dist}/schemas/project-schema/latest.json +0 -0
- package/{lib → dist}/schemas/project-schema/meta-schema-v1.0.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/meta-schema-v3.0.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/meta-schema-v3.1.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/meta-schema-v3.2.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/meta-schema-v3.3.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/meta-schema-v3.4.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/meta-schema-v3.5.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/meta-schema-v3.5.1.json +0 -0
- package/{lib → dist}/schemas/project-schema/meta-schema-v3.6.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/meta-schema-v3.7.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/meta-schema-v3.8.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/meta-schema-v3.9.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/v1.0.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/v3.0.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/v3.1.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/v3.10.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/v3.11.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/v3.12.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/v3.12.1.json +0 -0
- package/{lib → dist}/schemas/project-schema/v3.12.2.json +0 -0
- package/{lib → dist}/schemas/project-schema/v3.12.3.json +0 -0
- package/{lib → dist}/schemas/project-schema/v3.13.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/v3.14.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/v3.15.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/v3.16.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/v3.17.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/v3.2.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/v3.3.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/v3.4.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/v3.5.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/v3.5.1.json +0 -0
- package/{lib → dist}/schemas/project-schema/v3.6.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/v3.7.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/v3.8.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/v3.9.0.json +0 -0
- package/{lib → dist}/schemas/project-schema/v4.0.0.json +0 -0
- package/{lib → dist}/schemas/project-schema.json +0 -0
- package/{lib → dist}/schemas/user-schema.json +0 -0
- package/{lib → dist}/services.d.ts +0 -0
- package/{lib → dist}/services.d.ts.map +0 -0
- package/{lib → dist}/services.js +0 -0
- package/{lib → dist}/taxonomies.d.ts +0 -0
- package/{lib → dist}/taxonomies.d.ts.map +0 -0
- package/{lib → dist}/taxonomies.js +0 -0
- package/{lib → dist}/template-shapes/index.d.ts +0 -0
- package/{lib → dist}/template-shapes/index.d.ts.map +0 -0
- package/{lib → dist}/template-shapes/index.js +0 -0
- package/{lib → dist}/template-shapes/templates.d.ts +0 -0
- package/{lib → dist}/template-shapes/templates.d.ts.map +0 -0
- package/{lib → dist}/template-shapes/templates.js +0 -0
- package/{lib → dist}/template-shapes/types.d.ts +0 -0
- package/{lib → dist}/template-shapes/types.d.ts.map +0 -0
- package/{lib → dist}/template-shapes/types.js +0 -0
- package/{lib → dist}/template-shapes/where.d.ts +0 -1
- package/{lib → dist}/template-shapes/where.d.ts.map +1 -1
- package/{lib → dist}/template-shapes/where.js +3 -26
- package/{lib → dist}/types/index.d.ts +0 -0
- package/{lib → dist}/types/index.d.ts.map +0 -0
- package/{lib → dist}/types/index.js +0 -0
- package/{lib → dist}/types/types.d.ts +1 -0
- package/{lib → dist}/types/types.d.ts.map +1 -1
- package/{lib → dist}/types/types.js +0 -0
- package/{lib → dist}/types/utils.d.ts +0 -0
- package/{lib → dist}/types/utils.d.ts.map +0 -0
- package/{lib → dist}/types/utils.js +0 -0
- package/{lib → dist}/unions.d.ts +0 -0
- package/{lib → dist}/unions.d.ts.map +0 -0
- package/{lib → dist}/unions.js +0 -0
- package/{lib → dist}/user-schema.d.ts +0 -0
- package/{lib → dist}/user-schema.d.ts.map +0 -0
- package/{lib → dist}/user-schema.js +0 -0
- package/{lib → dist}/util/detect-cycles.d.ts +0 -0
- package/{lib → dist}/util/detect-cycles.d.ts.map +0 -0
- package/{lib → dist}/util/detect-cycles.js +0 -0
- package/{lib → dist}/util/index.d.ts +0 -0
- package/{lib → dist}/util/index.d.ts.map +0 -0
- package/{lib → dist}/util/index.js +0 -0
- package/{lib → dist}/util/merge.d.ts +0 -0
- package/{lib → dist}/util/merge.d.ts.map +0 -0
- package/{lib → dist}/util/merge.js +0 -0
- package/{lib → dist}/validate.d.ts +0 -0
- package/{lib → dist}/validate.d.ts.map +0 -0
- package/{lib → dist}/validate.js +0 -0
- package/{lib → dist}/versions.d.ts +0 -0
- package/{lib → dist}/versions.d.ts.map +0 -0
- package/{lib → dist}/versions.js +0 -0
- package/{lib → dist}/workflows.d.ts +0 -0
- package/{lib → dist}/workflows.d.ts.map +0 -0
- package/{lib → dist}/workflows.js +0 -0
- package/es/index.js +2 -1
- package/es/relationships.js +38 -0
- package/es/schema-transform.js +47 -0
- package/es/schema-util.js +10 -7
- package/es/template-shapes/where.js +1 -23
- package/package.json +11 -11
- package/lib/relationships.d.ts +0 -3
- package/lib/relationships.d.ts.map +0 -1
- package/lib/relationships.js +0 -24
- package/lib/schema-util.d.ts.map +0 -1
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getRelationshipSchema = getRelationshipSchema;
|
|
7
|
+
exports.hasUnequalRelationships = hasUnequalRelationships;
|
|
8
|
+
exports.isEqualRelationship = isEqualRelationship;
|
|
9
|
+
|
|
10
|
+
function getRelationshipSchema(relationship) {
|
|
11
|
+
const itemSchema = {
|
|
12
|
+
$ref: '#/shapes/TSRelationship/schema'
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
if (relationship.type === 'multiple') {
|
|
16
|
+
return {
|
|
17
|
+
type: 'array',
|
|
18
|
+
items: itemSchema,
|
|
19
|
+
'@relationship': relationship
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return { ...itemSchema,
|
|
24
|
+
'@relationship': relationship
|
|
25
|
+
};
|
|
26
|
+
} // TODO: Code below will likely cause a conflict with @relationship PR...
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Test whether two PropertySchemas have equal realtionships
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
function isEqualRelationship(a, b) {
|
|
34
|
+
var _a$Relationship, _b$Relationship;
|
|
35
|
+
|
|
36
|
+
// non-relationships are considered equal in that they are both equal that regard
|
|
37
|
+
if (!a['@relationship'] && !b['@relationship']) {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const idsA = (_a$Relationship = a['@relationship']) === null || _a$Relationship === void 0 ? void 0 : _a$Relationship.shapeIds;
|
|
42
|
+
|
|
43
|
+
if (!idsA) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
const idsB = (_b$Relationship = b['@relationship']) === null || _b$Relationship === void 0 ? void 0 : _b$Relationship.shapeIds;
|
|
48
|
+
|
|
49
|
+
if (!idsB || idsA.length !== idsB.length) {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
const idSet = new Set(idsA);
|
|
54
|
+
return idsB.every(id => idSet.has(id));
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Test whether an array of PropertySchemas have unequal relationships
|
|
58
|
+
*/
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
function hasUnequalRelationships(relationships) {
|
|
62
|
+
return Boolean(relationships.find((propertySchema, index, allRelationships) => {
|
|
63
|
+
const nextPropertySchema = allRelationships[index + 1];
|
|
64
|
+
return nextPropertySchema ? !isEqualRelationship(propertySchema, nextPropertySchema) : false;
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
File without changes
|
|
File without changes
|
package/{lib → dist}/rewrite.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/{lib → dist}/scalars.js
RENAMED
|
File without changes
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { MinimalProjectSchema } from './types';
|
|
2
|
+
export declare type SchemaTransform = (projectSchema: MinimalProjectSchema) => MinimalProjectSchema;
|
|
3
|
+
export declare function removePropertiesTransform(propertyNames: string[]): SchemaTransform;
|
|
4
|
+
//# sourceMappingURL=schema-transform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-transform.d.ts","sourceRoot":"","sources":["../../src/schema-transform.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,oBAAoB,EAAC,MAAM,SAAS,CAAC;AAG7D,oBAAY,eAAe,GAAG,CAAC,aAAa,EAAE,oBAAoB,KAAK,oBAAoB,CAAC;AAoB5F,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,eAAe,CAiBlF"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.removePropertiesTransform = removePropertiesTransform;
|
|
7
|
+
|
|
8
|
+
var _util = require("@takeshape/util");
|
|
9
|
+
|
|
10
|
+
var _types = require("./types");
|
|
11
|
+
|
|
12
|
+
var _pickBy = _interopRequireDefault(require("lodash/pickBy"));
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
function createPropertiesPredicate(propertyNames) {
|
|
17
|
+
const byShape = new Map();
|
|
18
|
+
|
|
19
|
+
for (const name of propertyNames) {
|
|
20
|
+
const [shapeName, propName] = name.split('.');
|
|
21
|
+
const blacklist = byShape.get(shapeName);
|
|
22
|
+
|
|
23
|
+
if (!blacklist) {
|
|
24
|
+
byShape.set(shapeName, new Set([propName]));
|
|
25
|
+
} else {
|
|
26
|
+
blacklist.add(propName);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return (shapeName, name) => {
|
|
31
|
+
const blacklist = byShape.get(byShape.has(shapeName) ? shapeName : '*');
|
|
32
|
+
return Boolean(blacklist === null || blacklist === void 0 ? void 0 : blacklist.has(name));
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function removePropertiesTransform(propertyNames) {
|
|
37
|
+
const isBlacklisted = createPropertiesPredicate(propertyNames);
|
|
38
|
+
return projectSchema => {
|
|
39
|
+
(0, _util.visit)(projectSchema, ['schema'], (value, path) => {
|
|
40
|
+
if (path.length === 3 && path[0] === 'shapes' && path[2] === 'schema') {
|
|
41
|
+
const shapeSchema = value;
|
|
42
|
+
|
|
43
|
+
if ((0, _types.isObjectSchema)(shapeSchema)) {
|
|
44
|
+
const {
|
|
45
|
+
properties,
|
|
46
|
+
required
|
|
47
|
+
} = shapeSchema;
|
|
48
|
+
shapeSchema.properties = (0, _pickBy.default)(properties, (_, name) => !isBlacklisted(path[1], name));
|
|
49
|
+
|
|
50
|
+
if (required) {
|
|
51
|
+
shapeSchema.required = required.filter(name => !isBlacklisted(path[1], name));
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
return projectSchema;
|
|
57
|
+
};
|
|
58
|
+
}
|
|
@@ -47,6 +47,8 @@ export interface RelationshipEnv {
|
|
|
47
47
|
path: string[];
|
|
48
48
|
hasBackreference: boolean;
|
|
49
49
|
relatedName?: string;
|
|
50
|
+
schema: PropertySchema;
|
|
51
|
+
shapeName: string;
|
|
50
52
|
}
|
|
51
53
|
export declare function stringifyQuerySource(providerId: string, serviceId: string): string;
|
|
52
54
|
export declare function parseQuerySource(source: string): {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-util.d.ts","sourceRoot":"","sources":["../../src/schema-util.ts"],"names":[],"mappings":"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"}
|
|
@@ -549,7 +549,7 @@ function findExistingRelationships(projectSchema, shapes) {
|
|
|
549
549
|
const shapesSeen = new Set();
|
|
550
550
|
const shapeIds = new Set(shapeArray.map(shape => shape.id));
|
|
551
551
|
|
|
552
|
-
const findRelationships = (schema, path) => {
|
|
552
|
+
const findRelationships = (schema, path, parentShapeName) => {
|
|
553
553
|
if (schema['@relationship']) {
|
|
554
554
|
var _schema$Backreferenc;
|
|
555
555
|
|
|
@@ -566,7 +566,9 @@ function findExistingRelationships(projectSchema, shapes) {
|
|
|
566
566
|
relatedName,
|
|
567
567
|
path: path.slice(1),
|
|
568
568
|
shapeId: path[0],
|
|
569
|
-
hasBackreference: Boolean((_schema$Backreferenc2 = schema['@backreference']) === null || _schema$Backreferenc2 === void 0 ? void 0 : _schema$Backreferenc2.enabled)
|
|
569
|
+
hasBackreference: Boolean((_schema$Backreferenc2 = schema['@backreference']) === null || _schema$Backreferenc2 === void 0 ? void 0 : _schema$Backreferenc2.enabled),
|
|
570
|
+
schema,
|
|
571
|
+
shapeName: parentShapeName
|
|
570
572
|
});
|
|
571
573
|
}
|
|
572
574
|
}
|
|
@@ -591,13 +593,13 @@ function findExistingRelationships(projectSchema, shapes) {
|
|
|
591
593
|
|
|
592
594
|
if (prop.properties) {
|
|
593
595
|
for (const name of Object.keys(prop.properties)) {
|
|
594
|
-
findRelationships(prop.properties[name], path.concat(name));
|
|
596
|
+
findRelationships(prop.properties[name], path.concat(name), shapeName ?? parentShapeName);
|
|
595
597
|
}
|
|
596
598
|
} else if (prop.items) {
|
|
597
|
-
findRelationships(prop.items, path);
|
|
599
|
+
findRelationships(prop.items, path, shapeName ?? parentShapeName);
|
|
598
600
|
} else if ((0, _unions.isUnionSchema)(prop)) {
|
|
599
601
|
for (const child of prop.oneOf) {
|
|
600
|
-
findRelationships(child, path);
|
|
602
|
+
findRelationships(child, path, shapeName ?? parentShapeName);
|
|
601
603
|
}
|
|
602
604
|
}
|
|
603
605
|
};
|
|
@@ -606,9 +608,10 @@ function findExistingRelationships(projectSchema, shapes) {
|
|
|
606
608
|
if (isModelShape(shape)) {
|
|
607
609
|
const {
|
|
608
610
|
schema,
|
|
609
|
-
id
|
|
611
|
+
id,
|
|
612
|
+
name
|
|
610
613
|
} = shape;
|
|
611
|
-
findRelationships(schema, [id]);
|
|
614
|
+
findRelationships(schema, [id], name);
|
|
612
615
|
}
|
|
613
616
|
}
|
|
614
617
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/{lib → dist}/services.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -20,7 +20,6 @@ export declare const fieldTypeComparison: Record<string, {
|
|
|
20
20
|
export declare const comparatorDescriptions: Record<string, string>;
|
|
21
21
|
export declare const booleanOperators: string[];
|
|
22
22
|
export declare const boolOpDescriptionMap: Record<string, string>;
|
|
23
|
-
export declare function isEqualRelationship(a: PropertySchema, b: PropertySchema): boolean;
|
|
24
23
|
export declare function getFieldTypeComparison(fieldType: string): Maybe<Record<string, PropertySchema>>;
|
|
25
24
|
export interface PropertyContext {
|
|
26
25
|
shapeCache: ShapeCache;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"where.d.ts","sourceRoot":"","sources":["../../../src/template-shapes/where.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,EAAY,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAC,cAAc,EAAE,aAAa,EAAE,KAAK,EAAC,MAAM,mBAAmB,CAAC;AAI5E,OAAO,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAczD,OAAO,EAAC,gBAAgB,EAAC,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"where.d.ts","sourceRoot":"","sources":["../../../src/template-shapes/where.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,EAAY,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAC,cAAc,EAAE,aAAa,EAAE,KAAK,EAAC,MAAM,mBAAmB,CAAC;AAI5E,OAAO,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAczD,OAAO,EAAC,gBAAgB,EAAC,MAAM,SAAS,CAAC;AAKzC,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,yBAAyB,sBAAgB,OAA0C,CAAC;AAEjG,aAAK,qBAAqB,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5F,aAAK,UAAU,GAAG,KAAK,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC;AAExC,cAAM,UAAU;IACd,MAAM,0BAAiC;IACvC,UAAU,cAAqB;IAE/B,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI/B,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAO/C,UAAU,IAAI,QAAQ;CAiBvB;AAED,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACtC,MAAM,EACN;IAAC,WAAW,EAAE,qBAAqB,EAAE,CAAC;IAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAA;CAAC,CAW1F,CAAC;AACF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CASzD,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAAuB,CAAC;AACrD,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIvD,CAAC;AAqBF,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAc/F;AAsGD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,UAAU,CAAC;IACvB,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAgBD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAkBrH;AAYD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,cAAc,EACpB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,eAAe,GACvB,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAkFvC;AAkED,wBAAgB,aAAa,CAAC,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,gBAAgB,CA4BrG;AAED,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,KAAK,EAAE,GACtB;IAAC,MAAM,EAAE,YAAY,CAAC;IAAC,YAAY,EAAE,QAAQ,CAAA;CAAC,CAchD"}
|
|
@@ -9,7 +9,6 @@ exports.getFields = getFields;
|
|
|
9
9
|
exports.getPropertyComparisonType = getPropertyComparisonType;
|
|
10
10
|
exports.getWhereSearchArg = getWhereSearchArg;
|
|
11
11
|
exports.getWhereShape = getWhereShape;
|
|
12
|
-
exports.isEqualRelationship = isEqualRelationship;
|
|
13
12
|
|
|
14
13
|
var _util = require("@takeshape/util");
|
|
15
14
|
|
|
@@ -31,6 +30,8 @@ var _uniqBy = _interopRequireDefault(require("lodash/uniqBy"));
|
|
|
31
30
|
|
|
32
31
|
var _blueimpMd = _interopRequireDefault(require("blueimp-md5"));
|
|
33
32
|
|
|
33
|
+
var _relationships = require("../relationships");
|
|
34
|
+
|
|
34
35
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
35
36
|
|
|
36
37
|
const MAX_RELATIONSHIP_DEPTH = 1;
|
|
@@ -137,37 +138,13 @@ const boolOpDescriptionMap = {
|
|
|
137
138
|
};
|
|
138
139
|
exports.boolOpDescriptionMap = boolOpDescriptionMap;
|
|
139
140
|
|
|
140
|
-
function isEqualRelationship(a, b) {
|
|
141
|
-
var _a$Relationship, _b$Relationship;
|
|
142
|
-
|
|
143
|
-
// non-relationships are considered equal in that they are both equal that regard
|
|
144
|
-
if (!a['@relationship'] && !b['@relationship']) {
|
|
145
|
-
return true;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
const idsA = (_a$Relationship = a['@relationship']) === null || _a$Relationship === void 0 ? void 0 : _a$Relationship.shapeIds;
|
|
149
|
-
|
|
150
|
-
if (!idsA) {
|
|
151
|
-
return false;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
const idsB = (_b$Relationship = b['@relationship']) === null || _b$Relationship === void 0 ? void 0 : _b$Relationship.shapeIds;
|
|
155
|
-
|
|
156
|
-
if (!idsB || idsA.length !== idsB.length) {
|
|
157
|
-
return false;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
const idSet = new Set(idsA);
|
|
161
|
-
return idsB.every(id => idSet.has(id));
|
|
162
|
-
}
|
|
163
|
-
|
|
164
141
|
function getConflictingProperties(projectSchema, shapes) {
|
|
165
142
|
const conflicts = new Set();
|
|
166
143
|
const allProps = {};
|
|
167
144
|
|
|
168
145
|
for (const shape of Object.values(shapes)) {
|
|
169
146
|
for (const [name, prop] of (0, _schemaUtil.createSchemaPropertyList)(projectSchema, shape).getNodes()) {
|
|
170
|
-
if (name in allProps && (allProps[name].type !== prop.type || !isEqualRelationship(allProps[name], prop))) {
|
|
147
|
+
if (name in allProps && (allProps[name].type !== prop.type || !(0, _relationships.isEqualRelationship)(allProps[name], prop))) {
|
|
171
148
|
conflicts.add(name);
|
|
172
149
|
}
|
|
173
150
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -140,5 +140,6 @@ export declare type ShopifyServiceConfig = Overwrite<ServiceConfig, {
|
|
|
140
140
|
};
|
|
141
141
|
}>;
|
|
142
142
|
export declare type SchemaPath = Array<string | number>;
|
|
143
|
+
export declare type MinimalProjectSchema = Pick<ProjectSchema, 'shapes' | 'queries' | 'mutations'>;
|
|
143
144
|
export {};
|
|
144
145
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types/types.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/{lib → dist}/unions.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
package/{lib → dist}/unions.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/{lib → dist}/validate.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/{lib → dist}/versions.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/es/index.js
CHANGED
package/es/relationships.js
CHANGED
|
@@ -14,4 +14,42 @@ export function getRelationshipSchema(relationship) {
|
|
|
14
14
|
return { ...itemSchema,
|
|
15
15
|
'@relationship': relationship
|
|
16
16
|
};
|
|
17
|
+
} // TODO: Code below will likely cause a conflict with @relationship PR...
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Test whether two PropertySchemas have equal realtionships
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
export function isEqualRelationship(a, b) {
|
|
24
|
+
var _a$Relationship, _b$Relationship;
|
|
25
|
+
|
|
26
|
+
// non-relationships are considered equal in that they are both equal that regard
|
|
27
|
+
if (!a['@relationship'] && !b['@relationship']) {
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
const idsA = (_a$Relationship = a['@relationship']) === null || _a$Relationship === void 0 ? void 0 : _a$Relationship.shapeIds;
|
|
32
|
+
|
|
33
|
+
if (!idsA) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const idsB = (_b$Relationship = b['@relationship']) === null || _b$Relationship === void 0 ? void 0 : _b$Relationship.shapeIds;
|
|
38
|
+
|
|
39
|
+
if (!idsB || idsA.length !== idsB.length) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const idSet = new Set(idsA);
|
|
44
|
+
return idsB.every(id => idSet.has(id));
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Test whether an array of PropertySchemas have unequal relationships
|
|
48
|
+
*/
|
|
49
|
+
|
|
50
|
+
export function hasUnequalRelationships(relationships) {
|
|
51
|
+
return Boolean(relationships.find((propertySchema, index, allRelationships) => {
|
|
52
|
+
const nextPropertySchema = allRelationships[index + 1];
|
|
53
|
+
return nextPropertySchema ? !isEqualRelationship(propertySchema, nextPropertySchema) : false;
|
|
54
|
+
}));
|
|
17
55
|
}
|