@onekeyfe/hd-shared 0.1.10 → 0.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -52,6 +52,8 @@ export declare const HardwareErrorCode: {
52
52
  readonly PinCancelled: 802;
53
53
  readonly ActionCancelled: 803;
54
54
  readonly FirmwareError: 804;
55
+ readonly ResponseUnexpectTypeError: 805;
56
+ readonly BridgeNetworkError: 806;
55
57
  };
56
58
  export declare const HardwareErrorCodeMessage: HardwareErrorCodeMessageMapping;
57
59
  export declare const TypedError: (hardwareError: ErrorCodeUnion | string, message?: string | undefined) => HardwareError;
@@ -1 +1 @@
1
- {"version":3,"file":"HardwareError.d.ts","sourceRoot":"","sources":["../src/HardwareError.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,aAAK,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE5C,aAAK,+BAA+B,GAAG;KAAG,CAAC,IAAI,OAAO,CAAC,OAAO,iBAAiB,CAAC,GAAG,MAAM;CAAE,CAAC;AAE5F,aAAK,cAAc,GAAG,OAAO,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAMxD,qBAAa,aAAc,SAAQ,KAAK;IACtC,SAAS,EAAE,cAAc,CAAkC;IAE3D,OAAO,SAAM;gBAED,aAAa,EAAE,cAAc,GAAG,MAAM;CAkBnD;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgKpB,CAAC;AAEX,eAAO,MAAM,wBAAwB,EAAE,+BAuE7B,CAAC;AAEX,eAAO,MAAM,UAAU,kBAAmB,cAAc,GAAG,MAAM,gDAKhE,CAAC;AAEF,eAAO,MAAM,cAAc,YAAa,GAAG,QAQ1C,CAAC"}
1
+ {"version":3,"file":"HardwareError.d.ts","sourceRoot":"","sources":["../src/HardwareError.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,aAAK,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE5C,aAAK,+BAA+B,GAAG;KAAG,CAAC,IAAI,OAAO,CAAC,OAAO,iBAAiB,CAAC,GAAG,MAAM;CAAE,CAAC;AAE5F,aAAK,cAAc,GAAG,OAAO,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAMxD,qBAAa,aAAc,SAAQ,KAAK;IACtC,SAAS,EAAE,cAAc,CAAkC;IAE3D,OAAO,SAAM;gBAED,aAAa,EAAE,cAAc,GAAG,MAAM;CAkBnD;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0KpB,CAAC;AAEX,eAAO,MAAM,wBAAwB,EAAE,+BAyE7B,CAAC;AAEX,eAAO,MAAM,UAAU,kBAAmB,cAAc,GAAG,MAAM,gDAKhE,CAAC;AAEF,eAAO,MAAM,cAAc,YAAa,GAAG,QAQ1C,CAAC"}
package/dist/index.d.ts CHANGED
@@ -61,6 +61,8 @@ declare const HardwareErrorCode: {
61
61
  readonly PinCancelled: 802;
62
62
  readonly ActionCancelled: 803;
63
63
  readonly FirmwareError: 804;
64
+ readonly ResponseUnexpectTypeError: 805;
65
+ readonly BridgeNetworkError: 806;
64
66
  };
65
67
  declare const HardwareErrorCodeMessage: HardwareErrorCodeMessageMapping;
66
68
  declare const TypedError: (hardwareError: ErrorCodeUnion | string, message?: string | undefined) => HardwareError;
@@ -84,4 +86,36 @@ declare namespace HardwareError$1 {
84
86
  };
85
87
  }
86
88
 
87
- export { Deferred, HardwareError$1 as ERRORS, HardwareError, HardwareErrorCode, HardwareErrorCodeMessage, IHardwareError, TypedError, createDeferred, serializeError };
89
+ declare type LogMessage = {
90
+ level: string;
91
+ prefix: string;
92
+ message: any[];
93
+ timestamp: number;
94
+ };
95
+ declare type LoggerFn = (...data: any[]) => void;
96
+ declare type LoggerMoreParams = (message?: any, ...optionalParams: any[]) => void;
97
+ declare type Logger = {
98
+ debug: LoggerFn | LoggerMoreParams;
99
+ info: LoggerFn | LoggerMoreParams;
100
+ warn: LoggerFn | LoggerMoreParams;
101
+ error: LoggerFn | LoggerMoreParams;
102
+ };
103
+ declare class Log {
104
+ prefix: string;
105
+ enabled: boolean;
106
+ messages: LogMessage[];
107
+ logger?: Logger;
108
+ constructor(prefix: string, enabled: boolean, logger?: Logger);
109
+ addMessage(level: string, prefix: string, ...args: any[]): void;
110
+ log(...args: any[]): void;
111
+ error(...args: any[]): void;
112
+ warn(...args: any[]): void;
113
+ debug(...args: any[]): void;
114
+ }
115
+ declare const initLog: (prefix: string, enabled?: boolean | undefined, logger?: Logger | undefined) => Log;
116
+ declare const enableLog: (enabled?: boolean | undefined) => void;
117
+ declare const setOutsideLogger: (logger: Logger) => void;
118
+ declare const enableLogByPrefix: (prefix: string, enabled: boolean) => void;
119
+ declare const getLog: () => LogMessage[];
120
+
121
+ export { Deferred, HardwareError$1 as ERRORS, HardwareError, HardwareErrorCode, HardwareErrorCodeMessage, IHardwareError, TypedError, createDeferred, enableLog, enableLogByPrefix, getLog, initLog, serializeError, setOutsideLogger };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -119,6 +119,8 @@ const HardwareErrorCode = {
119
119
  PinCancelled: 802,
120
120
  ActionCancelled: 803,
121
121
  FirmwareError: 804,
122
+ ResponseUnexpectTypeError: 805,
123
+ BridgeNetworkError: 806,
122
124
  };
123
125
  const HardwareErrorCodeMessage = {
124
126
  [HardwareErrorCode.UnknownError]: 'Unknown error occurred. Check message property.',
@@ -160,6 +162,8 @@ const HardwareErrorCodeMessage = {
160
162
  [HardwareErrorCode.PinCancelled]: 'Pin cancelled',
161
163
  [HardwareErrorCode.ActionCancelled]: 'Action cancelled by user',
162
164
  [HardwareErrorCode.FirmwareError]: 'Firmware installation failed',
165
+ [HardwareErrorCode.ResponseUnexpectTypeError]: 'Response type is not expected',
166
+ [HardwareErrorCode.BridgeNetworkError]: 'Bridge network error',
163
167
  };
164
168
  const TypedError = (hardwareError, message) => {
165
169
  if (typeof hardwareError === 'string') {
@@ -186,10 +190,115 @@ var HardwareError$1 = /*#__PURE__*/Object.freeze({
186
190
  serializeError: serializeError
187
191
  });
188
192
 
193
+ const MAX_ENTRIES = 100;
194
+ class Log {
195
+ constructor(prefix, enabled, logger) {
196
+ this.prefix = prefix;
197
+ this.enabled = enabled;
198
+ this.messages = [];
199
+ if (logger) {
200
+ this.logger = logger;
201
+ }
202
+ }
203
+ addMessage(level, prefix, ...args) {
204
+ this.messages.push({
205
+ level,
206
+ prefix,
207
+ message: args,
208
+ timestamp: new Date().getTime(),
209
+ });
210
+ if (this.messages.length > MAX_ENTRIES) {
211
+ this.messages.shift();
212
+ }
213
+ }
214
+ log(...args) {
215
+ this.addMessage('log', this.prefix, ...args);
216
+ if (!this.enabled) {
217
+ return;
218
+ }
219
+ if (this.logger) {
220
+ this.logger.info(this.prefix, ...args);
221
+ }
222
+ else {
223
+ console.log(this.prefix, ...args);
224
+ }
225
+ }
226
+ error(...args) {
227
+ this.addMessage('error', this.prefix, ...args);
228
+ if (!this.enabled) {
229
+ return;
230
+ }
231
+ if (this.logger) {
232
+ this.logger.error(this.prefix, ...args);
233
+ }
234
+ else {
235
+ console.error(this.prefix, ...args);
236
+ }
237
+ }
238
+ warn(...args) {
239
+ this.addMessage('warn', this.prefix, ...args);
240
+ if (!this.enabled) {
241
+ return;
242
+ }
243
+ if (this.logger) {
244
+ this.logger.warn(this.prefix, ...args);
245
+ }
246
+ else {
247
+ console.warn(this.prefix, ...args);
248
+ }
249
+ }
250
+ debug(...args) {
251
+ this.addMessage('debug', this.prefix, ...args);
252
+ if (!this.enabled) {
253
+ return;
254
+ }
255
+ if (this.logger) {
256
+ this.logger.debug(this.prefix, ...args);
257
+ }
258
+ else {
259
+ console.log(this.prefix, ...args);
260
+ }
261
+ }
262
+ }
263
+ const _logs = {};
264
+ const initLog = (prefix, enabled, logger) => {
265
+ const instance = new Log(prefix, !!enabled, logger);
266
+ _logs[prefix] = instance;
267
+ return instance;
268
+ };
269
+ const enableLog = (enabled) => {
270
+ Object.keys(_logs).forEach(key => {
271
+ _logs[key].enabled = !!enabled;
272
+ });
273
+ };
274
+ const setOutsideLogger = (logger) => {
275
+ Object.keys(_logs).forEach(key => {
276
+ _logs[key].logger = logger;
277
+ });
278
+ };
279
+ const enableLogByPrefix = (prefix, enabled) => {
280
+ if (_logs[prefix]) {
281
+ _logs[prefix].enabled = enabled;
282
+ }
283
+ };
284
+ const getLog = () => {
285
+ let logs = [];
286
+ Object.keys(_logs).forEach(key => {
287
+ logs = logs.concat(_logs[key].messages);
288
+ });
289
+ logs.sort((a, b) => a.timestamp - b.timestamp);
290
+ return logs;
291
+ };
292
+
189
293
  exports.ERRORS = HardwareError$1;
190
294
  exports.HardwareError = HardwareError;
191
295
  exports.HardwareErrorCode = HardwareErrorCode;
192
296
  exports.HardwareErrorCodeMessage = HardwareErrorCodeMessage;
193
297
  exports.TypedError = TypedError;
194
298
  exports.createDeferred = createDeferred;
299
+ exports.enableLog = enableLog;
300
+ exports.enableLogByPrefix = enableLogByPrefix;
301
+ exports.getLog = getLog;
302
+ exports.initLog = initLog;
195
303
  exports.serializeError = serializeError;
304
+ exports.setOutsideLogger = setOutsideLogger;
@@ -0,0 +1,33 @@
1
+ declare type LogMessage = {
2
+ level: string;
3
+ prefix: string;
4
+ message: any[];
5
+ timestamp: number;
6
+ };
7
+ declare type LoggerFn = (...data: any[]) => void;
8
+ declare type LoggerMoreParams = (message?: any, ...optionalParams: any[]) => void;
9
+ declare type Logger = {
10
+ debug: LoggerFn | LoggerMoreParams;
11
+ info: LoggerFn | LoggerMoreParams;
12
+ warn: LoggerFn | LoggerMoreParams;
13
+ error: LoggerFn | LoggerMoreParams;
14
+ };
15
+ declare class Log {
16
+ prefix: string;
17
+ enabled: boolean;
18
+ messages: LogMessage[];
19
+ logger?: Logger;
20
+ constructor(prefix: string, enabled: boolean, logger?: Logger);
21
+ addMessage(level: string, prefix: string, ...args: any[]): void;
22
+ log(...args: any[]): void;
23
+ error(...args: any[]): void;
24
+ warn(...args: any[]): void;
25
+ debug(...args: any[]): void;
26
+ }
27
+ export declare const initLog: (prefix: string, enabled?: boolean | undefined, logger?: Logger | undefined) => Log;
28
+ export declare const enableLog: (enabled?: boolean | undefined) => void;
29
+ export declare const setOutsideLogger: (logger: Logger) => void;
30
+ export declare const enableLogByPrefix: (prefix: string, enabled: boolean) => void;
31
+ export declare const getLog: () => LogMessage[];
32
+ export {};
33
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,aAAK,UAAU,GAAG;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,aAAK,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AACzC,aAAK,gBAAgB,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAE1E,aAAK,MAAM,GAAG;IACZ,KAAK,EAAE,QAAQ,GAAG,gBAAgB,CAAC;IACnC,IAAI,EAAE,QAAQ,GAAG,gBAAgB,CAAC;IAClC,IAAI,EAAE,QAAQ,GAAG,gBAAgB,CAAC;IAClC,KAAK,EAAE,QAAQ,GAAG,gBAAgB,CAAC;CACpC,CAAC;AAIF,cAAM,GAAG;IACP,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,EAAE,OAAO,CAAC;IAEjB,QAAQ,EAAE,UAAU,EAAE,CAAC;IAEvB,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEJ,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM;IAS7D,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAYxD,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAYlB,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAYpB,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAYnB,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;CAWrB;AAID,eAAO,MAAM,OAAO,WAAY,MAAM,oEAIrC,CAAC;AAEF,eAAO,MAAM,SAAS,yCAIrB,CAAC;AAEF,eAAO,MAAM,gBAAgB,WAAY,MAAM,SAI9C,CAAC;AAEF,eAAO,MAAM,iBAAiB,WAAY,MAAM,WAAW,OAAO,SAIjE,CAAC;AAEF,eAAO,MAAM,MAAM,oBAOlB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onekeyfe/hd-shared",
3
- "version": "0.1.10",
3
+ "version": "0.1.13",
4
4
  "description": "Hardware SDK's shared tool library",
5
5
  "keywords": [
6
6
  "Hardware-SDK",
@@ -25,5 +25,5 @@
25
25
  "lint": "eslint .",
26
26
  "lint:fix": "eslint . --fix"
27
27
  },
28
- "gitHead": "fa01be1b49324153bd7767759902ebd46a6b9c68"
28
+ "gitHead": "f69fd0696e38efbc838848fb361cb900043bb2ec"
29
29
  }
@@ -198,6 +198,16 @@ export const HardwareErrorCode = {
198
198
  * Firmware installation failed
199
199
  */
200
200
  FirmwareError: 804,
201
+
202
+ /**
203
+ * transport response unexpect error
204
+ */
205
+ ResponseUnexpectTypeError: 805,
206
+
207
+ /**
208
+ * bridge network error
209
+ */
210
+ BridgeNetworkError: 806,
201
211
  } as const;
202
212
 
203
213
  export const HardwareErrorCodeMessage: HardwareErrorCodeMessageMapping = {
@@ -271,6 +281,8 @@ export const HardwareErrorCodeMessage: HardwareErrorCodeMessageMapping = {
271
281
  [HardwareErrorCode.PinCancelled]: 'Pin cancelled',
272
282
  [HardwareErrorCode.ActionCancelled]: 'Action cancelled by user',
273
283
  [HardwareErrorCode.FirmwareError]: 'Firmware installation failed',
284
+ [HardwareErrorCode.ResponseUnexpectTypeError]: 'Response type is not expected',
285
+ [HardwareErrorCode.BridgeNetworkError]: 'Bridge network error',
274
286
  } as const;
275
287
 
276
288
  export const TypedError = (hardwareError: ErrorCodeUnion | string, message?: string) => {
package/src/index.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './deferred';
2
2
  export * from './HardwareError';
3
+ export * from './logger';
3
4
  export * as ERRORS from './HardwareError';
package/src/logger.ts ADDED
@@ -0,0 +1,132 @@
1
+ type LogMessage = {
2
+ level: string;
3
+ prefix: string;
4
+ message: any[];
5
+ timestamp: number;
6
+ };
7
+
8
+ type LoggerFn = (...data: any[]) => void;
9
+ type LoggerMoreParams = (message?: any, ...optionalParams: any[]) => void;
10
+
11
+ type Logger = {
12
+ debug: LoggerFn | LoggerMoreParams;
13
+ info: LoggerFn | LoggerMoreParams;
14
+ warn: LoggerFn | LoggerMoreParams;
15
+ error: LoggerFn | LoggerMoreParams;
16
+ };
17
+
18
+ const MAX_ENTRIES = 100;
19
+
20
+ class Log {
21
+ prefix: string;
22
+
23
+ enabled: boolean;
24
+
25
+ messages: LogMessage[];
26
+
27
+ logger?: Logger;
28
+
29
+ constructor(prefix: string, enabled: boolean, logger?: Logger) {
30
+ this.prefix = prefix;
31
+ this.enabled = enabled;
32
+ this.messages = [];
33
+ if (logger) {
34
+ this.logger = logger;
35
+ }
36
+ }
37
+
38
+ addMessage(level: string, prefix: string, ...args: any[]) {
39
+ this.messages.push({
40
+ level,
41
+ prefix,
42
+ message: args,
43
+ timestamp: new Date().getTime(),
44
+ });
45
+ if (this.messages.length > MAX_ENTRIES) {
46
+ this.messages.shift();
47
+ }
48
+ }
49
+
50
+ log(...args: any[]) {
51
+ this.addMessage('log', this.prefix, ...args);
52
+ if (!this.enabled) {
53
+ return;
54
+ }
55
+ if (this.logger) {
56
+ this.logger.info(this.prefix, ...args);
57
+ } else {
58
+ console.log(this.prefix, ...args);
59
+ }
60
+ }
61
+
62
+ error(...args: any[]) {
63
+ this.addMessage('error', this.prefix, ...args);
64
+ if (!this.enabled) {
65
+ return;
66
+ }
67
+ if (this.logger) {
68
+ this.logger.error(this.prefix, ...args);
69
+ } else {
70
+ console.error(this.prefix, ...args);
71
+ }
72
+ }
73
+
74
+ warn(...args: any[]) {
75
+ this.addMessage('warn', this.prefix, ...args);
76
+ if (!this.enabled) {
77
+ return;
78
+ }
79
+ if (this.logger) {
80
+ this.logger.warn(this.prefix, ...args);
81
+ } else {
82
+ console.warn(this.prefix, ...args);
83
+ }
84
+ }
85
+
86
+ debug(...args: any[]) {
87
+ this.addMessage('debug', this.prefix, ...args);
88
+ if (!this.enabled) {
89
+ return;
90
+ }
91
+ if (this.logger) {
92
+ this.logger.debug(this.prefix, ...args);
93
+ } else {
94
+ console.log(this.prefix, ...args);
95
+ }
96
+ }
97
+ }
98
+
99
+ const _logs: { [k: string]: Log } = {};
100
+
101
+ export const initLog = (prefix: string, enabled?: boolean, logger?: Logger) => {
102
+ const instance = new Log(prefix, !!enabled, logger);
103
+ _logs[prefix] = instance;
104
+ return instance;
105
+ };
106
+
107
+ export const enableLog = (enabled?: boolean) => {
108
+ Object.keys(_logs).forEach(key => {
109
+ _logs[key].enabled = !!enabled;
110
+ });
111
+ };
112
+
113
+ export const setOutsideLogger = (logger: Logger) => {
114
+ Object.keys(_logs).forEach(key => {
115
+ _logs[key].logger = logger;
116
+ });
117
+ };
118
+
119
+ export const enableLogByPrefix = (prefix: string, enabled: boolean) => {
120
+ if (_logs[prefix]) {
121
+ _logs[prefix].enabled = enabled;
122
+ }
123
+ };
124
+
125
+ export const getLog = () => {
126
+ let logs: LogMessage[] = [];
127
+ Object.keys(_logs).forEach(key => {
128
+ logs = logs.concat(_logs[key].messages);
129
+ });
130
+ logs.sort((a, b) => a.timestamp - b.timestamp);
131
+ return logs;
132
+ };