UNPKG

react-smart-state

Version:

Next generation local and global state management

90 lines (89 loc) 3.18 kB
import { EventItem, WaitngItem, StateType, IEventTrigger, IFastList, ChangeType, ReactSmartStateInstanceItems, SmartStateInstanceNames, StateKeyTypeGenerator } from "./types"; export declare class CustomError extends Error { originalError: unknown; code?: string; details?: any; constructor(message: string, options?: { originalError?: unknown; code?: string; details?: any; }); toJSON(): { name: string; message: string; code: string; details: any; originalError: unknown; stack: string; }; } export declare class EventTrigger implements IEventTrigger { events: Record<string, EventItem>; timer: any; waitingEvents: IFastList<{ event: EventItem; items: IFastList<WaitngItem>; }>; addedPaths: IFastList<string>; localBindedEvents: IFastList<IFastList<boolean>, string>; speed?: number; stateType: StateType; batching: IFastList<Function, number>; seen: WeakMap<any, any>; ignoreKeys: StateKeyTypeGenerator; hardIgnoreKeys: StateKeyTypeGenerator; isMounted?: boolean; resetState?: () => void; constructor(ignoredKeys: Record<string, boolean>, hardIgnoreKeys: Record<string, boolean>); add(id: string, item: EventItem): void; remove(id: string): void; hasChange(items: Record<string, WaitngItem>, parentState: Record<string, any>): { hasChanges: boolean; parentState: Record<string, any>; }; triggerSavedChanges(): Promise<void>; trigger(event: { eventId: string; event: EventItem; }, key: string, oldValue: any, newValue: any): Promise<void>; onChange(key: string, { oldValue, newValue }: { oldValue: any; newValue: any; }): Promise<void>; } export declare class FastList<T, Key extends string | number | symbol = string> implements IFastList<T, Key> { private items; private length; private cachedKeys?; private cachedValues?; private invalidateCache; clear(): this; get hasValue(): boolean; get values(): T[]; get keys(): Key[]; find(func: (item: T, key: Key) => boolean): T | undefined; findKey(func: (item: T, key: Key) => boolean): Key | undefined; delete(key: Key): this; get(key: Key): T | undefined; records(): Record<Key, T>; record(key: Key): Record<Key, T>; has(key: Key): boolean; append(key: Key, item: T): this; set(key: Key, value: T): T; get size(): number; } export declare class ObservableArray<T> extends Array<T> implements ReactSmartStateInstanceItems { private readonly parentKey; private readonly process; private readonly onChange?; getInstanceType(): SmartStateInstanceNames; hasInit?: boolean; constructor(parentKey: string, process: (item: T, index: number, parentKey: string) => T, onChange?: (action: ChangeType, items: T[], changes: WaitngItem) => void); private getChanges; push(...items: T[]): number; unshift(...items: T[]): number; pop(): T | undefined; shift(): T | undefined; splice(start: number, deleteCount?: number, ...items: T[]): T[]; clear(): void; }