UNPKG

@pothos/plugin-directives

Version:

Directive plugin for Pothos, enables using graphql-tools based directives with Pothos

74 lines (73 loc) 4.16 kB
import type { EnumValues, FieldNullability, FieldRequiredness, InputFieldMap, InputType, InterfaceParam, ObjectParam, RootName, SchemaTypes, TypeParam } from '@pothos/core'; import type { DirectiveLocation, Directives } from './types.js'; import type { PothosDirectivesPlugin } from './index.js'; declare global { export namespace PothosSchemaTypes { interface Plugins<Types extends SchemaTypes> { directives: PothosDirectivesPlugin<Types>; } interface UserSchemaTypes { Directives: Record<string, { locations: DirectiveLocation; args?: Record<string, unknown>; }>; } interface ExtendDefaultTypes<PartialTypes extends Partial<UserSchemaTypes>> { Directives: PartialTypes["Directives"] & {}; } interface SchemaBuilderOptions<Types extends SchemaTypes> { directives?: { useGraphQLToolsUnorderedDirectives?: boolean; }; } interface V3SchemaBuilderOptions<Types extends SchemaTypes> { directives: never; useGraphQLToolsUnorderedDirectives?: boolean; } interface EnumTypeOptions<Types extends SchemaTypes = SchemaTypes, Values extends EnumValues<Types> = EnumValues<Types>> extends BaseTypeOptions<Types> { directives?: Directives<Types, "ENUM">; } interface ObjectTypeOptions<Types extends SchemaTypes = SchemaTypes, Shape = unknown> extends BaseTypeOptions<Types> { directives?: Directives<Types, "OBJECT">; } interface RootTypeOptions<Types extends SchemaTypes, Type extends RootName> extends BaseTypeOptions<Types> { directives?: Directives<Types, "OBJECT">; } interface InputObjectTypeOptions<Types extends SchemaTypes = SchemaTypes, Fields extends InputFieldMap = InputFieldMap> extends BaseTypeOptions<Types> { directives?: Directives<Types, "INPUT_OBJECT">; } interface InterfaceTypeOptions<Types extends SchemaTypes = SchemaTypes, Shape = unknown, Interfaces extends InterfaceParam<Types>[] = InterfaceParam<Types>[]> extends BaseTypeOptions<Types> { directives?: Directives<Types, "INTERFACE">; } interface UnionTypeOptions<Types extends SchemaTypes = SchemaTypes, Member extends ObjectParam<Types> = ObjectParam<Types>> extends BaseTypeOptions<Types> { directives?: Directives<Types, "UNION">; } interface ScalarTypeOptions<Types extends SchemaTypes = SchemaTypes, ScalarInputShape = unknown, ScalarOutputShape = unknown> extends BaseTypeOptions<Types> { directives?: Directives<Types, "SCALAR">; } interface FieldOptions<Types extends SchemaTypes = SchemaTypes, ParentShape = unknown, Type extends TypeParam<Types> = TypeParam<Types>, Nullable extends FieldNullability<Type> = FieldNullability<Type>, Args extends InputFieldMap = InputFieldMap, ResolveShape = unknown, ResolveReturnShape = unknown> { directives?: Directives<Types, "FIELD_DEFINITION">; } interface InputObjectFieldOptions<Types extends SchemaTypes = SchemaTypes, Type extends InputType<Types> | [ InputType<Types> ] = InputType<Types> | [ InputType<Types> ], Req extends FieldRequiredness<Type> = FieldRequiredness<Type>> { directives?: Directives<Types, "INPUT_FIELD_DEFINITION">; } interface ArgFieldOptions<Types extends SchemaTypes = SchemaTypes, Type extends InputType<Types> | [ InputType<Types> ] = InputType<Types> | [ InputType<Types> ], Req extends FieldRequiredness<Type> = FieldRequiredness<Type>> { directives?: Directives<Types, "ARGUMENT_DEFINITION">; } interface EnumValueConfig<Types extends SchemaTypes = SchemaTypes> { directives?: Directives<Types, "ENUM_VALUE">; } interface BuildSchemaOptions<Types extends SchemaTypes> { schemaDirectives?: Directives<Types, "SCHEMA">; } } } //# sourceMappingURL=global-types.d.ts.map