@amplitude/analytics-core 0.2.3 → 0.3.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.
Files changed (94) hide show
  1. package/LICENSE +21 -0
  2. package/lib/cjs/config.d.ts +13 -10
  3. package/lib/cjs/config.d.ts.map +1 -1
  4. package/lib/cjs/config.js +39 -52
  5. package/lib/cjs/config.js.map +1 -1
  6. package/lib/cjs/core-client.d.ts +17 -12
  7. package/lib/cjs/core-client.d.ts.map +1 -1
  8. package/lib/cjs/core-client.js +83 -84
  9. package/lib/cjs/core-client.js.map +1 -1
  10. package/lib/cjs/index.d.ts +3 -3
  11. package/lib/cjs/index.d.ts.map +1 -1
  12. package/lib/cjs/index.js +8 -17
  13. package/lib/cjs/index.js.map +1 -1
  14. package/lib/cjs/messages.d.ts +1 -1
  15. package/lib/cjs/messages.d.ts.map +1 -1
  16. package/lib/cjs/messages.js +1 -1
  17. package/lib/cjs/messages.js.map +1 -1
  18. package/lib/cjs/plugins/destination.d.ts.map +1 -1
  19. package/lib/cjs/plugins/destination.js +9 -5
  20. package/lib/cjs/plugins/destination.js.map +1 -1
  21. package/lib/cjs/transports/base.d.ts +7 -0
  22. package/lib/cjs/transports/base.d.ts.map +1 -0
  23. package/lib/cjs/transports/base.js +103 -0
  24. package/lib/cjs/transports/base.js.map +1 -0
  25. package/lib/cjs/transports/http.d.ts +2 -1
  26. package/lib/cjs/transports/http.d.ts.map +1 -1
  27. package/lib/cjs/transports/http.js +9 -5
  28. package/lib/cjs/transports/http.js.map +1 -1
  29. package/lib/cjs/utils/event-builder.d.ts +2 -2
  30. package/lib/cjs/utils/event-builder.d.ts.map +1 -1
  31. package/lib/cjs/utils/event-builder.js +3 -2
  32. package/lib/cjs/utils/event-builder.js.map +1 -1
  33. package/lib/cjs/utils/return-wrapper.d.ts +3 -0
  34. package/lib/cjs/utils/return-wrapper.d.ts.map +1 -0
  35. package/lib/cjs/utils/return-wrapper.js +16 -0
  36. package/lib/cjs/utils/return-wrapper.js.map +1 -0
  37. package/lib/cjs/utils/valid-properties.d.ts.map +1 -1
  38. package/lib/cjs/utils/valid-properties.js +5 -1
  39. package/lib/cjs/utils/valid-properties.js.map +1 -1
  40. package/lib/esm/config.d.ts +13 -10
  41. package/lib/esm/config.d.ts.map +1 -1
  42. package/lib/esm/config.js +30 -42
  43. package/lib/esm/config.js.map +1 -1
  44. package/lib/esm/core-client.d.ts +17 -12
  45. package/lib/esm/core-client.d.ts.map +1 -1
  46. package/lib/esm/core-client.js +82 -72
  47. package/lib/esm/core-client.js.map +1 -1
  48. package/lib/esm/index.d.ts +3 -3
  49. package/lib/esm/index.d.ts.map +1 -1
  50. package/lib/esm/index.js +3 -3
  51. package/lib/esm/index.js.map +1 -1
  52. package/lib/esm/messages.d.ts +1 -1
  53. package/lib/esm/messages.d.ts.map +1 -1
  54. package/lib/esm/messages.js +1 -1
  55. package/lib/esm/messages.js.map +1 -1
  56. package/lib/esm/plugins/destination.d.ts.map +1 -1
  57. package/lib/esm/plugins/destination.js +10 -6
  58. package/lib/esm/plugins/destination.js.map +1 -1
  59. package/lib/esm/transports/base.d.ts +7 -0
  60. package/lib/esm/transports/base.d.ts.map +1 -0
  61. package/lib/esm/transports/base.js +101 -0
  62. package/lib/esm/transports/base.js.map +1 -0
  63. package/lib/esm/transports/http.d.ts +2 -1
  64. package/lib/esm/transports/http.d.ts.map +1 -1
  65. package/lib/esm/transports/http.js +9 -5
  66. package/lib/esm/transports/http.js.map +1 -1
  67. package/lib/esm/utils/event-builder.d.ts +2 -2
  68. package/lib/esm/utils/event-builder.d.ts.map +1 -1
  69. package/lib/esm/utils/event-builder.js +3 -2
  70. package/lib/esm/utils/event-builder.js.map +1 -1
  71. package/lib/esm/utils/return-wrapper.d.ts +3 -0
  72. package/lib/esm/utils/return-wrapper.d.ts.map +1 -0
  73. package/lib/esm/utils/return-wrapper.js +13 -0
  74. package/lib/esm/utils/return-wrapper.js.map +1 -0
  75. package/lib/esm/utils/valid-properties.d.ts.map +1 -1
  76. package/lib/esm/utils/valid-properties.js +5 -1
  77. package/lib/esm/utils/valid-properties.js.map +1 -1
  78. package/package.json +3 -3
  79. package/lib/cjs/utils/response-builder.d.ts +0 -3
  80. package/lib/cjs/utils/response-builder.d.ts.map +0 -1
  81. package/lib/cjs/utils/response-builder.js +0 -74
  82. package/lib/cjs/utils/response-builder.js.map +0 -1
  83. package/lib/cjs/utils/status-builder.d.ts +0 -3
  84. package/lib/cjs/utils/status-builder.d.ts.map +0 -1
  85. package/lib/cjs/utils/status-builder.js +0 -26
  86. package/lib/cjs/utils/status-builder.js.map +0 -1
  87. package/lib/esm/utils/response-builder.d.ts +0 -3
  88. package/lib/esm/utils/response-builder.d.ts.map +0 -1
  89. package/lib/esm/utils/response-builder.js +0 -71
  90. package/lib/esm/utils/response-builder.js.map +0 -1
  91. package/lib/esm/utils/status-builder.d.ts +0 -3
  92. package/lib/esm/utils/status-builder.d.ts.map +0 -1
  93. package/lib/esm/utils/status-builder.js +0 -23
  94. package/lib/esm/utils/status-builder.js.map +0 -1
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022 Amplitude Analytics
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1,10 +1,6 @@
1
1
  import { Event, Config as IConfig, Logger as ILogger, InitOptions, LogLevel, Storage, Transport, Plugin, ServerZone } from '@amplitude/analytics-types';
2
2
  import { Logger } from './logger';
