UNPKG

@theguild/federation-composition

Version:

Open Source Composition library for Apollo Federation

61 lines 1.68 kB
import { DirectiveNode } from 'graphql'; import { Deprecated, Description, InterfaceType } from '../../subgraph/state.js'; import type { Key, MapByGraph, TypeBuilder } from './common.js'; export declare function interfaceTypeBuilder(): TypeBuilder<InterfaceType, InterfaceTypeState>; export type InterfaceTypeState = { name: string; tags: Set<string>; inaccessible: boolean; hasDefinition: boolean; description?: Description; byGraph: MapByGraph<InterfaceTypeInGraph>; interfaces: Set<string>; implementedBy: Set<string>; fields: Map<string, InterfaceTypeFieldState>; ast: { directives: DirectiveNode[]; }; }; type InterfaceTypeFieldState = { name: string; type: string; tags: Set<string>; inaccessible: boolean; deprecated?: Deprecated; description?: Description; byGraph: MapByGraph<FieldStateInGraph>; args: Map<string, InterfaceTypeFieldArgState>; ast: { directives: DirectiveNode[]; }; }; export type InterfaceTypeFieldArgState = { name: string; type: string; tags: Set<string>; defaultValue?: string; description?: Description; deprecated?: Deprecated; byGraph: MapByGraph<ArgStateInGraph>; ast: { directives: DirectiveNode[]; }; }; type InterfaceTypeInGraph = { extension: boolean; keys: Key[]; interfaces: Set<string>; implementedBy: Set<string>; }; type FieldStateInGraph = { type: string; override: string | null; provides: string | null; requires: string | null; }; type ArgStateInGraph = { type: string; defaultValue?: string; }; export {}; //# sourceMappingURL=interface-type.d.ts.map