@giraphql/plugin-validation
Version:
A GiraphQL plugin for adding argument validation
20 lines • 1.33 kB
TypeScript
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 {
interface Plugins<Types extends SchemaTypes> {
validation: GiraphQLValidationPlugin<Types>;
}
interface FieldOptions<Types extends SchemaTypes, ParentShape, Type extends TypeParam<Types>, Nullable extends FieldNullability<Type>, Args extends InputFieldMap, ResolveShape, ResolveReturnShape> {
validate?: RefineConstraint<InputShapeFromFields<Args>>;
}
interface InputObjectTypeOptions<Types extends SchemaTypes = SchemaTypes, Fields extends InputFieldMap = InputFieldMap> {
validate?: RefineConstraint<InputShapeFromFields<Fields>>;
}
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>>;
}
}
}
//# sourceMappingURL=global-types.d.ts.map