3
- export declare const serverUrls: {
4
- US: (useBatch: boolean) => "https://api2.amplitude.com/2/httpapi" | "https://api2.amplitude.com/batch";
5
- EU: (useBatch: boolean) => "https://api.eu.amplitude.com/2/httpapi" | "https://api.eu.amplitude.com/batch";
6
- };
7
- export declare const defaultConfig: {
3
+ export declare const getDefaultConfig: () => {
8
4
  flushMaxRetries: number;
9
5
  flushQueueSize: number;
10
6
  flushIntervalMillis: number;
@@ -12,12 +8,14 @@ export declare const defaultConfig: {
12
8
  loggerProvider: Logger;
13
9
  saveEvents: boolean;
14
10
  optOut: boolean;
11
+ plugins: never[];
15
12
  serverUrl: string;
16
13
  serverZone: ServerZone;
17
14
  useBatch: boolean;
18
15
  };
19
16
  export declare class Config implements IConfig {
20
17
  apiKey: string;
18
+ appVersion?: string;
21
19
  userId?: string;
22
20
  deviceId?: string;
23
21
  sessionId?: number;
@@ -26,19 +24,24 @@ export declare class Config implements IConfig {
26
24
  flushQueueSize: number;
27
25
  loggerProvider: ILogger;
28
26
  logLevel: LogLevel;
27
+ minIdLength?: number;
29
28
  partnerId?: string;
30
29
  plugins: Plugin[];
31
30
  optOut: boolean;
32
31
  saveEvents: boolean;
33
32
  serverUrl: string | undefined;
34
- serverZone: ServerZone;
33
+ serverZone?: ServerZone;
35
34
  transportProvider: Transport;
36
35
  storageProvider: Storage<Event[]>;
37
36
  useBatch: boolean;
38
37
  constructor(options: InitOptions<IConfig>);
39
38
  }
40
- export declare const createConfig: (config: IConfig) => IConfig;
41
- export declare const getConfig: () => IConfig;
42
- export declare const resetInstances: () => void;
43
- export declare const getApiHost: (config: IConfig) => string;
39
+ export declare const getServerUrl: (serverZone: ServerZone, useBatch: boolean) => "https://api2.amplitude.com/2/httpapi" | "https://api.eu.amplitude.com/2/httpapi" | "https://api2.amplitude.com/batch" | "https://api.eu.amplitude.com/batch";
40
+ export declare const createServerConfig: (serverUrl?: string, serverZone?: ServerZone, useBatch?: boolean) => {
41
+ serverUrl: string;
42
+ serverZone: undefined;
43
+ } | {
44
+ serverZone: ServerZone;
45
+ serverUrl: string;
46
+ };
44
47
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,MAAM,IAAI,OAAO,EACjB,MAAM,IAAI,OAAO,EACjB,WAAW,EACX,QAAQ,EACR,OAAO,EACP,SAAS,EACT,MAAM,EACN,UAAU,EACX,MAAM,4BAA4B,CAAC;AAQpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAKlC,eAAO,MAAM,UAAU;mBACO,OAAO;mBACP,OAAO;CACpC,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;CAWzB,CAAC;AAEF,qBAAa,MAAO,YAAW,OAAO;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,UAAU,EAAE,UAAU,CAAC;IACvB,iBAAiB,EAAE,SAAS,CAAC;IAC7B,eAAe,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAClC,QAAQ,EAAE,OAAO,CAAC;gBAEN,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;CAwB1C;AAED,eAAO,MAAM,YAAY,WAAY,OAAO,YAO3C,CAAC;AAEF,eAAO,MAAM,SAAS,eAErB,CAAC;AAEF,eAAO,MAAM,cAAc,YAI1B,CAAC;AAEF,eAAO,MAAM,UAAU,WAAY,OAAO,WAEzC,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,MAAM,IAAI,OAAO,EACjB,MAAM,IAAI,OAAO,EACjB,WAAW,EACX,QAAQ,EACR,OAAO,EACP,SAAS,EACT,MAAM,EACN,UAAU,EACX,MAAM,4BAA4B,CAAC;AAQpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;CAY3B,CAAC;AAEH,qBAAa,MAAO,YAAW,OAAO;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,iBAAiB,EAAE,SAAS,CAAC;IAC7B,eAAe,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAClC,QAAQ,EAAE,OAAO,CAAC;gBAEN,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;CA4B1C;AAED,eAAO,MAAM,YAAY,eAAgB,UAAU,YAAY,OAAO,kKAKrE,CAAC;AAEF,eAAO,MAAM,kBAAkB,oCAEjB,UAAU,aACZ,OAAO;;;;;;CAUlB,CAAC"}
package/lib/cjs/config.js CHANGED
@@ -1,16 +1,9 @@
1
- var _a;
2
1
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getApiHost = exports.resetInstances = exports.getConfig = exports.createConfig = exports.Config = exports.defaultConfig = exports.serverUrls = void 0;
2
+ exports.createServerConfig = exports.getServerUrl = exports.Config = exports.getDefaultConfig = void 0;
4
3
  var analytics_types_1 = require("@amplitude/analytics-types");
5
4
  var constants_1 = require("./constants");
6
5
  var logger_1 = require("./logger");
7
- var DEFAULT_INSTANCE = 'default';
8
- var instances = {};
9
- exports.serverUrls = (_a = {},
10
- _a[analytics_types_1.ServerZone.US] = function (useBatch) { return (useBatch ? constants_1.AMPLITUDE_BATCH_SERVER_URL : constants_1.AMPLITUDE_SERVER_URL); },
11
- _a[analytics_types_1.ServerZone.EU] = function (useBatch) { return (useBatch ? constants_1.EU_AMPLITUDE_BATCH_SERVER_URL : constants_1.EU_AMPLITUDE_SERVER_URL); },
12
- _a);
13
- exports.defaultConfig = {
6
+ var getDefaultConfig = function () { return ({
14
7
  flushMaxRetries: 5,
15
8
  flushQueueSize: 10,
16
9
  flushIntervalMillis: 1000,
@@ -18,69 +11,63 @@ exports.defaultConfig = {
18
11
  loggerProvider: new logger_1.Logger(),
19
12
  saveEvents: true,
20
13
  optOut: false,
14
+ plugins: [],
21
15
  serverUrl: constants_1.AMPLITUDE_SERVER_URL,
22
16
  serverZone: analytics_types_1.ServerZone.US,
23
17
  useBatch: false,
24
- };
18
+ }); };
19
+ exports.getDefaultConfig = getDefaultConfig;
25
20
  var Config = /** @class */ (function () {
26
21
  function Config(options) {
27
- var _a, _b, _c;
22
+ var _a, _b, _c, _d;
23
+ var defaultConfig = (0, exports.getDefaultConfig)();
28
24
  this.apiKey = options.apiKey;
25
+ this.appVersion = options.appVersion;
29
26
  this.userId = options.userId;
30
27
  this.deviceId = options.deviceId;
31
28
  this.sessionId = options.sessionId;
32
- this.flushIntervalMillis = options.flushIntervalMillis || exports.defaultConfig.flushIntervalMillis;
33
- this.flushMaxRetries = options.flushMaxRetries || exports.defaultConfig.flushMaxRetries;
34
- this.flushQueueSize = options.flushQueueSize || exports.defaultConfig.flushQueueSize;
35
- this.loggerProvider = options.loggerProvider || exports.defaultConfig.loggerProvider;
36
- this.logLevel = options.logLevel || exports.defaultConfig.logLevel;
29
+ this.flushIntervalMillis = options.flushIntervalMillis || defaultConfig.flushIntervalMillis;
30
+ this.flushMaxRetries = options.flushMaxRetries || defaultConfig.flushMaxRetries;
31
+ this.flushQueueSize = options.flushQueueSize || defaultConfig.flushQueueSize;
32
+ this.loggerProvider = options.loggerProvider || defaultConfig.loggerProvider;
33
+ this.logLevel = (_a = options.logLevel) !== null && _a !== void 0 ? _a : defaultConfig.logLevel;
34
+ this.minIdLength = options.minIdLength;
37
35
  this.partnerId = options.partnerId;
38
- this.plugins = [];
39
- this.optOut = (_a = options.optOut) !== null && _a !== void 0 ? _a : exports.defaultConfig.optOut;
40
- this.saveEvents = (_b = options.saveEvents) !== null && _b !== void 0 ? _b : exports.defaultConfig.saveEvents;
36
+ this.plugins = defaultConfig.plugins;
37
+ this.optOut = (_b = options.optOut) !== null && _b !== void 0 ? _b : defaultConfig.optOut;
38
+ this.saveEvents = (_c = options.saveEvents) !== null && _c !== void 0 ? _c : defaultConfig.saveEvents;
41
39
  this.serverUrl = options.serverUrl;
42
- this.serverZone = options.serverZone || exports.defaultConfig.serverZone;
40
+ this.serverZone = options.serverZone || defaultConfig.serverZone;
43
41
  this.storageProvider = options.storageProvider;
44
42
  this.transportProvider = options.transportProvider;
45
- this.useBatch = (_c = options.useBatch) !== null && _c !== void 0 ? _c : exports.defaultConfig.useBatch;
43
+ this.useBatch = (_d = options.useBatch) !== null && _d !== void 0 ? _d : defaultConfig.useBatch;
46
44
  this.loggerProvider.enable(this.logLevel);
47
- configApiHost(this);
45
+ var serverConfig = (0, exports.createServerConfig)(options.serverUrl, options.serverZone, options.useBatch);
46
+ this.serverZone = serverConfig.serverZone;
47
+ this.serverUrl = serverConfig.serverUrl;
48
48
  }
49
49
  return Config;
50
50
  }());
51
51
  exports.Config = Config;
52
- var createConfig = function (config) {
53
- // If config for an instance already exists, perform Object.assign() to reuse reference
54
- // to config object. This is useful when config object reference is used in plugins
55
- instances[DEFAULT_INSTANCE] = instances[DEFAULT_INSTANCE]
56
- ? Object.assign(instances[DEFAULT_INSTANCE], config)
57
- : config;
58
- return instances[DEFAULT_INSTANCE];
59
- };
60
- exports.createConfig = createConfig;
61
- var getConfig = function () {
62
- return instances[DEFAULT_INSTANCE];
63
- };
64
- exports.getConfig = getConfig;
65
- var resetInstances = function () {
66
- for (var name in instances) {
67
- delete instances[name];
52
+ var getServerUrl = function (serverZone, useBatch) {
53
+ if (serverZone === analytics_types_1.ServerZone.EU) {
54
+ return useBatch ? constants_1.EU_AMPLITUDE_BATCH_SERVER_URL : constants_1.EU_AMPLITUDE_SERVER_URL;
68
55
  }
56
+ return useBatch ? constants_1.AMPLITUDE_BATCH_SERVER_URL : constants_1.AMPLITUDE_SERVER_URL;
69
57
  };
70
- exports.resetInstances = resetInstances;
71
- var getApiHost = function (config) {
72
- return configApiHost(config);
73
- };
74
- exports.getApiHost = getApiHost;
75
- var configApiHost = function (config) {
76
- if (!config.serverUrl) {
77
- // Log a warning if server zone is neither US nor EU
78
- if (![analytics_types_1.ServerZone.US, analytics_types_1.ServerZone.EU].includes(config.serverZone)) {
79
- config.loggerProvider.warn("Unknown server zone \"".concat(config.serverZone, "\". Replaced with US server zone"));
80
- config.serverZone = analytics_types_1.ServerZone.US;
81
- }
82
- config.serverUrl = exports.serverUrls[config.serverZone](config.useBatch);
58
+ exports.getServerUrl = getServerUrl;
59
+ var createServerConfig = function (serverUrl, serverZone, useBatch) {
60
+ if (serverUrl === void 0) { serverUrl = ''; }
61
+ if (serverZone === void 0) { serverZone = (0, exports.getDefaultConfig)().serverZone; }
62
+ if (useBatch === void 0) { useBatch = (0, exports.getDefaultConfig)().useBatch; }
63
+ if (serverUrl) {
64
+ return { serverUrl: serverUrl, serverZone: undefined };
83
65
  }
84
- return config.serverUrl;
66
+ var _serverZone = [analytics_types_1.ServerZone.US, analytics_types_1.ServerZone.EU].includes(serverZone) ? serverZone : (0, exports.getDefaultConfig)().serverZone;
67
+ return {
68
+ serverZone: _serverZone,
69
+ serverUrl: (0, exports.getServerUrl)(_serverZone, useBatch),
70
+ };
85
71
  };
72
+ exports.createServerConfig = createServerConfig;
86
73
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Event,\n Config as IConfig,\n Logger as ILogger,\n InitOptions,\n LogLevel,\n Storage,\n Transport,\n Plugin,\n ServerZone,\n} from '@amplitude/analytics-types';\nimport {\n AMPLITUDE_SERVER_URL,\n AMPLITUDE_BATCH_SERVER_URL,\n EU_AMPLITUDE_SERVER_URL,\n EU_AMPLITUDE_BATCH_SERVER_URL,\n} from './constants';\n\nimport { Logger } from './logger';\n\nconst DEFAULT_INSTANCE = 'default';\nconst instances: Record<string, IConfig> = {};\n\nexport const serverUrls = {\n [ServerZone.US]: (useBatch: boolean) => (useBatch ? AMPLITUDE_BATCH_SERVER_URL : AMPLITUDE_SERVER_URL),\n [ServerZone.EU]: (useBatch: boolean) => (useBatch ? EU_AMPLITUDE_BATCH_SERVER_URL : EU_AMPLITUDE_SERVER_URL),\n};\n\nexport const defaultConfig = {\n flushMaxRetries: 5,\n flushQueueSize: 10,\n flushIntervalMillis: 1000,\n logLevel: LogLevel.Warn,\n loggerProvider: new Logger(),\n saveEvents: true,\n optOut: false,\n serverUrl: AMPLITUDE_SERVER_URL,\n serverZone: ServerZone.US,\n useBatch: false,\n};\n\nexport class Config implements IConfig {\n apiKey: string;\n userId?: string;\n deviceId?: string;\n sessionId?: number;\n flushIntervalMillis: number;\n flushMaxRetries: number;\n flushQueueSize: number;\n loggerProvider: ILogger;\n logLevel: LogLevel;\n partnerId?: string;\n plugins: Plugin[];\n optOut: boolean;\n saveEvents: boolean;\n serverUrl: string | undefined;\n serverZone: ServerZone;\n transportProvider: Transport;\n storageProvider: Storage<Event[]>;\n useBatch: boolean;\n\n constructor(options: InitOptions<IConfig>) {\n this.apiKey = options.apiKey;\n this.userId = options.userId;\n this.deviceId = options.deviceId;\n this.sessionId = options.sessionId;\n this.flushIntervalMillis = options.flushIntervalMillis || defaultConfig.flushIntervalMillis;\n this.flushMaxRetries = options.flushMaxRetries || defaultConfig.flushMaxRetries;\n this.flushQueueSize = options.flushQueueSize || defaultConfig.flushQueueSize;\n this.loggerProvider = options.loggerProvider || defaultConfig.loggerProvider;\n this.logLevel = options.logLevel || defaultConfig.logLevel;\n this.partnerId = options.partnerId;\n this.plugins = [];\n this.optOut = options.optOut ?? defaultConfig.optOut;\n this.saveEvents = options.saveEvents ?? defaultConfig.saveEvents;\n this.serverUrl = options.serverUrl;\n this.serverZone = options.serverZone || defaultConfig.serverZone;\n this.storageProvider = options.storageProvider;\n this.transportProvider = options.transportProvider;\n this.useBatch = options.useBatch ?? defaultConfig.useBatch;\n\n this.loggerProvider.enable(this.logLevel);\n\n configApiHost(this);\n }\n}\n\nexport const createConfig = (config: IConfig) => {\n // If config for an instance already exists, perform Object.assign() to reuse reference\n // to config object. This is useful when config object reference is used in plugins\n instances[DEFAULT_INSTANCE] = instances[DEFAULT_INSTANCE]\n ? Object.assign(instances[DEFAULT_INSTANCE], config)\n : config;\n return instances[DEFAULT_INSTANCE];\n};\n\nexport const getConfig = () => {\n return instances[DEFAULT_INSTANCE];\n};\n\nexport const resetInstances = () => {\n for (const name in instances) {\n delete instances[name];\n }\n};\n\nexport const getApiHost = (config: IConfig) => {\n return configApiHost(config);\n};\n\nconst configApiHost = (config: IConfig) => {\n if (!config.serverUrl) {\n // Log a warning if server zone is neither US nor EU\n if (![ServerZone.US, ServerZone.EU].includes(config.serverZone)) {\n config.loggerProvider.warn(`Unknown server zone \"${config.serverZone}\". Replaced with US server zone`);\n config.serverZone = ServerZone.US;\n }\n config.serverUrl = serverUrls[config.serverZone](config.useBatch);\n }\n return config.serverUrl;\n};\n"]}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Event,\n Config as IConfig,\n Logger as ILogger,\n InitOptions,\n LogLevel,\n Storage,\n Transport,\n Plugin,\n ServerZone,\n} from '@amplitude/analytics-types';\nimport {\n AMPLITUDE_SERVER_URL,\n AMPLITUDE_BATCH_SERVER_URL,\n EU_AMPLITUDE_SERVER_URL,\n EU_AMPLITUDE_BATCH_SERVER_URL,\n} from './constants';\n\nimport { Logger } from './logger';\n\nexport const getDefaultConfig = () => ({\n flushMaxRetries: 5,\n flushQueueSize: 10,\n flushIntervalMillis: 1000,\n logLevel: LogLevel.Warn,\n loggerProvider: new Logger(),\n saveEvents: true,\n optOut: false,\n plugins: [],\n serverUrl: AMPLITUDE_SERVER_URL,\n serverZone: ServerZone.US,\n useBatch: false,\n});\n\nexport class Config implements IConfig {\n apiKey: string;\n appVersion?: string;\n userId?: string;\n deviceId?: string;\n sessionId?: number;\n flushIntervalMillis: number;\n flushMaxRetries: number;\n flushQueueSize: number;\n loggerProvider: ILogger;\n logLevel: LogLevel;\n minIdLength?: number;\n partnerId?: string;\n plugins: Plugin[];\n optOut: boolean;\n saveEvents: boolean;\n serverUrl: string | undefined;\n serverZone?: ServerZone;\n transportProvider: Transport;\n storageProvider: Storage<Event[]>;\n useBatch: boolean;\n\n constructor(options: InitOptions<IConfig>) {\n const defaultConfig = getDefaultConfig();\n this.apiKey = options.apiKey;\n this.appVersion = options.appVersion;\n this.userId = options.userId;\n this.deviceId = options.deviceId;\n this.sessionId = options.sessionId;\n this.flushIntervalMillis = options.flushIntervalMillis || defaultConfig.flushIntervalMillis;\n this.flushMaxRetries = options.flushMaxRetries || defaultConfig.flushMaxRetries;\n this.flushQueueSize = options.flushQueueSize || defaultConfig.flushQueueSize;\n this.loggerProvider = options.loggerProvider || defaultConfig.loggerProvider;\n this.logLevel = options.logLevel ?? defaultConfig.logLevel;\n this.minIdLength = options.minIdLength;\n this.partnerId = options.partnerId;\n this.plugins = defaultConfig.plugins;\n this.optOut = options.optOut ?? defaultConfig.optOut;\n this.saveEvents = options.saveEvents ?? defaultConfig.saveEvents;\n this.serverUrl = options.serverUrl;\n this.serverZone = options.serverZone || defaultConfig.serverZone;\n this.storageProvider = options.storageProvider;\n this.transportProvider = options.transportProvider;\n this.useBatch = options.useBatch ?? defaultConfig.useBatch;\n this.loggerProvider.enable(this.logLevel);\n\n const serverConfig = createServerConfig(options.serverUrl, options.serverZone, options.useBatch);\n this.serverZone = serverConfig.serverZone;\n this.serverUrl = serverConfig.serverUrl;\n }\n}\n\nexport const getServerUrl = (serverZone: ServerZone, useBatch: boolean) => {\n if (serverZone === ServerZone.EU) {\n return useBatch ? EU_AMPLITUDE_BATCH_SERVER_URL : EU_AMPLITUDE_SERVER_URL;\n }\n return useBatch ? AMPLITUDE_BATCH_SERVER_URL : AMPLITUDE_SERVER_URL;\n};\n\nexport const createServerConfig = (\n serverUrl = '',\n serverZone: ServerZone = getDefaultConfig().serverZone,\n useBatch: boolean = getDefaultConfig().useBatch,\n) => {\n if (serverUrl) {\n return { serverUrl, serverZone: undefined };\n }\n const _serverZone = [ServerZone.US, ServerZone.EU].includes(serverZone) ? serverZone : getDefaultConfig().serverZone;\n return {\n serverZone: _serverZone,\n serverUrl: getServerUrl(_serverZone, useBatch),\n };\n};\n"]}
@@ -1,13 +1,18 @@
1
- import { Config, Event, EventOptions, Identify, Plugin, Revenue } from '@amplitude/analytics-types';
2
- export declare const init: (config: Config) => Config;
3
- export declare const track: (eventType: string, eventProperties?: Record<string, any> | undefined, eventOptions?: EventOptions | undefined) => Promise<import("@amplitude/analytics-types").Result>;
4
- export declare const logEvent: (eventType: string, eventProperties?: Record<string, any> | undefined, eventOptions?: EventOptions | undefined) => Promise<import("@amplitude/analytics-types").Result>;
5
- export declare const identify: (userId: string | undefined, deviceId: string | undefined, identify: Identify, eventOptions?: EventOptions | undefined) => Promise<import("@amplitude/analytics-types").Result>;
6
- export declare const groupIdentify: (userId: string | undefined, deviceId: string | undefined, groupType: string, groupName: string | string[], identify: Identify, eventOptions?: EventOptions | undefined) => Promise<import("@amplitude/analytics-types").Result>;
7
- export declare const setGroup: (groupType: string, groupName: string | string[]) => Promise<import("@amplitude/analytics-types").Result>;
8
- export declare const revenue: (revenue: Revenue, eventOptions?: EventOptions | undefined) => Promise<import("@amplitude/analytics-types").Result>;
9
- export declare const add: (plugin: Plugin) => Promise<void>;
10
- export declare const remove: (pluginName: string) => Promise<void>;
11
- export declare const dispatch: (event: Event, config: Config) => Promise<import("@amplitude/analytics-types").Result>;
12
- export declare const setOptOut: (optOut: boolean) => void;
1
+ import { Config, Event, BaseEvent, EventOptions, Identify, Plugin, Revenue } from '@amplitude/analytics-types';
2
+ export declare class AmplitudeCore<T extends Config> {
3
+ name: string;
4
+ config: T;
5
+ constructor(name?: string);
6
+ init(_apiKey: string | undefined, _userId: string | undefined, config: T): Promise<void>;
7
+ track(eventInput: BaseEvent | string, eventProperties?: Record<string, any>, eventOptions?: EventOptions): Promise<import("@amplitude/analytics-types").Result>;
8
+ logEvent: (eventInput: BaseEvent | string, eventProperties?: Record<string, any> | undefined, eventOptions?: EventOptions | undefined) => Promise<import("@amplitude/analytics-types").Result>;
9
+ identify(identify: Identify, eventOptions?: EventOptions, userId?: string, deviceId?: string): Promise<import("@amplitude/analytics-types").Result>;
10
+ groupIdentify(groupType: string, groupName: string | string[], identify: Identify, eventOptions?: EventOptions, userId?: string, deviceId?: string): Promise<import("@amplitude/analytics-types").Result>;
11
+ setGroup(groupType: string, groupName: string | string[]): Promise<import("@amplitude/analytics-types").Result>;
12
+ revenue(revenue: Revenue, eventOptions?: EventOptions): Promise<import("@amplitude/analytics-types").Result>;
13
+ add(plugin: Plugin): Promise<void>;
14
+ remove(pluginName: string): Promise<void>;
15
+ dispatch(event: Event): Promise<import("@amplitude/analytics-types").Result>;
16
+ setOptOut(optOut: boolean): void;
17
+ }
13
18
  //# sourceMappingURL=core-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core-client.d.ts","sourceRoot":"","sources":["../../src/core-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAYpG,eAAO,MAAM,IAAI,WAAY,MAAM,WAElC,CAAC;AAEF,eAAO,MAAM,KAAK,cAAe,MAAM,qJAItC,CAAC;AACF,eAAO,MAAM,QAAQ,cALY,MAAM,qJAKV,CAAC;AAE9B,eAAO,MAAM,QAAQ,WACX,MAAM,GAAG,SAAS,YAChB,MAAM,GAAG,SAAS,YAClB,QAAQ,kGAMnB,CAAC;AAEF,eAAO,MAAM,aAAa,WAChB,MAAM,GAAG,SAAS,YAChB,MAAM,GAAG,SAAS,aACjB,MAAM,aACN,MAAM,GAAG,MAAM,EAAE,YAClB,QAAQ,kGAMnB,CAAC;AAEF,eAAO,MAAM,QAAQ,cAAe,MAAM,aAAa,MAAM,GAAG,MAAM,EAAE,yDAIvE,CAAC;AAEF,eAAO,MAAM,OAAO,YAAa,OAAO,kGAIvC,CAAC;AAEF,eAAO,MAAM,GAAG,WAAkB,MAAM,kBAGvC,CAAC;AAEF,eAAO,MAAM,MAAM,eAAsB,MAAM,kBAG9C,CAAC;AAEF,eAAO,MAAM,QAAQ,UAAiB,KAAK,UAAU,MAAM,yDAc1D,CAAC;AAEF,eAAO,MAAM,SAAS,WAAY,OAAO,SAGxC,CAAC"}
1
+ {"version":3,"file":"core-client.d.ts","sourceRoot":"","sources":["../../src/core-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAU/G,qBAAa,aAAa,CAAC,CAAC,SAAS,MAAM;IACzC,IAAI,EAAE,MAAM,CAAC;IAGb,MAAM,EAAE,CAAC,CAAC;gBAEE,IAAI,SAAa;IAK7B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC;IAKxE,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,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAK5F,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAC5B,QAAQ,EAAE,QAAQ,EAClB,YAAY,CAAC,EAAE,YAAY,EAC3B,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM;IAMnB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAKxD,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,YAAY;IAK/C,GAAG,CAAC,MAAM,EAAE,MAAM;IAKlB,MAAM,CAAC,UAAU,EAAE,MAAM;IAKzB,QAAQ,CAAC,KAAK,EAAE,KAAK;IAgB3B,SAAS,CAAC,MAAM,EAAE,OAAO;CAI1B"}
@@ -1,91 +1,90 @@
1
- var _this = this;
2
1
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setOptOut = exports.dispatch = exports.remove = exports.add = exports.revenue = exports.setGroup = exports.groupIdentify = exports.identify = exports.logEvent = exports.track = exports.init = void 0;
2
+ exports.AmplitudeCore = void 0;
4
3
  var tslib_1 = require("tslib");
5
- var config_1 = require("./config");
6
4
  var event_builder_1 = require("./utils/event-builder");
7
5
  var timeline_1 = require("./timeline");
8
6
  var result_builder_1 = require("./utils/result-builder");
9
- var init = function (config) {
10
- return (0, config_1.createConfig)(config);
11
- };
12
- exports.init = init;
13
- var track = function (eventType, eventProperties, eventOptions) {
14
- var config = (0, config_1.getConfig)();
15
- var event = (0, event_builder_1.createTrackEvent)(eventType, eventProperties, eventOptions);
16
- return (0, exports.dispatch)(event, config);
17
- };
18
- exports.track = track;
19
- exports.logEvent = exports.track;
20
- var identify = function (userId, deviceId, identify, eventOptions) {
21
- var config = (0, config_1.getConfig)();
22
- var event = (0, event_builder_1.createIdentifyEvent)(userId, deviceId, identify, eventOptions);
23
- return (0, exports.dispatch)(event, config);
24
- };
25
- exports.identify = identify;
26
- var groupIdentify = function (userId, deviceId, groupType, groupName, identify, eventOptions) {
27
- var config = (0, config_1.getConfig)();
28
- var event = (0, event_builder_1.createGroupIdentifyEvent)(userId, deviceId, groupType, groupName, identify, eventOptions);
29
- return (0, exports.dispatch)(event, config);
30
- };
31
- exports.groupIdentify = groupIdentify;
32
- var setGroup = function (groupType, groupName) {
33
- var config = (0, config_1.getConfig)();
34
- var event = (0, event_builder_1.createGroupEvent)(groupType, groupName);
35
- return (0, exports.dispatch)(event, config);
36
- };
37
- exports.setGroup = setGroup;
38
- var revenue = function (revenue, eventOptions) {
39
- var config = (0, config_1.getConfig)();
40
- var event = (0, event_builder_1.createRevenueEvent)(revenue, eventOptions);
41
- return (0, exports.dispatch)(event, config);
42
- };
43
- exports.revenue = revenue;
44
- var add = function (plugin) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
45
- var config;
46
- return (0, tslib_1.__generator)(this, function (_a) {
47
- config = (0, config_1.getConfig)();
48
- return [2 /*return*/, (0, timeline_1.register)(plugin, config)];
49
- });
50
- }); };
51
- exports.add = add;
52
- var remove = function (pluginName) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
53
- var config;
54
- return (0, tslib_1.__generator)(this, function (_a) {
55
- config = (0, config_1.getConfig)();
56
- return [2 /*return*/, (0, timeline_1.deregister)(pluginName, config)];
57
- });
58
- }); };
59
- exports.remove = remove;
60
- var dispatch = function (event, config) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
61
- var result, e_1, message;
62
- return (0, tslib_1.__generator)(this, function (_a) {
63
- switch (_a.label) {
64
- case 0:
65
- _a.trys.push([0, 2, , 3]);
66
- return [4 /*yield*/, (0, timeline_1.push)(event, config)];
67
- case 1:
68
- result = _a.sent();
69
- if (result.code === 200) {
70
- config.loggerProvider.log(result.message);
7
+ var AmplitudeCore = /** @class */ (function () {
8
+ function AmplitudeCore(name) {
9
+ if (name === void 0) { name = '$default'; }
10
+ this.logEvent = this.track.bind(this);
11
+ this.name = name;
12
+ }
13
+ // NOTE: Do not use `_apiKey` and `_userId` here
14
+ AmplitudeCore.prototype.init = function (_apiKey, _userId, config) {
15
+ this.config = config;
16
+ return Promise.resolve();
17
+ };
18
+ AmplitudeCore.prototype.track = function (eventInput, eventProperties, eventOptions) {
19
+ var event = (0, event_builder_1.createTrackEvent)(eventInput, eventProperties, eventOptions);
20
+ return this.dispatch(event);
21
+ };
22
+ AmplitudeCore.prototype.identify = function (identify, eventOptions, userId, deviceId) {
23
+ var event = (0, event_builder_1.createIdentifyEvent)(userId, deviceId, identify, eventOptions);
24
+ return this.dispatch(event);
25
+ };
26
+ AmplitudeCore.prototype.groupIdentify = function (groupType, groupName, identify, eventOptions, userId, deviceId) {
27
+ var event = (0, event_builder_1.createGroupIdentifyEvent)(userId, deviceId, groupType, groupName, identify, eventOptions);
28
+ return this.dispatch(event);
29
+ };
30
+ AmplitudeCore.prototype.setGroup = function (groupType, groupName) {
31
+ var event = (0, event_builder_1.createGroupEvent)(groupType, groupName);
32
+ return this.dispatch(event);
33
+ };
34
+ AmplitudeCore.prototype.revenue = function (revenue, eventOptions) {
35
+ var event = (0, event_builder_1.createRevenueEvent)(revenue, eventOptions);
36
+ return this.dispatch(event);
37
+ };
38
+ AmplitudeCore.prototype.add = function (plugin) {
39
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
40
+ var config;
41
+ return (0, tslib_1.__generator)(this, function (_a) {
42
+ config = this.config;
43
+ return [2 /*return*/, (0, timeline_1.register)(plugin, config)];
44
+ });
45
+ });
46
+ };
47
+ AmplitudeCore.prototype.remove = function (pluginName) {
48
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
49
+ var config;
50
+ return (0, tslib_1.__generator)(this, function (_a) {
51
+ config = this.config;
52
+ return [2 /*return*/, (0, timeline_1.deregister)(pluginName, config)];
53
+ });
54
+ });
55
+ };
56
+ AmplitudeCore.prototype.dispatch = function (event) {
57
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
58
+ var result, e_1, message;
59
+ return (0, tslib_1.__generator)(this, function (_a) {
60
+ switch (_a.label) {
61
+ case 0:
62
+ _a.trys.push([0, 2, , 3]);
63
+ return [4 /*yield*/, (0, timeline_1.push)(event, this.config)];
64
+ case 1:
65
+ result = _a.sent();
66
+ if (result.code === 200) {
67
+ this.config.loggerProvider.log(result.message);
68
+ }
69
+ else {
70
+ this.config.loggerProvider.error(result.message);
71
+ }
72
+ return [2 /*return*/, result];
73
+ case 2:
74
+ e_1 = _a.sent();
75
+ message = String(e_1);
76
+ this.config.loggerProvider.error(message);
77
+ return [2 /*return*/, (0, result_builder_1.buildResult)(event, 0, message)];
78
+ case 3: return [2 /*return*/];
71
79
  }
72
- else {
73
- config.loggerProvider.error(result.message);
74
- }
75
- return [2 /*return*/, result];
76
- case 2:
77
- e_1 = _a.sent();
78
- message = String(e_1);
79
- config.loggerProvider.error(message);
80
- return [2 /*return*/, (0, result_builder_1.buildResult)(event, 0, message)];
81
- case 3: return [2 /*return*/];
82
- }
83
- });
84
- }); };
85
- exports.dispatch = dispatch;
86
- var setOptOut = function (optOut) {
87
- var config = (0, config_1.getConfig)();
88
- config.optOut = Boolean(optOut);
89
- };
90
- exports.setOptOut = setOptOut;
80
+ });
81
+ });
82
+ };
83
+ AmplitudeCore.prototype.setOptOut = function (optOut) {
84
+ var config = this.config;
85
+ config.optOut = Boolean(optOut);
86
+ };
87
+ return AmplitudeCore;
88
+ }());
89
+ exports.AmplitudeCore = AmplitudeCore;
91
90
  //# sourceMappingURL=core-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"core-client.js","sourceRoot":"","sources":["../../src/core-client.ts"],"names":[],"mappings":"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","sourcesContent":["import { Config, Event, EventOptions, Identify, Plugin, Revenue } from '@amplitude/analytics-types';\nimport { createConfig, getConfig } from './config';\nimport {\n createGroupIdentifyEvent,\n createIdentifyEvent,\n createTrackEvent,\n createRevenueEvent,\n createGroupEvent,\n} from './utils/event-builder';\nimport { deregister, push, register } from './timeline';\nimport { buildResult } from './utils/result-builder';\n\nexport const init = (config: Config) => {\n return createConfig(config);\n};\n\nexport const track = (eventType: string, eventProperties?: Record<string, any>, eventOptions?: EventOptions) => {\n const config = getConfig();\n const event = createTrackEvent(eventType, eventProperties, eventOptions);\n return dispatch(event, config);\n};\nexport const logEvent = track;\n\nexport const identify = (\n userId: string | undefined,\n deviceId: string | undefined,\n identify: Identify,\n eventOptions?: EventOptions,\n) => {\n const config = getConfig();\n const event = createIdentifyEvent(userId, deviceId, identify, eventOptions);\n return dispatch(event, config);\n};\n\nexport const groupIdentify = (\n userId: string | undefined,\n deviceId: string | undefined,\n groupType: string,\n groupName: string | string[],\n identify: Identify,\n eventOptions?: EventOptions,\n) => {\n const config = getConfig();\n const event = createGroupIdentifyEvent(userId, deviceId, groupType, groupName, identify, eventOptions);\n return dispatch(event, config);\n};\n\nexport const setGroup = (groupType: string, groupName: string | string[]) => {\n const config = getConfig();\n const event = createGroupEvent(groupType, groupName);\n return dispatch(event, config);\n};\n\nexport const revenue = (revenue: Revenue, eventOptions?: EventOptions) => {\n const config = getConfig();\n const event = createRevenueEvent(revenue, eventOptions);\n return dispatch(event, config);\n};\n\nexport const add = async (plugin: Plugin) => {\n const config = getConfig();\n return register(plugin, config);\n};\n\nexport const remove = async (pluginName: string) => {\n const config = getConfig();\n return deregister(pluginName, config);\n};\n\nexport const dispatch = async (event: Event, config: Config) => {\n try {\n const result = await push(event, config);\n if (result.code === 200) {\n config.loggerProvider.log(result.message);\n } else {\n config.loggerProvider.error(result.message);\n }\n return result;\n } catch (e) {\n const message = String(e);\n config.loggerProvider.error(message);\n return buildResult(event, 0, message);\n }\n};\n\nexport const setOptOut = (optOut: boolean) => {\n const config = getConfig();\n config.optOut = Boolean(optOut);\n};\n"]}
