UNPKG

@darwish/hooks-core

Version:

79 lines (78 loc) 2.79 kB
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); }; import { useAuthLog } from "./utils/auth-console"; export default function useConsole(options) { var defaultOptions = options || { env: process.env.NODE_ENV, isAuth: false, }; var env = defaultOptions.env; var isAuth = useAuthLog() || false; var originalConsoleLog = console.log; var originalConsoleWarn = console.warn; var originalConsoleError = console.error; var originalConsoleDir = console.dir; var isStartDisplay = (env !== "development" && (isAuth || defaultOptions.isAuth)) || env === "development"; var log = function () { var data = []; for (var _i = 0; _i < arguments.length; _i++) { data[_i] = arguments[_i]; } // 添加自定义行为,比如增加时间戳 var timestamp = new Date().toISOString(); /** * log 在开发模式下会忽略权限,同正常log一样打印 * log 在其他模式下则会考虑权限的 */ if (isStartDisplay) { originalConsoleLog.apply(void 0, __spreadArray([timestamp], data, false)); } }; var warn = function () { var data = []; for (var _i = 0; _i < arguments.length; _i++) { data[_i] = arguments[_i]; } // 添加自定义行为,比如增加时间戳 var timestamp = new Date().toISOString(); if (isStartDisplay) { originalConsoleWarn.apply(void 0, __spreadArray([timestamp], data, false)); } }; var error = function () { var data = []; for (var _i = 0; _i < arguments.length; _i++) { data[_i] = arguments[_i]; } // 添加自定义行为,比如增加时间戳 var timestamp = new Date().toISOString(); if (isStartDisplay) { originalConsoleError.apply(void 0, __spreadArray([timestamp], data, false)); } }; var dir = function () { var data = []; for (var _i = 0; _i < arguments.length; _i++) { data[_i] = arguments[_i]; } // 添加自定义行为,比如增加时间戳 var timestamp = new Date().toISOString(); if (isStartDisplay) { originalConsoleDir.apply(void 0, __spreadArray([timestamp], data, false)); } }; return { log: log, warn: warn, error: error, dir: dir, }; }