@pothos/core
Version:
Pothos (formerly GiraphQL) is a plugin based schema builder for creating code-first GraphQL schemas in typescript
116 lines (115 loc) • 12.1 kB
TypeScript
import { ListRef } from '../refs/list.js';
import type { ArgBuilder, DistributeOmit, FieldKind, FieldNullability, FieldOptionsFromKind, InputFieldMap, NormalizeArgs, SchemaTypes, ShapeFromTypeParam, TypeParam } from '../types/index.js';
import { BaseFieldUtil } from './base.js';
export declare class RootFieldBuilder<Types extends SchemaTypes, ParentShape, Kind extends FieldKind = FieldKind> extends BaseFieldUtil<Types, ParentShape, Kind> {
arg: ArgBuilder<Types>;
/**
* Create a Boolean field
* @param {PothosSchemaTypes.FieldOptions} options - Options for this field
*/
boolean<ResolveShape, ResolveReturnShape, Nullable extends FieldNullability<"Boolean"> = Types["DefaultFieldNullability"], Args extends InputFieldMap = {}>(...args: NormalizeArgs<[
options: DistributeOmit<FieldOptionsFromKind<Types, ParentShape, "Boolean", Nullable, Args, Kind, ResolveShape, ResolveReturnShape>, "type">
]>): import("../refs/field.js").FieldRef<Types, FieldNullability<"Boolean"> extends Nullable ? Types["DefaultFieldNullability"] extends true ? ("Boolean" extends infer T ? T extends "Boolean" ? T extends keyof Types["outputShapes"] ? Types["outputShapes"][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["outputShapes"] ? Types["outputShapes"][T_1] : T_1 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_1> : never : never : never : Nullable extends true ? ("Boolean" extends infer T_2 ? T_2 extends "Boolean" ? T_2 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_2] : T_2 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_2> : never : never : never) | null | undefined : "Boolean" extends infer T_3 ? T_3 extends "Boolean" ? T_3 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_3] : T_3 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_3> : never : never : never, Kind>;
/**
* Create a Float field
* @param {PothosSchemaTypes.FieldOptions} options - Options for this field
*/
float<Nullable extends FieldNullability<"Float">, ResolveShape, ResolveReturnShape, Args extends InputFieldMap = {}>(...args: NormalizeArgs<[
options: DistributeOmit<FieldOptionsFromKind<Types, ParentShape, "Float", Nullable, Args, Kind, ResolveShape, ResolveReturnShape>, "type">
]>): import("../refs/field.js").FieldRef<Types, FieldNullability<"Float"> extends Nullable ? Types["DefaultFieldNullability"] extends true ? ("Float" extends infer T ? T extends "Float" ? T extends keyof Types["outputShapes"] ? Types["outputShapes"][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["outputShapes"] ? Types["outputShapes"][T_1] : T_1 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_1> : never : never : never : Nullable extends true ? ("Float" extends infer T_2 ? T_2 extends "Float" ? T_2 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_2] : T_2 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_2> : never : never : never) | null | undefined : "Float" extends infer T_3 ? T_3 extends "Float" ? T_3 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_3] : T_3 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_3> : never : never : never, Kind>;
/**
* Create a ID field
* @param {PothosSchemaTypes.FieldOptions} options - Options for this field
*/
id<Nullable extends FieldNullability<"ID">, ResolveShape, ResolveReturnShape, Args extends InputFieldMap = {}>(...args: NormalizeArgs<[
options: DistributeOmit<FieldOptionsFromKind<Types, ParentShape, "ID", Nullable, Args, Kind, ResolveShape, ResolveReturnShape>, "type">
]>): import("../refs/field.js").FieldRef<Types, FieldNullability<"ID"> extends Nullable ? Types["DefaultFieldNullability"] extends true ? ("ID" extends infer T ? T extends "ID" ? T extends keyof Types["outputShapes"] ? Types["outputShapes"][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["outputShapes"] ? Types["outputShapes"][T_1] : T_1 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_1> : never : never : never : Nullable extends true ? ("ID" extends infer T_2 ? T_2 extends "ID" ? T_2 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_2] : T_2 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_2> : never : never : never) | null | undefined : "ID" extends infer T_3 ? T_3 extends "ID" ? T_3 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_3] : T_3 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_3> : never : never : never, Kind>;
/**
* Create a Int field
* @param {PothosSchemaTypes.FieldOptions} options - Options for this field
*/
int<Nullable extends FieldNullability<"Int">, ResolveShape, ResolveReturnShape, Args extends InputFieldMap = {}>(...args: NormalizeArgs<[
options: DistributeOmit<FieldOptionsFromKind<Types, ParentShape, "Int", Nullable, Args, Kind, ResolveShape, ResolveReturnShape>, "type">
]>): import("../refs/field.js").FieldRef<Types, FieldNullability<"Int"> extends Nullable ? Types["DefaultFieldNullability"] extends true ? ("Int" extends infer T ? T extends "Int" ? T extends keyof Types["outputShapes"] ? Types["outputShapes"][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["outputShapes"] ? Types["outputShapes"][T_1] : T_1 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_1> : never : never : never : Nullable extends true ? ("Int" extends infer T_2 ? T_2 extends "Int" ? T_2 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_2] : T_2 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_2> : never : never : never) | null | undefined : "Int" extends infer T_3 ? T_3 extends "Int" ? T_3 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_3] : T_3 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_3> : never : never : never, Kind>;
/**
* Create a String field
* @param {PothosSchemaTypes.FieldOptions} options - Options for this field
*/
string<ResolveShape, ResolveReturnShape, Nullable extends FieldNullability<"String"> = Types["DefaultFieldNullability"], Args extends InputFieldMap = {}>(...args: NormalizeArgs<[
options: DistributeOmit<FieldOptionsFromKind<Types, ParentShape, "String", Nullable, Args, Kind, ResolveShape, ResolveReturnShape>, "type">
]>): import("../refs/field.js").FieldRef<Types, FieldNullability<"String"> extends Nullable ? Types["DefaultFieldNullability"] extends true ? ("String" extends infer T ? T extends "String" ? T extends keyof Types["outputShapes"] ? Types["outputShapes"][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["outputShapes"] ? Types["outputShapes"][T_1] : T_1 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_1> : never : never : never : Nullable extends true ? ("String" extends infer T_2 ? T_2 extends "String" ? T_2 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_2] : T_2 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_2> : never : never : never) | null | undefined : "String" extends infer T_3 ? T_3 extends "String" ? T_3 extends keyof Types["outputShapes"] ? Types["outputShapes"][T_3] : T_3 extends import("../index.js").BaseEnum ? import("../index.js").ValuesFromEnum<T_3> : never : never : never, Kind>;
/**
* Create a Boolean list field
* @param {PothosSchemaTypes.FieldOptions} options - Options for this field
*/
booleanList<ResolveShape, ResolveReturnShape, Nullable extends FieldNullability<[
"Boolean"
]> = Types["DefaultFieldNullability"], Args extends InputFieldMap = {}>(...args: NormalizeArgs<[
options: DistributeOmit<FieldOptionsFromKind<Types, ParentShape, [
"Boolean"
], Nullable, Args, Kind, ResolveShape, ResolveReturnShape>, "type">
]>): import("../refs/field.js").FieldRef<Types, ShapeFromTypeParam<Types, [
"Boolean"
], Nullable>, Kind>;
/**
* Create a Float list field
* @param {PothosSchemaTypes.FieldOptions} options - Options for this field
*/
floatList<ResolveShape, ResolveReturnShape, Nullable extends FieldNullability<[
"Float"
]> = Types["DefaultFieldNullability"], Args extends InputFieldMap = {}>(...args: NormalizeArgs<[
options: DistributeOmit<FieldOptionsFromKind<Types, ParentShape, [
"Float"
], Nullable, Args, Kind, ResolveShape, ResolveReturnShape>, "type">
]>): import("../refs/field.js").FieldRef<Types, ShapeFromTypeParam<Types, [
"Float"
], Nullable>, Kind>;
/**
* Create a ID list field
* @param {PothosSchemaTypes.FieldOptions} options - Options for this field
*/
idList<Nullable extends FieldNullability<[
"ID"
]>, ResolveShape, ResolveReturnShape, Args extends InputFieldMap = {}>(...args: NormalizeArgs<[
options: DistributeOmit<FieldOptionsFromKind<Types, ParentShape, [
"ID"
], Nullable, Args, Kind, ResolveShape, ResolveReturnShape>, "type">
]>): import("../refs/field.js").FieldRef<Types, ShapeFromTypeParam<Types, [
"ID"
], Nullable>, Kind>;
/**
* Create a Int list field
* @param {PothosSchemaTypes.FieldOptions} options - Options for this field
*/
intList<ResolveShape, ResolveReturnShape, Nullable extends FieldNullability<[
"Int"
]> = Types["DefaultFieldNullability"], Args extends InputFieldMap = {}>(...args: NormalizeArgs<[
options: DistributeOmit<FieldOptionsFromKind<Types, ParentShape, [
"Int"
], Nullable, Args, Kind, ResolveShape, ResolveReturnShape>, "type">
]>): import("../refs/field.js").FieldRef<Types, ShapeFromTypeParam<Types, [
"Int"
], Nullable>, Kind>;
/**
* Create a String list field
* @param {PothosSchemaTypes.FieldOptions} options - Options for this field
*/
stringList<ResolveShape, ResolveReturnShape, Nullable extends FieldNullability<[
"String"
]> = Types["DefaultFieldNullability"], Args extends InputFieldMap = {}>(...args: NormalizeArgs<[
options: DistributeOmit<FieldOptionsFromKind<Types, ParentShape, [
"String"
], Nullable, Args, Kind, ResolveShape, ResolveReturnShape>, "type">
]>): import("../refs/field.js").FieldRef<Types, ShapeFromTypeParam<Types, [
"String"
], Nullable>, Kind>;
/**
* create a new field for the current type
* @param {PothosSchemaTypes.FieldOptions} options - options for this field
*/
field<Type extends TypeParam<Types>, ResolveShape, ResolveReturnShape, Nullable extends FieldNullability<Type> = Types["DefaultFieldNullability"], Args extends InputFieldMap = {}>(options: FieldOptionsFromKind<Types, ParentShape, Type, Nullable, Args, Kind, ResolveShape, ResolveReturnShape>): import("../refs/field.js").FieldRef<Types, ShapeFromTypeParam<Types, Type, Nullable>, Kind>;
listRef<T extends TypeParam<Types>, Nullable extends boolean = false>(type: T, options?: {
nullable?: Nullable;
}): ListRef<Types, Iterable<ShapeFromTypeParam<Types, T, Nullable>>>;
}
//# sourceMappingURL=root.d.ts.map