@deriv-com/analytics 1.5.3 → 1.5.5

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.
@@ -10,7 +10,7 @@ type Options = {
10
10
  };
11
11
  export declare function createAnalyticsInstance(options?: Options): {
12
12
  initialise: ({ growthbookKey, growthbookDecryptionKey, rudderstackKey, growthbookOptions }: Options) => void;
13
- setAttributes: ({ country, user_language, device_language, device_type, account_type, user_id, app_id, utm_source, utm_medium, utm_campaign, is_authorised, url, }: TCoreAttributes) => void;
13
+ setAttributes: ({ country, user_language, device_language, device_type, account_type, user_id, app_id, utm_source, utm_medium, utm_campaign, is_authorised, url, domain, }: TCoreAttributes) => void;
14
14
  identifyEvent: () => void;
15
15
  getFeatureState: (id: string) => string | undefined;
16
16
  getFeatureValue: <K extends string | number, V extends GrowthbookConfigs[K]>(id: K, defaultValue: V) => import("@growthbook/growthbook").WidenPrimitives<V>;
@@ -27,7 +27,7 @@ export declare function createAnalyticsInstance(options?: Options): {
27
27
  };
28
28
  export declare const Analytics: {
29
29
  initialise: ({ growthbookKey, growthbookDecryptionKey, rudderstackKey, growthbookOptions }: Options) => void;
30
- setAttributes: ({ country, user_language, device_language, device_type, account_type, user_id, app_id, utm_source, utm_medium, utm_campaign, is_authorised, url, }: TCoreAttributes) => void;
30
+ setAttributes: ({ country, user_language, device_language, device_type, account_type, user_id, app_id, utm_source, utm_medium, utm_campaign, is_authorised, url, domain, }: TCoreAttributes) => void;
31
31
  identifyEvent: () => void;
32
32
  getFeatureState: (id: string) => string | undefined;
33
33
  getFeatureValue: <K extends string | number, V extends GrowthbookConfigs[K]>(id: K, defaultValue: V) => import("@growthbook/growthbook").WidenPrimitives<V>;
package/lib/analytics.js CHANGED
@@ -30,7 +30,7 @@ function createAnalyticsInstance(options) {
30
30
  }
31
31
  };
32
32
  var setAttributes = function (_a) {
33
- var country = _a.country, user_language = _a.user_language, device_language = _a.device_language, device_type = _a.device_type, account_type = _a.account_type, user_id = _a.user_id, app_id = _a.app_id, utm_source = _a.utm_source, utm_medium = _a.utm_medium, utm_campaign = _a.utm_campaign, is_authorised = _a.is_authorised, url = _a.url;
33
+ var country = _a.country, user_language = _a.user_language, device_language = _a.device_language, device_type = _a.device_type, account_type = _a.account_type, user_id = _a.user_id, app_id = _a.app_id, utm_source = _a.utm_source, utm_medium = _a.utm_medium, utm_campaign = _a.utm_campaign, is_authorised = _a.is_authorised, url = _a.url, domain = _a.domain;
34
34
  if (!_growthbook && !_rudderstack)
35
35
  return;
36
36
  var user_identity = user_id !== null && user_id !== void 0 ? user_id : getId();
@@ -47,9 +47,10 @@ function createAnalyticsInstance(options) {
47
47
  utm_campaign: utm_campaign,
48
48
  is_authorised: is_authorised,
49
49
  url: url,
50
+ domain: domain,
50
51
  });
51
52
  }
52
- core_data = __assign(__assign(__assign(__assign(__assign(__assign({}, (user_language !== undefined && { user_language: user_language })), (account_type !== undefined && { account_type: account_type })), (app_id !== undefined && { app_id: app_id })), (device_type !== undefined && { device_type: device_type })), (user_identity !== undefined && { user_identity: user_identity })), (url !== undefined && { url: url }));
53
+ core_data = __assign(__assign(__assign(__assign(__assign(__assign(__assign({}, core_data), (user_language !== undefined && { user_language: user_language })), (account_type !== undefined && { account_type: account_type })), (app_id !== undefined && { app_id: app_id })), (device_type !== undefined && { device_type: device_type })), (user_identity !== undefined && { user_identity: user_identity })), (url !== undefined && { url: url }));
53
54
  };
