@apollo/federation-internals 2.4.3 → 2.4.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/CHANGELOG.md +2 -0
- package/package.json +1 -1
- package/dist/Subgraph.d.ts +0 -1
- package/dist/Subgraph.d.ts.map +0 -1
- package/dist/Subgraph.js +0 -2
- package/dist/Subgraph.js.map +0 -1
- package/dist/argumentCompositionStrategies.d.ts +0 -34
- package/dist/argumentCompositionStrategies.d.ts.map +0 -1
- package/dist/argumentCompositionStrategies.js +0 -35
- package/dist/argumentCompositionStrategies.js.map +0 -1
- package/dist/buildSchema.d.ts +0 -10
- package/dist/buildSchema.d.ts.map +0 -1
- package/dist/buildSchema.js +0 -362
- package/dist/buildSchema.js.map +0 -1
- package/dist/coreSpec.d.ts +0 -127
- package/dist/coreSpec.d.ts.map +0 -1
- package/dist/coreSpec.js +0 -590
- package/dist/coreSpec.js.map +0 -1
- package/dist/debug.d.ts +0 -15
- package/dist/debug.d.ts.map +0 -1
- package/dist/debug.js +0 -122
- package/dist/debug.js.map +0 -1
- package/dist/definitions.d.ts +0 -663
- package/dist/definitions.d.ts.map +0 -1
- package/dist/definitions.js +0 -2841
- package/dist/definitions.js.map +0 -1
- package/dist/directiveAndTypeSpecification.d.ts +0 -67
- package/dist/directiveAndTypeSpecification.d.ts.map +0 -1
- package/dist/directiveAndTypeSpecification.js +0 -271
- package/dist/directiveAndTypeSpecification.js.map +0 -1
- package/dist/error.d.ts +0 -128
- package/dist/error.d.ts.map +0 -1
- package/dist/error.js +0 -315
- package/dist/error.js.map +0 -1
- package/dist/extractSubgraphsFromSupergraph.d.ts +0 -8
- package/dist/extractSubgraphsFromSupergraph.d.ts.map +0 -1
- package/dist/extractSubgraphsFromSupergraph.js +0 -576
- package/dist/extractSubgraphsFromSupergraph.js.map +0 -1
- package/dist/federation.d.ts +0 -175
- package/dist/federation.d.ts.map +0 -1
- package/dist/federation.js +0 -1414
- package/dist/federation.js.map +0 -1
- package/dist/federationSpec.d.ts +0 -25
- package/dist/federationSpec.d.ts.map +0 -1
- package/dist/federationSpec.js +0 -125
- package/dist/federationSpec.js.map +0 -1
- package/dist/genErrorCodeDoc.d.ts +0 -2
- package/dist/genErrorCodeDoc.d.ts.map +0 -1
- package/dist/genErrorCodeDoc.js +0 -61
- package/dist/genErrorCodeDoc.js.map +0 -1
- package/dist/graphQLJSSchemaToAST.d.ts +0 -8
- package/dist/graphQLJSSchemaToAST.d.ts.map +0 -1
- package/dist/graphQLJSSchemaToAST.js +0 -96
- package/dist/graphQLJSSchemaToAST.js.map +0 -1
- package/dist/inaccessibleSpec.d.ts +0 -18
- package/dist/inaccessibleSpec.d.ts.map +0 -1
- package/dist/inaccessibleSpec.js +0 -655
- package/dist/inaccessibleSpec.js.map +0 -1
- package/dist/index.d.ts +0 -24
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -42
- package/dist/index.js.map +0 -1
- package/dist/introspection.d.ts +0 -6
- package/dist/introspection.d.ts.map +0 -1
- package/dist/introspection.js +0 -96
- package/dist/introspection.js.map +0 -1
- package/dist/joinSpec.d.ts +0 -51
- package/dist/joinSpec.d.ts.map +0 -1
- package/dist/joinSpec.js +0 -160
- package/dist/joinSpec.js.map +0 -1
- package/dist/knownCoreFeatures.d.ts +0 -5
- package/dist/knownCoreFeatures.d.ts.map +0 -1
- package/dist/knownCoreFeatures.js +0 -20
- package/dist/knownCoreFeatures.js.map +0 -1
- package/dist/operations.d.ts +0 -415
- package/dist/operations.d.ts.map +0 -1
- package/dist/operations.js +0 -2040
- package/dist/operations.js.map +0 -1
- package/dist/precompute.d.ts +0 -3
- package/dist/precompute.d.ts.map +0 -1
- package/dist/precompute.js +0 -54
- package/dist/precompute.js.map +0 -1
- package/dist/print.d.ts +0 -28
- package/dist/print.d.ts.map +0 -1
- package/dist/print.js +0 -299
- package/dist/print.js.map +0 -1
- package/dist/schemaUpgrader.d.ts +0 -121
- package/dist/schemaUpgrader.d.ts.map +0 -1
- package/dist/schemaUpgrader.js +0 -570
- package/dist/schemaUpgrader.js.map +0 -1
- package/dist/suggestions.d.ts +0 -3
- package/dist/suggestions.d.ts.map +0 -1
- package/dist/suggestions.js +0 -44
- package/dist/suggestions.js.map +0 -1
- package/dist/supergraphs.d.ts +0 -10
- package/dist/supergraphs.d.ts.map +0 -1
- package/dist/supergraphs.js +0 -76
- package/dist/supergraphs.js.map +0 -1
- package/dist/tagSpec.d.ts +0 -19
- package/dist/tagSpec.d.ts.map +0 -1
- package/dist/tagSpec.js +0 -66
- package/dist/tagSpec.js.map +0 -1
- package/dist/types.d.ts +0 -9
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -64
- package/dist/types.js.map +0 -1
- package/dist/utils.d.ts +0 -64
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -326
- package/dist/utils.js.map +0 -1
- package/dist/validate.d.ts +0 -4
- package/dist/validate.d.ts.map +0 -1
- package/dist/validate.js +0 -239
- package/dist/validate.js.map +0 -1
- package/dist/validation/KnownTypeNamesInFederationRule.d.ts +0 -4
- package/dist/validation/KnownTypeNamesInFederationRule.d.ts.map +0 -1
- package/dist/validation/KnownTypeNamesInFederationRule.js +0 -41
- package/dist/validation/KnownTypeNamesInFederationRule.js.map +0 -1
- package/dist/values.d.ts +0 -23
- package/dist/values.d.ts.map +0 -1
- package/dist/values.js +0 -580
- package/dist/values.js.map +0 -1
- package/tsconfig.tsbuildinfo +0 -1
package/CHANGELOG.md
CHANGED
package/package.json
CHANGED
package/dist/Subgraph.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=Subgraph.d.ts.map
|
package/dist/Subgraph.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Subgraph.d.ts","sourceRoot":"","sources":["../src/Subgraph.ts"],"names":[],"mappings":""}
|
package/dist/Subgraph.js
DELETED
package/dist/Subgraph.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Subgraph.js","sourceRoot":"","sources":["../src/Subgraph.ts"],"names":[],"mappings":""}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { InputType, ListType, NonNullType, Schema } from "./definitions";
|
|
2
|
-
export type ArgumentCompositionStrategy = {
|
|
3
|
-
name: string;
|
|
4
|
-
supportedTypes: (schema: Schema) => InputType[];
|
|
5
|
-
mergeValues: (values: any[]) => any;
|
|
6
|
-
};
|
|
7
|
-
export declare const ARGUMENT_COMPOSITION_STRATEGIES: {
|
|
8
|
-
MAX: {
|
|
9
|
-
name: string;
|
|
10
|
-
supportedTypes: (schema: Schema) => NonNullType<import("./definitions").ScalarType>[];
|
|
11
|
-
mergeValues: (values: any[]) => number;
|
|
12
|
-
};
|
|
13
|
-
MIN: {
|
|
14
|
-
name: string;
|
|
15
|
-
supportedTypes: (schema: Schema) => NonNullType<import("./definitions").ScalarType>[];
|
|
16
|
-
mergeValues: (values: any[]) => number;
|
|
17
|
-
};
|
|
18
|
-
SUM: {
|
|
19
|
-
name: string;
|
|
20
|
-
supportedTypes: (schema: Schema) => NonNullType<import("./definitions").ScalarType>[];
|
|
21
|
-
mergeValues: (values: any[]) => any;
|
|
22
|
-
};
|
|
23
|
-
INTERSECTION: {
|
|
24
|
-
name: string;
|
|
25
|
-
supportedTypes: (schema: Schema) => NonNullType<ListType<NonNullType<import("./definitions").ScalarType>>>[];
|
|
26
|
-
mergeValues: (values: any[]) => any;
|
|
27
|
-
};
|
|
28
|
-
UNION: {
|
|
29
|
-
name: string;
|
|
30
|
-
supportedTypes: (schema: Schema) => NonNullType<ListType<NonNullType<import("./definitions").ScalarType>>>[];
|
|
31
|
-
mergeValues: (values: any[]) => any;
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
//# sourceMappingURL=argumentCompositionStrategies.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"argumentCompositionStrategies.d.ts","sourceRoot":"","sources":["../src/argumentCompositionStrategies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAExE,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;IAChD,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;CACrC,CAAA;AAED,eAAO,MAAM,+BAA+B;;;iCAGf,MAAM;8BACT,GAAG,EAAE;;;;iCAIF,MAAM;8BACT,GAAG,EAAE;;;;iCAIF,MAAM;8BACT,GAAG,EAAE;;;;iCAIF,MAAM;8BACT,GAAG,EAAE;;;;iCAIF,MAAM;8BACT,GAAG,EAAE;;CAM9B,CAAA"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ARGUMENT_COMPOSITION_STRATEGIES = void 0;
|
|
4
|
-
const definitions_1 = require("./definitions");
|
|
5
|
-
exports.ARGUMENT_COMPOSITION_STRATEGIES = {
|
|
6
|
-
MAX: {
|
|
7
|
-
name: 'MAX',
|
|
8
|
-
supportedTypes: (schema) => [new definitions_1.NonNullType(schema.intType())],
|
|
9
|
-
mergeValues: (values) => Math.max(...values),
|
|
10
|
-
},
|
|
11
|
-
MIN: {
|
|
12
|
-
name: 'MIN',
|
|
13
|
-
supportedTypes: (schema) => [new definitions_1.NonNullType(schema.intType())],
|
|
14
|
-
mergeValues: (values) => Math.min(...values),
|
|
15
|
-
},
|
|
16
|
-
SUM: {
|
|
17
|
-
name: 'SUM',
|
|
18
|
-
supportedTypes: (schema) => [new definitions_1.NonNullType(schema.intType())],
|
|
19
|
-
mergeValues: (values) => values.reduce((acc, val) => acc + val, 0),
|
|
20
|
-
},
|
|
21
|
-
INTERSECTION: {
|
|
22
|
-
name: 'INTERSECTION',
|
|
23
|
-
supportedTypes: (schema) => schema.builtInScalarTypes().map((t) => new definitions_1.NonNullType(new definitions_1.ListType(new definitions_1.NonNullType(t)))),
|
|
24
|
-
mergeValues: (values) => values.reduce((acc, val) => acc.filter((v) => val.includes(v)), values[0]),
|
|
25
|
-
},
|
|
26
|
-
UNION: {
|
|
27
|
-
name: 'UNION',
|
|
28
|
-
supportedTypes: (schema) => schema.builtInScalarTypes().map((t) => new definitions_1.NonNullType(new definitions_1.ListType(new definitions_1.NonNullType(t)))),
|
|
29
|
-
mergeValues: (values) => values.reduce((acc, val) => {
|
|
30
|
-
const newValues = val.filter((v) => !acc.includes(v));
|
|
31
|
-
return acc.concat(newValues);
|
|
32
|
-
}, []),
|
|
33
|
-
},
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=argumentCompositionStrategies.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"argumentCompositionStrategies.js","sourceRoot":"","sources":["../src/argumentCompositionStrategies.ts"],"names":[],"mappings":";;;AAAA,+CAAwE;AAQ3D,QAAA,+BAA+B,GAAG;IAC7C,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,cAAc,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,IAAI,yBAAW,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,WAAW,EAAE,CAAC,MAAa,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;KACpD;IACD,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,cAAc,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,IAAI,yBAAW,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,WAAW,EAAE,CAAC,MAAa,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;KACpD;IACD,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,cAAc,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,IAAI,yBAAW,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,WAAW,EAAE,CAAC,MAAa,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;KAC1E;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,cAAc,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,yBAAW,CAAC,IAAI,sBAAQ,CAAC,IAAI,yBAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7H,WAAW,EAAE,CAAC,MAAa,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;KAChH;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,cAAc,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,yBAAW,CAAC,IAAI,sBAAQ,CAAC,IAAI,yBAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7H,WAAW,EAAE,CAAC,MAAa,EAAE,EAAE,CAC7B,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACzB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,OAAO,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC,EAAE,EAAE,CAAC;KACT;CACF,CAAA"}
|
package/dist/buildSchema.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { DocumentNode, Source } from "graphql";
|
|
2
|
-
import { SchemaBlueprint, Schema, Type } from "./definitions";
|
|
3
|
-
export type BuildSchemaOptions = {
|
|
4
|
-
blueprint?: SchemaBlueprint;
|
|
5
|
-
validate?: boolean;
|
|
6
|
-
};
|
|
7
|
-
export declare function buildSchema(source: string | Source, options?: BuildSchemaOptions): Schema;
|
|
8
|
-
export declare function buildSchemaFromAST(documentNode: DocumentNode, options?: BuildSchemaOptions): Schema;
|
|
9
|
-
export declare function builtTypeReference(encodedType: string, schema: Schema): Type;
|
|
10
|
-
//# sourceMappingURL=buildSchema.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buildSchema.d.ts","sourceRoot":"","sources":["../src/buildSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,YAAY,EAMZ,MAAM,EAcP,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,eAAe,EACf,MAAM,EASN,IAAI,EAgBL,MAAM,eAAe,CAAC;AAQvB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAA;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAEzF;AAED,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,YAAY,EAC1B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,MAAM,CAyGR;AAwUD,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAE5E"}
|
package/dist/buildSchema.js
DELETED
|
@@ -1,362 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.builtTypeReference = exports.buildSchemaFromAST = exports.buildSchema = void 0;
|
|
4
|
-
const graphql_1 = require("graphql");
|
|
5
|
-
const values_1 = require("./values");
|
|
6
|
-
const definitions_1 = require("./definitions");
|
|
7
|
-
const error_1 = require("./error");
|
|
8
|
-
const introspection_1 = require("./introspection");
|
|
9
|
-
function buildValue(value) {
|
|
10
|
-
return value ? (0, values_1.valueFromASTUntyped)(value) : undefined;
|
|
11
|
-
}
|
|
12
|
-
function buildSchema(source, options) {
|
|
13
|
-
return buildSchemaFromAST((0, graphql_1.parse)(source), options);
|
|
14
|
-
}
|
|
15
|
-
exports.buildSchema = buildSchema;
|
|
16
|
-
function buildSchemaFromAST(documentNode, options) {
|
|
17
|
-
var _a;
|
|
18
|
-
const errors = [];
|
|
19
|
-
const schema = new definitions_1.Schema(options === null || options === void 0 ? void 0 : options.blueprint);
|
|
20
|
-
const { directiveDefinitions, typeDefinitions, typeExtensions, schemaDefinitions, schemaExtensions, } = buildNamedTypeAndDirectivesShallow(documentNode, schema, errors);
|
|
21
|
-
for (const typeNode of typeDefinitions) {
|
|
22
|
-
if (typeNode.kind === graphql_1.Kind.ENUM_TYPE_DEFINITION) {
|
|
23
|
-
buildEnumTypeValuesWithoutDirectiveApplications(typeNode, schema.type(typeNode.name.value));
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
for (const typeExtensionNode of typeExtensions) {
|
|
27
|
-
if (typeExtensionNode.kind === graphql_1.Kind.ENUM_TYPE_EXTENSION) {
|
|
28
|
-
const toExtend = schema.type(typeExtensionNode.name.value);
|
|
29
|
-
const extension = toExtend.newExtension();
|
|
30
|
-
extension.sourceAST = typeExtensionNode;
|
|
31
|
-
buildEnumTypeValuesWithoutDirectiveApplications(typeExtensionNode, schema.type(typeExtensionNode.name.value), extension);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
for (const directiveDefinitionNode of directiveDefinitions) {
|
|
35
|
-
buildDirectiveDefinitionInnerWithoutDirectiveApplications(directiveDefinitionNode, schema.directive(directiveDefinitionNode.name.value), errors);
|
|
36
|
-
}
|
|
37
|
-
for (const schemaDefinition of schemaDefinitions) {
|
|
38
|
-
buildSchemaDefinitionInner(schemaDefinition, schema.schemaDefinition, errors);
|
|
39
|
-
}
|
|
40
|
-
for (const schemaExtension of schemaExtensions) {
|
|
41
|
-
buildSchemaDefinitionInner(schemaExtension, schema.schemaDefinition, errors, schema.schemaDefinition.newExtension());
|
|
42
|
-
}
|
|
43
|
-
errors.push(...schema.blueprint.onDirectiveDefinitionAndSchemaParsed(schema));
|
|
44
|
-
for (const directiveDefinitionNode of directiveDefinitions) {
|
|
45
|
-
buildDirectiveApplicationsInDirectiveDefinition(directiveDefinitionNode, schema.directive(directiveDefinitionNode.name.value), errors);
|
|
46
|
-
}
|
|
47
|
-
for (const typeNode of typeDefinitions) {
|
|
48
|
-
buildNamedTypeInner(typeNode, schema.type(typeNode.name.value), schema.blueprint, errors);
|
|
49
|
-
}
|
|
50
|
-
for (const typeExtensionNode of typeExtensions) {
|
|
51
|
-
const toExtend = schema.type(typeExtensionNode.name.value);
|
|
52
|
-
const extension = toExtend.newExtension();
|
|
53
|
-
extension.sourceAST = typeExtensionNode;
|
|
54
|
-
buildNamedTypeInner(typeExtensionNode, toExtend, schema.blueprint, errors, extension);
|
|
55
|
-
}
|
|
56
|
-
if (errors.length > 0) {
|
|
57
|
-
throw (0, definitions_1.ErrGraphQLValidationFailed)(errors);
|
|
58
|
-
}
|
|
59
|
-
if ((_a = options === null || options === void 0 ? void 0 : options.validate) !== null && _a !== void 0 ? _a : true) {
|
|
60
|
-
schema.validate();
|
|
61
|
-
}
|
|
62
|
-
return schema;
|
|
63
|
-
}
|
|
64
|
-
exports.buildSchemaFromAST = buildSchemaFromAST;
|
|
65
|
-
function buildNamedTypeAndDirectivesShallow(documentNode, schema, errors) {
|
|
66
|
-
const directiveDefinitions = [];
|
|
67
|
-
const typeDefinitions = [];
|
|
68
|
-
const typeExtensions = [];
|
|
69
|
-
const schemaDefinitions = [];
|
|
70
|
-
const schemaExtensions = [];
|
|
71
|
-
for (const definitionNode of documentNode.definitions) {
|
|
72
|
-
switch (definitionNode.kind) {
|
|
73
|
-
case 'OperationDefinition':
|
|
74
|
-
case 'FragmentDefinition':
|
|
75
|
-
errors.push(error_1.ERRORS.INVALID_GRAPHQL.err("Invalid executable definition found while building schema", { nodes: definitionNode }));
|
|
76
|
-
continue;
|
|
77
|
-
case 'SchemaDefinition':
|
|
78
|
-
schemaDefinitions.push(definitionNode);
|
|
79
|
-
schema.schemaDefinition.preserveEmptyDefinition = true;
|
|
80
|
-
break;
|
|
81
|
-
case 'SchemaExtension':
|
|
82
|
-
schemaExtensions.push(definitionNode);
|
|
83
|
-
break;
|
|
84
|
-
case 'ScalarTypeDefinition':
|
|
85
|
-
case 'ObjectTypeDefinition':
|
|
86
|
-
case 'InterfaceTypeDefinition':
|
|
87
|
-
case 'UnionTypeDefinition':
|
|
88
|
-
case 'EnumTypeDefinition':
|
|
89
|
-
case 'InputObjectTypeDefinition':
|
|
90
|
-
if (introspection_1.introspectionTypeNames.includes(definitionNode.name.value)) {
|
|
91
|
-
continue;
|
|
92
|
-
}
|
|
93
|
-
typeDefinitions.push(definitionNode);
|
|
94
|
-
let type = schema.type(definitionNode.name.value);
|
|
95
|
-
if (!type || type.isBuiltIn) {
|
|
96
|
-
type = schema.addType((0, definitions_1.newNamedType)(withoutTrailingDefinition(definitionNode.kind), definitionNode.name.value));
|
|
97
|
-
}
|
|
98
|
-
else if (type.preserveEmptyDefinition) {
|
|
99
|
-
throw error_1.ERRORS.INVALID_GRAPHQL.err(`There can be only one type named "${definitionNode.name.value}"`);
|
|
100
|
-
}
|
|
101
|
-
type.preserveEmptyDefinition = true;
|
|
102
|
-
break;
|
|
103
|
-
case 'ScalarTypeExtension':
|
|
104
|
-
case 'ObjectTypeExtension':
|
|
105
|
-
case 'InterfaceTypeExtension':
|
|
106
|
-
case 'UnionTypeExtension':
|
|
107
|
-
case 'EnumTypeExtension':
|
|
108
|
-
case 'InputObjectTypeExtension':
|
|
109
|
-
if (introspection_1.introspectionTypeNames.includes(definitionNode.name.value)) {
|
|
110
|
-
continue;
|
|
111
|
-
}
|
|
112
|
-
typeExtensions.push(definitionNode);
|
|
113
|
-
const existing = schema.type(definitionNode.name.value);
|
|
114
|
-
if (!existing) {
|
|
115
|
-
schema.addType((0, definitions_1.newNamedType)(withoutTrailingDefinition(definitionNode.kind), definitionNode.name.value));
|
|
116
|
-
}
|
|
117
|
-
else if (existing.isBuiltIn) {
|
|
118
|
-
throw error_1.ERRORS.INVALID_GRAPHQL.err(`Cannot extend built-in type "${definitionNode.name.value}"`);
|
|
119
|
-
}
|
|
120
|
-
break;
|
|
121
|
-
case 'DirectiveDefinition':
|
|
122
|
-
directiveDefinitions.push(definitionNode);
|
|
123
|
-
schema.addDirectiveDefinition(definitionNode.name.value);
|
|
124
|
-
break;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
return {
|
|
128
|
-
directiveDefinitions,
|
|
129
|
-
typeDefinitions,
|
|
130
|
-
typeExtensions,
|
|
131
|
-
schemaDefinitions,
|
|
132
|
-
schemaExtensions,
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
function withoutTrailingDefinition(str) {
|
|
136
|
-
const endString = str.endsWith('Definition') ? 'Definition' : 'Extension';
|
|
137
|
-
return str.slice(0, str.length - endString.length);
|
|
138
|
-
}
|
|
139
|
-
function getReferencedType(node, schema) {
|
|
140
|
-
const type = schema.type(node.name.value);
|
|
141
|
-
if (!type) {
|
|
142
|
-
throw error_1.ERRORS.INVALID_GRAPHQL.err(`Unknown type ${node.name.value}`, { nodes: node });
|
|
143
|
-
}
|
|
144
|
-
return type;
|
|
145
|
-
}
|
|
146
|
-
function withNodeAttachedToError(operation, node, errors) {
|
|
147
|
-
try {
|
|
148
|
-
operation();
|
|
149
|
-
}
|
|
150
|
-
catch (e) {
|
|
151
|
-
const causes = (0, error_1.errorCauses)(e);
|
|
152
|
-
if (causes) {
|
|
153
|
-
for (const cause of causes) {
|
|
154
|
-
const allNodes = cause.nodes ? [node, ...cause.nodes] : node;
|
|
155
|
-
errors.push((0, error_1.withModifiedErrorNodes)(cause, allNodes));
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
else {
|
|
159
|
-
throw e;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
function buildSchemaDefinitionInner(schemaNode, schemaDefinition, errors, extension) {
|
|
164
|
-
var _a, _b;
|
|
165
|
-
for (const opTypeNode of (_a = schemaNode.operationTypes) !== null && _a !== void 0 ? _a : []) {
|
|
166
|
-
withNodeAttachedToError(() => schemaDefinition.setRoot(opTypeNode.operation, opTypeNode.type.name.value).setOfExtension(extension), opTypeNode, errors);
|
|
167
|
-
}
|
|
168
|
-
schemaDefinition.sourceAST = schemaNode;
|
|
169
|
-
if ('description' in schemaNode) {
|
|
170
|
-
schemaDefinition.description = (_b = schemaNode.description) === null || _b === void 0 ? void 0 : _b.value;
|
|
171
|
-
}
|
|
172
|
-
buildAppliedDirectives(schemaNode, schemaDefinition, errors, extension);
|
|
173
|
-
}
|
|
174
|
-
function buildAppliedDirectives(elementNode, element, errors, extension) {
|
|
175
|
-
var _a;
|
|
176
|
-
for (const directive of (_a = elementNode.directives) !== null && _a !== void 0 ? _a : []) {
|
|
177
|
-
withNodeAttachedToError(() => {
|
|
178
|
-
if (element !== element.schema().schemaDefinition || directive.name.value === 'link' || !element.schema().blueprint.applyDirectivesAfterParsing()) {
|
|
179
|
-
const d = element.applyDirective(directive.name.value, buildArgs(directive));
|
|
180
|
-
d.setOfExtension(extension);
|
|
181
|
-
d.sourceAST = directive;
|
|
182
|
-
}
|
|
183
|
-
else {
|
|
184
|
-
element.addUnappliedDirective({
|
|
185
|
-
extension,
|
|
186
|
-
directive,
|
|
187
|
-
args: buildArgs(directive),
|
|
188
|
-
nameOrDef: directive.name.value,
|
|
189
|
-
});
|
|
190
|
-
}
|
|
191
|
-
}, directive, errors);
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
function buildArgs(argumentsNode) {
|
|
195
|
-
var _a;
|
|
196
|
-
const args = Object.create(null);
|
|
197
|
-
for (const argNode of (_a = argumentsNode.arguments) !== null && _a !== void 0 ? _a : []) {
|
|
198
|
-
args[argNode.name.value] = buildValue(argNode.value);
|
|
199
|
-
}
|
|
200
|
-
return args;
|
|
201
|
-
}
|
|
202
|
-
function buildNamedTypeInner(definitionNode, type, blueprint, errors, extension) {
|
|
203
|
-
var _a, _b, _c, _d, _e;
|
|
204
|
-
switch (definitionNode.kind) {
|
|
205
|
-
case 'EnumTypeDefinition':
|
|
206
|
-
case 'EnumTypeExtension':
|
|
207
|
-
const enumType = type;
|
|
208
|
-
for (const enumVal of (_a = definitionNode.values) !== null && _a !== void 0 ? _a : []) {
|
|
209
|
-
buildAppliedDirectives(enumVal, enumType.value(enumVal.name.value), errors);
|
|
210
|
-
}
|
|
211
|
-
break;
|
|
212
|
-
case 'ObjectTypeDefinition':
|
|
213
|
-
case 'ObjectTypeExtension':
|
|
214
|
-
case 'InterfaceTypeDefinition':
|
|
215
|
-
case 'InterfaceTypeExtension':
|
|
216
|
-
const fieldBasedType = type;
|
|
217
|
-
for (const fieldNode of (_b = definitionNode.fields) !== null && _b !== void 0 ? _b : []) {
|
|
218
|
-
if (blueprint.ignoreParsedField(type, fieldNode.name.value)) {
|
|
219
|
-
continue;
|
|
220
|
-
}
|
|
221
|
-
const field = fieldBasedType.addField(fieldNode.name.value);
|
|
222
|
-
field.setOfExtension(extension);
|
|
223
|
-
buildFieldDefinitionInner(fieldNode, field, errors);
|
|
224
|
-
}
|
|
225
|
-
for (const itfNode of (_c = definitionNode.interfaces) !== null && _c !== void 0 ? _c : []) {
|
|
226
|
-
withNodeAttachedToError(() => {
|
|
227
|
-
const itfName = itfNode.name.value;
|
|
228
|
-
if (fieldBasedType.implementsInterface(itfName)) {
|
|
229
|
-
throw error_1.ERRORS.INVALID_GRAPHQL.err(`Type "${type}" can only implement "${itfName}" once.`);
|
|
230
|
-
}
|
|
231
|
-
fieldBasedType.addImplementedInterface(itfName).setOfExtension(extension);
|
|
232
|
-
}, itfNode, errors);
|
|
233
|
-
}
|
|
234
|
-
break;
|
|
235
|
-
case 'UnionTypeDefinition':
|
|
236
|
-
case 'UnionTypeExtension':
|
|
237
|
-
const unionType = type;
|
|
238
|
-
for (const namedType of (_d = definitionNode.types) !== null && _d !== void 0 ? _d : []) {
|
|
239
|
-
withNodeAttachedToError(() => {
|
|
240
|
-
const name = namedType.name.value;
|
|
241
|
-
if (unionType.hasTypeMember(name)) {
|
|
242
|
-
throw error_1.ERRORS.INVALID_GRAPHQL.err(`Union type "${unionType}" can only include type "${name}" once.`);
|
|
243
|
-
}
|
|
244
|
-
unionType.addType(name).setOfExtension(extension);
|
|
245
|
-
}, namedType, errors);
|
|
246
|
-
}
|
|
247
|
-
break;
|
|
248
|
-
case 'InputObjectTypeDefinition':
|
|
249
|
-
case 'InputObjectTypeExtension':
|
|
250
|
-
const inputObjectType = type;
|
|
251
|
-
for (const fieldNode of (_e = definitionNode.fields) !== null && _e !== void 0 ? _e : []) {
|
|
252
|
-
const field = inputObjectType.addField(fieldNode.name.value);
|
|
253
|
-
field.setOfExtension(extension);
|
|
254
|
-
buildInputFieldDefinitionInner(fieldNode, field, errors);
|
|
255
|
-
}
|
|
256
|
-
break;
|
|
257
|
-
}
|
|
258
|
-
buildAppliedDirectives(definitionNode, type, errors, extension);
|
|
259
|
-
buildDescriptionAndSourceAST(definitionNode, type);
|
|
260
|
-
}
|
|
261
|
-
function buildEnumTypeValuesWithoutDirectiveApplications(definitionNode, type, extension) {
|
|
262
|
-
var _a;
|
|
263
|
-
const enumType = type;
|
|
264
|
-
for (const enumVal of (_a = definitionNode.values) !== null && _a !== void 0 ? _a : []) {
|
|
265
|
-
const v = enumType.addValue(enumVal.name.value);
|
|
266
|
-
if (enumVal.description) {
|
|
267
|
-
v.description = enumVal.description.value;
|
|
268
|
-
}
|
|
269
|
-
v.setOfExtension(extension);
|
|
270
|
-
}
|
|
271
|
-
buildDescriptionAndSourceAST(definitionNode, type);
|
|
272
|
-
}
|
|
273
|
-
function buildDescriptionAndSourceAST(definitionNode, dest) {
|
|
274
|
-
if (definitionNode.description) {
|
|
275
|
-
dest.description = definitionNode.description.value;
|
|
276
|
-
}
|
|
277
|
-
dest.sourceAST = definitionNode;
|
|
278
|
-
}
|
|
279
|
-
function buildFieldDefinitionInner(fieldNode, field, errors) {
|
|
280
|
-
var _a, _b;
|
|
281
|
-
const type = buildTypeReferenceFromAST(fieldNode.type, field.schema());
|
|
282
|
-
field.type = validateOutputType(type, field.coordinate, fieldNode, errors);
|
|
283
|
-
for (const inputValueDef of (_a = fieldNode.arguments) !== null && _a !== void 0 ? _a : []) {
|
|
284
|
-
buildArgumentDefinitionInner(inputValueDef, field.addArgument(inputValueDef.name.value), errors, true);
|
|
285
|
-
}
|
|
286
|
-
buildAppliedDirectives(fieldNode, field, errors);
|
|
287
|
-
field.description = (_b = fieldNode.description) === null || _b === void 0 ? void 0 : _b.value;
|
|
288
|
-
field.sourceAST = fieldNode;
|
|
289
|
-
}
|
|
290
|
-
function validateOutputType(type, what, node, errors) {
|
|
291
|
-
if ((0, definitions_1.isOutputType)(type)) {
|
|
292
|
-
return type;
|
|
293
|
-
}
|
|
294
|
-
else {
|
|
295
|
-
errors.push(error_1.ERRORS.INVALID_GRAPHQL.err(`The type of "${what}" must be Output Type but got "${type}", a ${type.kind}.`, { nodes: node }));
|
|
296
|
-
return undefined;
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
function validateInputType(type, what, node, errors) {
|
|
300
|
-
if ((0, definitions_1.isInputType)(type)) {
|
|
301
|
-
return type;
|
|
302
|
-
}
|
|
303
|
-
else {
|
|
304
|
-
errors.push(error_1.ERRORS.INVALID_GRAPHQL.err(`The type of "${what}" must be Input Type but got "${type}", a ${type.kind}.`, { nodes: node }));
|
|
305
|
-
return undefined;
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
function builtTypeReference(encodedType, schema) {
|
|
309
|
-
return buildTypeReferenceFromAST((0, graphql_1.parseType)(encodedType), schema);
|
|
310
|
-
}
|
|
311
|
-
exports.builtTypeReference = builtTypeReference;
|
|
312
|
-
function buildTypeReferenceFromAST(typeNode, schema) {
|
|
313
|
-
switch (typeNode.kind) {
|
|
314
|
-
case graphql_1.Kind.LIST_TYPE:
|
|
315
|
-
return new definitions_1.ListType(buildTypeReferenceFromAST(typeNode.type, schema));
|
|
316
|
-
case graphql_1.Kind.NON_NULL_TYPE:
|
|
317
|
-
const wrapped = buildTypeReferenceFromAST(typeNode.type, schema);
|
|
318
|
-
if (wrapped.kind == graphql_1.Kind.NON_NULL_TYPE) {
|
|
319
|
-
throw error_1.ERRORS.INVALID_GRAPHQL.err(`Cannot apply the non-null operator (!) twice to the same type`, { nodes: typeNode });
|
|
320
|
-
}
|
|
321
|
-
return new definitions_1.NonNullType(wrapped);
|
|
322
|
-
default:
|
|
323
|
-
return getReferencedType(typeNode, schema);
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
function buildArgumentDefinitionInner(inputNode, arg, errors, includeDirectiveApplication) {
|
|
327
|
-
var _a;
|
|
328
|
-
const type = buildTypeReferenceFromAST(inputNode.type, arg.schema());
|
|
329
|
-
arg.type = validateInputType(type, arg.coordinate, inputNode, errors);
|
|
330
|
-
arg.defaultValue = buildValue(inputNode.defaultValue);
|
|
331
|
-
if (includeDirectiveApplication) {
|
|
332
|
-
buildAppliedDirectives(inputNode, arg, errors);
|
|
333
|
-
}
|
|
334
|
-
arg.description = (_a = inputNode.description) === null || _a === void 0 ? void 0 : _a.value;
|
|
335
|
-
arg.sourceAST = inputNode;
|
|
336
|
-
}
|
|
337
|
-
function buildInputFieldDefinitionInner(fieldNode, field, errors) {
|
|
338
|
-
var _a;
|
|
339
|
-
const type = buildTypeReferenceFromAST(fieldNode.type, field.schema());
|
|
340
|
-
field.type = validateInputType(type, field.coordinate, fieldNode, errors);
|
|
341
|
-
field.defaultValue = buildValue(fieldNode.defaultValue);
|
|
342
|
-
buildAppliedDirectives(fieldNode, field, errors);
|
|
343
|
-
field.description = (_a = fieldNode.description) === null || _a === void 0 ? void 0 : _a.value;
|
|
344
|
-
field.sourceAST = fieldNode;
|
|
345
|
-
}
|
|
346
|
-
function buildDirectiveDefinitionInnerWithoutDirectiveApplications(directiveNode, directive, errors) {
|
|
347
|
-
var _a;
|
|
348
|
-
for (const inputValueDef of (_a = directiveNode.arguments) !== null && _a !== void 0 ? _a : []) {
|
|
349
|
-
buildArgumentDefinitionInner(inputValueDef, directive.addArgument(inputValueDef.name.value), errors, false);
|
|
350
|
-
}
|
|
351
|
-
directive.repeatable = directiveNode.repeatable;
|
|
352
|
-
const locations = directiveNode.locations.map(({ value }) => value);
|
|
353
|
-
directive.addLocations(...locations);
|
|
354
|
-
buildDescriptionAndSourceAST(directiveNode, directive);
|
|
355
|
-
}
|
|
356
|
-
function buildDirectiveApplicationsInDirectiveDefinition(directiveNode, directive, errors) {
|
|
357
|
-
var _a;
|
|
358
|
-
for (const inputValueDef of (_a = directiveNode.arguments) !== null && _a !== void 0 ? _a : []) {
|
|
359
|
-
buildAppliedDirectives(inputValueDef, directive.argument(inputValueDef.name.value), errors);
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
|
-
//# sourceMappingURL=buildSchema.js.map
|
package/dist/buildSchema.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buildSchema.js","sourceRoot":"","sources":["../src/buildSchema.ts"],"names":[],"mappings":"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"}
|
package/dist/coreSpec.d.ts
DELETED
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import { ASTNode, GraphQLError, StringValueNode } from "graphql";
|
|
2
|
-
import { CoreFeature, Directive, DirectiveDefinition, EnumType, NamedType, ScalarType, Schema, SchemaDefinition } from "./definitions";
|
|
3
|
-
import { DirectiveCompositionSpecification, DirectiveSpecification, TypeSpecification } from "./directiveAndTypeSpecification";
|
|
4
|
-
export declare const coreIdentity = "https://specs.apollo.dev/core";
|
|
5
|
-
export declare const linkIdentity = "https://specs.apollo.dev/link";
|
|
6
|
-
export declare const linkDirectiveDefaultName = "link";
|
|
7
|
-
export declare const ErrCoreCheckFailed: (causes: GraphQLError[]) => GraphQLError;
|
|
8
|
-
export declare const corePurposes: ("SECURITY" | "EXECUTION")[];
|
|
9
|
-
export type CorePurpose = typeof corePurposes[number];
|
|
10
|
-
export declare abstract class FeatureDefinition {
|
|
11
|
-
readonly url: FeatureUrl;
|
|
12
|
-
private readonly _directiveSpecs;
|
|
13
|
-
private readonly _typeSpecs;
|
|
14
|
-
constructor(url: FeatureUrl | string);
|
|
15
|
-
protected registerDirective(spec: DirectiveSpecification): void;
|
|
16
|
-
protected registerType(spec: TypeSpecification): void;
|
|
17
|
-
directiveSpecs(): readonly DirectiveSpecification[];
|
|
18
|
-
directiveSpec(name: string): DirectiveSpecification | undefined;
|
|
19
|
-
typeSpecs(): readonly TypeSpecification[];
|
|
20
|
-
typeSpec(name: string): TypeSpecification | undefined;
|
|
21
|
-
get identity(): string;
|
|
22
|
-
get version(): FeatureVersion;
|
|
23
|
-
isSpecType(type: NamedType): boolean;
|
|
24
|
-
isSpecDirective(directive: DirectiveDefinition): boolean;
|
|
25
|
-
addElementsToSchema(schema: Schema): GraphQLError[];
|
|
26
|
-
allElementNames(): string[];
|
|
27
|
-
protected nameInSchema(schema: Schema): string | undefined;
|
|
28
|
-
protected directiveNameInSchema(schema: Schema, directiveName: string): string | undefined;
|
|
29
|
-
protected typeNameInSchema(schema: Schema, typeName: string): string | undefined;
|
|
30
|
-
protected rootDirective<TApplicationArgs extends {
|
|
31
|
-
[key: string]: any;
|
|
32
|
-
}>(schema: Schema): DirectiveDefinition<TApplicationArgs> | undefined;
|
|
33
|
-
protected directive<TApplicationArgs extends {
|
|
34
|
-
[key: string]: any;
|
|
35
|
-
}>(schema: Schema, elementName: string): DirectiveDefinition<TApplicationArgs> | undefined;
|
|
36
|
-
protected type<T extends NamedType>(schema: Schema, elementName: string): T | undefined;
|
|
37
|
-
protected addRootDirective(schema: Schema): DirectiveDefinition;
|
|
38
|
-
protected addDirective(schema: Schema, name: string): DirectiveDefinition;
|
|
39
|
-
protected addDirectiveSpec(schema: Schema, spec: DirectiveSpecification): GraphQLError[];
|
|
40
|
-
protected addTypeSpec(schema: Schema, spec: TypeSpecification): GraphQLError[];
|
|
41
|
-
protected addScalarType(schema: Schema, name: string): ScalarType;
|
|
42
|
-
protected addEnumType(schema: Schema, name: string): EnumType;
|
|
43
|
-
protected featureInSchema(schema: Schema): CoreFeature | undefined;
|
|
44
|
-
get defaultCorePurpose(): CorePurpose | undefined;
|
|
45
|
-
compositionSpecification(directiveNameInFeature: string): DirectiveCompositionSpecification | undefined;
|
|
46
|
-
toString(): string;
|
|
47
|
-
}
|
|
48
|
-
export type CoreDirectiveArgs = {
|
|
49
|
-
url: undefined;
|
|
50
|
-
feature: string;
|
|
51
|
-
as?: string;
|
|
52
|
-
for?: string;
|
|
53
|
-
};
|
|
54
|
-
export type LinkDirectiveArgs = {
|
|
55
|
-
url: string;
|
|
56
|
-
feature: undefined;
|
|
57
|
-
as?: string;
|
|
58
|
-
for?: string;
|
|
59
|
-
import?: (string | CoreImport)[];
|
|
60
|
-
};
|
|
61
|
-
export type CoreOrLinkDirectiveArgs = CoreDirectiveArgs | LinkDirectiveArgs;
|
|
62
|
-
export type CoreImport = {
|
|
63
|
-
name: string;
|
|
64
|
-
as?: string;
|
|
65
|
-
};
|
|
66
|
-
export declare function extractCoreFeatureImports(url: FeatureUrl, directive: Directive<SchemaDefinition, CoreOrLinkDirectiveArgs>): CoreImport[];
|
|
67
|
-
export declare function isCoreSpecDirectiveApplication(directive: Directive<SchemaDefinition, any>): directive is Directive<SchemaDefinition, CoreOrLinkDirectiveArgs>;
|
|
68
|
-
export declare class CoreSpecDefinition extends FeatureDefinition {
|
|
69
|
-
private readonly directiveDefinitionSpec;
|
|
70
|
-
constructor(version: FeatureVersion, identity?: string, name?: string);
|
|
71
|
-
private createDefinitionArgumentSpecifications;
|
|
72
|
-
addElementsToSchema(_: Schema): GraphQLError[];
|
|
73
|
-
addToSchema(schema: Schema, alias?: string): GraphQLError[];
|
|
74
|
-
addDefinitionsToSchema(schema: Schema, as?: string): GraphQLError[];
|
|
75
|
-
allElementNames(): string[];
|
|
76
|
-
private supportPurposes;
|
|
77
|
-
private supportImport;
|
|
78
|
-
private extractFeature;
|
|
79
|
-
coreDirective(schema: Schema): DirectiveDefinition<CoreOrLinkDirectiveArgs>;
|
|
80
|
-
coreVersion(schema: Schema): FeatureVersion;
|
|
81
|
-
applyFeatureToSchema(schema: Schema, feature: FeatureDefinition, as?: string, purpose?: CorePurpose): GraphQLError[];
|
|
82
|
-
extractFeatureUrl(args: CoreOrLinkDirectiveArgs): FeatureUrl;
|
|
83
|
-
urlArgName(): 'feature' | 'url';
|
|
84
|
-
}
|
|
85
|
-
export declare class FeatureDefinitions<T extends FeatureDefinition = FeatureDefinition> {
|
|
86
|
-
readonly identity: string;
|
|
87
|
-
private readonly _definitions;
|
|
88
|
-
constructor(identity: string);
|
|
89
|
-
add(definition: T): FeatureDefinitions<T>;
|
|
90
|
-
find(requested: FeatureVersion): T | undefined;
|
|
91
|
-
versions(): FeatureVersion[];
|
|
92
|
-
latest(): T;
|
|
93
|
-
}
|
|
94
|
-
export declare class FeatureVersion {
|
|
95
|
-
readonly major: number;
|
|
96
|
-
readonly minor: number;
|
|
97
|
-
constructor(major: number, minor: number);
|
|
98
|
-
static parse(input: string): FeatureVersion;
|
|
99
|
-
satisfies(required: FeatureVersion): boolean;
|
|
100
|
-
get series(): string;
|
|
101
|
-
compareTo(other: FeatureVersion): number;
|
|
102
|
-
strictlyGreaterThan(version: FeatureVersion): boolean;
|
|
103
|
-
toString(): string;
|
|
104
|
-
equals(other: FeatureVersion): boolean;
|
|
105
|
-
private static VERSION_RE;
|
|
106
|
-
}
|
|
107
|
-
export declare class FeatureUrl {
|
|
108
|
-
readonly identity: string;
|
|
109
|
-
readonly name: string;
|
|
110
|
-
readonly version: FeatureVersion;
|
|
111
|
-
readonly element?: string | undefined;
|
|
112
|
-
constructor(identity: string, name: string, version: FeatureVersion, element?: string | undefined);
|
|
113
|
-
static parse(input: string, node?: ASTNode): FeatureUrl;
|
|
114
|
-
static decode(node: StringValueNode): FeatureUrl;
|
|
115
|
-
satisfies(requested: FeatureUrl): boolean;
|
|
116
|
-
equals(other: FeatureUrl): boolean;
|
|
117
|
-
get url(): string;
|
|
118
|
-
get isDirective(): boolean | undefined;
|
|
119
|
-
get elementName(): string | undefined;
|
|
120
|
-
get base(): FeatureUrl;
|
|
121
|
-
toString(): string;
|
|
122
|
-
}
|
|
123
|
-
export declare function findCoreSpecVersion(featureUrl: FeatureUrl): CoreSpecDefinition | undefined;
|
|
124
|
-
export declare const CORE_VERSIONS: FeatureDefinitions<CoreSpecDefinition>;
|
|
125
|
-
export declare const LINK_VERSIONS: FeatureDefinitions<CoreSpecDefinition>;
|
|
126
|
-
export declare function removeAllCoreFeatures(schema: Schema): void;
|
|
127
|
-
//# sourceMappingURL=coreSpec.d.ts.map
|