@rxx/core
Version:
React MVI micro framework.
56 lines (55 loc) • 1.99 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var ReduxDevToolsStub = (function () {
function ReduxDevToolsStub() {
}
ReduxDevToolsStub.prototype.init = function (s) { };
ReduxDevToolsStub.prototype.send = function (value, state) { };
ReduxDevToolsStub.prototype.subscribe = function (monitor) {
return function () { };
};
return ReduxDevToolsStub;
}());
function isDevToolsInstalled() {
return (!!window['__REDUX_DEVTOOLS_EXTENSION__'] &&
process.env.NODE_ENV !== 'production');
}
exports.isDevToolsInstalled = isDevToolsInstalled;
var instances = {};
function connectDevTools(_a) {
var name = _a.name, instanceId = _a.instanceId;
if (isDevToolsInstalled()) {
if (!instances[instanceId]) {
return (instances[instanceId] = window['devToolsExtension'].connect({
maxAge: 20,
name: name,
instanceId: instanceId,
features: { skip: false },
serialize: {
options: {
undefined: true,
},
replacer: function (key, value) {
if (value === window) {
return '[object Window]';
}
if (value && value.type && value.target && value.preventDefault) {
return { type: value.type };
}
return value;
},
},
}));
}
return instances[instanceId];
}
return new ReduxDevToolsStub();
}
exports.connectDevTools = connectDevTools;
function disconnectDevTools(instanceId) {
if (instances[instanceId] && isDevToolsInstalled()) {
window['devToolsExtension'].disconnect({ instanceId: instanceId });
instances[instanceId] = null;
}
}
exports.disconnectDevTools = disconnectDevTools;