reactotron-redux
Version:
A Reactotron plugin for Redux.
26 lines (25 loc) • 1.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = createEnhancer;
var _reducer = _interopRequireDefault(require("./reducer"));
var _customDispatch = _interopRequireDefault(require("./customDispatch"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function createEnhancer(reactotron, pluginConfig, handleStoreCreation) {
return (skipSettingStore = false) => createStore => (reducer, ...args) => {
const originalStore = createStore((0, _reducer.default)(reducer, pluginConfig.restoreActionType), ...args);
const store = {
...originalStore,
dispatch: (0, _customDispatch.default)(reactotron, originalStore, pluginConfig)
};
if (!skipSettingStore) {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore shhhhhh -- this is a private API
reactotron.reduxStore = store;
handleStoreCreation();
}
return store;
};
}
//# sourceMappingURL=enhancer.js.map