@amplitude/unified 1.0.0-beta.0 → 1.0.0-beta.2

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 (43) hide show
  1. package/lib/cjs/index.d.ts +1 -1
  2. package/lib/cjs/index.d.ts.map +1 -1
  3. package/lib/cjs/index.js +1 -1
  4. package/lib/cjs/index.js.map +1 -1
  5. package/lib/cjs/library.d.ts +3 -0
  6. package/lib/cjs/library.d.ts.map +1 -0
  7. package/lib/cjs/library.js +23 -0
  8. package/lib/cjs/library.js.map +1 -0
  9. package/lib/cjs/unified.d.ts +8 -11
  10. package/lib/cjs/unified.d.ts.map +1 -1
  11. package/lib/cjs/unified.js +34 -22
  12. package/lib/cjs/unified.js.map +1 -1
  13. package/lib/cjs/version.d.ts +2 -0
  14. package/lib/cjs/version.d.ts.map +1 -0
  15. package/lib/cjs/version.js +5 -0
  16. package/lib/cjs/version.js.map +1 -0
  17. package/lib/esm/index.d.ts +1 -1
  18. package/lib/esm/index.d.ts.map +1 -1
  19. package/lib/esm/index.js +1 -1
  20. package/lib/esm/index.js.map +1 -1
  21. package/lib/esm/library.d.ts +3 -0
  22. package/lib/esm/library.d.ts.map +1 -0
  23. package/lib/esm/library.js +19 -0
  24. package/lib/esm/library.js.map +1 -0
  25. package/lib/esm/unified.d.ts +8 -11
  26. package/lib/esm/unified.d.ts.map +1 -1
  27. package/lib/esm/unified.js +34 -22
  28. package/lib/esm/unified.js.map +1 -1
  29. package/lib/esm/version.d.ts +2 -0
  30. package/lib/esm/version.d.ts.map +1 -0
  31. package/lib/esm/version.js +2 -0
  32. package/lib/esm/version.js.map +1 -0
  33. package/lib/scripts/amplitude-min.umd.js +1 -1
  34. package/lib/scripts/amplitude-min.umd.js.gz +0 -0
  35. package/lib/scripts/index.d.ts +1 -1
  36. package/lib/scripts/index.d.ts.map +1 -1
  37. package/lib/scripts/library.d.ts +3 -0
  38. package/lib/scripts/library.d.ts.map +1 -0
  39. package/lib/scripts/unified.d.ts +8 -11
  40. package/lib/scripts/unified.d.ts.map +1 -1
  41. package/lib/scripts/version.d.ts +2 -0
  42. package/lib/scripts/version.d.ts.map +1 -0
  43. package/package.json +6 -3
@@ -1,4 +1,4 @@
1
1
  export { createInstance } from './unified-client-factory';
2
- export declare const initAll: (apiKey: string, unifiedOptions?: import("./unified").UnifiedOptions | undefined) => Promise<void>, experiment: import("@amplitude/experiment-js-client").Client, sr: import("@amplitude/session-replay-browser").AmplitudeSessionReplay, add: (plugin: import("@amplitude/analytics-core").Plugin<import("@amplitude/analytics-core").BrowserClient, import("@amplitude/analytics-core").BrowserConfig>) => import("@amplitude/analytics-core").AmplitudeReturn<void>, extendSession: () => void, flush: () => import("@amplitude/analytics-core").AmplitudeReturn<void>, getDeviceId: () => string | undefined, getSessionId: () => number | undefined, getUserId: () => string | undefined, groupIdentify: (groupType: string, groupName: string | string[], identify: import("@amplitude/analytics-core").IIdentify, eventOptions?: import("@amplitude/analytics-core").EventOptions | undefined) => import("@amplitude/analytics-core").AmplitudeReturn<import("@amplitude/analytics-core").Result>, identify: (identify: import("@amplitude/analytics-core").IIdentify, eventOptions?: import("@amplitude/analytics-core").EventOptions | undefined) => import("@amplitude/analytics-core").AmplitudeReturn<import("@amplitude/analytics-core").Result>, logEvent: (eventInput: string | import("@amplitude/analytics-core").BaseEvent, eventProperties?: Record<string, any> | undefined, eventOptions?: import("@amplitude/analytics-core").EventOptions | undefined) => import("@amplitude/analytics-core").AmplitudeReturn<import("@amplitude/analytics-core").Result>, remove: (pluginName: string) => import("@amplitude/analytics-core").AmplitudeReturn<void>, reset: () => void, revenue: (revenue: import("@amplitude/analytics-core").IRevenue, eventOptions?: import("@amplitude/analytics-core").EventOptions | undefined) => import("@amplitude/analytics-core").AmplitudeReturn<import("@amplitude/analytics-core").Result>, setDeviceId: (deviceId: string) => void, setGroup: (groupType: string, groupName: string | string[], eventOptions?: import("@amplitude/analytics-core").EventOptions | undefined) => import("@amplitude/analytics-core").AmplitudeReturn<import("@amplitude/analytics-core").Result>, setOptOut: (optOut: boolean) => void, setSessionId: (sessionId: number) => void, setTransport: (transport: import("@amplitude/analytics-core").TransportType) => void, setUserId: (userId: string | undefined) => void, track: (eventInput: string | import("@amplitude/analytics-core").BaseEvent, eventProperties?: Record<string, any> | undefined, eventOptions?: import("@amplitude/analytics-core").EventOptions | undefined) => import("@amplitude/analytics-core").AmplitudeReturn<import("@amplitude/analytics-core").Result>;
2
+ export declare const initAll: (apiKey: string, unifiedOptions?: import("./unified").UnifiedOptions | undefined) => Promise<void>, experiment: import("@amplitude/experiment-js-client").Client | undefined, sr: import("@amplitude/session-replay-browser").AmplitudeSessionReplay, add: (plugin: import("@amplitude/analytics-core").Plugin<import("@amplitude/analytics-core").BrowserClient, import("@amplitude/analytics-core").BrowserConfig>) => import("@amplitude/analytics-core").AmplitudeReturn<void>, extendSession: () => void, flush: () => import("@amplitude/analytics-core").AmplitudeReturn<void>, getDeviceId: () => string | undefined, getSessionId: () => number | undefined, getUserId: () => string | undefined, groupIdentify: (groupType: string, groupName: string | string[], identify: import("@amplitude/analytics-core").IIdentify, eventOptions?: import("@amplitude/analytics-core").EventOptions | undefined) => import("@amplitude/analytics-core").AmplitudeReturn<import("@amplitude/analytics-core").Result>, identify: (identify: import("@amplitude/analytics-core").IIdentify, eventOptions?: import("@amplitude/analytics-core").EventOptions | undefined) => import("@amplitude/analytics-core").AmplitudeReturn<import("@amplitude/analytics-core").Result>, logEvent: (eventInput: string | import("@amplitude/analytics-core").BaseEvent, eventProperties?: Record<string, any> | undefined, eventOptions?: import("@amplitude/analytics-core").EventOptions | undefined) => import("@amplitude/analytics-core").AmplitudeReturn<import("@amplitude/analytics-core").Result>, remove: (pluginName: string) => import("@amplitude/analytics-core").AmplitudeReturn<void>, reset: () => void, revenue: (revenue: import("@amplitude/analytics-core").IRevenue, eventOptions?: import("@amplitude/analytics-core").EventOptions | undefined) => import("@amplitude/analytics-core").AmplitudeReturn<import("@amplitude/analytics-core").Result>, setDeviceId: (deviceId: string) => void, setGroup: (groupType: string, groupName: string | string[], eventOptions?: import("@amplitude/analytics-core").EventOptions | undefined) => import("@amplitude/analytics-core").AmplitudeReturn<import("@amplitude/analytics-core").Result>, setOptOut: (optOut: boolean) => void, setSessionId: (sessionId: number) => void, setTransport: (transport: import("@amplitude/analytics-core").TransportType) => void, setUserId: (userId: string | undefined) => void, track: (eventInput: string | import("@amplitude/analytics-core").BaseEvent, eventProperties?: Record<string, any> | undefined, eventOptions?: import("@amplitude/analytics-core").EventOptions | undefined) => import("@amplitude/analytics-core").AmplitudeReturn<import("@amplitude/analytics-core").Result>;
3
3
  export { Types } from '@amplitude/analytics-browser';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,eAAO,MACL,OAAO,sGACP,UAAU,oDACV,EAAE,sEACF,GAAG,2NACH,aAAa,cACb,KAAK,mEACL,WAAW,4BACX,YAAY,4BACZ,SAAS,4BACT,aAAa,8RACb,QAAQ,6OACR,QAAQ,2SACR,MAAM,qFACN,KAAK,cACL,OAAO,2OACP,WAAW,8BACX,QAAQ,qOACR,SAAS,6BACT,YAAY,+BACZ,YAAY,0EACZ,SAAS,wCACT,KAAK,ySACG,CAAC;AACX,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,eAAO,MACL,OAAO,sGACP,UAAU,gEACV,EAAE,sEACF,GAAG,2NACH,aAAa,cACb,KAAK,mEACL,WAAW,4BACX,YAAY,4BACZ,SAAS,4BACT,aAAa,8RACb,QAAQ,6OACR,QAAQ,2SACR,MAAM,qFACN,KAAK,cACL,OAAO,2OACP,WAAW,8BACX,QAAQ,qOACR,SAAS,6BACT,YAAY,+BACZ,YAAY,0EACZ,SAAS,wCACT,KAAK,ySACG,CAAC;AACX,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC"}
package/lib/cjs/index.js CHANGED
@@ -2,10 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Types = exports.track = exports.setUserId = exports.setTransport = exports.setSessionId = exports.setOptOut = exports.setGroup = exports.setDeviceId = exports.revenue = exports.reset = exports.remove = exports.logEvent = exports.identify = exports.groupIdentify = exports.getUserId = exports.getSessionId = exports.getDeviceId = exports.flush = exports.extendSession = exports.add = exports.sr = exports.experiment = exports.initAll = exports.createInstance = void 0;
4
4
  var tslib_1 = require("tslib");
5
+ /* eslint-disable @typescript-eslint/unbound-method */
5
6
  var unified_client_factory_1 = tslib_1.__importDefault(require("./unified-client-factory"));
6
7
  var unified_client_factory_2 = require("./unified-client-factory");
7
8
  Object.defineProperty(exports, "createInstance", { enumerable: true, get: function () { return unified_client_factory_2.createInstance; } });
