@amplitude/analytics-core 0.9.5 → 0.9.6
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/cjs/core-client.d.ts +5 -0
- package/lib/cjs/core-client.d.ts.map +1 -1
- package/lib/cjs/core-client.js +74 -9
- package/lib/cjs/core-client.js.map +1 -1
- package/lib/esm/core-client.d.ts +5 -0
- package/lib/esm/core-client.d.ts.map +1 -1
- package/lib/esm/core-client.js +74 -9
- package/lib/esm/core-client.js.map +1 -1
- package/package.json +2 -2
package/lib/cjs/core-client.d.ts
CHANGED
|
@@ -6,8 +6,13 @@ export declare class AmplitudeCore<T extends Config> implements CoreClient<T> {
|
|
|
6
6
|
config: T;
|
|
7
7
|
timeline: Timeline;
|
|
8
8
|
protected q: CallableFunction[];
|
|
9
|
+
protected pluginQueue: CallableFunction[];
|
|
9
10
|
constructor(name?: string);
|
|
10
11
|
_init(config: T): Promise<void>;
|
|
12
|
+
protected getAndResetQueuedFunctions(): CallableFunction[];
|
|
13
|
+
protected runQueuedFunctions(): Promise<void>;
|
|
14
|
+
protected getAndResetQueuedPluginFunctions(): CallableFunction[];
|
|
15
|
+
protected runQueuedPluginFunctions(): Promise<void>;
|
|
11
16
|
track(eventInput: BaseEvent | string, eventProperties?: Record<string, any>, eventOptions?: EventOptions): Promise<import("@amplitude/analytics-types").Result>;
|
|
12
17
|
logEvent: (eventInput: BaseEvent | string, eventProperties?: Record<string, any> | undefined, eventOptions?: EventOptions | undefined) => Promise<import("@amplitude/analytics-types").Result>;
|
|
13
18
|
identify(identify: Identify, eventOptions?: EventOptions): Promise<import("@amplitude/analytics-types").Result>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-client.d.ts","sourceRoot":"","sources":["../../src/core-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,MAAM,EACN,KAAK,EACL,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,OAAO,EACR,MAAM,4BAA4B,CAAC;AAQpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAItC,qBAAa,aAAa,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,UAAU,CAAC,CAAC,CAAC;IACnE,YAAY,UAAS;IACrB,IAAI,EAAE,MAAM,CAAC;IAGb,MAAM,EAAE,CAAC,CAAC;IAGV,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAM;
|
|
1
|
+
{"version":3,"file":"core-client.d.ts","sourceRoot":"","sources":["../../src/core-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,MAAM,EACN,KAAK,EACL,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,OAAO,EACR,MAAM,4BAA4B,CAAC;AAQpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAItC,qBAAa,aAAa,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,UAAU,CAAC,CAAC,CAAC;IACnE,YAAY,UAAS;IACrB,IAAI,EAAE,MAAM,CAAC;IAGb,MAAM,EAAE,CAAC,CAAC;IAGV,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAM;IACrC,SAAS,CAAC,WAAW,EAAE,gBAAgB,EAAE,CAAM;gBAEnC,IAAI,SAAa;IAKvB,KAAK,CAAC,MAAM,EAAE,CAAC;IAOrB,SAAS,CAAC,0BAA0B;cAMpB,kBAAkB;IAOlC,SAAS,CAAC,gCAAgC;cAM1B,wBAAwB;IAOxC,KAAK,CAAC,UAAU,EAAE,SAAS,GAAG,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,YAAY,CAAC,EAAE,YAAY;IAKxG,QAAQ,eALU,SAAS,GAAG,MAAM,sJAKH;IAEjC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,YAAY;IAKxD,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,YAAY;IAK9G,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,YAAY;IAKrF,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,YAAY;IAK/C,GAAG,CAAC,MAAM,EAAE,MAAM;IAQlB,MAAM,CAAC,UAAU,EAAE,MAAM;IAQzB,QAAQ,CAAC,KAAK,EAAE,KAAK;IAoB3B,SAAS,CAAC,MAAM,EAAE,OAAO;IAQzB,KAAK;CAGN"}
|
package/lib/cjs/core-client.js
CHANGED
|
@@ -10,21 +10,42 @@ var AmplitudeCore = /** @class */ (function () {
|
|
|
10
10
|
if (name === void 0) { name = '$default'; }
|
|
11
11
|
this.initializing = false;
|
|
12
12
|
this.q = [];
|
|
13
|
+
this.pluginQueue = [];
|
|
13
14
|
this.logEvent = this.track.bind(this);
|
|
14
15
|
this.timeline = new timeline_1.Timeline();
|
|
15
16
|
this.name = name;
|
|
16
17
|
}
|
|
17
18
|
AmplitudeCore.prototype._init = function (config) {
|
|
19
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
20
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
21
|
+
switch (_a.label) {
|
|
22
|
+
case 0:
|
|
23
|
+
this.config = config;
|
|
24
|
+
this.timeline.reset();
|
|
25
|
+
return [4 /*yield*/, this.runQueuedPluginFunctions()];
|
|
26
|
+
case 1:
|
|
27
|
+
_a.sent();
|
|
28
|
+
return [4 /*yield*/, this.runQueuedFunctions()];
|
|
29
|
+
case 2:
|
|
30
|
+
_a.sent();
|
|
31
|
+
return [2 /*return*/];
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
AmplitudeCore.prototype.getAndResetQueuedFunctions = function () {
|
|
37
|
+
var queuedFunctions = this.q;
|
|
38
|
+
this.q = [];
|
|
39
|
+
return queuedFunctions;
|
|
40
|
+
};
|
|
41
|
+
AmplitudeCore.prototype.runQueuedFunctions = function () {
|
|
18
42
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
19
43
|
var queuedFunctions, queuedFunctions_1, queuedFunctions_1_1, queuedFunction, e_1_1;
|
|
20
44
|
var e_1, _a;
|
|
21
45
|
return (0, tslib_1.__generator)(this, function (_b) {
|
|
22
46
|
switch (_b.label) {
|
|
23
47
|
case 0:
|
|
24
|
-
|
|
25
|
-
this.timeline.reset();
|
|
26
|
-
queuedFunctions = this.q;
|
|
27
|
-
this.q = [];
|
|
48
|
+
queuedFunctions = this.getAndResetQueuedFunctions();
|
|
28
49
|
_b.label = 1;
|
|
29
50
|
case 1:
|
|
30
51
|
_b.trys.push([1, 6, 7, 8]);
|
|
@@ -56,6 +77,50 @@ var AmplitudeCore = /** @class */ (function () {
|
|
|
56
77
|
});
|
|
57
78
|
});
|
|
58
79
|
};
|
|
80
|
+
AmplitudeCore.prototype.getAndResetQueuedPluginFunctions = function () {
|
|
81
|
+
var queuedFunctions = this.pluginQueue;
|
|
82
|
+
this.pluginQueue = [];
|
|
83
|
+
return queuedFunctions;
|
|
84
|
+
};
|
|
85
|
+
AmplitudeCore.prototype.runQueuedPluginFunctions = function () {
|
|
86
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
87
|
+
var queuedFunctions, queuedFunctions_2, queuedFunctions_2_1, queuedFunction, e_2_1;
|
|
88
|
+
var e_2, _a;
|
|
89
|
+
return (0, tslib_1.__generator)(this, function (_b) {
|
|
90
|
+
switch (_b.label) {
|
|
91
|
+
case 0:
|
|
92
|
+
queuedFunctions = this.getAndResetQueuedPluginFunctions();
|
|
93
|
+
_b.label = 1;
|
|
94
|
+
case 1:
|
|
95
|
+
_b.trys.push([1, 6, 7, 8]);
|
|
96
|
+
queuedFunctions_2 = (0, tslib_1.__values)(queuedFunctions), queuedFunctions_2_1 = queuedFunctions_2.next();
|
|
97
|
+
_b.label = 2;
|
|
98
|
+
case 2:
|
|
99
|
+
if (!!queuedFunctions_2_1.done) return [3 /*break*/, 5];
|
|
100
|
+
queuedFunction = queuedFunctions_2_1.value;
|
|
101
|
+
return [4 /*yield*/, queuedFunction()];
|
|
102
|
+
case 3:
|
|
103
|
+
_b.sent();
|
|
104
|
+
_b.label = 4;
|
|
105
|
+
case 4:
|
|
106
|
+
queuedFunctions_2_1 = queuedFunctions_2.next();
|
|
107
|
+
return [3 /*break*/, 2];
|
|
108
|
+
case 5: return [3 /*break*/, 8];
|
|
109
|
+
case 6:
|
|
110
|
+
e_2_1 = _b.sent();
|
|
111
|
+
e_2 = { error: e_2_1 };
|
|
112
|
+
return [3 /*break*/, 8];
|
|
113
|
+
case 7:
|
|
114
|
+
try {
|
|
115
|
+
if (queuedFunctions_2_1 && !queuedFunctions_2_1.done && (_a = queuedFunctions_2.return)) _a.call(queuedFunctions_2);
|
|
116
|
+
}
|
|
117
|
+
finally { if (e_2) throw e_2.error; }
|
|
118
|
+
return [7 /*endfinally*/];
|
|
119
|
+
case 8: return [2 /*return*/];
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
};
|
|
59
124
|
AmplitudeCore.prototype.track = function (eventInput, eventProperties, eventOptions) {
|
|
60
125
|
var event = (0, event_builder_1.createTrackEvent)(eventInput, eventProperties, eventOptions);
|
|
61
126
|
return this.dispatch(event);
|
|
@@ -80,7 +145,7 @@ var AmplitudeCore = /** @class */ (function () {
|
|
|
80
145
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
81
146
|
return (0, tslib_1.__generator)(this, function (_a) {
|
|
82
147
|
if (!this.config) {
|
|
83
|
-
this.
|
|
148
|
+
this.pluginQueue.push(this.add.bind(this, plugin));
|
|
84
149
|
return [2 /*return*/];
|
|
85
150
|
}
|
|
86
151
|
return [2 /*return*/, this.timeline.register(plugin, this.config)];
|
|
@@ -91,7 +156,7 @@ var AmplitudeCore = /** @class */ (function () {
|
|
|
91
156
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
92
157
|
return (0, tslib_1.__generator)(this, function (_a) {
|
|
93
158
|
if (!this.config) {
|
|
94
|
-
this.
|
|
159
|
+
this.pluginQueue.push(this.remove.bind(this, pluginName));
|
|
95
160
|
return [2 /*return*/];
|
|
96
161
|
}
|
|
97
162
|
return [2 /*return*/, this.timeline.deregister(pluginName)];
|
|
@@ -101,7 +166,7 @@ var AmplitudeCore = /** @class */ (function () {
|
|
|
101
166
|
AmplitudeCore.prototype.dispatch = function (event) {
|
|
102
167
|
var _a;
|
|
103
168
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
104
|
-
var result,
|
|
169
|
+
var result, e_3, message;
|
|
105
170
|
return (0, tslib_1.__generator)(this, function (_b) {
|
|
106
171
|
switch (_b.label) {
|
|
107
172
|
case 0:
|
|
@@ -121,8 +186,8 @@ var AmplitudeCore = /** @class */ (function () {
|
|
|
121
186
|
}
|
|
122
187
|
return [2 /*return*/, result];
|
|
123
188
|
case 2:
|
|
124
|
-
|
|
125
|
-
message = String(
|
|
189
|
+
e_3 = _b.sent();
|
|
190
|
+
message = String(e_3);
|
|
126
191
|
this.config.loggerProvider.error(message);
|
|
127
192
|
return [2 /*return*/, (0, result_builder_1.buildResult)(event, 0, message)];
|
|
128
193
|
case 3: return [2 /*return*/];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-client.js","sourceRoot":"","sources":["../../src/core-client.ts"],"names":[],"mappings":";;;AAUA,uDAM+B;AAC/B,uCAAsC;AACtC,yDAAqD;AACrD,uCAA6C;AAE7C;
|
|
1
|
+
{"version":3,"file":"core-client.js","sourceRoot":"","sources":["../../src/core-client.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CoreClient,\n Config,\n Event,\n BaseEvent,\n EventOptions,\n Identify,\n Plugin,\n Revenue,\n} from '@amplitude/analytics-types';\nimport {\n createGroupIdentifyEvent,\n createIdentifyEvent,\n createTrackEvent,\n createRevenueEvent,\n createGroupEvent,\n} from './utils/event-builder';\nimport { Timeline } from './timeline';\nimport { buildResult } from './utils/result-builder';\nimport { OPT_OUT_MESSAGE } from './messages';\n\nexport class AmplitudeCore<T extends Config> implements CoreClient<T> {\n initializing = false;\n name: string;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n config: T;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n timeline: Timeline;\n protected q: CallableFunction[] = [];\n protected pluginQueue: CallableFunction[] = [];\n\n constructor(name = '$default') {\n this.timeline = new Timeline();\n this.name = name;\n }\n\n async _init(config: T) {\n this.config = config;\n this.timeline.reset();\n await this.runQueuedPluginFunctions();\n await this.runQueuedFunctions();\n }\n\n protected getAndResetQueuedFunctions() {\n const queuedFunctions = this.q;\n this.q = [];\n return queuedFunctions;\n }\n\n protected async runQueuedFunctions() {\n const queuedFunctions = this.getAndResetQueuedFunctions();\n for (const queuedFunction of queuedFunctions) {\n await queuedFunction();\n }\n }\n\n protected getAndResetQueuedPluginFunctions() {\n const queuedFunctions = this.pluginQueue;\n this.pluginQueue = [];\n return queuedFunctions;\n }\n\n protected async runQueuedPluginFunctions() {\n const queuedFunctions = this.getAndResetQueuedPluginFunctions();\n for (const queuedFunction of queuedFunctions) {\n await queuedFunction();\n }\n }\n\n track(eventInput: BaseEvent | string, eventProperties?: Record<string, any>, eventOptions?: EventOptions) {\n const event = createTrackEvent(eventInput, eventProperties, eventOptions);\n return this.dispatch(event);\n }\n\n logEvent = this.track.bind(this);\n\n identify(identify: Identify, eventOptions?: EventOptions) {\n const event = createIdentifyEvent(identify, eventOptions);\n return this.dispatch(event);\n }\n\n groupIdentify(groupType: string, groupName: string | string[], identify: Identify, eventOptions?: EventOptions) {\n const event = createGroupIdentifyEvent(groupType, groupName, identify, eventOptions);\n return this.dispatch(event);\n }\n\n setGroup(groupType: string, groupName: string | string[], eventOptions?: EventOptions) {\n const event = createGroupEvent(groupType, groupName, eventOptions);\n return this.dispatch(event);\n }\n\n revenue(revenue: Revenue, eventOptions?: EventOptions) {\n const event = createRevenueEvent(revenue, eventOptions);\n return this.dispatch(event);\n }\n\n async add(plugin: Plugin) {\n if (!this.config) {\n this.pluginQueue.push(this.add.bind(this, plugin));\n return;\n }\n return this.timeline.register(plugin, this.config);\n }\n\n async remove(pluginName: string) {\n if (!this.config) {\n this.pluginQueue.push(this.remove.bind(this, pluginName));\n return;\n }\n return this.timeline.deregister(pluginName);\n }\n\n async dispatch(event: Event) {\n try {\n // skip event processing if opt out\n if (this.config?.optOut) {\n return buildResult(event, 0, OPT_OUT_MESSAGE);\n }\n const result = await this.timeline.push(event);\n if (result.code === 200) {\n this.config.loggerProvider.log(result.message);\n } else {\n this.config.loggerProvider.error(result.message);\n }\n return result;\n } catch (e) {\n const message = String(e);\n this.config.loggerProvider.error(message);\n return buildResult(event, 0, message);\n }\n }\n\n setOptOut(optOut: boolean) {\n if (!this.config) {\n this.q.push(this.setOptOut.bind(this, Boolean(optOut)));\n return;\n }\n this.config.optOut = Boolean(optOut);\n }\n\n flush() {\n return this.timeline.flush();\n }\n}\n"]}
|
package/lib/esm/core-client.d.ts
CHANGED
|
@@ -6,8 +6,13 @@ export declare class AmplitudeCore<T extends Config> implements CoreClient<T> {
|
|
|
6
6
|
config: T;
|
|
7
7
|
timeline: Timeline;
|
|
8
8
|
protected q: CallableFunction[];
|
|
9
|
+
protected pluginQueue: CallableFunction[];
|
|
9
10
|
constructor(name?: string);
|
|
10
11
|
_init(config: T): Promise<void>;
|
|
12
|
+
protected getAndResetQueuedFunctions(): CallableFunction[];
|
|
13
|
+
protected runQueuedFunctions(): Promise<void>;
|
|
14
|
+
protected getAndResetQueuedPluginFunctions(): CallableFunction[];
|
|
15
|
+
protected runQueuedPluginFunctions(): Promise<void>;
|
|
11
16
|
track(eventInput: BaseEvent | string, eventProperties?: Record<string, any>, eventOptions?: EventOptions): Promise<import("@amplitude/analytics-types").Result>;
|
|
12
17
|
logEvent: (eventInput: BaseEvent | string, eventProperties?: Record<string, any> | undefined, eventOptions?: EventOptions | undefined) => Promise<import("@amplitude/analytics-types").Result>;
|
|
13
18
|
identify(identify: Identify, eventOptions?: EventOptions): Promise<import("@amplitude/analytics-types").Result>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-client.d.ts","sourceRoot":"","sources":["../../src/core-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,MAAM,EACN,KAAK,EACL,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,OAAO,EACR,MAAM,4BAA4B,CAAC;AAQpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAItC,qBAAa,aAAa,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,UAAU,CAAC,CAAC,CAAC;IACnE,YAAY,UAAS;IACrB,IAAI,EAAE,MAAM,CAAC;IAGb,MAAM,EAAE,CAAC,CAAC;IAGV,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAM;
|
|
1
|
+
{"version":3,"file":"core-client.d.ts","sourceRoot":"","sources":["../../src/core-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,MAAM,EACN,KAAK,EACL,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,OAAO,EACR,MAAM,4BAA4B,CAAC;AAQpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAItC,qBAAa,aAAa,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,UAAU,CAAC,CAAC,CAAC;IACnE,YAAY,UAAS;IACrB,IAAI,EAAE,MAAM,CAAC;IAGb,MAAM,EAAE,CAAC,CAAC;IAGV,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAM;IACrC,SAAS,CAAC,WAAW,EAAE,gBAAgB,EAAE,CAAM;gBAEnC,IAAI,SAAa;IAKvB,KAAK,CAAC,MAAM,EAAE,CAAC;IAOrB,SAAS,CAAC,0BAA0B;cAMpB,kBAAkB;IAOlC,SAAS,CAAC,gCAAgC;cAM1B,wBAAwB;IAOxC,KAAK,CAAC,UAAU,EAAE,SAAS,GAAG,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,YAAY,CAAC,EAAE,YAAY;IAKxG,QAAQ,eALU,SAAS,GAAG,MAAM,sJAKH;IAEjC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,YAAY;IAKxD,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,YAAY;IAK9G,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,YAAY;IAKrF,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,YAAY;IAK/C,GAAG,CAAC,MAAM,EAAE,MAAM;IAQlB,MAAM,CAAC,UAAU,EAAE,MAAM;IAQzB,QAAQ,CAAC,KAAK,EAAE,KAAK;IAoB3B,SAAS,CAAC,MAAM,EAAE,OAAO;IAQzB,KAAK;CAGN"}
|
package/lib/esm/core-client.js
CHANGED
|
@@ -8,21 +8,42 @@ var AmplitudeCore = /** @class */ (function () {
|
|
|
8
8
|
if (name === void 0) { name = '$default'; }
|
|
9
9
|
this.initializing = false;
|
|
10
10
|
this.q = [];
|
|
11
|
+
this.pluginQueue = [];
|
|
11
12
|
this.logEvent = this.track.bind(this);
|
|
12
13
|
this.timeline = new Timeline();
|
|
13
14
|
this.name = name;
|
|
14
15
|
}
|
|
15
16
|
AmplitudeCore.prototype._init = function (config) {
|
|
17
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
18
|
+
return __generator(this, function (_a) {
|
|
19
|
+
switch (_a.label) {
|
|
20
|
+
case 0:
|
|
21
|
+
this.config = config;
|
|
22
|
+
this.timeline.reset();
|
|
23
|
+
return [4 /*yield*/, this.runQueuedPluginFunctions()];
|
|
24
|
+
case 1:
|
|
25
|
+
_a.sent();
|
|
26
|
+
return [4 /*yield*/, this.runQueuedFunctions()];
|
|
27
|
+
case 2:
|
|
28
|
+
_a.sent();
|
|
29
|
+
return [2 /*return*/];
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
AmplitudeCore.prototype.getAndResetQueuedFunctions = function () {
|
|
35
|
+
var queuedFunctions = this.q;
|
|
36
|
+
this.q = [];
|
|
37
|
+
return queuedFunctions;
|
|
38
|
+
};
|
|
39
|
+
AmplitudeCore.prototype.runQueuedFunctions = function () {
|
|
16
40
|
return __awaiter(this, void 0, void 0, function () {
|
|
17
41
|
var queuedFunctions, queuedFunctions_1, queuedFunctions_1_1, queuedFunction, e_1_1;
|
|
18
42
|
var e_1, _a;
|
|
19
43
|
return __generator(this, function (_b) {
|
|
20
44
|
switch (_b.label) {
|
|
21
45
|
case 0:
|
|
22
|
-
|
|
23
|
-
this.timeline.reset();
|
|
24
|
-
queuedFunctions = this.q;
|
|
25
|
-
this.q = [];
|
|
46
|
+
queuedFunctions = this.getAndResetQueuedFunctions();
|
|
26
47
|
_b.label = 1;
|
|
27
48
|
case 1:
|
|
28
49
|
_b.trys.push([1, 6, 7, 8]);
|
|
@@ -54,6 +75,50 @@ var AmplitudeCore = /** @class */ (function () {
|
|
|
54
75
|
});
|
|
55
76
|
});
|
|
56
77
|
};
|
|
78
|
+
AmplitudeCore.prototype.getAndResetQueuedPluginFunctions = function () {
|
|
79
|
+
var queuedFunctions = this.pluginQueue;
|
|
80
|
+
this.pluginQueue = [];
|
|
81
|
+
return queuedFunctions;
|
|
82
|
+
};
|
|
83
|
+
AmplitudeCore.prototype.runQueuedPluginFunctions = function () {
|
|
84
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
85
|
+
var queuedFunctions, queuedFunctions_2, queuedFunctions_2_1, queuedFunction, e_2_1;
|
|
86
|
+
var e_2, _a;
|
|
87
|
+
return __generator(this, function (_b) {
|
|
88
|
+
switch (_b.label) {
|
|
89
|
+
case 0:
|
|
90
|
+
queuedFunctions = this.getAndResetQueuedPluginFunctions();
|
|
91
|
+
_b.label = 1;
|
|
92
|
+
case 1:
|
|
93
|
+
_b.trys.push([1, 6, 7, 8]);
|
|
94
|
+
queuedFunctions_2 = __values(queuedFunctions), queuedFunctions_2_1 = queuedFunctions_2.next();
|
|
95
|
+
_b.label = 2;
|
|
96
|
+
case 2:
|
|
97
|
+
if (!!queuedFunctions_2_1.done) return [3 /*break*/, 5];
|
|
98
|
+
queuedFunction = queuedFunctions_2_1.value;
|
|
99
|
+
return [4 /*yield*/, queuedFunction()];
|
|
100
|
+
case 3:
|
|
101
|
+
_b.sent();
|
|
102
|
+
_b.label = 4;
|
|
103
|
+
case 4:
|
|
104
|
+
queuedFunctions_2_1 = queuedFunctions_2.next();
|
|
105
|
+
return [3 /*break*/, 2];
|
|
106
|
+
case 5: return [3 /*break*/, 8];
|
|
107
|
+
case 6:
|
|
108
|
+
e_2_1 = _b.sent();
|
|
109
|
+
e_2 = { error: e_2_1 };
|
|
110
|
+
return [3 /*break*/, 8];
|
|
111
|
+
case 7:
|
|
112
|
+
try {
|
|
113
|
+
if (queuedFunctions_2_1 && !queuedFunctions_2_1.done && (_a = queuedFunctions_2.return)) _a.call(queuedFunctions_2);
|
|
114
|
+
}
|
|
115
|
+
finally { if (e_2) throw e_2.error; }
|
|
116
|
+
return [7 /*endfinally*/];
|
|
117
|
+
case 8: return [2 /*return*/];
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
};
|
|
57
122
|
AmplitudeCore.prototype.track = function (eventInput, eventProperties, eventOptions) {
|
|
58
123
|
var event = createTrackEvent(eventInput, eventProperties, eventOptions);
|
|
59
124
|
return this.dispatch(event);
|
|
@@ -78,7 +143,7 @@ var AmplitudeCore = /** @class */ (function () {
|
|
|
78
143
|
return __awaiter(this, void 0, void 0, function () {
|
|
79
144
|
return __generator(this, function (_a) {
|
|
80
145
|
if (!this.config) {
|
|
81
|
-
this.
|
|
146
|
+
this.pluginQueue.push(this.add.bind(this, plugin));
|
|
82
147
|
return [2 /*return*/];
|
|
83
148
|
}
|
|
84
149
|
return [2 /*return*/, this.timeline.register(plugin, this.config)];
|
|
@@ -89,7 +154,7 @@ var AmplitudeCore = /** @class */ (function () {
|
|
|
89
154
|
return __awaiter(this, void 0, void 0, function () {
|
|
90
155
|
return __generator(this, function (_a) {
|
|
91
156
|
if (!this.config) {
|
|
92
|
-
this.
|
|
157
|
+
this.pluginQueue.push(this.remove.bind(this, pluginName));
|
|
93
158
|
return [2 /*return*/];
|
|
94
159
|
}
|
|
95
160
|
return [2 /*return*/, this.timeline.deregister(pluginName)];
|
|
@@ -99,7 +164,7 @@ var AmplitudeCore = /** @class */ (function () {
|
|
|
99
164
|
AmplitudeCore.prototype.dispatch = function (event) {
|
|
100
165
|
var _a;
|
|
101
166
|
return __awaiter(this, void 0, void 0, function () {
|
|
102
|
-
var result,
|
|
167
|
+
var result, e_3, message;
|
|
103
168
|
return __generator(this, function (_b) {
|
|
104
169
|
switch (_b.label) {
|
|
105
170
|
case 0:
|
|
@@ -119,8 +184,8 @@ var AmplitudeCore = /** @class */ (function () {
|
|
|
119
184
|
}
|
|
120
185
|
return [2 /*return*/, result];
|
|
121
186
|
case 2:
|
|
122
|
-
|
|
123
|
-
message = String(
|
|
187
|
+
e_3 = _b.sent();
|
|
188
|
+
message = String(e_3);
|
|
124
189
|
this.config.loggerProvider.error(message);
|
|
125
190
|
return [2 /*return*/, buildResult(event, 0, message)];
|
|
126
191
|
case 3: return [2 /*return*/];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-client.js","sourceRoot":"","sources":["../../src/core-client.ts"],"names":[],"mappings":";AAUA,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C;
|
|
1
|
+
{"version":3,"file":"core-client.js","sourceRoot":"","sources":["../../src/core-client.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CoreClient,\n Config,\n Event,\n BaseEvent,\n EventOptions,\n Identify,\n Plugin,\n Revenue,\n} from '@amplitude/analytics-types';\nimport {\n createGroupIdentifyEvent,\n createIdentifyEvent,\n createTrackEvent,\n createRevenueEvent,\n createGroupEvent,\n} from './utils/event-builder';\nimport { Timeline } from './timeline';\nimport { buildResult } from './utils/result-builder';\nimport { OPT_OUT_MESSAGE } from './messages';\n\nexport class AmplitudeCore<T extends Config> implements CoreClient<T> {\n initializing = false;\n name: string;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n config: T;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n timeline: Timeline;\n protected q: CallableFunction[] = [];\n protected pluginQueue: CallableFunction[] = [];\n\n constructor(name = '$default') {\n this.timeline = new Timeline();\n this.name = name;\n }\n\n async _init(config: T) {\n this.config = config;\n this.timeline.reset();\n await this.runQueuedPluginFunctions();\n await this.runQueuedFunctions();\n }\n\n protected getAndResetQueuedFunctions() {\n const queuedFunctions = this.q;\n this.q = [];\n return queuedFunctions;\n }\n\n protected async runQueuedFunctions() {\n const queuedFunctions = this.getAndResetQueuedFunctions();\n for (const queuedFunction of queuedFunctions) {\n await queuedFunction();\n }\n }\n\n protected getAndResetQueuedPluginFunctions() {\n const queuedFunctions = this.pluginQueue;\n this.pluginQueue = [];\n return queuedFunctions;\n }\n\n protected async runQueuedPluginFunctions() {\n const queuedFunctions = this.getAndResetQueuedPluginFunctions();\n for (const queuedFunction of queuedFunctions) {\n await queuedFunction();\n }\n }\n\n track(eventInput: BaseEvent | string, eventProperties?: Record<string, any>, eventOptions?: EventOptions) {\n const event = createTrackEvent(eventInput, eventProperties, eventOptions);\n return this.dispatch(event);\n }\n\n logEvent = this.track.bind(this);\n\n identify(identify: Identify, eventOptions?: EventOptions) {\n const event = createIdentifyEvent(identify, eventOptions);\n return this.dispatch(event);\n }\n\n groupIdentify(groupType: string, groupName: string | string[], identify: Identify, eventOptions?: EventOptions) {\n const event = createGroupIdentifyEvent(groupType, groupName, identify, eventOptions);\n return this.dispatch(event);\n }\n\n setGroup(groupType: string, groupName: string | string[], eventOptions?: EventOptions) {\n const event = createGroupEvent(groupType, groupName, eventOptions);\n return this.dispatch(event);\n }\n\n revenue(revenue: Revenue, eventOptions?: EventOptions) {\n const event = createRevenueEvent(revenue, eventOptions);\n return this.dispatch(event);\n }\n\n async add(plugin: Plugin) {\n if (!this.config) {\n this.pluginQueue.push(this.add.bind(this, plugin));\n return;\n }\n return this.timeline.register(plugin, this.config);\n }\n\n async remove(pluginName: string) {\n if (!this.config) {\n this.pluginQueue.push(this.remove.bind(this, pluginName));\n return;\n }\n return this.timeline.deregister(pluginName);\n }\n\n async dispatch(event: Event) {\n try {\n // skip event processing if opt out\n if (this.config?.optOut) {\n return buildResult(event, 0, OPT_OUT_MESSAGE);\n }\n const result = await this.timeline.push(event);\n if (result.code === 200) {\n this.config.loggerProvider.log(result.message);\n } else {\n this.config.loggerProvider.error(result.message);\n }\n return result;\n } catch (e) {\n const message = String(e);\n this.config.loggerProvider.error(message);\n return buildResult(event, 0, message);\n }\n }\n\n setOptOut(optOut: boolean) {\n if (!this.config) {\n this.q.push(this.setOptOut.bind(this, Boolean(optOut)));\n return;\n }\n this.config.optOut = Boolean(optOut);\n }\n\n flush() {\n return this.timeline.flush();\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amplitude/analytics-core",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.6",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "Amplitude Inc",
|
|
6
6
|
"homepage": "https://github.com/amplitude/Amplitude-TypeScript",
|
|
@@ -40,5 +40,5 @@
|
|
|
40
40
|
"files": [
|
|
41
41
|
"lib"
|
|
42
42
|
],
|
|
43
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "e0e8c340cf94fd182cc313a177d4148ed89f4bd5"
|
|
44
44
|
}
|