@loyalytics/swan-react-native-sdk 2.0.1

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 (204) hide show
  1. package/LICENSE +55 -0
  2. package/README.md +67 -0
  3. package/docs/IOS_NOTIFICATION_EXTENSION_SETUP.md +335 -0
  4. package/ios/README.md +64 -0
  5. package/ios/SwanNotificationServiceExtension/Info.plist +31 -0
  6. package/ios/SwanNotificationServiceExtension/NotificationService.swift +337 -0
  7. package/ios/SwanNotificationServiceExtension/SwanNotificationServiceExtension.entitlements +10 -0
  8. package/lib/commonjs/components/FooterView.js +125 -0
  9. package/lib/commonjs/components/FooterView.js.map +1 -0
  10. package/lib/commonjs/components/FullScreenView.js +172 -0
  11. package/lib/commonjs/components/FullScreenView.js.map +1 -0
  12. package/lib/commonjs/components/HeaderView.js +205 -0
  13. package/lib/commonjs/components/HeaderView.js.map +1 -0
  14. package/lib/commonjs/components/PopUpView.js +186 -0
  15. package/lib/commonjs/components/PopUpView.js.map +1 -0
  16. package/lib/commonjs/config/BatchConfig.js +53 -0
  17. package/lib/commonjs/config/BatchConfig.js.map +1 -0
  18. package/lib/commonjs/constants/ApiUrls.js +56 -0
  19. package/lib/commonjs/constants/ApiUrls.js.map +1 -0
  20. package/lib/commonjs/core/EventQueueManager.js +345 -0
  21. package/lib/commonjs/core/EventQueueManager.js.map +1 -0
  22. package/lib/commonjs/core/FlushManager.js +245 -0
  23. package/lib/commonjs/core/FlushManager.js.map +1 -0
  24. package/lib/commonjs/core/NetworkMonitor.js +97 -0
  25. package/lib/commonjs/core/NetworkMonitor.js.map +1 -0
  26. package/lib/commonjs/index.js +3506 -0
  27. package/lib/commonjs/index.js.map +1 -0
  28. package/lib/commonjs/providers/FirebasePushProvider.js +130 -0
  29. package/lib/commonjs/providers/FirebasePushProvider.js.map +1 -0
  30. package/lib/commonjs/providers/NullPushProvider.js +59 -0
  31. package/lib/commonjs/providers/NullPushProvider.js.map +1 -0
  32. package/lib/commonjs/providers/PushNotificationProvider.js +30 -0
  33. package/lib/commonjs/providers/PushNotificationProvider.js.map +1 -0
  34. package/lib/commonjs/services/DeviceRegistrationService.js +248 -0
  35. package/lib/commonjs/services/DeviceRegistrationService.js.map +1 -0
  36. package/lib/commonjs/services/PushTokenService.js +284 -0
  37. package/lib/commonjs/services/PushTokenService.js.map +1 -0
  38. package/lib/commonjs/state/AuthStateMachine.js +161 -0
  39. package/lib/commonjs/state/AuthStateMachine.js.map +1 -0
  40. package/lib/commonjs/state/DeviceStateMachine.js +104 -0
  41. package/lib/commonjs/state/DeviceStateMachine.js.map +1 -0
  42. package/lib/commonjs/state/PushStateMachine.js +129 -0
  43. package/lib/commonjs/state/PushStateMachine.js.map +1 -0
  44. package/lib/commonjs/types/EventQueue.js +50 -0
  45. package/lib/commonjs/types/EventQueue.js.map +1 -0
  46. package/lib/commonjs/types/SDK.js +2 -0
  47. package/lib/commonjs/types/SDK.js.map +1 -0
  48. package/lib/commonjs/utils/FirebaseNotificationManager.js +492 -0
  49. package/lib/commonjs/utils/FirebaseNotificationManager.js.map +1 -0
  50. package/lib/commonjs/utils/Logger.js +56 -0
  51. package/lib/commonjs/utils/Logger.js.map +1 -0
  52. package/lib/commonjs/utils/SharedCredentialsManager.js +146 -0
  53. package/lib/commonjs/utils/SharedCredentialsManager.js.map +1 -0
  54. package/lib/commonjs/version.js +12 -0
  55. package/lib/commonjs/version.js.map +1 -0
  56. package/lib/module/components/FooterView.js +121 -0
  57. package/lib/module/components/FooterView.js.map +1 -0
  58. package/lib/module/components/FullScreenView.js +167 -0
  59. package/lib/module/components/FullScreenView.js.map +1 -0
  60. package/lib/module/components/HeaderView.js +199 -0
  61. package/lib/module/components/HeaderView.js.map +1 -0
  62. package/lib/module/components/PopUpView.js +181 -0
  63. package/lib/module/components/PopUpView.js.map +1 -0
  64. package/lib/module/config/BatchConfig.js +49 -0
  65. package/lib/module/config/BatchConfig.js.map +1 -0
  66. package/lib/module/constants/ApiUrls.js +52 -0
  67. package/lib/module/constants/ApiUrls.js.map +1 -0
  68. package/lib/module/core/EventQueueManager.js +340 -0
  69. package/lib/module/core/EventQueueManager.js.map +1 -0
  70. package/lib/module/core/FlushManager.js +240 -0
  71. package/lib/module/core/FlushManager.js.map +1 -0
  72. package/lib/module/core/NetworkMonitor.js +92 -0
  73. package/lib/module/core/NetworkMonitor.js.map +1 -0
  74. package/lib/module/index.js +3494 -0
  75. package/lib/module/index.js.map +1 -0
  76. package/lib/module/providers/FirebasePushProvider.js +124 -0
  77. package/lib/module/providers/FirebasePushProvider.js.map +1 -0
  78. package/lib/module/providers/NullPushProvider.js +53 -0
  79. package/lib/module/providers/NullPushProvider.js.map +1 -0
  80. package/lib/module/providers/PushNotificationProvider.js +26 -0
  81. package/lib/module/providers/PushNotificationProvider.js.map +1 -0
  82. package/lib/module/services/DeviceRegistrationService.js +243 -0
  83. package/lib/module/services/DeviceRegistrationService.js.map +1 -0
  84. package/lib/module/services/PushTokenService.js +278 -0
  85. package/lib/module/services/PushTokenService.js.map +1 -0
  86. package/lib/module/state/AuthStateMachine.js +155 -0
  87. package/lib/module/state/AuthStateMachine.js.map +1 -0
  88. package/lib/module/state/DeviceStateMachine.js +98 -0
  89. package/lib/module/state/DeviceStateMachine.js.map +1 -0
  90. package/lib/module/state/PushStateMachine.js +123 -0
  91. package/lib/module/state/PushStateMachine.js.map +1 -0
  92. package/lib/module/types/EventQueue.js +46 -0
  93. package/lib/module/types/EventQueue.js.map +1 -0
  94. package/lib/module/types/SDK.js +2 -0
  95. package/lib/module/types/SDK.js.map +1 -0
  96. package/lib/module/utils/FirebaseNotificationManager.js +486 -0
  97. package/lib/module/utils/FirebaseNotificationManager.js.map +1 -0
  98. package/lib/module/utils/Logger.js +52 -0
  99. package/lib/module/utils/Logger.js.map +1 -0
  100. package/lib/module/utils/SharedCredentialsManager.js +140 -0
  101. package/lib/module/utils/SharedCredentialsManager.js.map +1 -0
  102. package/lib/module/version.js +8 -0
  103. package/lib/module/version.js.map +1 -0
  104. package/lib/typescript/commonjs/package.json +1 -0
  105. package/lib/typescript/commonjs/src/components/FooterView.d.ts +3 -0
  106. package/lib/typescript/commonjs/src/components/FooterView.d.ts.map +1 -0
  107. package/lib/typescript/commonjs/src/components/FullScreenView.d.ts +3 -0
  108. package/lib/typescript/commonjs/src/components/FullScreenView.d.ts.map +1 -0
  109. package/lib/typescript/commonjs/src/components/HeaderView.d.ts +3 -0
  110. package/lib/typescript/commonjs/src/components/HeaderView.d.ts.map +1 -0
  111. package/lib/typescript/commonjs/src/components/PopUpView.d.ts +3 -0
  112. package/lib/typescript/commonjs/src/components/PopUpView.d.ts.map +1 -0
  113. package/lib/typescript/commonjs/src/config/BatchConfig.d.ts +7 -0
  114. package/lib/typescript/commonjs/src/config/BatchConfig.d.ts.map +1 -0
  115. package/lib/typescript/commonjs/src/constants/ApiUrls.d.ts +56 -0
  116. package/lib/typescript/commonjs/src/constants/ApiUrls.d.ts.map +1 -0
  117. package/lib/typescript/commonjs/src/core/EventQueueManager.d.ts +63 -0
  118. package/lib/typescript/commonjs/src/core/EventQueueManager.d.ts.map +1 -0
  119. package/lib/typescript/commonjs/src/core/FlushManager.d.ts +63 -0
  120. package/lib/typescript/commonjs/src/core/FlushManager.d.ts.map +1 -0
  121. package/lib/typescript/commonjs/src/core/NetworkMonitor.d.ts +38 -0
  122. package/lib/typescript/commonjs/src/core/NetworkMonitor.d.ts.map +1 -0
  123. package/lib/typescript/commonjs/src/index.d.ts +663 -0
  124. package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
  125. package/lib/typescript/commonjs/src/providers/FirebasePushProvider.d.ts +28 -0
  126. package/lib/typescript/commonjs/src/providers/FirebasePushProvider.d.ts.map +1 -0
  127. package/lib/typescript/commonjs/src/providers/NullPushProvider.d.ts +25 -0
  128. package/lib/typescript/commonjs/src/providers/NullPushProvider.d.ts.map +1 -0
  129. package/lib/typescript/commonjs/src/providers/PushNotificationProvider.d.ts +105 -0
  130. package/lib/typescript/commonjs/src/providers/PushNotificationProvider.d.ts.map +1 -0
  131. package/lib/typescript/commonjs/src/services/DeviceRegistrationService.d.ts +60 -0
  132. package/lib/typescript/commonjs/src/services/DeviceRegistrationService.d.ts.map +1 -0
  133. package/lib/typescript/commonjs/src/services/PushTokenService.d.ts +82 -0
  134. package/lib/typescript/commonjs/src/services/PushTokenService.d.ts.map +1 -0
  135. package/lib/typescript/commonjs/src/state/AuthStateMachine.d.ts +61 -0
  136. package/lib/typescript/commonjs/src/state/AuthStateMachine.d.ts.map +1 -0
  137. package/lib/typescript/commonjs/src/state/DeviceStateMachine.d.ts +51 -0
  138. package/lib/typescript/commonjs/src/state/DeviceStateMachine.d.ts.map +1 -0
  139. package/lib/typescript/commonjs/src/state/PushStateMachine.d.ts +61 -0
  140. package/lib/typescript/commonjs/src/state/PushStateMachine.d.ts.map +1 -0
  141. package/lib/typescript/commonjs/src/types/EventQueue.d.ts +85 -0
  142. package/lib/typescript/commonjs/src/types/EventQueue.d.ts.map +1 -0
  143. package/lib/typescript/commonjs/src/types/SDK.d.ts +54 -0
  144. package/lib/typescript/commonjs/src/types/SDK.d.ts.map +1 -0
  145. package/lib/typescript/commonjs/src/utils/FirebaseNotificationManager.d.ts +169 -0
  146. package/lib/typescript/commonjs/src/utils/FirebaseNotificationManager.d.ts.map +1 -0
  147. package/lib/typescript/commonjs/src/utils/Logger.d.ts +32 -0
  148. package/lib/typescript/commonjs/src/utils/Logger.d.ts.map +1 -0
  149. package/lib/typescript/commonjs/src/utils/SharedCredentialsManager.d.ts +54 -0
  150. package/lib/typescript/commonjs/src/utils/SharedCredentialsManager.d.ts.map +1 -0
  151. package/lib/typescript/commonjs/src/version.d.ts +2 -0
  152. package/lib/typescript/commonjs/src/version.d.ts.map +1 -0
  153. package/lib/typescript/module/package.json +1 -0
  154. package/lib/typescript/module/src/components/FooterView.d.ts +3 -0
  155. package/lib/typescript/module/src/components/FooterView.d.ts.map +1 -0
  156. package/lib/typescript/module/src/components/FullScreenView.d.ts +3 -0
  157. package/lib/typescript/module/src/components/FullScreenView.d.ts.map +1 -0
  158. package/lib/typescript/module/src/components/HeaderView.d.ts +3 -0
  159. package/lib/typescript/module/src/components/HeaderView.d.ts.map +1 -0
  160. package/lib/typescript/module/src/components/PopUpView.d.ts +3 -0
  161. package/lib/typescript/module/src/components/PopUpView.d.ts.map +1 -0
  162. package/lib/typescript/module/src/config/BatchConfig.d.ts +7 -0
  163. package/lib/typescript/module/src/config/BatchConfig.d.ts.map +1 -0
  164. package/lib/typescript/module/src/constants/ApiUrls.d.ts +56 -0
  165. package/lib/typescript/module/src/constants/ApiUrls.d.ts.map +1 -0
  166. package/lib/typescript/module/src/core/EventQueueManager.d.ts +63 -0
  167. package/lib/typescript/module/src/core/EventQueueManager.d.ts.map +1 -0
  168. package/lib/typescript/module/src/core/FlushManager.d.ts +63 -0
  169. package/lib/typescript/module/src/core/FlushManager.d.ts.map +1 -0
  170. package/lib/typescript/module/src/core/NetworkMonitor.d.ts +38 -0
  171. package/lib/typescript/module/src/core/NetworkMonitor.d.ts.map +1 -0
  172. package/lib/typescript/module/src/index.d.ts +663 -0
  173. package/lib/typescript/module/src/index.d.ts.map +1 -0
  174. package/lib/typescript/module/src/providers/FirebasePushProvider.d.ts +28 -0
  175. package/lib/typescript/module/src/providers/FirebasePushProvider.d.ts.map +1 -0
  176. package/lib/typescript/module/src/providers/NullPushProvider.d.ts +25 -0
  177. package/lib/typescript/module/src/providers/NullPushProvider.d.ts.map +1 -0
  178. package/lib/typescript/module/src/providers/PushNotificationProvider.d.ts +105 -0
  179. package/lib/typescript/module/src/providers/PushNotificationProvider.d.ts.map +1 -0
  180. package/lib/typescript/module/src/services/DeviceRegistrationService.d.ts +60 -0
  181. package/lib/typescript/module/src/services/DeviceRegistrationService.d.ts.map +1 -0
  182. package/lib/typescript/module/src/services/PushTokenService.d.ts +82 -0
  183. package/lib/typescript/module/src/services/PushTokenService.d.ts.map +1 -0
  184. package/lib/typescript/module/src/state/AuthStateMachine.d.ts +61 -0
  185. package/lib/typescript/module/src/state/AuthStateMachine.d.ts.map +1 -0
  186. package/lib/typescript/module/src/state/DeviceStateMachine.d.ts +51 -0
  187. package/lib/typescript/module/src/state/DeviceStateMachine.d.ts.map +1 -0
  188. package/lib/typescript/module/src/state/PushStateMachine.d.ts +61 -0
  189. package/lib/typescript/module/src/state/PushStateMachine.d.ts.map +1 -0
  190. package/lib/typescript/module/src/types/EventQueue.d.ts +85 -0
  191. package/lib/typescript/module/src/types/EventQueue.d.ts.map +1 -0
  192. package/lib/typescript/module/src/types/SDK.d.ts +54 -0
  193. package/lib/typescript/module/src/types/SDK.d.ts.map +1 -0
  194. package/lib/typescript/module/src/utils/FirebaseNotificationManager.d.ts +169 -0
  195. package/lib/typescript/module/src/utils/FirebaseNotificationManager.d.ts.map +1 -0
  196. package/lib/typescript/module/src/utils/Logger.d.ts +32 -0
  197. package/lib/typescript/module/src/utils/Logger.d.ts.map +1 -0
  198. package/lib/typescript/module/src/utils/SharedCredentialsManager.d.ts +54 -0
  199. package/lib/typescript/module/src/utils/SharedCredentialsManager.d.ts.map +1 -0
  200. package/lib/typescript/module/src/version.d.ts +2 -0
  201. package/lib/typescript/module/src/version.d.ts.map +1 -0
  202. package/package.json +230 -0
  203. package/scripts/generate-version.js +25 -0
  204. package/scripts/setup-ios-extension.js +275 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Logger","EventQueueManager","constructor","db","maxRetries","createTable","Promise","resolve","reject","Error","transaction","txn","executeSql","log","_","error","enqueue","event","id","eventName","JSON","stringify","eventData","timestamp","priority","retryCount","status","createdAt","lastAttemptAt","dequeue","batchSize","events","res","eventIds","i","rows","length","row","item","push","parse","placeholders","map","join","Date","now","markAsSent","markAsFailed","getQueueSize","count","clearOldEvents","daysOld","cutoffTime","rowsAffected","enforceQueueLimit","maxSize","warn","recoverStaleEvents","staleThreshold"],"sourceRoot":"../../../src","sources":["core/EventQueueManager.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+
