UNPKG

@giraphql/plugin-validation

Version:

A GiraphQL plugin for adding argument validation

49 lines (44 loc) 1.43 kB
/* eslint-disable @typescript-eslint/no-unused-vars */ import { FieldNullability, FieldRequiredness, InputFieldMap, InputShapeFromFields, InputShapeFromTypeParam, InputType, SchemaTypes, TypeParam, } from '@giraphql/core'; import { RefineConstraint, ValidationOptions } from './types'; import { GiraphQLValidationPlugin } from '.'; declare global { export namespace GiraphQLSchemaTypes { export interface Plugins<Types extends SchemaTypes> { validation: GiraphQLValidationPlugin<Types>; } export interface FieldOptions< Types extends SchemaTypes, ParentShape, Type extends TypeParam<Types>, Nullable extends FieldNullability<Type>, Args extends InputFieldMap, ResolveShape, ResolveReturnShape, > { validate?: RefineConstraint<InputShapeFromFields<Args>>; } export interface InputObjectTypeOptions< Types extends SchemaTypes = SchemaTypes, Fields extends InputFieldMap = InputFieldMap, > { validate?: RefineConstraint<InputShapeFromFields<Fields>>; } export interface InputFieldOptions< Types extends SchemaTypes = SchemaTypes, Type extends InputType<Types> | [InputType<Types>] = InputType<Types> | [InputType<Types>], Req extends FieldRequiredness<Type> = FieldRequiredness<Type>, > { validate?: ValidationOptions<InputShapeFromTypeParam<Types, Type, true>>; } } }