@onekeyfe/hd-shared
Advanced tools
Comparing version 0.1.14 to 0.1.16
@@ -93,34 +93,2 @@ declare type Deferred<T, I = any, D = any> = { | ||
declare type LogMessage = { | ||
level: string; | ||
prefix: string; | ||
message: any[]; | ||
timestamp: number; | ||
}; | ||
declare type LoggerFn = (...data: any[]) => void; | ||
declare type LoggerMoreParams = (message?: any, ...optionalParams: any[]) => void; | ||
declare type Logger = { | ||
debug: LoggerFn | LoggerMoreParams; | ||
info: LoggerFn | LoggerMoreParams; | ||
warn: LoggerFn | LoggerMoreParams; | ||
error: LoggerFn | LoggerMoreParams; | ||
}; | ||
declare class Log { | ||
prefix: string; | ||
enabled: boolean; | ||
messages: LogMessage[]; | ||
logger?: Logger; | ||
constructor(prefix: string, enabled: boolean, logger?: Logger); | ||
addMessage(level: string, prefix: string, ...args: any[]): void; | ||
log(...args: any[]): void; | ||
error(...args: any[]): void; | ||
warn(...args: any[]): void; | ||
debug(...args: any[]): void; | ||
} | ||
declare const initLog: (prefix: string, enabled?: boolean | undefined, logger?: Logger | undefined) => Log; | ||
declare const enableLog: (enabled?: boolean | undefined) => void; | ||
declare const setOutsideLogger: (logger: Logger) => void; | ||
declare const enableLogByPrefix: (prefix: string, enabled: boolean) => void; | ||
declare const getLog: () => LogMessage[]; | ||
export { CreateErrorByMessage, Deferred, HardwareError$1 as ERRORS, HardwareError, HardwareErrorCode, HardwareErrorCodeMessage, IHardwareError, TypedError, createDeferred, enableLog, enableLogByPrefix, getLog, initLog, serializeError, setOutsideLogger }; | ||
export { CreateErrorByMessage, Deferred, HardwareError$1 as ERRORS, HardwareError, HardwareErrorCode, HardwareErrorCodeMessage, IHardwareError, TypedError, createDeferred, serializeError }; |
@@ -58,2 +58,4 @@ 'use strict'; | ||
function fillStringWithArguments(value, object) { | ||
if (typeof value !== 'string') | ||
return value; | ||
return value.replace(/\{([^}]+)\}/g, (_, arg) => object[arg] || '?'); | ||
@@ -205,102 +207,2 @@ } | ||
const MAX_ENTRIES = 100; | ||
class Log { | ||
constructor(prefix, enabled, logger) { | ||
this.prefix = prefix; | ||
this.enabled = enabled; | ||
this.messages = []; | ||
if (logger) { | ||
this.logger = logger; | ||
} | ||
} | ||
addMessage(level, prefix, ...args) { | ||
this.messages.push({ | ||
level, | ||
prefix, | ||
message: args, | ||
timestamp: new Date().getTime(), | ||
}); | ||
if (this.messages.length > MAX_ENTRIES) { | ||
this.messages.shift(); | ||
} | ||
} | ||
log(...args) { | ||
this.addMessage('log', this.prefix, ...args); | ||
if (!this.enabled) { | ||
return; | ||
} | ||
if (this.logger) { | ||
this.logger.info(this.prefix, ...args); | ||
} | ||
else { | ||
console.log(this.prefix, ...args); | ||
} | ||
} | ||
error(...args) { | ||
this.addMessage('error', this.prefix, ...args); | ||
if (!this.enabled) { | ||
return; | ||
} | ||
if (this.logger) { | ||
this.logger.error(this.prefix, ...args); | ||
} | ||
else { | ||
console.error(this.prefix, ...args); | ||
} | ||
} | ||
warn(...args) { | ||
this.addMessage('warn', this.prefix, ...args); | ||
if (!this.enabled) { | ||
return; | ||
} | ||
if (this.logger) { | ||
this.logger.warn(this.prefix, ...args); | ||
} | ||
else { | ||
console.warn(this.prefix, ...args); | ||
} | ||
} | ||
debug(...args) { | ||
this.addMessage('debug', this.prefix, ...args); | ||
if (!this.enabled) { | ||
return; | ||
} | ||
if (this.logger) { | ||
this.logger.debug(this.prefix, ...args); | ||
} | ||
else { | ||
console.log(this.prefix, ...args); | ||
} | ||
} | ||
} | ||
const _logs = {}; | ||
const initLog = (prefix, enabled, logger) => { | ||
const instance = new Log(prefix, !!enabled, logger); | ||
_logs[prefix] = instance; | ||
return instance; | ||
}; | ||
const enableLog = (enabled) => { | ||
Object.keys(_logs).forEach(key => { | ||
_logs[key].enabled = !!enabled; | ||
}); | ||
}; | ||
const setOutsideLogger = (logger) => { | ||
Object.keys(_logs).forEach(key => { | ||
_logs[key].logger = logger; | ||
}); | ||
}; | ||
const enableLogByPrefix = (prefix, enabled) => { | ||
if (_logs[prefix]) { | ||
_logs[prefix].enabled = enabled; | ||
} | ||
}; | ||
const getLog = () => { | ||
let logs = []; | ||
Object.keys(_logs).forEach(key => { | ||
logs = logs.concat(_logs[key].messages); | ||
}); | ||
logs.sort((a, b) => a.timestamp - b.timestamp); | ||
return logs; | ||
}; | ||
exports.CreateErrorByMessage = CreateErrorByMessage; | ||
@@ -313,7 +215,2 @@ exports.ERRORS = HardwareError$1; | ||
exports.createDeferred = createDeferred; | ||
exports.enableLog = enableLog; | ||
exports.enableLogByPrefix = enableLogByPrefix; | ||
exports.getLog = getLog; | ||
exports.initLog = initLog; | ||
exports.serializeError = serializeError; | ||
exports.setOutsideLogger = setOutsideLogger; |
{ | ||
"name": "@onekeyfe/hd-shared", | ||
"version": "0.1.14", | ||
"version": "0.1.16", | ||
"description": "Hardware SDK's shared tool library", | ||
@@ -28,3 +28,3 @@ "keywords": [ | ||
}, | ||
"gitHead": "216fee1795067013da0d68f4fc25f583509bb509" | ||
"gitHead": "e87fdbab30d6daa4f32e28259bd221d75b5d6aad" | ||
} |
@@ -13,2 +13,3 @@ export interface IHardwareError { | ||
function fillStringWithArguments(value: string, object: object) { | ||
if (typeof value !== 'string') return value; | ||
return value.replace(/\{([^}]+)\}/g, (_, arg: string) => (object as unknown as any)[arg] || '?'); | ||
@@ -15,0 +16,0 @@ } |
export * from './deferred'; | ||
export * from './HardwareError'; | ||
export * from './logger'; | ||
export * as ERRORS from './HardwareError'; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
27725
13
673