@amplitude/analytics-core 0.4.0 → 0.6.0

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 (57) hide show
  1. package/lib/cjs/config.d.ts +4 -4
  2. package/lib/cjs/config.d.ts.map +1 -1
  3. package/lib/cjs/config.js +11 -2
  4. package/lib/cjs/config.js.map +1 -1
  5. package/lib/cjs/core-client.d.ts +4 -2
  6. package/lib/cjs/core-client.d.ts.map +1 -1
  7. package/lib/cjs/core-client.js +9 -11
  8. package/lib/cjs/core-client.js.map +1 -1
  9. package/lib/cjs/index.d.ts +1 -0
  10. package/lib/cjs/index.d.ts.map +1 -1
  11. package/lib/cjs/index.js +3 -1
  12. package/lib/cjs/index.js.map +1 -1
  13. package/lib/cjs/plugins/destination.d.ts +11 -9
  14. package/lib/cjs/plugins/destination.d.ts.map +1 -1
  15. package/lib/cjs/plugins/destination.js +63 -69
  16. package/lib/cjs/plugins/destination.js.map +1 -1
  17. package/lib/cjs/storage/memory.d.ts +6 -6
  18. package/lib/cjs/storage/memory.d.ts.map +1 -1
  19. package/lib/cjs/storage/memory.js +40 -7
  20. package/lib/cjs/storage/memory.js.map +1 -1
  21. package/lib/cjs/timeline.d.ts +12 -7
  22. package/lib/cjs/timeline.d.ts.map +1 -1
  23. package/lib/cjs/timeline.js +154 -138
  24. package/lib/cjs/timeline.js.map +1 -1
  25. package/lib/cjs/utils/event-builder.d.ts +2 -2
  26. package/lib/cjs/utils/event-builder.d.ts.map +1 -1
  27. package/lib/cjs/utils/event-builder.js +4 -10
  28. package/lib/cjs/utils/event-builder.js.map +1 -1
  29. package/lib/esm/config.d.ts +4 -4
  30. package/lib/esm/config.d.ts.map +1 -1
  31. package/lib/esm/config.js +11 -2
  32. package/lib/esm/config.js.map +1 -1
  33. package/lib/esm/core-client.d.ts +4 -2
  34. package/lib/esm/core-client.d.ts.map +1 -1
  35. package/lib/esm/core-client.js +10 -12
  36. package/lib/esm/core-client.js.map +1 -1
  37. package/lib/esm/index.d.ts +1 -0
  38. package/lib/esm/index.d.ts.map +1 -1
  39. package/lib/esm/index.js +1 -0
  40. package/lib/esm/index.js.map +1 -1
  41. package/lib/esm/plugins/destination.d.ts +11 -9
  42. package/lib/esm/plugins/destination.d.ts.map +1 -1
  43. package/lib/esm/plugins/destination.js +63 -69
  44. package/lib/esm/plugins/destination.js.map +1 -1
  45. package/lib/esm/storage/memory.d.ts +6 -6
  46. package/lib/esm/storage/memory.d.ts.map +1 -1
  47. package/lib/esm/storage/memory.js +40 -7
  48. package/lib/esm/storage/memory.js.map +1 -1
  49. package/lib/esm/timeline.d.ts +12 -7
  50. package/lib/esm/timeline.d.ts.map +1 -1
  51. package/lib/esm/timeline.js +153 -130
  52. package/lib/esm/timeline.js.map +1 -1
  53. package/lib/esm/utils/event-builder.d.ts +2 -2
  54. package/lib/esm/utils/event-builder.d.ts.map +1 -1
  55. package/lib/esm/utils/event-builder.js +4 -10
  56. package/lib/esm/utils/event-builder.js.map +1 -1
  57. package/package.json +3 -3
