@clix-so/react-native-sdk 0.0.1 → 0.0.2-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 (47) hide show
  1. package/README.md +51 -5
  2. package/lib/module/core/Clix.js +9 -7
  3. package/lib/module/core/Clix.js.map +1 -1
  4. package/lib/module/core/ClixNotification.js +122 -0
  5. package/lib/module/core/ClixNotification.js.map +1 -0
  6. package/lib/module/services/DeviceService.js +27 -19
  7. package/lib/module/services/DeviceService.js.map +1 -1
  8. package/lib/module/services/EventAPIService.js +7 -1
  9. package/lib/module/services/EventAPIService.js.map +1 -1
  10. package/lib/module/services/EventService.js +8 -5
  11. package/lib/module/services/EventService.js.map +1 -1
  12. package/lib/module/services/NotificationService.js +92 -49
  13. package/lib/module/services/NotificationService.js.map +1 -1
  14. package/lib/module/services/StorageService.js +52 -15
  15. package/lib/module/services/StorageService.js.map +1 -1
  16. package/lib/module/services/TokenService.js +13 -13
  17. package/lib/module/services/TokenService.js.map +1 -1
  18. package/lib/module/utils/ClixDateFormatter.js +19 -0
  19. package/lib/module/utils/ClixDateFormatter.js.map +1 -0
  20. package/lib/typescript/src/core/Clix.d.ts +11 -11
  21. package/lib/typescript/src/core/Clix.d.ts.map +1 -1
  22. package/lib/typescript/src/core/ClixNotification.d.ts +25 -0
  23. package/lib/typescript/src/core/ClixNotification.d.ts.map +1 -0
  24. package/lib/typescript/src/services/DeviceService.d.ts +3 -2
  25. package/lib/typescript/src/services/DeviceService.d.ts.map +1 -1
  26. package/lib/typescript/src/services/EventAPIService.d.ts +1 -1
  27. package/lib/typescript/src/services/EventAPIService.d.ts.map +1 -1
  28. package/lib/typescript/src/services/EventService.d.ts +1 -1
  29. package/lib/typescript/src/services/EventService.d.ts.map +1 -1
  30. package/lib/typescript/src/services/NotificationService.d.ts +21 -1
  31. package/lib/typescript/src/services/NotificationService.d.ts.map +1 -1
  32. package/lib/typescript/src/services/StorageService.d.ts +11 -6
  33. package/lib/typescript/src/services/StorageService.d.ts.map +1 -1
  34. package/lib/typescript/src/services/TokenService.d.ts +5 -5
  35. package/lib/typescript/src/services/TokenService.d.ts.map +1 -1
  36. package/lib/typescript/src/utils/ClixDateFormatter.d.ts +4 -0
  37. package/lib/typescript/src/utils/ClixDateFormatter.d.ts.map +1 -0
  38. package/package.json +2 -2
  39. package/src/core/Clix.ts +17 -21
  40. package/src/core/ClixNotification.ts +157 -0
  41. package/src/services/DeviceService.ts +35 -20
  42. package/src/services/EventAPIService.ts +5 -1
  43. package/src/services/EventService.ts +13 -5
  44. package/src/services/NotificationService.ts +148 -54
  45. package/src/services/StorageService.ts +60 -16
  46. package/src/services/TokenService.ts +13 -15
  47. package/src/utils/ClixDateFormatter.ts +19 -0
package/README.md CHANGED
@@ -37,12 +37,58 @@ npx expo install @notifee/react-native @react-native-firebase/app @react-native-
37
37
 
38
38
  **react-native-mmkv Version Selection (Critical)**
39
39
 
40
- | React Native Version | Architecture | react-native-mmkv Version |
41
- |---------------------|-------------|---------------------------|
42
- | **0.70-0.73** | Old Architecture | `^2.12.2` |
43
- | **0.74+** | New Architecture | `^3.0.1+` |
40
+ This SDK supports multiple versions of react-native-mmkv to ensure compatibility across different React Native versions:
44
41
 
