overmind
Version:
Frictionless state management
27 lines (26 loc) • 676 B
JavaScript
//#region src/config/namespaced.ts
function parseNamespacedConfig(result, name, config) {
const { actions, effects, state } = config;
if (actions) result.actions[name] = actions;
if (effects) result.effects[name] = effects;
if (state) result.state[name] = state;
}
function namespaced(namespaces) {
const result = {
initializers: {},
actions: {},
effects: {},
state: {}
};
Object.keys(namespaces).forEach((name) => {
parseNamespacedConfig(result, name, namespaces[name]);
});
return Object.assign({
actions: result.actions,
effects: result.effects,
state: result.state
});
}
//#endregion
export { namespaced };
//# sourceMappingURL=namespaced.js.map