UNPKG

react-native-xenon

Version:

A powerful in-app debugging tool for React Native.

88 lines (87 loc) 3.99 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _utils = require("../core/utils"); var _Interceptor = _interopRequireDefault(require("./Interceptor")); var _class, _class2; /* eslint-disable no-console */ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function _applyDecoratedDescriptor(i, e, r, n, l) { var a = {}; return Object.keys(n).forEach(function (i) { a[i] = n[i]; }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = !0), a = r.slice().reverse().reduce(function (r, n) { return n(i, e, r) || r; }, a), l && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(l) : void 0, a.initializer = void 0), void 0 === a.initializer ? (Object.defineProperty(i, e, a), null) : a; } const originalConsoleError = console.error; const originalConsoleInfo = console.info; const originalConsoleLog = console.log; const originalConsoleWarn = console.warn; const originalConsoleTrace = console.trace; const originalConsoleDebug = console.debug; const originalConsoleTable = console.table; const originalConsoleGroupCollapsed = console.groupCollapsed; const originalConsoleGroupEnd = console.groupEnd; const originalConsoleGroup = console.group; let ConsoleInterceptor = exports.default = (0, _utils.singleton)(_class = (_class2 = class ConsoleInterceptor extends _Interceptor.default { handlers = { callback: null }; enableInterception() { if (this.isInterceptorEnabled) return; const callback = this.handlers.callback; console.error = function (...args) { callback?.('error', args); originalConsoleError.call(this, ...args); }; console.info = function (...args) { callback?.('info', args); originalConsoleInfo.call(this, ...args); }; console.log = function (...args) { callback?.('log', args); originalConsoleLog.call(this, ...args); }; console.warn = function (...args) { callback?.('warn', args); originalConsoleWarn.call(this, ...args); }; console.trace = function (...args) { callback?.('trace', args); originalConsoleTrace.call(this, ...args); }; console.debug = function (...args) { callback?.('debug', args); originalConsoleDebug.call(this, ...args); }; console.table = function (...args) { callback?.('table', args); originalConsoleTable.call(this, ...args); }; console.groupCollapsed = function (...args) { callback?.('groupCollapsed', args); originalConsoleGroupCollapsed.call(this, ...args); }; console.groupEnd = function (...args) { callback?.('groupEnd', args); originalConsoleGroupEnd.call(this, ...args); }; console.group = function (...args) { callback?.('group', args); originalConsoleGroup.call(this, ...args); }; this.isInterceptorEnabled = true; } disableInterception() { if (!this.isInterceptorEnabled) return; this.isInterceptorEnabled = false; console.error = originalConsoleError; console.info = originalConsoleInfo; console.log = originalConsoleLog; console.warn = originalConsoleWarn; console.trace = originalConsoleTrace; console.debug = originalConsoleDebug; console.table = originalConsoleTable; console.groupCollapsed = originalConsoleGroupCollapsed; console.groupEnd = originalConsoleGroupEnd; console.group = originalConsoleGroup; this.handlers.callback = null; } }, _applyDecoratedDescriptor(_class2.prototype, "enableInterception", [_utils.frozen], Object.getOwnPropertyDescriptor(_class2.prototype, "enableInterception"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "disableInterception", [_utils.frozen], Object.getOwnPropertyDescriptor(_class2.prototype, "disableInterception"), _class2.prototype), _class2)) || _class; //# sourceMappingURL=ConsoleInterceptor.js.map