3
+ import { AppState } from 'react-native';
4
+ import Logger from "../utils/Logger.js";
5
+
6
+ /**
7
+ * FlushManager
8
+ * Orchestrates batch sending with multiple flush triggers:
9
+ * - Time interval (every 30s)
10
+ * - Queue size (when batchSize reached)
11
+ * - App lifecycle (on background)
12
+ * - Network restoration (when back online)
13
+ */
14
+ export class FlushManager {
15
+ flushTimer = null;
16
+ isFlushing = null;
17
+ appStateSubscription = null;
18
+ retryTimeouts = new Map();
19
+ constructor(queueManager, networkMonitor, config, sendBatchCallback) {
20
+ this.queueManager = queueManager;
21
+ this.networkMonitor = networkMonitor;
22
+ this.config = config;
23
+ this.sendBatchCallback = sendBatchCallback;
24
+ }
25
+
26
+ /**
27
+ * Start flush manager
28
+ * - Initializes timer-based flushing
29
+ * - Sets up AppState listener
30
+ * - Sets up network state listener
31
+ */
32
+ start() {
33
+ Logger.log('FlushManager starting...');
34
+
35
+ // Timer-based flush trigger
36
+ this.flushTimer = setInterval(() => {
37
+ this.flush(false);
38
+ }, this.config.flushInterval);
39
+
40
+ // App lifecycle flush trigger
41
+ this.appStateSubscription = AppState.addEventListener('change', nextAppState => {
42
+ if (nextAppState === 'background' || nextAppState === 'inactive') {
43
+ Logger.log('App going to background, triggering flush');
44
+ this.flush(true); // Force flush on background
45
+ }
46
+ });
47
+
48
+ // Network restoration flush trigger
49
+ this.networkMonitor.addListener(isOnline => {
50
+ if (isOnline) {
51
+ Logger.log('Network restored, triggering flush');
52
+ this.flush(false);
53
+ }
54
+ });
55
+ Logger.log('FlushManager started');
56
+ }
57
+
58
+ /**
59
+ * Stop flush manager
60
+ * - Clears timer
61
+ * - Removes listeners
62
+ * - Cancels pending retries
63
+ */
64
+ stop() {
65
+ Logger.log('FlushManager stopping...');
66
+ if (this.flushTimer) {
67
+ clearInterval(this.flushTimer);
68
+ this.flushTimer = null;
69
+ }
70
+ if (this.appStateSubscription) {
71
+ this.appStateSubscription.remove();
72
+ this.appStateSubscription = null;
73
+ }
74
+
75
+ // Cancel all pending retries
76
+ this.retryTimeouts.forEach(timeout => clearTimeout(timeout));
77
+ this.retryTimeouts.clear();
78
+ Logger.log('FlushManager stopped');
79
+ }
80
+
81
+ /**
82
+ * Trigger batch flush
83
+ * Prevents concurrent flushes using promise-based lock
84
+ * @param force If true, bypasses online check
85
+ * @returns Batch response from server
86
+ */
87
+ async flush(force = false) {
88
+ // Prevent concurrent flushes
89
+ if (this.isFlushing) {
90
+ Logger.log('Flush already in progress, skipping');
91
+ return this.isFlushing;
92
+ }
93
+ this.isFlushing = (async () => {
94
+ try {
95
+ // Check network status (unless forced)
96
+ if (!force && !this.networkMonitor.isConnected()) {
97
+ Logger.log('Device offline, skipping flush');
98
+ return null;
99
+ }
100
+
101
+ // Get pending events from queue
102
+ const events = await this.queueManager.dequeue(this.config.batchSize);
103
+ if (events.length === 0) {
104
+ Logger.log('No pending events to flush');
105
+ return null;
106
+ }
107
+ Logger.log(`Flushing ${events.length} events...`);
108
+ try {
109
+ // Send batch and capture response
110
+ const batchResponse = await this.sendBatchCallback(events);
111
+
112
+ // Handle partial batch success/failure at event level
113
+ await this.handleBatchResponse(events, batchResponse);
114
+ Logger.log(`Batch sent: ${batchResponse.processedCount || events.length} succeeded, ${batchResponse.failedCount || 0} failed`);
115
+
116
+ // Return batch response (contains results for each event)
117
+ return batchResponse;
118
+ } catch (error) {
119
+ // Network error or complete batch failure - retry all events
120
+ Logger.error('Batch send failed (network/server error):', error);
121
+ await this.handleFailedBatch(events, error);
122
+ return null;
123
+ }
124
+ } finally {
125
+ this.isFlushing = null;
126
+ }
127
+ })();
128
+ return this.isFlushing;
129
+ }
130
+
131
+ /**
132
+ * Handle batch response with granular event-level success/failure
133
+ * Parses individual event results and handles each one appropriately
134
+ * @param events Events that were sent in the batch
135
+ * @param batchResponse Response from server with individual event results
136
+ */
137
+ async handleBatchResponse(events, batchResponse) {
138
+ // If no results array, assume all succeeded (backward compatibility)
139
+ if (!batchResponse.results || !Array.isArray(batchResponse.results)) {
140
+ Logger.warn('No individual results in batch response, marking all as sent');
141
+ const eventIds = events.map(e => e.id);
142
+ await this.queueManager.markAsSent(eventIds);
143
+ return;
144
+ }
145
+ const successfulEventIds = [];
146
+ const failedEvents = [];
147
+
148
+ // Parse individual event results
149
+ for (const result of batchResponse.results) {
150
+ if (result.success) {
151
+ successfulEventIds.push(result.id);
152
+ } else {
153
+ // Find the full event object for failed events
154
+ const failedEvent = events.find(e => e.id === result.id);
155
+ if (failedEvent) {
156
+ failedEvents.push(failedEvent);
157
+ Logger.warn(`Event ${result.id} failed: ${result.error || 'Unknown error'}`);
158
+ }
159
+ }
160
+ }
161
+
162
+ // Mark successful events as sent and delete from queue
163
+ if (successfulEventIds.length > 0) {
164
+ await this.queueManager.markAsSent(successfulEventIds);
165
+ Logger.log(`Successfully sent ${successfulEventIds.length} events`);
166
+ }
167
+
168
+ // Handle failed events with retry logic (individual events, not entire batch)
169
+ if (failedEvents.length > 0) {
170
+ Logger.warn(`${failedEvents.length} events failed, will retry individually`);
171
+ for (const failedEvent of failedEvents) {
172
+ const newRetryCount = (failedEvent.retryCount || 0) + 1;
173
+ await this.queueManager.markAsFailed([failedEvent.id], newRetryCount);
174
+ if (newRetryCount >= this.config.maxRetries) {
175
+ Logger.error(`Event ${failedEvent.id} reached max retries (${this.config.maxRetries}). Marking as permanently failed.`);
176
+ }
177
+ }
178
+
179
+ // Schedule a retry flush for failed events (only if some haven't exceeded max retries)
180
+ const retriableEvents = failedEvents.filter(e => (e.retryCount || 0) + 1 < this.config.maxRetries);
181
+ if (retriableEvents.length > 0) {
182
+ const retryCount = (retriableEvents[0]?.retryCount || 0) + 1;
183
+ const retryDelay = this.config.retryBaseDelay * Math.pow(2, retryCount - 1);
184
+ Logger.log(`Scheduling retry for ${retriableEvents.length} failed events in ${retryDelay}ms (retry ${retryCount}/${this.config.maxRetries})`);
185
+ const timeoutId = setTimeout(() => {
186
+ this.flush(false);
187
+ this.retryTimeouts.delete('retry');
188
+ }, retryDelay);
189
+ this.retryTimeouts.set('retry', timeoutId);
190
+ }
191
+ }
192
+ }
193
+
194
+ /**
195
+ * Handle failed batch with retry logic (entire batch failed due to network/server error)
196
+ * Implements exponential backoff: 2s, 4s, 8s, 16s, 32s
197
+ * @param events Events that failed to send
198
+ * @param error Error that occurred
199
+ */
200
+ async handleFailedBatch(events, _error) {
201
+ // Increment retry count for all events
202
+ const newRetryCount = (events[0]?.retryCount || 0) + 1;
203
+ const eventIds = events.map(e => e.id);
204
+
205
+ // Mark events as failed with updated retry count
206
+ await this.queueManager.markAsFailed(eventIds, newRetryCount);
207
+ if (newRetryCount >= this.config.maxRetries) {
208
+ Logger.error(`Max retries (${this.config.maxRetries}) reached for ${events.length} events. Marking as permanently failed.`);
209
+ return;
210
+ }
211
+
212
+ // Calculate exponential backoff delay
213
+ const retryDelay = this.config.retryBaseDelay * Math.pow(2, newRetryCount - 1);
214
+ Logger.log(`Scheduling retry ${newRetryCount}/${this.config.maxRetries} in ${retryDelay}ms`);
215
+
216
+ // Schedule retry
217
+ const timeoutId = setTimeout(() => {
218
+ this.flush(false);
219
+ this.retryTimeouts.delete('retry');
220
+ }, retryDelay);
221
+ this.retryTimeouts.set('retry', timeoutId);
222
+ }
223
+
224
+ /**
225
+ * Check if flush is needed based on queue size
226
+ * Called after each event is enqueued
227
+ */
228
+ async checkFlushNeeded() {
229
+ try {
230
+ const queueSize = await this.queueManager.getQueueSize();
231
+ if (queueSize >= this.config.batchSize) {
232
+ Logger.log(`Queue size (${queueSize}) reached batch size, triggering flush`);
233
+ this.flush(false);
234
+ }
235
+ } catch (error) {
236
+ Logger.error('Error checking flush needed:', error);
237
+ }
238
+ }
239
+ }
240
+ //# sourceMappingURL=FlushManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AppState","Logger","FlushManager","flushTimer","isFlushing","appStateSubscription","retryTimeouts","Map","constructor","queueManager","networkMonitor","config","sendBatchCallback","start","log","setInterval","flush","flushInterval","addEventListener","nextAppState","addListener","isOnline","stop","clearInterval","remove","forEach","timeout","clearTimeout","clear","force","isConnected","events","dequeue","batchSize","length","batchResponse","handleBatchResponse","processedCount","failedCount","error","handleFailedBatch","results","Array","isArray","warn","eventIds","map","e","id","markAsSent","successfulEventIds","failedEvents","result","success","push","failedEvent","find","newRetryCount","retryCount","markAsFailed","maxRetries","retriableEvents","filter","retryDelay","retryBaseDelay","Math","pow","timeoutId","setTimeout","delete","set","_error","checkFlushNeeded","queueSize","getQueueSize"],"sourceRoot":"../../../src","sources":["core/FlushManager.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAA6B,cAAc;AAI5D,OAAOC,MAAM,MAAM,oBAAiB;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAY,CAAC;EAMhBC,UAAU,GAA0B,IAAI;EACxCC,UAAU,GAAwB,IAAI;EACtCC,oBAAoB,GAAQ,IAAI;EAChCC,aAAa,GAAgC,IAAIC,GAAG,CAAC,CAAC;EAE9DC,WAAWA,CACTC,YAA+B,EAC/BC,cAA8B,EAC9BC,MAA0B,EAC1BC,iBAA0D,EAC1D;IACA,IAAI,CAACH,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACC,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACC,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,iBAAiB,GAAGA,iBAAiB;EAC5C;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEC,KAAKA,CAAA,EAAS;IACZZ,MAAM,CAACa,GAAG,CAAC,0BAA0B,CAAC;;IAEtC;IACA,IAAI,CAACX,UAAU,GAAGY,WAAW,CAAC,MAAM;MAClC,IAAI,CAACC,KAAK,CAAC,KAAK,CAAC;IACnB,CAAC,EAAE,IAAI,CAACL,MAAM,CAACM,aAAa,CAAC;;IAE7B;IACA,IAAI,CAACZ,oBAAoB,GAAGL,QAAQ,CAACkB,gBAAgB,CACnD,QAAQ,EACPC,YAA4B,IAAK;MAChC,IAAIA,YAAY,KAAK,YAAY,IAAIA,YAAY,KAAK,UAAU,EAAE;QAChElB,MAAM,CAACa,GAAG,CAAC,2CAA2C,CAAC;QACvD,IAAI,CAACE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;MACpB;IACF,CACF,CAAC;;IAED;IACA,IAAI,CAACN,cAAc,CAACU,WAAW,CAAEC,QAAiB,IAAK;MACrD,IAAIA,QAAQ,EAAE;QACZpB,MAAM,CAACa,GAAG,CAAC,oCAAoC,CAAC;QAChD,IAAI,CAACE,KAAK,CAAC,KAAK,CAAC;MACnB;IACF,CAAC,CAAC;IAEFf,MAAM,CAACa,GAAG,CAAC,sBAAsB,CAAC;EACpC;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEQ,IAAIA,CAAA,EAAS;IACXrB,MAAM,CAACa,GAAG,CAAC,0BAA0B,CAAC;IAEtC,IAAI,IAAI,CAACX,UAAU,EAAE;MACnBoB,aAAa,CAAC,IAAI,CAACpB,UAAU,CAAC;MAC9B,IAAI,CAACA,UAAU,GAAG,IAAI;IACxB;IAEA,IAAI,IAAI,CAACE,oBAAoB,EAAE;MAC7B,IAAI,CAACA,oBAAoB,CAACmB,MAAM,CAAC,CAAC;MAClC,IAAI,CAACnB,oBAAoB,GAAG,IAAI;IAClC;;IAEA;IACA,IAAI,CAACC,aAAa,CAACmB,OAAO,CAAEC,OAAO,IAAKC,YAAY,CAACD,OAAO,CAAC,CAAC;IAC9D,IAAI,CAACpB,aAAa,CAACsB,KAAK,CAAC,CAAC;IAE1B3B,MAAM,CAACa,GAAG,CAAC,sBAAsB,CAAC;EACpC;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,MAAME,KAAKA,CAACa,KAAc,GAAG,KAAK,EAAgB;IAChD;IACA,IAAI,IAAI,CAACzB,UAAU,EAAE;MACnBH,MAAM,CAACa,GAAG,CAAC,qCAAqC,CAAC;MACjD,OAAO,IAAI,CAACV,UAAU;IACxB;IAEA,IAAI,CAACA,UAAU,GAAG,CAAC,YAAY;MAC7B,IAAI;QACF;QACA,IAAI,CAACyB,KAAK,IAAI,CAAC,IAAI,CAACnB,cAAc,CAACoB,WAAW,CAAC,CAAC,EAAE;UAChD7B,MAAM,CAACa,GAAG,CAAC,gCAAgC,CAAC;UAC5C,OAAO,IAAI;QACb;;QAEA;QACA,MAAMiB,MAAM,GAAG,MAAM,IAAI,CAACtB,YAAY,CAACuB,OAAO,CAAC,IAAI,CAACrB,MAAM,CAACsB,SAAS,CAAC;QAErE,IAAIF,MAAM,CAACG,MAAM,KAAK,CAAC,EAAE;UACvBjC,MAAM,CAACa,GAAG,CAAC,4BAA4B,CAAC;UACxC,OAAO,IAAI;QACb;QAEAb,MAAM,CAACa,GAAG,CAAC,YAAYiB,MAAM,CAACG,MAAM,YAAY,CAAC;QAEjD,IAAI;UACF;UACA,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACvB,iBAAiB,CAACmB,MAAM,CAAC;;UAE1D;UACA,MAAM,IAAI,CAACK,mBAAmB,CAACL,MAAM,EAAEI,aAAa,CAAC;UAErDlC,MAAM,CAACa,GAAG,CACR,eAAeqB,aAAa,CAACE,cAAc,IAAIN,MAAM,CAACG,MAAM,eAAeC,aAAa,CAACG,WAAW,IAAI,CAAC,SAC3G,CAAC;;UAED;UACA,OAAOH,aAAa;QACtB,CAAC,CAAC,OAAOI,KAAK,EAAE;UACd;UACAtC,MAAM,CAACsC,KAAK,CAAC,2CAA2C,EAAEA,KAAK,CAAC;UAChE,MAAM,IAAI,CAACC,iBAAiB,CAACT,MAAM,EAAEQ,KAAK,CAAC;UAC3C,OAAO,IAAI;QACb;MACF,CAAC,SAAS;QACR,IAAI,CAACnC,UAAU,GAAG,IAAI;MACxB;IACF,CAAC,EAAE,CAAC;IAEJ,OAAO,IAAI,CAACA,UAAU;EACxB;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,MAAcgC,mBAAmBA,CAC/BL,MAAqB,EACrBI,aAAkB,EACH;IACf;IACA,IAAI,CAACA,aAAa,CAACM,OAAO,IAAI,CAACC,KAAK,CAACC,OAAO,CAACR,aAAa,CAACM,OAAO,CAAC,EAAE;MACnExC,MAAM,CAAC2C,IAAI,CACT,8DACF,CAAC;MACD,MAAMC,QAAQ,GAAGd,MAAM,CAACe,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,EAAE,CAAC;MACxC,MAAM,IAAI,CAACvC,YAAY,CAACwC,UAAU,CAACJ,QAAQ,CAAC;MAC5C;IACF;IAEA,MAAMK,kBAA4B,GAAG,EAAE;IACvC,MAAMC,YAA2B,GAAG,EAAE;;IAEtC;IACA,KAAK,MAAMC,MAAM,IAAIjB,aAAa,CAACM,OAAO,EAAE;MAC1C,IAAIW,MAAM,CAACC,OAAO,EAAE;QAClBH,kBAAkB,CAACI,IAAI,CAACF,MAAM,CAACJ,EAAE,CAAC;MACpC,CAAC,MAAM;QACL;QACA,MAAMO,WAAW,GAAGxB,MAAM,CAACyB,IAAI,CAAET,CAAC,IAAKA,CAAC,CAACC,EAAE,KAAKI,MAAM,CAACJ,EAAE,CAAC;QAC1D,IAAIO,WAAW,EAAE;UACfJ,YAAY,CAACG,IAAI,CAACC,WAAW,CAAC;UAC9BtD,MAAM,CAAC2C,IAAI,CACT,SAASQ,MAAM,CAACJ,EAAE,YAAYI,MAAM,CAACb,KAAK,IAAI,eAAe,EAC/D,CAAC;QACH;MACF;IACF;;IAEA;IACA,IAAIW,kBAAkB,CAAChB,MAAM,GAAG,CAAC,EAAE;MACjC,MAAM,IAAI,CAACzB,YAAY,CAACwC,UAAU,CAACC,kBAAkB,CAAC;MACtDjD,MAAM,CAACa,GAAG,CAAC,qBAAqBoC,kBAAkB,CAAChB,MAAM,SAAS,CAAC;IACrE;;IAEA;IACA,IAAIiB,YAAY,CAACjB,MAAM,GAAG,CAAC,EAAE;MAC3BjC,MAAM,CAAC2C,IAAI,CACT,GAAGO,YAAY,CAACjB,MAAM,yCACxB,CAAC;MAED,KAAK,MAAMqB,WAAW,IAAIJ,YAAY,EAAE;QACtC,MAAMM,aAAa,GAAG,CAACF,WAAW,CAACG,UAAU,IAAI,CAAC,IAAI,CAAC;QACvD,MAAM,IAAI,CAACjD,YAAY,CAACkD,YAAY,CAAC,CAACJ,WAAW,CAACP,EAAE,CAAC,EAAES,aAAa,CAAC;QAErE,IAAIA,aAAa,IAAI,IAAI,CAAC9C,MAAM,CAACiD,UAAU,EAAE;UAC3C3D,MAAM,CAACsC,KAAK,CACV,SAASgB,WAAW,CAACP,EAAE,yBAAyB,IAAI,CAACrC,MAAM,CAACiD,UAAU,mCACxE,CAAC;QACH;MACF;;MAEA;MACA,MAAMC,eAAe,GAAGV,YAAY,CAACW,MAAM,CACxCf,CAAC,IAAK,CAACA,CAAC,CAACW,UAAU,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC/C,MAAM,CAACiD,UAC/C,CAAC;MAED,IAAIC,eAAe,CAAC3B,MAAM,GAAG,CAAC,EAAE;QAC9B,MAAMwB,UAAU,GAAG,CAACG,eAAe,CAAC,CAAC,CAAC,EAAEH,UAAU,IAAI,CAAC,IAAI,CAAC;QAC5D,MAAMK,UAAU,GACd,IAAI,CAACpD,MAAM,CAACqD,cAAc,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAER,UAAU,GAAG,CAAC,CAAC;QAE1DzD,MAAM,CAACa,GAAG,CACR,wBAAwB+C,eAAe,CAAC3B,MAAM,qBAAqB6B,UAAU,aAAaL,UAAU,IAAI,IAAI,CAAC/C,MAAM,CAACiD,UAAU,GAChI,CAAC;QAED,MAAMO,SAAS,GAAGC,UAAU,CAAC,MAAM;UACjC,IAAI,CAACpD,KAAK,CAAC,KAAK,CAAC;UACjB,IAAI,CAACV,aAAa,CAAC+D,MAAM,CAAC,OAAO,CAAC;QACpC,CAAC,EAAEN,UAAU,CAAC;QAEd,IAAI,CAACzD,aAAa,CAACgE,GAAG,CAAC,OAAO,EAAEH,SAAS,CAAC;MAC5C;IACF;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,MAAc3B,iBAAiBA,CAC7BT,MAAqB,EACrBwC,MAAW,EACI;IACf;IACA,MAAMd,aAAa,GAAG,CAAC1B,MAAM,CAAC,CAAC,CAAC,EAAE2B,UAAU,IAAI,CAAC,IAAI,CAAC;IACtD,MAAMb,QAAQ,GAAGd,MAAM,CAACe,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,EAAE,CAAC;;IAExC;IACA,MAAM,IAAI,CAACvC,YAAY,CAACkD,YAAY,CAACd,QAAQ,EAAEY,aAAa,CAAC;IAE7D,IAAIA,aAAa,IAAI,IAAI,CAAC9C,MAAM,CAACiD,UAAU,EAAE;MAC3C3D,MAAM,CAACsC,KAAK,CACV,gBAAgB,IAAI,CAAC5B,MAAM,CAACiD,UAAU,iBAAiB7B,MAAM,CAACG,MAAM,yCACtE,CAAC;MACD;IACF;;IAEA;IACA,MAAM6B,UAAU,GACd,IAAI,CAACpD,MAAM,CAACqD,cAAc,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAET,aAAa,GAAG,CAAC,CAAC;IAE7DxD,MAAM,CAACa,GAAG,CACR,oBAAoB2C,aAAa,IAAI,IAAI,CAAC9C,MAAM,CAACiD,UAAU,OAAOG,UAAU,IAC9E,CAAC;;IAED;IACA,MAAMI,SAAS,GAAGC,UAAU,CAAC,MAAM;MACjC,IAAI,CAACpD,KAAK,CAAC,KAAK,CAAC;MACjB,IAAI,CAACV,aAAa,CAAC+D,MAAM,CAAC,OAAO,CAAC;IACpC,CAAC,EAAEN,UAAU,CAAC;IAEd,IAAI,CAACzD,aAAa,CAACgE,GAAG,CAAC,OAAO,EAAEH,SAAS,CAAC;EAC5C;;EAEA;AACF;AACA;AACA;EACE,MAAMK,gBAAgBA,CAAA,EAAkB;IACtC,IAAI;MACF,MAAMC,SAAS,GAAG,MAAM,IAAI,CAAChE,YAAY,CAACiE,YAAY,CAAC,CAAC;MAExD,IAAID,SAAS,IAAI,IAAI,CAAC9D,MAAM,CAACsB,SAAS,EAAE;QACtChC,MAAM,CAACa,GAAG,CACR,eAAe2D,SAAS,wCAC1B,CAAC;QACD,IAAI,CAACzD,KAAK,CAAC,KAAK,CAAC;MACnB;IACF,CAAC,CAAC,OAAOuB,KAAK,EAAE;MACdtC,MAAM,CAACsC,KAAK,CAAC,8BAA8B,EAAEA,KAAK,CAAC;IACrD;EACF;AACF","ignoreList":[]}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ import NetInfo from '@react-native-community/netinfo';
4
+ import Logger from "../utils/Logger.js";
5
+
6
+ /**
7
+ * NetworkMonitor
8
+ * Monitors network connectivity status
9
+ * Notifies when connection status changes
10
+ */
11
+ export class NetworkMonitor {
12
+ isOnline = true;
13
+ unsubscribe = null;
14
+ listeners = new Set();
15
+
16
+ /**
17
+ * Start monitoring network state
18
+ */
19
+ start() {
20
+ if (this.unsubscribe) {
21
+ Logger.warn('NetworkMonitor already started');
22
+ return;
23
+ }
24
+
25
+ // Subscribe to network state changes
26
+ this.unsubscribe = NetInfo.addEventListener(state => {
27
+ const wasOnline = this.isOnline;
28
+ this.isOnline = state.isConnected ?? false;
29
+ Logger.log(`Network state changed: ${wasOnline ? 'Online' : 'Offline'} → ${this.isOnline ? 'Online' : 'Offline'}`);
30
+
31
+ // Notify listeners if status changed
32
+ if (wasOnline !== this.isOnline) {
33
+ this.notifyListeners();
34
+ }
35
+ });
36
+
37
+ // Get initial state
38
+ NetInfo.fetch().then(state => {
39
+ this.isOnline = state.isConnected ?? false;
40
+ Logger.log(`Initial network state: ${this.isOnline ? 'Online' : 'Offline'}`);
41
+ });
42
+ }
43
+
44
+ /**
45
+ * Stop monitoring network state
46
+ */
47
+ stop() {
48
+ if (this.unsubscribe) {
49
+ this.unsubscribe();
50
+ this.unsubscribe = null;
51
+ Logger.log('NetworkMonitor stopped');
52
+ }
53
+ }
54
+
55
+ /**
56
+ * Check if currently connected to network
57
+ * @returns true if connected, false otherwise
58
+ */
59
+ isConnected() {
60
+ return this.isOnline;
61
+ }
62
+
63
+ /**
64
+ * Add listener for connection state changes
65
+ * @param callback Function called when connection state changes
66
+ */
67
+ addListener(callback) {
68
+ this.listeners.add(callback);
69
+ }
70
+
71
+ /**
72
+ * Remove listener
73
+ * @param callback Listener to remove
74
+ */
75
+ removeListener(callback) {
76
+ this.listeners.delete(callback);
77
+ }
78
+
79
+ /**
80
+ * Notify all listeners of connection state change
81
+ */
82
+ notifyListeners() {
83
+ this.listeners.forEach(callback => {
84
+ try {
85
+ callback(this.isOnline);
86
+ } catch (error) {
87
+ Logger.error('Error in network listener:', error);
88
+ }
89
+ });
90
+ }
91
+ }
92
+ //# sourceMappingURL=NetworkMonitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NetInfo","Logger","NetworkMonitor","isOnline","unsubscribe","listeners","Set","start","warn","addEventListener","state","wasOnline","isConnected","log","notifyListeners","fetch","then","stop","addListener","callback","add","removeListener","delete","forEach","error"],"sourceRoot":"../../../src","sources":["core/NetworkMonitor.ts"],"mappings":";;AAAA,OAAOA,OAAO,MAGP,iCAAiC;AACxC,OAAOC,MAAM,MAAM,oBAAiB;;AAEpC;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,cAAc,CAAC;EAClBC,QAAQ,GAAY,IAAI;EACxBC,WAAW,GAA+B,IAAI;EAC9CC,SAAS,GAAqC,IAAIC,GAAG,CAAC,CAAC;;EAE/D;AACF;AACA;EACEC,KAAKA,CAAA,EAAS;IACZ,IAAI,IAAI,CAACH,WAAW,EAAE;MACpBH,MAAM,CAACO,IAAI,CAAC,gCAAgC,CAAC;MAC7C;IACF;;IAEA;IACA,IAAI,CAACJ,WAAW,GAAGJ,OAAO,CAACS,gBAAgB,CAAEC,KAAmB,IAAK;MACnE,MAAMC,SAAS,GAAG,IAAI,CAACR,QAAQ;MAC/B,IAAI,CAACA,QAAQ,GAAGO,KAAK,CAACE,WAAW,IAAI,KAAK;MAE1CX,MAAM,CAACY,GAAG,CACR,0BAA0BF,SAAS,GAAG,QAAQ,GAAG,SAAS,MAAM,IAAI,CAACR,QAAQ,GAAG,QAAQ,GAAG,SAAS,EACtG,CAAC;;MAED;MACA,IAAIQ,SAAS,KAAK,IAAI,CAACR,QAAQ,EAAE;QAC/B,IAAI,CAACW,eAAe,CAAC,CAAC;MACxB;IACF,CAAC,CAAC;;IAEF;IACAd,OAAO,CAACe,KAAK,CAAC,CAAC,CAACC,IAAI,CAAEN,KAAmB,IAAK;MAC5C,IAAI,CAACP,QAAQ,GAAGO,KAAK,CAACE,WAAW,IAAI,KAAK;MAC1CX,MAAM,CAACY,GAAG,CACR,0BAA0B,IAAI,CAACV,QAAQ,GAAG,QAAQ,GAAG,SAAS,EAChE,CAAC;IACH,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;EACEc,IAAIA,CAAA,EAAS;IACX,IAAI,IAAI,CAACb,WAAW,EAAE;MACpB,IAAI,CAACA,WAAW,CAAC,CAAC;MAClB,IAAI,CAACA,WAAW,GAAG,IAAI;MACvBH,MAAM,CAACY,GAAG,CAAC,wBAAwB,CAAC;IACtC;EACF;;EAEA;AACF;AACA;AACA;EACED,WAAWA,CAAA,EAAY;IACrB,OAAO,IAAI,CAACT,QAAQ;EACtB;;EAEA;AACF;AACA;AACA;EACEe,WAAWA,CAACC,QAAqC,EAAQ;IACvD,IAAI,CAACd,SAAS,CAACe,GAAG,CAACD,QAAQ,CAAC;EAC9B;;EAEA;AACF;AACA;AACA;EACEE,cAAcA,CAACF,QAAqC,EAAQ;IAC1D,IAAI,CAACd,SAAS,CAACiB,MAAM,CAACH,QAAQ,CAAC;EACjC;;EAEA;AACF;AACA;EACUL,eAAeA,CAAA,EAAS;IAC9B,IAAI,CAACT,SAAS,CAACkB,OAAO,CAAEJ,QAAQ,IAAK;MACnC,IAAI;QACFA,QAAQ,CAAC,IAAI,CAAChB,QAAQ,CAAC;MACzB,CAAC,CAAC,OAAOqB,KAAK,EAAE;QACdvB,MAAM,CAACuB,KAAK,CAAC,4BAA4B,EAAEA,KAAK,CAAC;MACnD;IACF,CAAC,CAAC;EACJ;AACF","ignoreList":[]}