8
- // eslint-disable-next-line @typescript-eslint/unbound-method
9
9
  exports.initAll = unified_client_factory_1.default.initAll, exports.experiment = unified_client_factory_1.default.experiment, exports.sr = unified_client_factory_1.default.sr, exports.add = unified_client_factory_1.default.add, exports.extendSession = unified_client_factory_1.default.extendSession, exports.flush = unified_client_factory_1.default.flush, exports.getDeviceId = unified_client_factory_1.default.getDeviceId, exports.getSessionId = unified_client_factory_1.default.getSessionId, exports.getUserId = unified_client_factory_1.default.getUserId, exports.groupIdentify = unified_client_factory_1.default.groupIdentify, exports.identify = unified_client_factory_1.default.identify, exports.logEvent = unified_client_factory_1.default.logEvent, exports.remove = unified_client_factory_1.default.remove, exports.reset = unified_client_factory_1.default.reset, exports.revenue = unified_client_factory_1.default.revenue, exports.setDeviceId = unified_client_factory_1.default.setDeviceId, exports.setGroup = unified_client_factory_1.default.setGroup, exports.setOptOut = unified_client_factory_1.default.setOptOut, exports.setSessionId = unified_client_factory_1.default.setSessionId, exports.setTransport = unified_client_factory_1.default.setTransport, exports.setUserId = unified_client_factory_1.default.setUserId, exports.track = unified_client_factory_1.default.track;
10
10
  var analytics_browser_1 = require("@amplitude/analytics-browser");
