@amplitude/analytics-core 0.1.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 (146) hide show
  1. package/README.md +1 -0
  2. package/lib/cjs/__mocks__/logger.d.ts +8 -0
  3. package/lib/cjs/__mocks__/logger.d.ts.map +1 -0
  4. package/lib/cjs/__mocks__/logger.js +24 -0
  5. package/lib/cjs/__mocks__/logger.js.map +1 -0
  6. package/lib/cjs/config.d.ts +44 -0
  7. package/lib/cjs/config.d.ts.map +1 -0
  8. package/lib/cjs/config.js +86 -0
  9. package/lib/cjs/config.js.map +1 -0
  10. package/lib/cjs/constants.d.ts +8 -0
  11. package/lib/cjs/constants.d.ts.map +1 -0
  12. package/lib/cjs/constants.js +10 -0
  13. package/lib/cjs/constants.js.map +1 -0
  14. package/lib/cjs/core-client.d.ts +13 -0
  15. package/lib/cjs/core-client.d.ts.map +1 -0
  16. package/lib/cjs/core-client.js +91 -0
  17. package/lib/cjs/core-client.js.map +1 -0
  18. package/lib/cjs/identify.d.ts +19 -0
  19. package/lib/cjs/identify.d.ts.map +1 -0
  20. package/lib/cjs/identify.js +94 -0
  21. package/lib/cjs/identify.js.map +1 -0
  22. package/lib/cjs/index.d.ts +10 -0
  23. package/lib/cjs/index.d.ts.map +1 -0
  24. package/lib/cjs/index.js +30 -0
  25. package/lib/cjs/index.js.map +1 -0
  26. package/lib/cjs/logger.d.ts +11 -0
  27. package/lib/cjs/logger.d.ts.map +1 -0
  28. package/lib/cjs/logger.js +49 -0
  29. package/lib/cjs/logger.js.map +1 -0
  30. package/lib/cjs/messages.d.ts +6 -0
  31. package/lib/cjs/messages.d.ts.map +1 -0
  32. package/lib/cjs/messages.js +8 -0
  33. package/lib/cjs/messages.js.map +1 -0
  34. package/lib/cjs/plugins/destination.d.ts +29 -0
  35. package/lib/cjs/plugins/destination.d.ts.map +1 -0
  36. package/lib/cjs/plugins/destination.js +245 -0
  37. package/lib/cjs/plugins/destination.js.map +1 -0
  38. package/lib/cjs/revenue.d.ts +20 -0
  39. package/lib/cjs/revenue.d.ts.map +1 -0
  40. package/lib/cjs/revenue.js +52 -0
  41. package/lib/cjs/revenue.js.map +1 -0
  42. package/lib/cjs/timeline.d.ts +8 -0
  43. package/lib/cjs/timeline.d.ts.map +1 -0
  44. package/lib/cjs/timeline.js +134 -0
  45. package/lib/cjs/timeline.js.map +1 -0
  46. package/lib/cjs/transports/http.d.ts +5 -0
  47. package/lib/cjs/transports/http.d.ts.map +1 -0
  48. package/lib/cjs/transports/http.js +51 -0
  49. package/lib/cjs/transports/http.js.map +1 -0
  50. package/lib/cjs/utils/chunk.d.ts +2 -0
  51. package/lib/cjs/utils/chunk.d.ts.map +1 -0
  52. package/lib/cjs/utils/chunk.js +18 -0
  53. package/lib/cjs/utils/chunk.js.map +1 -0
  54. package/lib/cjs/utils/event-builder.d.ts +7 -0
  55. package/lib/cjs/utils/event-builder.d.ts.map +1 -0
  56. package/lib/cjs/utils/event-builder.js +47 -0
  57. package/lib/cjs/utils/event-builder.js.map +1 -0
  58. package/lib/cjs/utils/response-builder.d.ts +3 -0
  59. package/lib/cjs/utils/response-builder.d.ts.map +1 -0
  60. package/lib/cjs/utils/response-builder.js +74 -0
  61. package/lib/cjs/utils/response-builder.js.map +1 -0
  62. package/lib/cjs/utils/result-builder.d.ts +3 -0
  63. package/lib/cjs/utils/result-builder.d.ts.map +1 -0
  64. package/lib/cjs/utils/result-builder.js +10 -0
  65. package/lib/cjs/utils/result-builder.js.map +1 -0
  66. package/lib/cjs/utils/status-builder.d.ts +3 -0
  67. package/lib/cjs/utils/status-builder.d.ts.map +1 -0
  68. package/lib/cjs/utils/status-builder.js +26 -0
  69. package/lib/cjs/utils/status-builder.js.map +1 -0
  70. package/lib/cjs/utils/valid-properties.d.ts +5 -0
  71. package/lib/cjs/utils/valid-properties.d.ts.map +1 -0
  72. package/lib/cjs/utils/valid-properties.js +55 -0
  73. package/lib/cjs/utils/valid-properties.js.map +1 -0
  74. package/lib/esm/__mocks__/logger.d.ts +8 -0
  75. package/lib/esm/__mocks__/logger.d.ts.map +1 -0
  76. package/lib/esm/__mocks__/logger.js +22 -0
  77. package/lib/esm/__mocks__/logger.js.map +1 -0
  78. package/lib/esm/config.d.ts +44 -0
  79. package/lib/esm/config.d.ts.map +1 -0
  80. package/lib/esm/config.js +80 -0
  81. package/lib/esm/config.js.map +1 -0
  82. package/lib/esm/constants.d.ts +8 -0
  83. package/lib/esm/constants.d.ts.map +1 -0
  84. package/lib/esm/constants.js +8 -0
  85. package/lib/esm/constants.js.map +1 -0
  86. package/lib/esm/core-client.d.ts +13 -0
  87. package/lib/esm/core-client.d.ts.map +1 -0
  88. package/lib/esm/core-client.js +78 -0
  89. package/lib/esm/core-client.js.map +1 -0
  90. package/lib/esm/identify.d.ts +19 -0
  91. package/lib/esm/identify.d.ts.map +1 -0
  92. package/lib/esm/identify.js +92 -0
  93. package/lib/esm/identify.js.map +1 -0
  94. package/lib/esm/index.d.ts +10 -0
  95. package/lib/esm/index.d.ts.map +1 -0
  96. package/lib/esm/index.js +10 -0
  97. package/lib/esm/index.js.map +1 -0
  98. package/lib/esm/logger.d.ts +11 -0
  99. package/lib/esm/logger.d.ts.map +1 -0
  100. package/lib/esm/logger.js +47 -0
  101. package/lib/esm/logger.js.map +1 -0
  102. package/lib/esm/messages.d.ts +6 -0
  103. package/lib/esm/messages.d.ts.map +1 -0
  104. package/lib/esm/messages.js +6 -0
  105. package/lib/esm/messages.js.map +1 -0
  106. package/lib/esm/plugins/destination.d.ts +29 -0
  107. package/lib/esm/plugins/destination.d.ts.map +1 -0
  108. package/lib/esm/plugins/destination.js +243 -0
  109. package/lib/esm/plugins/destination.js.map +1 -0
  110. package/lib/esm/revenue.d.ts +20 -0
  111. package/lib/esm/revenue.d.ts.map +1 -0
  112. package/lib/esm/revenue.js +50 -0
  113. package/lib/esm/revenue.js.map +1 -0
  114. package/lib/esm/timeline.d.ts +8 -0
  115. package/lib/esm/timeline.d.ts.map +1 -0
  116. package/lib/esm/timeline.js +126 -0
  117. package/lib/esm/timeline.js.map +1 -0
  118. package/lib/esm/transports/http.d.ts +5 -0
  119. package/lib/esm/transports/http.d.ts.map +1 -0
  120. package/lib/esm/transports/http.js +49 -0
  121. package/lib/esm/transports/http.js.map +1 -0
  122. package/lib/esm/utils/chunk.d.ts +2 -0
  123. package/lib/esm/utils/chunk.d.ts.map +1 -0
  124. package/lib/esm/utils/chunk.js +15 -0
  125. package/lib/esm/utils/chunk.js.map +1 -0
  126. package/lib/esm/utils/event-builder.d.ts +7 -0
  127. package/lib/esm/utils/event-builder.d.ts.map +1 -0
  128. package/lib/esm/utils/event-builder.js +40 -0
  129. package/lib/esm/utils/event-builder.js.map +1 -0
  130. package/lib/esm/utils/response-builder.d.ts +3 -0
  131. package/lib/esm/utils/response-builder.d.ts.map +1 -0
  132. package/lib/esm/utils/response-builder.js +71 -0
  133. package/lib/esm/utils/response-builder.js.map +1 -0
  134. package/lib/esm/utils/result-builder.d.ts +3 -0
  135. package/lib/esm/utils/result-builder.d.ts.map +1 -0
  136. package/lib/esm/utils/result-builder.js +7 -0
  137. package/lib/esm/utils/result-builder.js.map +1 -0
  138. package/lib/esm/utils/status-builder.d.ts +3 -0
  139. package/lib/esm/utils/status-builder.d.ts.map +1 -0
  140. package/lib/esm/utils/status-builder.js +23 -0
  141. package/lib/esm/utils/status-builder.js.map +1 -0
  142. package/lib/esm/utils/valid-properties.d.ts +5 -0
  143. package/lib/esm/utils/valid-properties.d.ts.map +1 -0
  144. package/lib/esm/utils/valid-properties.js +51 -0
  145. package/lib/esm/utils/valid-properties.js.map +1 -0
  146. package/package.json +41 -0
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # @amplitude/analytics-core
@@ -0,0 +1,8 @@
1
+ export declare class Logger {
2
+ disable(): void;
3
+ enable(): void;
4
+ log(): void;
5
+ warn(): void;
6
+ error(): void;
7
+ }
8
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/__mocks__/logger.ts"],"names":[],"mappings":"AAAA,qBAAa,MAAM;IACjB,OAAO,IAAI,IAAI;IAIf,MAAM,IAAI,IAAI;IAId,GAAG,IAAI,IAAI;IAIX,IAAI,IAAI,IAAI;IAIZ,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,24 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.Logger = void 0;
3
+ var Logger = /** @class */ (function () {
4
+ function Logger() {
5
+ }
6
+ Logger.prototype.disable = function () {
7
+ return undefined;
8
+ };
9
+ Logger.prototype.enable = function () {
10
+ return undefined;
11
+ };
12
+ Logger.prototype.log = function () {
13
+ return undefined;
14
+ };
15
+ Logger.prototype.warn = function () {
16
+ return undefined;
17
+ };
18
+ Logger.prototype.error = function () {
19
+ return undefined;
20
+ };
21
+ return Logger;
22
+ }());
23
+ exports.Logger = Logger;
24
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/__mocks__/logger.ts"],"names":[],"mappings":";;AAAA;IAAA;IAoBA,CAAC;IAnBC,wBAAO,GAAP;QACE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,uBAAM,GAAN;QACE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,oBAAG,GAAH;QACE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,qBAAI,GAAJ;QACE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,sBAAK,GAAL;QACE,OAAO,SAAS,CAAC;IACnB,CAAC;IACH,aAAC;AAAD,CAAC,AApBD,IAoBC;AApBY,wBAAM","sourcesContent":["export class Logger {\n disable(): void {\n return undefined;\n }\n\n enable(): void {\n return undefined;\n }\n\n log(): void {\n return undefined;\n }\n\n warn(): void {\n return undefined;\n }\n\n error(): void {\n return undefined;\n }\n}\n"]}
@@ -0,0 +1,44 @@
1
+ import { Event, Config as IConfig, Logger as ILogger, InitOptions, LogLevel, Storage, Transport, Plugin, ServerZone } from '@amplitude/analytics-types';
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: {
8
+ flushMaxRetries: number;
9
+ flushQueueSize: number;
10
+ flushIntervalMillis: number;
11
+ logLevel: LogLevel;
12
+ loggerProvider: Logger;
13
+ saveEvents: boolean;
14
+ optOut: boolean;
15
+ serverUrl: string;
16
+ serverZone: ServerZone;
17
+ useBatch: boolean;
18
+ };
19
+ export declare class Config implements IConfig {
20
+ apiKey: string;
21
+ userId?: string;
22
+ deviceId?: string;
23
+ sessionId?: number;
24
+ flushIntervalMillis: number;
25
+ flushMaxRetries: number;
26
+ flushQueueSize: number;
27
+ loggerProvider: ILogger;
28
+ logLevel: LogLevel;
29
+ partnerId?: string;
30
+ plugins: Plugin[];
31
+ optOut: boolean;
32
+ saveEvents: boolean;
33
+ serverUrl: string | undefined;
34
+ serverZone: ServerZone;
35
+ transportProvider: Transport;
36
+ storageProvider: Storage<Event[]>;
37
+ useBatch: boolean;
38
+ constructor(options: InitOptions<IConfig>);
39
+ }
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: Config | IConfig) => string;
44
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +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,MAAM,GAAG,OAAO,WAElD,CAAC"}
@@ -0,0 +1,86 @@
1
+ var _a;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getApiHost = exports.resetInstances = exports.getConfig = exports.createConfig = exports.Config = exports.defaultConfig = exports.serverUrls = void 0;
4
+ var analytics_types_1 = require("@amplitude/analytics-types");
5
+ var constants_1 = require("./constants");
6
+ 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 = {
14
+ flushMaxRetries: 5,
15
+ flushQueueSize: 10,
16
+ flushIntervalMillis: 1000,
17
+ logLevel: analytics_types_1.LogLevel.Warn,
18
+ loggerProvider: new logger_1.Logger(),
19
+ saveEvents: true,
20
+ optOut: false,
21
+ serverUrl: constants_1.AMPLITUDE_SERVER_URL,
22
+ serverZone: analytics_types_1.ServerZone.US,
23
+ useBatch: false,
24
+ };
25
+ var Config = /** @class */ (function () {
26
+ function Config(options) {
27
+ var _a, _b, _c;
28
+ this.apiKey = options.apiKey;
29
+ this.userId = options.userId;
30
+ this.deviceId = options.deviceId;
31
+ 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;
37
+ 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;
41
+ this.serverUrl = options.serverUrl;
42
+ this.serverZone = options.serverZone || exports.defaultConfig.serverZone;
43
+ this.storageProvider = options.storageProvider;
44
+ this.transportProvider = options.transportProvider;
45
+ this.useBatch = (_c = options.useBatch) !== null && _c !== void 0 ? _c : exports.defaultConfig.useBatch;
46
+ this.loggerProvider.enable(this.logLevel);
47
+ configApiHost(this);
48
+ }
49
+ return Config;
50
+ }());
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];
68
+ }
69
+ };
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);
83
+ }
84
+ return config.serverUrl;
85
+ };
86
+ //# sourceMappingURL=config.js.map
@@ -0,0 +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: Config | IConfig) => {\n return configApiHost(config);\n};\n\nconst configApiHost = (config: 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"]}
@@ -0,0 +1,8 @@
1
+ export declare const UNSET_VALUE = "-";
2
+ export declare const AMPLITUDE_PREFIX = "AMP";
3
+ export declare const STORAGE_PREFIX: string;
4
+ export declare const AMPLITUDE_SERVER_URL = "https://api2.amplitude.com/2/httpapi";
5
+ export declare const EU_AMPLITUDE_SERVER_URL = "https://api.eu.amplitude.com/2/httpapi";
6
+ export declare const AMPLITUDE_BATCH_SERVER_URL = "https://api2.amplitude.com/batch";
7
+ export declare const EU_AMPLITUDE_BATCH_SERVER_URL = "https://api.eu.amplitude.com/batch";
8
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,MAAM,CAAC;AAC/B,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AACtC,eAAO,MAAM,cAAc,QAA+B,CAAC;AAC3D,eAAO,MAAM,oBAAoB,yCAAyC,CAAC;AAC3E,eAAO,MAAM,uBAAuB,2CAA2C,CAAC;AAChF,eAAO,MAAM,0BAA0B,qCAAqC,CAAC;AAC7E,eAAO,MAAM,6BAA6B,uCAAuC,CAAC"}
@@ -0,0 +1,10 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.EU_AMPLITUDE_BATCH_SERVER_URL = exports.AMPLITUDE_BATCH_SERVER_URL = exports.EU_AMPLITUDE_SERVER_URL = exports.AMPLITUDE_SERVER_URL = exports.STORAGE_PREFIX = exports.AMPLITUDE_PREFIX = exports.UNSET_VALUE = void 0;
3
+ exports.UNSET_VALUE = '-';
4
+ exports.AMPLITUDE_PREFIX = 'AMP';
5
+ exports.STORAGE_PREFIX = "".concat(exports.AMPLITUDE_PREFIX, "_unsent");
6
+ exports.AMPLITUDE_SERVER_URL = 'https://api2.amplitude.com/2/httpapi';
7
+ exports.EU_AMPLITUDE_SERVER_URL = 'https://api.eu.amplitude.com/2/httpapi';
8
+ exports.AMPLITUDE_BATCH_SERVER_URL = 'https://api2.amplitude.com/batch';
9
+ exports.EU_AMPLITUDE_BATCH_SERVER_URL = 'https://api.eu.amplitude.com/batch';
10
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;AAAa,QAAA,WAAW,GAAG,GAAG,CAAC;AAClB,QAAA,gBAAgB,GAAG,KAAK,CAAC;AACzB,QAAA,cAAc,GAAG,UAAG,wBAAgB,YAAS,CAAC;AAC9C,QAAA,oBAAoB,GAAG,sCAAsC,CAAC;AAC9D,QAAA,uBAAuB,GAAG,wCAAwC,CAAC;AACnE,QAAA,0BAA0B,GAAG,kCAAkC,CAAC;AAChE,QAAA,6BAA6B,GAAG,oCAAoC,CAAC","sourcesContent":["export const UNSET_VALUE = '-';\nexport const AMPLITUDE_PREFIX = 'AMP';\nexport const STORAGE_PREFIX = `${AMPLITUDE_PREFIX}_unsent`;\nexport const AMPLITUDE_SERVER_URL = 'https://api2.amplitude.com/2/httpapi';\nexport const EU_AMPLITUDE_SERVER_URL = 'https://api.eu.amplitude.com/2/httpapi';\nexport const AMPLITUDE_BATCH_SERVER_URL = 'https://api2.amplitude.com/batch';\nexport const EU_AMPLITUDE_BATCH_SERVER_URL = 'https://api.eu.amplitude.com/batch';\n"]}
@@ -0,0 +1,13 @@
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;
13
+ //# sourceMappingURL=core-client.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,91 @@
1
+ var _this = this;
2
+ 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;
4
+ var tslib_1 = require("tslib");
5
+ var config_1 = require("./config");
6
+ var event_builder_1 = require("./utils/event-builder");
7
+ var timeline_1 = require("./timeline");
8
+ 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);
71
+ }
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;
91
+ //# sourceMappingURL=core-client.js.map
@@ -0,0 +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"]}
@@ -0,0 +1,19 @@
1
+ import { IdentifyUserProperties, ValidPropertyType, Identify as IIdentify } from '@amplitude/analytics-types';
2
+ export declare class Identify implements IIdentify {
3
+ protected readonly _propertySet: Set<string>;
4
+ protected _properties: IdentifyUserProperties;
5
+ getUserProperties(): IdentifyUserProperties;
6
+ set(property: string, value: ValidPropertyType): Identify;
7
+ setOnce(property: string, value: ValidPropertyType): Identify;
8
+ append(property: string, value: ValidPropertyType): Identify;
9
+ prepend(property: string, value: ValidPropertyType): Identify;
10
+ postInsert(property: string, value: ValidPropertyType): Identify;
11
+ preInsert(property: string, value: ValidPropertyType): Identify;
12
+ remove(property: string, value: ValidPropertyType): Identify;
13
+ add(property: string, value: number): Identify;
14
+ unset(property: string): Identify;
15
+ clearAll(): Identify;
16
+ private _safeSet;
17
+ private _validate;
18
+ }
19
+ //# sourceMappingURL=identify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identify.d.ts","sourceRoot":"","sources":["../../src/identify.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EACtB,iBAAiB,EACjB,QAAQ,IAAI,SAAS,EACtB,MAAM,4BAA4B,CAAC;AAIpC,qBAAa,QAAS,YAAW,SAAS;IACxC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAqB;IACjE,SAAS,CAAC,WAAW,EAAE,sBAAsB,CAAM;IAE5C,iBAAiB,IAAI,sBAAsB;IAI3C,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,QAAQ;IAKzD,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,QAAQ;IAK7D,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,QAAQ;IAK5D,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,QAAQ;IAK7D,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,QAAQ;IAKhE,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,QAAQ;IAK/D,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,QAAQ;IAK5D,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ;IAK9C,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ;IAKjC,QAAQ,IAAI,QAAQ;IAS3B,OAAO,CAAC,QAAQ;IAmBhB,OAAO,CAAC,SAAS;CAoBlB"}
@@ -0,0 +1,94 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.Identify = void 0;
3
+ var tslib_1 = require("tslib");
4
+ var analytics_types_1 = require("@amplitude/analytics-types");
5
+ var constants_1 = require("./constants");
6
+ var valid_properties_1 = require("./utils/valid-properties");
7
+ var Identify = /** @class */ (function () {
8
+ function Identify() {
9
+ this._propertySet = new Set();
10
+ this._properties = {};
11
+ }
12
+ Identify.prototype.getUserProperties = function () {
13
+ return (0, tslib_1.__assign)({}, this._properties);
14
+ };
15
+ Identify.prototype.set = function (property, value) {
16
+ this._safeSet(analytics_types_1.IdentifyOperation.SET, property, value);
17
+ return this;
18
+ };
19
+ Identify.prototype.setOnce = function (property, value) {
20
+ this._safeSet(analytics_types_1.IdentifyOperation.SET_ONCE, property, value);
21
+ return this;
22
+ };
23
+ Identify.prototype.append = function (property, value) {
24
+ this._safeSet(analytics_types_1.IdentifyOperation.APPEND, property, value);
25
+ return this;
26
+ };
27
+ Identify.prototype.prepend = function (property, value) {
28
+ this._safeSet(analytics_types_1.IdentifyOperation.PREPEND, property, value);
29
+ return this;
30
+ };
31
+ Identify.prototype.postInsert = function (property, value) {
32
+ this._safeSet(analytics_types_1.IdentifyOperation.POSTINSERT, property, value);
33
+ return this;
34
+ };
35
+ Identify.prototype.preInsert = function (property, value) {
36
+ this._safeSet(analytics_types_1.IdentifyOperation.PREINSERT, property, value);
37
+ return this;
38
+ };
39
+ Identify.prototype.remove = function (property, value) {
40
+ this._safeSet(analytics_types_1.IdentifyOperation.REMOVE, property, value);
41
+ return this;
42
+ };
43
+ Identify.prototype.add = function (property, value) {
44
+ this._safeSet(analytics_types_1.IdentifyOperation.ADD, property, value);
45
+ return this;
46
+ };
47
+ Identify.prototype.unset = function (property) {
48
+ this._safeSet(analytics_types_1.IdentifyOperation.UNSET, property, constants_1.UNSET_VALUE);
49
+ return this;
50
+ };
51
+ Identify.prototype.clearAll = function () {
52
+ // When clear all happens, all properties are unset. Reset the entire object.
53
+ this._properties = {};
54
+ this._properties[analytics_types_1.IdentifyOperation.CLEAR_ALL] = constants_1.UNSET_VALUE;
55
+ return this;
56
+ };
57
+ // Returns whether or not this set actually worked.
58
+ Identify.prototype._safeSet = function (operation, property, value) {
59
+ if (this._validate(operation, property, value)) {
60
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
61
+ var userPropertyMap = this._properties[operation];
62
+ if (userPropertyMap === undefined) {
63
+ userPropertyMap = {};
64
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
65
+ this._properties[operation] = userPropertyMap;
66
+ }
67
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
68
+ userPropertyMap[property] = value;
69
+ this._propertySet.add(property);
70
+ return true;
71
+ }
72
+ return false;
73
+ };
74
+ Identify.prototype._validate = function (operation, property, value) {
75
+ if (this._properties[analytics_types_1.IdentifyOperation.CLEAR_ALL] !== undefined) {
76
+ // clear all already set. Skipping operation;
77
+ return false;
78
+ }
79
+ if (this._propertySet.has(property)) {
80
+ // Property already used. Skipping operation
81
+ return false;
82
+ }
83
+ if (operation === analytics_types_1.IdentifyOperation.ADD) {
84
+ return typeof value === 'number';
85
+ }
86
+ if (operation !== analytics_types_1.IdentifyOperation.UNSET && operation !== analytics_types_1.IdentifyOperation.REMOVE) {
87
+ return (0, valid_properties_1.isValidProperties)(property, value);
88
+ }
89
+ return true;
90
+ };
91
+ return Identify;
92
+ }());
93
+ exports.Identify = Identify;
94
+ //# sourceMappingURL=identify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identify.js","sourceRoot":"","sources":["../../src/identify.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n IdentifyOperation,\n IdentifyUserProperties,\n ValidPropertyType,\n Identify as IIdentify,\n} from '@amplitude/analytics-types';\nimport { UNSET_VALUE } from './constants';\nimport { isValidProperties } from './utils/valid-properties';\n\nexport class Identify implements IIdentify {\n protected readonly _propertySet: Set<string> = new Set<string>();\n protected _properties: IdentifyUserProperties = {};\n\n public getUserProperties(): IdentifyUserProperties {\n return { ...this._properties };\n }\n\n public set(property: string, value: ValidPropertyType): Identify {\n this._safeSet(IdentifyOperation.SET, property, value);\n return this;\n }\n\n public setOnce(property: string, value: ValidPropertyType): Identify {\n this._safeSet(IdentifyOperation.SET_ONCE, property, value);\n return this;\n }\n\n public append(property: string, value: ValidPropertyType): Identify {\n this._safeSet(IdentifyOperation.APPEND, property, value);\n return this;\n }\n\n public prepend(property: string, value: ValidPropertyType): Identify {\n this._safeSet(IdentifyOperation.PREPEND, property, value);\n return this;\n }\n\n public postInsert(property: string, value: ValidPropertyType): Identify {\n this._safeSet(IdentifyOperation.POSTINSERT, property, value);\n return this;\n }\n\n public preInsert(property: string, value: ValidPropertyType): Identify {\n this._safeSet(IdentifyOperation.PREINSERT, property, value);\n return this;\n }\n\n public remove(property: string, value: ValidPropertyType): Identify {\n this._safeSet(IdentifyOperation.REMOVE, property, value);\n return this;\n }\n\n public add(property: string, value: number): Identify {\n this._safeSet(IdentifyOperation.ADD, property, value);\n return this;\n }\n\n public unset(property: string): Identify {\n this._safeSet(IdentifyOperation.UNSET, property, UNSET_VALUE);\n return this;\n }\n\n public clearAll(): Identify {\n // When clear all happens, all properties are unset. Reset the entire object.\n this._properties = {};\n this._properties[IdentifyOperation.CLEAR_ALL] = UNSET_VALUE;\n\n return this;\n }\n\n // Returns whether or not this set actually worked.\n private _safeSet(operation: IdentifyOperation, property: string, value: ValidPropertyType): boolean {\n if (this._validate(operation, property, value)) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n let userPropertyMap: any = this._properties[operation];\n if (userPropertyMap === undefined) {\n userPropertyMap = {};\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n this._properties[operation] = userPropertyMap;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n userPropertyMap[property] = value;\n this._propertySet.add(property);\n return true;\n }\n\n return false;\n }\n\n private _validate(operation: IdentifyOperation, property: string, value: ValidPropertyType): boolean {\n if (this._properties[IdentifyOperation.CLEAR_ALL] !== undefined) {\n // clear all already set. Skipping operation;\n return false;\n }\n\n if (this._propertySet.has(property)) {\n // Property already used. Skipping operation\n return false;\n }\n\n if (operation === IdentifyOperation.ADD) {\n return typeof value === 'number';\n }\n\n if (operation !== IdentifyOperation.UNSET && operation !== IdentifyOperation.REMOVE) {\n return isValidProperties(property, value);\n }\n return true;\n }\n}\n"]}
@@ -0,0 +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';
4
+ export { Identify } from './identify';
5
+ export { Revenue } from './revenue';
6
+ export { Destination } from './plugins/destination';
7
+ export { Config } from './config';
8
+ export { Logger } from './logger';
9
+ export { AMPLITUDE_PREFIX } from './constants';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,30 @@
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;
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; } });
18
+ var identify_1 = require("./identify");
19
+ Object.defineProperty(exports, "Identify", { enumerable: true, get: function () { return identify_1.Identify; } });
20
+ var revenue_1 = require("./revenue");
21
+ Object.defineProperty(exports, "Revenue", { enumerable: true, get: function () { return revenue_1.Revenue; } });
22
+ var destination_1 = require("./plugins/destination");
23
+ 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; } });
26
+ var logger_1 = require("./logger");
27
+ Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return logger_1.Logger; } });
28
+ var constants_1 = require("./constants");
29
+ Object.defineProperty(exports, "AMPLITUDE_PREFIX", { enumerable: true, get: function () { return constants_1.AMPLITUDE_PREFIX; } });
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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"]}
@@ -0,0 +1,11 @@
1
+ import { LogLevel, Logger as ILogger } from '@amplitude/analytics-types';
2
+ export declare class Logger implements ILogger {
3
+ logLevel: LogLevel;
4
+ constructor();
5
+ disable(): void;
6
+ enable(logLevel?: LogLevel): void;
7
+ log(...args: any[]): void;
8
+ warn(...args: any[]): void;
9
+ error(...args: any[]): void;
10
+ }
11
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAIzE,qBAAa,MAAO,YAAW,OAAO;IACpC,QAAQ,EAAE,QAAQ,CAAC;;IAMnB,OAAO,IAAI,IAAI;IAIf,MAAM,CAAC,QAAQ,GAAE,QAAwB,GAAG,IAAI;IAIhD,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAOzB,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAO1B,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;CAM5B"}
@@ -0,0 +1,49 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.Logger = void 0;
3
+ var analytics_types_1 = require("@amplitude/analytics-types");
4
+ var PREFIX = 'Amplitude Logger ';
5
+ var Logger = /** @class */ (function () {
6
+ function Logger() {
7
+ this.logLevel = analytics_types_1.LogLevel.None;
8
+ }
9
+ Logger.prototype.disable = function () {
10
+ this.logLevel = analytics_types_1.LogLevel.None;
11
+ };
12
+ Logger.prototype.enable = function (logLevel) {
13
+ if (logLevel === void 0) { logLevel = analytics_types_1.LogLevel.Warn; }
14
+ this.logLevel = logLevel;
15
+ };
16
+ Logger.prototype.log = function () {
17
+ var args = [];
18
+ for (var _i = 0; _i < arguments.length; _i++) {
19
+ args[_i] = arguments[_i];
20
+ }
21
+ if (this.logLevel < analytics_types_1.LogLevel.Verbose) {
22
+ return;
23
+ }
24
+ console.log("".concat(PREFIX, "[Log]: ").concat(args.join(' ')));
25
+ };
26
+ Logger.prototype.warn = function () {
27
+ var args = [];
28
+ for (var _i = 0; _i < arguments.length; _i++) {
29
+ args[_i] = arguments[_i];
30
+ }
31
+ if (this.logLevel < analytics_types_1.LogLevel.Warn) {
32
+ return;
33
+ }
34
+ console.warn("".concat(PREFIX, "[Warn]: ").concat(args.join(' ')));
35
+ };
36
+ Logger.prototype.error = function () {
37
+ var args = [];
38
+ for (var _i = 0; _i < arguments.length; _i++) {
39
+ args[_i] = arguments[_i];
40
+ }
41
+ if (this.logLevel < analytics_types_1.LogLevel.Error) {
42
+ return;
43
+ }
44
+ console.error("".concat(PREFIX, "[Error]: ").concat(args.join(' ')));
45
+ };
46
+ return Logger;
47
+ }());
48
+ exports.Logger = Logger;
49
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":";;AAAA,8DAAyE;AAEzE,IAAM,MAAM,GAAG,mBAAmB,CAAC;AAEnC;IAGE;QACE,IAAI,CAAC,QAAQ,GAAG,0BAAQ,CAAC,IAAI,CAAC;IAChC,CAAC;IAED,wBAAO,GAAP;QACE,IAAI,CAAC,QAAQ,GAAG,0BAAQ,CAAC,IAAI,CAAC;IAChC,CAAC;IAED,uBAAM,GAAN,UAAO,QAAkC;QAAlC,yBAAA,EAAA,WAAqB,0BAAQ,CAAC,IAAI;QACvC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,oBAAG,GAAH;QAAI,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QAChB,IAAI,IAAI,CAAC,QAAQ,GAAG,0BAAQ,CAAC,OAAO,EAAE;YACpC,OAAO;SACR;QACD,OAAO,CAAC,GAAG,CAAC,UAAG,MAAM,oBAAU,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC;IACnD,CAAC;IAED,qBAAI,GAAJ;QAAK,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QACjB,IAAI,IAAI,CAAC,QAAQ,GAAG,0BAAQ,CAAC,IAAI,EAAE;YACjC,OAAO;SACR;QACD,OAAO,CAAC,IAAI,CAAC,UAAG,MAAM,qBAAW,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC;IACrD,CAAC;IAED,sBAAK,GAAL;QAAM,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QAClB,IAAI,IAAI,CAAC,QAAQ,GAAG,0BAAQ,CAAC,KAAK,EAAE;YAClC,OAAO;SACR;QACD,OAAO,CAAC,KAAK,CAAC,UAAG,MAAM,sBAAY,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC;IACvD,CAAC;IACH,aAAC;AAAD,CAAC,AAnCD,IAmCC;AAnCY,wBAAM","sourcesContent":["import { LogLevel, Logger as ILogger } from '@amplitude/analytics-types';\n\nconst PREFIX = 'Amplitude Logger ';\n\nexport class Logger implements ILogger {\n logLevel: LogLevel;\n\n constructor() {\n this.logLevel = LogLevel.None;\n }\n\n disable(): void {\n this.logLevel = LogLevel.None;\n }\n\n enable(logLevel: LogLevel = LogLevel.Warn): void {\n this.logLevel = logLevel;\n }\n\n log(...args: any[]): void {\n if (this.logLevel < LogLevel.Verbose) {\n return;\n }\n console.log(`${PREFIX}[Log]: ${args.join(' ')}`);\n }\n\n warn(...args: any[]): void {\n if (this.logLevel < LogLevel.Warn) {\n return;\n }\n console.warn(`${PREFIX}[Warn]: ${args.join(' ')}`);\n }\n\n error(...args: any[]): void {\n if (this.logLevel < LogLevel.Error) {\n return;\n }\n console.error(`${PREFIX}[Error]: ${args.join(' ')}`);\n }\n}\n"]}
@@ -0,0 +1,6 @@
1
+ export declare const SUCCESS_MESSAGE = "Event tracked successfully";
2
+ export declare const UNEXPECTED_ERROR_MESSAGE = "Unexpected error occurred";
3
+ export declare const MAX_RETRIES_EXCEEDED_MESSAGE = "Event rejected due to exceeded retry count";
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";
6
+ //# sourceMappingURL=messages.d.ts.map