UNPKG

ayanami

Version:
56 lines (55 loc) 1.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.logStateAction = exports.disableReduxLog = exports.enableReduxLog = void 0; var tslib_1 = require("tslib"); var noop_1 = tslib_1.__importDefault(require("lodash/noop")); var FakeReduxDevTools = { // eslint-disable-next-line @typescript-eslint/no-unused-vars connect: function (_config) { return ({ send: noop_1.default, init: noop_1.default }); }, }; var ReduxDevTools = (typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__) || FakeReduxDevTools; var STATE = {}; var getDevTools = (function () { var devTools; return function () { if (!devTools) { devTools = ReduxDevTools.connect({ name: "Ayanami" }); devTools.init({}); } return devTools; }; })(); var isEnableLog = false; function enableReduxLog() { isEnableLog = true; } exports.enableReduxLog = enableReduxLog; function disableReduxLog() { isEnableLog = false; } exports.disableReduxLog = disableReduxLog; function logStateAction(namespace, infos) { if (isEnableLog) { var action = { type: namespace + "/" + infos.actionName, params: filterParams(infos.params), }; if (infos.state) { STATE[namespace] = infos.state; } getDevTools().send(action, STATE); } } exports.logStateAction = logStateAction; function filterParams(params) { if (params && typeof params === 'object') { if (params instanceof Event) { return "<<Event:" + params.type + ">>"; } else if (params.nativeEvent instanceof Event) { return "<<SyntheticEvent:" + params.nativeEvent.type + ">>"; } } return params; }