export type TransformInitialState = (state: any, params: { namespacing: string[] }) => LocalState export interface IGetFormattedInitialState { initialState: any transformInitialState?: TransformInitialState namespacing: string[] defaultState: LocalState } export const getFormattedInitialState = (params: IGetFormattedInitialState) => { const { initialState, transformInitialState = (((s) => s) as TransformInitialState), namespacing, defaultState, } = params const formattedInitialState = initialState !== undefined ? transformInitialState(initialState, { namespacing }) : defaultState return formattedInitialState }