@tramvai/cli 4.10.1 → 4.11.1
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.
- package/lib/cli/index.d.ts.map +1 -1
- package/lib/cli/index.js +1 -0
- package/lib/cli/index.js.map +1 -1
- package/lib/models/analytics.d.ts +6 -8
- package/lib/models/analytics.d.ts.map +1 -1
- package/lib/models/analytics.js +19 -9
- package/lib/models/analytics.js.map +1 -1
- package/package.json +2 -2
- package/src/cli/index.ts +1 -0
- package/src/models/analytics.ts +28 -12
package/lib/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAqDA,wBAAsB,cAAc,CAAC,OAAO,WAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAqDA,wBAAsB,cAAc,CAAC,OAAO,WAAe,sDA0D1D"}
|
package/lib/cli/index.js
CHANGED
|
@@ -67,6 +67,7 @@ function cliInitialized(cliArgs = process.argv) {
|
|
|
67
67
|
const analytic = new analytics_1.Analytics({
|
|
68
68
|
packageInfo,
|
|
69
69
|
trackingCode: 'UA-122261674-1',
|
|
70
|
+
enabled: process.env.TRAMVAI_ENABLE_ANALYTICS === 'true',
|
|
70
71
|
});
|
|
71
72
|
const configManager = new config_1.ConfigManager({ config, syncConfigFile: syncJsonFile_1.syncJsonFile });
|
|
72
73
|
const packageManager = (0, package_manager_wrapper_1.resolvePackageManager)({ rootDir: process.cwd() });
|
package/lib/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;;AAAA,wDAAwB;AACxB,8EAA4F;AAC5F,+BAA4B;AAC5B,mDAAgD;AAChD,6CAA0C;AAC1C,6CAAiD;AACjD,4CAA6C;AAI7C,gFAAqD;AACrD,uDAAyD;AACzD,+EAAmD;AACnD,+EAAmD;AACnD,kFAAkD;AAClD,mFAAoD;AACpD,8EAAiD;AACjD,iFAAuD;AACvD,8EAAiD;AACjD,yDAA2D;AAC3D,6DAAkE;AAClE,4DAAiE;AAEjE,+EAAkD;AAClD,2EAA8C;AAE9C,sDAAmD;AACnD,gEAA6D;AAC7D,wDAAqD;AAErD,SAAe,YAAY;;QACzB,OAAO;YACL,iBAAY;YACZ,2BAAgB;YAChB,sBAAY;YACZ,iBAAW;YACX,iBAAW;YACX,iBAAO;YACP,iBAAQ;YACR,iBAAU;YACV,iBAAa;YACb,iBAAU;YACV,wBAAa;YACb,2BAAgB;SACjB,CAAC;IACJ,CAAC;CAAA;AAED,SAAe,SAAS;;QACtB,OAAO,CAAC,qBAAc,EAAE,mBAAY,CAAC,CAAC;IACxC,CAAC;CAAA;AAED,MAAM,kBAAkB,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAElE,SAAsB,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI;;QACzD,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;QAE5B,IAAI;YACF,MAAM,cAAc,GAAG;gBACrB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE;gBACzB,IAAI,EAAE,OAAO;aACd,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAC7C,MAAM,WAAW,GAAG,MAAM,YAAY,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,MAAM,SAAS,EAAE,CAAC;YAEnC,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,kBAAkB,EAAE,GAAG,IAAA,yBAAW,EAG9D,cAAc,CAAC,CAAC;YACnB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAA,mCAAgB,GAAE,CAAC;YAE/C,MAAM,QAAQ,GAAG,IAAI,qBAAS,CAAC;gBAC7B,WAAW;gBACX,YAAY,EAAE,gBAAgB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,24 +7,22 @@ interface ActionEvent extends Event {
|
|
|
7
7
|
label?: string;
|
|
8
8
|
parameters?: any;
|
|
9
9
|
}
|
|
10
|
-
interface ErrorEvent extends Event {
|
|
11
|
-
errorMessage?: string;
|
|
12
|
-
errorStatus?: number;
|
|
13
|
-
}
|
|
14
10
|
export declare class Analytics {
|
|
11
|
+
private readonly enabled;
|
|
15
12
|
private visitor;
|
|
16
13
|
private trackErrorInternal;
|
|
17
14
|
private trackCommandInternal;
|
|
18
15
|
private trackTimingInternal;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
constructor({ trackingCode, packageInfo: { name, version } }: {
|
|
16
|
+
private readonly trackError;
|
|
17
|
+
private readonly track;
|
|
18
|
+
private readonly trackTiming;
|
|
19
|
+
constructor({ trackingCode, packageInfo: { name, version }, enabled }: {
|
|
23
20
|
trackingCode: any;
|
|
24
21
|
packageInfo: {
|
|
25
22
|
name: any;
|
|
26
23
|
version: any;
|
|
27
24
|
};
|
|
25
|
+
enabled: any;
|
|
28
26
|
});
|
|
29
27
|
trackAfter(actionEvent: ActionEvent): <TResult>(promise: Promise<TResult>) => Promise<TResult>;
|
|
30
28
|
private promisify;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/models/analytics.ts"],"names":[],"mappings":"AAKA,UAAU,KAAK;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,WAAY,SAAQ,KAAK;IACjC,QAAQ,EAAE,SAAS,GAAG,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/models/analytics.ts"],"names":[],"mappings":"AAKA,UAAU,KAAK;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,WAAY,SAAQ,KAAK;IACjC,QAAQ,EAAE,SAAS,GAAG,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB;AAOD,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAElC,OAAO,CAAC,OAAO,CAAU;IAEzB,OAAO,CAAC,kBAAkB,CAMxB;IAEF,OAAO,CAAC,oBAAoB,CAiB1B;IAEF,OAAO,CAAC,mBAAmB,CAMzB;IAEF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2C;IAEtE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6C;IAEnE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4C;gBAE5D,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE;;;;;;;KAAA;IAarE,UAAU,CAAC,WAAW,EAAE,WAAW;IAsBnC,OAAO,CAAC,SAAS;CAOlB"}
|
package/lib/models/analytics.js
CHANGED
|
@@ -6,11 +6,17 @@ const universal_analytics_1 = tslib_1.__importDefault(require("universal-analyti
|
|
|
6
6
|
const string_1 = tslib_1.__importDefault(require("@tinkoff/utils/is/string"));
|
|
7
7
|
const perf_hooks_1 = require("perf_hooks");
|
|
8
8
|
class Analytics {
|
|
9
|
-
constructor({ trackingCode, packageInfo: { name, version } }) {
|
|
9
|
+
constructor({ trackingCode, packageInfo: { name, version }, enabled }) {
|
|
10
10
|
this.trackErrorInternal = ({ name, errorMessage, errorStatus }, resolve) => {
|
|
11
|
+
if (!this.enabled) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
11
14
|
this.visitor.event('error', name, errorMessage, errorStatus).send(resolve);
|
|
12
15
|
};
|
|
13
16
|
this.trackCommandInternal = ({ name, executionTime, label, parameters, category }, resolve) => {
|
|
17
|
+
if (!this.enabled) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
14
20
|
const path = [category, name, label].join('/');
|
|
15
21
|
const event = this.visitor
|
|
16
22
|
.screenview({ cd: path })
|
|
@@ -21,18 +27,22 @@ class Analytics {
|
|
|
21
27
|
event.send(resolve);
|
|
22
28
|
};
|
|
23
29
|
this.trackTimingInternal = ({ name, executionTime, category }, resolve) => {
|
|
30
|
+
if (!this.enabled) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
24
33
|
this.visitor.timing(category, name, Math.floor(executionTime)).send(resolve);
|
|
25
34
|
};
|
|
26
35
|
this.trackError = this.promisify(this.trackErrorInternal);
|
|
27
|
-
// tslint:disable-line member-ordering
|
|
28
36
|
this.track = this.promisify(this.trackCommandInternal);
|
|
29
|
-
// tslint:disable-line member-ordering
|
|
30
37
|
this.trackTiming = this.promisify(this.trackTimingInternal);
|
|
31
|
-
this.
|
|
32
|
-
this.
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
38
|
+
this.enabled = enabled !== null && enabled !== void 0 ? enabled : false;
|
|
39
|
+
if (this.enabled) {
|
|
40
|
+
this.visitor = (0, universal_analytics_1.default)(trackingCode);
|
|
41
|
+
this.visitor.set('ds', 'app');
|
|
42
|
+
this.visitor.set('an', name);
|
|
43
|
+
this.visitor.set('av', version);
|
|
44
|
+
this.visitor.set('aid', 'tramvai-cli');
|
|
45
|
+
}
|
|
36
46
|
}
|
|
37
47
|
trackAfter(actionEvent) {
|
|
38
48
|
const startedAt = perf_hooks_1.performance.now();
|
|
@@ -57,7 +67,7 @@ class Analytics {
|
|
|
57
67
|
});
|
|
58
68
|
}
|
|
59
69
|
promisify(func) {
|
|
60
|
-
return function
|
|
70
|
+
return function promisified(event, ...args) {
|
|
61
71
|
return new Promise((resolve) => func(event, resolve, ...args));
|
|
62
72
|
};
|
|
63
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/models/analytics.ts"],"names":[],"mappings":";;;;AACA,sFAAqC;AACrC,8EAAgD;AAChD,2CAAyC;AAkBzC,MAAa,SAAS;
|
|
1
|
+
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/models/analytics.ts"],"names":[],"mappings":";;;;AACA,sFAAqC;AACrC,8EAAgD;AAChD,2CAAyC;AAkBzC,MAAa,SAAS;IA8CpB,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE;QAzC7D,uBAAkB,GAAG,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAc,EAAE,OAAO,EAAE,EAAE;YACxF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,OAAO;aACR;YAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7E,CAAC,CAAC;QAEM,yBAAoB,GAAG,CAC7B,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAe,EACjE,OAAO,EACP,EAAE;YACF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,OAAO;aACR;YAED,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO;iBACvB,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;iBACxB,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAA,gBAAQ,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;YACzF,IAAI,aAAa,EAAE;gBACjB,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;aACzD;YAED,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC,CAAC;QAEM,wBAAmB,GAAG,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAe,EAAE,OAAO,EAAE,EAAE;YACxF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,OAAO;aACR;YAED,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/E,CAAC,CAAC;QAEe,eAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAErD,UAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAElD,gBAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAGtE,IAAI,CAAC,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,KAAK,CAAC;QAEhC,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,GAAG,IAAA,6BAAE,EAAC,YAAY,CAAC,CAAC;YAEhC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;SACxC;IACH,CAAC;IAED,UAAU,CAAC,WAAwB;QACjC,MAAM,SAAS,GAAG,wBAAW,CAAC,GAAG,EAAE,CAAC;QACpC,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAChD,OAAO,CAAgB,OAAyB,EAAoB,EAAE;YACpE,IAAI;gBACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;gBAC7B,OAAO,OAAO,CAAC,GAAG,CAAC;oBACjB,eAAe;oBACf,IAAI,CAAC,WAAW,iCAAM,WAAW,KAAE,aAAa,EAAE,wBAAW,CAAC,GAAG,EAAE,GAAG,SAAS,IAAG;iBACnF,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;aACvB;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,IAAI,CAAC,UAAU,CAAC;oBACrB,IAAI,EAAE,WAAW,CAAC,IAAI;oBACtB,YAAY,EAAE,CAAC,CAAC,IAAI;oBACpB,WAAW,EAAE,CAAC,CAAC,MAAM;iBACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oBACX,MAAM,CAAC,CAAC;gBACV,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAA,CAAC;IACJ,CAAC;IAEO,SAAS,CAAS,IAAoD;QAC5E,OAAO,SAAS,WAAW,CAAC,KAAa,EAAE,GAAG,IAAI;YAChD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC;IACJ,CAAC;CAGF;AAxFD,8BAwFC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tramvai/cli",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.11.1",
|
|
4
4
|
"description": "Cli инструмент для сборки и запуска приложений",
|
|
5
5
|
"files": [
|
|
6
6
|
"src",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"@tinkoff/utils": "^2.1.3",
|
|
73
73
|
"@tinkoff/webpack-dedupe-plugin": "3.0.1",
|
|
74
74
|
"@tramvai/build": "5.0.3",
|
|
75
|
-
"@tramvai/react": "4.
|
|
75
|
+
"@tramvai/react": "4.11.1",
|
|
76
76
|
"@tramvai/tools-check-versions": "0.6.1",
|
|
77
77
|
"@tramvai/tools-migrate": "0.8.1",
|
|
78
78
|
"ajv": "^8.12.0",
|
package/src/cli/index.ts
CHANGED
|
@@ -73,6 +73,7 @@ export async function cliInitialized(cliArgs = process.argv) {
|
|
|
73
73
|
const analytic = new Analytics({
|
|
74
74
|
packageInfo,
|
|
75
75
|
trackingCode: 'UA-122261674-1',
|
|
76
|
+
enabled: process.env.TRAMVAI_ENABLE_ANALYTICS === 'true',
|
|
76
77
|
});
|
|
77
78
|
|
|
78
79
|
const configManager = new ConfigManager({ config, syncConfigFile: syncJsonFile });
|
package/src/models/analytics.ts
CHANGED
|
@@ -20,9 +20,15 @@ interface ErrorEvent extends Event {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
export class Analytics {
|
|
23
|
+
private readonly enabled: boolean;
|
|
24
|
+
|
|
23
25
|
private visitor: Visitor;
|
|
24
26
|
|
|
25
27
|
private trackErrorInternal = ({ name, errorMessage, errorStatus }: ErrorEvent, resolve) => {
|
|
28
|
+
if (!this.enabled) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
|
|
26
32
|
this.visitor.event('error', name, errorMessage, errorStatus).send(resolve);
|
|
27
33
|
};
|
|
28
34
|
|
|
@@ -30,6 +36,10 @@ export class Analytics {
|
|
|
30
36
|
{ name, executionTime, label, parameters, category }: ActionEvent,
|
|
31
37
|
resolve
|
|
32
38
|
) => {
|
|
39
|
+
if (!this.enabled) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
|
|
33
43
|
const path = [category, name, label].join('/');
|
|
34
44
|
const event = this.visitor
|
|
35
45
|
.screenview({ cd: path })
|
|
@@ -42,24 +52,30 @@ export class Analytics {
|
|
|
42
52
|
};
|
|
43
53
|
|
|
44
54
|
private trackTimingInternal = ({ name, executionTime, category }: ActionEvent, resolve) => {
|
|
55
|
+
if (!this.enabled) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
|
|
45
59
|
this.visitor.timing(category, name, Math.floor(executionTime)).send(resolve);
|
|
46
60
|
};
|
|
47
61
|
|
|
48
|
-
trackError = this.promisify(this.trackErrorInternal);
|
|
62
|
+
private readonly trackError = this.promisify(this.trackErrorInternal);
|
|
49
63
|
|
|
50
|
-
|
|
51
|
-
track = this.promisify(this.trackCommandInternal);
|
|
64
|
+
private readonly track = this.promisify(this.trackCommandInternal);
|
|
52
65
|
|
|
53
|
-
|
|
54
|
-
trackTiming = this.promisify(this.trackTimingInternal);
|
|
66
|
+
private readonly trackTiming = this.promisify(this.trackTimingInternal);
|
|
55
67
|
|
|
56
|
-
constructor({ trackingCode, packageInfo: { name, version } }) {
|
|
57
|
-
this.
|
|
68
|
+
constructor({ trackingCode, packageInfo: { name, version }, enabled }) {
|
|
69
|
+
this.enabled = enabled ?? false;
|
|
58
70
|
|
|
59
|
-
this.
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
71
|
+
if (this.enabled) {
|
|
72
|
+
this.visitor = ua(trackingCode);
|
|
73
|
+
|
|
74
|
+
this.visitor.set('ds', 'app');
|
|
75
|
+
this.visitor.set('an', name);
|
|
76
|
+
this.visitor.set('av', version);
|
|
77
|
+
this.visitor.set('aid', 'tramvai-cli');
|
|
78
|
+
}
|
|
63
79
|
}
|
|
64
80
|
|
|
65
81
|
trackAfter(actionEvent: ActionEvent) {
|
|
@@ -85,7 +101,7 @@ export class Analytics {
|
|
|
85
101
|
}
|
|
86
102
|
|
|
87
103
|
private promisify<TEvent>(func: (event: TEvent, resolve: any, ...args) => void) {
|
|
88
|
-
return function
|
|
104
|
+
return function promisified(event: TEvent, ...args): Promise<void> {
|
|
89
105
|
return new Promise((resolve) => func(event, resolve, ...args));
|
|
90
106
|
};
|
|
91
107
|
}
|