@onekeyfe/hd-core 0.1.12 → 0.1.16

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.
Files changed (55) hide show
  1. package/dist/api/CheckBridgeStatus.d.ts.map +1 -1
  2. package/dist/api/GetLogs.d.ts +11 -0
  3. package/dist/api/GetLogs.d.ts.map +1 -0
  4. package/dist/api/index.d.ts +1 -0
  5. package/dist/api/index.d.ts.map +1 -1
  6. package/dist/core/index.d.ts.map +1 -1
  7. package/dist/data/config.d.ts +2 -0
  8. package/dist/data/config.d.ts.map +1 -0
  9. package/dist/data-manager/TransportManager.d.ts.map +1 -1
  10. package/dist/device/Device.d.ts.map +1 -1
  11. package/dist/device/DeviceCommands.d.ts.map +1 -1
  12. package/dist/events/core.d.ts +2 -1
  13. package/dist/events/core.d.ts.map +1 -1
  14. package/dist/events/index.d.ts +1 -0
  15. package/dist/events/index.d.ts.map +1 -1
  16. package/dist/events/log.d.ts +15 -0
  17. package/dist/events/log.d.ts.map +1 -0
  18. package/dist/index.d.ts +56 -23
  19. package/dist/index.js +500 -382
  20. package/dist/inject.d.ts.map +1 -1
  21. package/dist/types/api/getLogs.d.ts +3 -0
  22. package/dist/types/api/getLogs.d.ts.map +1 -0
  23. package/dist/types/api/index.d.ts +2 -0
  24. package/dist/types/api/index.d.ts.map +1 -1
  25. package/dist/utils/deviceFeaturesUtils.d.ts.map +1 -1
  26. package/dist/utils/index.d.ts +1 -2
  27. package/dist/utils/index.d.ts.map +1 -1
  28. package/dist/utils/logger.d.ts +33 -1
  29. package/dist/utils/logger.d.ts.map +1 -1
  30. package/package.json +4 -4
  31. package/src/api/CheckBridgeStatus.ts +10 -2
  32. package/src/api/FirmwareUpdate.ts +1 -1
  33. package/src/api/GetLogs.ts +13 -0
  34. package/src/api/device/DeviceVerify.ts +1 -1
  35. package/src/api/index.ts +2 -0
  36. package/src/core/index.ts +10 -8
  37. package/src/data/config.ts +1 -0
  38. package/src/data-manager/TransportManager.ts +11 -6
  39. package/src/data-manager/connectSettings.ts +2 -2
  40. package/src/device/Device.ts +2 -2
  41. package/src/device/DeviceCommands.ts +23 -9
  42. package/src/device/DeviceConnector.ts +3 -3
  43. package/src/device/DeviceList.ts +3 -3
  44. package/src/events/core.ts +2 -0
  45. package/src/events/index.ts +1 -0
  46. package/src/events/log.ts +23 -0
  47. package/src/inject.ts +2 -0
  48. package/src/types/api/getLogs.ts +3 -0
  49. package/src/types/api/index.ts +2 -0
  50. package/src/utils/deviceFeaturesUtils.ts +2 -10
  51. package/src/utils/index.ts +1 -3
  52. package/src/utils/logger.ts +96 -30
  53. package/dist/data/version.d.ts +0 -3
  54. package/dist/data/version.d.ts.map +0 -1
  55. package/src/data/version.ts +0 -3
@@ -1,17 +1,5 @@
1
- const colors: Record<string, string> = {
2
- // orange, api related
3
- '@onekey/connect': 'color: #f4a742; background: #000;',
4
- IFrame: 'color: #f4a742; background: #000;',
5
- Core: 'color: #f4a742; background: #000;',
6
- // green, device related
7
- DescriptorStream: 'color: #77ab59; background: #000;',
8
- DeviceList: 'color: #77ab59; background: #000;',
9
- Device: 'color: #bada55; background: #000;',
10
- DeviceCommands: 'color: #bada55; background: #000;',
11
- DeviceConnector: 'color: #bada55; background: #000;',
12
- // red, data-manager related
13
- Transport: 'color: #ffb6c1; background: #000;',
14
- };
1
+ import { CoreMessage } from '../events';
2
+ import { createLogMessage, LOG } from '../events/log';
15
3
 
