ttk-app-core
Version:
enterprise develop framework
27 lines (23 loc) • 815 B
JavaScript
import { Map, fromJS } from 'immutable';
import { reducer as MetaReducer } from 'edf-meta-engine';
import config from './config';
import extend from './extend';
import { getInitState } from './data';
class reducer {
constructor(option) {
this.metaReducer = option.metaReducer;
this.extendReducer = option.extendReducer;
this.config = config.current;
}
init = (state, option) => {
const initState = getInitState();
return this.metaReducer.init(state, initState);
};
}
export default function creator(option) {
const metaReducer = new MetaReducer(option),
extendReducer = extend.reducerCreator({ ...option, metaReducer }),
o = new reducer({ ...option, metaReducer, extendReducer }),
ret = { ...metaReducer, ...extendReducer.gridReducer, ...o };
return { ...ret };
}