1
+ {"version":3,"file":"core-client.js","sourceRoot":"","sources":["../../src/core-client.ts"],"names":[],"mappings":"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","sourcesContent":["import { Config, Event, BaseEvent, EventOptions, Identify, Plugin, Revenue } from '@amplitude/analytics-types';\nimport {\n createGroupIdentifyEvent,\n createIdentifyEvent,\n createTrackEvent,\n createRevenueEvent,\n createGroupEvent,\n} from './utils/event-builder';\nimport { deregister, push, register } from './timeline';\nimport { buildResult } from './utils/result-builder';\nexport class AmplitudeCore<T extends Config> {\n name: string;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n config: T;\n\n constructor(name = '$default') {\n this.name = name;\n }\n\n // NOTE: Do not use `_apiKey` and `_userId` here\n init(_apiKey: string | undefined, _userId: string | undefined, config: T) {\n this.config = config;\n return Promise.resolve();\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, userId?: string, deviceId?: string) {\n const event = createIdentifyEvent(userId, deviceId, identify, eventOptions);\n return this.dispatch(event);\n }\n\n groupIdentify(\n groupType: string,\n groupName: string | string[],\n identify: Identify,\n eventOptions?: EventOptions,\n userId?: string,\n deviceId?: string,\n ) {\n const event = createGroupIdentifyEvent(userId, deviceId, groupType, groupName, identify, eventOptions);\n return this.dispatch(event);\n }\n\n setGroup(groupType: string, groupName: string | string[]) {\n const event = createGroupEvent(groupType, groupName);\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 const config = this.config;\n return register(plugin, config);\n }\n\n async remove(pluginName: string) {\n const config = this.config;\n return deregister(pluginName, config);\n }\n\n async dispatch(event: Event) {\n try {\n const result = await push(event, this.config);\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 const config = this.config;\n config.optOut = Boolean(optOut);\n }\n}\n"]}
@@ -1,10 +1,10 @@
1
- export { init, track, logEvent, identify, groupIdentify, setGroup, revenue, add, remove, setOptOut, } from './core-client';
2
- export { getConfig } from './config';
3
- export { buildResponse } from './utils/response-builder';
1
+ export { AmplitudeCore } from './core-client';
4
2
  export { Identify } from './identify';