54
55
  var getFeatureState = function (id) { var _a, _b; return (_b = (_a = _growthbook === null || _growthbook === void 0 ? void 0 : _growthbook.getFeatureState(id)) === null || _a === void 0 ? void 0 : _a.experimentResult) === null || _b === void 0 ? void 0 : _b.name; };
55
56
  var getFeatureValue = function (id, defaultValue) { return _growthbook === null || _growthbook === void 0 ? void 0 : _growthbook.getFeatureValue(id, defaultValue); };
@@ -10,7 +10,7 @@ export declare class Growthbook {
10
10
  private static _instance;
11
11
  constructor(clientKey: string, decryptionKey: string, settings?: Partial<Context>);
12
12
  static getGrowthBookInstance: (clientKey: string, decryptionKey: string, growthbookOptions?: Partial<Context>) => Growthbook;
13
- setAttributes: ({ id, country, user_language, device_language, device_type, utm_source, utm_medium, utm_campaign, is_authorised, url, }: TGrowthbookAttributes) => void;
13
+ setAttributes: ({ id, country, user_language, device_language, device_type, utm_source, utm_medium, utm_campaign, is_authorised, url, domain, utm_content, }: TGrowthbookAttributes) => void;
14
14
  getFeatureValue: <K extends string | number, V extends GrowthbookConfigs[K]>(key: K, defaultValue: V) => import("@growthbook/growthbook").WidenPrimitives<V>;
15
15
  getFeatureState: (id: string) => import("@growthbook/growthbook").FeatureResult<string | boolean | Record<string, boolean> | [] | null>;
16
16
  setUrl: (href: string) => Promise<void>;
package/lib/growthbook.js CHANGED
@@ -43,8 +43,9 @@ var Growthbook = /** @class */ (function () {
43
43
  if (settings === void 0) { settings = {}; }
44
44
  var _this = this;
45
45
  this.setAttributes = function (_a) {
46
- var id = _a.id, country = _a.country, user_language = _a.user_language, device_language = _a.device_language, device_type = _a.device_type, utm_source = _a.utm_source, utm_medium = _a.utm_medium, utm_campaign = _a.utm_campaign, is_authorised = _a.is_authorised, url = _a.url;
47
- _this.GrowthBook.setAttributes(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({ id: id }, (country !== undefined && { country: country })), (user_language !== undefined && { user_language: user_language })), (device_language !== undefined && { device_language: device_language })), (device_type !== undefined && { device_type: device_type })), (utm_source !== undefined && { utm_source: utm_source })), (utm_medium !== undefined && { utm_medium: utm_medium })), (utm_campaign !== undefined && { utm_campaign: utm_campaign })), (is_authorised !== undefined && { is_authorised: is_authorised })), (url !== undefined && { url: url })));
46
+ var id = _a.id, country = _a.country, user_language = _a.user_language, device_language = _a.device_language, device_type = _a.device_type, utm_source = _a.utm_source, utm_medium = _a.utm_medium, utm_campaign = _a.utm_campaign, is_authorised = _a.is_authorised, url = _a.url, domain = _a.domain, utm_content = _a.utm_content;
47
+ var CURRENT_ATTRIBUTES = _this.GrowthBook.getAttributes();
48
+ _this.GrowthBook.setAttributes(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, CURRENT_ATTRIBUTES), { id: id }), (country !== undefined && { country: country })), (user_language !== undefined && { user_language: user_language })), (device_language !== undefined && { device_language: device_language })), (device_type !== undefined && { device_type: device_type })), (utm_source !== undefined && { utm_source: utm_source })), (utm_medium !== undefined && { utm_medium: utm_medium })), (utm_campaign !== undefined && { utm_campaign: utm_campaign })), (is_authorised !== undefined && { is_authorised: is_authorised })), (url !== undefined && { url: url })), (domain !== undefined && { domain: domain })), (utm_content !== undefined && { utm_content: utm_content })));
48
49
  };
