@useblu/blu-lytics 1.0.14 → 1.0.16

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.
@@ -7,7 +7,8 @@ import { EventData, PropertiesType, UserPropertiesType } from './dispatchers.typ
7
7
  */
8
8
  export declare const dispatchEventToAllProviders: (eventData: EventData) => void;
9
9
  declare const sendScreenEvent: (screen: string) => void;
10
+ declare const setDefaultProperties: (properties: PropertiesType) => void;
10
11
  declare const sendCustomEvent: (event: string, properties: PropertiesType) => void;
11
12
  declare const sendUserIdentification: (id: string, userProperties: UserPropertiesType) => void;
12
- export { sendCustomEvent, sendScreenEvent, sendUserIdentification };
13
+ export { sendCustomEvent, sendScreenEvent, sendUserIdentification, setDefaultProperties, };
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dispatchers/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGpF;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,cAAe,SAAS,KAAG,IA2BlE,CAAC;AAIF,QAAA,MAAM,eAAe,WAAY,MAAM,KAAG,IAMzC,CAAC;AAEF,QAAA,MAAM,eAAe,UAAW,MAAM,cAAc,cAAc,KAAG,IAQpE,CAAC;AAEF,QAAA,MAAM,sBAAsB,OACtB,MAAM,kBACM,kBAAkB,KACjC,IAQF,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dispatchers/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,SAAS,EACT,cAAc,EACd,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAG7B;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,cAAe,SAAS,KAAG,IAkClE,CAAC;AAOF,QAAA,MAAM,eAAe,WAAY,MAAM,KAAG,IAMzC,CAAC;AAeF,QAAA,MAAM,oBAAoB,eAAgB,cAAc,KAAG,IAG1D,CAAC;AAEF,QAAA,MAAM,eAAe,UAAW,MAAM,cAAc,cAAc,KAAG,IAyBpE,CAAC;AAEF,QAAA,MAAM,sBAAsB,OACtB,MAAM,kBACM,kBAAkB,KACjC,IAUF,CAAC;AAEF,OAAO,EACL,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,oBAAoB,GACrB,CAAC"}
@@ -1,3 +1,14 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
1
12
  /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
2
13
  import { providersList } from '../providers';
3
14
  import { checkIfMixPanelIsInitialized } from '../utils';
@@ -10,51 +21,84 @@ import { checkIfMixPanelIsInitialized } from '../utils';
10
21
  export var dispatchEventToAllProviders = function (eventData) {
11
22
  var localStorageProvidersList = JSON.parse(localStorage === null || localStorage === void 0 ? void 0 : localStorage.getItem('_bl_providers'));
12
23
  var providersFiltered = localStorageProvidersList
13
- ? providersList.filter(function (item) { return localStorageProvidersList.includes(item.name); })
24
+ ? providersList.filter(function (item) {
25
+ return localStorageProvidersList.includes(item.name);
26
+ })
14
27
  : providersList;
15
28
  if (providersFiltered.length > 0) {
16
29
  providersFiltered.forEach(function (provider) {
17
30
  checkIfMixPanelIsInitialized(provider.name);
18
31
  var actions = {
19
- screenEvent: function () { return provider.screenEvent
20
- && eventData.screen
21
- && provider.screenEvent(eventData.screen); },
22
- customEvent: function () { return provider.customEvent
23
- && eventData.event
24
- && eventData.properties
25
- && provider.customEvent(eventData.event, eventData.properties); },
26
- userIdentification: function () { return provider.userIdentification
27
- && eventData.id
28
- && eventData.userProperties
29
- && provider.userIdentification(eventData.id, eventData.userProperties); }
32
+ screenEvent: function () {
33
+ return provider.screenEvent &&
34
+ eventData.screen &&
35
+ provider.screenEvent(eventData.screen);
36
+ },
37
+ customEvent: function () {
38
+ return provider.customEvent &&
39
+ eventData.event &&
40
+ eventData.properties &&
41
+ provider.customEvent(eventData.event, eventData.properties);
42
+ },
43
+ userIdentification: function () {
44
+ return provider.userIdentification &&
45
+ eventData.id &&
46
+ eventData.userProperties &&
47
+ provider.userIdentification(eventData.id, eventData.userProperties);
48
+ }
30
49
  };
31
50
  Object.values(actions).forEach(function (action) { return action(); });
32
51
  });
33
52
  }
34
53
  };
