@os1-platform/dispatch-mobile 3.1.5 → 3.1.7

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 (119) hide show
  1. package/android/.gradle/8.3/checksums/checksums.lock +0 -0
  2. package/android/.gradle/8.3/dependencies-accessors/dependencies-accessors.lock +0 -0
  3. package/android/.gradle/8.3/dependencies-accessors/gc.properties +0 -0
  4. package/android/.gradle/8.3/executionHistory/executionHistory.lock +0 -0
  5. package/android/.gradle/8.3/fileChanges/last-build.bin +0 -0
  6. package/android/.gradle/8.3/fileHashes/fileHashes.lock +0 -0
  7. package/android/.gradle/8.3/gc.properties +0 -0
  8. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  9. package/android/.gradle/buildOutputCleanup/cache.properties +2 -2
  10. package/android/build.gradle +4 -2
  11. package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js +38 -45
  12. package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
  13. package/lib/commonjs/manager/dispatch/DispatchStateContainer.js +121 -108
  14. package/lib/commonjs/manager/dispatch/DispatchStateContainer.js.map +1 -1
  15. package/lib/commonjs/manager/sdk/DispatchSDKManager.js +1 -0
  16. package/lib/commonjs/manager/sdk/DispatchSDKManager.js.map +1 -1
  17. package/lib/commonjs/manager/syncmanager/AppSyncManager.js +3 -5
  18. package/lib/commonjs/manager/syncmanager/AppSyncManager.js.map +1 -1
  19. package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js +62 -57
  20. package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
  21. package/lib/commonjs/manager/syncmanager/document/DocumentManager.js +0 -1
  22. package/lib/commonjs/manager/syncmanager/document/DocumentManager.js.map +1 -1
  23. package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js +6 -56
  24. package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
  25. package/lib/commonjs/manager/syncmanager/events/ETEventsManager.js +1 -1
  26. package/lib/commonjs/manager/syncmanager/events/ETEventsManager.js.map +1 -1
  27. package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js +5 -6
  28. package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
  29. package/lib/commonjs/manager/syncmanager/events/SyncHttpClient.js +2 -1
  30. package/lib/commonjs/manager/syncmanager/events/SyncHttpClient.js.map +1 -1
  31. package/lib/commonjs/network/client.js +8 -1
  32. package/lib/commonjs/network/client.js.map +1 -1
  33. package/lib/commonjs/ui/screens/CollectPaymentScreen.js +12 -18
  34. package/lib/commonjs/ui/screens/CollectPaymentScreen.js.map +1 -1
  35. package/lib/commonjs/ui/screens/CompleteObjectiveScreen.js +3 -2
  36. package/lib/commonjs/ui/screens/CompleteObjectiveScreen.js.map +1 -1
  37. package/lib/commonjs/ui/screens/DeliverScreen.js +13 -8
  38. package/lib/commonjs/ui/screens/DeliverScreen.js.map +1 -1
  39. package/lib/commonjs/ui/screens/DropCashScreen.js +14 -12
  40. package/lib/commonjs/ui/screens/DropCashScreen.js.map +1 -1
  41. package/lib/commonjs/ui/screens/ImageCaptureScreen.js +2 -2
  42. package/lib/commonjs/ui/screens/ImageCaptureScreen.js.map +1 -1
  43. package/lib/commonjs/ui/screens/PickupScreen.js +3 -8
  44. package/lib/commonjs/ui/screens/PickupScreen.js.map +1 -1
  45. package/lib/commonjs/ui/screens/StartWorkFlowScreen.js +2 -2
  46. package/lib/commonjs/ui/screens/StartWorkFlowScreen.js.map +1 -1
  47. package/lib/commonjs/utils/Constants.js +1 -2
  48. package/lib/commonjs/utils/Constants.js.map +1 -1
  49. package/lib/commonjs/utils/Logger.js +20 -8
  50. package/lib/commonjs/utils/Logger.js.map +1 -1
  51. package/lib/commonjs/utils/SdkUtils.js +1 -0
  52. package/lib/commonjs/utils/SdkUtils.js.map +1 -1
  53. package/lib/module/components/executiontasks/imageCapture/ImageCapture.js +38 -45
  54. package/lib/module/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
  55. package/lib/module/manager/dispatch/DispatchStateContainer.js +121 -108
  56. package/lib/module/manager/dispatch/DispatchStateContainer.js.map +1 -1
  57. package/lib/module/manager/sdk/DispatchSDKManager.js +1 -0
  58. package/lib/module/manager/sdk/DispatchSDKManager.js.map +1 -1
  59. package/lib/module/manager/syncmanager/AppSyncManager.js +3 -5
  60. package/lib/module/manager/syncmanager/AppSyncManager.js.map +1 -1
  61. package/lib/module/manager/syncmanager/document/DocumentHttpClient.js +62 -57
  62. package/lib/module/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
  63. package/lib/module/manager/syncmanager/document/DocumentManager.js +0 -1
  64. package/lib/module/manager/syncmanager/document/DocumentManager.js.map +1 -1
  65. package/lib/module/manager/syncmanager/document/DocumentSyncManager.js +6 -56
  66. package/lib/module/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
  67. package/lib/module/manager/syncmanager/events/ETEventsManager.js +1 -1
  68. package/lib/module/manager/syncmanager/events/ETEventsManager.js.map +1 -1
  69. package/lib/module/manager/syncmanager/events/EventsSyncManager.js +5 -6
  70. package/lib/module/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
  71. package/lib/module/manager/syncmanager/events/SyncHttpClient.js +2 -1
  72. package/lib/module/manager/syncmanager/events/SyncHttpClient.js.map +1 -1
  73. package/lib/module/network/client.js +8 -1
  74. package/lib/module/network/client.js.map +1 -1
  75. package/lib/module/ui/screens/CollectPaymentScreen.js +12 -18
  76. package/lib/module/ui/screens/CollectPaymentScreen.js.map +1 -1
  77. package/lib/module/ui/screens/CompleteObjectiveScreen.js +3 -2
  78. package/lib/module/ui/screens/CompleteObjectiveScreen.js.map +1 -1
  79. package/lib/module/ui/screens/DeliverScreen.js +13 -8
  80. package/lib/module/ui/screens/DeliverScreen.js.map +1 -1
  81. package/lib/module/ui/screens/DropCashScreen.js +13 -12
  82. package/lib/module/ui/screens/DropCashScreen.js.map +1 -1
  83. package/lib/module/ui/screens/ImageCaptureScreen.js +2 -2
  84. package/lib/module/ui/screens/ImageCaptureScreen.js.map +1 -1
  85. package/lib/module/ui/screens/PickupScreen.js +3 -8
  86. package/lib/module/ui/screens/PickupScreen.js.map +1 -1
  87. package/lib/module/ui/screens/StartWorkFlowScreen.js +2 -2
  88. package/lib/module/ui/screens/StartWorkFlowScreen.js.map +1 -1
  89. package/lib/module/utils/Constants.js +1 -2
  90. package/lib/module/utils/Constants.js.map +1 -1
  91. package/lib/module/utils/Logger.js +20 -8
  92. package/lib/module/utils/Logger.js.map +1 -1
  93. package/lib/module/utils/SdkUtils.js +1 -0
  94. package/lib/module/utils/SdkUtils.js.map +1 -1
  95. package/lib/typescript/network/client.d.ts +2 -1
  96. package/lib/typescript/utils/Constants.d.ts +1 -1
  97. package/lib/typescript/utils/Logger.d.ts +3 -1
  98. package/package.json +2 -2
  99. package/src/components/executiontasks/imageCapture/ImageCapture.tsx +43 -54
  100. package/src/manager/dispatch/DispatchStateContainer.tsx +158 -164
  101. package/src/manager/sdk/DispatchSDKManager.ts +2 -1
  102. package/src/manager/syncmanager/AppSyncManager.ts +3 -17
  103. package/src/manager/syncmanager/document/DocumentHttpClient.ts +90 -86
  104. package/src/manager/syncmanager/document/DocumentManager.ts +0 -1
  105. package/src/manager/syncmanager/document/DocumentSyncManager.ts +6 -76
  106. package/src/manager/syncmanager/events/ETEventsManager.ts +1 -1
  107. package/src/manager/syncmanager/events/EventsSyncManager.ts +8 -29
  108. package/src/manager/syncmanager/events/SyncHttpClient.ts +2 -5
  109. package/src/network/client.ts +12 -2
  110. package/src/ui/screens/CollectPaymentScreen.tsx +14 -33
  111. package/src/ui/screens/CompleteObjectiveScreen.tsx +3 -6
  112. package/src/ui/screens/DeliverScreen.tsx +16 -11
  113. package/src/ui/screens/DropCashScreen.tsx +10 -10
  114. package/src/ui/screens/ImageCaptureScreen.tsx +2 -2
  115. package/src/ui/screens/PickupScreen.tsx +5 -12
  116. package/src/ui/screens/StartWorkFlowScreen.tsx +1 -1
  117. package/src/utils/Constants.ts +1 -2
  118. package/src/utils/Logger.ts +26 -18
  119. package/src/utils/SdkUtils.ts +1 -0
@@ -42,7 +42,7 @@ export default class DispatchStateContainer {
42
42
  await this.sendETOutput(etOutput, states, isMergedObjectiveBasedOutput);
43
43
  await this.moveToNextET(etOutput, baseETProps, states, navigation, isLastTask);
44
44
  } catch (error) {
45
- Logger.getInstance().logEvent('saveAndProceed', error.message, LOG_TYPE.SDK_ERROR);
45
+ Logger.getInstance().logCora("Error", `saveAndProceedToNextET: ${error}`);
46
46
  baseETProps.showProgress(false);
47
47
  showToast(error.message);
48
48
  }
@@ -90,6 +90,7 @@ export default class DispatchStateContainer {
90
90
  maxTaskReattempt,
91
91
  eventSyncBatchSize: BULK_DATA_LIMIT
92
92
  });
93
+ Logger.getInstance().logCora("Info", `DispatchExecutor started with ID: ${dispatchID}`);
93
94
  }
94
95
 
95
96
  // NEW CODE
