UNPKG

@pothos/core

Version:

Pothos (formerly GiraphQL) is a plugin based schema builder for creating code-first GraphQL schemas in typescript

121 lines (120 loc) 10.7 kB
import { InputListRef } from '../refs/input-list.js'; import type { ArgBuilder, FieldRequiredness, InputOrArgRef, InputShapeFromTypeParam, InputType, InputTypeParam, NormalizeArgs, SchemaTypes } from '../types/index.js'; export declare class InputFieldBuilder<Types extends SchemaTypes, Kind extends keyof PothosSchemaTypes.InputFieldOptionsByKind> { kind: Kind; builder: PothosSchemaTypes.SchemaBuilder<Types>; /** * Create a Boolean input field * @param {PothosSchemaTypes.InputFieldOptions} [options={}] - Options for this field */ boolean: <Req extends FieldRequiredness<"Boolean">>(...args: NormalizeArgs<[ options: Omit<PothosSchemaTypes.InputFieldOptionsByKind<Types, "Boolean", Req>[Kind], "type"> ], 0>) => InputOrArgRef<Types, FieldRequiredness<"Boolean"> extends Req ? Types["DefaultInputFieldRequiredness"] extends false ? ("Boolean" extends infer T ? T extends "Boolean" ? T extends keyof Types["inputShapes"] ? Types["inputShapes"][T] : T extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T> : never : never : never) | null | undefined : "Boolean" extends infer T_1 ? T_1 extends "Boolean" ? T_1 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_1] : T_1 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_1> : never : never : never : Req extends true ? "Boolean" extends infer T_2 ? T_2 extends "Boolean" ? T_2 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_2] : T_2 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_2> : never : never : never : ("Boolean" extends infer T_3 ? T_3 extends "Boolean" ? T_3 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_3] : T_3 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_3> : never : never : never) | null | undefined, Kind>; /** * Create a Float input field * @param {PothosSchemaTypes.InputFieldOptions} [options={}] - Options for this field */ float: <Req extends FieldRequiredness<"Float">>(...args: NormalizeArgs<[ options: Omit<PothosSchemaTypes.InputFieldOptionsByKind<Types, "Float", Req>[Kind], "type"> ], 0>) => InputOrArgRef<Types, FieldRequiredness<"Float"> extends Req ? Types["DefaultInputFieldRequiredness"] extends false ? ("Float" extends infer T ? T extends "Float" ? T extends keyof Types["inputShapes"] ? Types["inputShapes"][T] : T extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T> : never : never : never) | null | undefined : "Float" extends infer T_1 ? T_1 extends "Float" ? T_1 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_1] : T_1 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_1> : never : never : never : Req extends true ? "Float" extends infer T_2 ? T_2 extends "Float" ? T_2 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_2] : T_2 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_2> : never : never : never : ("Float" extends infer T_3 ? T_3 extends "Float" ? T_3 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_3] : T_3 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_3> : never : never : never) | null | undefined, Kind>; /** * Create a ID input field * @param {PothosSchemaTypes.InputFieldOptions} [options={}] - Options for this field */ id: <Req extends FieldRequiredness<"ID">>(...args: NormalizeArgs<[ options: Omit<PothosSchemaTypes.InputFieldOptionsByKind<Types, "ID", Req>[Kind], "type"> ], 0>) => InputOrArgRef<Types, FieldRequiredness<"ID"> extends Req ? Types["DefaultInputFieldRequiredness"] extends false ? ("ID" extends infer T ? T extends "ID" ? T extends keyof Types["inputShapes"] ? Types["inputShapes"][T] : T extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T> : never : never : never) | null | undefined : "ID" extends infer T_1 ? T_1 extends "ID" ? T_1 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_1] : T_1 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_1> : never : never : never : Req extends true ? "ID" extends infer T_2 ? T_2 extends "ID" ? T_2 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_2] : T_2 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_2> : never : never : never : ("ID" extends infer T_3 ? T_3 extends "ID" ? T_3 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_3] : T_3 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_3> : never : never : never) | null | undefined, Kind>; /** * Create a Int input field * @param {PothosSchemaTypes.InputFieldOptions} [options={}] - Options for this field */ int: <Req extends FieldRequiredness<"Int">>(...args: NormalizeArgs<[ options: Omit<PothosSchemaTypes.InputFieldOptionsByKind<Types, "Int", Req>[Kind], "type"> ], 0>) => InputOrArgRef<Types, FieldRequiredness<"Int"> extends Req ? Types["DefaultInputFieldRequiredness"] extends false ? ("Int" extends infer T ? T extends "Int" ? T extends keyof Types["inputShapes"] ? Types["inputShapes"][T] : T extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T> : never : never : never) | null | undefined : "Int" extends infer T_1 ? T_1 extends "Int" ? T_1 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_1] : T_1 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_1> : never : never : never : Req extends true ? "Int" extends infer T_2 ? T_2 extends "Int" ? T_2 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_2] : T_2 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_2> : never : never : never : ("Int" extends infer T_3 ? T_3 extends "Int" ? T_3 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_3] : T_3 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_3> : never : never : never) | null | undefined, Kind>; /** * Create a String input field * @param {PothosSchemaTypes.InputFieldOptions} [options={}] - Options for this field */ string: <Req extends FieldRequiredness<"String">>(...args: NormalizeArgs<[ options: Omit<PothosSchemaTypes.InputFieldOptionsByKind<Types, "String", Req>[Kind], "type"> ], 0>) => InputOrArgRef<Types, FieldRequiredness<"String"> extends Req ? Types["DefaultInputFieldRequiredness"] extends false ? ("String" extends infer T ? T extends "String" ? T extends keyof Types["inputShapes"] ? Types["inputShapes"][T] : T extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T> : never : never : never) | null | undefined : "String" extends infer T_1 ? T_1 extends "String" ? T_1 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_1] : T_1 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_1> : never : never : never : Req extends true ? "String" extends infer T_2 ? T_2 extends "String" ? T_2 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_2] : T_2 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_2> : never : never : never : ("String" extends infer T_3 ? T_3 extends "String" ? T_3 extends keyof Types["inputShapes"] ? Types["inputShapes"][T_3] : T_3 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_3> : never : never : never) | null | undefined, Kind>; /** * Create a Boolean list input field * @param {PothosSchemaTypes.InputFieldOptions} [options={}] - Options for this field */ booleanList: <Req extends FieldRequiredness<[ "Boolean" ]>>(...args: NormalizeArgs<[ options: Omit<PothosSchemaTypes.InputFieldOptionsByKind<Types, [ "Boolean" ], Req>[Kind], "type"> ], 0>) => InputOrArgRef<Types, InputShapeFromTypeParam<Types, [ "Boolean" ], Req>, Kind>; /** * Create a Float list input field * @param {PothosSchemaTypes.InputFieldOptions} [options={}] - Options for this field */ floatList: <Req extends FieldRequiredness<[ "Float" ]>>(...args: NormalizeArgs<[ options: Omit<PothosSchemaTypes.InputFieldOptionsByKind<Types, [ "Float" ], Req>[Kind], "type"> ], 0>) => InputOrArgRef<Types, InputShapeFromTypeParam<Types, [ "Float" ], Req>, Kind>; /** * Create a ID list input field * @param {PothosSchemaTypes.InputFieldOptions} [options={}] - Options for this field */ idList: <Req extends FieldRequiredness<[ "ID" ]>>(...args: NormalizeArgs<[ options: Omit<PothosSchemaTypes.InputFieldOptionsByKind<Types, [ "ID" ], Req>[Kind], "type"> ], 0>) => InputOrArgRef<Types, InputShapeFromTypeParam<Types, [ "ID" ], Req>, Kind>; /** * Create a Int list input field * @param {PothosSchemaTypes.InputFieldOptions} [options={}] - Options for this field */ intList: <Req extends FieldRequiredness<[ "Int" ]>>(...args: NormalizeArgs<[ options: Omit<PothosSchemaTypes.InputFieldOptionsByKind<Types, [ "Int" ], Req>[Kind], "type"> ], 0>) => InputOrArgRef<Types, InputShapeFromTypeParam<Types, [ "Int" ], Req>, Kind>; /** * Create a String list input field * @param {PothosSchemaTypes.InputFieldOptions} [options={}] - Options for this field */ stringList: <Req extends FieldRequiredness<[ "String" ]>>(...args: NormalizeArgs<[ options: Omit<PothosSchemaTypes.InputFieldOptionsByKind<Types, [ "String" ], Req>[Kind], "type"> ], 0>) => InputOrArgRef<Types, InputShapeFromTypeParam<Types, [ "String" ], Req>, Kind>; constructor(builder: PothosSchemaTypes.SchemaBuilder<Types>, kind: Kind); listRef: <T extends InputTypeParam<Types>, Required extends boolean = true>(type: T, options?: { required?: Required; }) => InputListRef<Types, InputShapeFromTypeParam<Types, T, Required>[]>; argBuilder(): ArgBuilder<Types>; /** * Create in input field or argument for the current type * @param {PothosSchemaTypes.InputFieldOptions} [options={}] - Options for this field */ field<Type extends InputType<Types> | [ InputType<Types> ], Req extends FieldRequiredness<Type>>(options: PothosSchemaTypes.InputFieldOptionsByKind<Types, Type, Req>[Kind]): InputOrArgRef<Types, InputShapeFromTypeParam<Types, Type, Req>, Kind>; private helper; } //# sourceMappingURL=input.d.ts.map