16
4
  type LogMessage = {
17
5
  level: string;
@@ -20,22 +8,21 @@ type LogMessage = {
20
8
  timestamp: number;
21
9
  };
22
10
 
23
- const MAX_ENTRIES = 100;
11
+ const MAX_ENTRIES = 500;
12
+
13
+ let postMessage: (message: CoreMessage) => void;
24
14
 
25
15
  class Log {
26
16
  prefix: string;
27
17
 
28
18
  enabled: boolean;
29
19
 
30
- css: string;
31
-
32
20
  messages: LogMessage[];
33
21
 
34
22
  constructor(prefix: string, enabled: boolean) {
35
23
  this.prefix = prefix;
36
24
  this.enabled = enabled;
37
25
  this.messages = [];
38
- this.css = typeof window !== 'undefined' && colors[prefix] ? colors[prefix] : '';
39
26
  }
40
27
 
41
28
  addMessage(level: string, prefix: string, ...args: any[]) {
@@ -52,34 +39,38 @@ class Log {
52
39
 
53
40
  log(...args: any[]) {
54
41
  this.addMessage('log', this.prefix, ...args);
55
- if (this.enabled) {
56
- console.log(this.prefix, ...args);
42
+ if (!this.enabled) {
43
+ return;
57
44
  }
45
+ sendLogMessage(this.prefix, ...args);
46
+ console.log(this.prefix, ...args);
58
47
  }
59
48
 
60
49
  error(...args: any[]) {
61
50
  this.addMessage('error', this.prefix, ...args);
62
- if (this.enabled) {
63
- console.error(this.prefix, ...args);
51
+ if (!this.enabled) {
52
+ return;
64
53
  }
54
+ sendLogMessage(this.prefix, ...args);
55
+ console.error(this.prefix, ...args);
65
56
  }
66
57
 
67
58
  warn(...args: any[]) {
68
59
  this.addMessage('warn', this.prefix, ...args);
69
- if (this.enabled) {
70
- console.warn(this.prefix, ...args);
60
+ if (!this.enabled) {
61
+ return;
71
62
  }
63
+ sendLogMessage(this.prefix, ...args);
64
+ console.warn(this.prefix, ...args);
72
65
  }
73
66
 
74
67
  debug(...args: any[]) {
75
68
  this.addMessage('debug', this.prefix, ...args);
76
- if (this.enabled) {
77
- if (this.css) {
78
- console.log(`%c${this.prefix}`, this.css, ...args);
79
- } else {
80
- console.log(this.prefix, ...args);
81
- }
69
+ if (!this.enabled) {
70
+ return;
82
71
  }
72
+ sendLogMessage(this.prefix, ...args);
73
+ console.log(this.prefix, ...args);
83
74
  }
84
75
  }
85
76
 
@@ -111,3 +102,78 @@ export const getLog = () => {
111
102
  logs.sort((a, b) => a.timestamp - b.timestamp);
112
103
  return logs;
113
104
  };
105
+
106
+ export const setLoggerPostMessage = (postMessageFn: (message: CoreMessage) => void) => {
107
+ postMessage = postMessageFn;
108
+ };
109
+
110
+ const serializeLog = (...args: any[]) =>
111
+ args.map(arg => {
112
+ if (typeof arg === 'string') {
113
+ return arg;
114
+ }
115
+ if (typeof arg === 'number') {
116
+ return arg;
117
+ }
118
+ if (typeof arg === 'boolean') {
119
+ return arg;
120
+ }
121
+ if (typeof arg === 'undefined') {
122
+ return arg;
123
+ }
124
+ if (typeof arg === 'object') {
125
+ return JSON.stringify(arg, getCircularReplacer());
126
+ }
127
+ return arg;
128
+ });
129
+
130
+ const getCircularReplacer = () => {
131
+ const seen = new WeakSet();
132
+ return (_: string, value: any) => {
133
+ if (typeof value === 'object' && value !== null) {
134
+ if (seen.has(value)) {
135
+ return;
136
+ }
137
+ seen.add(value);
138
+ }
139
+ return value;
140
+ };
141
+ };
142
+
143
+ const sendLogMessage = (prefix: string, ...args: any[]) => {
144
+ postMessage?.(createLogMessage(LOG.OUTPUT, serializeLog(prefix, ...args)));
145
+ };
146
+
147
+ export enum LoggerNames {
148
+ Core = 'Core',
149
+ Transport = 'Transport',
150
+ Device = 'Device',
151
+ DeviceCommands = 'DeviceCommands',
152
+ DeviceConnector = 'DeviceConnector',
153
+ DeviceList = 'DeviceList',
154
+ HdBleSdk = '@onekey/hd-ble-sdk',
155
+ HdTransportHttp = '@onekey/hd-transport-http',
156
+ HdBleTransport = '@onekey/hd-ble-transport',
157
+ Connect = '@onekey/connect',
158
+ Iframe = 'IFrame',
159
+ SendMessage = '[SendMessage]',
160
+ Method = '[Method]',
161
+ }
162
+
163
+ export const LoggerMap = {
164
+ [LoggerNames.Core]: initLog(LoggerNames.Core),
165
+ [LoggerNames.Transport]: initLog(LoggerNames.Transport),
166
+ [LoggerNames.Device]: initLog(LoggerNames.Device),
167
+ [LoggerNames.DeviceCommands]: initLog(LoggerNames.DeviceCommands),
168
+ [LoggerNames.DeviceConnector]: initLog(LoggerNames.DeviceConnector),
169
+ [LoggerNames.DeviceList]: initLog(LoggerNames.DeviceList),
170
+ [LoggerNames.HdBleSdk]: initLog(LoggerNames.HdBleSdk),
171
+ [LoggerNames.HdTransportHttp]: initLog(LoggerNames.HdTransportHttp),
172
+ [LoggerNames.HdBleTransport]: initLog(LoggerNames.HdBleTransport),
173
+ [LoggerNames.Connect]: initLog(LoggerNames.Connect),
174
+ [LoggerNames.Iframe]: initLog(LoggerNames.Iframe),
175
+ [LoggerNames.SendMessage]: initLog(LoggerNames.SendMessage),
176
+ [LoggerNames.Method]: initLog(LoggerNames.Method),
177
+ };
178
+
179
+ export const getLogger = (key: LoggerNames) => LoggerMap[key];
@@ -1,3 +0,0 @@
1
- export declare const VERSION = "1.0.0-alpha.1";
2
- export declare const DEFAULT_DOMAIN = "https://hardware-sdk.onekey.so/";
3
- //# sourceMappingURL=version.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/data/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,kBAAkB,CAAC;AAEvC,eAAO,MAAM,cAAc,oCAAoC,CAAC"}
@@ -1,3 +0,0 @@
1
- export const VERSION = '1.0.0-alpha.1';
2
-
3
- export const DEFAULT_DOMAIN = `https://hardware-sdk.onekey.so/`;