49
50
  this.getFeatureValue = function (key, defaultValue) {
50
51
  return _this.GrowthBook.getFeatureValue(key, defaultValue);
package/lib/types.d.ts CHANGED
@@ -9,6 +9,8 @@ export type TGrowthbookAttributes = {
9
9
  utm_campaign?: string;
10
10
  is_authorised?: boolean;
11
11
  url?: string;
12
+ domain?: string;
13
+ utm_content?: string;
12
14
  };
13
15
  export type TCoreAttributes = {
14
16
  account_type?: string;
@@ -223,23 +225,36 @@ type UpgradeMT5BannerAction = {
223
225
  };
224
226
  type TradersHubDashboardFormAction = {
225
227
  action?: 'open' | 'close' | 'switch_account_mode' | 'account_open' | 'account_get' | 'account_logo_push' | 'reset_balance' | 'deposit_balance' | 'compare_accounts_push';
226
- form_source?: 'deriv_apps_dashboard' | 'tradershub_onboarding_form' | 'deriv_trader' | 'dtrader_account_form';
227
- account_mode?: 'demo' | 'real';
228
+ account_mode?: string;
228
229
  account_name?: string;
230
+ form_name?: string;
229
231
  };
230
232
  type PassKeyEffortlessFormAction = {
231
233
  action?: 'open' | 'close' | 'info_open' | 'info_back' | 'maybe_later' | 'get_started';
232
- form_source?: 'ce_passkey_effortless_form' | 'ce_passkey_effortless_form_p2p' | 'ce_passkey_effortless_form_derivgo';
233
- operating_system?: 'IOS' | 'Android' | 'other';
234
+ form_source?: string;
235
+ operating_system?: string;
234
236
  app_id?: string;
235
237
  };
236
238
  type PassKeyAccountSettingsFormAction = {
237
239
  action?: 'open' | 'close' | 'info_open' | 'info_back' | 'create_passkey_started' | 'create_passkey_reminder_passed' | 'create_passkey_finished' | 'create_passkey_continue_trading' | 'error' | 'add_more_passkeys';
238
- form_source?: 'ce_passkey_account_settings_form' | 'ce_passkey_account_settings_form_derivgo' | 'ce_passkey_account_settings_form_p2p';
239
- subform_name?: 'passkey_main' | 'passkey_info' | 'passekey_rename' | 'passkey_remove' | 'success';
240
- remove_verification_provider?: 'email' | 'device';
240
+ form_source?: string;
241
+ subform_name?: string;
242
+ remove_verification_provider?: string;
241
243
  error_message?: string;
242
- operating_system?: 'IOS' | 'Android' | 'other';
244
+ operating_system?: string;
245
+ };
246
+ type TradersHubPopUpAction = {
247
+ action?: 'open' | 'close' | 'click_download';
248
+ form_name?: string;
249
+ account_mode?: string;
250
+ popup_name?: string;
251
+ popup_type?: string;
252
+ };
253
+ type TradersHubBanner = {
254
+ action?: 'open' | 'close' | 'click download';
255
+ form_name?: string;
256
+ account_mode?: string;
257
+ banner_name?: string;
243
258
  };
244
259
  export type TEvents = {
245
260
  ce_virtual_signup_form: VirtualSignupForm;
@@ -263,5 +278,7 @@ export type TEvents = {
263
278
  ce_tradershub_dashboard_form: TradersHubDashboardFormAction;
264
279
  ce_passkey_effortless_form: PassKeyEffortlessFormAction;
265
280
  ce_passkey_account_settings_form: PassKeyAccountSettingsFormAction;
281
+ ce_tradershub_popup: TradersHubPopUpAction;
282
+ ce_tradershub_banner: TradersHubBanner;
266
283
  };
267
284
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deriv-com/analytics",
3
- "version": "1.5.3",
3
+ "version": "1.5.5",
4
4
  "description": "The analytics package contains all the utility functions used for tracking user events and sending them to the respective platform such as Rudderstack.",
5
5
  "keywords": [
6
6
  "rudderstack",