UNPKG

jeddy

Version:

Reactive UI building Framework

42 lines 1.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createReducer = exports.connect = exports.updateState = exports.dispatch = exports.register = exports.replaceReducer = void 0; const toolkit_1 = require("@reduxjs/toolkit"); const reducer_1 = require("./reducer"); const redux_1 = require("redux"); let reducers = { initReducer: reducer_1.default }; const store = toolkit_1.configureStore({ reducer: redux_1.combineReducers(Object.assign({}, reducers)) }); exports.replaceReducer = (rootReducer) => { store.replaceReducer(rootReducer); }; exports.register = (newReducers) => { Object.keys(newReducers).forEach(name => { if (!reducers.hasOwnProperty(name)) { reducers = Object.assign(Object.assign({}, reducers), { [name]: newReducers[name] }); exports.replaceReducer(redux_1.combineReducers(Object.assign({}, reducers))); } }); return store.getState(); }; exports.dispatch = (props) => { return store.dispatch(props); }; exports.updateState = (context) => { _updateState(context); store.subscribe(() => _updateState(context)); }; function _updateState(context) { let newState = context.mapStoreToState(store.getState()); context.setState(Object.assign(Object.assign({}, context.state), newState)); } exports.connect = (mapStoreToState, index = 0) => { return (widget) => (args) => { if (widget.onInit && index == 1) { widget.onInit(); } index += 1; return widget(mapStoreToState(store.getState()), args); }; }; exports.createReducer = (reducer) => toolkit_1.createSlice(reducer); //# sourceMappingURL=index.js.map