11
11
  Object.defineProperty(exports, "Types", { enumerable: true, get: function () { return analytics_browser_1.Types; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,4FAA8C;AAC9C,mEAA0D;AAAjD,wHAAA,cAAc,OAAA;AACvB,6DAA6D;AAE3D,QAAA,OAAO,GAsBL,gCAAM,UArBR,QAAA,UAAU,GAqBR,gCAAM,aApBR,QAAA,EAAE,GAoBA,gCAAM,KAnBR,QAAA,GAAG,GAmBD,gCAAM,MAlBR,QAAA,aAAa,GAkBX,gCAAM,gBAjBR,QAAA,KAAK,GAiBH,gCAAM,QAhBR,QAAA,WAAW,GAgBT,gCAAM,cAfR,QAAA,YAAY,GAeV,gCAAM,eAdR,QAAA,SAAS,GAcP,gCAAM,YAbR,QAAA,aAAa,GAaX,gCAAM,gBAZR,QAAA,QAAQ,GAYN,gCAAM,WAXR,QAAA,QAAQ,GAWN,gCAAM,WAVR,QAAA,MAAM,GAUJ,gCAAM,SATR,QAAA,KAAK,GASH,gCAAM,QARR,QAAA,OAAO,GAQL,gCAAM,UAPR,QAAA,WAAW,GAOT,gCAAM,cANR,QAAA,QAAQ,GAMN,gCAAM,WALR,QAAA,SAAS,GAKP,gCAAM,YAJR,QAAA,YAAY,GAIV,gCAAM,eAHR,QAAA,YAAY,GAGV,gCAAM,eAFR,QAAA,SAAS,GAEP,gCAAM,YADR,QAAA,KAAK,GACH,gCAAM,OAAC;AACX,kEAAqD;AAA5C,0GAAA,KAAK,OAAA","sourcesContent":["import client from './unified-client-factory';\nexport { createInstance } from './unified-client-factory';\n// eslint-disable-next-line @typescript-eslint/unbound-method\nexport const {\n initAll,\n experiment,\n sr,\n add,\n extendSession,\n flush,\n getDeviceId,\n getSessionId,\n getUserId,\n groupIdentify,\n identify,\n logEvent,\n remove,\n reset,\n revenue,\n setDeviceId,\n setGroup,\n setOptOut,\n setSessionId,\n setTransport,\n setUserId,\n track,\n} = client;\nexport { Types } from '@amplitude/analytics-browser';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,sDAAsD;AACtD,4FAA8C;AAC9C,mEAA0D;AAAjD,wHAAA,cAAc,OAAA;AAErB,QAAA,OAAO,GAsBL,gCAAM,UArBR,QAAA,UAAU,GAqBR,gCAAM,aApBR,QAAA,EAAE,GAoBA,gCAAM,KAnBR,QAAA,GAAG,GAmBD,gCAAM,MAlBR,QAAA,aAAa,GAkBX,gCAAM,gBAjBR,QAAA,KAAK,GAiBH,gCAAM,QAhBR,QAAA,WAAW,GAgBT,gCAAM,cAfR,QAAA,YAAY,GAeV,gCAAM,eAdR,QAAA,SAAS,GAcP,gCAAM,YAbR,QAAA,aAAa,GAaX,gCAAM,gBAZR,QAAA,QAAQ,GAYN,gCAAM,WAXR,QAAA,QAAQ,GAWN,gCAAM,WAVR,QAAA,MAAM,GAUJ,gCAAM,SATR,QAAA,KAAK,GASH,gCAAM,QARR,QAAA,OAAO,GAQL,gCAAM,UAPR,QAAA,WAAW,GAOT,gCAAM,cANR,QAAA,QAAQ,GAMN,gCAAM,WALR,QAAA,SAAS,GAKP,gCAAM,YAJR,QAAA,YAAY,GAIV,gCAAM,eAHR,QAAA,YAAY,GAGV,gCAAM,eAFR,QAAA,SAAS,GAEP,gCAAM,YADR,QAAA,KAAK,GACH,gCAAM,OAAC;AACX,kEAAqD;AAA5C,0GAAA,KAAK,OAAA","sourcesContent":["/* eslint-disable @typescript-eslint/unbound-method */\nimport client from './unified-client-factory';\nexport { createInstance } from './unified-client-factory';\nexport const {\n initAll,\n experiment,\n sr,\n add,\n extendSession,\n flush,\n getDeviceId,\n getSessionId,\n getUserId,\n groupIdentify,\n identify,\n logEvent,\n remove,\n reset,\n revenue,\n setDeviceId,\n setGroup,\n setOptOut,\n setSessionId,\n setTransport,\n setUserId,\n track,\n} = client;\nexport { Types } from '@amplitude/analytics-browser';\n"]}
@@ -0,0 +1,3 @@
1
+ import { Types } from '@amplitude/analytics-browser';
2
+ export declare const libraryPlugin: () => Types.EnrichmentPlugin;
3
+ //# sourceMappingURL=library.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../src/library.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAKrD,eAAO,MAAM,aAAa,QAAO,MAAM,gBAStC,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.libraryPlugin = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var version_1 = require("./version");
6
+ var LIBPREFIX = 'amplitude-ts-unified';
7
+ var libraryPlugin = function () {
8
+ return {
9
+ type: 'enrichment',
10
+ name: '@amplitude/unified-library-plugin',
11
+ execute: function (event) {
12
+ var _a;
13
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
14
+ return tslib_1.__generator(this, function (_b) {
15
+ event.library = "".concat(LIBPREFIX, "/").concat(version_1.VERSION, "-").concat((_a = event.library) !== null && _a !== void 0 ? _a : '');
16
+ return [2 /*return*/, event];
17
+ });
18
+ });
19
+ },
20
+ };
21
+ };
22
+ exports.libraryPlugin = libraryPlugin;
23
+ //# sourceMappingURL=library.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library.js","sourceRoot":"","sources":["../../src/library.ts"],"names":[],"mappings":";;;;AACA,qCAAoC;AAEpC,IAAM,SAAS,GAAG,sBAAsB,CAAC;AAElC,IAAM,aAAa,GAAG;IAC3B,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,mCAAmC;QACnC,OAAO,YAAC,KAAkB;;;;oBAC9B,KAAK,CAAC,OAAO,GAAG,UAAG,SAAS,cAAI,iBAAO,cAAI,MAAA,KAAK,CAAC,OAAO,mCAAI,EAAE,CAAE,CAAC;oBACjE,sBAAO,KAAK,EAAC;;;SACd;KACF,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,aAAa,iBASxB","sourcesContent":["import { Types } from '@amplitude/analytics-browser';\nimport { VERSION } from './version';\n\nconst LIBPREFIX = 'amplitude-ts-unified';\n\nexport const libraryPlugin = (): Types.EnrichmentPlugin => {\n return {\n type: 'enrichment',\n name: '@amplitude/unified-library-plugin',\n async execute(event: Types.Event): Promise<Types.Event | null> {\n event.library = `${LIBPREFIX}/${VERSION}-${event.library ?? ''}`;\n return event;\n },\n };\n};\n"]}
@@ -1,6 +1,6 @@
1
1
  import { AmplitudeBrowser } from '@amplitude/analytics-browser';
2
2
  import { AmplitudeSessionReplay, SessionReplayOptions } from '@amplitude/plugin-session-replay-browser';
3
- import { IExperimentClient, ExperimentConfig } from '@amplitude/plugin-experiment-browser';
3
+ import { IExperimentClient, ExperimentPluginConfig } from '@amplitude/plugin-experiment-browser';
4
4
  import { BrowserClient, BrowserOptions } from '@amplitude/analytics-core';
5
5
  export interface UnifiedSharedOptions {
6
6
  serverZone?: 'US' | 'EU';
@@ -8,31 +8,28 @@ export interface UnifiedSharedOptions {
8
8
  }
9
9
  export type UnifiedOptions = UnifiedSharedOptions & {
10
10
  analytics?: BrowserOptions;
11
- sr?: Omit<SessionReplayOptions, keyof UnifiedSharedOptions> | boolean;
12
- experiment?: Omit<ExperimentConfig, keyof UnifiedSharedOptions> | boolean;
11
+ sr?: Omit<SessionReplayOptions, keyof UnifiedSharedOptions>;
12
+ experiment?: Omit<ExperimentPluginConfig, keyof UnifiedSharedOptions>;
13
13
  };
14
14
  export interface UnifiedClient extends BrowserClient {
15
15
  initAll(apiKey: string, unifiedOptions?: UnifiedOptions): Promise<void>;
16
16
  sr: AmplitudeSessionReplay;
17
- experiment: IExperimentClient;
17
+ experiment: IExperimentClient | undefined;
18
18
  }
19
19
  export declare class AmplitudeUnified extends AmplitudeBrowser implements UnifiedClient {
20
- experiment: IExperimentClient;
21
20
  sr: AmplitudeSessionReplay;
21
+ get experiment(): IExperimentClient | undefined;
22
22
  /**
23
23
  * Initialize SDKs with configuration options.
24
- * Note that shared configuration in unifiedOptions will override the value in analyticsOptions.
25
- *
26
- * For example, the serverZone will be 'EU' for all SDKs.
27
- * ```
28
- * init('API_KEY', {serverZone: 'US'}, {serverZone: 'EU'});
29
- * ```
30
24
  *
31
25
  * @param apiKey Amplitude API key.
32
26
  * @param analyticsOptions Analytics configuration options. Refer to {@link https://amplitude.com/docs/sdks/analytics/browser/browser-sdk-2#configure-the-sdk here} for more info.
33
27
  * @param unifiedOptions Shared configuration for all SDKs and for blade SDKs.
34
28
  */
35
29
  initAll(apiKey: string, unifiedOptions?: UnifiedOptions): Promise<void>;
30
+ /**
31
+ * Only analytics SDK is initialized. Use initAll() instead to initialize all blade SDKs.
32
+ */
36
33
  init(apiKey?: string, userIdOrOptions?: string | BrowserOptions, maybeOptions?: BrowserOptions): import("@amplitude/analytics-core").AmplitudeReturn<void>;
37
34
  }
38
35
  //# sourceMappingURL=unified.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"unified.d.ts","sourceRoot":"","sources":["../../src/unified.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EAGrB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAGjB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE1E,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG;IAClD,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,EAAE,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,oBAAoB,CAAC,GAAG,OAAO,CAAC;IACtE,UAAU,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,oBAAoB,CAAC,GAAG,OAAO,CAAC;CAC3E,CAAC;AAEF,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,EAAE,EAAE,sBAAsB,CAAC;IAC3B,UAAU,EAAE,iBAAiB,CAAC;CAC/B;AAED,qBAAa,gBAAiB,SAAQ,gBAAiB,YAAW,aAAa;IAG7E,UAAU,EAAE,iBAAiB,CAAC;IAG9B,EAAE,EAAE,sBAAsB,CAAC;IAE3B;;;;;;;;;;;;OAYG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,cAAc;IAsC7D,IAAI,CAAC,MAAM,SAAK,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,YAAY,CAAC,EAAE,cAAc;CAO3F"}
1
+ {"version":3,"file":"unified.d.ts","sourceRoot":"","sources":["../../src/unified.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EAGrB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EAGvB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG1E,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG;IAClD,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,EAAE,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,oBAAoB,CAAC,CAAC;IAC5D,UAAU,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,MAAM,oBAAoB,CAAC,CAAC;CACvE,CAAC;AAEF,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,EAAE,EAAE,sBAAsB,CAAC;IAC3B,UAAU,EAAE,iBAAiB,GAAG,SAAS,CAAC;CAC3C;AAED,qBAAa,gBAAiB,SAAQ,gBAAiB,YAAW,aAAa;IAG7E,EAAE,EAAE,sBAAsB,CAAC;IAE3B,IAAI,UAAU,IAAI,iBAAiB,GAAG,SAAS,CAgB9C;IAED;;;;;;OAMG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,cAAc;IAqB7D;;OAEG;IAEH,IAAI,CAAC,MAAM,SAAK,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,YAAY,CAAC,EAAE,cAAc;CAI3F"}
@@ -5,19 +5,36 @@ var tslib_1 = require("tslib");
5
5
  var analytics_browser_1 = require("@amplitude/analytics-browser");
6
6
  var plugin_session_replay_browser_1 = require("@amplitude/plugin-session-replay-browser");
7
7
  var plugin_experiment_browser_1 = require("@amplitude/plugin-experiment-browser");
8
+ var library_1 = require("./library");
8
9
  var AmplitudeUnified = /** @class */ (function (_super) {
9
10
  tslib_1.__extends(AmplitudeUnified, _super);
10
11
  function AmplitudeUnified() {
11
12
  return _super !== null && _super.apply(this, arguments) || this;
12
13
  }
14
+ Object.defineProperty(AmplitudeUnified.prototype, "experiment", {
15
+ get: function () {
16
+ // Return when init() or initAll() is not called
17
+ if (this.config === undefined) {
18
+ return undefined;
19
+ }
20
+ var expPlugins = this.plugins(plugin_experiment_browser_1.ExperimentPlugin);
21
+ if (expPlugins.length === 0) {
22
+ this.config.loggerProvider.debug("".concat(plugin_experiment_browser_1.ExperimentPlugin.pluginName, " plugin is not found."));
23
+ return undefined;
24
+ }
25
+ else if (expPlugins.length === 1) {
26
+ return expPlugins[0].experiment;
27
+ }
28
+ else {
29
+ this.config.loggerProvider.debug("Multiple instances of ".concat(plugin_experiment_browser_1.ExperimentPlugin.pluginName, " are found."));
30
+ return undefined;
31
+ }
32
+ },
33
+ enumerable: false,
34
+ configurable: true
35
+ });
13
36
  /**
14
37
  * Initialize SDKs with configuration options.
15
- * Note that shared configuration in unifiedOptions will override the value in analyticsOptions.
16
- *
17
- * For example, the serverZone will be 'EU' for all SDKs.
18
- * ```
19
- * init('API_KEY', {serverZone: 'US'}, {serverZone: 'EU'});
20
- * ```
21
38
  *
22
39
  * @param apiKey Amplitude API key.
23
40
  * @param analyticsOptions Analytics configuration options. Refer to {@link https://amplitude.com/docs/sdks/analytics/browser/browser-sdk-2#configure-the-sdk here} for more info.
@@ -25,7 +42,7 @@ var AmplitudeUnified = /** @class */ (function (_super) {
25
42
  */
26
43
  AmplitudeUnified.prototype.initAll = function (apiKey, unifiedOptions) {
27
44
  return tslib_1.__awaiter(this, void 0, void 0, function () {
28
- var sharedOptions, srPlugin, expPlugin;
45
+ var sharedOptions, srPlugin;
29
46
  return tslib_1.__generator(this, function (_a) {
30
47
  switch (_a.label) {
31
48
  case 0:
@@ -33,40 +50,35 @@ var AmplitudeUnified = /** @class */ (function (_super) {
33
50
  serverZone: unifiedOptions === null || unifiedOptions === void 0 ? void 0 : unifiedOptions.serverZone,
34
51
  instanceName: unifiedOptions === null || unifiedOptions === void 0 ? void 0 : unifiedOptions.instanceName,
35
52
  };
53
+ _super.prototype.add.call(this, (0, library_1.libraryPlugin)());
36
54
  return [4 /*yield*/, _super.prototype.init.call(this, apiKey, tslib_1.__assign(tslib_1.__assign({}, unifiedOptions === null || unifiedOptions === void 0 ? void 0 : unifiedOptions.analytics), sharedOptions)).promise];
37
55
  case 1:
38
56
  _a.sent();
39
- if (!!(unifiedOptions === null || unifiedOptions === void 0 ? void 0 : unifiedOptions.sr)) return [3 /*break*/, 3];
40
- return [4 /*yield*/, _super.prototype.add.call(this, (0, plugin_session_replay_browser_1.sessionReplayPlugin)(tslib_1.__assign(tslib_1.__assign({}, (typeof (unifiedOptions === null || unifiedOptions === void 0 ? void 0 : unifiedOptions.sr) === 'boolean' ? {} : unifiedOptions === null || unifiedOptions === void 0 ? void 0 : unifiedOptions.sr)), sharedOptions))).promise];
57
+ return [4 /*yield*/, _super.prototype.add.call(this, (0, plugin_session_replay_browser_1.sessionReplayPlugin)(tslib_1.__assign(tslib_1.__assign({}, unifiedOptions === null || unifiedOptions === void 0 ? void 0 : unifiedOptions.sr), sharedOptions))).promise];
41
58
  case 2:
42
59
  _a.sent();
43
- _a.label = 3;
44
- case 3: return [4 /*yield*/, _super.prototype.add.call(this, (0, plugin_experiment_browser_1.experimentPlugin)(tslib_1.__assign(tslib_1.__assign({}, (typeof (unifiedOptions === null || unifiedOptions === void 0 ? void 0 : unifiedOptions.experiment) === 'boolean' ? {} : unifiedOptions === null || unifiedOptions === void 0 ? void 0 : unifiedOptions.experiment)), sharedOptions))).promise];
45
- case 4:
60
+ return [4 /*yield*/, _super.prototype.add.call(this, (0, plugin_experiment_browser_1.experimentPlugin)(tslib_1.__assign(tslib_1.__assign({}, unifiedOptions === null || unifiedOptions === void 0 ? void 0 : unifiedOptions.experiment), sharedOptions))).promise];
61
+ case 3:
46
62
  _a.sent();
47
- srPlugin = _super.prototype.plugin.call(this, plugin_session_replay_browser_1.SessionReplayPlugin.pluginName);
63
+ srPlugin = this.plugin(plugin_session_replay_browser_1.SessionReplayPlugin.pluginName);
48
64
  if (srPlugin === undefined) {
49
- this.config.loggerProvider.debug('SR plugin is not found.');
65
+ this.config.loggerProvider.debug("".concat(plugin_session_replay_browser_1.SessionReplayPlugin.pluginName, " plugin is not found."));
50
66
  }
51
67
  else {
52
68
  this.sr = srPlugin.sr;
53
69
  }
54
- expPlugin = _super.prototype.plugin.call(this, plugin_experiment_browser_1.ExperimentPlugin.pluginName);
55
- if (expPlugin === undefined) {
56
- this.config.loggerProvider.debug('Experiment plugin is not found.');
57
- }
58
- else {
59
- this.experiment = expPlugin.experiment;
60
- }
61
70
  return [2 /*return*/];
62
71
  }
63
72
  });
64
73
  });
65
74
  };
75
+ /**
76
+ * Only analytics SDK is initialized. Use initAll() instead to initialize all blade SDKs.
77
+ */
78
+ /* istanbul ignore next */
66
79
  AmplitudeUnified.prototype.init = function (apiKey, userIdOrOptions, maybeOptions) {
67
80
  if (apiKey === void 0) { apiKey = ''; }
68
81
  var res = _super.prototype.init.call(this, apiKey, userIdOrOptions, maybeOptions);
69
- this.config.loggerProvider.debug('Only analytics SDK is initialized. Use initAll() instead to initialize all blade SDKs.');
70
82
  return res;
71
83
  };
72
84
  return AmplitudeUnified;
@@ -1 +1 @@
1
- {"version":3,"file":"unified.js","sourceRoot":"","sources":["../../src/unified.ts"],"names":[],"mappings":";;;;AAAA,kEAAgE;AAChE,0FAKkD;AAClD,kFAK8C;AAoB9C;IAAsC,4CAAgB;IAAtD;;IAkEA,CAAC;IA1DC;;;;;;;;;;;;OAYG;IACG,kCAAO,GAAb,UAAc,MAAc,EAAE,cAA+B;;;;;;wBACrD,aAAa,GAAG;4BACpB,UAAU,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,UAAU;4BACtC,YAAY,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,YAAY;yBAC3C,CAAC;wBAEF,qBAAM,iBAAM,IAAI,YAAC,MAAM,wCAAO,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,SAAS,GAAK,aAAa,EAAG,CAAC,OAAO,EAAA;;wBAApF,SAAoF,CAAC;6BAEjF,CAAC,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,EAAE,CAAA,EAAnB,wBAAmB;wBACrB,qBAAM,iBAAM,GAAG,YACb,IAAA,mDAAmB,wCACd,CAAC,OAAO,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,EAAE,CAAA,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,EAAE,CAAC,GACnE,aAAa,EAChB,CACH,CAAC,OAAO,EAAA;;wBALT,SAKS,CAAC;;4BAEZ,qBAAM,iBAAM,GAAG,YACb,IAAA,4CAAgB,wCACX,CAAC,OAAO,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,UAAU,CAAA,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,UAAU,CAAC,GACnF,aAAa,EAChB,CACH,CAAC,OAAO,EAAA;;wBALT,SAKS,CAAC;wBAEJ,QAAQ,GAAG,iBAAM,MAAM,YAAC,mDAAmB,CAAC,UAAU,CAAC,CAAC;wBAC9D,IAAI,QAAQ,KAAK,SAAS,EAAE;4BAC1B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;yBAC7D;6BAAM;4BACL,IAAI,CAAC,EAAE,GAAI,QAAgC,CAAC,EAAE,CAAC;yBAChD;wBAEK,SAAS,GAAG,iBAAM,MAAM,YAAC,4CAAgB,CAAC,UAAU,CAAC,CAAC;wBAC5D,IAAI,SAAS,KAAK,SAAS,EAAE;4BAC3B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;yBACrE;6BAAM;4BACL,IAAI,CAAC,UAAU,GAAI,SAA8B,CAAC,UAAU,CAAC;yBAC9D;;;;;KACF;IAED,+BAAI,GAAJ,UAAK,MAAW,EAAE,eAAyC,EAAE,YAA6B;QAArF,uBAAA,EAAA,WAAW;QACd,IAAM,GAAG,GAAG,iBAAM,IAAI,YAAC,MAAM,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAC9B,wFAAwF,CACzF,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC;IACH,uBAAC;AAAD,CAAC,AAlED,CAAsC,oCAAgB,GAkErD;AAlEY,4CAAgB","sourcesContent":["import { AmplitudeBrowser } from '@amplitude/analytics-browser';\nimport {\n AmplitudeSessionReplay,\n SessionReplayOptions,\n sessionReplayPlugin,\n SessionReplayPlugin,\n} from '@amplitude/plugin-session-replay-browser';\nimport {\n IExperimentClient,\n ExperimentConfig,\n ExperimentPlugin,\n experimentPlugin,\n} from '@amplitude/plugin-experiment-browser';\nimport { BrowserClient, BrowserOptions } from '@amplitude/analytics-core';\n\nexport interface UnifiedSharedOptions {\n serverZone?: 'US' | 'EU';\n instanceName?: string;\n}\n\nexport type UnifiedOptions = UnifiedSharedOptions & {\n analytics?: BrowserOptions;\n sr?: Omit<SessionReplayOptions, keyof UnifiedSharedOptions> | boolean;\n experiment?: Omit<ExperimentConfig, keyof UnifiedSharedOptions> | boolean;\n};\n\nexport interface UnifiedClient extends BrowserClient {\n initAll(apiKey: string, unifiedOptions?: UnifiedOptions): Promise<void>;\n sr: AmplitudeSessionReplay;\n experiment: IExperimentClient;\n}\n\nexport class AmplitudeUnified extends AmplitudeBrowser implements UnifiedClient {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n experiment: IExperimentClient;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n sr: AmplitudeSessionReplay;\n\n /**\n * Initialize SDKs with configuration options.\n * Note that shared configuration in unifiedOptions will override the value in analyticsOptions.\n *\n * For example, the serverZone will be 'EU' for all SDKs.\n * ```\n * init('API_KEY', {serverZone: 'US'}, {serverZone: 'EU'});\n * ```\n *\n * @param apiKey Amplitude API key.\n * @param analyticsOptions Analytics configuration options. Refer to {@link https://amplitude.com/docs/sdks/analytics/browser/browser-sdk-2#configure-the-sdk here} for more info.\n * @param unifiedOptions Shared configuration for all SDKs and for blade SDKs.\n */\n async initAll(apiKey: string, unifiedOptions?: UnifiedOptions) {\n const sharedOptions = {\n serverZone: unifiedOptions?.serverZone,\n instanceName: unifiedOptions?.instanceName,\n };\n\n await super.init(apiKey, { ...unifiedOptions?.analytics, ...sharedOptions }).promise;\n\n if (!unifiedOptions?.sr) {\n await super.add(\n sessionReplayPlugin({\n ...(typeof unifiedOptions?.sr === 'boolean' ? {} : unifiedOptions?.sr),\n ...sharedOptions,\n }),\n ).promise;\n }\n await super.add(\n experimentPlugin({\n ...(typeof unifiedOptions?.experiment === 'boolean' ? {} : unifiedOptions?.experiment),\n ...sharedOptions,\n }),\n ).promise;\n\n const srPlugin = super.plugin(SessionReplayPlugin.pluginName);\n if (srPlugin === undefined) {\n this.config.loggerProvider.debug('SR plugin is not found.');\n } else {\n this.sr = (srPlugin as SessionReplayPlugin).sr;\n }\n\n const expPlugin = super.plugin(ExperimentPlugin.pluginName);\n if (expPlugin === undefined) {\n this.config.loggerProvider.debug('Experiment plugin is not found.');\n } else {\n this.experiment = (expPlugin as ExperimentPlugin).experiment;\n }\n }\n\n init(apiKey = '', userIdOrOptions?: string | BrowserOptions, maybeOptions?: BrowserOptions) {\n const res = super.init(apiKey, userIdOrOptions, maybeOptions);\n this.config.loggerProvider.debug(\n 'Only analytics SDK is initialized. Use initAll() instead to initialize all blade SDKs.',\n );\n return res;\n }\n}\n"]}
1
+ {"version":3,"file":"unified.js","sourceRoot":"","sources":["../../src/unified.ts"],"names":[],"mappings":";;;;AAAA,kEAAgE;AAChE,0FAKkD;AAClD,kFAK8C;AAE9C,qCAA0C;AAmB1C;IAAsC,4CAAgB;IAAtD;;IA2DA,CAAC;IAtDC,sBAAI,wCAAU;aAAd;YACE,gDAAgD;YAChD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;gBAC7B,OAAO,SAAS,CAAC;aAClB;YAED,IAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,4CAAgB,CAAC,CAAC;YAClD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC3B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,UAAG,4CAAgB,CAAC,UAAU,0BAAuB,CAAC,CAAC;gBACxF,OAAO,SAAS,CAAC;aAClB;iBAAM,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;aACjC;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,gCAAyB,4CAAgB,CAAC,UAAU,gBAAa,CAAC,CAAC;gBACpG,OAAO,SAAS,CAAC;aAClB;QACH,CAAC;;;OAAA;IAED;;;;;;OAMG;IACG,kCAAO,GAAb,UAAc,MAAc,EAAE,cAA+B;;;;;;wBACrD,aAAa,GAAG;4BACpB,UAAU,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,UAAU;4BACtC,YAAY,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,YAAY;yBAC3C,CAAC;wBAEF,iBAAM,GAAG,YAAC,IAAA,uBAAa,GAAE,CAAC,CAAC;wBAC3B,qBAAM,iBAAM,IAAI,YAAC,MAAM,wCAAO,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,SAAS,GAAK,aAAa,EAAG,CAAC,OAAO,EAAA;;wBAApF,SAAoF,CAAC;wBAErF,qBAAM,iBAAM,GAAG,YAAC,IAAA,mDAAmB,wCAAM,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,EAAE,GAAK,aAAa,EAAG,CAAC,CAAC,OAAO,EAAA;;wBAAzF,SAAyF,CAAC;wBAE1F,qBAAM,iBAAM,GAAG,YAAC,IAAA,4CAAgB,wCAAM,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,UAAU,GAAK,aAAa,EAAG,CAAC,CAAC,OAAO,EAAA;;wBAA9F,SAA8F,CAAC;wBAEzF,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,mDAAmB,CAAC,UAAU,CAAC,CAAC;wBAC7D,IAAI,QAAQ,KAAK,SAAS,EAAE;4BAC1B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,UAAG,mDAAmB,CAAC,UAAU,0BAAuB,CAAC,CAAC;yBAC5F;6BAAM;4BACL,IAAI,CAAC,EAAE,GAAI,QAAgC,CAAC,EAAE,CAAC;yBAChD;;;;;KACF;IAED;;OAEG;IACH,0BAA0B;IAC1B,+BAAI,GAAJ,UAAK,MAAW,EAAE,eAAyC,EAAE,YAA6B;QAArF,uBAAA,EAAA,WAAW;QACd,IAAM,GAAG,GAAG,iBAAM,IAAI,YAAC,MAAM,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC;IACH,uBAAC;AAAD,CAAC,AA3DD,CAAsC,oCAAgB,GA2DrD;AA3DY,4CAAgB","sourcesContent":["import { AmplitudeBrowser } from '@amplitude/analytics-browser';\nimport {\n AmplitudeSessionReplay,\n SessionReplayOptions,\n sessionReplayPlugin,\n SessionReplayPlugin,\n} from '@amplitude/plugin-session-replay-browser';\nimport {\n IExperimentClient,\n ExperimentPluginConfig,\n ExperimentPlugin,\n experimentPlugin,\n} from '@amplitude/plugin-experiment-browser';\nimport { BrowserClient, BrowserOptions } from '@amplitude/analytics-core';\nimport { libraryPlugin } from './library';\n\nexport interface UnifiedSharedOptions {\n serverZone?: 'US' | 'EU';\n instanceName?: string;\n}\n\nexport type UnifiedOptions = UnifiedSharedOptions & {\n analytics?: BrowserOptions;\n sr?: Omit<SessionReplayOptions, keyof UnifiedSharedOptions>;\n experiment?: Omit<ExperimentPluginConfig, keyof UnifiedSharedOptions>;\n};\n\nexport interface UnifiedClient extends BrowserClient {\n initAll(apiKey: string, unifiedOptions?: UnifiedOptions): Promise<void>;\n sr: AmplitudeSessionReplay;\n experiment: IExperimentClient | undefined;\n}\n\nexport class AmplitudeUnified extends AmplitudeBrowser implements UnifiedClient {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n sr: AmplitudeSessionReplay;\n\n get experiment(): IExperimentClient | undefined {\n // Return when init() or initAll() is not called\n if (this.config === undefined) {\n return undefined;\n }\n\n const expPlugins = this.plugins(ExperimentPlugin);\n if (expPlugins.length === 0) {\n this.config.loggerProvider.debug(`${ExperimentPlugin.pluginName} plugin is not found.`);\n return undefined;\n } else if (expPlugins.length === 1) {\n return expPlugins[0].experiment;\n } else {\n this.config.loggerProvider.debug(`Multiple instances of ${ExperimentPlugin.pluginName} are found.`);\n return undefined;\n }\n }\n\n /**\n * Initialize SDKs with configuration options.\n *\n * @param apiKey Amplitude API key.\n * @param analyticsOptions Analytics configuration options. Refer to {@link https://amplitude.com/docs/sdks/analytics/browser/browser-sdk-2#configure-the-sdk here} for more info.\n * @param unifiedOptions Shared configuration for all SDKs and for blade SDKs.\n */\n async initAll(apiKey: string, unifiedOptions?: UnifiedOptions) {\n const sharedOptions = {\n serverZone: unifiedOptions?.serverZone,\n instanceName: unifiedOptions?.instanceName,\n };\n\n super.add(libraryPlugin());\n await super.init(apiKey, { ...unifiedOptions?.analytics, ...sharedOptions }).promise;\n\n await super.add(sessionReplayPlugin({ ...unifiedOptions?.sr, ...sharedOptions })).promise;\n\n await super.add(experimentPlugin({ ...unifiedOptions?.experiment, ...sharedOptions })).promise;\n\n const srPlugin = this.plugin(SessionReplayPlugin.pluginName);\n if (srPlugin === undefined) {\n this.config.loggerProvider.debug(`${SessionReplayPlugin.pluginName} plugin is not found.`);\n } else {\n this.sr = (srPlugin as SessionReplayPlugin).sr;\n }\n }\n\n /**\n * Only analytics SDK is initialized. Use initAll() instead to initialize all blade SDKs.\n */\n /* istanbul ignore next */\n init(apiKey = '', userIdOrOptions?: string | BrowserOptions, maybeOptions?: BrowserOptions) {\n const res = super.init(apiKey, userIdOrOptions, maybeOptions);\n return res;\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export declare const VERSION = "1.0.0-beta.2";
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,iBAAiB,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VERSION = void 0;
4
+ exports.VERSION = '1.0.0-beta.2';
5
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,cAAc,CAAC","sourcesContent":["export const VERSION = '1.0.0-beta.2';\n"]}
@@ -1,4 +1,4 @@
1
1
  export { createInstance } from './unified-client-factory';
2
- export declare const initAll: (apiKey: string, unifiedOptions?: import("./unified").UnifiedOptions | undefined) => Promise<void>, experiment: import("@amplitude/experiment-js-client").Client, sr: import("@amplitude/session-replay-browser").AmplitudeSessionReplay, add: (plugin: import("@amplitude/analytics-core").Plugin<import("@amplitude/analytics-core").BrowserClient, import("@amplitude/analytics-core").BrowserConfig>) => import("@amplitude/analytics-core").AmplitudeReturn<void>, extendSession: () => void, flush: () => import("@amplitude/analytics-core").AmplitudeReturn<void>, getDeviceId: () => string | undefined, getSessionId: () => number | undefined, getUserId: () => string | undefined, groupIdentify: (groupType: string, groupName: string | string[], identify: import("@amplitude/analytics-core").IIdentify, eventOptions?: import("@amplitude/analytics-core").EventOptions | undefined) => import("@amplitude/analytics-core").AmplitudeReturn<import("@amplitude/analytics-core").Result>, identify: (identify: import("@amplitude/analytics-core").IIdentify, eventOptions?: import("@amplitude/analytics-core").EventOptions | undefined) => import("@amplitude/analytics-core").AmplitudeReturn<import("@amplitude/analytics-core").Result>, logEvent: (eventInput: string | import("@amplitude/analytics-core").BaseEvent, eventProperties?: Record<string, any> | undefined, eventOptions?: import("@amplitude/analytics-core").EventOptions | undefined) => import("@amplitude/analytics-core").AmplitudeReturn<import("@amplitude/analytics-core").Result>, remove: (pluginName: string) => import("@amplitude/analytics-core").AmplitudeReturn<void>, reset: () => void, revenue: (revenue: import("@amplitude/analytics-core").IRevenue, eventOptions?: import("@amplitude/analytics-core").EventOptions | undefined) => import("@amplitude/analytics-core").AmplitudeReturn<import("@amplitude/analytics-core").Result>, setDeviceId: (deviceId: string) => void, setGroup: (groupType: string, groupName: string | string[], eventOptions?: import("@amplitude/analytics-core").EventOptions | undefined) => import("@amplitude/analytics-core").AmplitudeReturn<import("@amplitude/analytics-core").Result>, setOptOut: (optOut: boolean) => void, setSessionId: (sessionId: number) => void, setTransport: (transport: import("@amplitude/analytics-core").TransportType) => void, setUserId: (userId: string | undefined) => void, track: (eventInput: string | import("@amplitude/analytics-core").BaseEvent, eventProperties?: Record<string, any> | undefined, eventOptions?: import("@amplitude/analytics-core").EventOptions | undefined) => import("@amplitude/analytics-core").AmplitudeReturn<import("@amplitude/analytics-core").Result>;
2
+ export declare const initAll: (apiKey: string, unifiedOptions?: import("./unified").UnifiedOptions | undefined) => Promise<void>, experiment: import("@amplitude/experiment-js-client").Client | undefined, sr: import("@amplitude/session-replay-browser").AmplitudeSessionReplay, add: (plugin: import("@amplitude/analytics-core").Plugin<import("@amplitude/analytics-core").BrowserClient, import("@amplitude/analytics-core").BrowserConfig>) => import("@amplitude/analytics-core").AmplitudeReturn<void>, extendSession: () => void, flush: () => import("@amplitude/analytics-core").AmplitudeReturn<void>, getDeviceId: () => string | undefined, getSessionId: () => number | undefined, getUserId: () => string | undefined, groupIdentify: (groupType: string, groupName: string | string[], identify: import("@amplitude/analytics-core").IIdentify, eventOptions?: import("@amplitude/analytics-core").EventOptions | undefined) => import("@amplitude/analytics-core").AmplitudeReturn<import("@amplitude/analytics-core").Result>, identify: (identify: import("@amplitude/analytics-core").IIdentify, eventOptions?: import("@amplitude/analytics-core").EventOptions | undefined) => import("@amplitude/analytics-core").AmplitudeReturn<import("@amplitude/analytics-core").Result>, logEvent: (eventInput: string | import("@amplitude/analytics-core").BaseEvent, eventProperties?: Record<string, any> | undefined, eventOptions?: import("@amplitude/analytics-core").EventOptions | undefined) => import("@amplitude/analytics-core").AmplitudeReturn<import("@amplitude/analytics-core").Result>, remove: (pluginName: string) => import("@amplitude/analytics-core").AmplitudeReturn<void>, reset: () => void, revenue: (revenue: import("@amplitude/analytics-core").IRevenue, eventOptions?: import("@amplitude/analytics-core").EventOptions | undefined) => import("@amplitude/analytics-core").AmplitudeReturn<import("@amplitude/analytics-core").Result>, setDeviceId: (deviceId: string) => void, setGroup: (groupType: string, groupName: string | string[], eventOptions?: import("@amplitude/analytics-core").EventOptions | undefined) => import("@amplitude/analytics-core").AmplitudeReturn<import("@amplitude/analytics-core").Result>, setOptOut: (optOut: boolean) => void, setSessionId: (sessionId: number) => void, setTransport: (transport: import("@amplitude/analytics-core").TransportType) => void, setUserId: (userId: string | undefined) => void, track: (eventInput: string | import("@amplitude/analytics-core").BaseEvent, eventProperties?: Record<string, any> | undefined, eventOptions?: import("@amplitude/analytics-core").EventOptions | undefined) => import("@amplitude/analytics-core").AmplitudeReturn<import("@amplitude/analytics-core").Result>;
3
3
  export { Types } from '@amplitude/analytics-browser';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,eAAO,MACL,OAAO,sGACP,UAAU,oDACV,EAAE,sEACF,GAAG,2NACH,aAAa,cACb,KAAK,mEACL,WAAW,4BACX,YAAY,4BACZ,SAAS,4BACT,aAAa,8RACb,QAAQ,6OACR,QAAQ,2SACR,MAAM,qFACN,KAAK,cACL,OAAO,2OACP,WAAW,8BACX,QAAQ,qOACR,SAAS,6BACT,YAAY,+BACZ,YAAY,0EACZ,SAAS,wCACT,KAAK,ySACG,CAAC;AACX,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,eAAO,MACL,OAAO,sGACP,UAAU,gEACV,EAAE,sEACF,GAAG,2NACH,aAAa,cACb,KAAK,mEACL,WAAW,4BACX,YAAY,4BACZ,SAAS,4BACT,aAAa,8RACb,QAAQ,6OACR,QAAQ,2SACR,MAAM,qFACN,KAAK,cACL,OAAO,2OACP,WAAW,8BACX,QAAQ,qOACR,SAAS,6BACT,YAAY,+BACZ,YAAY,0EACZ,SAAS,wCACT,KAAK,ySACG,CAAC;AACX,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC"}
package/lib/esm/index.js CHANGED
@@ -1,6 +1,6 @@
1
+ /* eslint-disable @typescript-eslint/unbound-method */
1
2
  import client from './unified-client-factory';
2
3
  export { createInstance } from './unified-client-factory';
3
- // eslint-disable-next-line @typescript-eslint/unbound-method
4
4
  export var initAll = client.initAll, experiment = client.experiment, sr = client.sr, add = client.add, extendSession = client.extendSession, flush = client.flush, getDeviceId = client.getDeviceId, getSessionId = client.getSessionId, getUserId = client.getUserId, groupIdentify = client.groupIdentify, identify = client.identify, logEvent = client.logEvent, remove = client.remove, reset = client.reset, revenue = client.revenue, setDeviceId = client.setDeviceId, setGroup = client.setGroup, setOptOut = client.setOptOut, setSessionId = client.setSessionId, setTransport = client.setTransport, setUserId = client.setUserId, track = client.track;
5
5
  export { Types } from '@amplitude/analytics-browser';
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,6DAA6D;AAC7D,MAAM,CACJ,IAAA,OAAO,GAsBL,MAAM,QAtBD,EACP,UAAU,GAqBR,MAAM,WArBE,EACV,EAAE,GAoBA,MAAM,GApBN,EACF,GAAG,GAmBD,MAAM,IAnBL,EACH,aAAa,GAkBX,MAAM,cAlBK,EACb,KAAK,GAiBH,MAAM,MAjBH,EACL,WAAW,GAgBT,MAAM,YAhBG,EACX,YAAY,GAeV,MAAM,aAfI,EACZ,SAAS,GAcP,MAAM,UAdC,EACT,aAAa,GAaX,MAAM,cAbK,EACb,QAAQ,GAYN,MAAM,SAZA,EACR,QAAQ,GAWN,MAAM,SAXA,EACR,MAAM,GAUJ,MAAM,OAVF,EACN,KAAK,GASH,MAAM,MATH,EACL,OAAO,GAQL,MAAM,QARD,EACP,WAAW,GAOT,MAAM,YAPG,EACX,QAAQ,GAMN,MAAM,SANA,EACR,SAAS,GAKP,MAAM,UALC,EACT,YAAY,GAIV,MAAM,aAJI,EACZ,YAAY,GAGV,MAAM,aAHI,EACZ,SAAS,GAEP,MAAM,UAFC,EACT,KAAK,GACH,MAAM,MADH,CACI;AACX,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC","sourcesContent":["import client from './unified-client-factory';\nexport { createInstance } from './unified-client-factory';\n// eslint-disable-next-line @typescript-eslint/unbound-method\nexport const {\n initAll,\n experiment,\n sr,\n add,\n extendSession,\n flush,\n getDeviceId,\n getSessionId,\n getUserId,\n groupIdentify,\n identify,\n logEvent,\n remove,\n reset,\n revenue,\n setDeviceId,\n setGroup,\n setOptOut,\n setSessionId,\n setTransport,\n setUserId,\n track,\n} = client;\nexport { Types } from '@amplitude/analytics-browser';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,MAAM,CACJ,IAAA,OAAO,GAsBL,MAAM,QAtBD,EACP,UAAU,GAqBR,MAAM,WArBE,EACV,EAAE,GAoBA,MAAM,GApBN,EACF,GAAG,GAmBD,MAAM,IAnBL,EACH,aAAa,GAkBX,MAAM,cAlBK,EACb,KAAK,GAiBH,MAAM,MAjBH,EACL,WAAW,GAgBT,MAAM,YAhBG,EACX,YAAY,GAeV,MAAM,aAfI,EACZ,SAAS,GAcP,MAAM,UAdC,EACT,aAAa,GAaX,MAAM,cAbK,EACb,QAAQ,GAYN,MAAM,SAZA,EACR,QAAQ,GAWN,MAAM,SAXA,EACR,MAAM,GAUJ,MAAM,OAVF,EACN,KAAK,GASH,MAAM,MATH,EACL,OAAO,GAQL,MAAM,QARD,EACP,WAAW,GAOT,MAAM,YAPG,EACX,QAAQ,GAMN,MAAM,SANA,EACR,SAAS,GAKP,MAAM,UALC,EACT,YAAY,GAIV,MAAM,aAJI,EACZ,YAAY,GAGV,MAAM,aAHI,EACZ,SAAS,GAEP,MAAM,UAFC,EACT,KAAK,GACH,MAAM,MADH,CACI;AACX,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/unbound-method */\nimport client from './unified-client-factory';\nexport { createInstance } from './unified-client-factory';\nexport const {\n initAll,\n experiment,\n sr,\n add,\n extendSession,\n flush,\n getDeviceId,\n getSessionId,\n getUserId,\n groupIdentify,\n identify,\n logEvent,\n remove,\n reset,\n revenue,\n setDeviceId,\n setGroup,\n setOptOut,\n setSessionId,\n setTransport,\n setUserId,\n track,\n} = client;\nexport { Types } from '@amplitude/analytics-browser';\n"]}
@@ -0,0 +1,3 @@
1
+ import { Types } from '@amplitude/analytics-browser';
2
+ export declare const libraryPlugin: () => Types.EnrichmentPlugin;
3
+ //# sourceMappingURL=library.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../src/library.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAKrD,eAAO,MAAM,aAAa,QAAO,MAAM,gBAStC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { __awaiter, __generator } from "tslib";
2
+ import { VERSION } from './version';
3
+ var LIBPREFIX = 'amplitude-ts-unified';
4
+ export var libraryPlugin = function () {
5
+ return {
6
+ type: 'enrichment',
7
+ name: '@amplitude/unified-library-plugin',
8
+ execute: function (event) {
9
+ var _a;
10
+ return __awaiter(this, void 0, void 0, function () {
11
+ return __generator(this, function (_b) {
12
+ event.library = "".concat(LIBPREFIX, "/").concat(VERSION, "-").concat((_a = event.library) !== null && _a !== void 0 ? _a : '');
13
+ return [2 /*return*/, event];
14
+ });
15
+ });
16
+ },
17
+ };
18
+ };
19
+ //# sourceMappingURL=library.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library.js","sourceRoot":"","sources":["../../src/library.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,IAAM,SAAS,GAAG,sBAAsB,CAAC;AAEzC,MAAM,CAAC,IAAM,aAAa,GAAG;IAC3B,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,mCAAmC;QACnC,OAAO,YAAC,KAAkB;;;;oBAC9B,KAAK,CAAC,OAAO,GAAG,UAAG,SAAS,cAAI,OAAO,cAAI,MAAA,KAAK,CAAC,OAAO,mCAAI,EAAE,CAAE,CAAC;oBACjE,sBAAO,KAAK,EAAC;;;SACd;KACF,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { Types } from '@amplitude/analytics-browser';\nimport { VERSION } from './version';\n\nconst LIBPREFIX = 'amplitude-ts-unified';\n\nexport const libraryPlugin = (): Types.EnrichmentPlugin => {\n return {\n type: 'enrichment',\n name: '@amplitude/unified-library-plugin',\n async execute(event: Types.Event): Promise<Types.Event | null> {\n event.library = `${LIBPREFIX}/${VERSION}-${event.library ?? ''}`;\n return event;\n },\n };\n};\n"]}
@@ -1,6 +1,6 @@
1
1
  import { AmplitudeBrowser } from '@amplitude/analytics-browser';
2
2
  import { AmplitudeSessionReplay, SessionReplayOptions } from '@amplitude/plugin-session-replay-browser';
3
- import { IExperimentClient, ExperimentConfig } from '@amplitude/plugin-experiment-browser';
3
+ import { IExperimentClient, ExperimentPluginConfig } from '@amplitude/plugin-experiment-browser';
4
4
  import { BrowserClient, BrowserOptions } from '@amplitude/analytics-core';
5
5
  export interface UnifiedSharedOptions {
6
6
  serverZone?: 'US' | 'EU';
@@ -8,31 +8,28 @@ export interface UnifiedSharedOptions {
8
8
  }
9
9
  export type UnifiedOptions = UnifiedSharedOptions & {
10
10
  analytics?: BrowserOptions;
11
- sr?: Omit<SessionReplayOptions, keyof UnifiedSharedOptions> | boolean;
12
- experiment?: Omit<ExperimentConfig, keyof UnifiedSharedOptions> | boolean;
11
+ sr?: Omit<SessionReplayOptions, keyof UnifiedSharedOptions>;
12
+ experiment?: Omit<ExperimentPluginConfig, keyof UnifiedSharedOptions>;
13
13
  };
14
14
  export interface UnifiedClient extends BrowserClient {
15
15
  initAll(apiKey: string, unifiedOptions?: UnifiedOptions): Promise<void>;
16
16
  sr: AmplitudeSessionReplay;
17
- experiment: IExperimentClient;
17
+ experiment: IExperimentClient | undefined;
18
18
  }
19
19
  export declare class AmplitudeUnified extends AmplitudeBrowser implements UnifiedClient {
20
- experiment: IExperimentClient;
21
20
  sr: AmplitudeSessionReplay;
21
+ get experiment(): IExperimentClient | undefined;
22
22
  /**
23
23
  * Initialize SDKs with configuration options.
24
- * Note that shared configuration in unifiedOptions will override the value in analyticsOptions.
25
- *
26
- * For example, the serverZone will be 'EU' for all SDKs.
27
- * ```
28
- * init('API_KEY', {serverZone: 'US'}, {serverZone: 'EU'});
29
- * ```
30
24
  *
31
25
  * @param apiKey Amplitude API key.
32
26
  * @param analyticsOptions Analytics configuration options. Refer to {@link https://amplitude.com/docs/sdks/analytics/browser/browser-sdk-2#configure-the-sdk here} for more info.
33
27
  * @param unifiedOptions Shared configuration for all SDKs and for blade SDKs.
34
28
  */
35
29
  initAll(apiKey: string, unifiedOptions?: UnifiedOptions): Promise<void>;
30
+ /**
31
+ * Only analytics SDK is initialized. Use initAll() instead to initialize all blade SDKs.
32
+ */
36
33
  init(apiKey?: string, userIdOrOptions?: string | BrowserOptions, maybeOptions?: BrowserOptions): import("@amplitude/analytics-core").AmplitudeReturn<void>;
37
34
  }
38
35
  //# sourceMappingURL=unified.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"unified.d.ts","sourceRoot":"","sources":["../../src/unified.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EAGrB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAGjB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE1E,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG;IAClD,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,EAAE,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,oBAAoB,CAAC,GAAG,OAAO,CAAC;IACtE,UAAU,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,oBAAoB,CAAC,GAAG,OAAO,CAAC;CAC3E,CAAC;AAEF,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,EAAE,EAAE,sBAAsB,CAAC;IAC3B,UAAU,EAAE,iBAAiB,CAAC;CAC/B;AAED,qBAAa,gBAAiB,SAAQ,gBAAiB,YAAW,aAAa;IAG7E,UAAU,EAAE,iBAAiB,CAAC;IAG9B,EAAE,EAAE,sBAAsB,CAAC;IAE3B;;;;;;;;;;;;OAYG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,cAAc;IAsC7D,IAAI,CAAC,MAAM,SAAK,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,YAAY,CAAC,EAAE,cAAc;CAO3F"}
1
+ {"version":3,"file":"unified.d.ts","sourceRoot":"","sources":["../../src/unified.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EAGrB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EAGvB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG1E,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG;IAClD,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,EAAE,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,oBAAoB,CAAC,CAAC;IAC5D,UAAU,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,MAAM,oBAAoB,CAAC,CAAC;CACvE,CAAC;AAEF,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,EAAE,EAAE,sBAAsB,CAAC;IAC3B,UAAU,EAAE,iBAAiB,GAAG,SAAS,CAAC;CAC3C;AAED,qBAAa,gBAAiB,SAAQ,gBAAiB,YAAW,aAAa;IAG7E,EAAE,EAAE,sBAAsB,CAAC;IAE3B,IAAI,UAAU,IAAI,iBAAiB,GAAG,SAAS,CAgB9C;IAED;;;;;;OAMG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,cAAc;IAqB7D;;OAEG;IAEH,IAAI,CAAC,MAAM,SAAK,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,YAAY,CAAC,EAAE,cAAc;CAI3F"}
@@ -2,19 +2,36 @@ import { __assign, __awaiter, __extends, __generator } from "tslib";
2
2
  import { AmplitudeBrowser } from '@amplitude/analytics-browser';
3
3
  import { sessionReplayPlugin, SessionReplayPlugin, } from '@amplitude/plugin-session-replay-browser';
4
4
  import { ExperimentPlugin, experimentPlugin, } from '@amplitude/plugin-experiment-browser';
5
+ import { libraryPlugin } from './library';
5
6
  var AmplitudeUnified = /** @class */ (function (_super) {
6
7
  __extends(AmplitudeUnified, _super);
7
8
  function AmplitudeUnified() {
8
9
  return _super !== null && _super.apply(this, arguments) || this;
9
10
  }
11
+ Object.defineProperty(AmplitudeUnified.prototype, "experiment", {
12
+ get: function () {
13
+ // Return when init() or initAll() is not called
14
+ if (this.config === undefined) {
15
+ return undefined;
16
+ }
17
+ var expPlugins = this.plugins(ExperimentPlugin);
18
+ if (expPlugins.length === 0) {
19
+ this.config.loggerProvider.debug("".concat(ExperimentPlugin.pluginName, " plugin is not found."));
20
+ return undefined;
21
+ }
22
+ else if (expPlugins.length === 1) {
23
+ return expPlugins[0].experiment;
24
+ }
25
+ else {
26
+ this.config.loggerProvider.debug("Multiple instances of ".concat(ExperimentPlugin.pluginName, " are found."));
27
+ return undefined;
28
+ }
29
+ },
30
+ enumerable: false,
31
+ configurable: true
32
+ });
10
33
  /**
11
34
  * Initialize SDKs with configuration options.
12
- * Note that shared configuration in unifiedOptions will override the value in analyticsOptions.
13
- *
14
- * For example, the serverZone will be 'EU' for all SDKs.
15
- * ```
16
- * init('API_KEY', {serverZone: 'US'}, {serverZone: 'EU'});
17
- * ```
18
35
  *
19
36
  * @param apiKey Amplitude API key.
20
37
  * @param analyticsOptions Analytics configuration options. Refer to {@link https://amplitude.com/docs/sdks/analytics/browser/browser-sdk-2#configure-the-sdk here} for more info.
@@ -22,7 +39,7 @@ var AmplitudeUnified = /** @class */ (function (_super) {
22
39
  */
23
40
  AmplitudeUnified.prototype.initAll = function (apiKey, unifiedOptions) {
24
41
  return __awaiter(this, void 0, void 0, function () {
25
- var sharedOptions, srPlugin, expPlugin;
42
+ var sharedOptions, srPlugin;
26
43
  return __generator(this, function (_a) {
27
44
  switch (_a.label) {
28
45
  case 0:
@@ -30,40 +47,35 @@ var AmplitudeUnified = /** @class */ (function (_super) {
30
47
  serverZone: unifiedOptions === null || unifiedOptions === void 0 ? void 0 : unifiedOptions.serverZone,
31
48
  instanceName: unifiedOptions === null || unifiedOptions === void 0 ? void 0 : unifiedOptions.instanceName,
32
49
  };
50
+ _super.prototype.add.call(this, libraryPlugin());
33
51
  return [4 /*yield*/, _super.prototype.init.call(this, apiKey, __assign(__assign({}, unifiedOptions === null || unifiedOptions === void 0 ? void 0 : unifiedOptions.analytics), sharedOptions)).promise];
34
52
  case 1:
35
53
  _a.sent();
36
- if (!!(unifiedOptions === null || unifiedOptions === void 0 ? void 0 : unifiedOptions.sr)) return [3 /*break*/, 3];
37
- return [4 /*yield*/, _super.prototype.add.call(this, sessionReplayPlugin(__assign(__assign({}, (typeof (unifiedOptions === null || unifiedOptions === void 0 ? void 0 : unifiedOptions.sr) === 'boolean' ? {} : unifiedOptions === null || unifiedOptions === void 0 ? void 0 : unifiedOptions.sr)), sharedOptions))).promise];
54
+ return [4 /*yield*/, _super.prototype.add.call(this, sessionReplayPlugin(__assign(__assign({}, unifiedOptions === null || unifiedOptions === void 0 ? void 0 : unifiedOptions.sr), sharedOptions))).promise];
38
55
  case 2:
39
56
  _a.sent();
40
- _a.label = 3;
41
- case 3: return [4 /*yield*/, _super.prototype.add.call(this, experimentPlugin(__assign(__assign({}, (typeof (unifiedOptions === null || unifiedOptions === void 0 ? void 0 : unifiedOptions.experiment) === 'boolean' ? {} : unifiedOptions === null || unifiedOptions === void 0 ? void 0 : unifiedOptions.experiment)), sharedOptions))).promise];
42
- case 4:
57
+ return [4 /*yield*/, _super.prototype.add.call(this, experimentPlugin(__assign(__assign({}, unifiedOptions === null || unifiedOptions === void 0 ? void 0 : unifiedOptions.experiment), sharedOptions))).promise];
58
+ case 3:
43
59
  _a.sent();
44
- srPlugin = _super.prototype.plugin.call(this, SessionReplayPlugin.pluginName);
60
+ srPlugin = this.plugin(SessionReplayPlugin.pluginName);
45
61
  if (srPlugin === undefined) {
46
- this.config.loggerProvider.debug('SR plugin is not found.');
62
+ this.config.loggerProvider.debug("".concat(SessionReplayPlugin.pluginName, " plugin is not found."));
47
63
  }
48
64
  else {
49
65
  this.sr = srPlugin.sr;
50
66
  }
51
- expPlugin = _super.prototype.plugin.call(this, ExperimentPlugin.pluginName);
52
- if (expPlugin === undefined) {
53
- this.config.loggerProvider.debug('Experiment plugin is not found.');
54
- }
55
- else {
56
- this.experiment = expPlugin.experiment;
57
- }
58
67
  return [2 /*return*/];
59
68
  }
60
69
  });
61
70
  });
62
71
  };
72
+ /**
73
+ * Only analytics SDK is initialized. Use initAll() instead to initialize all blade SDKs.
74
+ */
75
+ /* istanbul ignore next */
63
76
  AmplitudeUnified.prototype.init = function (apiKey, userIdOrOptions, maybeOptions) {
64
77
  if (apiKey === void 0) { apiKey = ''; }
65
78
  var res = _super.prototype.init.call(this, apiKey, userIdOrOptions, maybeOptions);
66
- this.config.loggerProvider.debug('Only analytics SDK is initialized. Use initAll() instead to initialize all blade SDKs.');
67
79
  return res;
68
80
  };
69
81
  return AmplitudeUnified;
@@ -1 +1 @@
1
- {"version":3,"file":"unified.js","sourceRoot":"","sources":["../../src/unified.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAGL,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAGL,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,sCAAsC,CAAC;AAoB9C;IAAsC,oCAAgB;IAAtD;;IAkEA,CAAC;IA1DC;;;;;;;;;;;;OAYG;IACG,kCAAO,GAAb,UAAc,MAAc,EAAE,cAA+B;;;;;;wBACrD,aAAa,GAAG;4BACpB,UAAU,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,UAAU;4BACtC,YAAY,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,YAAY;yBAC3C,CAAC;wBAEF,qBAAM,iBAAM,IAAI,YAAC,MAAM,wBAAO,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,SAAS,GAAK,aAAa,EAAG,CAAC,OAAO,EAAA;;wBAApF,SAAoF,CAAC;6BAEjF,CAAC,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,EAAE,CAAA,EAAnB,wBAAmB;wBACrB,qBAAM,iBAAM,GAAG,YACb,mBAAmB,uBACd,CAAC,OAAO,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,EAAE,CAAA,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,EAAE,CAAC,GACnE,aAAa,EAChB,CACH,CAAC,OAAO,EAAA;;wBALT,SAKS,CAAC;;4BAEZ,qBAAM,iBAAM,GAAG,YACb,gBAAgB,uBACX,CAAC,OAAO,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,UAAU,CAAA,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,UAAU,CAAC,GACnF,aAAa,EAChB,CACH,CAAC,OAAO,EAAA;;wBALT,SAKS,CAAC;wBAEJ,QAAQ,GAAG,iBAAM,MAAM,YAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;wBAC9D,IAAI,QAAQ,KAAK,SAAS,EAAE;4BAC1B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;yBAC7D;6BAAM;4BACL,IAAI,CAAC,EAAE,GAAI,QAAgC,CAAC,EAAE,CAAC;yBAChD;wBAEK,SAAS,GAAG,iBAAM,MAAM,YAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;wBAC5D,IAAI,SAAS,KAAK,SAAS,EAAE;4BAC3B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;yBACrE;6BAAM;4BACL,IAAI,CAAC,UAAU,GAAI,SAA8B,CAAC,UAAU,CAAC;yBAC9D;;;;;KACF;IAED,+BAAI,GAAJ,UAAK,MAAW,EAAE,eAAyC,EAAE,YAA6B;QAArF,uBAAA,EAAA,WAAW;QACd,IAAM,GAAG,GAAG,iBAAM,IAAI,YAAC,MAAM,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAC9B,wFAAwF,CACzF,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC;IACH,uBAAC;AAAD,CAAC,AAlED,CAAsC,gBAAgB,GAkErD","sourcesContent":["import { AmplitudeBrowser } from '@amplitude/analytics-browser';\nimport {\n AmplitudeSessionReplay,\n SessionReplayOptions,\n sessionReplayPlugin,\n SessionReplayPlugin,\n} from '@amplitude/plugin-session-replay-browser';\nimport {\n IExperimentClient,\n ExperimentConfig,\n ExperimentPlugin,\n experimentPlugin,\n} from '@amplitude/plugin-experiment-browser';\nimport { BrowserClient, BrowserOptions } from '@amplitude/analytics-core';\n\nexport interface UnifiedSharedOptions {\n serverZone?: 'US' | 'EU';\n instanceName?: string;\n}\n\nexport type UnifiedOptions = UnifiedSharedOptions & {\n analytics?: BrowserOptions;\n sr?: Omit<SessionReplayOptions, keyof UnifiedSharedOptions> | boolean;\n experiment?: Omit<ExperimentConfig, keyof UnifiedSharedOptions> | boolean;\n};\n\nexport interface UnifiedClient extends BrowserClient {\n initAll(apiKey: string, unifiedOptions?: UnifiedOptions): Promise<void>;\n sr: AmplitudeSessionReplay;\n experiment: IExperimentClient;\n}\n\nexport class AmplitudeUnified extends AmplitudeBrowser implements UnifiedClient {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n experiment: IExperimentClient;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n sr: AmplitudeSessionReplay;\n\n /**\n * Initialize SDKs with configuration options.\n * Note that shared configuration in unifiedOptions will override the value in analyticsOptions.\n *\n * For example, the serverZone will be 'EU' for all SDKs.\n * ```\n * init('API_KEY', {serverZone: 'US'}, {serverZone: 'EU'});\n * ```\n *\n * @param apiKey Amplitude API key.\n * @param analyticsOptions Analytics configuration options. Refer to {@link https://amplitude.com/docs/sdks/analytics/browser/browser-sdk-2#configure-the-sdk here} for more info.\n * @param unifiedOptions Shared configuration for all SDKs and for blade SDKs.\n */\n async initAll(apiKey: string, unifiedOptions?: UnifiedOptions) {\n const sharedOptions = {\n serverZone: unifiedOptions?.serverZone,\n instanceName: unifiedOptions?.instanceName,\n };\n\n await super.init(apiKey, { ...unifiedOptions?.analytics, ...sharedOptions }).promise;\n\n if (!unifiedOptions?.sr) {\n await super.add(\n sessionReplayPlugin({\n ...(typeof unifiedOptions?.sr === 'boolean' ? {} : unifiedOptions?.sr),\n ...sharedOptions,\n }),\n ).promise;\n }\n await super.add(\n experimentPlugin({\n ...(typeof unifiedOptions?.experiment === 'boolean' ? {} : unifiedOptions?.experiment),\n ...sharedOptions,\n }),\n ).promise;\n\n const srPlugin = super.plugin(SessionReplayPlugin.pluginName);\n if (srPlugin === undefined) {\n this.config.loggerProvider.debug('SR plugin is not found.');\n } else {\n this.sr = (srPlugin as SessionReplayPlugin).sr;\n }\n\n const expPlugin = super.plugin(ExperimentPlugin.pluginName);\n if (expPlugin === undefined) {\n this.config.loggerProvider.debug('Experiment plugin is not found.');\n } else {\n this.experiment = (expPlugin as ExperimentPlugin).experiment;\n }\n }\n\n init(apiKey = '', userIdOrOptions?: string | BrowserOptions, maybeOptions?: BrowserOptions) {\n const res = super.init(apiKey, userIdOrOptions, maybeOptions);\n this.config.loggerProvider.debug(\n 'Only analytics SDK is initialized. Use initAll() instead to initialize all blade SDKs.',\n );\n return res;\n }\n}\n"]}
1
+ {"version":3,"file":"unified.js","sourceRoot":"","sources":["../../src/unified.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAGL,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAGL,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAmB1C;IAAsC,oCAAgB;IAAtD;;IA2DA,CAAC;IAtDC,sBAAI,wCAAU;aAAd;YACE,gDAAgD;YAChD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;gBAC7B,OAAO,SAAS,CAAC;aAClB;YAED,IAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAClD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC3B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,UAAG,gBAAgB,CAAC,UAAU,0BAAuB,CAAC,CAAC;gBACxF,OAAO,SAAS,CAAC;aAClB;iBAAM,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;aACjC;iBAAM;gBACL,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,gCAAyB,gBAAgB,CAAC,UAAU,gBAAa,CAAC,CAAC;gBACpG,OAAO,SAAS,CAAC;aAClB;QACH,CAAC;;;OAAA;IAED;;;;;;OAMG;IACG,kCAAO,GAAb,UAAc,MAAc,EAAE,cAA+B;;;;;;wBACrD,aAAa,GAAG;4BACpB,UAAU,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,UAAU;4BACtC,YAAY,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,YAAY;yBAC3C,CAAC;wBAEF,iBAAM,GAAG,YAAC,aAAa,EAAE,CAAC,CAAC;wBAC3B,qBAAM,iBAAM,IAAI,YAAC,MAAM,wBAAO,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,SAAS,GAAK,aAAa,EAAG,CAAC,OAAO,EAAA;;wBAApF,SAAoF,CAAC;wBAErF,qBAAM,iBAAM,GAAG,YAAC,mBAAmB,uBAAM,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,EAAE,GAAK,aAAa,EAAG,CAAC,CAAC,OAAO,EAAA;;wBAAzF,SAAyF,CAAC;wBAE1F,qBAAM,iBAAM,GAAG,YAAC,gBAAgB,uBAAM,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,UAAU,GAAK,aAAa,EAAG,CAAC,CAAC,OAAO,EAAA;;wBAA9F,SAA8F,CAAC;wBAEzF,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;wBAC7D,IAAI,QAAQ,KAAK,SAAS,EAAE;4BAC1B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,UAAG,mBAAmB,CAAC,UAAU,0BAAuB,CAAC,CAAC;yBAC5F;6BAAM;4BACL,IAAI,CAAC,EAAE,GAAI,QAAgC,CAAC,EAAE,CAAC;yBAChD;;;;;KACF;IAED;;OAEG;IACH,0BAA0B;IAC1B,+BAAI,GAAJ,UAAK,MAAW,EAAE,eAAyC,EAAE,YAA6B;QAArF,uBAAA,EAAA,WAAW;QACd,IAAM,GAAG,GAAG,iBAAM,IAAI,YAAC,MAAM,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC;IACH,uBAAC;AAAD,CAAC,AA3DD,CAAsC,gBAAgB,GA2DrD","sourcesContent":["import { AmplitudeBrowser } from '@amplitude/analytics-browser';\nimport {\n AmplitudeSessionReplay,\n SessionReplayOptions,\n sessionReplayPlugin,\n SessionReplayPlugin,\n} from '@amplitude/plugin-session-replay-browser';\nimport {\n IExperimentClient,\n ExperimentPluginConfig,\n ExperimentPlugin,\n experimentPlugin,\n} from '@amplitude/plugin-experiment-browser';\nimport { BrowserClient, BrowserOptions } from '@amplitude/analytics-core';\nimport { libraryPlugin } from './library';\n\nexport interface UnifiedSharedOptions {\n serverZone?: 'US' | 'EU';\n instanceName?: string;\n}\n\nexport type UnifiedOptions = UnifiedSharedOptions & {\n analytics?: BrowserOptions;\n sr?: Omit<SessionReplayOptions, keyof UnifiedSharedOptions>;\n experiment?: Omit<ExperimentPluginConfig, keyof UnifiedSharedOptions>;\n};\n\nexport interface UnifiedClient extends BrowserClient {\n initAll(apiKey: string, unifiedOptions?: UnifiedOptions): Promise<void>;\n sr: AmplitudeSessionReplay;\n experiment: IExperimentClient | undefined;\n}\n\nexport class AmplitudeUnified extends AmplitudeBrowser implements UnifiedClient {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n sr: AmplitudeSessionReplay;\n\n get experiment(): IExperimentClient | undefined {\n // Return when init() or initAll() is not called\n if (this.config === undefined) {\n return undefined;\n }\n\n const expPlugins = this.plugins(ExperimentPlugin);\n if (expPlugins.length === 0) {\n this.config.loggerProvider.debug(`${ExperimentPlugin.pluginName} plugin is not found.`);\n return undefined;\n } else if (expPlugins.length === 1) {\n return expPlugins[0].experiment;\n } else {\n this.config.loggerProvider.debug(`Multiple instances of ${ExperimentPlugin.pluginName} are found.`);\n return undefined;\n }\n }\n\n /**\n * Initialize SDKs with configuration options.\n *\n * @param apiKey Amplitude API key.\n * @param analyticsOptions Analytics configuration options. Refer to {@link https://amplitude.com/docs/sdks/analytics/browser/browser-sdk-2#configure-the-sdk here} for more info.\n * @param unifiedOptions Shared configuration for all SDKs and for blade SDKs.\n */\n async initAll(apiKey: string, unifiedOptions?: UnifiedOptions) {\n const sharedOptions = {\n serverZone: unifiedOptions?.serverZone,\n instanceName: unifiedOptions?.instanceName,\n };\n\n super.add(libraryPlugin());\n await super.init(apiKey, { ...unifiedOptions?.analytics, ...sharedOptions }).promise;\n\n await super.add(sessionReplayPlugin({ ...unifiedOptions?.sr, ...sharedOptions })).promise;\n\n await super.add(experimentPlugin({ ...unifiedOptions?.experiment, ...sharedOptions })).promise;\n\n const srPlugin = this.plugin(SessionReplayPlugin.pluginName);\n if (srPlugin === undefined) {\n this.config.loggerProvider.debug(`${SessionReplayPlugin.pluginName} plugin is not found.`);\n } else {\n this.sr = (srPlugin as SessionReplayPlugin).sr;\n }\n }\n\n /**\n * Only analytics SDK is initialized. Use initAll() instead to initialize all blade SDKs.\n */\n /* istanbul ignore next */\n init(apiKey = '', userIdOrOptions?: string | BrowserOptions, maybeOptions?: BrowserOptions) {\n const res = super.init(apiKey, userIdOrOptions, maybeOptions);\n return res;\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export declare const VERSION = "1.0.0-beta.2";
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export var VERSION = '1.0.0-beta.2';
2
+ //# sourceMappingURL=version.js.map