UNPKG

@pothos/plugin-sub-graph

Version:

A Pothos plugin for creating multiple variants or sub-selections of the same graph

262 lines 11 kB
import './global-types.js'; import { BasePlugin, type PothosInputFieldConfig, type PothosOutputFieldConfig, type PothosTypeConfig, type SchemaTypes } from '@pothos/core'; import { type GraphQLFieldConfigMap, type GraphQLInputFieldConfigMap, GraphQLInputObjectType, GraphQLInterfaceType, type GraphQLNamedType, GraphQLObjectType, GraphQLSchema } from 'graphql'; declare const pluginName = "subGraph"; export default pluginName; export declare class PothosSubGraphPlugin<Types extends SchemaTypes> extends BasePlugin<Types> { static createSubGraph<Types extends SchemaTypes>(schema: GraphQLSchema, subGraph: string[] | string | { all: string[]; }, builder: PothosSchemaTypes.SchemaBuilder<Types>): GraphQLSchema; static filterTypes(types: readonly GraphQLNamedType[], subGraphs: string[], mode: 'any' | 'all'): Map<string, GraphQLNamedType>; static filterFields(type: GraphQLInterfaceType | GraphQLObjectType, newTypes: Map<string, GraphQLNamedType>, subGraphs: string[], mode: 'any' | 'all'): () => GraphQLFieldConfigMap<unknown, unknown>; static mapInputFields(type: GraphQLInputObjectType, newTypes: Map<string, GraphQLNamedType>, subGraphs: string[], mode: 'any' | 'all'): () => GraphQLInputFieldConfigMap; afterBuild(schema: GraphQLSchema): GraphQLSchema; onTypeConfig(typeConfig: PothosTypeConfig): { name: string; description?: import("graphql/jsutils/Maybe.js").Maybe<string>; values: import("graphql").ThunkObjMap<import("graphql").GraphQLEnumValueConfig>; astNode?: import("graphql/jsutils/Maybe.js").Maybe<import("graphql").EnumTypeDefinitionNode>; extensionASTNodes?: import("graphql/jsutils/Maybe.js").Maybe<ReadonlyArray<import("graphql").EnumTypeExtensionNode>>; kind: 'Enum'; graphqlKind: 'Enum'; pothosOptions: PothosSchemaTypes.EnumTypeOptions; extensions: { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; }; } | { name: string; description?: import("graphql/jsutils/Maybe.js").Maybe<string>; astNode?: import("graphql/jsutils/Maybe.js").Maybe<import("graphql").InputObjectTypeDefinitionNode>; extensionASTNodes?: import("graphql/jsutils/Maybe.js").Maybe<ReadonlyArray<import("graphql").InputObjectTypeExtensionNode>>; isOneOf?: boolean; kind: 'InputObject'; graphqlKind: 'InputObject'; pothosOptions: PothosSchemaTypes.InputObjectTypeOptions; extensions: { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; }; } | { name: string; description?: import("graphql/jsutils/Maybe.js").Maybe<string>; resolveType?: import("graphql/jsutils/Maybe.js").Maybe<import("graphql").GraphQLTypeResolver<unknown, object>>; astNode?: import("graphql/jsutils/Maybe.js").Maybe<import("graphql").InterfaceTypeDefinitionNode>; extensionASTNodes?: import("graphql/jsutils/Maybe.js").Maybe<ReadonlyArray<import("graphql").InterfaceTypeExtensionNode>>; kind: 'Interface'; graphqlKind: 'Interface'; interfaces: import("@pothos/core").InterfaceParam<SchemaTypes>[]; pothosOptions: PothosSchemaTypes.InterfaceTypeOptions; extensions: { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; }; } | { name: string; description?: import("graphql/jsutils/Maybe.js").Maybe<string>; isTypeOf?: import("graphql/jsutils/Maybe.js").Maybe<import("graphql").GraphQLIsTypeOfFn<unknown, object>>; astNode?: import("graphql/jsutils/Maybe.js").Maybe<import("graphql").ObjectTypeDefinitionNode>; extensionASTNodes?: import("graphql/jsutils/Maybe.js").Maybe<ReadonlyArray<import("graphql").ObjectTypeExtensionNode>>; kind: 'Mutation'; graphqlKind: 'Object'; pothosOptions: PothosSchemaTypes.MutationTypeOptions; extensions: { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; }; } | { name: string; description?: import("graphql/jsutils/Maybe.js").Maybe<string>; isTypeOf?: import("graphql/jsutils/Maybe.js").Maybe<import("graphql").GraphQLIsTypeOfFn<unknown, object>>; astNode?: import("graphql/jsutils/Maybe.js").Maybe<import("graphql").ObjectTypeDefinitionNode>; extensionASTNodes?: import("graphql/jsutils/Maybe.js").Maybe<ReadonlyArray<import("graphql").ObjectTypeExtensionNode>>; kind: 'Object'; graphqlKind: 'Object'; interfaces: import("@pothos/core").InterfaceParam<SchemaTypes>[]; pothosOptions: PothosSchemaTypes.ObjectTypeOptions; extensions: { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; }; } | { name: string; description?: import("graphql/jsutils/Maybe.js").Maybe<string>; isTypeOf?: import("graphql/jsutils/Maybe.js").Maybe<import("graphql").GraphQLIsTypeOfFn<unknown, object>>; astNode?: import("graphql/jsutils/Maybe.js").Maybe<import("graphql").ObjectTypeDefinitionNode>; extensionASTNodes?: import("graphql/jsutils/Maybe.js").Maybe<ReadonlyArray<import("graphql").ObjectTypeExtensionNode>>; kind: 'Query'; graphqlKind: 'Object'; pothosOptions: PothosSchemaTypes.QueryTypeOptions; extensions: { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; }; } | { name: string; description?: import("graphql/jsutils/Maybe.js").Maybe<string>; specifiedByURL?: import("graphql/jsutils/Maybe.js").Maybe<string>; serialize?: import("graphql").GraphQLScalarSerializer<unknown> | undefined; parseValue?: import("graphql").GraphQLScalarValueParser<unknown> | undefined; parseLiteral?: import("graphql").GraphQLScalarLiteralParser<unknown> | undefined; coerceOutputValue?: import("graphql").GraphQLScalarOutputValueCoercer<unknown> | undefined; coerceInputValue?: import("graphql").GraphQLScalarInputValueCoercer<unknown> | undefined; coerceInputLiteral?: import("graphql").GraphQLScalarInputLiteralCoercer<unknown> | undefined; valueToLiteral?: import("graphql/type/definition.js").GraphQLScalarValueToLiteral | undefined; astNode?: import("graphql/jsutils/Maybe.js").Maybe<import("graphql").ScalarTypeDefinitionNode>; extensionASTNodes?: import("graphql/jsutils/Maybe.js").Maybe<ReadonlyArray<import("graphql").ScalarTypeExtensionNode>>; kind: 'Scalar'; graphqlKind: 'Scalar'; pothosOptions: PothosSchemaTypes.ScalarTypeOptions; extensions: { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; }; } | { name: string; description?: import("graphql/jsutils/Maybe.js").Maybe<string>; isTypeOf?: import("graphql/jsutils/Maybe.js").Maybe<import("graphql").GraphQLIsTypeOfFn<unknown, object>>; astNode?: import("graphql/jsutils/Maybe.js").Maybe<import("graphql").ObjectTypeDefinitionNode>; extensionASTNodes?: import("graphql/jsutils/Maybe.js").Maybe<ReadonlyArray<import("graphql").ObjectTypeExtensionNode>>; kind: 'Subscription'; graphqlKind: 'Object'; pothosOptions: PothosSchemaTypes.SubscriptionTypeOptions; extensions: { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; }; } | { name: string; description?: import("graphql/jsutils/Maybe.js").Maybe<string>; resolveType?: import("graphql/jsutils/Maybe.js").Maybe<import("graphql").GraphQLTypeResolver<unknown, object>>; astNode?: import("graphql/jsutils/Maybe.js").Maybe<import("graphql").UnionTypeDefinitionNode>; extensionASTNodes?: import("graphql/jsutils/Maybe.js").Maybe<ReadonlyArray<import("graphql").UnionTypeExtensionNode>>; kind: 'Union'; graphqlKind: 'Union'; types: import("@pothos/core").ObjectParam<SchemaTypes>[]; pothosOptions: PothosSchemaTypes.UnionTypeOptions; extensions: { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; } | { subGraphs: string[]; }; }; onInputFieldConfig(fieldConfig: PothosInputFieldConfig<Types>): PothosInputFieldConfig<Types>; onOutputFieldConfig(fieldConfig: PothosOutputFieldConfig<Types>): PothosOutputFieldConfig<Types>; } //# sourceMappingURL=index.d.ts.map