45
- ⚠️ **New Architecture Requirement**: react-native-mmkv v3.x requires React Native's New Architecture (TurboModules) to be enabled.
42
+ | React Native Version | Architecture | Recommended MMKV Version | Notes |
43
+ |---------------------|-------------|--------------------------|-------|
44
+ | **0.70-0.73** | Old Architecture | `^2.12.2` | Stable, well-tested |
45
+ | **0.74+** | New Architecture | `^3.0.0` or `^4.0.0` | Requires TurboModules enabled |
46
+ | **0.75+** | Old/New Architecture | `^4.0.0` | Full Nitro support |
47
+
48
+ **Flexible Installation**: This SDK's `peerDependencies` allows `react-native-mmkv` versions `^2.12.2 || ^3.0.0 || ^4.0.0`, so you can choose the version that matches your React Native setup. The StorageService automatically detects and uses the correct API for your installed version.
49
+
50
+ **Example installations:**
51
+ ```bash
52
+ # For React Native 0.70-0.73 (Old Architecture)
53
+ npm install react-native-mmkv@^2.12.2
54
+
55
+ # For React Native 0.74+ (New Architecture)
56
+ npm install react-native-mmkv@^3.0.0
57
+ # or
58
+ npm install react-native-mmkv@^4.0.0
59
+
60
+ # For React Native 0.75+ (Recommended)
61
+ npm install react-native-mmkv@^4.0.1
62
+ ```
63
+
64
+ ⚠️ **Important Notes**:
65
+ - MMKV v3.x and v4.x (on RN 0.74) require React Native's New Architecture (TurboModules) to be enabled
66
+ - MMKV v4.x on RN 0.75+ supports both architectures with Nitro
67
+ - The SDK automatically detects which MMKV API version is available and uses the appropriate interface
68
+
69
+ **Additional Setup for MMKV v4.x**:
70
+
71
+ When using MMKV v4.0.0 or higher, you must also install `react-native-nitro-modules`:
72
+
73
+ ```bash
74
+ npm install react-native-nitro-modules
75
+ # or
76
+ yarn add react-native-nitro-modules
77
+ ```
78
+
79
+ **iOS Pod Installation Troubleshooting**:
80
+
81
+ If you encounter pod installation errors with MMKV v4.x, add the following line to your `ios/Podfile` after the `prepare_react_native_project!` line:
82
+
83
+ ```ruby
84
+ platform :ios, min_ios_version_supported
85
+ prepare_react_native_project!
86
+
87
+ # Add this line for MMKV v4.x compatibility
88
+ use_frameworks! :linkage => :static
89
+ ```
90
+
91
+ This configures CocoaPods to use static frameworks, which resolves compatibility issues with Nitro modules. For more details, see the [MMKV V4 Troubleshooting Guide](https://github.com/mrousavy/react-native-mmkv/blob/main/docs/V4_UPGRADE_GUIDE.md#troubleshooting).
46
92
 
47
93
  **Important Setup Note**: uuid requires react-native-get-random-values polyfill:
48
94
  ```javascript
@@ -11,8 +11,10 @@ import { TokenService } from "../services/TokenService.js";
11
11
  import { ClixError } from "../utils/ClixError.js";
12
12
  import { ClixLogger, ClixLogLevel } from "../utils/logging/ClixLogger.js";
13
13
  import { ClixInitCoordinator } from "./ClixInitCoordinator.js";
14
+ import { ClixNotification } from "./ClixNotification.js";
14
15
  export class Clix {
15
16
  static initCoordinator = new ClixInitCoordinator();
17
+ static Notification = ClixNotification.shared;
16
18
  constructor() {}
17
19
 
18
20
  /**
@@ -142,7 +144,7 @@ export class Clix {
142
144
  }
143
145
 
144
146
  /**
145
- * Get push token
147
+ * @deprecated Use Clix.Notification.getToken() instead.
146
148
  */
147
149
  static async getPushToken() {
148
150
  try {
@@ -168,11 +170,11 @@ export class Clix {
168
170
  /**
169
171
  * Track event
170
172
  */
171
- static async trackEvent(name, options) {
173
+ static async trackEvent(name, properties = {}) {
172
174
  try {
173
175
  await Clix.initCoordinator.waitForInitialization();
174
176
  if (this.shared?.eventService) {
175
- await this.shared.eventService.trackEvent(name, options?.properties, options?.messageId);
177
+ await this.shared.eventService.trackEvent(name, properties);
176
178
  }
177
179
  } catch (error) {
178
180
  ClixLogger.error(`Failed to track event: ${error}`);
@@ -183,11 +185,11 @@ export class Clix {
183
185
  * Set configuration
184
186
  */
185
187
  async setConfig(config) {
186
- this.storageService = new StorageService();
188
+ this.storageService = new StorageService(config.projectId);
187
189
  try {
188
- await this.storageService.set('project_id', config.projectId);
189
- await this.storageService.set('api_key', config.apiKey);
190
- await this.storageService.set('clix_config', {
190
+ this.storageService.set('project_id', config.projectId);
191
+ this.storageService.set('api_key', config.apiKey);
192
+ this.storageService.set('clix_config', {
191
193
  projectId: config.projectId,
192
194
  apiKey: config.apiKey,
193
195
  endpoint: config.endpoint,
@@ -1 +1 @@
1
- {"version":3,"names":["ClixAPIClient","DeviceAPIService","DeviceService","EventAPIService","EventService","NotificationService","StorageService","TokenService","ClixError","ClixLogger","ClixLogLevel","ClixInitCoordinator","Clix","initCoordinator","constructor","initialize","config","isInitializationFailed","reset","setLogLevel","logLevel","ERROR","debug","shared","setConfig","completeInitialization","error","errorInstance","Error","String","failInitialization","notInitialized","cause","setUserId","userId","waitForInitialization","deviceService","setProjectUserId","removeUserId","removeProjectUserId","setUserProperty","key","value","updateUserProperties","setUserProperties","userProperties","removeUserProperty","removeUserProperties","keys","getDeviceId","deviceId","getCurrentDeviceId","undefined","getPushToken","notificationService","token","getCurrentToken","level","trackEvent","name","options","eventService","properties","messageId","storageService","set","projectId","apiKey","endpoint","extraHeaders","warn","apiClient","deviceAPIService","eventAPIService","tokenService","getInstance"],"sourceRoot":"../../../src","sources":["core/Clix.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,8BAA2B;AACzD,SAASC,gBAAgB,QAAQ,iCAA8B;AAC/D,SAASC,aAAa,QAAQ,8BAA2B;AACzD,SAASC,eAAe,QAAQ,gCAA6B;AAC7D,SAASC,YAAY,QAAQ,6BAA0B;AACvD,SAASC,mBAAmB,QAAQ,oCAAiC;AACrE,SAASC,cAAc,QAAQ,+BAA4B;AAC3D,SAASC,YAAY,QAAQ,6BAA0B;AACvD,SAASC,SAAS,QAAQ,uBAAoB;AAC9C,SAASC,UAAU,EAAEC,YAAY,QAAQ,gCAA6B;AAEtE,SAASC,mBAAmB,QAAQ,0BAAuB;AAE3D,OAAO,MAAMC,IAAI,CAAC;EAEhB,OAAeC,eAAe,GAAG,IAAIF,mBAAmB,CAAC,CAAC;EAOlDG,WAAWA,CAAA,EAAG,CAAC;;EAEvB;AACF;AACA;EACE,aAAaC,UAAUA,CAACC,MAAkB,EAAiB;IACzD,IAAI;MACF,IAAI,IAAI,CAACH,eAAe,CAACI,sBAAsB,CAAC,CAAC,EAAE;QACjD,IAAI,CAACJ,eAAe,CAACK,KAAK,CAAC,CAAC;MAC9B;MAEAT,UAAU,CAACU,WAAW,CAACH,MAAM,CAACI,QAAQ,IAAIV,YAAY,CAACW,KAAK,CAAC;MAC7DZ,UAAU,CAACa,KAAK,CAAC,uBAAuB,CAAC;MAEzC,IAAI,CAACC,MAAM,GAAG,IAAIX,IAAI,CAAC,CAAC;MACxB,MAAM,IAAI,CAACW,MAAM,CAACC,SAAS,CAACR,MAAM,CAAC;MAEnCP,UAAU,CAACa,KAAK,CAAC,mCAAmC,CAAC;MACrD,IAAI,CAACT,eAAe,CAACY,sBAAsB,CAAC,CAAC;IAC/C,CAAC,CAAC,OAAOC,KAAK,EAAE;MACd,MAAMC,aAAa,GACjBD,KAAK,YAAYE,KAAK,GAAGF,KAAK,GAAG,IAAIE,KAAK,CAACC,MAAM,CAACH,KAAK,CAAC,CAAC;MAC3D,IAAI,CAACb,eAAe,CAACiB,kBAAkB,CAACH,aAAa,CAAC;MACtD,MAAMnB,SAAS,CAACuB,cAAc,CAAC;QAAEC,KAAK,EAAEL;MAAc,CAAC,CAAC;IAC1D;EACF;;EAEA;AACF;AACA;EACE,aAAaM,SAASA,CAACC,MAAc,EAAiB;IACpD,IAAI;MACF,MAAMtB,IAAI,CAACC,eAAe,CAACsB,qBAAqB,CAAC,CAAC;MAClD,IAAI,IAAI,CAACZ,MAAM,EAAEa,aAAa,EAAE;QAC9B,MAAM,IAAI,CAACb,MAAM,CAACa,aAAa,CAACC,gBAAgB,CAACH,MAAM,CAAC;MAC1D;IACF,CAAC,CAAC,OAAOR,KAAK,EAAE;MACdjB,UAAU,CAACiB,KAAK,CAAC,0BAA0BA,KAAK,EAAE,CAAC;IACrD;EACF;;EAEA;AACF;AACA;EACE,aAAaY,YAAYA,CAAA,EAAkB;IACzC,IAAI;MACF,MAAM1B,IAAI,CAACC,eAAe,CAACsB,qBAAqB,CAAC,CAAC;MAClD,IAAI,IAAI,CAACZ,MAAM,EAAEa,aAAa,EAAE;QAC9B,MAAM,IAAI,CAACb,MAAM,CAACa,aAAa,CAACG,mBAAmB,CAAC,CAAC;MACvD;IACF,CAAC,CAAC,OAAOb,KAAK,EAAE;MACdjB,UAAU,CAACiB,KAAK,CAAC,6BAA6BA,KAAK,EAAE,CAAC;IACxD;EACF;;EAEA;AACF;AACA;EACE,aAAac,eAAeA,CAACC,GAAW,EAAEC,KAAU,EAAiB;IACnE,IAAI;MACF,MAAM9B,IAAI,CAACC,eAAe,CAACsB,qBAAqB,CAAC,CAAC;MAClD,IAAI,IAAI,CAACZ,MAAM,EAAEa,aAAa,EAAE;QAC9B,MAAM,IAAI,CAACb,MAAM,CAACa,aAAa,CAACO,oBAAoB,CAAC;UACnD,CAACF,GAAG,GAAGC;QACT,CAAC,CAAC;MACJ;IACF,CAAC,CAAC,OAAOhB,KAAK,EAAE;MACdjB,UAAU,CAACiB,KAAK,CAAC,gCAAgCA,KAAK,EAAE,CAAC;IAC3D;EACF;;EAEA;AACF;AACA;EACE,aAAakB,iBAAiBA,CAC5BC,cAAmC,EACpB;IACf,IAAI;MACF,MAAMjC,IAAI,CAACC,eAAe,CAACsB,qBAAqB,CAAC,CAAC;MAClD,IAAI,IAAI,CAACZ,MAAM,EAAEa,aAAa,EAAE;QAC9B,MAAM,IAAI,CAACb,MAAM,CAACa,aAAa,CAACO,oBAAoB,CAACE,cAAc,CAAC;MACtE;IACF,CAAC,CAAC,OAAOnB,KAAK,EAAE;MACdjB,UAAU,CAACiB,KAAK,CAAC,kCAAkCA,KAAK,EAAE,CAAC;IAC7D;EACF;;EAEA;AACF;AACA;EACE,aAAaoB,kBAAkBA,CAACL,GAAW,EAAiB;IAC1D,IAAI;MACF,MAAM7B,IAAI,CAACC,eAAe,CAACsB,qBAAqB,CAAC,CAAC;MAClD,IAAI,IAAI,CAACZ,MAAM,EAAEa,aAAa,EAAE;QAC9B,MAAM,IAAI,CAACb,MAAM,CAACa,aAAa,CAACW,oBAAoB,CAAC,CAACN,GAAG,CAAC,CAAC;MAC7D;IACF,CAAC,CAAC,OAAOf,KAAK,EAAE;MACdjB,UAAU,CAACiB,KAAK,CAAC,mCAAmCA,KAAK,EAAE,CAAC;IAC9D;EACF;;EAEA;AACF;AACA;EACE,aAAaqB,oBAAoBA,CAACC,IAAc,EAAiB;IAC/D,IAAI;MACF,MAAMpC,IAAI,CAACC,eAAe,CAACsB,qBAAqB,CAAC,CAAC;MAClD,IAAI,IAAI,CAACZ,MAAM,EAAEa,aAAa,EAAE;QAC9B,MAAM,IAAI,CAACb,MAAM,CAACa,aAAa,CAACW,oBAAoB,CAACC,IAAI,CAAC;MAC5D;IACF,CAAC,CAAC,OAAOtB,KAAK,EAAE;MACdjB,UAAU,CAACiB,KAAK,CAAC,qCAAqCA,KAAK,EAAE,CAAC;IAChE;EACF;;EAEA;AACF;AACA;EACE,aAAauB,WAAWA,CAAA,EAAgC;IACtD,IAAI;MACF,MAAMrC,IAAI,CAACC,eAAe,CAACsB,qBAAqB,CAAC,CAAC;MAClD,IAAI,IAAI,CAACZ,MAAM,EAAEa,aAAa,EAAE;QAC9B,MAAMc,QAAQ,GAAG,MAAM,IAAI,CAAC3B,MAAM,CAACa,aAAa,CAACe,kBAAkB,CAAC,CAAC;QACrE,OAAOD,QAAQ;MACjB;MACA,OAAOE,SAAS;IAClB,CAAC,CAAC,OAAO1B,KAAK,EAAE;MACdjB,UAAU,CAACiB,KAAK,CAAC,4BAA4BA,KAAK,EAAE,CAAC;MACrD,OAAO0B,SAAS;IAClB;EACF;;EAEA;AACF;AACA;EACE,aAAaC,YAAYA,CAAA,EAAgC;IACvD,IAAI;MACF,MAAMzC,IAAI,CAACC,eAAe,CAACsB,qBAAqB,CAAC,CAAC;MAClD,IAAI,IAAI,CAACZ,MAAM,EAAE+B,mBAAmB,EAAE;QACpC,MAAMC,KAAK,GAAG,MAAM,IAAI,CAAChC,MAAM,CAAC+B,mBAAmB,CAACE,eAAe,CAAC,CAAC;QACrE,OAAOD,KAAK,IAAIH,SAAS;MAC3B;MACA,OAAOA,SAAS;IAClB,CAAC,CAAC,OAAO1B,KAAK,EAAE;MACdjB,UAAU,CAACiB,KAAK,CAAC,6BAA6BA,KAAK,EAAE,CAAC;MACtD,OAAO0B,SAAS;IAClB;EACF;;EAEA;AACF;AACA;EACE,OAAOjC,WAAWA,CAACsC,KAAmB,EAAQ;IAC5ChD,UAAU,CAACU,WAAW,CAACsC,KAAK,CAAC;EAC/B;;EAEA;AACF;AACA;EACE,aAAuBC,UAAUA,CAC/BC,IAAY,EACZC,OAGC,EACc;IACf,IAAI;MACF,MAAMhD,IAAI,CAACC,eAAe,CAACsB,qBAAqB,CAAC,CAAC;MAClD,IAAI,IAAI,CAACZ,MAAM,EAAEsC,YAAY,EAAE;QAC7B,MAAM,IAAI,CAACtC,MAAM,CAACsC,YAAY,CAACH,UAAU,CACvCC,IAAI,EACJC,OAAO,EAAEE,UAAU,EACnBF,OAAO,EAAEG,SACX,CAAC;MACH;IACF,CAAC,CAAC,OAAOrC,KAAK,EAAE;MACdjB,UAAU,CAACiB,KAAK,CAAC,0BAA0BA,KAAK,EAAE,CAAC;IACrD;EACF;;EAEA;AACF;AACA;EACE,MAAcF,SAASA,CAACR,MAAkB,EAAiB;IACzD,IAAI,CAACgD,cAAc,GAAG,IAAI1D,cAAc,CAAC,CAAC;IAE1C,IAAI;MACF,MAAM,IAAI,CAAC0D,cAAc,CAACC,GAAG,CAAC,YAAY,EAAEjD,MAAM,CAACkD,SAAS,CAAC;MAC7D,MAAM,IAAI,CAACF,cAAc,CAACC,GAAG,CAAC,SAAS,EAAEjD,MAAM,CAACmD,MAAM,CAAC;MACvD,MAAM,IAAI,CAACH,cAAc,CAACC,GAAG,CAAC,aAAa,EAAE;QAC3CC,SAAS,EAAElD,MAAM,CAACkD,SAAS;QAC3BC,MAAM,EAAEnD,MAAM,CAACmD,MAAM;QACrBC,QAAQ,EAAEpD,MAAM,CAACoD,QAAQ;QACzBhD,QAAQ,EAAEJ,MAAM,CAACI,QAAQ;QACzBiD,YAAY,EAAErD,MAAM,CAACqD;MACvB,CAAC,CAAC;IACJ,CAAC,CAAC,OAAO3C,KAAK,EAAE;MACdjB,UAAU,CAAC6D,IAAI,CACb,4EAA4E,EAC5E5C,KACF,CAAC;IACH;IAEA,MAAM6C,SAAS,GAAG,IAAIvE,aAAa,CAAC;MAClC,GAAGgB,MAAM;MACToD,QAAQ,EAAEpD,MAAM,CAACoD,QAAQ,IAAI,qBAAqB;MAClDhD,QAAQ,EAAEJ,MAAM,CAACI,QAAQ,IAAIV,YAAY,CAACW;IAC5C,CAAC,CAAC;IAEF,MAAMmD,gBAAgB,GAAG,IAAIvE,gBAAgB,CAACsE,SAAS,CAAC;IACxD,MAAME,eAAe,GAAG,IAAItE,eAAe,CAACoE,SAAS,CAAC;IACtD,MAAMG,YAAY,GAAG,IAAInE,YAAY,CAAC,IAAI,CAACyD,cAAc,CAAC;IAC1D,IAAI,CAAC5B,aAAa,GAAG,IAAIlC,aAAa,CACpC,IAAI,CAAC8D,cAAc,EACnBU,YAAY,EACZF,gBACF,CAAC;IACD,IAAI,CAACX,YAAY,GAAG,IAAIzD,YAAY,CAACqE,eAAe,EAAE,IAAI,CAACrC,aAAa,CAAC;IACzE,IAAI;MACF,IAAI,CAACkB,mBAAmB,GACtB,MAAMjD,mBAAmB,CAACsE,WAAW,CAAC,CAAC,CAAC5D,UAAU,CAChD,IAAI,CAAC8C,YAAY,EACjB,IAAI,CAACG,cAAc,EACnB,IAAI,CAAC5B,aAAa,EAClBsC,YACF,CAAC;IACL,CAAC,CAAC,OAAOhD,KAAK,EAAE;MACdjB,UAAU,CAAC6D,IAAI,CACb,+EAA+E,EAC/E5C,KACF,CAAC;IACH;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"names":["ClixAPIClient","DeviceAPIService","DeviceService","EventAPIService","EventService","NotificationService","StorageService","TokenService","ClixError","ClixLogger","ClixLogLevel","ClixInitCoordinator","ClixNotification","Clix","initCoordinator","Notification","shared","constructor","initialize","config","isInitializationFailed","reset","setLogLevel","logLevel","ERROR","debug","setConfig","completeInitialization","error","errorInstance","Error","String","failInitialization","notInitialized","cause","setUserId","userId","waitForInitialization","deviceService","setProjectUserId","removeUserId","removeProjectUserId","setUserProperty","key","value","updateUserProperties","setUserProperties","userProperties","removeUserProperty","removeUserProperties","keys","getDeviceId","deviceId","getCurrentDeviceId","undefined","getPushToken","notificationService","token","getCurrentToken","level","trackEvent","name","properties","eventService","storageService","projectId","set","apiKey","endpoint","extraHeaders","warn","apiClient","deviceAPIService","eventAPIService","tokenService","getInstance"],"sourceRoot":"../../../src","sources":["core/Clix.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+
3
+ import { ClixLogger } from "../utils/logging/ClixLogger.js";
4
+ import { Clix } from "./Clix.js";
5
+ export class ClixNotification {
6
+ static shared = new ClixNotification();
7
+ async configure(options = {}) {
8
+ const {
9
+ autoRequestPermission = false,
10
+ autoHandleLandingURL = true
11
+ } = options;
12
+ try {
13
+ await Clix.initCoordinator.waitForInitialization();
14
+ const notificationService = Clix.shared?.notificationService;
15
+ if (!notificationService) {
16
+ ClixLogger.warn('Notification service is not initialized');
17
+ return;
18
+ }
19
+ notificationService.setAutoHandleLandingUrl(autoHandleLandingURL);
20
+ if (autoRequestPermission) {
21
+ await notificationService.requestPermission();
22
+ }
23
+ } catch (error) {
24
+ ClixLogger.error('Failed to configure notifications', error);
25
+ }
26
+ }
27
+ async requestPermission() {
28
+ try {
29
+ await Clix.initCoordinator.waitForInitialization();
30
+ const notificationService = Clix.shared?.notificationService;
31
+ if (!notificationService) {
32
+ ClixLogger.warn('Notification service is not initialized');
33
+ return null;
34
+ }
35
+ return await notificationService.requestPermission();
36
+ } catch (error) {
37
+ ClixLogger.error('Failed to request notification permission', error);
38
+ return null;
39
+ }
40
+ }
41
+ async setPermissionGranted(isGranted) {
42
+ try {
43
+ await Clix.initCoordinator.waitForInitialization();
44
+ const notificationService = Clix.shared?.notificationService;
45
+ if (!notificationService) {
46
+ ClixLogger.warn('Notification service is not initialized');
47
+ return;
48
+ }
49
+ await notificationService.setPermissionGranted(isGranted);
50
+ } catch (error) {
51
+ ClixLogger.error('Failed to update push permission status on server', error);
52
+ }
53
+ }
54
+ async getToken() {
55
+ try {
56
+ await Clix.initCoordinator.waitForInitialization();
57
+ const notificationService = Clix.shared?.notificationService;
58
+ if (!notificationService) {
59
+ ClixLogger.warn('Notification service is not initialized');
60
+ return undefined;
61
+ }
62
+ const token = await notificationService.getCurrentToken();
63
+ return token ?? undefined;
64
+ } catch (error) {
65
+ ClixLogger.error('Failed to get push token', error);
66
+ return undefined;
67
+ }
68
+ }
69
+ async onMessage(handler) {
70
+ try {
71
+ await Clix.initCoordinator.waitForInitialization();
72
+ const notificationService = Clix.shared?.notificationService;
73
+ if (!notificationService) {
74
+ ClixLogger.warn('Notification service is not initialized');
75
+ return;
76
+ }
77
+ notificationService.setMessageHandler(handler);
78
+ } catch (error) {
79
+ ClixLogger.error('Failed to register onMessage handler', error);
80
+ }
81
+ }
82
+ async onBackgroundMessage(handler) {
83
+ try {
84
+ await Clix.initCoordinator.waitForInitialization();
85
+ const notificationService = Clix.shared?.notificationService;
86
+ if (!notificationService) {
87
+ ClixLogger.warn('Notification service is not initialized');
88
+ return;
89
+ }
90
+ notificationService.setBackgroundMessageHandler(handler);
91
+ } catch (error) {
92
+ ClixLogger.error('Failed to register onBackgroundMessage handler', error);
93
+ }
94
+ }
95
+ async onNotificationOpened(handler) {
96
+ try {
97
+ await Clix.initCoordinator.waitForInitialization();
98
+ const notificationService = Clix.shared?.notificationService;
99
+ if (!notificationService) {
100
+ ClixLogger.warn('Notification service is not initialized');
101
+ return;
102
+ }
103
+ notificationService.setNotificationOpenedHandler(handler);
104
+ } catch (error) {
105
+ ClixLogger.error('Failed to register onNotificationOpened handler', error);
106
+ }
107
+ }
108
+ async onFcmTokenError(handler) {
109
+ try {
110
+ await Clix.initCoordinator.waitForInitialization();
111
+ const notificationService = Clix.shared?.notificationService;
112
+ if (!notificationService) {
113
+ ClixLogger.warn('Notification service is not initialized');
114
+ return;
115
+ }
116
+ notificationService.setFcmTokenErrorHandler(handler);
117
+ } catch (error) {
118
+ ClixLogger.error('Failed to register onFcmTokenError handler', error);
119
+ }
120
+ }
121
+ }
122
+ //# sourceMappingURL=ClixNotification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ClixLogger","Clix","ClixNotification","shared","configure","options","autoRequestPermission","autoHandleLandingURL","initCoordinator","waitForInitialization","notificationService","warn","setAutoHandleLandingUrl","requestPermission","error","setPermissionGranted","isGranted","getToken","undefined","token","getCurrentToken","onMessage","handler","setMessageHandler","onBackgroundMessage","setBackgroundMessageHandler","onNotificationOpened","setNotificationOpenedHandler","onFcmTokenError","setFcmTokenErrorHandler"],"sourceRoot":"../../../src","sources":["core/ClixNotification.ts"],"mappings":"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","ignoreList":[]}
@@ -16,18 +16,18 @@ export class DeviceService {
16
16
  this.tokenService = tokenService;
17
17
  this.deviceAPIService = deviceAPIService;
18
18
  }
19
- async getCurrentDeviceId() {
20
- const existingId = await this.storageService.get(DeviceService.DEVICE_ID_KEY);
19
+ getCurrentDeviceId() {
20
+ const existingId = this.storageService.get(DeviceService.DEVICE_ID_KEY);
21
21
  if (existingId) {
22
22
  return existingId;
23
23
  }
24
24
  const newId = UUID.generate();
25
- await this.storageService.set(DeviceService.DEVICE_ID_KEY, newId);
25
+ this.storageService.set(DeviceService.DEVICE_ID_KEY, newId);
26
26
  return newId;
27
27
  }
28
28
  async setProjectUserId(projectUserId) {
29
29
  try {
30
- const deviceId = await this.getCurrentDeviceId();
30
+ const deviceId = this.getCurrentDeviceId();
31
31
  await this.deviceAPIService.setProjectUserId(deviceId, projectUserId);
32
32
  ClixLogger.debug(`Project user ID set: ${projectUserId}`);
33
33
  } catch (error) {
@@ -40,7 +40,7 @@ export class DeviceService {
40
40
  }
41
41
  async removeProjectUserId() {
42
42
  try {
43
- const deviceId = await this.getCurrentDeviceId();
43
+ const deviceId = this.getCurrentDeviceId();
44
44
  await this.deviceAPIService.removeProjectUserId(deviceId);
45
45
  ClixLogger.debug('Project user ID removed');
46
46
  } catch (error) {
@@ -54,7 +54,7 @@ export class DeviceService {
54
54
  async updateUserProperties(properties) {
55
55
  try {
56
56
  const userProperties = Object.entries(properties).map(([key, value]) => ClixUserProperty.of(key, value));
57
- const deviceId = await this.getCurrentDeviceId();
57
+ const deviceId = this.getCurrentDeviceId();
58
58
  await this.deviceAPIService.upsertUserProperties(deviceId, userProperties);
59
59
  ClixLogger.debug(`User properties updated: ${Object.keys(properties).join(', ')}`);
60
60
  } catch (error) {
@@ -67,7 +67,7 @@ export class DeviceService {
67
67
  }
68
68
  async removeUserProperties(names) {
69
69
  try {
70
- const deviceId = await this.getCurrentDeviceId();
70
+ const deviceId = this.getCurrentDeviceId();
71
71
  await this.deviceAPIService.removeUserProperties(deviceId, names);
72
72
  ClixLogger.debug(`User properties removed: ${names.join(', ')}`);
73
73
  } catch (error) {
@@ -80,8 +80,8 @@ export class DeviceService {
80
80
  }
81
81
  async upsertToken(token, tokenType = 'FCM') {
82
82
  try {
83
- await this.tokenService.saveToken(token);
84
- const deviceId = await this.getCurrentDeviceId();
83
+ this.tokenService.saveToken(token);
84
+ const deviceId = this.getCurrentDeviceId();
85
85
  const device = await this.createDevice(deviceId, token);
86
86
  await this.deviceAPIService.registerDevice(device);
87
87
  ClixLogger.debug(`Token upserted: ${tokenType}`);
@@ -100,15 +100,23 @@ export class DeviceService {
100
100
  });
101
101
  }
102
102
  }
103
+ async upsertIsPushPermissionGranted(isGranted) {
104
+ try {
105
+ const deviceId = this.getCurrentDeviceId();
106
+ const currentToken = this.tokenService.getCurrentToken();
107
+ const device = await this.createDevice(deviceId, currentToken, isGranted);
108
+ await this.deviceAPIService.registerDevice(device);
109
+ ClixLogger.debug(`Push permission status upserted: ${isGranted ? 'granted' : 'denied'}`);
110
+ } catch (error) {
111
+ ClixLogger.error('Failed to upsert push permission status', error);
112
+ throw ClixError.unknownError({
113
+ reason: `Failed to upsert push permission status: ${error}`,
114
+ cause: error
115
+ });
116
+ }
117
+ }
103
118
  async getPushPermissionStatus() {
104
119
  try {
105
- // First check stored permission status
106
- const storedStatus = await this.storageService.get('notification_permission_status');
107
- if (storedStatus === 'authorized' || storedStatus === 'provisional') {
108
- return true;
109
- }
110
-
111
- // If no stored status, check current Firebase messaging permission
112
120
  const authStatus = await messaging().hasPermission();
113
121
  const isGranted = authStatus === messaging.AuthorizationStatus.AUTHORIZED || authStatus === messaging.AuthorizationStatus.PROVISIONAL;
114
122
  ClixLogger.debug(`Push permission status: ${isGranted ? 'granted' : 'denied'}`);
@@ -118,7 +126,7 @@ export class DeviceService {
118
126
  return false;
119
127
  }
120
128
  }
121
- async createDevice(deviceId, token) {
129
+ async createDevice(deviceId, token, isPushPermissionGranted) {
122
130
  const platform = DeviceInfo.getSystemName();
123
131
  const osName = DeviceInfo.getSystemName();
124
132
  const osVersion = DeviceInfo.getSystemVersion();
@@ -131,7 +139,7 @@ export class DeviceService {
131
139
  const localeLanguage = locale.split('-')[0] || 'en';
132
140
  const localeRegion = locale.split('-')[1] || 'US';
133
141
  let adId;
134
- const isPushPermissionGranted = await this.getPushPermissionStatus();
142
+ const pushPermissionGranted = isPushPermissionGranted ?? (await this.getPushPermissionStatus());
135
143
  const sdkVersion = await ClixVersion.getVersion();
136
144
  return new ClixDevice({
137
145
  id: deviceId,
@@ -148,7 +156,7 @@ export class DeviceService {
148
156
  sdkType: 'react-native',
149
157
  sdkVersion,
150
158
  adId,
151
- isPushPermissionGranted,
159
+ isPushPermissionGranted: pushPermissionGranted,
152
160
  pushToken: token,
153
161
  pushTokenType: token ? Platform.OS === 'ios' ? 'APNS' : 'FCM' : undefined
154
162
  });
@@ -1 +1 @@
1
- {"version":3,"names":["messaging","Platform","DeviceInfo","ClixVersion","ClixDevice","ClixUserProperty","ClixError","ClixLogger","UUID","DeviceService","DEVICE_ID_KEY","constructor","storageService","tokenService","deviceAPIService","getCurrentDeviceId","existingId","get","newId","generate","set","setProjectUserId","projectUserId","deviceId","debug","error","unknownError","reason","cause","removeProjectUserId","updateUserProperties","properties","userProperties","Object","entries","map","key","value","of","upsertUserProperties","keys","join","removeUserProperties","names","upsertToken","token","tokenType","saveToken","device","createDevice","registerDevice","Error","message","includes","warn","getPushPermissionStatus","storedStatus","authStatus","hasPermission","isGranted","AuthorizationStatus","AUTHORIZED","PROVISIONAL","platform","getSystemName","osName","osVersion","getSystemVersion","manufacturer","getManufacturer","model","getModel","appName","getApplicationName","appVersion","getVersion","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","locale","localeLanguage","split","localeRegion","adId","isPushPermissionGranted","sdkVersion","id","sdkType","pushToken","pushTokenType","OS","undefined"],"sourceRoot":"../../../src","sources":["services/DeviceService.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["messaging","Platform","DeviceInfo","ClixVersion","ClixDevice","ClixUserProperty","ClixError","ClixLogger","UUID","DeviceService","DEVICE_ID_KEY","constructor","storageService","tokenService","deviceAPIService","getCurrentDeviceId","existingId","get","newId","generate","set","setProjectUserId","projectUserId","deviceId","debug","error","unknownError","reason","cause","removeProjectUserId","updateUserProperties","properties","userProperties","Object","entries","map","key","value","of","upsertUserProperties","keys","join","removeUserProperties","names","upsertToken","token","tokenType","saveToken","device","createDevice","registerDevice","Error","message","includes","warn","upsertIsPushPermissionGranted","isGranted","currentToken","getCurrentToken","getPushPermissionStatus","authStatus","hasPermission","AuthorizationStatus","AUTHORIZED","PROVISIONAL","isPushPermissionGranted","platform","getSystemName","osName","osVersion","getSystemVersion","manufacturer","getManufacturer","model","getModel","appName","getApplicationName","appVersion","getVersion","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","locale","localeLanguage","split","localeRegion","adId","pushPermissionGranted","sdkVersion","id","sdkType","pushToken","pushTokenType","OS","undefined"],"sourceRoot":"../../../src","sources":["services/DeviceService.ts"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,7 @@ export class EventAPIService {
5
5
  constructor(apiClient) {
6
6
  this.apiClient = apiClient;
7
7
  }
8
- async trackEvent(deviceId, name, properties, messageId) {
8
+ async trackEvent(deviceId, name, properties, messageId, userJourneyId, userJourneyNodeId) {
9
9
  try {
10
10
  ClixLogger.debug(`Tracking event: ${name} for device: ${deviceId}`);
11
11
  const eventRequestBody = {
@@ -15,6 +15,12 @@ export class EventAPIService {
15
15
  custom_properties: properties,
16
16
  ...(messageId && {
17
17
  message_id: messageId
18
+ }),
19
+ ...(userJourneyId && {
20
+ user_journey_id: userJourneyId
21
+ }),
22
+ ...(userJourneyNodeId && {
23
+ user_journey_node_id: userJourneyNodeId
18
24
  })
19
25
  }
20
26
  };
@@ -1 +1 @@
1
- {"version":3,"names":["ClixLogger","EventAPIService","constructor","apiClient","trackEvent","deviceId","name","properties","messageId","debug","eventRequestBody","device_id","event_property","custom_properties","message_id","response","post","body","events","status","Error","JSON","stringify","data","error"],"sourceRoot":"../../../src","sources":["services/EventAPIService.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,gCAA6B;AAGxD,OAAO,MAAMC,eAAe,CAAC;EAC3BC,WAAWA,CAAkBC,SAAwB,EAAE;IAAA,KAA1BA,SAAwB,GAAxBA,SAAwB;EAAG;EAExD,MAAMC,UAAUA,CACdC,QAAgB,EAChBC,IAAY,EACZC,UAA+B,EAC/BC,SAAkB,EACH;IACf,IAAI;MACFR,UAAU,CAACS,KAAK,CAAC,mBAAmBH,IAAI,gBAAgBD,QAAQ,EAAE,CAAC;MAEnE,MAAMK,gBAAgB,GAAG;QACvBC,SAAS,EAAEN,QAAQ;QACnBC,IAAI,EAAEA,IAAI;QACVM,cAAc,EAAE;UACdC,iBAAiB,EAAEN,UAAU;UAC7B,IAAIC,SAAS,IAAI;YAAEM,UAAU,EAAEN;UAAU,CAAC;QAC5C;MACF,CAAC;MAED,MAAMO,QAAQ,GAAG,MAAM,IAAI,CAACZ,SAAS,CAACa,IAAI,CAAC,SAAS,EAAE;QACpDC,IAAI,EAAE;UACJC,MAAM,EAAE,CAACR,gBAAgB;QAC3B;MACF,CAAC,CAAC;MAEF,IAAIK,QAAQ,CAACI,MAAM,GAAG,GAAG,IAAIJ,QAAQ,CAACI,MAAM,IAAI,GAAG,EAAE;QACnD,MAAM,IAAIC,KAAK,CACb,QAAQL,QAAQ,CAACI,MAAM,KAAKE,IAAI,CAACC,SAAS,CAACP,QAAQ,CAACQ,IAAI,CAAC,EAC3D,CAAC;MACH;MAEAvB,UAAU,CAACS,KAAK,CACd,+BAA+BH,IAAI,gBAAgBD,QAAQ,EAC7D,CAAC;IACH,CAAC,CAAC,OAAOmB,KAAK,EAAE;MACdxB,UAAU,CAACwB,KAAK,CACd,0BAA0BlB,IAAI,gBAAgBD,QAAQ,EAAE,EACxDmB,KACF,CAAC;MACD,MAAMA,KAAK;IACb;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"names":["ClixLogger","EventAPIService","constructor","apiClient","trackEvent","deviceId","name","properties","messageId","userJourneyId","userJourneyNodeId","debug","eventRequestBody","device_id","event_property","custom_properties","message_id","user_journey_id","user_journey_node_id","response","post","body","events","status","Error","JSON","stringify","data","error"],"sourceRoot":"../../../src","sources":["services/EventAPIService.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,gCAA6B;AAGxD,OAAO,MAAMC,eAAe,CAAC;EAC3BC,WAAWA,CAAkBC,SAAwB,EAAE;IAAA,KAA1BA,SAAwB,GAAxBA,SAAwB;EAAG;EAExD,MAAMC,UAAUA,CACdC,QAAgB,EAChBC,IAAY,EACZC,UAA+B,EAC/BC,SAAkB,EAClBC,aAAsB,EACtBC,iBAA0B,EACX;IACf,IAAI;MACFV,UAAU,CAACW,KAAK,CAAC,mBAAmBL,IAAI,gBAAgBD,QAAQ,EAAE,CAAC;MAEnE,MAAMO,gBAAgB,GAAG;QACvBC,SAAS,EAAER,QAAQ;QACnBC,IAAI,EAAEA,IAAI;QACVQ,cAAc,EAAE;UACdC,iBAAiB,EAAER,UAAU;UAC7B,IAAIC,SAAS,IAAI;YAAEQ,UAAU,EAAER;UAAU,CAAC,CAAC;UAC3C,IAAIC,aAAa,IAAI;YAAEQ,eAAe,EAAER;UAAc,CAAC,CAAC;UACxD,IAAIC,iBAAiB,IAAI;YAAEQ,oBAAoB,EAAER;UAAkB,CAAC;QACtE;MACF,CAAC;MAED,MAAMS,QAAQ,GAAG,MAAM,IAAI,CAAChB,SAAS,CAACiB,IAAI,CAAC,SAAS,EAAE;QACpDC,IAAI,EAAE;UACJC,MAAM,EAAE,CAACV,gBAAgB;QAC3B;MACF,CAAC,CAAC;MAEF,IAAIO,QAAQ,CAACI,MAAM,GAAG,GAAG,IAAIJ,QAAQ,CAACI,MAAM,IAAI,GAAG,EAAE;QACnD,MAAM,IAAIC,KAAK,CACb,QAAQL,QAAQ,CAACI,MAAM,KAAKE,IAAI,CAACC,SAAS,CAACP,QAAQ,CAACQ,IAAI,CAAC,EAC3D,CAAC;MACH;MAEA3B,UAAU,CAACW,KAAK,CACd,+BAA+BL,IAAI,gBAAgBD,QAAQ,EAC7D,CAAC;IACH,CAAC,CAAC,OAAOuB,KAAK,EAAE;MACd5B,UAAU,CAAC4B,KAAK,CACd,0BAA0BtB,IAAI,gBAAgBD,QAAQ,EAAE,EACxDuB,KACF,CAAC;MACD,MAAMA,KAAK;IACb;EACF;AACF","ignoreList":[]}
@@ -1,24 +1,27 @@
1
1
  "use strict";
2
2
 
3
+ import { ClixDateFormatter } from "../utils/ClixDateFormatter.js";
3
4
  import { ClixLogger } from "../utils/logging/ClixLogger.js";
4
5
  export class EventService {
5
6
  constructor(eventAPIService, deviceService) {
6
7
  this.eventAPIService = eventAPIService;
7
8
  this.deviceService = deviceService;
8
9
  }
9
- async trackEvent(name, properties, messageId) {
10
+ async trackEvent(name, properties, messageId, userJourneyId, userJourneyNodeId) {
10
11
  try {
11
12
  ClixLogger.debug(`Tracking event: ${name}`);
12
- const deviceId = await this.deviceService.getCurrentDeviceId();
13
+ const deviceId = this.deviceService.getCurrentDeviceId();
13
14
  const cleanProperties = {};
14
15
  if (properties) {
15
16
  Object.entries(properties).forEach(([key, value]) => {
16
- if (value !== null && value !== undefined) {
17
- cleanProperties[key] = value;
17
+ if (value instanceof Date) {
18
+ cleanProperties[key] = ClixDateFormatter.format(value);
19
+ return;
18
20
  }
21
+ cleanProperties[key] = value;
19
22
  });
20
23
  }
21
- await this.eventAPIService.trackEvent(deviceId, name, cleanProperties, messageId);
24
+ await this.eventAPIService.trackEvent(deviceId, name, cleanProperties, messageId, userJourneyId, userJourneyNodeId);
22
25
  ClixLogger.debug(`Event tracked successfully: ${name}`);
23
26
  } catch (error) {
24
27
  ClixLogger.error(`Failed to track event '${name}': ${error}. Make sure Clix.initialize() has been called.`);
@@ -1 +1 @@
1
- {"version":3,"names":["ClixLogger","EventService","constructor","eventAPIService","deviceService","trackEvent","name","properties","messageId","debug","deviceId","getCurrentDeviceId","cleanProperties","Object","entries","forEach","key","value","undefined","error"],"sourceRoot":"../../../src","sources":["services/EventService.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,gCAA6B;AAIxD,OAAO,MAAMC,YAAY,CAAC;EACxBC,WAAWA,CACQC,eAAgC,EAChCC,aAA4B,EAC7C;IAAA,KAFiBD,eAAgC,GAAhCA,eAAgC;IAAA,KAChCC,aAA4B,GAA5BA,aAA4B;EAC5C;EAEH,MAAMC,UAAUA,CACdC,IAAY,EACZC,UAAgC,EAChCC,SAAkB,EACH;IACf,IAAI;MACFR,UAAU,CAACS,KAAK,CAAC,mBAAmBH,IAAI,EAAE,CAAC;MAE3C,MAAMI,QAAQ,GAAG,MAAM,IAAI,CAACN,aAAa,CAACO,kBAAkB,CAAC,CAAC;MAE9D,MAAMC,eAAoC,GAAG,CAAC,CAAC;MAC/C,IAAIL,UAAU,EAAE;QACdM,MAAM,CAACC,OAAO,CAACP,UAAU,CAAC,CAACQ,OAAO,CAAC,CAAC,CAACC,GAAG,EAAEC,KAAK,CAAC,KAAK;UACnD,IAAIA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKC,SAAS,EAAE;YACzCN,eAAe,CAACI,GAAG,CAAC,GAAGC,KAAK;UAC9B;QACF,CAAC,CAAC;MACJ;MAEA,MAAM,IAAI,CAACd,eAAe,CAACE,UAAU,CACnCK,QAAQ,EACRJ,IAAI,EACJM,eAAe,EACfJ,SACF,CAAC;MAEDR,UAAU,CAACS,KAAK,CAAC,+BAA+BH,IAAI,EAAE,CAAC;IACzD,CAAC,CAAC,OAAOa,KAAK,EAAE;MACdnB,UAAU,CAACmB,KAAK,CACd,0BAA0Bb,IAAI,MAAMa,KAAK,gDAC3C,CAAC;MACD,MAAMA,KAAK;IACb;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"names":["ClixDateFormatter","ClixLogger","EventService","constructor","eventAPIService","deviceService","trackEvent","name","properties","messageId","userJourneyId","userJourneyNodeId","debug","deviceId","getCurrentDeviceId","cleanProperties","Object","entries","forEach","key","value","Date","format","error"],"sourceRoot":"../../../src","sources":["services/EventService.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,+BAA4B;AAC9D,SAASC,UAAU,QAAQ,gCAA6B;AAIxD,OAAO,MAAMC,YAAY,CAAC;EACxBC,WAAWA,CACQC,eAAgC,EAChCC,aAA4B,EAC7C;IAAA,KAFiBD,eAAgC,GAAhCA,eAAgC;IAAA,KAChCC,aAA4B,GAA5BA,aAA4B;EAC5C;EAEH,MAAMC,UAAUA,CACdC,IAAY,EACZC,UAAgC,EAChCC,SAAkB,EAClBC,aAAsB,EACtBC,iBAA0B,EACX;IACf,IAAI;MACFV,UAAU,CAACW,KAAK,CAAC,mBAAmBL,IAAI,EAAE,CAAC;MAE3C,MAAMM,QAAQ,GAAG,IAAI,CAACR,aAAa,CAACS,kBAAkB,CAAC,CAAC;MAExD,MAAMC,eAAoC,GAAG,CAAC,CAAC;MAC/C,IAAIP,UAAU,EAAE;QACdQ,MAAM,CAACC,OAAO,CAACT,UAAU,CAAC,CAACU,OAAO,CAAC,CAAC,CAACC,GAAG,EAAEC,KAAK,CAAC,KAAK;UACnD,IAAIA,KAAK,YAAYC,IAAI,EAAE;YACzBN,eAAe,CAACI,GAAG,CAAC,GAAGnB,iBAAiB,CAACsB,MAAM,CAACF,KAAK,CAAC;YACtD;UACF;UAEAL,eAAe,CAACI,GAAG,CAAC,GAAGC,KAAK;QAC9B,CAAC,CAAC;MACJ;MAEA,MAAM,IAAI,CAAChB,eAAe,CAACE,UAAU,CACnCO,QAAQ,EACRN,IAAI,EACJQ,eAAe,EACfN,SAAS,EACTC,aAAa,EACbC,iBACF,CAAC;MAEDV,UAAU,CAACW,KAAK,CAAC,+BAA+BL,IAAI,EAAE,CAAC;IACzD,CAAC,CAAC,OAAOgB,KAAK,EAAE;MACdtB,UAAU,CAACsB,KAAK,CACd,0BAA0BhB,IAAI,MAAMgB,KAAK,gDAC3C,CAAC;MACD,MAAMA,KAAK;IACb;EACF;AACF","ignoreList":[]}