UNPKG

@ideem/zsm-react-native

Version:

ZSM makes 2FA easy and invisible for everyone, all the time, using advanced cryptography like MPC to establish cryptographic proof of the origin of any transaction or login attempt, while eliminating opportunities for social engineering. ZSM has no relian

1 lines 3.29 kB
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule=true;exports["default"]=exports.ZSMLogger=exports.LogLevel=void 0;exports.fromStringOrDefault=fromStringOrDefault;var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _package=require("../package.json");var LogLevel=exports.LogLevel={TRACE:{name:'TRACE',value:-1},DEBUG:{name:'DEBUG',value:0},INFO:{name:'INFO',value:1},WARN:{name:'WARN',value:2},ERROR:{name:'ERROR',value:3},FATAL:{name:'FATAL',value:4}};function fromStringOrDefault(name,defaultLevel){if(defaultLevel===void 0){defaultLevel=LogLevel.DEBUG;}try{var upperName=name==null?void 0:name.toString().toUpperCase();var found=Object.values(LogLevel).find(function(level){return level.name===upperName;});return found||defaultLevel;}catch(e){return defaultLevel;}}var ZSMLogger=exports.ZSMLogger=function(){function ZSMLogger(){}ZSMLogger.setLogLevel=function setLogLevel(level){if(typeof level==='string'){this.logLevel=fromStringOrDefault(level);}else{this.logLevel=level||LogLevel.DEBUG;}};ZSMLogger.setLogFunction=function setLogFunction(logFunc){this.logFunction=logFunc;};ZSMLogger.generateTraceId=function generateTraceId(){if(typeof crypto!=='undefined'&&crypto.randomUUID){return crypto.randomUUID();}return'xxxx-xxxx-4xxx-yxxx'.replace(/[xy]/g,function(c){var r=Math.random()*16|0;var v=c==='x'?r:r&0x3|0x8;return v.toString(16);});};ZSMLogger.formatTraceMessage=function formatTraceMessage(traceId,message){if(!traceId)return message;if(message.includes('[TID:'))return message;return"[TID:"+traceId+"] "+message;};ZSMLogger.log=function log(message,level,traceId){if(level===void 0){level=LogLevel.DEBUG;}if(traceId===void 0){traceId=null;}if(level.value<this.logLevel.value)return;var formattedMessage=traceId?this.formatTraceMessage(traceId,message):message;if(this.logFunction){this.logFunction(level,formattedMessage);return;}var timestamp=new Date().toISOString();var logMessage="ZSM ["+timestamp+"] level ["+level.name+"] "+formattedMessage;switch(level.name){case'TRACE':case'DEBUG':console.debug(logMessage);break;case'INFO':console.info(logMessage);break;case'WARN':console.warn(logMessage);break;case'ERROR':case'FATAL':console.error(logMessage);break;default:console.log(logMessage);}};ZSMLogger.trace=function trace(message,traceId){if(traceId===void 0){traceId=null;}this.log(message,LogLevel.TRACE,traceId);};ZSMLogger.debug=function debug(message,traceId){if(traceId===void 0){traceId=null;}this.log(message,LogLevel.DEBUG,traceId);};ZSMLogger.info=function info(message,traceId){if(traceId===void 0){traceId=null;}this.log(message,LogLevel.INFO,traceId);};ZSMLogger.warn=function warn(message,traceId){if(traceId===void 0){traceId=null;}this.log(message,LogLevel.WARN,traceId);};ZSMLogger.error=function error(message,traceId){if(traceId===void 0){traceId=null;}this.log(message,LogLevel.ERROR,traceId);};ZSMLogger.fatal=function fatal(message,traceId){if(traceId===void 0){traceId=null;}this.log(message,LogLevel.FATAL,traceId);};return(0,_createClass2["default"])(ZSMLogger,null,[{key:"version",get:function get(){return _package.version;}}]);}();ZSMLogger.logLevel=LogLevel.TRACE;ZSMLogger.logFunction=null;var _default=exports["default"]=ZSMLogger;