35
- var currentEnvironment = localStorage.getItem('_bl_env') || 'development';
54
+ var getIsDevelopment = function () {
55
+ var currentEnvironment = localStorage.getItem('_bl_env') || 'development';
56
+ return currentEnvironment === 'development';
57
+ };
36
58
  var sendScreenEvent = function (screen) {
37
- if (currentEnvironment === 'development') {
59
+ if (getIsDevelopment()) {
38
60
  console.log("[blu-lytics]: Screen event: ".concat(screen));
39
61
  }
40
62
  else {
41
63
  dispatchEventToAllProviders({ screen: screen });
42
64
  }
43
65
  };
66
+ var saveDefaultPropertiesToLocalStorage = function (properties) {
67
+ localStorage.setItem('_bl_props', JSON.stringify(properties));
68
+ };
69
+ var loadDefaultPropertiesFromLocalStorage = function () {
70
+ var storedProperties = localStorage.getItem('_bl_props');
71
+ return storedProperties ? JSON.parse(storedProperties) : {};
72
+ };
73
+ var defaultProperties = loadDefaultPropertiesFromLocalStorage();
74
+ var setDefaultProperties = function (properties) {
75
+ defaultProperties = __assign({}, properties);
76
+ saveDefaultPropertiesToLocalStorage(defaultProperties);
77
+ };
44
78
  var sendCustomEvent = function (event, properties) {
45
- if (currentEnvironment === 'development') {
46
- console.log("[blu-lytics]: Custom event: ".concat(event, " - ").concat(JSON.stringify(properties)));
79
+ var rawStoredProperties = localStorage.getItem('_bl_props');
80
+ if (rawStoredProperties) {
81
+ try {
82
+ defaultProperties = JSON.parse(rawStoredProperties);
83
+ }
84
+ catch (error) {
85
+ console.error('[blu-lytics] Failed to parse stored properties', error);
86
+ }
87
+ }
88
+ var mergedProperties = __assign(__assign({}, defaultProperties), properties);
89
+ if (getIsDevelopment()) {
90
+ console.log("[blu-lytics]: Custom event: ".concat(event, " - ").concat(JSON.stringify(mergedProperties)));
47
91
  }
48
92
  else {
49
- dispatchEventToAllProviders({ event: event, properties: properties });
93
+ dispatchEventToAllProviders({ event: event, properties: mergedProperties });
50
94
  }
51
95
  };
52
96
  var sendUserIdentification = function (id, userProperties) {
53
- if (currentEnvironment === 'development') {
97
+ if (getIsDevelopment()) {
54
98
  console.log("[blu-lytics]: User identification: ".concat(id, " - ").concat(JSON.stringify(userProperties)));
55
99
  }
56
100
  else {
57
101
  dispatchEventToAllProviders({ id: id, userProperties: userProperties });
58
102
  }
59
103
  };
60
- export { sendCustomEvent, sendScreenEvent, sendUserIdentification };
104
+ export { sendCustomEvent, sendScreenEvent, sendUserIdentification, setDefaultProperties, };
package/lib/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export { initializeProviders } from './initializers';
2
- export { sendCustomEvent, sendScreenEvent, sendUserIdentification } from './dispatchers';
2
+ export { sendCustomEvent, sendScreenEvent, sendUserIdentification, setDefaultProperties, } from './dispatchers';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EACL,eAAe,EAAE,eAAe,EAAE,sBAAsB,EAAE,oBAAoB,GAC/E,MAAM,eAAe,CAAC"}
package/lib/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  export { initializeProviders } from './initializers';
2
- export { sendCustomEvent, sendScreenEvent, sendUserIdentification } from './dispatchers';
2
+ export { sendCustomEvent, sendScreenEvent, sendUserIdentification, setDefaultProperties, } from './dispatchers';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@useblu/blu-lytics",
3
- "version": "1.0.14",
3
+ "version": "1.0.16",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "main": "lib/index.js",
@@ -61,4 +61,4 @@
61
61
  "access": "public"
62
62
  },
63
63
  "sideEffects": false
64
- }
64
+ }