-
Notifications
You must be signed in to change notification settings - Fork 2
/
Base.ts
45 lines (40 loc) · 1.25 KB
/
Base.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import { LOG_TYPE } from '../Enums';
import { IDeviceDetails } from '../Interfaces';
import { IEventListeners } from './../Interfaces';
export default abstract class Base {
private static devices: IDeviceDetails[] = [];
private static eventListeners: IEventListeners[] = [];
protected setTimeoutAsync(time: number) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve();
// tslint:disable-next-line: align
}, time);
});
}
protected get EventListeners() {
return Base.eventListeners;
}
protected get Devices() {
return Base.devices;
}
protected get IsNode() {
return typeof process !== 'undefined' && process.release && process.release.name === 'node';
}
/* istanbul ignore next */
protected log(type: LOG_TYPE, message: string) {
switch (type) {
case LOG_TYPE.info:
// tslint:disable-next-line: no-console
console.info(`Bolt-IOT-Wrapper--- ${message}`);
break;
case LOG_TYPE.warn:
// tslint:disable-next-line: no-console
console.warn(`Bolt-IOT-Wrapper--- ${message}`);
break;
case LOG_TYPE.error:
// tslint:disable-next-line: no-console
console.error(`Bolt-IOT-Wrapper--- ${message}`);
}
}
}