UNPKG

5.34 kBTypeScriptView Raw
1import { StringValueNode, NameNode, DocumentNode, DirectiveNode, GraphQLNamedType, GraphQLError, GraphQLSchema, GraphQLObjectType, GraphQLField, TypeDefinitionNode, TypeExtensionNode, ASTNode, DirectiveDefinitionNode, GraphQLDirective, OperationTypeNode, NonNullTypeNode, NamedTypeNode } from 'graphql';
2import { ExternalFieldDefinition, DefaultRootOperationTypeName, Maybe, FederationDirective, ServiceDefinition } from './types';
3import type { FederationType, FederationField, FieldSet } from './types';
4import type { ASTNodeWithDirectives } from '@apollo/subgraph/dist/directives';
5export declare function isStringValueNode(node: any): node is StringValueNode;
6export declare function isDirectiveDefinitionNode(node: any): node is DirectiveDefinitionNode;
7export declare function isNonNullTypeNode(node: any): node is NonNullTypeNode;
8export declare function isNamedTypeNode(node: any): node is NamedTypeNode;
9export declare function mapFieldNamesToServiceName<Node extends {
10 name: NameNode;
11}>(fields: ReadonlyArray<Node>, serviceName: string): any;
12export declare function findDirectivesOnNode(node: Maybe<ASTNodeWithDirectives>, directiveName: string): DirectiveNode[];
13export declare function printFieldSet(selections: FieldSet): string;
14export declare function findSelectionSetOnNode(node: Maybe<ASTNodeWithDirectives>, directiveName: string, printedSelectionSet: string): import("graphql").ValueNode | undefined;
15export declare function stripExternalFieldsFromTypeDefs(typeDefs: DocumentNode, serviceName: string): {
16 typeDefsWithoutExternalFields: DocumentNode;
17 strippedFields: ExternalFieldDefinition[];
18};
19export declare function stripTypeSystemDirectivesFromTypeDefs(typeDefs: DocumentNode): DocumentNode;
20export declare function parseFieldSet(source: string): FieldSet;
21export declare function hasMatchingFieldInDirectives({ directives, fieldNameToMatch, namedType, }: {
22 directives: DirectiveNode[];
23 fieldNameToMatch: String;
24 namedType: GraphQLNamedType;
25}): boolean;
26export declare const logServiceAndType: (serviceName: string, typeName: string, fieldName?: string | undefined) => string;
27export declare function logDirective(directiveName: string): string;
28export declare function errorWithCode(code: string, message: string, nodes?: ReadonlyArray<ASTNode> | ASTNode | undefined): GraphQLError;
29export declare function findTypesContainingFieldWithReturnType(schema: GraphQLSchema, node: GraphQLField<any, any>): GraphQLObjectType[];
30export declare function findFieldsThatReturnType({ schema, typeToFind, }: {
31 schema: GraphQLSchema;
32 typeToFind: GraphQLNamedType;
33}): GraphQLField<any, any>[];
34export declare function selectionIncludesField({ selections, selectionSetType, typeToFind, fieldToFind, }: {
35 selections: FieldSet;
36 selectionSetType: GraphQLObjectType;
37 typeToFind: GraphQLObjectType;
38 fieldToFind: string;
39}): boolean;
40export declare function isTypeNodeAnEntity(node: TypeDefinitionNode | TypeExtensionNode): boolean;
41export declare function diffTypeNodes(firstNode: TypeDefinitionNode | TypeExtensionNode | DirectiveDefinitionNode, secondNode: TypeDefinitionNode | TypeExtensionNode | DirectiveDefinitionNode): {
42 name: string[];
43 kind: any[];
44 fields: {
45 [fieldName: string]: string[];
46 };
47 fieldArgs: {
48 [fieldName: string]: {
49 [argumentName: string]: string[];
50 };
51 };
52 unionTypes: {
53 [typeName: string]: boolean;
54 };
55 locations: string[];
56 directiveArgs: {
57 [argumentName: string]: string[];
58 };
59};
60export declare function typeNodesAreEquivalent(firstNode: TypeDefinitionNode | TypeExtensionNode | DirectiveDefinitionNode, secondNode: TypeDefinitionNode | TypeExtensionNode | DirectiveDefinitionNode): boolean;
61export declare function findTypeNodeInServiceList(typeName: string, serviceName: string, serviceList: ServiceDefinition[]): import("graphql").DefinitionNode | undefined;
62export declare const defKindToExtKind: {
63 [kind: string]: string;
64};
65export declare const executableDirectiveLocations: string[];
66export declare const reservedRootFields: string[];
67export declare const defaultRootOperationNameLookup: {
68 [node in OperationTypeNode]: DefaultRootOperationTypeName;
69};
70export declare type CompositionResult = CompositionFailure | CompositionSuccess;
71export interface CompositionFailure {
72 schema: GraphQLSchema;
73 errors: GraphQLError[];
74 supergraphSdl?: undefined;
75}
76export interface CompositionSuccess {
77 schema: GraphQLSchema;
78 supergraphSdl: string;
79 errors?: undefined;
80}
81export declare function compositionHasErrors(compositionResult: CompositionResult): compositionResult is CompositionFailure;
82export declare function assertCompositionSuccess(compositionResult: CompositionResult, message?: string): asserts compositionResult is CompositionSuccess;
83export declare function assertCompositionFailure(compositionResult: CompositionResult, message?: string): asserts compositionResult is CompositionFailure;
84export declare function getFederationMetadata(obj: GraphQLNamedType): FederationType | undefined;
85export declare function getFederationMetadata(obj: GraphQLField<any, any>): FederationField | undefined;
86export declare function getFederationMetadata(obj: GraphQLDirective): FederationDirective | undefined;
87//# sourceMappingURL=utils.d.ts.map
\No newline at end of file