5
3
  export { Revenue } from './revenue';
6
4
  export { Destination } from './plugins/destination';
7
5
  export { Config } from './config';
8
6
  export { Logger } from './logger';
9
7
  export { AMPLITUDE_PREFIX } from './constants';
8
+ export { returnWrapper } from './utils/return-wrapper';
9
+ export { BaseTransport } from './transports/base';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,OAAO,EACP,GAAG,EACH,MAAM,EACN,SAAS,GACV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
package/lib/cjs/index.js CHANGED
@@ -1,30 +1,21 @@
1
1
  Object.defineProperty(exports, "__esModule", { value: true });
2
- exports.AMPLITUDE_PREFIX = exports.Logger = exports.Config = exports.Destination = exports.Revenue = exports.Identify = exports.buildResponse = exports.getConfig = exports.setOptOut = exports.remove = exports.add = exports.revenue = exports.setGroup = exports.groupIdentify = exports.identify = exports.logEvent = exports.track = exports.init = void 0;
2
+ exports.BaseTransport = exports.returnWrapper = exports.AMPLITUDE_PREFIX = exports.Logger = exports.Config = exports.Destination = exports.Revenue = exports.Identify = exports.AmplitudeCore = void 0;
3
3
  var core_client_1 = require("./core-client");
4
- Object.defineProperty(exports, "init", { enumerable: true, get: function () { return core_client_1.init; } });
5
- Object.defineProperty(exports, "track", { enumerable: true, get: function () { return core_client_1.track; } });
6
- Object.defineProperty(exports, "logEvent", { enumerable: true, get: function () { return core_client_1.logEvent; } });
7
- Object.defineProperty(exports, "identify", { enumerable: true, get: function () { return core_client_1.identify; } });
8
- Object.defineProperty(exports, "groupIdentify", { enumerable: true, get: function () { return core_client_1.groupIdentify; } });
9
- Object.defineProperty(exports, "setGroup", { enumerable: true, get: function () { return core_client_1.setGroup; } });
10
- Object.defineProperty(exports, "revenue", { enumerable: true, get: function () { return core_client_1.revenue; } });
11
- Object.defineProperty(exports, "add", { enumerable: true, get: function () { return core_client_1.add; } });
12
- Object.defineProperty(exports, "remove", { enumerable: true, get: function () { return core_client_1.remove; } });
13
- Object.defineProperty(exports, "setOptOut", { enumerable: true, get: function () { return core_client_1.setOptOut; } });
14
- var config_1 = require("./config");
15
- Object.defineProperty(exports, "getConfig", { enumerable: true, get: function () { return config_1.getConfig; } });
16
- var response_builder_1 = require("./utils/response-builder");
17
- Object.defineProperty(exports, "buildResponse", { enumerable: true, get: function () { return response_builder_1.buildResponse; } });
4
+ Object.defineProperty(exports, "AmplitudeCore", { enumerable: true, get: function () { return core_client_1.AmplitudeCore; } });
18
5
  var identify_1 = require("./identify");
