import { IDynaduxReducerDic, IDynaduxReducerAPI, } from "../Dynadux/Dynadux"; export const convertReducersToSectionReducers = (section: string, sectionReducers: IDynaduxReducerDic): IDynaduxReducerDic => { return Object.keys(sectionReducers) .reduce((acc: IDynaduxReducerDic, action: string) => { const originalReducer = sectionReducers[action]; acc[action] = (params: IDynaduxReducerAPI): undefined | void | Partial => { const subPartialState = originalReducer({ ...params, state: params.state[section], }) || {}; return { ...params.state, [section]: { ...params.state[section], ...subPartialState, }, } as any; }; return acc; }, {}); };