@@ -106,132 +107,144 @@ export default class DispatchStateContainer {
106
107
 
107
108
  async queryNextET(mergedObjectiveId, statusFilter) {
108
109
  if (!mergedObjectiveId) {
109
- Logger.getInstance().logEvent('queryNextET', 'CONSTRAINTS FAILED', LOG_TYPE.SDK_ERROR);
110
+ Logger.getInstance().logCora("Error", `Merged Objective ID is null`);
110
111
  throw new BaseError(ErrorCodes.MERGING_ERROR, 'CONSTRAINTS FAILED');
111
112
  }
112
113
  return await dispatchExecutor.getNextTask(mergedObjectiveId[0], statusFilter);
113
114
  }
114
115
  async updateScanETOutputSharedPreference(etOutput, prefixedMergedObjectiveId, prefixKey) {
115
- etOutput.mergedObjectiveIds = prefixedMergedObjectiveId;
116
- let storage = Storage.getInstance();
117
- const output = await storage.getSharedItem(SHARED_PREFERENCE_SCAN_OUTPUT);
118
- if (output) {
119
- const scanETOutput = JSON.parse(output);
120
- let _scanETOutput = {};
121
- if (scanETOutput[prefixKey]) {
122
- _scanETOutput = scanETOutput[prefixKey];
123
- }
124
- prefixedMergedObjectiveId.forEach(mergedId => {
125
- _scanETOutput[mergedId] = etOutput;
126
- });
116
+ try {
117
+ etOutput.mergedObjectiveIds = prefixedMergedObjectiveId;
118
+ let storage = Storage.getInstance();
119
+ const output = await storage.getSharedItem(SHARED_PREFERENCE_SCAN_OUTPUT);
120
+ if (output) {
121
+ const scanETOutput = JSON.parse(output);
122
+ let _scanETOutput = {};
123
+ if (scanETOutput[prefixKey]) {
124
+ _scanETOutput = scanETOutput[prefixKey];
125
+ }
126
+ prefixedMergedObjectiveId.forEach(mergedId => {
127
+ _scanETOutput[mergedId] = etOutput;
128
+ });
127
129
 
128
- // SAVE IN SHARED PREFERENCE
129
- await storage.setSharedItem(SHARED_PREFERENCE_SCAN_OUTPUT, JSON.stringify({
130
- ...scanETOutput,
131
- [prefixKey]: _scanETOutput
132
- }));
133
- } else {
134
- const scanETOutput = {};
135
- prefixedMergedObjectiveId.forEach(mergedId => {
136
- scanETOutput[mergedId] = etOutput;
137
- });
138
- // SAVE IN SHARED PREFERENCE
139
- await storage.setSharedItem(SHARED_PREFERENCE_SCAN_OUTPUT, JSON.stringify({
140
- [prefixKey]: scanETOutput
141
- }));
130
+ // SAVE IN SHARED PREFERENCE
131
+ await storage.setSharedItem(SHARED_PREFERENCE_SCAN_OUTPUT, JSON.stringify({
132
+ ...scanETOutput,
133
+ [prefixKey]: _scanETOutput
134
+ }));
135
+ } else {
136
+ const scanETOutput = {};
137
+ prefixedMergedObjectiveId.forEach(mergedId => {
138
+ scanETOutput[mergedId] = etOutput;
139
+ });
140
+ // SAVE IN SHARED PREFERENCE
141
+ await storage.setSharedItem(SHARED_PREFERENCE_SCAN_OUTPUT, JSON.stringify({
142
+ [prefixKey]: scanETOutput
143
+ }));
144
+ }
145
+ } catch (error) {
146
+ Logger.getInstance().logCora("Error", `updateScanETOutputSharedPreference: ${error}`);
142
147
  }
143
148
  }
144
149
  async updatePendingSharedPreference(eventType, prefixedMergedObjectiveId, prefixKey) {
145
- let storage = Storage.getInstance();
146
- const mergedIdOutput = await storage.getSharedItem(SCAN_MERGED_OBJ_ID_OUTPUT);
147
- if (mergedIdOutput) {
148
- const mergedIds = JSON.parse(mergedIdOutput);
149
- const _mergedIds = mergedIds[prefixKey];
150
- if (_mergedIds) {
151
- if (eventType) {
152
- _mergedIds.success.push(...prefixedMergedObjectiveId);
153
- _mergedIds.pending = [];
154
- } else {
155
- _mergedIds.failure.push(...prefixedMergedObjectiveId);
156
- _mergedIds.pending = [];
150
+ try {
151
+ let storage = Storage.getInstance();
152
+ const mergedIdOutput = await storage.getSharedItem(SCAN_MERGED_OBJ_ID_OUTPUT);
153
+ if (mergedIdOutput) {
154
+ const mergedIds = JSON.parse(mergedIdOutput);
155
+ const _mergedIds = mergedIds[prefixKey];
156
+ if (_mergedIds) {
157
+ if (eventType) {
158
+ _mergedIds.success.push(...prefixedMergedObjectiveId);
159
+ _mergedIds.pending = [];
160
+ } else {
161
+ _mergedIds.failure.push(...prefixedMergedObjectiveId);
162
+ _mergedIds.pending = [];
163
+ }
164
+ await storage.setSharedItem(SCAN_MERGED_OBJ_ID_OUTPUT, JSON.stringify({
165
+ ...mergedIds,
166
+ [prefixKey]: _mergedIds
167
+ }));
157
168
  }
158
- await storage.setSharedItem(SCAN_MERGED_OBJ_ID_OUTPUT, JSON.stringify({
159
- ...mergedIds,
160
- [prefixKey]: _mergedIds
161
- }));
162
169
  }
170
+ } catch (error) {
171
+ Logger.getInstance().logCora("Error", `updatePendingSharedPreference: ${error}`);
163
172
  }
164
173
  }
165
174
 
166
175
  // NEW CODE
167
176
  async sendETOutput(etOutput, states, isMergedObjectiveBasedOutput) {
168
- const mergedObjectiveIds = states[RouteParams.NEXT_STATES].mergedObjectiveIds;
169
- const taskName = states[RouteParams.NEXT_STATES].taskName;
170
- const taskID = states[RouteParams.NEXT_STATES].taskId;
171
- const input = states[RouteParams.NEXT_STATES].input;
172
- let lockTaskResponse = true;
173
- if (isMergedObjectiveBasedOutput) {
174
- // NEW CODE
175
- const output = etOutput;
176
- let promises = [];
177
- const prefixKey = this.findPrefixKey(mergedObjectiveIds, etOutput, states);
178
- let defaultConfig = {
179
- index: -1,
180
- success: false,
181
- output: {}
182
- };
183
- let mergedIds = {
184
- success: [],
185
- failure: [],
186
- pending: [prefixKey]
187
- };
188
- const filterIds = await getScanMergedObjectID();
189
- if (filterIds) {
190
- mergedIds = filterIds[prefixKey];
191
- }
192
- Object.keys(etOutput).forEach(mergedObjectiveId => {
193
- const _output = output[mergedObjectiveId].output;
194
- // PREFIX_KEY
195
- if (mergedObjectiveId === 'default') {
196
- const defaultOutput = output.default.output;
197
- // DELIVER AT DIFF LOCATION
198
- if (defaultOutput.eventCode === REASON_NOT_USED) {
199
- // DO NOT SEND OUTPUT WHEN DELIVER AT DIFF LOCATION
200
- defaultOutput.eventCode = '';
201
- defaultOutput.reasonCode = '';
202
- lockTaskResponse = false;
177
+ try {
178
+ const mergedObjectiveIds = states[RouteParams.NEXT_STATES].mergedObjectiveIds;
179
+ const taskName = states[RouteParams.NEXT_STATES].taskName;
180
+ const taskID = states[RouteParams.NEXT_STATES].taskId;
181
+ const input = states[RouteParams.NEXT_STATES].input;
182
+ let lockTaskResponse = true;
183
+ if (isMergedObjectiveBasedOutput) {
184
+ // NEW CODE
185
+ const output = etOutput;
186
+ let promises = [];
187
+ const prefixKey = this.findPrefixKey(mergedObjectiveIds, etOutput, states);
188
+ let defaultConfig = {
189
+ index: -1,
190
+ success: false,
191
+ output: {}
192
+ };
193
+ let mergedIds = {
194
+ success: [],
195
+ failure: [],
196
+ pending: [prefixKey]
197
+ };
198
+ const filterIds = await getScanMergedObjectID();
199
+ if (filterIds) {
200
+ mergedIds = filterIds[prefixKey];
201
+ }
202
+ Object.keys(etOutput).forEach(mergedObjectiveId => {
203
+ const _output = output[mergedObjectiveId].output;
204
+ // PREFIX_KEY
205
+ if (mergedObjectiveId === 'default') {
206
+ const defaultOutput = output.default.output;
207
+ // DELIVER AT DIFF LOCATION
208
+ if (defaultOutput.eventCode === REASON_NOT_USED) {
209
+ // DO NOT SEND OUTPUT WHEN DELIVER AT DIFF LOCATION
210
+ defaultOutput.eventCode = '';
211
+ defaultOutput.reasonCode = '';
212
+ lockTaskResponse = false;
213
+ } else {
214
+ defaultConfig = {
215
+ index: promises.length,
216
+ success: defaultOutput.success,
217
+ output: output.default
218
+ };
219
+ promises.push(dispatchExecutor.saveTaskOutput(mergedIds.pending, taskName, taskID, {
220
+ input,
221
+ output: defaultOutput
222
+ }, {
223
+ ec: defaultOutput.eventCode,
224
+ rc: defaultOutput.reasonCode || ''
225
+ }));
226
+ }
203
227
  } else {
204
- defaultConfig = {
205
- index: promises.length,
206
- success: defaultOutput.success,
207
- output: output.default
208
- };
209
- promises.push(dispatchExecutor.saveTaskOutput(mergedIds.pending, taskName, taskID, {
228
+ promises.push(dispatchExecutor.saveTaskOutput([mergedObjectiveId], taskName, taskID, {
210
229
  input,
211
- output: defaultOutput
212
- }, {
213
- ec: defaultOutput.eventCode,
214
- rc: defaultOutput.reasonCode || ''
230
+ output: _output
215
231
  }));
216
232
  }
217
- } else {
218
- promises.push(dispatchExecutor.saveTaskOutput([mergedObjectiveId], taskName, taskID, {
219
- input,
220
- output: _output
221
- }));
233
+ });
234
+ const response = await Promise.all(promises);
235
+ if (defaultConfig.index !== -1) {
236
+ // UPDATE PENDING IN SHARED PREFERENCE MERGED_SCAN_OUTPUT
237
+ this.updatePendingSharedPreference(defaultConfig.success, response[defaultConfig.index], prefixKey);
238
+ this.updateScanETOutputSharedPreference(defaultConfig.output, response[defaultConfig.index], prefixKey);
222
239
  }
223
- });
224
- const response = await Promise.all(promises);
225
- if (defaultConfig.index !== -1) {
226
- // UPDATE PENDING IN SHARED PREFERENCE MERGED_SCAN_OUTPUT
227
- this.updatePendingSharedPreference(defaultConfig.success, response[defaultConfig.index], prefixKey);
228
- this.updateScanETOutputSharedPreference(defaultConfig.output, response[defaultConfig.index], prefixKey);
240
+ } else {
241
+ await dispatchExecutor.saveTaskOutput(mergedObjectiveIds, taskName, taskID, {
242
+ input,
243
+ output: etOutput
244
+ });
229
245
  }
230
- } else {
231
- await dispatchExecutor.saveTaskOutput(mergedObjectiveIds, taskName, taskID, {
232
- input,
233
- output: etOutput
234
- });
246
+ } catch (error) {
247
+ Logger.getInstance().logCora("Error", `sendETOutput: ${error}`);
235
248
  }
236
249
  }
237
250
  findPrefixKey(mergedObjectiveIds, scanOutput, routeParams) {
@@ -275,7 +288,7 @@ export default class DispatchStateContainer {
275
288
  return response;
276
289
  } else return response;
277
290
  } catch (error) {
278
- Logger.getInstance().logEvent('getObjectiveSummary', error.message, LOG_TYPE.SDK_ERROR);
291
+ Logger.getInstance().logCora("Error", `getObjectiveSummary: ${error}`);
279
292
  return [];
280
293
  }
281
294
  }
@@ -376,7 +389,7 @@ export default class DispatchStateContainer {
376
389
  }
377
390
  } catch (error) {
378
391
  baseETProps.showProgress(false);
379
- Logger.getInstance().logEvent('navigateToNextTask', error.message, LOG_TYPE.SDK_ERROR);
392
+ Logger.getInstance().logCora("Error", `navigateToNextTask: ${error}`);
380
393
  }
381
394
  }
382
395
  async moveToNextET(etOutput, baseETProps, states, navigation, isLastTask) {
@@ -496,7 +509,7 @@ export default class DispatchStateContainer {
496
509
  }
497
510
  } catch (error) {
498
511
  baseETProps.showProgress(false);
499
- Logger.getInstance().logEvent('moveToNextET', error.message, LOG_TYPE.SDK_ERROR);
512
+ Logger.getInstance().logCora("Error", `moveToNextET: ${error}`);
500
513
  }
501
514
  }
502
515
  async saveAndProceed(baseETProps, etOutput, states, navigation, isLastTask, isMergedObjectiveBasedOutput) {
@@ -1 +1 @@
1
- {"version":3,"names":["clearCache","createFmsFolder","DispatchExecutor","dispatchExecutor","showToast","CustomScreens","ExecutionTaskID","EventsSyncManager","Logger","LOG_TYPE","DispatchSdkCache","BaseError","getBaseETResponse","ReasonCodeContainer","BaseErrorCodes","ErrorCodes","InvalidArgumentsError","RouteParams","debounce","dispatchEvent","EventCodeContainer","GO_BACK_EVENT_CODE","REASON_NOT_USED","RETRY_LIMIT_REACHED_CODE","AppSyncManager","BULK_DATA_LIMIT","LAST_SYNCED_EVENT_ID","SCAN_MERGED_OBJ_ID_OUTPUT","SHARED_PREFERENCE_DISPATCH_ID","SHARED_PREFERENCE_SCAN_OUTPUT","Storage","clearPaymentSharedData","clearScanOutput","getScanMergedObjectID","CommonActions","DispatchStateContainer","constructor","_defineProperty","KEYS","getInstance","Map","baseETProps","etOutput","states","navigation","isLastTask","isMergedObjectiveBasedOutput","sendETOutput","moveToNextET","error","logEvent","message","SDK_ERROR","showProgress","stateKeys","_stateKeys","value","mappedStates","_mappedStates","initDispatchExecutor","dispatchID","jobs","dispatchWorkflows","maxTaskReattempt","length","Object","keys","SDK_WARNING","InvalidArgumentError","setKeyInCache","DISPATCH_ID","storage","sharedPreferenceDispatchId","getSharedItem","Promise","all","setSharedItem","start","eventSyncBatchSize","queryNextET","mergedObjectiveId","statusFilter","MERGING_ERROR","getNextTask","updateScanETOutputSharedPreference","prefixedMergedObjectiveId","prefixKey","mergedObjectiveIds","output","scanETOutput","JSON","parse","_scanETOutput","forEach","mergedId","stringify","updatePendingSharedPreference","eventType","mergedIdOutput","mergedIds","_mergedIds","success","push","pending","failure","NEXT_STATES","taskName","taskID","taskId","input","lockTaskResponse","promises","findPrefixKey","defaultConfig","index","filterIds","_output","defaultOutput","default","eventCode","reasonCode","saveTaskOutput","ec","rc","response","scanOutput","routeParams","ROOT_META_DATA","instance","setSuccessRoute","route","successRoute","getSuccessRoute","setFailureRoute","failureRoute","getFailureRoute","getObjectiveSummary","jobObjective","summaryData","jobId","objectiveId","k","reason","getReasonByCode","reasonCodeDesc","description","name","navigateToNextTask","etSuccess","entityCode","eTaskID","isMergeObjectiveBasedOutput","params","reasonsContainer","eventsContainer","saveAndProceed","_eventCode","_successApplicable","applicableReasons","successEventCodes","getEventCodes","rParams","ET_SUCCESS","ET_SUCCESS_RESPONSE","CURRENT_ET_NAME","IS_LAST_ET","EVENT_CODES","APPLICABLE_CODES","IS_MERGED_OBJ_BASED_OUTPUT","CANCEL_EVENT","replace","REMARK_SCREEN","successCodes","getReasonCodes","baseResponse","REASONS","failureCodes","_failureApplicable","failureEventCodes","etStates","next_states","size","st","pop","_stData","get","delete","rootMetaData","cache","clearKeys","cacheKeys","CURRENT_WORKING_TASK_ID","isForceStartEnabled","isSyncActive","startSDKSyncManager","objSummary","_key","_value","_mappedStatesData","_objKey","COMPLETED_SUCCESS","lastERCData","getlastERC","_lastER","_objSummary$_objKey","lastReasonCode","lastEntityCode","lastEventCode","clear","dispatch","reset","routes","summary","objSuccess","nextStateDataArray","storeTerminalData","every","_state","COMPLETED_FAILURE","set","data","nextStateData","_etOutput$baseRespons","eventOutputData","meta","etData","nextTaskId","timestamp","Date","now","customData","customEventsData","saveAndProceedToNextET","_DispatchStateContainer"],"sources":["DispatchStateContainer.tsx"],"sourcesContent":["import { clearCache, createFmsFolder } from '../../utils/SyncManagerUtils';\nimport {\n DispatchExecutor as dispatchExecutor,\n IDispatchExecutor,\n IDispatch,\n} from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport { showToast } from '../../components/widgets/Toaster';\nimport {\n CustomScreens,\n ExecutionTaskID,\n} from '../../models/execTasks/ETConfig';\nimport type {\n ETSummary,\n ObjectiveSummary,\n} from '../../models/execTasks/ETBaseModels';\n\nimport EventsSyncManager from '../syncmanager/events/EventsSyncManager';\nimport Logger, { LOG_TYPE } from '../../utils/Logger';\nimport DispatchSdkCache from '../sdk/DispatchSdkCache';\nimport type {\n BaseETProps,\n endEvent,\n JobObjectiveType,\n stateParams,\n} from '../../models/DispatchModels';\nimport { BaseError } from '../../errors/BaseError';\nimport { getBaseETResponse } from '../../utils/ExecTaskUtils';\nimport ReasonCodeContainer from '../dispatchCodes/ReasonCodeContainer';\nimport BaseErrorCodes from '../../errors/ErrorCodes';\nimport ErrorCodes, { InvalidArgumentsError } from '../../errors/ErrorCodes';\nimport { RouteParams } from '../../ui/uiConfig/RouteParams';\nimport { debounce } from 'lodash';\nimport dispatchEvent from '../../events/EventDispatcher';\nimport EventCodeContainer from '../dispatchCodes/EventCodeContainer';\nimport { GO_BACK_EVENT_CODE, REASON_NOT_USED, RETRY_LIMIT_REACHED_CODE } from '../../constants/constants';\nimport AppSyncManager from '../syncmanager/AppSyncManager';\nimport { DispatchExecutor } from '@os1-platform/platform-coreos-execution-engine-sdk';\n\n// NEW CODE\nimport {\n BULK_DATA_LIMIT,\n LAST_SYNCED_EVENT_ID,\n SCAN_MERGED_OBJ_ID_OUTPUT,\n SHARED_PREFERENCE_DISPATCH_ID,\n SHARED_PREFERENCE_SCAN_OUTPUT,\n} from '../syncmanager/constants';\nimport Storage from '../../utils/storage';\nimport {\n clearPaymentSharedData,\n clearScanOutput,\n getScanMergedObjectID,\n} from '../../components/executiontasks/scan/utils';\nimport { SCANNED_RECORD } from '../../components/executiontasks/scan/interfaces';\nimport { SHARED_PREF_SCAN_OUTPUT_INTERFACE } from '../../components/executiontasks/scan/interfaces';\nimport { ScannerOutput } from '../../components/executiontasks/scan/ScanSchema';\nimport { CommonActions } from '@react-navigation/native';\n\nexport default class DispatchStateContainer {\n cacheKeys = DispatchSdkCache.KEYS;\n cache = DispatchSdkCache.getInstance();\n\n get stateKeys(): string[] {\n return this._stateKeys;\n }\n\n set stateKeys(value: string[]) {\n this._stateKeys = value;\n }\n get mappedStates(): Map<string, IDispatch.IExecutionTaskQueryResponse> {\n return this._mappedStates;\n }\n\n set mappedStates(value: Map<string, IDispatch.IExecutionTaskQueryResponse>) {\n this._mappedStates = value;\n }\n private static instance: DispatchStateContainer;\n private successRoute: string = '';\n private failureRoute: string = '';\n\n private _stateKeys: string[] = [];\n public _jobObjectives: JobObjectiveType[] | null = null;\n private _mappedStates: Map<string, IDispatch.IExecutionTaskQueryResponse> =\n new Map<string, IDispatch.IExecutionTaskQueryResponse>();\n private _mappedStatesData: Map<\n string,\n IDispatch.IExecutionTaskQueryResponse\n > = new Map<string, IDispatch.IExecutionTaskQueryResponse>();\n\n /**\n * Call this function when dispatch data is fetched successfully in client app\n * @param dispatchID\n * @param jobs\n * @param dispatchWorkflows\n * @param maxTaskReattempt\n */\n public async initDispatchExecutor(\n dispatchID: string,\n jobs: IDispatchExecutor.Job[],\n dispatchWorkflows: { [id: string]: IDispatchExecutor.Workflow },\n maxTaskReattempt?: number\n ) {\n if (\n !dispatchID ||\n !jobs ||\n jobs.length < 1 ||\n !dispatchWorkflows ||\n Object.keys(dispatchWorkflows).length < 1\n ) {\n Logger.getInstance().logEvent(\n 'initDispatchExecutor',\n InvalidArgumentsError,\n LOG_TYPE.SDK_WARNING\n );\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n }\n await clearCache(dispatchID);\n await DispatchSdkCache.getInstance().setKeyInCache(\n DispatchSdkCache.KEYS.DISPATCH_ID,\n dispatchID\n );\n await createFmsFolder(dispatchID);\n\n // NEW CODE\n let storage = Storage.getInstance();\n\n const sharedPreferenceDispatchId = await storage.getSharedItem(\n SHARED_PREFERENCE_DISPATCH_ID\n );\n if (sharedPreferenceDispatchId) {\n if (sharedPreferenceDispatchId !== dispatchID) {\n await Promise.all([\n storage.setSharedItem(SHARED_PREFERENCE_DISPATCH_ID, dispatchID),\n storage.setSharedItem(LAST_SYNCED_EVENT_ID, '0'),\n ]);\n }\n } else {\n await Promise.all([\n storage.setSharedItem(SHARED_PREFERENCE_DISPATCH_ID, dispatchID),\n storage.setSharedItem(LAST_SYNCED_EVENT_ID, '0'),\n ]);\n }\n\n await dispatchExecutor.start(dispatchID, jobs, dispatchWorkflows, {\n maxTaskReattempt,\n eventSyncBatchSize: BULK_DATA_LIMIT,\n });\n }\n\n // NEW CODE\n /**\n *\n * @param mergedObjectiveId\n * @returns IExecutionTaskQueryResponse {\n * mergedObjectiveId: string;\n * taskName: string;\n * taskId: string;\n * input: any;\n * }\n */\n\n public async queryNextET(\n mergedObjectiveId: Array<string>,\n statusFilter: IDispatchExecutor.ExecutionStatus[]\n ): Promise<IDispatch.IExecutionTaskQueryResponse[]> {\n if (!mergedObjectiveId) {\n Logger.getInstance().logEvent(\n 'queryNextET',\n 'CONSTRAINTS FAILED',\n LOG_TYPE.SDK_ERROR\n );\n throw new BaseError(ErrorCodes.MERGING_ERROR, 'CONSTRAINTS FAILED');\n }\n\n return await dispatchExecutor.getNextTask(\n mergedObjectiveId[0],\n statusFilter\n );\n }\n\n private async updateScanETOutputSharedPreference(\n etOutput: any,\n prefixedMergedObjectiveId: Array<string>,\n prefixKey: string\n ) {\n etOutput.mergedObjectiveIds = prefixedMergedObjectiveId;\n let storage = Storage.getInstance();\n const output = await storage.getSharedItem(SHARED_PREFERENCE_SCAN_OUTPUT);\n\n if (output) {\n const scanETOutput: SHARED_PREF_SCAN_OUTPUT_INTERFACE =\n JSON.parse(output);\n let _scanETOutput: ScannerOutput = {};\n if (scanETOutput[prefixKey]) {\n _scanETOutput = scanETOutput[prefixKey];\n }\n prefixedMergedObjectiveId.forEach((mergedId: string) => {\n _scanETOutput[mergedId] = etOutput;\n });\n\n // SAVE IN SHARED PREFERENCE\n await storage.setSharedItem(\n SHARED_PREFERENCE_SCAN_OUTPUT,\n JSON.stringify({ ...scanETOutput, [prefixKey]: _scanETOutput })\n );\n } else {\n const scanETOutput: SHARED_PREF_SCAN_OUTPUT_INTERFACE = {};\n prefixedMergedObjectiveId.forEach((mergedId: string) => {\n scanETOutput[mergedId] = etOutput;\n });\n // SAVE IN SHARED PREFERENCE\n await storage.setSharedItem(\n SHARED_PREFERENCE_SCAN_OUTPUT,\n JSON.stringify({ [prefixKey]: scanETOutput })\n );\n }\n }\n\n private async updatePendingSharedPreference(\n eventType: boolean,\n prefixedMergedObjectiveId: Array<string>,\n prefixKey: string\n ) {\n let storage = Storage.getInstance();\n const mergedIdOutput = await storage.getSharedItem(\n SCAN_MERGED_OBJ_ID_OUTPUT\n );\n\n if (mergedIdOutput) {\n const mergedIds = JSON.parse(mergedIdOutput);\n const _mergedIds = mergedIds[prefixKey];\n if (_mergedIds) {\n if (eventType) {\n _mergedIds.success.push(...prefixedMergedObjectiveId);\n _mergedIds.pending = [];\n } else {\n _mergedIds.failure.push(...prefixedMergedObjectiveId);\n _mergedIds.pending = [];\n }\n\n await storage.setSharedItem(\n SCAN_MERGED_OBJ_ID_OUTPUT,\n JSON.stringify({ ...mergedIds, [prefixKey]: _mergedIds })\n );\n }\n }\n }\n\n // NEW CODE\n public async sendETOutput(\n etOutput: any,\n states: any,\n isMergedObjectiveBasedOutput?: boolean\n ) {\n const mergedObjectiveIds =\n states[RouteParams.NEXT_STATES].mergedObjectiveIds;\n const taskName = states[RouteParams.NEXT_STATES].taskName;\n const taskID = states[RouteParams.NEXT_STATES].taskId;\n const input = states[RouteParams.NEXT_STATES].input;\n let lockTaskResponse: boolean = true;\n\n if (isMergedObjectiveBasedOutput) {\n // NEW CODE\n const output = etOutput;\n let promises: any = [];\n\n const prefixKey = this.findPrefixKey(\n mergedObjectiveIds,\n etOutput,\n states\n );\n\n let defaultConfig: { index: number; success: boolean; output: any } = {\n index: -1,\n success: false,\n output: {},\n };\n let mergedIds: SCANNED_RECORD = {\n success: [],\n failure: [],\n pending: [prefixKey],\n };\n const filterIds = await getScanMergedObjectID();\n if (filterIds) {\n mergedIds = filterIds[prefixKey];\n }\n\n Object.keys(etOutput).forEach((mergedObjectiveId) => {\n const _output = output[mergedObjectiveId].output;\n // PREFIX_KEY\n if (mergedObjectiveId === 'default') {\n const defaultOutput = output.default.output;\n // DELIVER AT DIFF LOCATION\n if (defaultOutput.eventCode === REASON_NOT_USED) {\n // DO NOT SEND OUTPUT WHEN DELIVER AT DIFF LOCATION\n defaultOutput.eventCode = '';\n defaultOutput.reasonCode = '';\n lockTaskResponse = false;\n } else {\n defaultConfig = {\n index: promises.length,\n success: defaultOutput.success,\n output: output.default,\n };\n\n promises.push(\n dispatchExecutor.saveTaskOutput(\n mergedIds.pending,\n taskName,\n taskID,\n {\n input,\n output: defaultOutput,\n },\n {\n ec: defaultOutput.eventCode,\n rc: defaultOutput.reasonCode || '',\n }\n )\n );\n }\n } else {\n promises.push(\n dispatchExecutor.saveTaskOutput(\n [mergedObjectiveId],\n taskName,\n taskID,\n {\n input,\n output: _output,\n }\n )\n );\n }\n });\n\n const response = await Promise.all(promises);\n\n if (defaultConfig.index !== -1) {\n // UPDATE PENDING IN SHARED PREFERENCE MERGED_SCAN_OUTPUT\n this.updatePendingSharedPreference(\n defaultConfig.success,\n response[defaultConfig.index],\n prefixKey\n );\n this.updateScanETOutputSharedPreference(\n defaultConfig.output,\n response[defaultConfig.index],\n prefixKey\n );\n }\n } else {\n await dispatchExecutor.saveTaskOutput(\n mergedObjectiveIds,\n taskName,\n taskID,\n {\n input,\n output: etOutput,\n }\n );\n }\n }\n\n private findPrefixKey(\n mergedObjectiveIds: Array<string>,\n scanOutput: { [mergedObjectiveId: string]: any },\n routeParams: any\n ) {\n const prefixedMergedObjectiveId =\n routeParams[RouteParams.ROOT_META_DATA].prefixedMergedObjectiveId;\n\n return prefixedMergedObjectiveId;\n }\n\n public static getInstance(): DispatchStateContainer {\n if (!DispatchStateContainer.instance) {\n DispatchStateContainer.instance = new DispatchStateContainer();\n }\n return DispatchStateContainer.instance;\n }\n\n public setSuccessRoute(route: string) {\n this.successRoute = route;\n }\n public getSuccessRoute(): string {\n return this.successRoute;\n }\n public setFailureRoute(route: string) {\n this.failureRoute = route;\n }\n public getFailureRoute(): string {\n return this.failureRoute;\n }\n public async getObjectiveSummary(\n jobObjective: JobObjectiveType\n ): Promise<ETSummary[]> {\n try {\n let response: ETSummary[] = [];\n let summaryData =\n await EventsSyncManager.getInstance().getObjectiveSummary(\n jobObjective.jobId + jobObjective.objectiveId\n );\n if (summaryData) {\n for (const k in summaryData) {\n if (k === 'inputs') continue;\n else {\n const reason =\n await ReasonCodeContainer.getInstance().getReasonByCode(\n summaryData[k].output.reasonCode\n );\n response.push({\n eventCode: summaryData[k].output.eventCode,\n reasonCode: summaryData[k].output.reasonCode,\n reasonCodeDesc: reason?.description,\n name: k,\n });\n }\n }\n return response;\n } else return response;\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'getObjectiveSummary',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n return [];\n }\n }\n public async navigateToNextTask(\n navigation: any,\n route: any,\n etOutput: any,\n etSuccess: boolean,\n entityCode: string,\n eTaskID: ExecutionTaskID,\n baseETProps: BaseETProps,\n isLastTask?: boolean,\n isMergeObjectiveBasedOutput?: boolean\n ) {\n try {\n baseETProps.showProgress(true);\n const mergedObjectiveIds =\n route.params[RouteParams.NEXT_STATES].mergedObjectiveIds;\n const reasonsContainer = ReasonCodeContainer.getInstance();\n const eventsContainer = EventCodeContainer.getInstance();\n\n if (isMergeObjectiveBasedOutput) {\n await this.saveAndProceed(\n baseETProps,\n etOutput,\n route.params,\n navigation,\n isLastTask,\n isMergeObjectiveBasedOutput\n );\n } else {\n const _eventCode = etOutput.eventCode;\n\n if (etSuccess) {\n if (!_eventCode) {\n const _successApplicable =\n route.params[RouteParams.NEXT_STATES].input.applicableReasons\n .success;\n const successEventCodes = await eventsContainer.getEventCodes(\n _successApplicable\n );\n let rParams: any;\n rParams = { ...route.params };\n rParams[RouteParams.ET_SUCCESS] = true;\n rParams[RouteParams.ET_SUCCESS_RESPONSE] = etOutput;\n rParams[RouteParams.CURRENT_ET_NAME] = eTaskID;\n rParams[RouteParams.IS_LAST_ET] = isLastTask;\n rParams[RouteParams.EVENT_CODES] = successEventCodes;\n rParams[RouteParams.APPLICABLE_CODES] = _successApplicable;\n rParams[RouteParams.IS_MERGED_OBJ_BASED_OUTPUT] =\n isMergeObjectiveBasedOutput;\n rParams[RouteParams.ROOT_META_DATA] =\n route.params[RouteParams.ROOT_META_DATA];\n\n rParams[RouteParams.CANCEL_EVENT] = '';\n navigation.replace(CustomScreens.REMARK_SCREEN, rParams);\n } else {\n const successCodes = await reasonsContainer.getReasonCodes(\n route.params[RouteParams.NEXT_STATES].input.applicableReasons\n .success\n ? route.params[RouteParams.NEXT_STATES].input.applicableReasons\n .success\n : route.params[RouteParams.NEXT_STATES].input.applicableReasons,\n _eventCode\n );\n\n if (successCodes && successCodes.length > 0) {\n if (successCodes.length === 1) {\n if (isMergeObjectiveBasedOutput)\n etOutput.baseResponse.reasonCode = successCodes[0].reasonCode;\n else etOutput.reasonCode = successCodes[0].reasonCode;\n\n await this.saveAndProceed(\n baseETProps,\n etOutput,\n route.params,\n navigation,\n isLastTask,\n isMergeObjectiveBasedOutput\n );\n } else {\n let rParams: any;\n rParams = { ...route.params };\n rParams[RouteParams.ET_SUCCESS] = true;\n rParams[RouteParams.ET_SUCCESS_RESPONSE] = etOutput;\n rParams[RouteParams.CURRENT_ET_NAME] = eTaskID;\n rParams[RouteParams.REASONS] = successCodes;\n rParams[RouteParams.IS_LAST_ET] = isLastTask;\n rParams[RouteParams.ROOT_META_DATA] =\n route.params[RouteParams.ROOT_META_DATA];\n rParams[RouteParams.CANCEL_EVENT] = _eventCode;\n navigation.replace(CustomScreens.REMARK_SCREEN, rParams);\n }\n } else {\n await this.saveAndProceed(\n baseETProps,\n etOutput,\n route.params,\n navigation,\n isLastTask,\n isMergeObjectiveBasedOutput\n );\n }\n }\n } else {\n let failureCodes: any[] = [];\n if (!_eventCode) {\n const _failureApplicable =\n route.params[RouteParams.NEXT_STATES].input.applicableReasons\n .failure;\n const failureEventCodes = await eventsContainer.getEventCodes(\n _failureApplicable\n );\n\n let rParams: any;\n rParams = { ...route.params };\n rParams[RouteParams.ET_SUCCESS] = false;\n // rParams[RouteParams.ET_SUCCESS_RESPONSE] = etOutput;\n rParams[RouteParams.CURRENT_ET_NAME] = eTaskID;\n rParams[RouteParams.IS_LAST_ET] = isLastTask;\n rParams[RouteParams.EVENT_CODES] = failureEventCodes;\n rParams[RouteParams.APPLICABLE_CODES] = _failureApplicable;\n rParams[RouteParams.ROOT_META_DATA] =\n route.params[RouteParams.ROOT_META_DATA];\n rParams[RouteParams.CANCEL_EVENT] = '';\n navigation.replace(CustomScreens.REMARK_SCREEN, rParams);\n } else {\n if (_eventCode === GO_BACK_EVENT_CODE) failureCodes = [];\n else if (etOutput.reasonCode === RETRY_LIMIT_REACHED_CODE)\n failureCodes = [];\n else\n failureCodes = await reasonsContainer.getReasonCodes(\n route.params[RouteParams.NEXT_STATES].input.applicableReasons\n .failure\n ? route.params[RouteParams.NEXT_STATES].input\n .applicableReasons.failure\n : route.params[RouteParams.NEXT_STATES].input\n .applicableReasons,\n _eventCode\n );\n\n if (failureCodes && failureCodes.length > 0) {\n if (isMergeObjectiveBasedOutput)\n etOutput.baseResponse.reasonCode = failureCodes[0].reasonCode;\n\n if (failureCodes.length === 1) {\n await this.saveAndProceed(\n baseETProps,\n isMergeObjectiveBasedOutput\n ? etOutput\n : await getBaseETResponse(\n entityCode,\n false,\n _eventCode,\n failureCodes[0].reasonCode,\n mergedObjectiveIds,\n eTaskID\n ),\n route.params,\n navigation,\n isLastTask,\n isMergeObjectiveBasedOutput\n );\n } else {\n let rParams: any;\n rParams = { ...route.params };\n rParams[RouteParams.ET_SUCCESS] = false;\n rParams[RouteParams.CURRENT_ET_NAME] = eTaskID;\n rParams[RouteParams.REASONS] = failureCodes;\n rParams[RouteParams.IS_LAST_ET] = isLastTask;\n rParams[RouteParams.ROOT_META_DATA] =\n route.params[RouteParams.ROOT_META_DATA];\n rParams[RouteParams.CANCEL_EVENT] = _eventCode;\n navigation.replace(CustomScreens.REMARK_SCREEN, rParams);\n }\n } else {\n await this.saveAndProceed(\n baseETProps,\n isMergeObjectiveBasedOutput\n ? etOutput\n : await getBaseETResponse(\n entityCode,\n false,\n _eventCode,\n '',\n mergedObjectiveIds,\n eTaskID\n ),\n route.params,\n navigation,\n isLastTask,\n isMergeObjectiveBasedOutput\n );\n }\n }\n }\n }\n } catch (error: any) {\n baseETProps.showProgress(false);\n Logger.getInstance().logEvent(\n 'navigateToNextTask',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n\n async moveToNextET(\n etOutput: any,\n baseETProps: BaseETProps,\n states: stateParams,\n navigation: any,\n isLastTask?: boolean\n ) {\n try {\n let etStates = states.next_states;\n baseETProps.showProgress(true);\n\n if (isLastTask && etStates && Object.keys(etStates).length > 0) {\n if (this._mappedStates.size && this._stateKeys.length) {\n\n const st = this._stateKeys.pop();\n if (st) {\n let rParams: any = {};\n const _stData = this._mappedStates.get(st);\n this._mappedStates.delete(st);\n if (_stData) {\n rParams[RouteParams.NEXT_STATES] = _stData;\n rParams[RouteParams.ROOT_META_DATA] = states.rootMetaData;\n navigation.replace(_stData.taskId, rParams);\n }\n }\n } else {\n baseETProps.showProgress(false);\n // TODO: Remove this later\n this.cache.clearKeys([this.cacheKeys.CURRENT_WORKING_TASK_ID]);\n\n AppSyncManager.getInstance().isForceStartEnabled = true;\n AppSyncManager.getInstance().isSyncActive = false;\n AppSyncManager.getInstance().startSDKSyncManager();\n\n let objSummary: {\n success?: ObjectiveSummary[];\n failure?: ObjectiveSummary[];\n } = {\n success: [],\n failure: [],\n };\n for (let [_key, _value] of this._mappedStatesData) {\n const _objKey =\n _key === ExecutionTaskID.COMPLETED_SUCCESS\n ? 'success'\n : 'failure';\n\n const lastERCData = await DispatchExecutor.getlastERC(\n _value.mergedObjectiveIds\n );\n\n for (const _lastER of lastERCData) {\n const reason =\n await ReasonCodeContainer.getInstance().getReasonByCode(\n _lastER.lastReasonCode\n );\n\n objSummary[_objKey]?.push({\n entityCode: _lastER.lastEntityCode,\n eventCode: _lastER.lastEventCode,\n reasonCode: _lastER.lastReasonCode,\n reasonCodeDesc: reason?.description,\n });\n }\n }\n if (this._mappedStatesData.get(ExecutionTaskID.COMPLETED_SUCCESS)) {\n this._mappedStatesData.clear();\n this._mappedStates.clear();\n this._stateKeys = [];\n\n clearScanOutput(states.rootMetaData.prefixedMergedObjectiveId);\n clearPaymentSharedData(states.next_states.mergedObjectiveIds);\n navigation.dispatch(\n CommonActions.reset({\n index: 0,\n routes: [\n {\n name: this.getSuccessRoute(),\n params: {\n summary: objSummary,\n objSuccess: true\n }\n },\n ],\n }),\n );\n } else {\n this._mappedStatesData.clear();\n this._mappedStates.clear();\n this._stateKeys = [];\n\n clearScanOutput(states.rootMetaData.prefixedMergedObjectiveId);\n clearPaymentSharedData(states.next_states.mergedObjectiveIds);\n navigation.dispatch(\n CommonActions.reset({\n index: 0,\n routes: [\n {\n name: this.getFailureRoute(),\n params: {\n summary: objSummary,\n objSuccess: false\n }\n },\n ],\n }),\n );\n }\n }\n } else {\n let rParams: any = {};\n\n let nextStateDataArray: IDispatch.IExecutionTaskQueryResponse[] =\n await this.queryNextET(\n states.next_states.mergedObjectiveIds,\n states.rootMetaData.statusFilter\n );\n\n const storeTerminalData = nextStateDataArray.every(\n (_state) =>\n _state.taskId === ExecutionTaskID.COMPLETED_SUCCESS ||\n _state.taskId === ExecutionTaskID.COMPLETED_FAILURE\n );\n\n if (storeTerminalData) {\n if (nextStateDataArray.length === 2) {\n // Array in case of last states containing c-s and c-f\n this._mappedStates.set(\n nextStateDataArray[1].taskId,\n nextStateDataArray[1]\n );\n this._stateKeys.push(nextStateDataArray[1].taskId);\n }\n nextStateDataArray.forEach((data) => {\n if (\n data.taskId === ExecutionTaskID.COMPLETED_SUCCESS ||\n data.taskId === ExecutionTaskID.COMPLETED_FAILURE\n )\n this._mappedStatesData.set(data.taskId, data);\n });\n }\n const nextStateData = nextStateDataArray[0];\n\n baseETProps.showProgress(false);\n if (nextStateData != null && Object.keys(nextStateData).length > 0) {\n rParams[RouteParams.NEXT_STATES] = nextStateData;\n\n rParams[RouteParams.ROOT_META_DATA] = states.rootMetaData;\n\n /**\n * Send END/BACK custom event\n */\n if (!isLastTask) {\n const eventOutputData: endEvent = {\n meta: etOutput?.baseResponse?.meta || etOutput?.meta || {},\n etData: etOutput,\n taskId: etStates.taskId,\n nextTaskId: '',\n timestamp: Date.now(),\n customData: rParams[RouteParams.ROOT_META_DATA].customEventsData,\n };\n\n eventOutputData.nextTaskId = nextStateData.taskId;\n eventOutputData.etData.eventCode !== GO_BACK_EVENT_CODE\n ? dispatchEvent('END', etStates.taskName, eventOutputData)\n : dispatchEvent('BACK', etStates.taskName, eventOutputData);\n }\n }\n\n navigation.replace(nextStateData.taskId, rParams);\n }\n } catch (error: any) {\n baseETProps.showProgress(false);\n Logger.getInstance().logEvent(\n 'moveToNextET',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n }\n }\n\n private saveAndProceedToNextET = debounce(\n async (\n baseETProps: BaseETProps,\n etOutput: any,\n states: stateParams,\n navigation: any,\n isLastTask?: boolean,\n isMergedObjectiveBasedOutput?: boolean\n ) => {\n try {\n await this.sendETOutput(etOutput, states, isMergedObjectiveBasedOutput);\n await this.moveToNextET(\n etOutput,\n baseETProps,\n states,\n navigation,\n isLastTask\n );\n } catch (error: any) {\n Logger.getInstance().logEvent(\n 'saveAndProceed',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n baseETProps.showProgress(false);\n showToast(error.message);\n }\n },\n 800\n );\n\n public async saveAndProceed(\n baseETProps: BaseETProps,\n etOutput: any,\n states: stateParams,\n navigation: any,\n isLastTask?: boolean,\n isMergedObjectiveBasedOutput?: boolean\n ) {\n baseETProps.showProgress(true);\n await this.saveAndProceedToNextET(\n baseETProps,\n etOutput,\n states,\n navigation,\n isLastTask,\n isMergedObjectiveBasedOutput\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clearCache","createFmsFolder","DispatchExecutor","dispatchExecutor","showToast","CustomScreens","ExecutionTaskID","EventsSyncManager","Logger","LOG_TYPE","DispatchSdkCache","BaseError","getBaseETResponse","ReasonCodeContainer","BaseErrorCodes","ErrorCodes","InvalidArgumentsError","RouteParams","debounce","dispatchEvent","EventCodeContainer","GO_BACK_EVENT_CODE","REASON_NOT_USED","RETRY_LIMIT_REACHED_CODE","AppSyncManager","BULK_DATA_LIMIT","LAST_SYNCED_EVENT_ID","SCAN_MERGED_OBJ_ID_OUTPUT","SHARED_PREFERENCE_DISPATCH_ID","SHARED_PREFERENCE_SCAN_OUTPUT","Storage","clearPaymentSharedData","clearScanOutput","getScanMergedObjectID","CommonActions","DispatchStateContainer","constructor","_defineProperty","KEYS","getInstance","Map","baseETProps","etOutput","states","navigation","isLastTask","isMergedObjectiveBasedOutput","sendETOutput","moveToNextET","error","logCora","showProgress","message","stateKeys","_stateKeys","value","mappedStates","_mappedStates","initDispatchExecutor","dispatchID","jobs","dispatchWorkflows","maxTaskReattempt","length","Object","keys","logEvent","SDK_WARNING","InvalidArgumentError","setKeyInCache","DISPATCH_ID","storage","sharedPreferenceDispatchId","getSharedItem","Promise","all","setSharedItem","start","eventSyncBatchSize","queryNextET","mergedObjectiveId","statusFilter","MERGING_ERROR","getNextTask","updateScanETOutputSharedPreference","prefixedMergedObjectiveId","prefixKey","mergedObjectiveIds","output","scanETOutput","JSON","parse","_scanETOutput","forEach","mergedId","stringify","updatePendingSharedPreference","eventType","mergedIdOutput","mergedIds","_mergedIds","success","push","pending","failure","NEXT_STATES","taskName","taskID","taskId","input","lockTaskResponse","promises","findPrefixKey","defaultConfig","index","filterIds","_output","defaultOutput","default","eventCode","reasonCode","saveTaskOutput","ec","rc","response","scanOutput","routeParams","ROOT_META_DATA","instance","setSuccessRoute","route","successRoute","getSuccessRoute","setFailureRoute","failureRoute","getFailureRoute","getObjectiveSummary","jobObjective","summaryData","jobId","objectiveId","k","reason","getReasonByCode","reasonCodeDesc","description","name","navigateToNextTask","etSuccess","entityCode","eTaskID","isMergeObjectiveBasedOutput","params","reasonsContainer","eventsContainer","saveAndProceed","_eventCode","_successApplicable","applicableReasons","successEventCodes","getEventCodes","rParams","ET_SUCCESS","ET_SUCCESS_RESPONSE","CURRENT_ET_NAME","IS_LAST_ET","EVENT_CODES","APPLICABLE_CODES","IS_MERGED_OBJ_BASED_OUTPUT","CANCEL_EVENT","replace","REMARK_SCREEN","successCodes","getReasonCodes","baseResponse","REASONS","failureCodes","_failureApplicable","failureEventCodes","etStates","next_states","size","st","pop","_stData","get","delete","rootMetaData","cache","clearKeys","cacheKeys","CURRENT_WORKING_TASK_ID","isForceStartEnabled","isSyncActive","startSDKSyncManager","objSummary","_key","_value","_mappedStatesData","_objKey","COMPLETED_SUCCESS","lastERCData","getlastERC","_lastER","_objSummary$_objKey","lastReasonCode","lastEntityCode","lastEventCode","clear","dispatch","reset","routes","summary","objSuccess","nextStateDataArray","storeTerminalData","every","_state","COMPLETED_FAILURE","set","data","nextStateData","_etOutput$baseRespons","eventOutputData","meta","etData","nextTaskId","timestamp","Date","now","customData","customEventsData","saveAndProceedToNextET","_DispatchStateContainer"],"sources":["DispatchStateContainer.tsx"],"sourcesContent":["import { clearCache, createFmsFolder } from '../../utils/SyncManagerUtils';\nimport {\n DispatchExecutor as dispatchExecutor,\n IDispatchExecutor,\n IDispatch,\n} from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport { showToast } from '../../components/widgets/Toaster';\nimport {\n CustomScreens,\n ExecutionTaskID,\n} from '../../models/execTasks/ETConfig';\nimport type {\n ETSummary,\n ObjectiveSummary,\n} from '../../models/execTasks/ETBaseModels';\n\nimport EventsSyncManager from '../syncmanager/events/EventsSyncManager';\nimport Logger, { LOG_TYPE } from '../../utils/Logger';\nimport DispatchSdkCache from '../sdk/DispatchSdkCache';\nimport type {\n BaseETProps,\n endEvent,\n JobObjectiveType,\n stateParams,\n} from '../../models/DispatchModels';\nimport { BaseError } from '../../errors/BaseError';\nimport { getBaseETResponse } from '../../utils/ExecTaskUtils';\nimport ReasonCodeContainer from '../dispatchCodes/ReasonCodeContainer';\nimport BaseErrorCodes from '../../errors/ErrorCodes';\nimport ErrorCodes, { InvalidArgumentsError } from '../../errors/ErrorCodes';\nimport { RouteParams } from '../../ui/uiConfig/RouteParams';\nimport { debounce } from 'lodash';\nimport dispatchEvent from '../../events/EventDispatcher';\nimport EventCodeContainer from '../dispatchCodes/EventCodeContainer';\nimport { GO_BACK_EVENT_CODE, REASON_NOT_USED, RETRY_LIMIT_REACHED_CODE } from '../../constants/constants';\nimport AppSyncManager from '../syncmanager/AppSyncManager';\nimport { DispatchExecutor } from '@os1-platform/platform-coreos-execution-engine-sdk';\n\n// NEW CODE\nimport {\n BULK_DATA_LIMIT,\n LAST_SYNCED_EVENT_ID,\n SCAN_MERGED_OBJ_ID_OUTPUT,\n SHARED_PREFERENCE_DISPATCH_ID,\n SHARED_PREFERENCE_SCAN_OUTPUT,\n} from '../syncmanager/constants';\nimport Storage from '../../utils/storage';\nimport {\n clearPaymentSharedData,\n clearScanOutput,\n getScanMergedObjectID,\n} from '../../components/executiontasks/scan/utils';\nimport { SCANNED_RECORD } from '../../components/executiontasks/scan/interfaces';\nimport { SHARED_PREF_SCAN_OUTPUT_INTERFACE } from '../../components/executiontasks/scan/interfaces';\nimport { ScannerOutput } from '../../components/executiontasks/scan/ScanSchema';\nimport { CommonActions } from '@react-navigation/native';\n\nexport default class DispatchStateContainer {\n cacheKeys = DispatchSdkCache.KEYS;\n cache = DispatchSdkCache.getInstance();\n\n get stateKeys(): string[] {\n return this._stateKeys;\n }\n\n set stateKeys(value: string[]) {\n this._stateKeys = value;\n }\n get mappedStates(): Map<string, IDispatch.IExecutionTaskQueryResponse> {\n return this._mappedStates;\n }\n\n set mappedStates(value: Map<string, IDispatch.IExecutionTaskQueryResponse>) {\n this._mappedStates = value;\n }\n private static instance: DispatchStateContainer;\n private successRoute: string = '';\n private failureRoute: string = '';\n\n private _stateKeys: string[] = [];\n public _jobObjectives: JobObjectiveType[] | null = null;\n private _mappedStates: Map<string, IDispatch.IExecutionTaskQueryResponse> =\n new Map<string, IDispatch.IExecutionTaskQueryResponse>();\n private _mappedStatesData: Map<\n string,\n IDispatch.IExecutionTaskQueryResponse\n > = new Map<string, IDispatch.IExecutionTaskQueryResponse>();\n\n /**\n * Call this function when dispatch data is fetched successfully in client app\n * @param dispatchID\n * @param jobs\n * @param dispatchWorkflows\n * @param maxTaskReattempt\n */\n public async initDispatchExecutor(\n dispatchID: string,\n jobs: IDispatchExecutor.Job[],\n dispatchWorkflows: { [id: string]: IDispatchExecutor.Workflow },\n maxTaskReattempt?: number\n ) {\n if (\n !dispatchID ||\n !jobs ||\n jobs.length < 1 ||\n !dispatchWorkflows ||\n Object.keys(dispatchWorkflows).length < 1\n ) {\n Logger.getInstance().logEvent(\n 'initDispatchExecutor',\n InvalidArgumentsError,\n LOG_TYPE.SDK_WARNING\n );\n throw new BaseError(\n BaseErrorCodes.InvalidArgumentError,\n InvalidArgumentsError\n );\n }\n await clearCache(dispatchID);\n await DispatchSdkCache.getInstance().setKeyInCache(\n DispatchSdkCache.KEYS.DISPATCH_ID,\n dispatchID\n );\n await createFmsFolder(dispatchID);\n\n // NEW CODE\n let storage = Storage.getInstance();\n\n const sharedPreferenceDispatchId = await storage.getSharedItem(\n SHARED_PREFERENCE_DISPATCH_ID\n );\n if (sharedPreferenceDispatchId) {\n if (sharedPreferenceDispatchId !== dispatchID) {\n await Promise.all([\n storage.setSharedItem(SHARED_PREFERENCE_DISPATCH_ID, dispatchID),\n storage.setSharedItem(LAST_SYNCED_EVENT_ID, '0'),\n ]);\n }\n } else {\n await Promise.all([\n storage.setSharedItem(SHARED_PREFERENCE_DISPATCH_ID, dispatchID),\n storage.setSharedItem(LAST_SYNCED_EVENT_ID, '0'),\n ]);\n }\n\n await dispatchExecutor.start(dispatchID, jobs, dispatchWorkflows, {\n maxTaskReattempt,\n eventSyncBatchSize: BULK_DATA_LIMIT,\n });\n Logger.getInstance().logCora(\"Info\", `DispatchExecutor started with ID: ${dispatchID}`);\n }\n\n // NEW CODE\n /**\n *\n * @param mergedObjectiveId\n * @returns IExecutionTaskQueryResponse {\n * mergedObjectiveId: string;\n * taskName: string;\n * taskId: string;\n * input: any;\n * }\n */\n\n public async queryNextET(\n mergedObjectiveId: Array<string>,\n statusFilter: IDispatchExecutor.ExecutionStatus[]\n ): Promise<IDispatch.IExecutionTaskQueryResponse[]> {\n if (!mergedObjectiveId) {\n Logger.getInstance().logCora(\"Error\", `Merged Objective ID is null`);\n throw new BaseError(ErrorCodes.MERGING_ERROR, 'CONSTRAINTS FAILED');\n }\n return await dispatchExecutor.getNextTask(\n mergedObjectiveId[0],\n statusFilter\n );\n }\n\n private async updateScanETOutputSharedPreference(\n etOutput: any,\n prefixedMergedObjectiveId: Array<string>,\n prefixKey: string\n ) {\n try {\n etOutput.mergedObjectiveIds = prefixedMergedObjectiveId;\n let storage = Storage.getInstance();\n const output = await storage.getSharedItem(SHARED_PREFERENCE_SCAN_OUTPUT);\n\n if (output) {\n const scanETOutput: SHARED_PREF_SCAN_OUTPUT_INTERFACE =\n JSON.parse(output);\n let _scanETOutput: ScannerOutput = {};\n if (scanETOutput[prefixKey]) {\n _scanETOutput = scanETOutput[prefixKey];\n }\n prefixedMergedObjectiveId.forEach((mergedId: string) => {\n _scanETOutput[mergedId] = etOutput;\n });\n\n // SAVE IN SHARED PREFERENCE\n await storage.setSharedItem(\n SHARED_PREFERENCE_SCAN_OUTPUT,\n JSON.stringify({ ...scanETOutput, [prefixKey]: _scanETOutput })\n );\n } else {\n const scanETOutput: SHARED_PREF_SCAN_OUTPUT_INTERFACE = {};\n prefixedMergedObjectiveId.forEach((mergedId: string) => {\n scanETOutput[mergedId] = etOutput;\n });\n // SAVE IN SHARED PREFERENCE\n await storage.setSharedItem(\n SHARED_PREFERENCE_SCAN_OUTPUT,\n JSON.stringify({ [prefixKey]: scanETOutput })\n );\n }\n } catch (error: any) {\n Logger.getInstance().logCora(\"Error\", `updateScanETOutputSharedPreference: ${error}`);\n }\n }\n\n private async updatePendingSharedPreference(\n eventType: boolean,\n prefixedMergedObjectiveId: Array<string>,\n prefixKey: string\n ) {\n try {\n\n\n let storage = Storage.getInstance();\n const mergedIdOutput = await storage.getSharedItem(\n SCAN_MERGED_OBJ_ID_OUTPUT\n );\n\n if (mergedIdOutput) {\n const mergedIds = JSON.parse(mergedIdOutput);\n const _mergedIds = mergedIds[prefixKey];\n if (_mergedIds) {\n if (eventType) {\n _mergedIds.success.push(...prefixedMergedObjectiveId);\n _mergedIds.pending = [];\n } else {\n _mergedIds.failure.push(...prefixedMergedObjectiveId);\n _mergedIds.pending = [];\n }\n\n await storage.setSharedItem(\n SCAN_MERGED_OBJ_ID_OUTPUT,\n JSON.stringify({ ...mergedIds, [prefixKey]: _mergedIds })\n );\n }\n }\n } catch (error: any) {\n Logger.getInstance().logCora(\"Error\", `updatePendingSharedPreference: ${error}`);\n }\n }\n\n // NEW CODE\n public async sendETOutput(\n etOutput: any,\n states: any,\n isMergedObjectiveBasedOutput?: boolean\n ) {\n try {\n const mergedObjectiveIds =\n states[RouteParams.NEXT_STATES].mergedObjectiveIds;\n const taskName = states[RouteParams.NEXT_STATES].taskName;\n const taskID = states[RouteParams.NEXT_STATES].taskId;\n const input = states[RouteParams.NEXT_STATES].input;\n let lockTaskResponse: boolean = true;\n\n if (isMergedObjectiveBasedOutput) {\n // NEW CODE\n const output = etOutput;\n let promises: any = [];\n\n const prefixKey = this.findPrefixKey(\n mergedObjectiveIds,\n etOutput,\n states\n );\n\n let defaultConfig: { index: number; success: boolean; output: any } = {\n index: -1,\n success: false,\n output: {},\n };\n let mergedIds: SCANNED_RECORD = {\n success: [],\n failure: [],\n pending: [prefixKey],\n };\n const filterIds = await getScanMergedObjectID();\n if (filterIds) {\n mergedIds = filterIds[prefixKey];\n }\n\n Object.keys(etOutput).forEach((mergedObjectiveId) => {\n const _output = output[mergedObjectiveId].output;\n // PREFIX_KEY\n if (mergedObjectiveId === 'default') {\n const defaultOutput = output.default.output;\n // DELIVER AT DIFF LOCATION\n if (defaultOutput.eventCode === REASON_NOT_USED) {\n // DO NOT SEND OUTPUT WHEN DELIVER AT DIFF LOCATION\n defaultOutput.eventCode = '';\n defaultOutput.reasonCode = '';\n lockTaskResponse = false;\n } else {\n defaultConfig = {\n index: promises.length,\n success: defaultOutput.success,\n output: output.default,\n };\n\n promises.push(\n dispatchExecutor.saveTaskOutput(\n mergedIds.pending,\n taskName,\n taskID,\n {\n input,\n output: defaultOutput,\n },\n {\n ec: defaultOutput.eventCode,\n rc: defaultOutput.reasonCode || '',\n }\n )\n );\n }\n } else {\n promises.push(\n dispatchExecutor.saveTaskOutput(\n [mergedObjectiveId],\n taskName,\n taskID,\n {\n input,\n output: _output,\n }\n )\n );\n }\n });\n\n const response = await Promise.all(promises);\n\n if (defaultConfig.index !== -1) {\n // UPDATE PENDING IN SHARED PREFERENCE MERGED_SCAN_OUTPUT\n this.updatePendingSharedPreference(\n defaultConfig.success,\n response[defaultConfig.index],\n prefixKey\n );\n this.updateScanETOutputSharedPreference(\n defaultConfig.output,\n response[defaultConfig.index],\n prefixKey\n );\n }\n } else {\n await dispatchExecutor.saveTaskOutput(\n mergedObjectiveIds,\n taskName,\n taskID,\n {\n input,\n output: etOutput,\n }\n );\n }\n } catch (error: any) {\n Logger.getInstance().logCora(\"Error\", `sendETOutput: ${error}`);\n }\n }\n\n private findPrefixKey(\n mergedObjectiveIds: Array<string>,\n scanOutput: { [mergedObjectiveId: string]: any },\n routeParams: any\n ) {\n const prefixedMergedObjectiveId =\n routeParams[RouteParams.ROOT_META_DATA].prefixedMergedObjectiveId;\n\n return prefixedMergedObjectiveId;\n }\n\n public static getInstance(): DispatchStateContainer {\n if (!DispatchStateContainer.instance) {\n DispatchStateContainer.instance = new DispatchStateContainer();\n }\n return DispatchStateContainer.instance;\n }\n\n public setSuccessRoute(route: string) {\n this.successRoute = route;\n }\n public getSuccessRoute(): string {\n return this.successRoute;\n }\n public setFailureRoute(route: string) {\n this.failureRoute = route;\n }\n public getFailureRoute(): string {\n return this.failureRoute;\n }\n public async getObjectiveSummary(\n jobObjective: JobObjectiveType\n ): Promise<ETSummary[]> {\n try {\n let response: ETSummary[] = [];\n let summaryData =\n await EventsSyncManager.getInstance().getObjectiveSummary(\n jobObjective.jobId + jobObjective.objectiveId\n );\n if (summaryData) {\n for (const k in summaryData) {\n if (k === 'inputs') continue;\n else {\n const reason =\n await ReasonCodeContainer.getInstance().getReasonByCode(\n summaryData[k].output.reasonCode\n );\n response.push({\n eventCode: summaryData[k].output.eventCode,\n reasonCode: summaryData[k].output.reasonCode,\n reasonCodeDesc: reason?.description,\n name: k,\n });\n }\n }\n return response;\n } else return response;\n } catch (error: any) {\n Logger.getInstance().logCora(\"Error\", `getObjectiveSummary: ${error}`);\n return [];\n }\n }\n public async navigateToNextTask(\n navigation: any,\n route: any,\n etOutput: any,\n etSuccess: boolean,\n entityCode: string,\n eTaskID: ExecutionTaskID,\n baseETProps: BaseETProps,\n isLastTask?: boolean,\n isMergeObjectiveBasedOutput?: boolean\n ) {\n try {\n baseETProps.showProgress(true);\n const mergedObjectiveIds =\n route.params[RouteParams.NEXT_STATES].mergedObjectiveIds;\n const reasonsContainer = ReasonCodeContainer.getInstance();\n const eventsContainer = EventCodeContainer.getInstance();\n\n if (isMergeObjectiveBasedOutput) {\n await this.saveAndProceed(\n baseETProps,\n etOutput,\n route.params,\n navigation,\n isLastTask,\n isMergeObjectiveBasedOutput\n );\n } else {\n const _eventCode = etOutput.eventCode;\n\n if (etSuccess) {\n if (!_eventCode) {\n const _successApplicable =\n route.params[RouteParams.NEXT_STATES].input.applicableReasons\n .success;\n const successEventCodes = await eventsContainer.getEventCodes(\n _successApplicable\n );\n let rParams: any;\n rParams = { ...route.params };\n rParams[RouteParams.ET_SUCCESS] = true;\n rParams[RouteParams.ET_SUCCESS_RESPONSE] = etOutput;\n rParams[RouteParams.CURRENT_ET_NAME] = eTaskID;\n rParams[RouteParams.IS_LAST_ET] = isLastTask;\n rParams[RouteParams.EVENT_CODES] = successEventCodes;\n rParams[RouteParams.APPLICABLE_CODES] = _successApplicable;\n rParams[RouteParams.IS_MERGED_OBJ_BASED_OUTPUT] =\n isMergeObjectiveBasedOutput;\n rParams[RouteParams.ROOT_META_DATA] =\n route.params[RouteParams.ROOT_META_DATA];\n\n rParams[RouteParams.CANCEL_EVENT] = '';\n navigation.replace(CustomScreens.REMARK_SCREEN, rParams);\n } else {\n const successCodes = await reasonsContainer.getReasonCodes(\n route.params[RouteParams.NEXT_STATES].input.applicableReasons\n .success\n ? route.params[RouteParams.NEXT_STATES].input.applicableReasons\n .success\n : route.params[RouteParams.NEXT_STATES].input.applicableReasons,\n _eventCode\n );\n\n if (successCodes && successCodes.length > 0) {\n if (successCodes.length === 1) {\n if (isMergeObjectiveBasedOutput)\n etOutput.baseResponse.reasonCode = successCodes[0].reasonCode;\n else etOutput.reasonCode = successCodes[0].reasonCode;\n\n await this.saveAndProceed(\n baseETProps,\n etOutput,\n route.params,\n navigation,\n isLastTask,\n isMergeObjectiveBasedOutput\n );\n } else {\n let rParams: any;\n rParams = { ...route.params };\n rParams[RouteParams.ET_SUCCESS] = true;\n rParams[RouteParams.ET_SUCCESS_RESPONSE] = etOutput;\n rParams[RouteParams.CURRENT_ET_NAME] = eTaskID;\n rParams[RouteParams.REASONS] = successCodes;\n rParams[RouteParams.IS_LAST_ET] = isLastTask;\n rParams[RouteParams.ROOT_META_DATA] =\n route.params[RouteParams.ROOT_META_DATA];\n rParams[RouteParams.CANCEL_EVENT] = _eventCode;\n navigation.replace(CustomScreens.REMARK_SCREEN, rParams);\n }\n } else {\n await this.saveAndProceed(\n baseETProps,\n etOutput,\n route.params,\n navigation,\n isLastTask,\n isMergeObjectiveBasedOutput\n );\n }\n }\n } else {\n let failureCodes: any[] = [];\n if (!_eventCode) {\n const _failureApplicable =\n route.params[RouteParams.NEXT_STATES].input.applicableReasons\n .failure;\n const failureEventCodes = await eventsContainer.getEventCodes(\n _failureApplicable\n );\n\n let rParams: any;\n rParams = { ...route.params };\n rParams[RouteParams.ET_SUCCESS] = false;\n // rParams[RouteParams.ET_SUCCESS_RESPONSE] = etOutput;\n rParams[RouteParams.CURRENT_ET_NAME] = eTaskID;\n rParams[RouteParams.IS_LAST_ET] = isLastTask;\n rParams[RouteParams.EVENT_CODES] = failureEventCodes;\n rParams[RouteParams.APPLICABLE_CODES] = _failureApplicable;\n rParams[RouteParams.ROOT_META_DATA] =\n route.params[RouteParams.ROOT_META_DATA];\n rParams[RouteParams.CANCEL_EVENT] = '';\n navigation.replace(CustomScreens.REMARK_SCREEN, rParams);\n } else {\n if (_eventCode === GO_BACK_EVENT_CODE) failureCodes = [];\n else if (etOutput.reasonCode === RETRY_LIMIT_REACHED_CODE)\n failureCodes = [];\n else\n failureCodes = await reasonsContainer.getReasonCodes(\n route.params[RouteParams.NEXT_STATES].input.applicableReasons\n .failure\n ? route.params[RouteParams.NEXT_STATES].input\n .applicableReasons.failure\n : route.params[RouteParams.NEXT_STATES].input\n .applicableReasons,\n _eventCode\n );\n\n if (failureCodes && failureCodes.length > 0) {\n if (isMergeObjectiveBasedOutput)\n etOutput.baseResponse.reasonCode = failureCodes[0].reasonCode;\n\n if (failureCodes.length === 1) {\n await this.saveAndProceed(\n baseETProps,\n isMergeObjectiveBasedOutput\n ? etOutput\n : await getBaseETResponse(\n entityCode,\n false,\n _eventCode,\n failureCodes[0].reasonCode,\n mergedObjectiveIds,\n eTaskID\n ),\n route.params,\n navigation,\n isLastTask,\n isMergeObjectiveBasedOutput\n );\n } else {\n let rParams: any;\n rParams = { ...route.params };\n rParams[RouteParams.ET_SUCCESS] = false;\n rParams[RouteParams.CURRENT_ET_NAME] = eTaskID;\n rParams[RouteParams.REASONS] = failureCodes;\n rParams[RouteParams.IS_LAST_ET] = isLastTask;\n rParams[RouteParams.ROOT_META_DATA] =\n route.params[RouteParams.ROOT_META_DATA];\n rParams[RouteParams.CANCEL_EVENT] = _eventCode;\n navigation.replace(CustomScreens.REMARK_SCREEN, rParams);\n }\n } else {\n await this.saveAndProceed(\n baseETProps,\n isMergeObjectiveBasedOutput\n ? etOutput\n : await getBaseETResponse(\n entityCode,\n false,\n _eventCode,\n '',\n mergedObjectiveIds,\n eTaskID\n ),\n route.params,\n navigation,\n isLastTask,\n isMergeObjectiveBasedOutput\n );\n }\n }\n }\n }\n } catch (error: any) {\n baseETProps.showProgress(false);\n Logger.getInstance().logCora(\"Error\", `navigateToNextTask: ${error}`);\n }\n }\n\n async moveToNextET(\n etOutput: any,\n baseETProps: BaseETProps,\n states: stateParams,\n navigation: any,\n isLastTask?: boolean\n ) {\n try {\n let etStates = states.next_states;\n baseETProps.showProgress(true);\n\n if (isLastTask && etStates && Object.keys(etStates).length > 0) {\n if (this._mappedStates.size && this._stateKeys.length) {\n\n const st = this._stateKeys.pop();\n if (st) {\n let rParams: any = {};\n const _stData = this._mappedStates.get(st);\n this._mappedStates.delete(st);\n if (_stData) {\n rParams[RouteParams.NEXT_STATES] = _stData;\n rParams[RouteParams.ROOT_META_DATA] = states.rootMetaData;\n navigation.replace(_stData.taskId, rParams);\n }\n }\n } else {\n baseETProps.showProgress(false);\n // TODO: Remove this later\n this.cache.clearKeys([this.cacheKeys.CURRENT_WORKING_TASK_ID]);\n\n AppSyncManager.getInstance().isForceStartEnabled = true;\n AppSyncManager.getInstance().isSyncActive = false;\n AppSyncManager.getInstance().startSDKSyncManager();\n\n let objSummary: {\n success?: ObjectiveSummary[];\n failure?: ObjectiveSummary[];\n } = {\n success: [],\n failure: [],\n };\n for (let [_key, _value] of this._mappedStatesData) {\n const _objKey =\n _key === ExecutionTaskID.COMPLETED_SUCCESS\n ? 'success'\n : 'failure';\n\n const lastERCData = await DispatchExecutor.getlastERC(\n _value.mergedObjectiveIds\n );\n\n for (const _lastER of lastERCData) {\n const reason =\n await ReasonCodeContainer.getInstance().getReasonByCode(\n _lastER.lastReasonCode\n );\n\n objSummary[_objKey]?.push({\n entityCode: _lastER.lastEntityCode,\n eventCode: _lastER.lastEventCode,\n reasonCode: _lastER.lastReasonCode,\n reasonCodeDesc: reason?.description,\n });\n }\n }\n if (this._mappedStatesData.get(ExecutionTaskID.COMPLETED_SUCCESS)) {\n this._mappedStatesData.clear();\n this._mappedStates.clear();\n this._stateKeys = [];\n\n clearScanOutput(states.rootMetaData.prefixedMergedObjectiveId);\n clearPaymentSharedData(states.next_states.mergedObjectiveIds);\n navigation.dispatch(\n CommonActions.reset({\n index: 0,\n routes: [\n {\n name: this.getSuccessRoute(),\n params: {\n summary: objSummary,\n objSuccess: true\n }\n },\n ],\n }),\n );\n } else {\n this._mappedStatesData.clear();\n this._mappedStates.clear();\n this._stateKeys = [];\n\n clearScanOutput(states.rootMetaData.prefixedMergedObjectiveId);\n clearPaymentSharedData(states.next_states.mergedObjectiveIds);\n navigation.dispatch(\n CommonActions.reset({\n index: 0,\n routes: [\n {\n name: this.getFailureRoute(),\n params: {\n summary: objSummary,\n objSuccess: false\n }\n },\n ],\n }),\n );\n }\n }\n } else {\n let rParams: any = {};\n\n let nextStateDataArray: IDispatch.IExecutionTaskQueryResponse[] =\n await this.queryNextET(\n states.next_states.mergedObjectiveIds,\n states.rootMetaData.statusFilter\n );\n\n const storeTerminalData = nextStateDataArray.every(\n (_state) =>\n _state.taskId === ExecutionTaskID.COMPLETED_SUCCESS ||\n _state.taskId === ExecutionTaskID.COMPLETED_FAILURE\n );\n\n if (storeTerminalData) {\n if (nextStateDataArray.length === 2) {\n // Array in case of last states containing c-s and c-f\n this._mappedStates.set(\n nextStateDataArray[1].taskId,\n nextStateDataArray[1]\n );\n this._stateKeys.push(nextStateDataArray[1].taskId);\n }\n nextStateDataArray.forEach((data) => {\n if (\n data.taskId === ExecutionTaskID.COMPLETED_SUCCESS ||\n data.taskId === ExecutionTaskID.COMPLETED_FAILURE\n )\n this._mappedStatesData.set(data.taskId, data);\n });\n }\n const nextStateData = nextStateDataArray[0];\n\n baseETProps.showProgress(false);\n if (nextStateData != null && Object.keys(nextStateData).length > 0) {\n rParams[RouteParams.NEXT_STATES] = nextStateData;\n\n rParams[RouteParams.ROOT_META_DATA] = states.rootMetaData;\n\n /**\n * Send END/BACK custom event\n */\n if (!isLastTask) {\n const eventOutputData: endEvent = {\n meta: etOutput?.baseResponse?.meta || etOutput?.meta || {},\n etData: etOutput,\n taskId: etStates.taskId,\n nextTaskId: '',\n timestamp: Date.now(),\n customData: rParams[RouteParams.ROOT_META_DATA].customEventsData,\n };\n\n eventOutputData.nextTaskId = nextStateData.taskId;\n eventOutputData.etData.eventCode !== GO_BACK_EVENT_CODE\n ? dispatchEvent('END', etStates.taskName, eventOutputData)\n : dispatchEvent('BACK', etStates.taskName, eventOutputData);\n }\n }\n\n navigation.replace(nextStateData.taskId, rParams);\n }\n } catch (error: any) {\n baseETProps.showProgress(false);\n Logger.getInstance().logCora(\"Error\", `moveToNextET: ${error}`);\n }\n }\n\n private saveAndProceedToNextET = debounce(\n async (\n baseETProps: BaseETProps,\n etOutput: any,\n states: stateParams,\n navigation: any,\n isLastTask?: boolean,\n isMergedObjectiveBasedOutput?: boolean\n ) => {\n try {\n await this.sendETOutput(etOutput, states, isMergedObjectiveBasedOutput);\n await this.moveToNextET(\n etOutput,\n baseETProps,\n states,\n navigation,\n isLastTask\n );\n } catch (error: any) {\n Logger.getInstance().logCora(\"Error\", `saveAndProceedToNextET: ${error}`);\n baseETProps.showProgress(false);\n showToast(error.message);\n }\n },\n 800\n );\n\n public async saveAndProceed(\n baseETProps: BaseETProps,\n etOutput: any,\n states: stateParams,\n navigation: any,\n isLastTask?: boolean,\n isMergedObjectiveBasedOutput?: boolean\n ) {\n baseETProps.showProgress(true);\n await this.saveAndProceedToNextET(\n baseETProps,\n etOutput,\n states,\n navigation,\n isLastTask,\n isMergedObjectiveBasedOutput\n );\n }\n}\n"],"mappings":";;;;AAAA,SAASA,UAAU,EAAEC,eAAe,QAAQ,8BAA8B;AAC1E,SACEC,gBAAgB,IAAIC,gBAAgB,QAG/B,oDAAoD;AAC3D,SAASC,SAAS,QAAQ,kCAAkC;AAC5D,SACEC,aAAa,EACbC,eAAe,QACV,iCAAiC;AAMxC,OAAOC,iBAAiB,MAAM,yCAAyC;AACvE,OAAOC,MAAM,IAAIC,QAAQ,QAAQ,oBAAoB;AACrD,OAAOC,gBAAgB,MAAM,yBAAyB;AAOtD,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SAASC,iBAAiB,QAAQ,2BAA2B;AAC7D,OAAOC,mBAAmB,MAAM,sCAAsC;AACtE,OAAOC,cAAc,MAAM,yBAAyB;AACpD,OAAOC,UAAU,IAAIC,qBAAqB,QAAQ,yBAAyB;AAC3E,SAASC,WAAW,QAAQ,+BAA+B;AAC3D,SAASC,QAAQ,QAAQ,QAAQ;AACjC,OAAOC,aAAa,MAAM,8BAA8B;AACxD,OAAOC,kBAAkB,MAAM,qCAAqC;AACpE,SAASC,kBAAkB,EAAEC,eAAe,EAAEC,wBAAwB,QAAQ,2BAA2B;AACzG,OAAOC,cAAc,MAAM,+BAA+B;AAC1D,SAAStB,gBAAgB,QAAQ,oDAAoD;;AAErF;AACA,SACEuB,eAAe,EACfC,oBAAoB,EACpBC,yBAAyB,EACzBC,6BAA6B,EAC7BC,6BAA6B,QACxB,0BAA0B;AACjC,OAAOC,OAAO,MAAM,qBAAqB;AACzC,SACEC,sBAAsB,EACtBC,eAAe,EACfC,qBAAqB,QAChB,4CAA4C;AAInD,SAASC,aAAa,QAAQ,0BAA0B;AAExD,eAAe,MAAMC,sBAAsB,CAAC;EAAAC,YAAA;IAAAC,eAAA,oBAC9B3B,gBAAgB,CAAC4B,IAAI;IAAAD,eAAA,gBACzB3B,gBAAgB,CAAC6B,WAAW,CAAC,CAAC;IAAAF,eAAA,uBAiBP,EAAE;IAAAA,eAAA,uBACF,EAAE;IAAAA,eAAA,qBAEF,EAAE;IAAAA,eAAA,yBACkB,IAAI;IAAAA,eAAA,wBAErD,IAAIG,GAAG,CAAgD,CAAC;IAAAH,eAAA,4BAItD,IAAIG,GAAG,CAAgD,CAAC;IAAAH,eAAA,iCAytB3BnB,QAAQ,CACvC,OACEuB,WAAwB,EACxBC,QAAa,EACbC,MAAmB,EACnBC,UAAe,EACfC,UAAoB,EACpBC,4BAAsC,KACnC;MACH,IAAI;QACF,MAAM,IAAI,CAACC,YAAY,CAACL,QAAQ,EAAEC,MAAM,EAAEG,4BAA4B,CAAC;QACvE,MAAM,IAAI,CAACE,YAAY,CACrBN,QAAQ,EACRD,WAAW,EACXE,MAAM,EACNC,UAAU,EACVC,UACF,CAAC;MACH,CAAC,CAAC,OAAOI,KAAU,EAAE;QACnBzC,MAAM,CAAC+B,WAAW,CAAC,CAAC,CAACW,OAAO,CAAC,OAAO,EAAE,2BAA2BD,KAAK,EAAE,CAAC;QACzER,WAAW,CAACU,YAAY,CAAC,KAAK,CAAC;QAC/B/C,SAAS,CAAC6C,KAAK,CAACG,OAAO,CAAC;MAC1B;IACF,CAAC,EACD,GACF,CAAC;EAAA;EA3wBD,IAAIC,SAASA,CAAA,EAAa;IACxB,OAAO,IAAI,CAACC,UAAU;EACxB;EAEA,IAAID,SAASA,CAACE,KAAe,EAAE;IAC7B,IAAI,CAACD,UAAU,GAAGC,KAAK;EACzB;EACA,IAAIC,YAAYA,CAAA,EAAuD;IACrE,OAAO,IAAI,CAACC,aAAa;EAC3B;EAEA,IAAID,YAAYA,CAACD,KAAyD,EAAE;IAC1E,IAAI,CAACE,aAAa,GAAGF,KAAK;EAC5B;EAcA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAaG,oBAAoBA,CAC/BC,UAAkB,EAClBC,IAA6B,EAC7BC,iBAA+D,EAC/DC,gBAAyB,EACzB;IACA,IACE,CAACH,UAAU,IACX,CAACC,IAAI,IACLA,IAAI,CAACG,MAAM,GAAG,CAAC,IACf,CAACF,iBAAiB,IAClBG,MAAM,CAACC,IAAI,CAACJ,iBAAiB,CAAC,CAACE,MAAM,GAAG,CAAC,EACzC;MACAvD,MAAM,CAAC+B,WAAW,CAAC,CAAC,CAAC2B,QAAQ,CAC3B,sBAAsB,EACtBlD,qBAAqB,EACrBP,QAAQ,CAAC0D,WACX,CAAC;MACD,MAAM,IAAIxD,SAAS,CACjBG,cAAc,CAACsD,oBAAoB,EACnCpD,qBACF,CAAC;IACH;IACA,MAAMhB,UAAU,CAAC2D,UAAU,CAAC;IAC5B,MAAMjD,gBAAgB,CAAC6B,WAAW,CAAC,CAAC,CAAC8B,aAAa,CAChD3D,gBAAgB,CAAC4B,IAAI,CAACgC,WAAW,EACjCX,UACF,CAAC;IACD,MAAM1D,eAAe,CAAC0D,UAAU,CAAC;;IAEjC;IACA,IAAIY,OAAO,GAAGzC,OAAO,CAACS,WAAW,CAAC,CAAC;IAEnC,MAAMiC,0BAA0B,GAAG,MAAMD,OAAO,CAACE,aAAa,CAC5D7C,6BACF,CAAC;IACD,IAAI4C,0BAA0B,EAAE;MAC9B,IAAIA,0BAA0B,KAAKb,UAAU,EAAE;QAC7C,MAAMe,OAAO,CAACC,GAAG,CAAC,CAChBJ,OAAO,CAACK,aAAa,CAAChD,6BAA6B,EAAE+B,UAAU,CAAC,EAChEY,OAAO,CAACK,aAAa,CAAClD,oBAAoB,EAAE,GAAG,CAAC,CACjD,CAAC;MACJ;IACF,CAAC,MAAM;MACL,MAAMgD,OAAO,CAACC,GAAG,CAAC,CAChBJ,OAAO,CAACK,aAAa,CAAChD,6BAA6B,EAAE+B,UAAU,CAAC,EAChEY,OAAO,CAACK,aAAa,CAAClD,oBAAoB,EAAE,GAAG,CAAC,CACjD,CAAC;IACJ;IAEA,MAAMvB,gBAAgB,CAAC0E,KAAK,CAAClB,UAAU,EAAEC,IAAI,EAAEC,iBAAiB,EAAE;MAChEC,gBAAgB;MAChBgB,kBAAkB,EAAErD;IACtB,CAAC,CAAC;IACFjB,MAAM,CAAC+B,WAAW,CAAC,CAAC,CAACW,OAAO,CAAC,MAAM,EAAE,qCAAqCS,UAAU,EAAE,CAAC;EACzF;;EAEA;EACA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAEE,MAAaoB,WAAWA,CACtBC,iBAAgC,EAChCC,YAAiD,EACC;IAClD,IAAI,CAACD,iBAAiB,EAAE;MACtBxE,MAAM,CAAC+B,WAAW,CAAC,CAAC,CAACW,OAAO,CAAC,OAAO,EAAE,6BAA6B,CAAC;MACpE,MAAM,IAAIvC,SAAS,CAACI,UAAU,CAACmE,aAAa,EAAE,oBAAoB,CAAC;IACrE;IACA,OAAO,MAAM/E,gBAAgB,CAACgF,WAAW,CACvCH,iBAAiB,CAAC,CAAC,CAAC,EACpBC,YACF,CAAC;EACH;EAEA,MAAcG,kCAAkCA,CAC9C1C,QAAa,EACb2C,yBAAwC,EACxCC,SAAiB,EACjB;IACA,IAAI;MACF5C,QAAQ,CAAC6C,kBAAkB,GAAGF,yBAAyB;MACvD,IAAId,OAAO,GAAGzC,OAAO,CAACS,WAAW,CAAC,CAAC;MACnC,MAAMiD,MAAM,GAAG,MAAMjB,OAAO,CAACE,aAAa,CAAC5C,6BAA6B,CAAC;MAEzE,IAAI2D,MAAM,EAAE;QACV,MAAMC,YAA+C,GACnDC,IAAI,CAACC,KAAK,CAACH,MAAM,CAAC;QACpB,IAAII,aAA4B,GAAG,CAAC,CAAC;QACrC,IAAIH,YAAY,CAACH,SAAS,CAAC,EAAE;UAC3BM,aAAa,GAAGH,YAAY,CAACH,SAAS,CAAC;QACzC;QACAD,yBAAyB,CAACQ,OAAO,CAAEC,QAAgB,IAAK;UACtDF,aAAa,CAACE,QAAQ,CAAC,GAAGpD,QAAQ;QACpC,CAAC,CAAC;;QAEF;QACA,MAAM6B,OAAO,CAACK,aAAa,CACzB/C,6BAA6B,EAC7B6D,IAAI,CAACK,SAAS,CAAC;UAAE,GAAGN,YAAY;UAAE,CAACH,SAAS,GAAGM;QAAc,CAAC,CAChE,CAAC;MACH,CAAC,MAAM;QACL,MAAMH,YAA+C,GAAG,CAAC,CAAC;QAC1DJ,yBAAyB,CAACQ,OAAO,CAAEC,QAAgB,IAAK;UACtDL,YAAY,CAACK,QAAQ,CAAC,GAAGpD,QAAQ;QACnC,CAAC,CAAC;QACF;QACA,MAAM6B,OAAO,CAACK,aAAa,CACzB/C,6BAA6B,EAC7B6D,IAAI,CAACK,SAAS,CAAC;UAAE,CAACT,SAAS,GAAGG;QAAa,CAAC,CAC9C,CAAC;MACH;IACF,CAAC,CAAC,OAAOxC,KAAU,EAAE;MACnBzC,MAAM,CAAC+B,WAAW,CAAC,CAAC,CAACW,OAAO,CAAC,OAAO,EAAE,uCAAuCD,KAAK,EAAE,CAAC;IACvF;EACF;EAEA,MAAc+C,6BAA6BA,CACzCC,SAAkB,EAClBZ,yBAAwC,EACxCC,SAAiB,EACjB;IACA,IAAI;MAGF,IAAIf,OAAO,GAAGzC,OAAO,CAACS,WAAW,CAAC,CAAC;MACnC,MAAM2D,cAAc,GAAG,MAAM3B,OAAO,CAACE,aAAa,CAChD9C,yBACF,CAAC;MAED,IAAIuE,cAAc,EAAE;QAClB,MAAMC,SAAS,GAAGT,IAAI,CAACC,KAAK,CAACO,cAAc,CAAC;QAC5C,MAAME,UAAU,GAAGD,SAAS,CAACb,SAAS,CAAC;QACvC,IAAIc,UAAU,EAAE;UACd,IAAIH,SAAS,EAAE;YACbG,UAAU,CAACC,OAAO,CAACC,IAAI,CAAC,GAAGjB,yBAAyB,CAAC;YACrDe,UAAU,CAACG,OAAO,GAAG,EAAE;UACzB,CAAC,MAAM;YACLH,UAAU,CAACI,OAAO,CAACF,IAAI,CAAC,GAAGjB,yBAAyB,CAAC;YACrDe,UAAU,CAACG,OAAO,GAAG,EAAE;UACzB;UAEA,MAAMhC,OAAO,CAACK,aAAa,CACzBjD,yBAAyB,EACzB+D,IAAI,CAACK,SAAS,CAAC;YAAE,GAAGI,SAAS;YAAE,CAACb,SAAS,GAAGc;UAAW,CAAC,CAC1D,CAAC;QACH;MACF;IACF,CAAC,CAAC,OAAOnD,KAAU,EAAE;MACnBzC,MAAM,CAAC+B,WAAW,CAAC,CAAC,CAACW,OAAO,CAAC,OAAO,EAAE,kCAAkCD,KAAK,EAAE,CAAC;IAClF;EACF;;EAEA;EACA,MAAaF,YAAYA,CACvBL,QAAa,EACbC,MAAW,EACXG,4BAAsC,EACtC;IACA,IAAI;MACF,MAAMyC,kBAAkB,GACtB5C,MAAM,CAAC1B,WAAW,CAACwF,WAAW,CAAC,CAAClB,kBAAkB;MACpD,MAAMmB,QAAQ,GAAG/D,MAAM,CAAC1B,WAAW,CAACwF,WAAW,CAAC,CAACC,QAAQ;MACzD,MAAMC,MAAM,GAAGhE,MAAM,CAAC1B,WAAW,CAACwF,WAAW,CAAC,CAACG,MAAM;MACrD,MAAMC,KAAK,GAAGlE,MAAM,CAAC1B,WAAW,CAACwF,WAAW,CAAC,CAACI,KAAK;MACnD,IAAIC,gBAAyB,GAAG,IAAI;MAEpC,IAAIhE,4BAA4B,EAAE;QAChC;QACA,MAAM0C,MAAM,GAAG9C,QAAQ;QACvB,IAAIqE,QAAa,GAAG,EAAE;QAEtB,MAAMzB,SAAS,GAAG,IAAI,CAAC0B,aAAa,CAClCzB,kBAAkB,EAClB7C,QAAQ,EACRC,MACF,CAAC;QAED,IAAIsE,aAA+D,GAAG;UACpEC,KAAK,EAAE,CAAC,CAAC;UACTb,OAAO,EAAE,KAAK;UACdb,MAAM,EAAE,CAAC;QACX,CAAC;QACD,IAAIW,SAAyB,GAAG;UAC9BE,OAAO,EAAE,EAAE;UACXG,OAAO,EAAE,EAAE;UACXD,OAAO,EAAE,CAACjB,SAAS;QACrB,CAAC;QACD,MAAM6B,SAAS,GAAG,MAAMlF,qBAAqB,CAAC,CAAC;QAC/C,IAAIkF,SAAS,EAAE;UACbhB,SAAS,GAAGgB,SAAS,CAAC7B,SAAS,CAAC;QAClC;QAEAtB,MAAM,CAACC,IAAI,CAACvB,QAAQ,CAAC,CAACmD,OAAO,CAAEb,iBAAiB,IAAK;UACnD,MAAMoC,OAAO,GAAG5B,MAAM,CAACR,iBAAiB,CAAC,CAACQ,MAAM;UAChD;UACA,IAAIR,iBAAiB,KAAK,SAAS,EAAE;YACnC,MAAMqC,aAAa,GAAG7B,MAAM,CAAC8B,OAAO,CAAC9B,MAAM;YAC3C;YACA,IAAI6B,aAAa,CAACE,SAAS,KAAKjG,eAAe,EAAE;cAC/C;cACA+F,aAAa,CAACE,SAAS,GAAG,EAAE;cAC5BF,aAAa,CAACG,UAAU,GAAG,EAAE;cAC7BV,gBAAgB,GAAG,KAAK;YAC1B,CAAC,MAAM;cACLG,aAAa,GAAG;gBACdC,KAAK,EAAEH,QAAQ,CAAChD,MAAM;gBACtBsC,OAAO,EAAEgB,aAAa,CAAChB,OAAO;gBAC9Bb,MAAM,EAAEA,MAAM,CAAC8B;cACjB,CAAC;cAEDP,QAAQ,CAACT,IAAI,CACXnG,gBAAgB,CAACsH,cAAc,CAC7BtB,SAAS,CAACI,OAAO,EACjBG,QAAQ,EACRC,MAAM,EACN;gBACEE,KAAK;gBACLrB,MAAM,EAAE6B;cACV,CAAC,EACD;gBACEK,EAAE,EAAEL,aAAa,CAACE,SAAS;gBAC3BI,EAAE,EAAEN,aAAa,CAACG,UAAU,IAAI;cAClC,CACF,CACF,CAAC;YACH;UACF,CAAC,MAAM;YACLT,QAAQ,CAACT,IAAI,CACXnG,gBAAgB,CAACsH,cAAc,CAC7B,CAACzC,iBAAiB,CAAC,EACnB0B,QAAQ,EACRC,MAAM,EACN;cACEE,KAAK;cACLrB,MAAM,EAAE4B;YACV,CACF,CACF,CAAC;UACH;QACF,CAAC,CAAC;QAEF,MAAMQ,QAAQ,GAAG,MAAMlD,OAAO,CAACC,GAAG,CAACoC,QAAQ,CAAC;QAE5C,IAAIE,aAAa,CAACC,KAAK,KAAK,CAAC,CAAC,EAAE;UAC9B;UACA,IAAI,CAAClB,6BAA6B,CAChCiB,aAAa,CAACZ,OAAO,EACrBuB,QAAQ,CAACX,aAAa,CAACC,KAAK,CAAC,EAC7B5B,SACF,CAAC;UACD,IAAI,CAACF,kCAAkC,CACrC6B,aAAa,CAACzB,MAAM,EACpBoC,QAAQ,CAACX,aAAa,CAACC,KAAK,CAAC,EAC7B5B,SACF,CAAC;QACH;MACF,CAAC,MAAM;QACL,MAAMnF,gBAAgB,CAACsH,cAAc,CACnClC,kBAAkB,EAClBmB,QAAQ,EACRC,MAAM,EACN;UACEE,KAAK;UACLrB,MAAM,EAAE9C;QACV,CACF,CAAC;MACH;IACF,CAAC,CAAC,OAAOO,KAAU,EAAE;MACnBzC,MAAM,CAAC+B,WAAW,CAAC,CAAC,CAACW,OAAO,CAAC,OAAO,EAAE,iBAAiBD,KAAK,EAAE,CAAC;IACjE;EACF;EAEQ+D,aAAaA,CACnBzB,kBAAiC,EACjCsC,UAAgD,EAChDC,WAAgB,EAChB;IACA,MAAMzC,yBAAyB,GAC7ByC,WAAW,CAAC7G,WAAW,CAAC8G,cAAc,CAAC,CAAC1C,yBAAyB;IAEnE,OAAOA,yBAAyB;EAClC;EAEA,OAAc9C,WAAWA,CAAA,EAA2B;IAClD,IAAI,CAACJ,sBAAsB,CAAC6F,QAAQ,EAAE;MACpC7F,sBAAsB,CAAC6F,QAAQ,GAAG,IAAI7F,sBAAsB,CAAC,CAAC;IAChE;IACA,OAAOA,sBAAsB,CAAC6F,QAAQ;EACxC;EAEOC,eAAeA,CAACC,KAAa,EAAE;IACpC,IAAI,CAACC,YAAY,GAAGD,KAAK;EAC3B;EACOE,eAAeA,CAAA,EAAW;IAC/B,OAAO,IAAI,CAACD,YAAY;EAC1B;EACOE,eAAeA,CAACH,KAAa,EAAE;IACpC,IAAI,CAACI,YAAY,GAAGJ,KAAK;EAC3B;EACOK,eAAeA,CAAA,EAAW;IAC/B,OAAO,IAAI,CAACD,YAAY;EAC1B;EACA,MAAaE,mBAAmBA,CAC9BC,YAA8B,EACR;IACtB,IAAI;MACF,IAAIb,QAAqB,GAAG,EAAE;MAC9B,IAAIc,WAAW,GACb,MAAMnI,iBAAiB,CAACgC,WAAW,CAAC,CAAC,CAACiG,mBAAmB,CACvDC,YAAY,CAACE,KAAK,GAAGF,YAAY,CAACG,WACpC,CAAC;MACH,IAAIF,WAAW,EAAE;QACf,KAAK,MAAMG,CAAC,IAAIH,WAAW,EAAE;UAC3B,IAAIG,CAAC,KAAK,QAAQ,EAAE,SAAS,KACxB;YACH,MAAMC,MAAM,GACV,MAAMjI,mBAAmB,CAAC0B,WAAW,CAAC,CAAC,CAACwG,eAAe,CACrDL,WAAW,CAACG,CAAC,CAAC,CAACrD,MAAM,CAACgC,UACxB,CAAC;YACHI,QAAQ,CAACtB,IAAI,CAAC;cACZiB,SAAS,EAAEmB,WAAW,CAACG,CAAC,CAAC,CAACrD,MAAM,CAAC+B,SAAS;cAC1CC,UAAU,EAAEkB,WAAW,CAACG,CAAC,CAAC,CAACrD,MAAM,CAACgC,UAAU;cAC5CwB,cAAc,EAAEF,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEG,WAAW;cACnCC,IAAI,EAAEL;YACR,CAAC,CAAC;UACJ;QACF;QACA,OAAOjB,QAAQ;MACjB,CAAC,MAAM,OAAOA,QAAQ;IACxB,CAAC,CAAC,OAAO3E,KAAU,EAAE;MACnBzC,MAAM,CAAC+B,WAAW,CAAC,CAAC,CAACW,OAAO,CAAC,OAAO,EAAE,wBAAwBD,KAAK,EAAE,CAAC;MACtE,OAAO,EAAE;IACX;EACF;EACA,MAAakG,kBAAkBA,CAC7BvG,UAAe,EACfsF,KAAU,EACVxF,QAAa,EACb0G,SAAkB,EAClBC,UAAkB,EAClBC,OAAwB,EACxB7G,WAAwB,EACxBI,UAAoB,EACpB0G,2BAAqC,EACrC;IACA,IAAI;MACF9G,WAAW,CAACU,YAAY,CAAC,IAAI,CAAC;MAC9B,MAAMoC,kBAAkB,GACtB2C,KAAK,CAACsB,MAAM,CAACvI,WAAW,CAACwF,WAAW,CAAC,CAAClB,kBAAkB;MAC1D,MAAMkE,gBAAgB,GAAG5I,mBAAmB,CAAC0B,WAAW,CAAC,CAAC;MAC1D,MAAMmH,eAAe,GAAGtI,kBAAkB,CAACmB,WAAW,CAAC,CAAC;MAExD,IAAIgH,2BAA2B,EAAE;QAC/B,MAAM,IAAI,CAACI,cAAc,CACvBlH,WAAW,EACXC,QAAQ,EACRwF,KAAK,CAACsB,MAAM,EACZ5G,UAAU,EACVC,UAAU,EACV0G,2BACF,CAAC;MACH,CAAC,MAAM;QACL,MAAMK,UAAU,GAAGlH,QAAQ,CAAC6E,SAAS;QAErC,IAAI6B,SAAS,EAAE;UACb,IAAI,CAACQ,UAAU,EAAE;YACf,MAAMC,kBAAkB,GACtB3B,KAAK,CAACsB,MAAM,CAACvI,WAAW,CAACwF,WAAW,CAAC,CAACI,KAAK,CAACiD,iBAAiB,CAC1DzD,OAAO;YACZ,MAAM0D,iBAAiB,GAAG,MAAML,eAAe,CAACM,aAAa,CAC3DH,kBACF,CAAC;YACD,IAAII,OAAY;YAChBA,OAAO,GAAG;cAAE,GAAG/B,KAAK,CAACsB;YAAO,CAAC;YAC7BS,OAAO,CAAChJ,WAAW,CAACiJ,UAAU,CAAC,GAAG,IAAI;YACtCD,OAAO,CAAChJ,WAAW,CAACkJ,mBAAmB,CAAC,GAAGzH,QAAQ;YACnDuH,OAAO,CAAChJ,WAAW,CAACmJ,eAAe,CAAC,GAAGd,OAAO;YAC9CW,OAAO,CAAChJ,WAAW,CAACoJ,UAAU,CAAC,GAAGxH,UAAU;YAC5CoH,OAAO,CAAChJ,WAAW,CAACqJ,WAAW,CAAC,GAAGP,iBAAiB;YACpDE,OAAO,CAAChJ,WAAW,CAACsJ,gBAAgB,CAAC,GAAGV,kBAAkB;YAC1DI,OAAO,CAAChJ,WAAW,CAACuJ,0BAA0B,CAAC,GAC7CjB,2BAA2B;YAC7BU,OAAO,CAAChJ,WAAW,CAAC8G,cAAc,CAAC,GACjCG,KAAK,CAACsB,MAAM,CAACvI,WAAW,CAAC8G,cAAc,CAAC;YAE1CkC,OAAO,CAAChJ,WAAW,CAACwJ,YAAY,CAAC,GAAG,EAAE;YACtC7H,UAAU,CAAC8H,OAAO,CAACrK,aAAa,CAACsK,aAAa,EAAEV,OAAO,CAAC;UAC1D,CAAC,MAAM;YACL,MAAMW,YAAY,GAAG,MAAMnB,gBAAgB,CAACoB,cAAc,CACxD3C,KAAK,CAACsB,MAAM,CAACvI,WAAW,CAACwF,WAAW,CAAC,CAACI,KAAK,CAACiD,iBAAiB,CAC1DzD,OAAO,GACN6B,KAAK,CAACsB,MAAM,CAACvI,WAAW,CAACwF,WAAW,CAAC,CAACI,KAAK,CAACiD,iBAAiB,CAC5DzD,OAAO,GACR6B,KAAK,CAACsB,MAAM,CAACvI,WAAW,CAACwF,WAAW,CAAC,CAACI,KAAK,CAACiD,iBAAiB,EACjEF,UACF,CAAC;YAED,IAAIgB,YAAY,IAAIA,YAAY,CAAC7G,MAAM,GAAG,CAAC,EAAE;cAC3C,IAAI6G,YAAY,CAAC7G,MAAM,KAAK,CAAC,EAAE;gBAC7B,IAAIwF,2BAA2B,EAC7B7G,QAAQ,CAACoI,YAAY,CAACtD,UAAU,GAAGoD,YAAY,CAAC,CAAC,CAAC,CAACpD,UAAU,CAAC,KAC3D9E,QAAQ,CAAC8E,UAAU,GAAGoD,YAAY,CAAC,CAAC,CAAC,CAACpD,UAAU;gBAErD,MAAM,IAAI,CAACmC,cAAc,CACvBlH,WAAW,EACXC,QAAQ,EACRwF,KAAK,CAACsB,MAAM,EACZ5G,UAAU,EACVC,UAAU,EACV0G,2BACF,CAAC;cACH,CAAC,MAAM;gBACL,IAAIU,OAAY;gBAChBA,OAAO,GAAG;kBAAE,GAAG/B,KAAK,CAACsB;gBAAO,CAAC;gBAC7BS,OAAO,CAAChJ,WAAW,CAACiJ,UAAU,CAAC,GAAG,IAAI;gBACtCD,OAAO,CAAChJ,WAAW,CAACkJ,mBAAmB,CAAC,GAAGzH,QAAQ;gBACnDuH,OAAO,CAAChJ,WAAW,CAACmJ,eAAe,CAAC,GAAGd,OAAO;gBAC9CW,OAAO,CAAChJ,WAAW,CAAC8J,OAAO,CAAC,GAAGH,YAAY;gBAC3CX,OAAO,CAAChJ,WAAW,CAACoJ,UAAU,CAAC,GAAGxH,UAAU;gBAC5CoH,OAAO,CAAChJ,WAAW,CAAC8G,cAAc,CAAC,GACjCG,KAAK,CAACsB,MAAM,CAACvI,WAAW,CAAC8G,cAAc,CAAC;gBAC1CkC,OAAO,CAAChJ,WAAW,CAACwJ,YAAY,CAAC,GAAGb,UAAU;gBAC9ChH,UAAU,CAAC8H,OAAO,CAACrK,aAAa,CAACsK,aAAa,EAAEV,OAAO,CAAC;cAC1D;YACF,CAAC,MAAM;cACL,MAAM,IAAI,CAACN,cAAc,CACvBlH,WAAW,EACXC,QAAQ,EACRwF,KAAK,CAACsB,MAAM,EACZ5G,UAAU,EACVC,UAAU,EACV0G,2BACF,CAAC;YACH;UACF;QACF,CAAC,MAAM;UACL,IAAIyB,YAAmB,GAAG,EAAE;UAC5B,IAAI,CAACpB,UAAU,EAAE;YACf,MAAMqB,kBAAkB,GACtB/C,KAAK,CAACsB,MAAM,CAACvI,WAAW,CAACwF,WAAW,CAAC,CAACI,KAAK,CAACiD,iBAAiB,CAC1DtD,OAAO;YACZ,MAAM0E,iBAAiB,GAAG,MAAMxB,eAAe,CAACM,aAAa,CAC3DiB,kBACF,CAAC;YAED,IAAIhB,OAAY;YAChBA,OAAO,GAAG;cAAE,GAAG/B,KAAK,CAACsB;YAAO,CAAC;YAC7BS,OAAO,CAAChJ,WAAW,CAACiJ,UAAU,CAAC,GAAG,KAAK;YACvC;YACAD,OAAO,CAAChJ,WAAW,CAACmJ,eAAe,CAAC,GAAGd,OAAO;YAC9CW,OAAO,CAAChJ,WAAW,CAACoJ,UAAU,CAAC,GAAGxH,UAAU;YAC5CoH,OAAO,CAAChJ,WAAW,CAACqJ,WAAW,CAAC,GAAGY,iBAAiB;YACpDjB,OAAO,CAAChJ,WAAW,CAACsJ,gBAAgB,CAAC,GAAGU,kBAAkB;YAC1DhB,OAAO,CAAChJ,WAAW,CAAC8G,cAAc,CAAC,GACjCG,KAAK,CAACsB,MAAM,CAACvI,WAAW,CAAC8G,cAAc,CAAC;YAC1CkC,OAAO,CAAChJ,WAAW,CAACwJ,YAAY,CAAC,GAAG,EAAE;YACtC7H,UAAU,CAAC8H,OAAO,CAACrK,aAAa,CAACsK,aAAa,EAAEV,OAAO,CAAC;UAC1D,CAAC,MAAM;YACL,IAAIL,UAAU,KAAKvI,kBAAkB,EAAE2J,YAAY,GAAG,EAAE,CAAC,KACpD,IAAItI,QAAQ,CAAC8E,UAAU,KAAKjG,wBAAwB,EACvDyJ,YAAY,GAAG,EAAE,CAAC,KAElBA,YAAY,GAAG,MAAMvB,gBAAgB,CAACoB,cAAc,CAClD3C,KAAK,CAACsB,MAAM,CAACvI,WAAW,CAACwF,WAAW,CAAC,CAACI,KAAK,CAACiD,iBAAiB,CAC1DtD,OAAO,GACN0B,KAAK,CAACsB,MAAM,CAACvI,WAAW,CAACwF,WAAW,CAAC,CAACI,KAAK,CAC1CiD,iBAAiB,CAACtD,OAAO,GAC1B0B,KAAK,CAACsB,MAAM,CAACvI,WAAW,CAACwF,WAAW,CAAC,CAACI,KAAK,CAC1CiD,iBAAiB,EACtBF,UACF,CAAC;YAEH,IAAIoB,YAAY,IAAIA,YAAY,CAACjH,MAAM,GAAG,CAAC,EAAE;cAC3C,IAAIwF,2BAA2B,EAC7B7G,QAAQ,CAACoI,YAAY,CAACtD,UAAU,GAAGwD,YAAY,CAAC,CAAC,CAAC,CAACxD,UAAU;cAE/D,IAAIwD,YAAY,CAACjH,MAAM,KAAK,CAAC,EAAE;gBAC7B,MAAM,IAAI,CAAC4F,cAAc,CACvBlH,WAAW,EACX8G,2BAA2B,GACvB7G,QAAQ,GACR,MAAM9B,iBAAiB,CACvByI,UAAU,EACV,KAAK,EACLO,UAAU,EACVoB,YAAY,CAAC,CAAC,CAAC,CAACxD,UAAU,EAC1BjC,kBAAkB,EAClB+D,OACF,CAAC,EACHpB,KAAK,CAACsB,MAAM,EACZ5G,UAAU,EACVC,UAAU,EACV0G,2BACF,CAAC;cACH,CAAC,MAAM;gBACL,IAAIU,OAAY;gBAChBA,OAAO,GAAG;kBAAE,GAAG/B,KAAK,CAACsB;gBAAO,CAAC;gBAC7BS,OAAO,CAAChJ,WAAW,CAACiJ,UAAU,CAAC,GAAG,KAAK;gBACvCD,OAAO,CAAChJ,WAAW,CAACmJ,eAAe,CAAC,GAAGd,OAAO;gBAC9CW,OAAO,CAAChJ,WAAW,CAAC8J,OAAO,CAAC,GAAGC,YAAY;gBAC3Cf,OAAO,CAAChJ,WAAW,CAACoJ,UAAU,CAAC,GAAGxH,UAAU;gBAC5CoH,OAAO,CAAChJ,WAAW,CAAC8G,cAAc,CAAC,GACjCG,KAAK,CAACsB,MAAM,CAACvI,WAAW,CAAC8G,cAAc,CAAC;gBAC1CkC,OAAO,CAAChJ,WAAW,CAACwJ,YAAY,CAAC,GAAGb,UAAU;gBAC9ChH,UAAU,CAAC8H,OAAO,CAACrK,aAAa,CAACsK,aAAa,EAAEV,OAAO,CAAC;cAC1D;YACF,CAAC,MAAM;cACL,MAAM,IAAI,CAACN,cAAc,CACvBlH,WAAW,EACX8G,2BAA2B,GACvB7G,QAAQ,GACR,MAAM9B,iBAAiB,CACvByI,UAAU,EACV,KAAK,EACLO,UAAU,EACV,EAAE,EACFrE,kBAAkB,EAClB+D,OACF,CAAC,EACHpB,KAAK,CAACsB,MAAM,EACZ5G,UAAU,EACVC,UAAU,EACV0G,2BACF,CAAC;YACH;UACF;QACF;MACF;IACF,CAAC,CAAC,OAAOtG,KAAU,EAAE;MACnBR,WAAW,CAACU,YAAY,CAAC,KAAK,CAAC;MAC/B3C,MAAM,CAAC+B,WAAW,CAAC,CAAC,CAACW,OAAO,CAAC,OAAO,EAAE,uBAAuBD,KAAK,EAAE,CAAC;IACvE;EACF;EAEA,MAAMD,YAAYA,CAChBN,QAAa,EACbD,WAAwB,EACxBE,MAAmB,EACnBC,UAAe,EACfC,UAAoB,EACpB;IACA,IAAI;MACF,IAAIsI,QAAQ,GAAGxI,MAAM,CAACyI,WAAW;MACjC3I,WAAW,CAACU,YAAY,CAAC,IAAI,CAAC;MAE9B,IAAIN,UAAU,IAAIsI,QAAQ,IAAInH,MAAM,CAACC,IAAI,CAACkH,QAAQ,CAAC,CAACpH,MAAM,GAAG,CAAC,EAAE;QAC9D,IAAI,IAAI,CAACN,aAAa,CAAC4H,IAAI,IAAI,IAAI,CAAC/H,UAAU,CAACS,MAAM,EAAE;UAErD,MAAMuH,EAAE,GAAG,IAAI,CAAChI,UAAU,CAACiI,GAAG,CAAC,CAAC;UAChC,IAAID,EAAE,EAAE;YACN,IAAIrB,OAAY,GAAG,CAAC,CAAC;YACrB,MAAMuB,OAAO,GAAG,IAAI,CAAC/H,aAAa,CAACgI,GAAG,CAACH,EAAE,CAAC;YAC1C,IAAI,CAAC7H,aAAa,CAACiI,MAAM,CAACJ,EAAE,CAAC;YAC7B,IAAIE,OAAO,EAAE;cACXvB,OAAO,CAAChJ,WAAW,CAACwF,WAAW,CAAC,GAAG+E,OAAO;cAC1CvB,OAAO,CAAChJ,WAAW,CAAC8G,cAAc,CAAC,GAAGpF,MAAM,CAACgJ,YAAY;cACzD/I,UAAU,CAAC8H,OAAO,CAACc,OAAO,CAAC5E,MAAM,EAAEqD,OAAO,CAAC;YAC7C;UACF;QACF,CAAC,MAAM;UACLxH,WAAW,CAACU,YAAY,CAAC,KAAK,CAAC;UAC/B;UACA,IAAI,CAACyI,KAAK,CAACC,SAAS,CAAC,CAAC,IAAI,CAACC,SAAS,CAACC,uBAAuB,CAAC,CAAC;UAE9DvK,cAAc,CAACe,WAAW,CAAC,CAAC,CAACyJ,mBAAmB,GAAG,IAAI;UACvDxK,cAAc,CAACe,WAAW,CAAC,CAAC,CAAC0J,YAAY,GAAG,KAAK;UACjDzK,cAAc,CAACe,WAAW,CAAC,CAAC,CAAC2J,mBAAmB,CAAC,CAAC;UAElD,IAAIC,UAGH,GAAG;YACF9F,OAAO,EAAE,EAAE;YACXG,OAAO,EAAE;UACX,CAAC;UACD,KAAK,IAAI,CAAC4F,IAAI,EAAEC,MAAM,CAAC,IAAI,IAAI,CAACC,iBAAiB,EAAE;YACjD,MAAMC,OAAO,GACXH,IAAI,KAAK9L,eAAe,CAACkM,iBAAiB,GACtC,SAAS,GACT,SAAS;YAEf,MAAMC,WAAW,GAAG,MAAMvM,gBAAgB,CAACwM,UAAU,CACnDL,MAAM,CAAC9G,kBACT,CAAC;YAED,KAAK,MAAMoH,OAAO,IAAIF,WAAW,EAAE;cAAA,IAAAG,mBAAA;cACjC,MAAM9D,MAAM,GACV,MAAMjI,mBAAmB,CAAC0B,WAAW,CAAC,CAAC,CAACwG,eAAe,CACrD4D,OAAO,CAACE,cACV,CAAC;cAEH,CAAAD,mBAAA,GAAAT,UAAU,CAACI,OAAO,CAAC,cAAAK,mBAAA,eAAnBA,mBAAA,CAAqBtG,IAAI,CAAC;gBACxB+C,UAAU,EAAEsD,OAAO,CAACG,cAAc;gBAClCvF,SAAS,EAAEoF,OAAO,CAACI,aAAa;gBAChCvF,UAAU,EAAEmF,OAAO,CAACE,cAAc;gBAClC7D,cAAc,EAAEF,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEG;cAC1B,CAAC,CAAC;YACJ;UACF;UACA,IAAI,IAAI,CAACqD,iBAAiB,CAACb,GAAG,CAACnL,eAAe,CAACkM,iBAAiB,CAAC,EAAE;YACjE,IAAI,CAACF,iBAAiB,CAACU,KAAK,CAAC,CAAC;YAC9B,IAAI,CAACvJ,aAAa,CAACuJ,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC1J,UAAU,GAAG,EAAE;YAEpBtB,eAAe,CAACW,MAAM,CAACgJ,YAAY,CAACtG,yBAAyB,CAAC;YAC9DtD,sBAAsB,CAACY,MAAM,CAACyI,WAAW,CAAC7F,kBAAkB,CAAC;YAC7D3C,UAAU,CAACqK,QAAQ,CACjB/K,aAAa,CAACgL,KAAK,CAAC;cAClBhG,KAAK,EAAE,CAAC;cACRiG,MAAM,EAAE,CACN;gBACEjE,IAAI,EAAE,IAAI,CAACd,eAAe,CAAC,CAAC;gBAC5BoB,MAAM,EAAE;kBACN4D,OAAO,EAAEjB,UAAU;kBACnBkB,UAAU,EAAE;gBACd;cACF,CAAC;YAEL,CAAC,CACH,CAAC;UACH,CAAC,MAAM;YACL,IAAI,CAACf,iBAAiB,CAACU,KAAK,CAAC,CAAC;YAC9B,IAAI,CAACvJ,aAAa,CAACuJ,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC1J,UAAU,GAAG,EAAE;YAEpBtB,eAAe,CAACW,MAAM,CAACgJ,YAAY,CAACtG,yBAAyB,CAAC;YAC9DtD,sBAAsB,CAACY,MAAM,CAACyI,WAAW,CAAC7F,kBAAkB,CAAC;YAC7D3C,UAAU,CAACqK,QAAQ,CACjB/K,aAAa,CAACgL,KAAK,CAAC;cAClBhG,KAAK,EAAE,CAAC;cACRiG,MAAM,EAAE,CACN;gBACEjE,IAAI,EAAE,IAAI,CAACX,eAAe,CAAC,CAAC;gBAC5BiB,MAAM,EAAE;kBACN4D,OAAO,EAAEjB,UAAU;kBACnBkB,UAAU,EAAE;gBACd;cACF,CAAC;YAEL,CAAC,CACH,CAAC;UACH;QACF;MACF,CAAC,MAAM;QACL,IAAIpD,OAAY,GAAG,CAAC,CAAC;QAErB,IAAIqD,kBAA2D,GAC7D,MAAM,IAAI,CAACvI,WAAW,CACpBpC,MAAM,CAACyI,WAAW,CAAC7F,kBAAkB,EACrC5C,MAAM,CAACgJ,YAAY,CAAC1G,YACtB,CAAC;QAEH,MAAMsI,iBAAiB,GAAGD,kBAAkB,CAACE,KAAK,CAC/CC,MAAM,IACLA,MAAM,CAAC7G,MAAM,KAAKtG,eAAe,CAACkM,iBAAiB,IACnDiB,MAAM,CAAC7G,MAAM,KAAKtG,eAAe,CAACoN,iBACtC,CAAC;QAED,IAAIH,iBAAiB,EAAE;UACrB,IAAID,kBAAkB,CAACvJ,MAAM,KAAK,CAAC,EAAE;YACnC;YACA,IAAI,CAACN,aAAa,CAACkK,GAAG,CACpBL,kBAAkB,CAAC,CAAC,CAAC,CAAC1G,MAAM,EAC5B0G,kBAAkB,CAAC,CAAC,CACtB,CAAC;YACD,IAAI,CAAChK,UAAU,CAACgD,IAAI,CAACgH,kBAAkB,CAAC,CAAC,CAAC,CAAC1G,MAAM,CAAC;UACpD;UACA0G,kBAAkB,CAACzH,OAAO,CAAE+H,IAAI,IAAK;YACnC,IACEA,IAAI,CAAChH,MAAM,KAAKtG,eAAe,CAACkM,iBAAiB,IACjDoB,IAAI,CAAChH,MAAM,KAAKtG,eAAe,CAACoN,iBAAiB,EAEjD,IAAI,CAACpB,iBAAiB,CAACqB,GAAG,CAACC,IAAI,CAAChH,MAAM,EAAEgH,IAAI,CAAC;UACjD,CAAC,CAAC;QACJ;QACA,MAAMC,aAAa,GAAGP,kBAAkB,CAAC,CAAC,CAAC;QAE3C7K,WAAW,CAACU,YAAY,CAAC,KAAK,CAAC;QAC/B,IAAI0K,aAAa,IAAI,IAAI,IAAI7J,MAAM,CAACC,IAAI,CAAC4J,aAAa,CAAC,CAAC9J,MAAM,GAAG,CAAC,EAAE;UAClEkG,OAAO,CAAChJ,WAAW,CAACwF,WAAW,CAAC,GAAGoH,aAAa;UAEhD5D,OAAO,CAAChJ,WAAW,CAAC8G,cAAc,CAAC,GAAGpF,MAAM,CAACgJ,YAAY;;UAEzD;AACV;AACA;UACU,IAAI,CAAC9I,UAAU,EAAE;YAAA,IAAAiL,qBAAA;YACf,MAAMC,eAAyB,GAAG;cAChCC,IAAI,EAAE,CAAAtL,QAAQ,aAARA,QAAQ,gBAAAoL,qBAAA,GAARpL,QAAQ,CAAEoI,YAAY,cAAAgD,qBAAA,uBAAtBA,qBAAA,CAAwBE,IAAI,MAAItL,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEsL,IAAI,KAAI,CAAC,CAAC;cAC1DC,MAAM,EAAEvL,QAAQ;cAChBkE,MAAM,EAAEuE,QAAQ,CAACvE,MAAM;cACvBsH,UAAU,EAAE,EAAE;cACdC,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC;cACrBC,UAAU,EAAErE,OAAO,CAAChJ,WAAW,CAAC8G,cAAc,CAAC,CAACwG;YAClD,CAAC;YAEDR,eAAe,CAACG,UAAU,GAAGL,aAAa,CAACjH,MAAM;YACjDmH,eAAe,CAACE,MAAM,CAAC1G,SAAS,KAAKlG,kBAAkB,GACnDF,aAAa,CAAC,KAAK,EAAEgK,QAAQ,CAACzE,QAAQ,EAAEqH,eAAe,CAAC,GACxD5M,aAAa,CAAC,MAAM,EAAEgK,QAAQ,CAACzE,QAAQ,EAAEqH,eAAe,CAAC;UAC/D;QACF;QAEAnL,UAAU,CAAC8H,OAAO,CAACmD,aAAa,CAACjH,MAAM,EAAEqD,OAAO,CAAC;MACnD;IACF,CAAC,CAAC,OAAOhH,KAAU,EAAE;MACnBR,WAAW,CAACU,YAAY,CAAC,KAAK,CAAC;MAC/B3C,MAAM,CAAC+B,WAAW,CAAC,CAAC,CAACW,OAAO,CAAC,OAAO,EAAE,iBAAiBD,KAAK,EAAE,CAAC;IACjE;EACF;EA6BA,MAAa0G,cAAcA,CACzBlH,WAAwB,EACxBC,QAAa,EACbC,MAAmB,EACnBC,UAAe,EACfC,UAAoB,EACpBC,4BAAsC,EACtC;IACAL,WAAW,CAACU,YAAY,CAAC,IAAI,CAAC;IAC9B,MAAM,IAAI,CAACqL,sBAAsB,CAC/B/L,WAAW,EACXC,QAAQ,EACRC,MAAM,EACNC,UAAU,EACVC,UAAU,EACVC,4BACF,CAAC;EACH;AACF;AAAC2L,uBAAA,GAnyBoBtM,sBAAsB;AAAAE,eAAA,CAAtBF,sBAAsB","ignoreList":[]}
@@ -74,6 +74,7 @@ export class DispatchSDKManager {
74
74
  eventBulkSyncCallback: pushBulkEventForSync
75
75
  }, sdkConfig.debugLevelLog ? 'debug' : 'emerg');
76
76
  AppSyncManager.getInstance().startSDKSyncManager();
77
+ Logger.getInstance().logCora("Info", "Dispatch SDK Initialized");
77
78
  }
78
79
  removeLocationUpdates() {
79
80
  LocationManager.getInstance().stopLocationUpdates();
@@ -1 +1 @@
1
- {"version":3,"names":["DispatchSdkCache","LocationManager","AppSyncManager","Logger","ReasonCodeContainer","GraphQLClient","isMandatoryKeysPresent","isTokenExpired","BaseError","ErrorCodes","SdkUtils","Sentry","EventCodeRepo","Storage","pushBulkEventForSync","callbackHandler","DispatchExecutor","dispatchExecutor","MAX_RETRY_COUNT","DispatchSDKManager","constructor","_defineProperty","getInstance","KEYS","instance","initDispatchSDK","sdkConfig","_sdkConfig$sentry","_sdkConfig$callbacks","_sdkConfig$callbacks2","_sdkConfig$callbacks3","_sdkConfig$callbacks4","InvalidArgumentError","accessToken","ACCESS_TOKEN_EXPIRED","sentry","enabled","init","enableNative","environment","env","dsn","tracesSampleRate","checkMandatory","cache","setObjectInCache","keys","SDK_CONFIG","tenantBaseURL","initAppSync","syncRetryCount","startUpdates","eventMapping","saveEventCode","fetchReasonCode","setLogging","enableLogging","storage","callbacks","fetchPhoneNumbersCallback","fetchDateTimeCallback","tokenRefreshCallback","fetchSDSEmailAndPhoneNumbersCallback","_sdkConfig$callbacks5","storeMultipleKeysCallback","setSharedItems","readMultipleKeysCallback","getSharedItems","deleteMultipleKeysCallback","removeSharedItems","eventBulkSyncCallback","debugLevelLog","startSDKSyncManager","removeLocationUpdates","stopLocationUpdates","_DispatchSDKManager"],"sources":["DispatchSDKManager.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport DispatchSdkCache from './DispatchSdkCache';\nimport LocationManager from '../location/LocationManager';\nimport AppSyncManager from '../syncmanager/AppSyncManager';\nimport Logger from '../../utils/Logger';\nimport ReasonCodeContainer from '../dispatchCodes/ReasonCodeContainer';\nimport GraphQLClient from '../../network/GraphQLClient';\nimport { isMandatoryKeysPresent, isTokenExpired } from '../../utils/utils';\nimport { BaseError } from '../../errors/BaseError';\nimport ErrorCodes from '../../errors/ErrorCodes';\nimport SdkUtils from '../../utils/SdkUtils';\nimport * as Sentry from '@sentry/react-native';\nimport type { DispatchSDKConfig } from '../../models/sdk';\nimport EventCodeRepo from '../dispatchCodes/EventCodeRepo';\nimport Storage from '../../utils/storage';\nimport { pushBulkEventForSync } from '../../utils/SyncManagerUtils';\nimport callbackHandler from './callbacksHandler';\nimport { DispatchExecutor as dispatchExecutor } from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport { MAX_RETRY_COUNT } from '../syncmanager/constants';\n\nexport class DispatchSDKManager {\n private static instance: DispatchSDKManager;\n private cache: DispatchSdkCache = DispatchSdkCache.getInstance();\n private keys = DispatchSdkCache.KEYS;\n\n private constructor() {}\n\n public static getInstance(): DispatchSDKManager {\n if (!DispatchSDKManager.instance) {\n DispatchSDKManager.instance = new DispatchSDKManager();\n }\n return DispatchSDKManager.instance;\n }\n\n /**\n * Call this init method with username,userID & authentication tokens\n * @param sdkConfig\n */\n public async initDispatchSDK(sdkConfig: DispatchSDKConfig) {\n if (\n !isMandatoryKeysPresent(sdkConfig, [\n 'tenantID',\n 'userID',\n 'userName',\n 'tenantBaseURL',\n 'domain',\n 'accessToken',\n ])\n ) {\n throw new BaseError(\n ErrorCodes.InvalidArgumentError,\n 'Invalid/Missing Argument Passed in SdkConfig'\n );\n }\n if (isTokenExpired(sdkConfig.accessToken)) {\n throw new BaseError(\n ErrorCodes.ACCESS_TOKEN_EXPIRED,\n 'JWT Token Expired!'\n );\n }\n if (sdkConfig.sentry && sdkConfig.sentry?.enabled) {\n Sentry.init({\n enableNative: true,\n environment: sdkConfig.sentry.env,\n dsn: sdkConfig.sentry.dsn,\n tracesSampleRate: 1.0,\n });\n }\n await SdkUtils.checkMandatory();\n await this.cache.setObjectInCache(this.keys.SDK_CONFIG, sdkConfig);\n GraphQLClient.init(sdkConfig.tenantBaseURL);\n AppSyncManager.initAppSync(\n sdkConfig.tenantBaseURL,\n sdkConfig.syncRetryCount ?? MAX_RETRY_COUNT\n );\n LocationManager.getInstance().startUpdates();\n if (sdkConfig.eventMapping) {\n EventCodeRepo.getInstance().saveEventCode(sdkConfig.eventMapping);\n }\n await ReasonCodeContainer.getInstance().fetchReasonCode();\n Logger.getInstance().setLogging(sdkConfig.enableLogging ?? true, sdkConfig);\n let storage = Storage.getInstance();\n\n if (\n sdkConfig.callbacks?.fetchPhoneNumbersCallback &&\n sdkConfig?.callbacks?.fetchDateTimeCallback &&\n sdkConfig?.callbacks?.tokenRefreshCallback &&\n sdkConfig?.callbacks?.fetchSDSEmailAndPhoneNumbersCallback\n ) {\n await callbackHandler.init(\n sdkConfig.callbacks.fetchPhoneNumbersCallback,\n sdkConfig.callbacks.fetchDateTimeCallback,\n sdkConfig.callbacks.tokenRefreshCallback,\n sdkConfig?.callbacks?.fetchSDSEmailAndPhoneNumbersCallback\n );\n }\n await dispatchExecutor.init(\n {\n storeMultipleKeysCallback: storage.setSharedItems,\n readMultipleKeysCallback: storage.getSharedItems,\n deleteMultipleKeysCallback: storage.removeSharedItems,\n eventBulkSyncCallback: pushBulkEventForSync,\n },\n sdkConfig.debugLevelLog ? 'debug' : 'emerg'\n );\n AppSyncManager.getInstance().startSDKSyncManager();\n }\n\n public removeLocationUpdates() {\n LocationManager.getInstance().stopLocationUpdates();\n }\n}\n"],"mappings":";;;;AAAA;AACA,OAAOA,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,eAAe,MAAM,6BAA6B;AACzD,OAAOC,cAAc,MAAM,+BAA+B;AAC1D,OAAOC,MAAM,MAAM,oBAAoB;AACvC,OAAOC,mBAAmB,MAAM,sCAAsC;AACtE,OAAOC,aAAa,MAAM,6BAA6B;AACvD,SAASC,sBAAsB,EAAEC,cAAc,QAAQ,mBAAmB;AAC1E,SAASC,SAAS,QAAQ,wBAAwB;AAClD,OAAOC,UAAU,MAAM,yBAAyB;AAChD,OAAOC,QAAQ,MAAM,sBAAsB;AAC3C,OAAO,KAAKC,MAAM,MAAM,sBAAsB;AAE9C,OAAOC,aAAa,MAAM,gCAAgC;AAC1D,OAAOC,OAAO,MAAM,qBAAqB;AACzC,SAASC,oBAAoB,QAAQ,8BAA8B;AACnE,OAAOC,eAAe,MAAM,oBAAoB;AAChD,SAASC,gBAAgB,IAAIC,gBAAgB,QAAQ,oDAAoD;AACzG,SAASC,eAAe,QAAQ,0BAA0B;AAE1D,OAAO,MAAMC,kBAAkB,CAAC;EAKtBC,WAAWA,CAAA,EAAG;IAAAC,eAAA,gBAHYrB,gBAAgB,CAACsB,WAAW,CAAC,CAAC;IAAAD,eAAA,eACjDrB,gBAAgB,CAACuB,IAAI;EAEb;EAEvB,OAAcD,WAAWA,CAAA,EAAuB;IAC9C,IAAI,CAACH,kBAAkB,CAACK,QAAQ,EAAE;MAChCL,kBAAkB,CAACK,QAAQ,GAAG,IAAIL,kBAAkB,CAAC,CAAC;IACxD;IACA,OAAOA,kBAAkB,CAACK,QAAQ;EACpC;;EAEA;AACF;AACA;AACA;EACE,MAAaC,eAAeA,CAACC,SAA4B,EAAE;IAAA,IAAAC,iBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA;IACzD,IACE,CAACzB,sBAAsB,CAACoB,SAAS,EAAE,CACjC,UAAU,EACV,QAAQ,EACR,UAAU,EACV,eAAe,EACf,QAAQ,EACR,aAAa,CACd,CAAC,EACF;MACA,MAAM,IAAIlB,SAAS,CACjBC,UAAU,CAACuB,oBAAoB,EAC/B,8CACF,CAAC;IACH;IACA,IAAIzB,cAAc,CAACmB,SAAS,CAACO,WAAW,CAAC,EAAE;MACzC,MAAM,IAAIzB,SAAS,CACjBC,UAAU,CAACyB,oBAAoB,EAC/B,oBACF,CAAC;IACH;IACA,IAAIR,SAAS,CAACS,MAAM,KAAAR,iBAAA,GAAID,SAAS,CAACS,MAAM,cAAAR,iBAAA,eAAhBA,iBAAA,CAAkBS,OAAO,EAAE;MACjDzB,MAAM,CAAC0B,IAAI,CAAC;QACVC,YAAY,EAAE,IAAI;QAClBC,WAAW,EAAEb,SAAS,CAACS,MAAM,CAACK,GAAG;QACjCC,GAAG,EAAEf,SAAS,CAACS,MAAM,CAACM,GAAG;QACzBC,gBAAgB,EAAE;MACpB,CAAC,CAAC;IACJ;IACA,MAAMhC,QAAQ,CAACiC,cAAc,CAAC,CAAC;IAC/B,MAAM,IAAI,CAACC,KAAK,CAACC,gBAAgB,CAAC,IAAI,CAACC,IAAI,CAACC,UAAU,EAAErB,SAAS,CAAC;IAClErB,aAAa,CAACgC,IAAI,CAACX,SAAS,CAACsB,aAAa,CAAC;IAC3C9C,cAAc,CAAC+C,WAAW,CACxBvB,SAAS,CAACsB,aAAa,EACvBtB,SAAS,CAACwB,cAAc,IAAIhC,eAC9B,CAAC;IACDjB,eAAe,CAACqB,WAAW,CAAC,CAAC,CAAC6B,YAAY,CAAC,CAAC;IAC5C,IAAIzB,SAAS,CAAC0B,YAAY,EAAE;MAC1BxC,aAAa,CAACU,WAAW,CAAC,CAAC,CAAC+B,aAAa,CAAC3B,SAAS,CAAC0B,YAAY,CAAC;IACnE;IACA,MAAMhD,mBAAmB,CAACkB,WAAW,CAAC,CAAC,CAACgC,eAAe,CAAC,CAAC;IACzDnD,MAAM,CAACmB,WAAW,CAAC,CAAC,CAACiC,UAAU,CAAC7B,SAAS,CAAC8B,aAAa,IAAI,IAAI,EAAE9B,SAAS,CAAC;IAC3E,IAAI+B,OAAO,GAAG5C,OAAO,CAACS,WAAW,CAAC,CAAC;IAEnC,IACE,CAAAM,oBAAA,GAAAF,SAAS,CAACgC,SAAS,cAAA9B,oBAAA,eAAnBA,oBAAA,CAAqB+B,yBAAyB,IAC9CjC,SAAS,aAATA,SAAS,gBAAAG,qBAAA,GAATH,SAAS,CAAEgC,SAAS,cAAA7B,qBAAA,eAApBA,qBAAA,CAAsB+B,qBAAqB,IAC3ClC,SAAS,aAATA,SAAS,gBAAAI,qBAAA,GAATJ,SAAS,CAAEgC,SAAS,cAAA5B,qBAAA,eAApBA,qBAAA,CAAsB+B,oBAAoB,IAC1CnC,SAAS,aAATA,SAAS,gBAAAK,qBAAA,GAATL,SAAS,CAAEgC,SAAS,cAAA3B,qBAAA,eAApBA,qBAAA,CAAsB+B,oCAAoC,EAC1D;MAAA,IAAAC,qBAAA;MACA,MAAMhD,eAAe,CAACsB,IAAI,CACxBX,SAAS,CAACgC,SAAS,CAACC,yBAAyB,EAC7CjC,SAAS,CAACgC,SAAS,CAACE,qBAAqB,EACzClC,SAAS,CAACgC,SAAS,CAACG,oBAAoB,EACxCnC,SAAS,aAATA,SAAS,gBAAAqC,qBAAA,GAATrC,SAAS,CAAEgC,SAAS,cAAAK,qBAAA,uBAApBA,qBAAA,CAAsBD,oCACxB,CAAC;IACH;IACA,MAAM7C,gBAAgB,CAACoB,IAAI,CACzB;MACE2B,yBAAyB,EAAEP,OAAO,CAACQ,cAAc;MACjDC,wBAAwB,EAAET,OAAO,CAACU,cAAc;MAChDC,0BAA0B,EAAEX,OAAO,CAACY,iBAAiB;MACrDC,qBAAqB,EAAExD;IACzB,CAAC,EACDY,SAAS,CAAC6C,aAAa,GAAG,OAAO,GAAG,OACtC,CAAC;IACDrE,cAAc,CAACoB,WAAW,CAAC,CAAC,CAACkD,mBAAmB,CAAC,CAAC;EACpD;EAEOC,qBAAqBA,CAAA,EAAG;IAC7BxE,eAAe,CAACqB,WAAW,CAAC,CAAC,CAACoD,mBAAmB,CAAC,CAAC;EACrD;AACF;AAACC,mBAAA,GA3FYxD,kBAAkB;AAAAE,eAAA,CAAlBF,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["DispatchSdkCache","LocationManager","AppSyncManager","Logger","ReasonCodeContainer","GraphQLClient","isMandatoryKeysPresent","isTokenExpired","BaseError","ErrorCodes","SdkUtils","Sentry","EventCodeRepo","Storage","pushBulkEventForSync","callbackHandler","DispatchExecutor","dispatchExecutor","MAX_RETRY_COUNT","DispatchSDKManager","constructor","_defineProperty","getInstance","KEYS","instance","initDispatchSDK","sdkConfig","_sdkConfig$sentry","_sdkConfig$callbacks","_sdkConfig$callbacks2","_sdkConfig$callbacks3","_sdkConfig$callbacks4","InvalidArgumentError","accessToken","ACCESS_TOKEN_EXPIRED","sentry","enabled","init","enableNative","environment","env","dsn","tracesSampleRate","checkMandatory","cache","setObjectInCache","keys","SDK_CONFIG","tenantBaseURL","initAppSync","syncRetryCount","startUpdates","eventMapping","saveEventCode","fetchReasonCode","setLogging","enableLogging","storage","callbacks","fetchPhoneNumbersCallback","fetchDateTimeCallback","tokenRefreshCallback","fetchSDSEmailAndPhoneNumbersCallback","_sdkConfig$callbacks5","storeMultipleKeysCallback","setSharedItems","readMultipleKeysCallback","getSharedItems","deleteMultipleKeysCallback","removeSharedItems","eventBulkSyncCallback","debugLevelLog","startSDKSyncManager","logCora","removeLocationUpdates","stopLocationUpdates","_DispatchSDKManager"],"sources":["DispatchSDKManager.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport DispatchSdkCache from './DispatchSdkCache';\nimport LocationManager from '../location/LocationManager';\nimport AppSyncManager from '../syncmanager/AppSyncManager';\nimport Logger from '../../utils/Logger';\nimport ReasonCodeContainer from '../dispatchCodes/ReasonCodeContainer';\nimport GraphQLClient from '../../network/GraphQLClient';\nimport { isMandatoryKeysPresent, isTokenExpired } from '../../utils/utils';\nimport { BaseError } from '../../errors/BaseError';\nimport ErrorCodes from '../../errors/ErrorCodes';\nimport SdkUtils from '../../utils/SdkUtils';\nimport * as Sentry from '@sentry/react-native';\nimport type { DispatchSDKConfig } from '../../models/sdk';\nimport EventCodeRepo from '../dispatchCodes/EventCodeRepo';\nimport Storage from '../../utils/storage';\nimport { pushBulkEventForSync } from '../../utils/SyncManagerUtils';\nimport callbackHandler from './callbacksHandler';\nimport { DispatchExecutor as dispatchExecutor } from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport { MAX_RETRY_COUNT } from '../syncmanager/constants';\n\nexport class DispatchSDKManager {\n private static instance: DispatchSDKManager;\n private cache: DispatchSdkCache = DispatchSdkCache.getInstance();\n private keys = DispatchSdkCache.KEYS;\n\n private constructor() { }\n\n public static getInstance(): DispatchSDKManager {\n if (!DispatchSDKManager.instance) {\n DispatchSDKManager.instance = new DispatchSDKManager();\n }\n return DispatchSDKManager.instance;\n }\n\n /**\n * Call this init method with username,userID & authentication tokens\n * @param sdkConfig\n */\n public async initDispatchSDK(sdkConfig: DispatchSDKConfig) {\n if (\n !isMandatoryKeysPresent(sdkConfig, [\n 'tenantID',\n 'userID',\n 'userName',\n 'tenantBaseURL',\n 'domain',\n 'accessToken',\n ])\n ) {\n throw new BaseError(\n ErrorCodes.InvalidArgumentError,\n 'Invalid/Missing Argument Passed in SdkConfig'\n );\n }\n if (isTokenExpired(sdkConfig.accessToken)) {\n throw new BaseError(\n ErrorCodes.ACCESS_TOKEN_EXPIRED,\n 'JWT Token Expired!'\n );\n }\n if (sdkConfig.sentry && sdkConfig.sentry?.enabled) {\n Sentry.init({\n enableNative: true,\n environment: sdkConfig.sentry.env,\n dsn: sdkConfig.sentry.dsn,\n tracesSampleRate: 1.0,\n });\n }\n await SdkUtils.checkMandatory();\n await this.cache.setObjectInCache(this.keys.SDK_CONFIG, sdkConfig);\n GraphQLClient.init(sdkConfig.tenantBaseURL);\n AppSyncManager.initAppSync(\n sdkConfig.tenantBaseURL,\n sdkConfig.syncRetryCount ?? MAX_RETRY_COUNT\n );\n LocationManager.getInstance().startUpdates();\n if (sdkConfig.eventMapping) {\n EventCodeRepo.getInstance().saveEventCode(sdkConfig.eventMapping);\n }\n await ReasonCodeContainer.getInstance().fetchReasonCode();\n Logger.getInstance().setLogging(sdkConfig.enableLogging ?? true, sdkConfig);\n let storage = Storage.getInstance();\n\n if (\n sdkConfig.callbacks?.fetchPhoneNumbersCallback &&\n sdkConfig?.callbacks?.fetchDateTimeCallback &&\n sdkConfig?.callbacks?.tokenRefreshCallback &&\n sdkConfig?.callbacks?.fetchSDSEmailAndPhoneNumbersCallback\n ) {\n await callbackHandler.init(\n sdkConfig.callbacks.fetchPhoneNumbersCallback,\n sdkConfig.callbacks.fetchDateTimeCallback,\n sdkConfig.callbacks.tokenRefreshCallback,\n sdkConfig?.callbacks?.fetchSDSEmailAndPhoneNumbersCallback\n );\n }\n await dispatchExecutor.init(\n {\n storeMultipleKeysCallback: storage.setSharedItems,\n readMultipleKeysCallback: storage.getSharedItems,\n deleteMultipleKeysCallback: storage.removeSharedItems,\n eventBulkSyncCallback: pushBulkEventForSync,\n },\n sdkConfig.debugLevelLog ? 'debug' : 'emerg'\n );\n AppSyncManager.getInstance().startSDKSyncManager();\n Logger.getInstance().logCora(\"Info\", \"Dispatch SDK Initialized\");\n }\n\n public removeLocationUpdates() {\n LocationManager.getInstance().stopLocationUpdates();\n }\n}\n"],"mappings":"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","ignoreList":[]}