@sigi/devtool
Version:
Connect sigi to redux devtool
42 lines • 1.33 kB
JavaScript
var _a;
import { replaceLogger } from '@sigi/core';
import { noop } from 'rxjs';
var devtool = {
send: noop,
init: noop,
};
var FakeReduxDevTools = {
connect: function () { return devtool; },
};
var ReduxDevTools = (_a = (typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__)) !== null && _a !== void 0 ? _a : FakeReduxDevTools;
var STATE = {};
var logStateAction = function (action) {
var namespace = action.store.name;
var _action = {
type: "".concat(namespace, "/").concat(action.type),
params: filterParams(action.payload),
};
STATE[namespace] = action.store.state;
devtool.send(_action, STATE);
};
export var initDevtool = function () {
if (process.env.NODE_ENV === 'development') {
devtool = ReduxDevTools.connect({
name: "Sigi",
});
devtool.init(STATE);
replaceLogger(logStateAction);
}
};
function filterParams(params) {
if (params && typeof params === 'object' && typeof Event !== 'undefined') {
if (params instanceof Event) {
return "<<Event:".concat(params.type, ">>");
}
else if (params.nativeEvent instanceof Event) {
return "<<SyntheticEvent:".concat(params.nativeEvent.type, ">>");
}
}
return params;
}
//# sourceMappingURL=index.js.map