react-native-wishlist
Version:
The fastest List component for React Native.
32 lines • 1.31 kB
TypeScript
export declare type Item = {
key: string;
};
export declare type UpdateJob<T extends Item> = (datacopy: DataCopy<T>) => unknown;
export interface DataCopy<T extends Item> {
getIndex: (key: string) => number | undefined;
deque: Array<T>;
at: (index: number) => T | undefined;
length: () => number;
set: (key: string, value: T) => void;
setItem: (key: string, value: T) => void;
get: (key: string) => T | undefined;
forKey: (key: string) => T | undefined;
setAt: (index: number, value: T) => void;
push: (value: T) => void;
unshift: (value: T) => void;
applyChanges: (pendingUpdates: Array<UpdateJob<T>>) => Set<string>;
isTrackingChanges: boolean;
dirtyKeys: Set<string>;
}
export interface Data<T extends Item> {
update: (job: UpdateJob<T>, callback?: (results: unknown) => void) => void;
at: (index: number) => T | undefined;
length: () => number;
forKey: (key: string) => T | undefined;
pendingUpdates: Array<UpdateJob<T>>;
__currentlyRenderedCopy: DataCopy<T>;
__nextCopy: DataCopy<T>;
}
export declare function useInternalWishlistData<T extends Item>(wishlistId: string, initialData: Array<T>): () => Data<T>;
export declare function useData<T extends Item>(): () => Data<T>;
//# sourceMappingURL=WishlistData.d.ts.map