@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
TypeScript
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