19
6
  Object.defineProperty(exports, "Identify", { enumerable: true, get: function () { return identify_1.Identify; } });
20
7
  var revenue_1 = require("./revenue");
21
8
  Object.defineProperty(exports, "Revenue", { enumerable: true, get: function () { return revenue_1.Revenue; } });
22
9
  var destination_1 = require("./plugins/destination");
23
10
  Object.defineProperty(exports, "Destination", { enumerable: true, get: function () { return destination_1.Destination; } });
24
- var config_2 = require("./config");
25
- Object.defineProperty(exports, "Config", { enumerable: true, get: function () { return config_2.Config; } });
11
+ var config_1 = require("./config");
12
+ Object.defineProperty(exports, "Config", { enumerable: true, get: function () { return config_1.Config; } });
26
13
  var logger_1 = require("./logger");
27
14
  Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return logger_1.Logger; } });
28
15
  var constants_1 = require("./constants");
29
16
  Object.defineProperty(exports, "AMPLITUDE_PREFIX", { enumerable: true, get: function () { return constants_1.AMPLITUDE_PREFIX; } });
17
+ var return_wrapper_1 = require("./utils/return-wrapper");
18
+ Object.defineProperty(exports, "returnWrapper", { enumerable: true, get: function () { return return_wrapper_1.returnWrapper; } });
19
+ var base_1 = require("./transports/base");
20
+ Object.defineProperty(exports, "BaseTransport", { enumerable: true, get: function () { return base_1.BaseTransport; } });
30
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;AAAA,6CAWuB;AAVrB,mGAAA,IAAI,OAAA;AACJ,oGAAA,KAAK,OAAA;AACL,uGAAA,QAAQ,OAAA;AACR,uGAAA,QAAQ,OAAA;AACR,4GAAA,aAAa,OAAA;AACb,uGAAA,QAAQ,OAAA;AACR,sGAAA,OAAO,OAAA;AACP,kGAAA,GAAG,OAAA;AACH,qGAAA,MAAM,OAAA;AACN,wGAAA,SAAS,OAAA;AAEX,mCAAqC;AAA5B,mGAAA,SAAS,OAAA;AAClB,6DAAyD;AAAhD,iHAAA,aAAa,OAAA;AACtB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,qDAAoD;AAA3C,0GAAA,WAAW,OAAA;AACpB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,yCAA+C;AAAtC,6GAAA,gBAAgB,OAAA","sourcesContent":["export {\n init,\n track,\n logEvent,\n identify,\n groupIdentify,\n setGroup,\n revenue,\n add,\n remove,\n setOptOut,\n} from './core-client';\nexport { getConfig } from './config';\nexport { buildResponse } from './utils/response-builder';\nexport { Identify } from './identify';\nexport { Revenue } from './revenue';\nexport { Destination } from './plugins/destination';\nexport { Config } from './config';\nexport { Logger } from './logger';\nexport { AMPLITUDE_PREFIX } from './constants';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;AAAA,6CAA8C;AAArC,4GAAA,aAAa,OAAA;AACtB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,qDAAoD;AAA3C,0GAAA,WAAW,OAAA;AACpB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,yCAA+C;AAAtC,6GAAA,gBAAgB,OAAA;AACzB,yDAAuD;AAA9C,+GAAA,aAAa,OAAA;AACtB,0CAAkD;AAAzC,qGAAA,aAAa,OAAA","sourcesContent":["export { AmplitudeCore } from './core-client';\nexport { Identify } from './identify';\nexport { Revenue } from './revenue';\nexport { Destination } from './plugins/destination';\nexport { Config } from './config';\nexport { Logger } from './logger';\nexport { AMPLITUDE_PREFIX } from './constants';\nexport { returnWrapper } from './utils/return-wrapper';\nexport { BaseTransport } from './transports/base';\n"]}
@@ -2,5 +2,5 @@ export declare const SUCCESS_MESSAGE = "Event tracked successfully";
2
2
  export declare const UNEXPECTED_ERROR_MESSAGE = "Unexpected error occurred";
3
3
  export declare const MAX_RETRIES_EXCEEDED_MESSAGE = "Event rejected due to exceeded retry count";
4
4
  export declare const OPT_OUT_MESSAGE = "Event skipped due to optOut config";
5
- export declare const MISSING_API_KEY_MESSAGE = "Event skipped due to optOut config";
5
+ export declare const MISSING_API_KEY_MESSAGE = "Event rejected due to missing API key";
6
6
  //# sourceMappingURL=messages.d.ts.map