UNPKG

@pothos/plugin-federation

Version:

A Pothos plugin for implementing apollo federation subGraphs

546 lines 17.5 kB
import './global-types.js'; import './schema-builder.js'; import { BasePlugin, type PothosEnumValueConfig, type PothosInputFieldConfig, type PothosOutputFieldConfig, type PothosTypeConfig, type SchemaTypes } from '@pothos/core'; export { hasResolvableKey } from './schema-builder.js'; export * from './types.js'; declare const pluginName = "federation"; export default pluginName; export declare class PothosFederationPlugin<Types extends SchemaTypes> extends BasePlugin<Types> { 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: { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; }; } | { 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: { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; }; } | { 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: { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; }; } | { 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: { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; }; } | { 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: { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; }; } | { 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: { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; }; } | { 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: { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; }; } | { 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: { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; }; } | { 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: { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; } | { apollo: unknown; directives: { name: string; args?: object; }[]; }; }; onOutputFieldConfig(fieldConfig: PothosOutputFieldConfig<Types>): PothosOutputFieldConfig<Types> | null; onInputFieldConfig(fieldConfig: PothosInputFieldConfig<Types>): PothosInputFieldConfig<Types>; onEnumValueConfig(valueConfig: PothosEnumValueConfig<Types>): PothosEnumValueConfig<Types>; } //# sourceMappingURL=index.d.ts.map