UNPKG

@appello/services

Version:

Services package with api / graphql

22 lines (21 loc) 1.4 kB
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 {};