react-bfm
Version:
A basic field / form manager for React using hooks
16 lines (15 loc) • 2.14 kB
TypeScript
import { FieldNameType, FieldStateType, NamespaceStateType, NamespaceType, UpdateFieldCallbackType } from './common';
type SubscriberListener = () => void;
export interface StateCreatorReturnType {
getFieldState: (namespace: NamespaceType, fieldName: FieldNameType) => FieldStateType | undefined;
getNamespaceState: (namespace: NamespaceType) => NamespaceStateType | undefined;
initFieldState: (namespace: NamespaceType, fieldName: FieldNameType, value: any, error: any) => void;
removeField: (namespace: NamespaceType, fieldName: FieldNameType) => void;
createGetSnapshotFieldState: (namespace: NamespaceType, fieldName: FieldNameType) => () => FieldStateType | undefined;
createGetSnapshotNamespaceState: (namespace: NamespaceType) => () => NamespaceStateType | undefined;
createSubscribeToField: (namespace: NamespaceType, fieldName: FieldNameType) => (listener: SubscriberListener) => () => void;
createSubscribeToNamespace: (namespace: NamespaceType) => (listener: SubscriberListener) => () => void;
updateFieldStateWithCallback: (namespace: NamespaceType, fieldName: FieldNameType, callback: UpdateFieldCallbackType) => void;
}
export declare const getFieldState: (namespace: NamespaceType, fieldName: FieldNameType) => FieldStateType | undefined, getNamespaceState: (namespace: NamespaceType) => NamespaceStateType | undefined, initFieldState: (namespace: NamespaceType, fieldName: FieldNameType, value: any, error: any) => void, removeField: (namespace: NamespaceType, fieldName: FieldNameType) => void, createGetSnapshotFieldState: (namespace: NamespaceType, fieldName: FieldNameType) => () => FieldStateType | undefined, createGetSnapshotNamespaceState: (namespace: NamespaceType) => () => NamespaceStateType | undefined, createSubscribeToField: (namespace: NamespaceType, fieldName: FieldNameType) => (listener: SubscriberListener) => () => void, createSubscribeToNamespace: (namespace: NamespaceType) => (listener: SubscriberListener) => () => void, updateFieldStateWithCallback: (namespace: NamespaceType, fieldName: FieldNameType, callback: UpdateFieldCallbackType) => void;
export {};