UNPKG

react-rooks

Version:

Store management for React and React Native with simple hooks !

9 lines (8 loc) 950 B
import { z, ZodObject, ZodDefault, ZodTypeAny, ZodNullable, ZodOptional, ZodEffects } from "zod"; import { RookStore, StoreRead } from "./type"; export type ZodDefinedType = ZodDefault<ZodTypeAny> | ZodNullable<ZodTypeAny> | ZodOptional<ZodTypeAny>; export type RookZodStore = RookStore<ZodDefinedType | ZodEffects<ZodDefinedType>>; export declare const createZodRook: <Schema extends ZodObject<RookZodStore> | ZodEffects<ZodObject<RookZodStore>>, Store extends z.input<Schema>>(schema: Schema, { storeReducer: customStoreReducer, onValidationError, }?: { storeReducer?: (values: Partial<Store>, currentStore: StoreRead<Store>) => Store; onValidationError?: (error: z.ZodError, values: StoreRead<Store>, currentStore: StoreRead<Store>) => void; }) => [import("./type").RookComponent, <StoreKey extends Extract<keyof Store, string> | undefined = undefined>(key?: StoreKey | undefined) => import("./type").UseStoreHookReturn<Store, StoreKey>];