@deriv-com/analytics 1.5.3 → 1.5.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -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",