@darwish/hooks-core
Version:
79 lines (78 loc) • 2.79 kB
JavaScript
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,
};
}