import { useCollectionInitialState, useLazyRef } from 'onekijs-framework'; import { TableColumn, TableItem, TableState, UseTableOptions } from '../typings'; const useTableInitialState = >( dataSource: T[] | string | undefined, initialColumns: TableColumn[] | undefined, options: UseTableOptions, ): TableState => { const collectionState = useCollectionInitialState(dataSource, options); const stateRef = useLazyRef>(() => { return Object.assign( { columns: initialColumns || [], }, collectionState, ); }); return stateRef.current; }; export default useTableInitialState;