smartcardx
Version:
Backend library for communication with smartcards using system native PCSC interface. Plain Iso7816 + EMV + GlobalPlatform functionality.
120 lines (119 loc) • 4.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Logger = void 0;
let customFatalLogFun = null;
let customErrorLogFun = null;
let customWarnLogFun = null;
let customInfoLogFun = null;
let customDebugLogFun = null;
let customTraceLogFun = null;
let currLogLevel = 4 /* Logger.ELogLevel.INFO */;
function nullableLogFunctionCall(minLogLevel, customLogFun, defLogFun, ...args) {
if (currLogLevel < minLogLevel)
return;
if (typeof customLogFun === 'function') {
customLogFun(...args);
return;
}
defLogFun(...args);
}
var Logger;
(function (Logger) {
/** Default fallback log functions */
let DefLogFun;
(function (DefLogFun) {
function fatal(...args) {
console.error(`[${Logger.utcDateStr()}][FATAL]: `, ...args);
}
DefLogFun.fatal = fatal;
function error(...args) {
console.error(`[${Logger.utcDateStr()}][ERROR]: `, ...args);
}
DefLogFun.error = error;
function warn(...args) {
console.warn(`[${Logger.utcDateStr()}][WARN]: `, ...args);
}
DefLogFun.warn = warn;
function info(...args) {
console.info(`[${Logger.utcDateStr()}][INFO]: `, ...args);
}
DefLogFun.info = info;
function debug(...args) {
console.log(`[${Logger.utcDateStr()}][DEBUG]: `, ...args);
}
DefLogFun.debug = debug;
function trace(...args) {
console.log(`[${Logger.utcDateStr()}][TRACE]: `, ...args);
}
DefLogFun.trace = trace;
})(DefLogFun = Logger.DefLogFun || (Logger.DefLogFun = {}));
function isAtLeastLevel(logLvl) {
return currLogLevel >= logLvl;
}
Logger.isAtLeastLevel = isAtLeastLevel;
/** Example return: `2024-08-25T13:16:54.158Z` */
function utcDateStr() {
return new Date().toISOString();
}
Logger.utcDateStr = utcDateStr;
function setLogLevel(logLvl) {
currLogLevel = logLvl;
return Logger;
}
Logger.setLogLevel = setLogLevel;
function setFatalLogFun(logFun) {
customFatalLogFun = logFun;
return Logger;
}
Logger.setFatalLogFun = setFatalLogFun;
function setErrorLogFun(logFun) {
customErrorLogFun = logFun;
return Logger;
}
Logger.setErrorLogFun = setErrorLogFun;
function setWarnLogFun(logFun) {
customWarnLogFun = logFun;
return Logger;
}
Logger.setWarnLogFun = setWarnLogFun;
function setInfoLogFun(logFun) {
customInfoLogFun = logFun;
return Logger;
}
Logger.setInfoLogFun = setInfoLogFun;
function setDebugLogFun(logFun) {
customDebugLogFun = logFun;
return Logger;
}
Logger.setDebugLogFun = setDebugLogFun;
function setTraceLogFun(logFun) {
customTraceLogFun = logFun;
return Logger;
}
Logger.setTraceLogFun = setTraceLogFun;
function fatal(...args) {
nullableLogFunctionCall(1 /* Logger.ELogLevel.FATAL */, customFatalLogFun, DefLogFun.fatal, ...args);
}
Logger.fatal = fatal;
function error(...args) {
nullableLogFunctionCall(2 /* Logger.ELogLevel.ERROR */, customErrorLogFun, DefLogFun.error, ...args);
}
Logger.error = error;
function warn(...args) {
nullableLogFunctionCall(3 /* Logger.ELogLevel.WARN */, customWarnLogFun, DefLogFun.warn, ...args);
}
Logger.warn = warn;
function info(...args) {
nullableLogFunctionCall(4 /* Logger.ELogLevel.INFO */, customInfoLogFun, DefLogFun.info, ...args);
}
Logger.info = info;
function debug(...args) {
nullableLogFunctionCall(5 /* Logger.ELogLevel.DEBUG */, customDebugLogFun, DefLogFun.debug, ...args);
}
Logger.debug = debug;
function trace(...args) {
nullableLogFunctionCall(6 /* Logger.ELogLevel.TRACE */, customTraceLogFun, DefLogFun.trace, ...args);
}
Logger.trace = trace;
})(Logger || (exports.Logger = Logger = {}));
exports.default = Logger;