@appello/services
Version:
Services package with api / graphql
22 lines (21 loc) • 1.4 kB
TypeScript
import { FieldPath, FieldValues } from 'react-hook-form';
import { UseFormSetError } from 'react-hook-form';
import { GqlErrorResponse } from '../../types';
interface CreateProcessGqlErrorResponseParams {
onNonFieldError: (message: string, gqlError: GqlErrorResponse) => void;
onUnhandledFieldErrors: (errors: UnhandledFieldError[], gqlError: GqlErrorResponse) => void;
onUnknownError: (message: string, gqlError: GqlErrorResponse) => void;
onUnprocessableEntityError?: (message: string, gqlError: GqlErrorResponse) => void;
onManualHandleError?: (error: GqlErrorResponse) => void;
}
interface ProcessGqlErrorResponseParams<TFormValues extends FieldValues> extends Partial<CreateProcessGqlErrorResponseParams> {
fields?: Record<string, FieldPath<TFormValues>> | FieldPath<TFormValues>[];
setFieldError?: (name: FieldPath<TFormValues>, message: string) => void;
setFormError?: UseFormSetError<TFormValues>;
}
export interface UnhandledFieldError {
name: string;
value: string;
}
export declare function createProcessGqlErrorResponse(config: CreateProcessGqlErrorResponseParams): <TFormValues extends FieldValues = Record<string, unknown>>(e: unknown, { fields, setFormError, setFieldError, onNonFieldError, onUnhandledFieldErrors, onUnknownError, onUnprocessableEntityError, onManualHandleError, }: ProcessGqlErrorResponseParams<TFormValues>) => void;
export {};