UNPKG

rooks

Version:

Essential React custom hooks ⚓ to super charge your components!

41 lines 1.51 kB
declare type Push<T> = (...args: Parameters<Array<T>["push"]>) => void; declare type Pop = () => void; declare type Unshift<T> = (...args: Parameters<Array<T>["unshift"]>) => void; declare type Shift = () => void; declare type Reverse = () => void; declare type Concat<T> = (value: T[]) => void; declare type Fill<T> = (value: T, start?: number, end?: number) => void; declare type Clear = () => void; export declare type UseArrayStateControls<T> = { push: Push<T>; pop: Pop; clear: Clear; unshift: Unshift<T>; shift: Shift; reverse: Reverse; concat: Concat<T>; fill: Fill<T>; }; export declare type UseArrayStateReturnValue<T> = [T[], UseArrayStateControls<T>]; /** * useArrayState * @description Array state manager hook for React * @param {Array<T>} initialState Initial state of the array * @returns {UseArrayStateReturnValue<T>} Array state manager hook for React * @see {@link https://react-hooks.org/docs/useArrayState} * * @example * * const [array, controls] = useArrayState([1, 2, 3]); * * controls.push(4); // [1, 2, 3, 4] * controls.pop(); // [1, 2, 3] * controls.unshift(0); // [0, 1, 2, 3] * controls.shift(); // [1, 2, 3] * controls.reverse(); // [3, 2, 1] * controls.concat([4, 5, 6]); // [3, 2, 1, 4, 5, 6] * controls.fill(0); // [0, 0, 0, 0, 0, 0] */ declare function useArrayState<T>(initialArray?: T[]): UseArrayStateReturnValue<T>; export { useArrayState }; //# sourceMappingURL=useArrayState.d.ts.map