UNPKG

@appello/common

Version:

Common package with many useful features for web and mobile development

24 lines (23 loc) 948 B
import { UseFormProps } from 'react-hook-form'; import { AnyObject } from '../../types'; type SyncPolicyLiteral = 'default-values-first' | 'storage-first'; interface WebStorage { getItem(key: string, ...args: any[]): any; setItem(key: string, value: any, ...args: any[]): any; removeItem(key: string, ...args: any[]): any; } export interface FormPersistProps<T extends AnyObject = AnyObject> { key: string; storage?: WebStorage; excludeFields?: (keyof T)[]; includeFields?: (keyof T)[]; } export declare const useHookFormPersist: <T extends AnyObject = AnyObject>({ key: keyStorage, storage, excludeFields, includeFields, }: FormPersistProps<T>) => { syncFromStorage: ({ defaultValues, syncPolicy, }: { defaultValues?: UseFormProps<T>['defaultValues']; syncPolicy?: SyncPolicyLiteral; }) => Promise<T>; syncToStorage: (watchedValues: T) => void; clear: () => Promise<void>; }; export {};