@onekeyfe/hd-shared
Advanced tools
Comparing version 0.1.12 to 0.1.13
@@ -55,2 +55,4 @@ export interface IHardwareError { | ||
readonly FirmwareError: 804; | ||
readonly ResponseUnexpectTypeError: 805; | ||
readonly BridgeNetworkError: 806; | ||
}; | ||
@@ -57,0 +59,0 @@ export declare const HardwareErrorCodeMessage: HardwareErrorCodeMessageMapping; |
@@ -64,2 +64,4 @@ declare type Deferred<T, I = any, D = any> = { | ||
readonly FirmwareError: 804; | ||
readonly ResponseUnexpectTypeError: 805; | ||
readonly BridgeNetworkError: 806; | ||
}; | ||
@@ -88,2 +90,34 @@ declare const HardwareErrorCodeMessage: HardwareErrorCodeMessageMapping; | ||
export { Deferred, HardwareError$1 as ERRORS, HardwareError, HardwareErrorCode, HardwareErrorCodeMessage, IHardwareError, TypedError, createDeferred, serializeError }; | ||
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 { Deferred, HardwareError$1 as ERRORS, HardwareError, HardwareErrorCode, HardwareErrorCodeMessage, IHardwareError, TypedError, createDeferred, enableLog, enableLogByPrefix, getLog, initLog, serializeError, setOutsideLogger }; |
@@ -122,2 +122,4 @@ 'use strict'; | ||
FirmwareError: 804, | ||
ResponseUnexpectTypeError: 805, | ||
BridgeNetworkError: 806, | ||
}; | ||
@@ -164,2 +166,4 @@ const HardwareErrorCodeMessage = { | ||
[HardwareErrorCode.FirmwareError]: 'Firmware installation failed', | ||
[HardwareErrorCode.ResponseUnexpectTypeError]: 'Response type is not expected', | ||
[HardwareErrorCode.BridgeNetworkError]: 'Bridge network error', | ||
}; | ||
@@ -191,2 +195,102 @@ const TypedError = (hardwareError, message) => { | ||
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.ERRORS = HardwareError$1; | ||
@@ -198,2 +302,7 @@ exports.HardwareError = HardwareError; | ||
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.12", | ||
"version": "0.1.13", | ||
"description": "Hardware SDK's shared tool library", | ||
@@ -28,3 +28,3 @@ "keywords": [ | ||
}, | ||
"gitHead": "38d4f8d711d212de8617f217a0148dcf3cdcc477" | ||
"gitHead": "f69fd0696e38efbc838848fb361cb900043bb2ec" | ||
} |
@@ -201,2 +201,12 @@ export interface IHardwareError { | ||
FirmwareError: 804, | ||
/** | ||
* transport response unexpect error | ||
*/ | ||
ResponseUnexpectTypeError: 805, | ||
/** | ||
* bridge network error | ||
*/ | ||
BridgeNetworkError: 806, | ||
} as const; | ||
@@ -275,2 +285,4 @@ | ||
[HardwareErrorCode.FirmwareError]: 'Firmware installation failed', | ||
[HardwareErrorCode.ResponseUnexpectTypeError]: 'Response type is not expected', | ||
[HardwareErrorCode.BridgeNetworkError]: 'Bridge network error', | ||
} as const; | ||
@@ -277,0 +289,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
35614
16
920