@@ -1,25 +1,58 @@
1
+ import { __awaiter, __generator } from "tslib";
1
2
  var MemoryStorage = /** @class */ (function () {
2
3
  function MemoryStorage() {
3
4
  this.memoryStorage = new Map();
4
5
  }
5
6
  MemoryStorage.prototype.isEnabled = function () {
6
- return true;
7
+ return __awaiter(this, void 0, void 0, function () {
8
+ return __generator(this, function (_a) {
9
+ return [2 /*return*/, true];
10
+ });
11
+ });
7
12
  };
8
13
  MemoryStorage.prototype.get = function (key) {
9
- return this.memoryStorage.get(key);
14
+ return __awaiter(this, void 0, void 0, function () {
15
+ return __generator(this, function (_a) {
16
+ return [2 /*return*/, this.memoryStorage.get(key)];
17
+ });
18
+ });
10
19
  };
11
20
  MemoryStorage.prototype.getRaw = function (key) {
12
- var value = this.get(key);
13
- return value ? JSON.stringify(value) : undefined;
21
+ return __awaiter(this, void 0, void 0, function () {
22
+ var value;
23
+ return __generator(this, function (_a) {
24
+ switch (_a.label) {
25
+ case 0: return [4 /*yield*/, this.get(key)];
26
+ case 1:
27
+ value = _a.sent();
28
+ return [2 /*return*/, value ? JSON.stringify(value) : undefined];
29
+ }
30
+ });
31
+ });
14
32
  };
15
33
  MemoryStorage.prototype.set = function (key, value) {
16
- this.memoryStorage.set(key, value);
34
+ return __awaiter(this, void 0, void 0, function () {
35
+ return __generator(this, function (_a) {
36
+ this.memoryStorage.set(key, value);
37
+ return [2 /*return*/];
38
+ });
39
+ });
17
40
  };
18
41
  MemoryStorage.prototype.remove = function (key) {
19
- this.memoryStorage.delete(key);
42
+ return __awaiter(this, void 0, void 0, function () {
43
+ return __generator(this, function (_a) {
44
+ this.memoryStorage.delete(key);
45
+ return [2 /*return*/];
46
+ });
47
+ });
20
48
  };
21
49
  MemoryStorage.prototype.reset = function () {
22
- this.memoryStorage.clear();
50
+ return __awaiter(this, void 0, void 0, function () {
51
+ return __generator(this, function (_a) {
52
+ this.memoryStorage.clear();
53
+ return [2 /*return*/];
54
+ });
55
+ });
23
56
  };
24
57
  return MemoryStorage;
25
58
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/storage/memory.ts"],"names":[],"mappings":"AAEA;IAAA;QACE,kBAAa,GAAmB,IAAI,GAAG,EAAE,CAAC;IA0B5C,CAAC;IAxBC,iCAAS,GAAT;QACE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2BAAG,GAAH,UAAI,GAAW;QACb,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,8BAAM,GAAN,UAAO,GAAW;QAChB,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,CAAC;IAED,2BAAG,GAAH,UAAI,GAAW,EAAE,KAAQ;QACvB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,8BAAM,GAAN,UAAO,GAAW;QAChB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,6BAAK,GAAL;QACE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IACH,oBAAC;AAAD,CAAC,AA3BD,IA2BC","sourcesContent":["import { Storage } from '@amplitude/analytics-types';\n\nexport class MemoryStorage<T> implements Storage<T> {\n memoryStorage: Map<string, T> = new Map();\n\n isEnabled(): boolean {\n return true;\n }\n\n get(key: string): T | undefined {\n return this.memoryStorage.get(key);\n }\n\n getRaw(key: string) {\n const value = this.get(key);\n return value ? JSON.stringify(value) : undefined;\n }\n\n set(key: string, value: T) {\n this.memoryStorage.set(key, value);\n }\n\n remove(key: string) {\n this.memoryStorage.delete(key);\n }\n\n reset() {\n this.memoryStorage.clear();\n }\n}\n"]}
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/storage/memory.ts"],"names":[],"mappings":";AAEA;IAAA;QACE,kBAAa,GAAmB,IAAI,GAAG,EAAE,CAAC;IA0B5C,CAAC;IAxBO,iCAAS,GAAf;;;gBACE,sBAAO,IAAI,EAAC;;;KACb;IAEK,2BAAG,GAAT,UAAU,GAAW;;;gBACnB,sBAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAC;;;KACpC;IAEK,8BAAM,GAAZ,UAAa,GAAW;;;;;4BACR,qBAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAA;;wBAA3B,KAAK,GAAG,SAAmB;wBACjC,sBAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAC;;;;KAClD;IAEK,2BAAG,GAAT,UAAU,GAAW,EAAE,KAAQ;;;gBAC7B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;;;;KACpC;IAEK,8BAAM,GAAZ,UAAa,GAAW;;;gBACtB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;;;;KAChC;IAEK,6BAAK,GAAX;;;gBACE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;;;;KAC5B;IACH,oBAAC;AAAD,CAAC,AA3BD,IA2BC","sourcesContent":["import { Storage } from '@amplitude/analytics-types';\n\nexport class MemoryStorage<T> implements Storage<T> {\n memoryStorage: Map<string, T> = new Map();\n\n async isEnabled(): Promise<boolean> {\n return true;\n }\n\n async get(key: string): Promise<T | undefined> {\n return this.memoryStorage.get(key);\n }\n\n async getRaw(key: string): Promise<string | undefined> {\n const value = await this.get(key);\n return value ? JSON.stringify(value) : undefined;\n }\n\n async set(key: string, value: T): Promise<void> {\n this.memoryStorage.set(key, value);\n }\n\n async remove(key: string): Promise<void> {\n this.memoryStorage.delete(key);\n }\n\n async reset(): Promise<void> {\n this.memoryStorage.clear();\n }\n}\n"]}
@@ -1,9 +1,14 @@
1
1
  import { Config, Event, EventCallback, Plugin, Result } from '@amplitude/analytics-types';
2
- export declare const queue: [Event, EventCallback, Plugin[]][];
3
- export declare const register: (plugin: Plugin, config: Config) => Promise<void>;
4
- export declare const deregister: (pluginName: string, config: Config) => Promise<void>;
5
- export declare const push: (event: Event, config: Config) => Promise<Result>;
6
- export declare const scheduleApply: (timeout: number) => void;
7
- export declare const apply: () => Promise<void>;
8
- export declare const flush: (config: Config) => Promise<void>;
2
+ export declare class Timeline {
3
+ queue: [Event, EventCallback][];
4
+ applying: boolean;
5
+ flushing: boolean;
6
+ plugins: Plugin[];
7
+ register(plugin: Plugin, config: Config): Promise<void>;
8
+ deregister(pluginName: string): Promise<void>;
9
+ push(event: Event, config: Config): Promise<Result>;
10
+ scheduleApply(timeout: number): void;
11
+ apply(item: [Event, EventCallback] | undefined): Promise<void>;
12
+ flush(): Promise<void>;
13
+ }
9
14
  //# sourceMappingURL=timeline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../src/timeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,MAAM,EAGN,KAAK,EACL,aAAa,EACb,MAAM,EAEN,MAAM,EACP,MAAM,4BAA4B,CAAC;AAIpC,eAAO,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,EAAO,CAAC;AAG5D,eAAO,MAAM,QAAQ,WAAkB,MAAM,UAAU,MAAM,kBAG5D,CAAC;AAEF,eAAO,MAAM,UAAU,eAAgB,MAAM,UAAU,MAAM,kBAM5D,CAAC;AAEF,eAAO,MAAM,IAAI,UAAW,KAAK,UAAU,MAAM,oBAShD,CAAC;AAEF,eAAO,MAAM,aAAa,YAAa,MAAM,SAW5C,CAAC;AAEF,eAAO,MAAM,KAAK,qBAwCjB,CAAC;AAEF,eAAO,MAAM,KAAK,WAAkB,MAAM,kBAQzC,CAAC"}
1
+ {"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../src/timeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,EAGN,KAAK,EACL,aAAa,EACb,MAAM,EAEN,MAAM,EACP,MAAM,4BAA4B,CAAC;AAIpC,qBAAa,QAAQ;IACnB,KAAK,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,CAAM;IACrC,QAAQ,UAAS;IACjB,QAAQ,UAAS;IACjB,OAAO,EAAE,MAAM,EAAE,CAAM;IAEjB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAK7C,UAAU,CAAC,UAAU,EAAE,MAAM;IAQ7B,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM;IAWjC,aAAa,CAAC,OAAO,EAAE,MAAM;IAavB,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,SAAS;IAwC9C,KAAK;CAgBZ"}
@@ -2,139 +2,162 @@ import { __assign, __awaiter, __generator, __read, __values } from "tslib";
2
2
  import { PluginType, } from '@amplitude/analytics-types';
3
3
  import { OPT_OUT_MESSAGE } from './messages';
4
4
  import { buildResult } from './utils/result-builder';
5
- export var queue = [];
6
- var applying = false;
7
- export var register = function (plugin, config) { return __awaiter(void 0, void 0, void 0, function () {
8
- return __generator(this, function (_a) {
9
- switch (_a.label) {
10
- case 0: return [4 /*yield*/, plugin.setup(config)];
11
- case 1:
12
- _a.sent();
13
- config.plugins.push(plugin);
14
- return [2 /*return*/];
15
- }
16
- });
17
- }); };
18
- export var deregister = function (pluginName, config) {
19
- config.plugins.splice(config.plugins.findIndex(function (plugin) { return plugin.name === pluginName; }), 1);
20
- return Promise.resolve();
21
- };
22
- export var push = function (event, config) {
23
- return new Promise(function (resolve) {
24
- if (config.optOut) {
25
- resolve(buildResult(event, 0, OPT_OUT_MESSAGE));
26
- return;
27
- }
28
- queue.push([event, resolve, config.plugins]);
29
- scheduleApply(0);
30
- });
31
- };
32
- export var scheduleApply = function (timeout) {
33
- if (applying)
34
- return;
35
- applying = true;
36
- setTimeout(function () {
37
- void apply().then(function () {
38
- applying = false;
39
- if (queue.length > 0) {
40
- scheduleApply(0);
5
+ var Timeline = /** @class */ (function () {
6
+ function Timeline() {
7
+ this.queue = [];
8
+ this.applying = false;
9
+ this.flushing = false;
10
+ this.plugins = [];
11
+ }
12
+ Timeline.prototype.register = function (plugin, config) {
13
+ return __awaiter(this, void 0, void 0, function () {
14
+ return __generator(this, function (_a) {
15
+ switch (_a.label) {
16
+ case 0: return [4 /*yield*/, plugin.setup(config)];
17
+ case 1:
18
+ _a.sent();
19
+ this.plugins.push(plugin);
20
+ return [2 /*return*/];
21
+ }
22
+ });
23
+ });
24
+ };
25
+ Timeline.prototype.deregister = function (pluginName) {
26
+ this.plugins.splice(this.plugins.findIndex(function (plugin) { return plugin.name === pluginName; }), 1);
27
+ return Promise.resolve();
28
+ };
29
+ Timeline.prototype.push = function (event, config) {
30
+ var _this = this;
31
+ return new Promise(function (resolve) {
32
+ if (config.optOut) {
33
+ resolve(buildResult(event, 0, OPT_OUT_MESSAGE));
34
+ return;
41
35
  }
36
+ _this.queue.push([event, resolve]);
37
+ _this.scheduleApply(0);
42
38
  });
43
- }, timeout);
44
- };
45
- export var apply = function () { return __awaiter(void 0, void 0, void 0, function () {
46
- var item, _a, event, _b, resolve, plugins, before, before_1, before_1_1, plugin, e_1_1, enrichment, enrichment_1, enrichment_1_1, plugin, e_2_1, destination, executeDestinations;
47
- var e_1, _c, e_2, _d;
48
- return __generator(this, function (_e) {
49
- switch (_e.label) {
50
- case 0:
51
- item = queue.shift();
52
- if (!item) {
53
- return [2 /*return*/];
39
+ };
40
+ Timeline.prototype.scheduleApply = function (timeout) {
41
+ var _this = this;
42
+ if (this.applying)
43
+ return;
44
+ this.applying = true;
45
+ setTimeout(function () {
46
+ void _this.apply(_this.queue.shift()).then(function () {
47
+ _this.applying = false;
48
+ if (_this.queue.length > 0) {
49
+ _this.scheduleApply(0);
54
50
  }
55
- _a = __read(item, 1), event = _a[0];
56
- _b = __read(item, 3), resolve = _b[1], plugins = _b[2];
57
- before = plugins.filter(function (plugin) { return plugin.type === PluginType.BEFORE; });
58
- _e.label = 1;
59
- case 1:
60
- _e.trys.push([1, 6, 7, 8]);
61
- before_1 = __values(before), before_1_1 = before_1.next();
62
- _e.label = 2;
63
- case 2:
64
- if (!!before_1_1.done) return [3 /*break*/, 5];
65
- plugin = before_1_1.value;
66
- return [4 /*yield*/, plugin.execute(__assign({}, event))];
67
- case 3:
68
- event = _e.sent();
69
- _e.label = 4;
70
- case 4:
71
- before_1_1 = before_1.next();
72
- return [3 /*break*/, 2];
73
- case 5: return [3 /*break*/, 8];
74
- case 6:
75
- e_1_1 = _e.sent();
76
- e_1 = { error: e_1_1 };
77
- return [3 /*break*/, 8];
78
- case 7:
79
- try {
80
- if (before_1_1 && !before_1_1.done && (_c = before_1.return)) _c.call(before_1);
51
+ });
52
+ }, timeout);
53
+ };
54
+ Timeline.prototype.apply = function (item) {
55
+ return __awaiter(this, void 0, void 0, function () {
56
+ var _a, event, _b, resolve, before, before_1, before_1_1, plugin, e_1_1, enrichment, enrichment_1, enrichment_1_1, plugin, e_2_1, destination, executeDestinations;
57
+ var e_1, _c, e_2, _d;
58
+ return __generator(this, function (_e) {
59
+ switch (_e.label) {
60
+ case 0:
61
+ if (!item) {
62
+ return [2 /*return*/];
63
+ }
64
+ _a = __read(item, 1), event = _a[0];
65
+ _b = __read(item, 2), resolve = _b[1];
66
+ before = this.plugins.filter(function (plugin) { return plugin.type === PluginType.BEFORE; });
67
+ _e.label = 1;
68
+ case 1:
69
+ _e.trys.push([1, 6, 7, 8]);
70
+ before_1 = __values(before), before_1_1 = before_1.next();
71
+ _e.label = 2;
72
+ case 2:
73
+ if (!!before_1_1.done) return [3 /*break*/, 5];
74
+ plugin = before_1_1.value;
75
+ return [4 /*yield*/, plugin.execute(__assign({}, event))];
76
+ case 3:
77
+ event = _e.sent();
78
+ _e.label = 4;
79
+ case 4:
80
+ before_1_1 = before_1.next();
81
+ return [3 /*break*/, 2];
82
+ case 5: return [3 /*break*/, 8];
83
+ case 6:
84
+ e_1_1 = _e.sent();
85
+ e_1 = { error: e_1_1 };
86
+ return [3 /*break*/, 8];
87
+ case 7:
88
+ try {
89
+ if (before_1_1 && !before_1_1.done && (_c = before_1.return)) _c.call(before_1);
90
+ }
91
+ finally { if (e_1) throw e_1.error; }
92
+ return [7 /*endfinally*/];
93
+ case 8:
94
+ enrichment = this.plugins.filter(function (plugin) { return plugin.type === PluginType.ENRICHMENT; });
95
+ _e.label = 9;
96
+ case 9:
97
+ _e.trys.push([9, 14, 15, 16]);
98
+ enrichment_1 = __values(enrichment), enrichment_1_1 = enrichment_1.next();
99
+ _e.label = 10;
100
+ case 10:
101
+ if (!!enrichment_1_1.done) return [3 /*break*/, 13];
102
+ plugin = enrichment_1_1.value;
103
+ return [4 /*yield*/, plugin.execute(__assign({}, event))];
104
+ case 11:
105
+ event = _e.sent();
106
+ _e.label = 12;
107
+ case 12:
108
+ enrichment_1_1 = enrichment_1.next();
109
+ return [3 /*break*/, 10];
110
+ case 13: return [3 /*break*/, 16];
111
+ case 14:
112
+ e_2_1 = _e.sent();
113
+ e_2 = { error: e_2_1 };
114
+ return [3 /*break*/, 16];
115
+ case 15:
116
+ try {
117
+ if (enrichment_1_1 && !enrichment_1_1.done && (_d = enrichment_1.return)) _d.call(enrichment_1);
118
+ }
119
+ finally { if (e_2) throw e_2.error; }
120
+ return [7 /*endfinally*/];
121
+ case 16:
122
+ destination = this.plugins.filter(function (plugin) { return plugin.type === PluginType.DESTINATION; });
123
+ executeDestinations = destination.map(function (plugin) {
124
+ var eventClone = __assign({}, event);
125
+ return plugin.execute(eventClone).catch(function (e) { return buildResult(eventClone, 0, String(e)); });
126
+ });
127
+ void Promise.all(executeDestinations).then(function (_a) {
128
+ var _b = __read(_a, 1), result = _b[0];
129
+ resolve(result);
130
+ });
131
+ return [2 /*return*/];
81
132
  }
82
- finally { if (e_1) throw e_1.error; }
83
- return [7 /*endfinally*/];
84
- case 8:
85
- enrichment = plugins.filter(function (plugin) { return plugin.type === PluginType.ENRICHMENT; });
86
- _e.label = 9;
87
- case 9:
88
- _e.trys.push([9, 14, 15, 16]);
89
- enrichment_1 = __values(enrichment), enrichment_1_1 = enrichment_1.next();
90
- _e.label = 10;
91
- case 10:
92
- if (!!enrichment_1_1.done) return [3 /*break*/, 13];
93
- plugin = enrichment_1_1.value;
94
- return [4 /*yield*/, plugin.execute(__assign({}, event))];
95
- case 11:
96
- event = _e.sent();
97
- _e.label = 12;
98
- case 12:
99
- enrichment_1_1 = enrichment_1.next();
100
- return [3 /*break*/, 10];
101
- case 13: return [3 /*break*/, 16];
102
- case 14:
103
- e_2_1 = _e.sent();
104
- e_2 = { error: e_2_1 };
105
- return [3 /*break*/, 16];
106
- case 15:
107
- try {
108
- if (enrichment_1_1 && !enrichment_1_1.done && (_d = enrichment_1.return)) _d.call(enrichment_1);
133
+ });
134
+ });
135
+ };
136
+ Timeline.prototype.flush = function () {
137
+ return __awaiter(this, void 0, void 0, function () {
138
+ var queue, destination, executeDestinations;
139
+ var _this = this;
140
+ return __generator(this, function (_a) {
141
+ switch (_a.label) {
142
+ case 0:
143
+ queue = this.queue;
144
+ this.queue = [];
145
+ return [4 /*yield*/, Promise.all(queue.map(function (item) { return _this.apply(item); }))];
146
+ case 1:
147
+ _a.sent();
148
+ destination = this.plugins.filter(function (plugin) { return plugin.type === PluginType.DESTINATION; });
149
+ executeDestinations = destination.map(function (plugin) {
150
+ return plugin.flush && plugin.flush();
151
+ });
152
+ return [4 /*yield*/, Promise.all(executeDestinations)];
153
+ case 2:
154
+ _a.sent();
155
+ return [2 /*return*/];
109
156
  }
110
- finally { if (e_2) throw e_2.error; }
111
- return [7 /*endfinally*/];
112
- case 16:
113
- destination = plugins.filter(function (plugin) { return plugin.type === PluginType.DESTINATION; });
114
- executeDestinations = destination.map(function (plugin) {
115
- var eventClone = __assign({}, event);
116
- return plugin.execute(eventClone).catch(function (e) { return buildResult(eventClone, 0, String(e)); });
117
- });
118
- void Promise.all(executeDestinations).then(function (_a) {
119
- var _b = __read(_a, 1), result = _b[0];
120
- resolve(result);
121
- });
122
- return [2 /*return*/];
123
- }
124
- });
125
- }); };
126
- export var flush = function (config) { return __awaiter(void 0, void 0, void 0, function () {
127
- var destination, flushDestinations;
128
- return __generator(this, function (_a) {
129
- switch (_a.label) {
130
- case 0:
131
- destination = config.plugins.filter(function (plugin) { return plugin.type === PluginType.DESTINATION; });
132
- flushDestinations = destination.map(function (plugin) { return plugin.flush && plugin.flush(true); });
133
- return [4 /*yield*/, Promise.all(flushDestinations)];
134
- case 1:
135
- _a.sent();
136
- return [2 /*return*/];
137
- }
138
- });
139
- }); };
157
+ });
158
+ });
159
+ };
160
+ return Timeline;
161
+ }());
162
+ export { Timeline };
140
163
  //# sourceMappingURL=timeline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../src/timeline.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AmplitudeDestinationPlugin,\n BeforePlugin,\n Config,\n DestinationPlugin,\n EnrichmentPlugin,\n Event,\n EventCallback,\n Plugin,\n PluginType,\n Result,\n} from '@amplitude/analytics-types';\nimport { OPT_OUT_MESSAGE } from './messages';\nimport { buildResult } from './utils/result-builder';\n\nexport const queue: [Event, EventCallback, Plugin[]][] = [];\nlet applying = false;\n\nexport const register = async (plugin: Plugin, config: Config) => {\n await plugin.setup(config);\n config.plugins.push(plugin);\n};\n\nexport const deregister = (pluginName: string, config: Config) => {\n config.plugins.splice(\n config.plugins.findIndex((plugin) => plugin.name === pluginName),\n 1,\n );\n return Promise.resolve();\n};\n\nexport const push = (event: Event, config: Config) => {\n return new Promise<Result>((resolve) => {\n if (config.optOut) {\n resolve(buildResult(event, 0, OPT_OUT_MESSAGE));\n return;\n }\n queue.push([event, resolve, config.plugins]);\n scheduleApply(0);\n });\n};\n\nexport const scheduleApply = (timeout: number) => {\n if (applying) return;\n applying = true;\n setTimeout(() => {\n void apply().then(() => {\n applying = false;\n if (queue.length > 0) {\n scheduleApply(0);\n }\n });\n }, timeout);\n};\n\nexport const apply = async () => {\n const item = queue.shift();\n\n if (!item) {\n return;\n }\n\n let [event] = item;\n const [, resolve, plugins] = item;\n\n const before = plugins.filter<BeforePlugin>(\n (plugin: Plugin): plugin is BeforePlugin => plugin.type === PluginType.BEFORE,\n );\n\n for (const plugin of before) {\n event = await plugin.execute({ ...event });\n }\n\n const enrichment = plugins.filter<EnrichmentPlugin>(\n (plugin: Plugin): plugin is EnrichmentPlugin => plugin.type === PluginType.ENRICHMENT,\n );\n\n for (const plugin of enrichment) {\n event = await plugin.execute({ ...event });\n }\n\n const destination = plugins.filter<DestinationPlugin>(\n (plugin: Plugin): plugin is DestinationPlugin => plugin.type === PluginType.DESTINATION,\n );\n\n const executeDestinations = destination.map((plugin) => {\n const eventClone = { ...event };\n return plugin.execute(eventClone).catch((e) => buildResult(eventClone, 0, String(e)));\n });\n\n void Promise.all(executeDestinations).then(([result]) => {\n resolve(result);\n });\n\n return;\n};\n\nexport const flush = async (config: Config) => {\n const destination = config.plugins.filter<AmplitudeDestinationPlugin>(\n (plugin: Plugin): plugin is AmplitudeDestinationPlugin => plugin.type === PluginType.DESTINATION,\n );\n\n const flushDestinations = destination.map((plugin) => plugin.flush && plugin.flush(true));\n\n await Promise.all(flushDestinations);\n};\n"]}
1
+ {"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../src/timeline.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n BeforePlugin,\n Config,\n DestinationPlugin,\n EnrichmentPlugin,\n Event,\n EventCallback,\n Plugin,\n PluginType,\n Result,\n} from '@amplitude/analytics-types';\nimport { OPT_OUT_MESSAGE } from './messages';\nimport { buildResult } from './utils/result-builder';\n\nexport class Timeline {\n queue: [Event, EventCallback][] = [];\n applying = false;\n flushing = false;\n plugins: Plugin[] = [];\n\n async register(plugin: Plugin, config: Config) {\n await plugin.setup(config);\n this.plugins.push(plugin);\n }\n\n deregister(pluginName: string) {\n this.plugins.splice(\n this.plugins.findIndex((plugin) => plugin.name === pluginName),\n 1,\n );\n return Promise.resolve();\n }\n\n push(event: Event, config: Config) {\n return new Promise<Result>((resolve) => {\n if (config.optOut) {\n resolve(buildResult(event, 0, OPT_OUT_MESSAGE));\n return;\n }\n this.queue.push([event, resolve]);\n this.scheduleApply(0);\n });\n }\n\n scheduleApply(timeout: number) {\n if (this.applying) return;\n this.applying = true;\n setTimeout(() => {\n void this.apply(this.queue.shift()).then(() => {\n this.applying = false;\n if (this.queue.length > 0) {\n this.scheduleApply(0);\n }\n });\n }, timeout);\n }\n\n async apply(item: [Event, EventCallback] | undefined) {\n if (!item) {\n return;\n }\n\n let [event] = item;\n const [, resolve] = item;\n\n const before = this.plugins.filter<BeforePlugin>(\n (plugin: Plugin): plugin is BeforePlugin => plugin.type === PluginType.BEFORE,\n );\n\n for (const plugin of before) {\n event = await plugin.execute({ ...event });\n }\n\n const enrichment = this.plugins.filter<EnrichmentPlugin>(\n (plugin: Plugin): plugin is EnrichmentPlugin => plugin.type === PluginType.ENRICHMENT,\n );\n\n for (const plugin of enrichment) {\n event = await plugin.execute({ ...event });\n }\n\n const destination = this.plugins.filter<DestinationPlugin>(\n (plugin: Plugin): plugin is DestinationPlugin => plugin.type === PluginType.DESTINATION,\n );\n\n const executeDestinations = destination.map((plugin) => {\n const eventClone = { ...event };\n return plugin.execute(eventClone).catch((e) => buildResult(eventClone, 0, String(e)));\n });\n\n void Promise.all(executeDestinations).then(([result]) => {\n resolve(result);\n });\n\n return;\n }\n\n async flush() {\n const queue = this.queue;\n this.queue = [];\n\n await Promise.all(queue.map((item) => this.apply(item)));\n\n const destination = this.plugins.filter<DestinationPlugin>(\n (plugin: Plugin): plugin is DestinationPlugin => plugin.type === PluginType.DESTINATION,\n );\n\n const executeDestinations = destination.map((plugin) => {\n return plugin.flush && plugin.flush();\n });\n\n await Promise.all(executeDestinations);\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import { BaseEvent, TrackEvent, IdentifyEvent, GroupIdentifyEvent, Identify as IIdentify, Revenue, RevenueEvent, EventOptions } from '@amplitude/analytics-types';
2
2
  export declare const createTrackEvent: (eventInput: BaseEvent | string, eventProperties?: Record<string, any> | undefined, eventOptions?: EventOptions | undefined) => TrackEvent;
3
- export declare const createIdentifyEvent: (userId: string | undefined, deviceId: string | undefined, identify: IIdentify, eventOptions?: EventOptions | undefined) => IdentifyEvent;
4
- export declare const createGroupIdentifyEvent: (userId: string | undefined, deviceId: string | undefined, groupType: string, groupName: string | string[], identify: IIdentify, eventOptions?: EventOptions | undefined) => GroupIdentifyEvent;
3
+ export declare const createIdentifyEvent: (identify: IIdentify, eventOptions?: EventOptions | undefined) => IdentifyEvent;
4
+ export declare const createGroupIdentifyEvent: (groupType: string, groupName: string | string[], identify: IIdentify, eventOptions?: EventOptions | undefined) => GroupIdentifyEvent;
5
5
  export declare const createGroupEvent: (groupType: string, groupName: string | string[]) => IdentifyEvent;
6
6
  export declare const createRevenueEvent: (revenue: Revenue, eventOptions?: EventOptions | undefined) => RevenueEvent;
7
7
  //# sourceMappingURL=event-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-builder.d.ts","sourceRoot":"","sources":["../../../src/utils/event-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACV,aAAa,EACb,kBAAkB,EAElB,QAAQ,IAAI,SAAS,EACrB,OAAO,EACP,YAAY,EACZ,YAAY,EACb,MAAM,4BAA4B,CAAC;AAGpC,eAAO,MAAM,gBAAgB,eACf,SAAS,GAAG,MAAM,iGAG7B,UAOF,CAAC;AAEF,eAAO,MAAM,mBAAmB,WACtB,MAAM,GAAG,SAAS,YAChB,MAAM,GAAG,SAAS,YAClB,SAAS,8CAElB,aAaF,CAAC;AAEF,eAAO,MAAM,wBAAwB,WAC3B,MAAM,GAAG,SAAS,YAChB,MAAM,GAAG,SAAS,aACjB,MAAM,aACN,MAAM,GAAG,MAAM,EAAE,YAClB,SAAS,8CAElB,kBAgBF,CAAC;AAEF,eAAO,MAAM,gBAAgB,cAAe,MAAM,aAAa,MAAM,GAAG,MAAM,EAAE,kBAY/E,CAAC;AAEF,eAAO,MAAM,kBAAkB,YAAa,OAAO,8CAAgC,YAMlF,CAAC"}
1
+ {"version":3,"file":"event-builder.d.ts","sourceRoot":"","sources":["../../../src/utils/event-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACV,aAAa,EACb,kBAAkB,EAElB,QAAQ,IAAI,SAAS,EACrB,OAAO,EACP,YAAY,EACZ,YAAY,EACb,MAAM,4BAA4B,CAAC;AAGpC,eAAO,MAAM,gBAAgB,eACf,SAAS,GAAG,MAAM,iGAG7B,UAOF,CAAC;AAEF,eAAO,MAAM,mBAAmB,aAAc,SAAS,8CAAgC,aAQtF,CAAC;AAEF,eAAO,MAAM,wBAAwB,cACxB,MAAM,aACN,MAAM,GAAG,MAAM,EAAE,YAClB,SAAS,8CAElB,kBAWF,CAAC;AAEF,eAAO,MAAM,gBAAgB,cAAe,MAAM,aAAa,MAAM,GAAG,MAAM,EAAE,kBAY/E,CAAC;AAEF,eAAO,MAAM,kBAAkB,YAAa,OAAO,8CAAgC,YAMlF,CAAC"}
@@ -5,21 +5,15 @@ export var createTrackEvent = function (eventInput, eventProperties, eventOption
5
5
  var baseEvent = typeof eventInput === 'string' ? { event_type: eventInput } : eventInput;
6
6
  return __assign(__assign(__assign({}, baseEvent), eventOptions), (eventProperties && { event_properties: eventProperties }));
7
7
  };
8
- export var createIdentifyEvent = function (userId, deviceId, identify, eventOptions) {
9
- var identifyEvent = __assign(__assign({}, eventOptions), { event_type: SpecialEventType.IDENTIFY, user_properties: identify.getUserProperties(), user_id: userId });
10
- if (deviceId !== undefined && deviceId.length > 0) {
11
- identifyEvent.device_id = deviceId;
12
- }
8
+ export var createIdentifyEvent = function (identify, eventOptions) {
9
+ var identifyEvent = __assign(__assign({}, eventOptions), { event_type: SpecialEventType.IDENTIFY, user_properties: identify.getUserProperties() });
13
10
  return identifyEvent;
14
11
  };
15
- export var createGroupIdentifyEvent = function (userId, deviceId, groupType, groupName, identify, eventOptions) {
12
+ export var createGroupIdentifyEvent = function (groupType, groupName, identify, eventOptions) {
16
13
  var _a;
17
14
  var groupIdentify = __assign(__assign({}, eventOptions), { event_type: SpecialEventType.GROUP_IDENTIFY, group_properties: identify.getUserProperties(), groups: (_a = {},
18
15
  _a[groupType] = groupName,
19
- _a), user_id: userId });
20
- if (deviceId !== undefined && deviceId.length > 0) {
21
- groupIdentify.device_id = deviceId;
22
- }
16
+ _a) });
23
17
  return groupIdentify;
24
18
  };
25
19
  export var createGroupEvent = function (groupType, groupName) {
@@ -1 +1 @@
1
- {"version":3,"file":"event-builder.js","sourceRoot":"","sources":["../../../src/utils/event-builder.ts"],"names":[],"mappings":";AAAA,OAAO,EAKL,gBAAgB,GAKjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAC9B,UAA8B,EAC9B,eAAqC,EACrC,YAA2B;IAE3B,IAAM,SAAS,GAAc,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;IACtG,sCACK,SAAS,GACT,YAAY,GACZ,CAAC,eAAe,IAAI,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC,EAC7D;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,mBAAmB,GAAG,UACjC,MAA0B,EAC1B,QAA4B,EAC5B,QAAmB,EACnB,YAA2B;IAE3B,IAAM,aAAa,yBACd,YAAY,KACf,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EACrC,eAAe,EAAE,QAAQ,CAAC,iBAAiB,EAAE,EAC7C,OAAO,EAAE,MAAM,GAChB,CAAC;IAEF,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;QACjD,aAAa,CAAC,SAAS,GAAG,QAAQ,CAAC;KACpC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,wBAAwB,GAAG,UACtC,MAA0B,EAC1B,QAA4B,EAC5B,SAAiB,EACjB,SAA4B,EAC5B,QAAmB,EACnB,YAA2B;;IAE3B,IAAM,aAAa,yBACd,YAAY,KACf,UAAU,EAAE,gBAAgB,CAAC,cAAc,EAC3C,gBAAgB,EAAE,QAAQ,CAAC,iBAAiB,EAAE,EAC9C,MAAM;YACJ,GAAC,SAAS,IAAG,SAAS;iBAExB,OAAO,EAAE,MAAM,GAChB,CAAC;IAEF,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;QACjD,aAAa,CAAC,SAAS,GAAG,QAAQ,CAAC;KACpC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAC,SAAiB,EAAE,SAA4B;;IAC9E,IAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;IAChC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAEnC,IAAM,UAAU,GAAkB;QAChC,UAAU,EAAE,gBAAgB,CAAC,QAAQ;QACrC,eAAe,EAAE,QAAQ,CAAC,iBAAiB,EAAE;QAC7C,MAAM;YACJ,GAAC,SAAS,IAAG,SAAS;eACvB;KACF,CAAC;IACF,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,kBAAkB,GAAG,UAAC,OAAgB,EAAE,YAA2B;IAC9E,6BACK,YAAY,KACf,UAAU,EAAE,gBAAgB,CAAC,OAAO,EACpC,gBAAgB,EAAE,OAAO,CAAC,kBAAkB,EAAE,IAC9C;AACJ,CAAC,CAAC","sourcesContent":["import {\n BaseEvent,\n TrackEvent,\n IdentifyEvent,\n GroupIdentifyEvent,\n SpecialEventType,\n Identify as IIdentify,\n Revenue,\n RevenueEvent,\n EventOptions,\n} from '@amplitude/analytics-types';\nimport { Identify } from '../identify';\n\nexport const createTrackEvent = (\n eventInput: BaseEvent | string,\n eventProperties?: Record<string, any>,\n eventOptions?: EventOptions,\n): TrackEvent => {\n const baseEvent: BaseEvent = typeof eventInput === 'string' ? { event_type: eventInput } : eventInput;\n return {\n ...baseEvent,\n ...eventOptions,\n ...(eventProperties && { event_properties: eventProperties }),\n };\n};\n\nexport const createIdentifyEvent = (\n userId: string | undefined,\n deviceId: string | undefined,\n identify: IIdentify,\n eventOptions?: EventOptions,\n): IdentifyEvent => {\n const identifyEvent: IdentifyEvent = {\n ...eventOptions,\n event_type: SpecialEventType.IDENTIFY,\n user_properties: identify.getUserProperties(),\n user_id: userId,\n };\n\n if (deviceId !== undefined && deviceId.length > 0) {\n identifyEvent.device_id = deviceId;\n }\n\n return identifyEvent;\n};\n\nexport const createGroupIdentifyEvent = (\n userId: string | undefined,\n deviceId: string | undefined,\n groupType: string,\n groupName: string | string[],\n identify: IIdentify,\n eventOptions?: EventOptions,\n): GroupIdentifyEvent => {\n const groupIdentify: GroupIdentifyEvent = {\n ...eventOptions,\n event_type: SpecialEventType.GROUP_IDENTIFY,\n group_properties: identify.getUserProperties(),\n groups: {\n [groupType]: groupName,\n },\n user_id: userId,\n };\n\n if (deviceId !== undefined && deviceId.length > 0) {\n groupIdentify.device_id = deviceId;\n }\n\n return groupIdentify;\n};\n\nexport const createGroupEvent = (groupType: string, groupName: string | string[]) => {\n const identify = new Identify();\n identify.set(groupType, groupName);\n\n const groupEvent: IdentifyEvent = {\n event_type: SpecialEventType.IDENTIFY,\n user_properties: identify.getUserProperties(),\n groups: {\n [groupType]: groupName,\n },\n };\n return groupEvent;\n};\n\nexport const createRevenueEvent = (revenue: Revenue, eventOptions?: EventOptions): RevenueEvent => {\n return {\n ...eventOptions,\n event_type: SpecialEventType.REVENUE,\n event_properties: revenue.getEventProperties(),\n };\n};\n"]}
1
+ {"version":3,"file":"event-builder.js","sourceRoot":"","sources":["../../../src/utils/event-builder.ts"],"names":[],"mappings":";AAAA,OAAO,EAKL,gBAAgB,GAKjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAC9B,UAA8B,EAC9B,eAAqC,EACrC,YAA2B;IAE3B,IAAM,SAAS,GAAc,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;IACtG,sCACK,SAAS,GACT,YAAY,GACZ,CAAC,eAAe,IAAI,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC,EAC7D;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,QAAmB,EAAE,YAA2B;IAClF,IAAM,aAAa,yBACd,YAAY,KACf,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EACrC,eAAe,EAAE,QAAQ,CAAC,iBAAiB,EAAE,GAC9C,CAAC;IAEF,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,wBAAwB,GAAG,UACtC,SAAiB,EACjB,SAA4B,EAC5B,QAAmB,EACnB,YAA2B;;IAE3B,IAAM,aAAa,yBACd,YAAY,KACf,UAAU,EAAE,gBAAgB,CAAC,cAAc,EAC3C,gBAAgB,EAAE,QAAQ,CAAC,iBAAiB,EAAE,EAC9C,MAAM;YACJ,GAAC,SAAS,IAAG,SAAS;kBAEzB,CAAC;IAEF,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAC,SAAiB,EAAE,SAA4B;;IAC9E,IAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;IAChC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAEnC,IAAM,UAAU,GAAkB;QAChC,UAAU,EAAE,gBAAgB,CAAC,QAAQ;QACrC,eAAe,EAAE,QAAQ,CAAC,iBAAiB,EAAE;QAC7C,MAAM;YACJ,GAAC,SAAS,IAAG,SAAS;eACvB;KACF,CAAC;IACF,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,kBAAkB,GAAG,UAAC,OAAgB,EAAE,YAA2B;IAC9E,6BACK,YAAY,KACf,UAAU,EAAE,gBAAgB,CAAC,OAAO,EACpC,gBAAgB,EAAE,OAAO,CAAC,kBAAkB,EAAE,IAC9C;AACJ,CAAC,CAAC","sourcesContent":["import {\n BaseEvent,\n TrackEvent,\n IdentifyEvent,\n GroupIdentifyEvent,\n SpecialEventType,\n Identify as IIdentify,\n Revenue,\n RevenueEvent,\n EventOptions,\n} from '@amplitude/analytics-types';\nimport { Identify } from '../identify';\n\nexport const createTrackEvent = (\n eventInput: BaseEvent | string,\n eventProperties?: Record<string, any>,\n eventOptions?: EventOptions,\n): TrackEvent => {\n const baseEvent: BaseEvent = typeof eventInput === 'string' ? { event_type: eventInput } : eventInput;\n return {\n ...baseEvent,\n ...eventOptions,\n ...(eventProperties && { event_properties: eventProperties }),\n };\n};\n\nexport const createIdentifyEvent = (identify: IIdentify, eventOptions?: EventOptions): IdentifyEvent => {\n const identifyEvent: IdentifyEvent = {\n ...eventOptions,\n event_type: SpecialEventType.IDENTIFY,\n user_properties: identify.getUserProperties(),\n };\n\n return identifyEvent;\n};\n\nexport const createGroupIdentifyEvent = (\n groupType: string,\n groupName: string | string[],\n identify: IIdentify,\n eventOptions?: EventOptions,\n): GroupIdentifyEvent => {\n const groupIdentify: GroupIdentifyEvent = {\n ...eventOptions,\n event_type: SpecialEventType.GROUP_IDENTIFY,\n group_properties: identify.getUserProperties(),\n groups: {\n [groupType]: groupName,\n },\n };\n\n return groupIdentify;\n};\n\nexport const createGroupEvent = (groupType: string, groupName: string | string[]) => {\n const identify = new Identify();\n identify.set(groupType, groupName);\n\n const groupEvent: IdentifyEvent = {\n event_type: SpecialEventType.IDENTIFY,\n user_properties: identify.getUserProperties(),\n groups: {\n [groupType]: groupName,\n },\n };\n return groupEvent;\n};\n\nexport const createRevenueEvent = (revenue: Revenue, eventOptions?: EventOptions): RevenueEvent => {\n return {\n ...eventOptions,\n event_type: SpecialEventType.REVENUE,\n event_properties: revenue.getEventProperties(),\n };\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amplitude/analytics-core",
3
- "version": "0.4.0",
3
+ "version": "0.6.0",
4
4
  "description": "",
5
5
  "author": "Amplitude Inc",
6
6
  "homepage": "https://github.com/amplitude/Amplitude-TypeScript",
@@ -32,11 +32,11 @@
32
32
  "url": "https://github.com/amplitude/Amplitude-TypeScript/issues"
33
33
  },
34
34
  "dependencies": {
35
- "@amplitude/analytics-types": "^0.3.0",
35
+ "@amplitude/analytics-types": "^0.5.0",
36
36
  "tslib": "^2.3.1"
37
37
  },
38
38
  "files": [
39
39
  "lib"
40
40
  ],
41
- "gitHead": "b76a2494587c6a27e2007047c1602269ed2b3403"
41
+ "gitHead": "84a7c2295d7a3720fe3b77c57e8f779c4879e57f"
42
42
  }