@corva/ui 3.79.0-1 → 3.79.0-10

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 (452) hide show
  1. package/cjs-bundle/clients/api/apiCore.js +1 -1
  2. package/cjs-bundle/clients/api/apiCore.js.map +1 -1
  3. package/cjs-bundle/clients/subscriptions/socket-client.v2.js +1 -1
  4. package/cjs-bundle/clients/subscriptions/socket-client.v2.js.map +1 -1
  5. package/cjs-bundle/clients/subscriptions/subscriptions-auth-recovery.js +2 -0
  6. package/cjs-bundle/clients/subscriptions/subscriptions-auth-recovery.js.map +1 -0
  7. package/cjs-bundle/clients/subscriptions/subscriptions-client.dummy.js +1 -1
  8. package/cjs-bundle/clients/subscriptions/subscriptions-client.dummy.js.map +1 -1
  9. package/cjs-bundle/clients/subscriptions/subscriptions-client.factory.js +1 -1
  10. package/cjs-bundle/clients/subscriptions/subscriptions-client.factory.js.map +1 -1
  11. package/cjs-bundle/clients/subscriptions/subscriptions-client.js +1 -1
  12. package/cjs-bundle/clients/subscriptions/subscriptions-client.js.map +1 -1
  13. package/cjs-bundle/components/AddComment/Popover.js +1 -1
  14. package/cjs-bundle/components/AddComment/Popover.js.map +1 -1
  15. package/cjs-bundle/components/AddComment/components/Content.js +1 -1
  16. package/cjs-bundle/components/AddComment/components/Content.js.map +1 -1
  17. package/cjs-bundle/components/AssetEditor/AssetEditorAutocomplete.js +1 -1
  18. package/cjs-bundle/components/AssetEditor/AssetEditorAutocomplete.js.map +1 -1
  19. package/cjs-bundle/components/AssetEditorV2/components/MultipleAssetsToggle.js +1 -1
  20. package/cjs-bundle/components/AssetEditorV2/components/MultipleAssetsToggle.js.map +1 -1
  21. package/cjs-bundle/components/AssetEditorV2/components/SelectItem.js +1 -1
  22. package/cjs-bundle/components/AssetEditorV2/components/SelectItem.js.map +1 -1
  23. package/cjs-bundle/components/BICOffsetPickerDialog/components/WellSection/AssetSearch.js +1 -1
  24. package/cjs-bundle/components/BICOffsetPickerDialog/components/WellSection/AssetSearch.js.map +1 -1
  25. package/cjs-bundle/components/BICOffsetPickerDialog/components/WellSection/SectionItem.js +1 -1
  26. package/cjs-bundle/components/BICOffsetPickerDialog/components/WellSection/SectionItem.js.map +1 -1
  27. package/cjs-bundle/components/BICOffsetPickerDialog/components/WellSection/index.js +1 -1
  28. package/cjs-bundle/components/BICOffsetPickerDialog/components/WellSection/index.js.map +1 -1
  29. package/cjs-bundle/components/BICOffsetPickerDialog/index.js +1 -1
  30. package/cjs-bundle/components/BICOffsetPickerDialog/index.js.map +1 -1
  31. package/cjs-bundle/components/Casing/CasingTable/CasingComponent.js +1 -1
  32. package/cjs-bundle/components/Casing/CasingTable/CasingComponent.js.map +1 -1
  33. package/cjs-bundle/components/Casing/CasingTableV2/components/CasingJoints/Editor.js +1 -1
  34. package/cjs-bundle/components/Casing/CasingTableV2/components/CasingJoints/Editor.js.map +1 -1
  35. package/cjs-bundle/components/Casing/CasingTableV2/components/Component.js +1 -1
  36. package/cjs-bundle/components/Casing/CasingTableV2/components/Component.js.map +1 -1
  37. package/cjs-bundle/components/Casing/CasingTableV2/components/DrillPipe/Editor.js +1 -1
  38. package/cjs-bundle/components/Casing/CasingTableV2/components/DrillPipe/Editor.js.map +1 -1
  39. package/cjs-bundle/components/Casing/CasingTableV2/components/EditComponentDialog.js +1 -1
  40. package/cjs-bundle/components/Casing/CasingTableV2/components/EditComponentDialog.js.map +1 -1
  41. package/cjs-bundle/components/CollapsableSidebar.js +1 -1
  42. package/cjs-bundle/components/CollapsableSidebar.js.map +1 -1
  43. package/cjs-bundle/components/CommentComposer/CommentReplyInput.js +1 -1
  44. package/cjs-bundle/components/CommentComposer/CommentReplyInput.js.map +1 -1
  45. package/cjs-bundle/components/CommentComposer/replyDrafts.js +2 -0
  46. package/cjs-bundle/components/CommentComposer/replyDrafts.js.map +1 -0
  47. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js +1 -1
  48. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js.map +1 -1
  49. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/SettingsAccordion.js +1 -1
  50. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/SettingsAccordion.js.map +1 -1
  51. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/FullscreenButton/FullscreenButton.js +1 -1
  52. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/FullscreenButton/FullscreenButton.js.map +1 -1
  53. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js +1 -1
  54. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js.map +1 -1
  55. package/cjs-bundle/components/DocumentViewer/DocumentViewer.js +1 -1
  56. package/cjs-bundle/components/DocumentViewer/DocumentViewer.js.map +1 -1
  57. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js +1 -1
  58. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js.map +1 -1
  59. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js +1 -1
  60. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js.map +1 -1
  61. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
  62. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Component.js.map +1 -1
  63. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js +1 -1
  64. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js.map +1 -1
  65. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js +1 -1
  66. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js.map +1 -1
  67. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/EditComponentDialog.js +1 -1
  68. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/EditComponentDialog.js.map +1 -1
  69. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js +1 -1
  70. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js.map +1 -1
  71. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js +1 -1
  72. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js.map +1 -1
  73. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js +1 -1
  74. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js.map +1 -1
  75. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js +1 -1
  76. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js.map +1 -1
  77. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js +1 -1
  78. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js.map +1 -1
  79. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js +1 -1
  80. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js.map +1 -1
  81. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js +1 -1
  82. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js.map +1 -1
  83. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js +1 -1
  84. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js.map +1 -1
  85. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/CancelButton.js +1 -1
  86. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/CancelButton.js.map +1 -1
  87. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js +1 -1
  88. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js.map +1 -1
  89. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ExpandCollapseButton.js +1 -1
  90. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ExpandCollapseButton.js.map +1 -1
  91. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/MoreButton.js +1 -1
  92. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/MoreButton.js.map +1 -1
  93. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/SaveButton.js +1 -1
  94. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/SaveButton.js.map +1 -1
  95. package/cjs-bundle/components/Drillstring/BHATable/BHAComponent.js +1 -1
  96. package/cjs-bundle/components/Drillstring/BHATable/BHAComponent.js.map +1 -1
  97. package/cjs-bundle/components/FeedCard/useActivityInteractions.js +1 -1
  98. package/cjs-bundle/components/FeedCard/useActivityInteractions.js.map +1 -1
  99. package/cjs-bundle/components/FeedCard/useFeedActivity.js +1 -1
  100. package/cjs-bundle/components/FeedCard/useFeedActivity.js.map +1 -1
  101. package/cjs-bundle/components/FeedItem/FeedItem.js +1 -1
  102. package/cjs-bundle/components/FeedItem/FeedItem.js.map +1 -1
  103. package/cjs-bundle/components/IconMenu/index.js +1 -1
  104. package/cjs-bundle/components/IconMenu/index.js.map +1 -1
  105. package/cjs-bundle/components/OffsetWellChips/Chip.js +1 -1
  106. package/cjs-bundle/components/OffsetWellChips/Chip.js.map +1 -1
  107. package/cjs-bundle/components/OffsetWellMap/OffsetWellMap.js +1 -1
  108. package/cjs-bundle/components/OffsetWellMap/OffsetWellMap.js.map +1 -1
  109. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/NonEngineeredWellsSwitch.js +1 -1
  110. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/NonEngineeredWellsSwitch.js.map +1 -1
  111. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleFiltersButton.js +1 -1
  112. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleFiltersButton.js.map +1 -1
  113. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
  114. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js.map +1 -1
  115. package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
  116. package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js.map +1 -1
  117. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Filter/index.js +1 -1
  118. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Filter/index.js.map +1 -1
  119. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/AssetSearch.js +1 -1
  120. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/AssetSearch.js.map +1 -1
  121. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js +1 -1
  122. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js.map +1 -1
  123. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/index.js +1 -1
  124. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/index.js.map +1 -1
  125. package/cjs-bundle/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js +1 -1
  126. package/cjs-bundle/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js.map +1 -1
  127. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js +1 -1
  128. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js.map +1 -1
  129. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/index.js +1 -1
  130. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/index.js.map +1 -1
  131. package/cjs-bundle/components/OffsetWellPickerV3/components/WellHubView/index.js +1 -1
  132. package/cjs-bundle/components/OffsetWellPickerV3/components/WellHubView/index.js.map +1 -1
  133. package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
  134. package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js.map +1 -1
  135. package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableRows.js +1 -1
  136. package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableRows.js.map +1 -1
  137. package/cjs-bundle/components/OffsetWellPickerV3/index.js +1 -1
  138. package/cjs-bundle/components/OffsetWellPickerV3/index.js.map +1 -1
  139. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js +1 -1
  140. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js.map +1 -1
  141. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js +1 -1
  142. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js.map +1 -1
  143. package/cjs-bundle/components/PadOffsetsPicker/OffsetAssetChip.js +1 -1
  144. package/cjs-bundle/components/PadOffsetsPicker/OffsetAssetChip.js.map +1 -1
  145. package/cjs-bundle/components/PadOffsetsPicker/OffsetAssetsListExpander.js +1 -1
  146. package/cjs-bundle/components/PadOffsetsPicker/OffsetAssetsListExpander.js.map +1 -1
  147. package/cjs-bundle/components/PadOffsetsPicker/PadOffsetsPicker.js +1 -1
  148. package/cjs-bundle/components/PadOffsetsPicker/PadOffsetsPicker.js.map +1 -1
  149. package/cjs-bundle/components/PadOffsetsPicker/StagesSelector.js +1 -1
  150. package/cjs-bundle/components/PadOffsetsPicker/StagesSelector.js.map +1 -1
  151. package/cjs-bundle/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
  152. package/cjs-bundle/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js.map +1 -1
  153. package/cjs-bundle/components/Search/Search.js +1 -1
  154. package/cjs-bundle/components/Search/Search.js.map +1 -1
  155. package/cjs-bundle/components/StatusBadge/components/DQAccordionDetailsContent.js +1 -1
  156. package/cjs-bundle/components/StatusBadge/components/DQAccordionDetailsContent.js.map +1 -1
  157. package/cjs-bundle/components/Template/TemplatePopover/index.js +1 -1
  158. package/cjs-bundle/components/Template/TemplatePopover/index.js.map +1 -1
  159. package/cjs-bundle/components/VirtualizedTable/VirtualizedTable.js +1 -1
  160. package/cjs-bundle/components/VirtualizedTable/VirtualizedTable.js.map +1 -1
  161. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/AssetFilters/AssetFilters.js +1 -1
  162. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/AssetFilters/AssetFilters.js.map +1 -1
  163. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/AssetSearchInput/AssetSearchInput.js +1 -1
  164. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/AssetSearchInput/AssetSearchInput.js.map +1 -1
  165. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js +1 -1
  166. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js.map +1 -1
  167. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/Map/Map.js +1 -1
  168. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/Map/Map.js.map +1 -1
  169. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/ModalTitle/ModalTitle.js +1 -1
  170. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/ModalTitle/ModalTitle.js.map +1 -1
  171. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadTableRow.js +1 -1
  172. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadTableRow.js.map +1 -1
  173. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.js +1 -1
  174. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.js.map +1 -1
  175. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableBody.js +1 -1
  176. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableBody.js.map +1 -1
  177. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableHead.js +1 -1
  178. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableHead.js.map +1 -1
  179. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/TableSortLabel.js +1 -1
  180. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/TableSortLabel.js.map +1 -1
  181. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.js +1 -1
  182. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.js.map +1 -1
  183. package/cjs-bundle/hocs/withAssetEditorLockHOC.js +1 -1
  184. package/cjs-bundle/hocs/withAssetEditorLockHOC.js.map +1 -1
  185. package/cjs-bundle/permissions/withPermissionsHOC.js +1 -1
  186. package/cjs-bundle/permissions/withPermissionsHOC.js.map +1 -1
  187. package/clients/api/apiCore.d.ts +2 -0
  188. package/clients/api/apiCore.d.ts.map +1 -1
  189. package/clients/api/apiCore.js +1 -1
  190. package/clients/api/apiCore.js.map +1 -1
  191. package/clients/subscriptions/__tests__/subscriptions-auth-recovery.test.d.ts +2 -0
  192. package/clients/subscriptions/__tests__/subscriptions-auth-recovery.test.d.ts.map +1 -0
  193. package/clients/subscriptions/socket-client.v2.d.ts +8 -0
  194. package/clients/subscriptions/socket-client.v2.d.ts.map +1 -1
  195. package/clients/subscriptions/socket-client.v2.js +1 -1
  196. package/clients/subscriptions/socket-client.v2.js.map +1 -1
  197. package/clients/subscriptions/subscriptions-auth-recovery.d.ts +53 -0
  198. package/clients/subscriptions/subscriptions-auth-recovery.d.ts.map +1 -0
  199. package/clients/subscriptions/subscriptions-auth-recovery.js +2 -0
  200. package/clients/subscriptions/subscriptions-auth-recovery.js.map +1 -0
  201. package/clients/subscriptions/subscriptions-client.d.ts +6 -1
  202. package/clients/subscriptions/subscriptions-client.d.ts.map +1 -1
  203. package/clients/subscriptions/subscriptions-client.dummy.d.ts +2 -1
  204. package/clients/subscriptions/subscriptions-client.dummy.d.ts.map +1 -1
  205. package/clients/subscriptions/subscriptions-client.dummy.js +1 -1
  206. package/clients/subscriptions/subscriptions-client.dummy.js.map +1 -1
  207. package/clients/subscriptions/subscriptions-client.factory.d.ts +8 -0
  208. package/clients/subscriptions/subscriptions-client.factory.d.ts.map +1 -1
  209. package/clients/subscriptions/subscriptions-client.factory.js +1 -1
  210. package/clients/subscriptions/subscriptions-client.factory.js.map +1 -1
  211. package/clients/subscriptions/subscriptions-client.js +1 -1
  212. package/clients/subscriptions/subscriptions-client.js.map +1 -1
  213. package/clients/subscriptions/types.d.ts +5 -0
  214. package/clients/subscriptions/types.d.ts.map +1 -1
  215. package/components/AddComment/Popover.js +1 -1
  216. package/components/AddComment/Popover.js.map +1 -1
  217. package/components/AddComment/components/Content.js +1 -1
  218. package/components/AddComment/components/Content.js.map +1 -1
  219. package/components/AssetEditor/AssetEditorAutocomplete.js +1 -1
  220. package/components/AssetEditor/AssetEditorAutocomplete.js.map +1 -1
  221. package/components/AssetEditorV2/components/MultipleAssetsToggle.js +1 -1
  222. package/components/AssetEditorV2/components/MultipleAssetsToggle.js.map +1 -1
  223. package/components/AssetEditorV2/components/SelectItem.d.ts.map +1 -1
  224. package/components/AssetEditorV2/components/SelectItem.js +1 -1
  225. package/components/AssetEditorV2/components/SelectItem.js.map +1 -1
  226. package/components/BICOffsetPickerDialog/components/WellSection/AssetSearch.js +1 -1
  227. package/components/BICOffsetPickerDialog/components/WellSection/AssetSearch.js.map +1 -1
  228. package/components/BICOffsetPickerDialog/components/WellSection/SectionItem.js +1 -1
  229. package/components/BICOffsetPickerDialog/components/WellSection/SectionItem.js.map +1 -1
  230. package/components/BICOffsetPickerDialog/components/WellSection/index.js +1 -1
  231. package/components/BICOffsetPickerDialog/components/WellSection/index.js.map +1 -1
  232. package/components/BICOffsetPickerDialog/index.js +1 -1
  233. package/components/BICOffsetPickerDialog/index.js.map +1 -1
  234. package/components/Casing/CasingTable/CasingComponent.js +1 -1
  235. package/components/Casing/CasingTable/CasingComponent.js.map +1 -1
  236. package/components/Casing/CasingTableV2/components/CasingJoints/Editor.js +1 -1
  237. package/components/Casing/CasingTableV2/components/CasingJoints/Editor.js.map +1 -1
  238. package/components/Casing/CasingTableV2/components/Component.js +1 -1
  239. package/components/Casing/CasingTableV2/components/Component.js.map +1 -1
  240. package/components/Casing/CasingTableV2/components/DrillPipe/Editor.js +1 -1
  241. package/components/Casing/CasingTableV2/components/DrillPipe/Editor.js.map +1 -1
  242. package/components/Casing/CasingTableV2/components/EditComponentDialog.d.ts.map +1 -1
  243. package/components/Casing/CasingTableV2/components/EditComponentDialog.js +1 -1
  244. package/components/Casing/CasingTableV2/components/EditComponentDialog.js.map +1 -1
  245. package/components/CollapsableSidebar.js +1 -1
  246. package/components/CollapsableSidebar.js.map +1 -1
  247. package/components/CommentComposer/CommentReplyInput.d.ts +3 -1
  248. package/components/CommentComposer/CommentReplyInput.d.ts.map +1 -1
  249. package/components/CommentComposer/CommentReplyInput.js +1 -1
  250. package/components/CommentComposer/CommentReplyInput.js.map +1 -1
  251. package/components/CommentComposer/__tests__/CommentReplyInput.draft.test.d.ts +2 -0
  252. package/components/CommentComposer/__tests__/CommentReplyInput.draft.test.d.ts.map +1 -0
  253. package/components/CommentComposer/replyDrafts.d.ts +12 -0
  254. package/components/CommentComposer/replyDrafts.d.ts.map +1 -0
  255. package/components/CommentComposer/replyDrafts.js +2 -0
  256. package/components/CommentComposer/replyDrafts.js.map +1 -0
  257. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js +1 -1
  258. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js.map +1 -1
  259. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/SettingsAccordion.js +1 -1
  260. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/SettingsAccordion.js.map +1 -1
  261. package/components/DevCenter/DevCenterAppContainer/components/FullscreenButton/FullscreenButton.js +1 -1
  262. package/components/DevCenter/DevCenterAppContainer/components/FullscreenButton/FullscreenButton.js.map +1 -1
  263. package/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js +1 -1
  264. package/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js.map +1 -1
  265. package/components/DocumentViewer/DocumentViewer.js +1 -1
  266. package/components/DocumentViewer/DocumentViewer.js.map +1 -1
  267. package/components/Drillstring/BHAComponentDetail/constants.d.ts +2 -2
  268. package/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js +1 -1
  269. package/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js.map +1 -1
  270. package/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js +1 -1
  271. package/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js.map +1 -1
  272. package/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
  273. package/components/Drillstring/BHAComponentsTable/components/Component.js.map +1 -1
  274. package/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js +1 -1
  275. package/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js.map +1 -1
  276. package/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js +1 -1
  277. package/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js.map +1 -1
  278. package/components/Drillstring/BHAComponentsTable/components/EditComponentDialog.d.ts.map +1 -1
  279. package/components/Drillstring/BHAComponentsTable/components/EditComponentDialog.js +1 -1
  280. package/components/Drillstring/BHAComponentsTable/components/EditComponentDialog.js.map +1 -1
  281. package/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js +1 -1
  282. package/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js.map +1 -1
  283. package/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js +1 -1
  284. package/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js.map +1 -1
  285. package/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js +1 -1
  286. package/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js.map +1 -1
  287. package/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js +1 -1
  288. package/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js.map +1 -1
  289. package/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js +1 -1
  290. package/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js.map +1 -1
  291. package/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js +1 -1
  292. package/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js.map +1 -1
  293. package/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js +1 -1
  294. package/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js.map +1 -1
  295. package/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js +1 -1
  296. package/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js.map +1 -1
  297. package/components/Drillstring/BHAComponentsTable/components/shared/CancelButton.js +1 -1
  298. package/components/Drillstring/BHAComponentsTable/components/shared/CancelButton.js.map +1 -1
  299. package/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js +1 -1
  300. package/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js.map +1 -1
  301. package/components/Drillstring/BHAComponentsTable/components/shared/ExpandCollapseButton.d.ts.map +1 -1
  302. package/components/Drillstring/BHAComponentsTable/components/shared/ExpandCollapseButton.js +1 -1
  303. package/components/Drillstring/BHAComponentsTable/components/shared/ExpandCollapseButton.js.map +1 -1
  304. package/components/Drillstring/BHAComponentsTable/components/shared/MoreButton.js +1 -1
  305. package/components/Drillstring/BHAComponentsTable/components/shared/MoreButton.js.map +1 -1
  306. package/components/Drillstring/BHAComponentsTable/components/shared/SaveButton.js +1 -1
  307. package/components/Drillstring/BHAComponentsTable/components/shared/SaveButton.js.map +1 -1
  308. package/components/Drillstring/BHATable/BHAComponent.js +1 -1
  309. package/components/Drillstring/BHATable/BHAComponent.js.map +1 -1
  310. package/components/FeedCard/useActivityInteractions.d.ts.map +1 -1
  311. package/components/FeedCard/useActivityInteractions.js +1 -1
  312. package/components/FeedCard/useActivityInteractions.js.map +1 -1
  313. package/components/FeedCard/useFeedActivity.d.ts.map +1 -1
  314. package/components/FeedCard/useFeedActivity.js +1 -1
  315. package/components/FeedCard/useFeedActivity.js.map +1 -1
  316. package/components/FeedItem/FeedItem.js +1 -1
  317. package/components/FeedItem/FeedItem.js.map +1 -1
  318. package/components/IconMenu/index.js +1 -1
  319. package/components/IconMenu/index.js.map +1 -1
  320. package/components/OffsetWellChips/Chip.js +1 -1
  321. package/components/OffsetWellChips/Chip.js.map +1 -1
  322. package/components/OffsetWellMap/OffsetWellMap.d.ts.map +1 -1
  323. package/components/OffsetWellMap/OffsetWellMap.js +1 -1
  324. package/components/OffsetWellMap/OffsetWellMap.js.map +1 -1
  325. package/components/OffsetWellPickerV2/components/Filter/NonEngineeredWellsSwitch.js +1 -1
  326. package/components/OffsetWellPickerV2/components/Filter/NonEngineeredWellsSwitch.js.map +1 -1
  327. package/components/OffsetWellPickerV2/components/Filter/ToggleFiltersButton.d.ts.map +1 -1
  328. package/components/OffsetWellPickerV2/components/Filter/ToggleFiltersButton.js +1 -1
  329. package/components/OffsetWellPickerV2/components/Filter/ToggleFiltersButton.js.map +1 -1
  330. package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.d.ts.map +1 -1
  331. package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
  332. package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js.map +1 -1
  333. package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
  334. package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js.map +1 -1
  335. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Filter/index.js +1 -1
  336. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Filter/index.js.map +1 -1
  337. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/AssetSearch.d.ts.map +1 -1
  338. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/AssetSearch.js +1 -1
  339. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/AssetSearch.js.map +1 -1
  340. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js +1 -1
  341. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js.map +1 -1
  342. package/components/OffsetWellPickerV3/components/CustomSelectionView/index.js +1 -1
  343. package/components/OffsetWellPickerV3/components/CustomSelectionView/index.js.map +1 -1
  344. package/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js +1 -1
  345. package/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js.map +1 -1
  346. package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.d.ts.map +1 -1
  347. package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js +1 -1
  348. package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js.map +1 -1
  349. package/components/OffsetWellPickerV3/components/TabSelection/index.js +1 -1
  350. package/components/OffsetWellPickerV3/components/TabSelection/index.js.map +1 -1
  351. package/components/OffsetWellPickerV3/components/WellHubView/index.js +1 -1
  352. package/components/OffsetWellPickerV3/components/WellHubView/index.js.map +1 -1
  353. package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
  354. package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js.map +1 -1
  355. package/components/OffsetWellPickerV3/components/shared/OffsetWellTableRows.js +1 -1
  356. package/components/OffsetWellPickerV3/components/shared/OffsetWellTableRows.js.map +1 -1
  357. package/components/OffsetWellPickerV3/index.js +1 -1
  358. package/components/OffsetWellPickerV3/index.js.map +1 -1
  359. package/components/OffsetWellPickerV4/OffsetWellPickerV4.d.ts.map +1 -1
  360. package/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js +1 -1
  361. package/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js.map +1 -1
  362. package/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js +1 -1
  363. package/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js.map +1 -1
  364. package/components/PadOffsetsPicker/OffsetAssetChip.js +1 -1
  365. package/components/PadOffsetsPicker/OffsetAssetChip.js.map +1 -1
  366. package/components/PadOffsetsPicker/OffsetAssetsListExpander.d.ts.map +1 -1
  367. package/components/PadOffsetsPicker/OffsetAssetsListExpander.js +1 -1
  368. package/components/PadOffsetsPicker/OffsetAssetsListExpander.js.map +1 -1
  369. package/components/PadOffsetsPicker/PadOffsetsPicker.js +1 -1
  370. package/components/PadOffsetsPicker/PadOffsetsPicker.js.map +1 -1
  371. package/components/PadOffsetsPicker/StagesSelector.js +1 -1
  372. package/components/PadOffsetsPicker/StagesSelector.js.map +1 -1
  373. package/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
  374. package/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js.map +1 -1
  375. package/components/Search/Search.js +1 -1
  376. package/components/Search/Search.js.map +1 -1
  377. package/components/StatusBadge/components/DQAccordionDetailsContent.d.ts.map +1 -1
  378. package/components/StatusBadge/components/DQAccordionDetailsContent.js +1 -1
  379. package/components/StatusBadge/components/DQAccordionDetailsContent.js.map +1 -1
  380. package/components/Template/TemplatePopover/index.d.ts.map +1 -1
  381. package/components/Template/TemplatePopover/index.js +1 -1
  382. package/components/Template/TemplatePopover/index.js.map +1 -1
  383. package/components/VirtualizedTable/VirtualizedTable.d.ts.map +1 -1
  384. package/components/VirtualizedTable/VirtualizedTable.js +1 -1
  385. package/components/VirtualizedTable/VirtualizedTable.js.map +1 -1
  386. package/componentsV2/CompletionsOffsetWellPicker/AssetFilters/AssetFilters.d.ts.map +1 -1
  387. package/componentsV2/CompletionsOffsetWellPicker/AssetFilters/AssetFilters.js +1 -1
  388. package/componentsV2/CompletionsOffsetWellPicker/AssetFilters/AssetFilters.js.map +1 -1
  389. package/componentsV2/CompletionsOffsetWellPicker/AssetSearchInput/AssetSearchInput.d.ts.map +1 -1
  390. package/componentsV2/CompletionsOffsetWellPicker/AssetSearchInput/AssetSearchInput.js +1 -1
  391. package/componentsV2/CompletionsOffsetWellPicker/AssetSearchInput/AssetSearchInput.js.map +1 -1
  392. package/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.d.ts.map +1 -1
  393. package/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js +1 -1
  394. package/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js.map +1 -1
  395. package/componentsV2/CompletionsOffsetWellPicker/Map/Map.d.ts.map +1 -1
  396. package/componentsV2/CompletionsOffsetWellPicker/Map/Map.js +1 -1
  397. package/componentsV2/CompletionsOffsetWellPicker/Map/Map.js.map +1 -1
  398. package/componentsV2/CompletionsOffsetWellPicker/ModalTitle/ModalTitle.d.ts.map +1 -1
  399. package/componentsV2/CompletionsOffsetWellPicker/ModalTitle/ModalTitle.js +1 -1
  400. package/componentsV2/CompletionsOffsetWellPicker/ModalTitle/ModalTitle.js.map +1 -1
  401. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadTableRow.d.ts.map +1 -1
  402. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadTableRow.js +1 -1
  403. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadTableRow.js.map +1 -1
  404. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.js +1 -1
  405. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.js.map +1 -1
  406. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableBody.d.ts.map +1 -1
  407. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableBody.js +1 -1
  408. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableBody.js.map +1 -1
  409. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableHead.d.ts.map +1 -1
  410. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableHead.js +1 -1
  411. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableHead.js.map +1 -1
  412. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/TableSortLabel.d.ts.map +1 -1
  413. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/TableSortLabel.js +1 -1
  414. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/TableSortLabel.js.map +1 -1
  415. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.d.ts +1 -0
  416. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.d.ts.map +1 -1
  417. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.js +1 -1
  418. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.js.map +1 -1
  419. package/hocs/withAssetEditorLockHOC.d.ts.map +1 -1
  420. package/hocs/withAssetEditorLockHOC.js +1 -1
  421. package/hocs/withAssetEditorLockHOC.js.map +1 -1
  422. package/mcp-server/server.mjs +34 -15
  423. package/package.json +1 -2
  424. package/permissions/__tests__/withPermissionsHOC.test.d.ts.map +1 -1
  425. package/permissions/withPermissionsHOC.d.ts.map +1 -1
  426. package/permissions/withPermissionsHOC.js +1 -1
  427. package/permissions/withPermissionsHOC.js.map +1 -1
  428. package/tsconfig.tsbuildinfo +1 -1
  429. package/cjs-bundle/ext-esm/@material-ui/icons/esm/ExpandLess.js +0 -2
  430. package/cjs-bundle/ext-esm/@material-ui/icons/esm/ExpandLess.js.map +0 -1
  431. package/cjs-bundle/ext-esm/@material-ui/icons/esm/ExpandMore.js +0 -2
  432. package/cjs-bundle/ext-esm/@material-ui/icons/esm/ExpandMore.js.map +0 -1
  433. package/cjs-bundle/ext-esm/@material-ui/icons/esm/Map.js +0 -2
  434. package/cjs-bundle/ext-esm/@material-ui/icons/esm/Map.js.map +0 -1
  435. package/cjs-bundle/ext-esm/@material-ui/icons/esm/UnfoldLess.js +0 -2
  436. package/cjs-bundle/ext-esm/@material-ui/icons/esm/UnfoldLess.js.map +0 -1
  437. package/cjs-bundle/ext-esm/@material-ui/icons/esm/UnfoldMore.js +0 -2
  438. package/cjs-bundle/ext-esm/@material-ui/icons/esm/UnfoldMore.js.map +0 -1
  439. package/cjs-bundle/ext-esm/@material-ui/icons/esm/utils/createSvgIcon.js +0 -2
  440. package/cjs-bundle/ext-esm/@material-ui/icons/esm/utils/createSvgIcon.js.map +0 -1
  441. package/ext-esm/@material-ui/icons/esm/ExpandLess.js +0 -2
  442. package/ext-esm/@material-ui/icons/esm/ExpandLess.js.map +0 -1
  443. package/ext-esm/@material-ui/icons/esm/ExpandMore.js +0 -2
  444. package/ext-esm/@material-ui/icons/esm/ExpandMore.js.map +0 -1
  445. package/ext-esm/@material-ui/icons/esm/Map.js +0 -2
  446. package/ext-esm/@material-ui/icons/esm/Map.js.map +0 -1
  447. package/ext-esm/@material-ui/icons/esm/UnfoldLess.js +0 -2
  448. package/ext-esm/@material-ui/icons/esm/UnfoldLess.js.map +0 -1
  449. package/ext-esm/@material-ui/icons/esm/UnfoldMore.js +0 -2
  450. package/ext-esm/@material-ui/icons/esm/UnfoldMore.js.map +0 -1
  451. package/ext-esm/@material-ui/icons/esm/utils/createSvgIcon.js +0 -2
  452. package/ext-esm/@material-ui/icons/esm/utils/createSvgIcon.js.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/slicedToArray"),t=require("@babel/runtime/helpers/objectWithoutProperties"),r=require("@babel/runtime/helpers/asyncToGenerator"),n=require("@babel/runtime/helpers/defineProperty"),a=require("@babel/runtime/helpers/classCallCheck"),i=require("@babel/runtime/helpers/createClass"),s=require("@babel/runtime/regenerator"),u=require("query-string"),o=require("../constants.js"),c=require("../utils.js"),l=require("./AuthRecovery.js"),p=require("./httpMessages.js"),d=require("./rateLimiter.js");function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function h(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var y=f(e),v=f(t),g=f(r),b=f(n),m=f(a),x=f(i),j=f(s),A=h(u),k=["appKey"],O=["appKey"];function P(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function w(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?P(Object(r),!0).forEach((function(t){b.default(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):P(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var T=l.AuthRecovery.getInstance(),q={400:"Request Failed",403:"No Permission",404:"Not Found"},K=["POST","PUT","PATCH","DELETE"],E=function(){function e(t,r){m.default(this,e),this.status=t.status,this.statusText=t.statusText,this.message=r.message||"No Message",this.errorBody=r}return x.default(e,[{key:"isAuthenticationProblem",value:function(){return 401===this.status}},{key:"isTermsProblem",value:function(){return 401===this.status&&"Please accept the latest terms of service"===this.message}},{key:"isLoginProblem",value:function(){var e,t;return 401===this.status&&(null===(e=this.errorBody)||void 0===e||null===(t=e.errors)||void 0===t?void 0:t.login)}},{key:"isLockedAccountProblem",value:function(){var e,t,r;return 401===this.status&&(null===(e=this.errorBody)||void 0===e||null===(t=e.errors)||void 0===t||null===(r=t.login)||void 0===r?void 0:r.includes("Account has been locked"))}},{key:"isInvalidVerificationCode",value:function(){var e,t,r;return 401===this.status&&(null===(e=this.errorBody)||void 0===e||null===(t=e.errors)||void 0===t||null===(r=t.login)||void 0===r?void 0:r.includes("Invalid verification code"))}},{key:"isMissingVerificationCode",value:function(){var e,t,r;return 401===this.status&&(null===(e=this.errorBody)||void 0===e||null===(t=e.errors)||void 0===t||null===(r=t.identity)||void 0===r?void 0:r.includes("Missing verification code"))}}]),e}(),I=o.CORVA_API_URLS.API,S=c.getAuthorizationHeaders(),U=w({"Content-Type":"application/json",Accept:"application/json"},S),R=/^\/v1\/assets.*/;function _(e){return D.apply(this,arguments)}function D(){return D=g.default(j.default.mark((function e(t){var r,n,a,i,s,u,o=arguments;return j.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=o.length>1&&void 0!==o[1]?o[1]:{},n=o.length>2&&void 0!==o[2]?o[2]:{},a=n.apiUrl,i=void 0===a?I:a,s=n.appKey,u=n.appInstanceId,!s||!u||n.isRetry){e.next=6;break}return e.next=6,d.apiRequestsRateLimiter.acquire(s,u);case 6:return R.test(t)&&(r.cache="reload"),r.credentials="include",e.abrupt("return",fetch("".concat(i).concat(t),c.attachHTTPHeaders(w({config:r,appKey:s},S))));case 9:case"end":return e.stop()}}),e)}))),D.apply(this,arguments)}var C,H=(C=_,function(){var e=g.default(j.default.mark((function e(r,n){var a,i,s,u,o,c,l,d,f,h=arguments;return j.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=h.length>2&&void 0!==h[2]?h[2]:{},e.next=3,C(r,n,a);case 3:if(i=e.sent,s=i.status,!i.ok){e.next=7;break}return e.abrupt("return",204===s?null:i);case 7:return e.prev=7,e.next=10,i.json();case 10:u=e.sent,e.next=16;break;case 13:e.prev=13,e.t0=e.catch(7),u={};case 16:if(o=new E(i,u),c=r.startsWith("/v1/user_token"),!T.isRefreshableAuthError(o)||c||a.isRetry){e.next=28;break}return e.prev=19,e.next=22,T.tryRefresh();case 22:return e.abrupt("return",t(r,n,w(w({},a),{},{isRetry:!0})));case 25:e.prev=25,e.t1=e.catch(19),console.error("Token refresh failed:",e.t1);case 28:throw l=n.method,d=!a.hideNotification&&K.includes(l),f=p.DISPLAY_HTTP_MESSAGES[u.message]||q[s],d&&f&&console.error(f),T.handleAuthFailure(o),o;case 34:case"end":return e.stop()}}),e,null,[[7,13],[19,25]])})));function t(t,r){return e.apply(this,arguments)}return t}());function L(){return L=g.default(j.default.mark((function e(t,r){var n,a,i,s,u,o,l=arguments;return j.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=l.length>2&&void 0!==l[2]?l[2]:{},a=n.apiUrl,i=n.withHeaders,s=void 0!==i&&i,u=n.signal,e.next=4,H(t,{method:"POST",headers:U,body:JSON.stringify(r),signal:u},w({apiUrl:a},c.getAppKeyAndId()));case 4:if(o=e.sent,!s){e.next=7;break}return e.abrupt("return",o);case 7:return e.abrupt("return",o&&o.json());case 8:case"end":return e.stop()}}),e)}))),L.apply(this,arguments)}function N(e){return M.apply(this,arguments)}function M(){return M=g.default(j.default.mark((function e(t){var r,n,a,i,s,u,o,l,p,d=arguments;return j.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=d.length>1&&void 0!==d[1]?d[1]:{},n=d.length>2&&void 0!==d[2]?d[2]:{},a=n.apiUrl,i=n.signal,s=A.stringify(r,{arrayFormat:"bracket"}),u=c.getAppKeyAndId()||{},o=u.appKey,l=v.default(u,k),e.next=7,H("".concat(t).concat(s?"?":"").concat(s),{method:"GET",signal:i},w({apiUrl:a,appKey:n.appKey||o},l));case 7:if(p=e.sent,e.t0=p,!e.t0){e.next=13;break}return e.next=12,p.json();case 12:e.t0=e.sent;case 13:return e.t1=e.t0,e.t2=p&&p.headers,e.abrupt("return",{data:e.t1,headers:e.t2});case 16:case"end":return e.stop()}}),e)}))),M.apply(this,arguments)}function F(){return F=g.default(j.default.mark((function e(t){var r,n,a,i,s,u,o=arguments;return j.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=o.length>1&&void 0!==o[1]?o[1]:{},n=o.length>2&&void 0!==o[2]?o[2]:{},a=c.getAppKeyAndId()||{},i=a.appKey,s=v.default(a,O),e.next=5,N(t,r,w(w({},n),{},{appKey:n.appKey||i},s));case 5:return u=e.sent,e.abrupt("return",u.data);case 7:case"end":return e.stop()}}),e)}))),F.apply(this,arguments)}function B(){return B=g.default(j.default.mark((function e(t,r){var n,a,i,s,u,o,l=arguments;return j.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=l.length>2&&void 0!==l[2]?l[2]:{},a=l.length>3&&void 0!==l[3]?l[3]:{},i=a.apiUrl,s=a.signal,u=A.stringify(n),e.next=6,H("".concat(t).concat(u?"?":"").concat(u),{method:"PUT",headers:U,body:JSON.stringify(r)},w(w({apiUrl:i},c.getAppKeyAndId()),{},{signal:s}));case 6:return o=e.sent,e.abrupt("return",o&&o.json());case 8:case"end":return e.stop()}}),e)}))),B.apply(this,arguments)}function J(){return J=g.default(j.default.mark((function e(t,r){var n,a,i,s,u,o,l=arguments;return j.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=l.length>2&&void 0!==l[2]?l[2]:{},a=l.length>3&&void 0!==l[3]?l[3]:{},i=a.apiUrl,s=a.signal,u=A.stringify(n),e.next=6,H("".concat(t).concat(u?"?":"").concat(u),{method:"PATCH",headers:U,body:JSON.stringify(r)},w(w({apiUrl:i},c.getAppKeyAndId()),{},{signal:s}));case 6:return o=e.sent,e.abrupt("return",o&&o.json());case 8:case"end":return e.stop()}}),e)}))),J.apply(this,arguments)}function G(){return G=g.default(j.default.mark((function e(t){var r,n,a,i,s,u,o=arguments;return j.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=o.length>1&&void 0!==o[1]?o[1]:{},n=o.length>2&&void 0!==o[2]?o[2]:{},a=n.apiUrl,i=n.signal,s=A.stringify(r),e.next=6,H(s?"".concat(t,"?").concat(s):t,{method:"DELETE",headers:U},w(w({apiUrl:a},c.getAppKeyAndId()),{},{signal:i}));case 6:return u=e.sent,e.abrupt("return",u&&u.json());case 8:case"end":return e.stop()}}),e)}))),G.apply(this,arguments)}function V(){return V=g.default(j.default.mark((function e(t,r){var n,a,i,s,u,o,l,p,d=arguments;return j.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=d.length>2&&void 0!==d[2]?d[2]:{},a=d.length>3&&void 0!==d[3]?d[3]:{},i=A.stringify(n),s=a.method,u=void 0===s?"POST":s,o=a.signal,l=new FormData,Object.entries(r).forEach((function(e){var t=y.default(e,2),r=t[0],n=t[1];Array.isArray(n)?n.forEach((function(e){l.append(r,e)})):l.append(r,n)})),e.next=8,H(i?"".concat(t,"?").concat(i):t,{method:u,headers:{Accept:"application/json"},body:l},w(w({},c.getAppKeyAndId()),{},{signal:o}));case 8:return p=e.sent,e.abrupt("return",p&&p.json());case 10:case"end":return e.stop()}}),e)}))),V.apply(this,arguments)}exports.APIException=E,exports.baseUrl=I,exports.del=function(e){return G.apply(this,arguments)},exports.get=function(e){return F.apply(this,arguments)},exports.getWithHeaders=N,exports.patch=function(e,t){return J.apply(this,arguments)},exports.post=function(e,t){return L.apply(this,arguments)},exports.put=function(e,t){return B.apply(this,arguments)},exports.refreshToken=function(){return _("/v1/user_token",{method:"POST",headers:U,body:JSON.stringify({refresh_token:!0})}).then((function(e){if(!e.ok)throw new E(e,{})}))},exports.sendFormData=function(e,t){return V.apply(this,arguments)};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/slicedToArray"),t=require("@babel/runtime/helpers/objectWithoutProperties"),r=require("@babel/runtime/helpers/asyncToGenerator"),n=require("@babel/runtime/helpers/defineProperty"),a=require("@babel/runtime/helpers/classCallCheck"),i=require("@babel/runtime/helpers/createClass"),s=require("@babel/runtime/regenerator"),u=require("query-string"),o=require("../constants.js"),c=require("../utils.js"),l=require("./AuthRecovery.js"),p=require("./httpMessages.js"),d=require("./rateLimiter.js");function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function h(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var y=f(e),v=f(t),g=f(r),b=f(n),m=f(a),x=f(i),j=f(s),A=h(u),k=["appKey"],O=["appKey"];function P(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function w(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?P(Object(r),!0).forEach((function(t){b.default(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):P(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var T=l.AuthRecovery.getInstance(),q={400:"Request Failed",403:"No Permission",404:"Not Found"},K=["POST","PUT","PATCH","DELETE"],E=function(){function e(t,r){m.default(this,e),this.status=t.status,this.statusText=t.statusText,this.message=r.message||"No Message",this.errorBody=r}return x.default(e,[{key:"isAuthenticationProblem",value:function(){return 401===this.status}},{key:"isTermsProblem",value:function(){return 401===this.status&&"Please accept the latest terms of service"===this.message}},{key:"isLoginProblem",value:function(){var e,t;return 401===this.status&&(null===(e=this.errorBody)||void 0===e||null===(t=e.errors)||void 0===t?void 0:t.login)}},{key:"isLockedAccountProblem",value:function(){var e,t,r;return 401===this.status&&(null===(e=this.errorBody)||void 0===e||null===(t=e.errors)||void 0===t||null===(r=t.login)||void 0===r?void 0:r.includes("Account has been locked"))}},{key:"isInvalidVerificationCode",value:function(){var e,t,r;return 401===this.status&&(null===(e=this.errorBody)||void 0===e||null===(t=e.errors)||void 0===t||null===(r=t.login)||void 0===r?void 0:r.includes("Invalid verification code"))}},{key:"isMissingVerificationCode",value:function(){var e,t,r;return 401===this.status&&(null===(e=this.errorBody)||void 0===e||null===(t=e.errors)||void 0===t||null===(r=t.identity)||void 0===r?void 0:r.includes("Missing verification code"))}}]),e}(),I=o.CORVA_API_URLS.API,S=c.getAuthorizationHeaders(),U=w({"Content-Type":"application/json",Accept:"application/json"},S),R=/^\/v1\/assets.*/;function _(e){return D.apply(this,arguments)}function D(){return D=g.default(j.default.mark((function e(t){var r,n,a,i,s,u,o=arguments;return j.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=o.length>1&&void 0!==o[1]?o[1]:{},n=o.length>2&&void 0!==o[2]?o[2]:{},a=n.apiUrl,i=void 0===a?I:a,s=n.appKey,u=n.appInstanceId,!s||!u||n.isRetry){e.next=6;break}return e.next=6,d.apiRequestsRateLimiter.acquire(s,u);case 6:return R.test(t)&&(r.cache="reload"),r.credentials="include",e.abrupt("return",fetch("".concat(i).concat(t),c.attachHTTPHeaders(w({config:r,appKey:s},S))));case 9:case"end":return e.stop()}}),e)}))),D.apply(this,arguments)}var C,H=(C=_,function(){var e=g.default(j.default.mark((function e(r,n){var a,i,s,u,o,c,l,d,f,h=arguments;return j.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=h.length>2&&void 0!==h[2]?h[2]:{},e.next=3,C(r,n,a);case 3:if(i=e.sent,s=i.status,!i.ok){e.next=7;break}return e.abrupt("return",204===s?null:i);case 7:return e.prev=7,e.next=10,i.json();case 10:u=e.sent,e.next=16;break;case 13:e.prev=13,e.t0=e.catch(7),u={};case 16:if(o=new E(i,u),c=r.startsWith("/v1/user_token"),!T.isRefreshableAuthError(o)||c||a.isRetry){e.next=28;break}return e.prev=19,e.next=22,T.tryRefresh();case 22:return e.abrupt("return",t(r,n,w(w({},a),{},{isRetry:!0})));case 25:e.prev=25,e.t1=e.catch(19),console.error("Token refresh failed:",e.t1);case 28:throw l=n.method,d=!a.hideNotification&&K.includes(l),f=p.DISPLAY_HTTP_MESSAGES[u.message]||q[s],d&&f&&console.error(f),T.handleAuthFailure(o),o;case 34:case"end":return e.stop()}}),e,null,[[7,13],[19,25]])})));function t(t,r){return e.apply(this,arguments)}return t}());function L(){return L=g.default(j.default.mark((function e(t,r){var n,a,i,s,u,o,l=arguments;return j.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=l.length>2&&void 0!==l[2]?l[2]:{},a=n.apiUrl,i=n.withHeaders,s=void 0!==i&&i,u=n.signal,e.next=4,H(t,{method:"POST",headers:U,body:JSON.stringify(r),signal:u},w({apiUrl:a},c.getAppKeyAndId()));case 4:if(o=e.sent,!s){e.next=7;break}return e.abrupt("return",o);case 7:return e.abrupt("return",o&&o.json());case 8:case"end":return e.stop()}}),e)}))),L.apply(this,arguments)}function N(e){return M.apply(this,arguments)}function M(){return M=g.default(j.default.mark((function e(t){var r,n,a,i,s,u,o,l,p,d=arguments;return j.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=d.length>1&&void 0!==d[1]?d[1]:{},n=d.length>2&&void 0!==d[2]?d[2]:{},a=n.apiUrl,i=n.signal,s=A.stringify(r,{arrayFormat:"bracket"}),u=c.getAppKeyAndId()||{},o=u.appKey,l=v.default(u,k),e.next=7,H("".concat(t).concat(s?"?":"").concat(s),{method:"GET",signal:i},w({apiUrl:a,appKey:n.appKey||o},l));case 7:if(p=e.sent,e.t0=p,!e.t0){e.next=13;break}return e.next=12,p.json();case 12:e.t0=e.sent;case 13:return e.t1=e.t0,e.t2=p&&p.headers,e.abrupt("return",{data:e.t1,headers:e.t2});case 16:case"end":return e.stop()}}),e)}))),M.apply(this,arguments)}function F(){return F=g.default(j.default.mark((function e(t){var r,n,a,i,s,u,o=arguments;return j.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=o.length>1&&void 0!==o[1]?o[1]:{},n=o.length>2&&void 0!==o[2]?o[2]:{},a=c.getAppKeyAndId()||{},i=a.appKey,s=v.default(a,O),e.next=5,N(t,r,w(w({},n),{},{appKey:n.appKey||i},s));case 5:return u=e.sent,e.abrupt("return",u.data);case 7:case"end":return e.stop()}}),e)}))),F.apply(this,arguments)}function B(){return B=g.default(j.default.mark((function e(t,r){var n,a,i,s,u,o,l=arguments;return j.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=l.length>2&&void 0!==l[2]?l[2]:{},a=l.length>3&&void 0!==l[3]?l[3]:{},i=a.apiUrl,s=a.signal,u=A.stringify(n),e.next=6,H("".concat(t).concat(u?"?":"").concat(u),{method:"PUT",headers:U,body:JSON.stringify(r)},w(w({apiUrl:i},c.getAppKeyAndId()),{},{signal:s}));case 6:return o=e.sent,e.abrupt("return",o&&o.json());case 8:case"end":return e.stop()}}),e)}))),B.apply(this,arguments)}function J(){return J=g.default(j.default.mark((function e(t,r){var n,a,i,s,u,o,l=arguments;return j.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=l.length>2&&void 0!==l[2]?l[2]:{},a=l.length>3&&void 0!==l[3]?l[3]:{},i=a.apiUrl,s=a.signal,u=A.stringify(n),e.next=6,H("".concat(t).concat(u?"?":"").concat(u),{method:"PATCH",headers:U,body:JSON.stringify(r)},w(w({apiUrl:i},c.getAppKeyAndId()),{},{signal:s}));case 6:return o=e.sent,e.abrupt("return",o&&o.json());case 8:case"end":return e.stop()}}),e)}))),J.apply(this,arguments)}function G(){return G=g.default(j.default.mark((function e(t){var r,n,a,i,s,u,o=arguments;return j.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=o.length>1&&void 0!==o[1]?o[1]:{},n=o.length>2&&void 0!==o[2]?o[2]:{},a=n.apiUrl,i=n.signal,s=A.stringify(r),e.next=6,H(s?"".concat(t,"?").concat(s):t,{method:"DELETE",headers:U},w(w({apiUrl:a},c.getAppKeyAndId()),{},{signal:i}));case 6:return u=e.sent,e.abrupt("return",u&&u.json());case 8:case"end":return e.stop()}}),e)}))),G.apply(this,arguments)}function V(){return V=g.default(j.default.mark((function e(t,r){var n,a,i,s,u,o,l,p,d=arguments;return j.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=d.length>2&&void 0!==d[2]?d[2]:{},a=d.length>3&&void 0!==d[3]?d[3]:{},i=A.stringify(n),s=a.method,u=void 0===s?"POST":s,o=a.signal,l=new FormData,Object.entries(r).forEach((function(e){var t=y.default(e,2),r=t[0],n=t[1];Array.isArray(n)?n.forEach((function(e){l.append(r,e)})):l.append(r,n)})),e.next=8,H(i?"".concat(t,"?").concat(i):t,{method:u,headers:{Accept:"application/json"},body:l},w(w({},c.getAppKeyAndId()),{},{signal:o}));case 8:return p=e.sent,e.abrupt("return",p&&p.json());case 10:case"end":return e.stop()}}),e)}))),V.apply(this,arguments)}exports.APIException=E,exports.authRecovery=T,exports.baseUrl=I,exports.del=function(e){return G.apply(this,arguments)},exports.get=function(e){return F.apply(this,arguments)},exports.getWithHeaders=N,exports.patch=function(e,t){return J.apply(this,arguments)},exports.post=function(e,t){return L.apply(this,arguments)},exports.put=function(e,t){return B.apply(this,arguments)},exports.refreshToken=function(){return _("/v1/user_token",{method:"POST",headers:U,body:JSON.stringify({refresh_token:!0})}).then((function(e){if(!e.ok)throw new E(e,{})}))},exports.sendFormData=function(e,t){return V.apply(this,arguments)};
2
2
  //# sourceMappingURL=apiCore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"apiCore.js","sources":["../../../../src/clients/api/apiCore.js"],"sourcesContent":["import * as queryString from 'query-string';\n\nimport { CORVA_API_URLS } from '../constants';\nimport { attachHTTPHeaders, getAppKeyAndId, getAuthorizationHeaders } from '../utils';\n\nimport { AuthRecovery } from './AuthRecovery';\nimport { DISPLAY_HTTP_MESSAGES } from './httpMessages';\n\nimport { apiRequestsRateLimiter } from '~/clients/api/rateLimiter';\n\nconst authRecovery = AuthRecovery.getInstance();\n\nconst HTTP_ERROR_MESSAGES = {\n 400: 'Request Failed',\n 403: 'No Permission',\n 404: 'Not Found',\n};\n\nconst TOS_ERROR_MESSAGE = 'Please accept the latest terms of service';\nconst LOCKED_ERROR_MESSAGE = 'Account has been locked';\nconst INVALID_VERIFICATION_CODE_MESSAGE = 'Invalid verification code';\nconst MISSING_VERIFICATION_CODE_MESSAGE = 'Missing verification code';\n\nconst HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS = [\n // NOTE: Do not show error notifications for GET method. Because users may request a deleted item\n 'POST',\n 'PUT',\n 'PATCH',\n 'DELETE',\n];\n\nexport class APIException {\n constructor(response, json) {\n this.status = response.status;\n this.statusText = response.statusText;\n this.message = json.message || 'No Message';\n this.errorBody = json;\n }\n\n isAuthenticationProblem() {\n return this.status === 401;\n }\n\n isTermsProblem() {\n // FIXME: this.message === TOS_ERROR_MESSAGE is a hack. Back-end team should come\n // with another solution.\n return this.status === 401 && this.message === TOS_ERROR_MESSAGE;\n }\n\n isLoginProblem() {\n return this.status === 401 && this.errorBody?.errors?.login;\n }\n\n isLockedAccountProblem() {\n return this.status === 401 && this.errorBody?.errors?.login?.includes(LOCKED_ERROR_MESSAGE);\n }\n\n isInvalidVerificationCode() {\n return (\n this.status === 401 &&\n this.errorBody?.errors?.login?.includes(INVALID_VERIFICATION_CODE_MESSAGE)\n );\n }\n\n isMissingVerificationCode() {\n return (\n this.status === 401 &&\n this.errorBody?.errors?.identity?.includes(MISSING_VERIFICATION_CODE_MESSAGE)\n );\n }\n}\n\nexport const baseUrl = CORVA_API_URLS.API;\n\nconst AUTH_HEADERS = getAuthorizationHeaders();\nconst JSON_HEADERS = {\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n ...AUTH_HEADERS,\n};\n\nexport function handleAuthenticationProblem(e) {\n authRecovery.handleAuthFailure(e);\n}\n\nconst V1_ASSETS_REGEXP = /^\\/v1\\/assets.*/;\n\nasync function requestCore(path, config = {}, overrides = {}) {\n const { apiUrl = baseUrl, appKey, appInstanceId } = overrides;\n\n if (appKey && appInstanceId && !overrides.isRetry) {\n // Skip rate-limiter acquisition on retries. When a 401 triggers a token\n // refresh, errorHandler re-invokes requestCore with isRetry: true.\n // The original call already consumed a rate-limiter token, so acquiring\n // again would double-count a single logical request.\n // Because in the RateLimiter there is no release(),\n // the extra acquire on retries is an unrecoverable leak.\n await apiRequestsRateLimiter.acquire(appKey, appInstanceId);\n }\n\n // temporary enable cache for the heaviest request\n if (V1_ASSETS_REGEXP.test(path)) {\n config.cache = 'reload'; // eslint-disable-line no-param-reassign\n }\n\n config.credentials = 'include'; // eslint-disable-line no-param-reassign\n\n return fetch(`${apiUrl}${path}`, attachHTTPHeaders({ config, appKey, ...AUTH_HEADERS }));\n}\n\n/**\n * Used as refreshFn for AuthRecovery.\n * Triggers a token refresh request using the /v1/user_token endpoint.\n * The refresh mechanism is based on the refresh token stored in the dedicated HTTP-only cookie.\n *\n * Should not be used outside of AuthRecovery and Corva UI.\n */\nexport function refreshToken() {\n return requestCore('/v1/user_token', {\n method: 'POST',\n headers: JSON_HEADERS,\n body: JSON.stringify({ refresh_token: true }),\n }).then(response => {\n if (!response.ok) {\n throw new APIException(response, {});\n }\n });\n}\n\nfunction errorHandlerDecorator(requestCoreFunc) {\n return async function errorHandler(path, config, overrides = {}) {\n const response = await requestCoreFunc(path, config, overrides);\n\n const { status } = response;\n\n if (response.ok) {\n return status === 204 // NOTE: No content\n ? null\n : response;\n }\n\n // NOTE: Handle Error response logic\n let json;\n try {\n json = await response.json();\n } catch (e) {\n json = {};\n }\n const exception = new APIException(response, json);\n\n // Token expired: attempt refresh and retry the original request once.\n // Skip non-refreshable 401s (Terms of Service, login-credential errors) and the login/token\n // endpoint itself, where a refresh would be either pointless or self-recursive.\n const isLoginEndpoint = path.startsWith('/v1/user_token');\n if (authRecovery.isRefreshableAuthError(exception) && !isLoginEndpoint && !overrides.isRetry) {\n try {\n await authRecovery.tryRefresh();\n return errorHandler(path, config, { ...overrides, isRetry: true }); // Ensure retrying only once.\n } catch (refreshError) {\n console.error('Token refresh failed:', refreshError);\n // Refresh failed — fall through to authRecovery.handleAuthFailure\n }\n }\n\n const requestMethod = config.method;\n const isMethodToShowNotification =\n !overrides.hideNotification &&\n HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS.includes(requestMethod);\n\n const httpErrorMessage = DISPLAY_HTTP_MESSAGES[json.message] || HTTP_ERROR_MESSAGES[status];\n\n if (isMethodToShowNotification && httpErrorMessage) {\n console.error(httpErrorMessage);\n }\n\n authRecovery.handleAuthFailure(exception);\n\n throw exception;\n };\n}\n\nconst request = errorHandlerDecorator(requestCore);\n\n/**\n * The post method is most-often utilized to **create** new resources.\n * @async\n * @param {string} path - path to resource.\n * @param {Object=} entity - API entity to create\n * @returns {Promise<*>}\n */\nexport async function post(path, entity, requestOptions = {}) {\n const { apiUrl, withHeaders = false, signal } = requestOptions;\n const response = await request(\n path,\n {\n method: 'POST',\n headers: JSON_HEADERS,\n body: JSON.stringify(entity),\n signal,\n },\n { apiUrl, ...getAppKeyAndId() }\n );\n\n if (withHeaders) return response;\n\n return response && response.json();\n}\n\nexport async function getWithHeaders(path, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const qry = queryString.stringify(queryParams, { arrayFormat: 'bracket' });\n const { appKey, ...rest } = getAppKeyAndId() || {};\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'GET',\n signal,\n },\n { apiUrl, appKey: requestOptions.appKey || appKey, ...rest }\n );\n\n return {\n data: response && (await response.json()),\n headers: response && response.headers,\n };\n}\n\n/**\n * The get method is used to **read** (or retrieve) a representation of a resource\n * @async\n * @param {string} path - path to resource.\n * @param {Object=} queryParams - Object with query params such as per_page, sort, asset_id, etc.\n * @param {Object=} requestOptions - Additional options for request. For example: apiUrl, signal etc.\n * @returns {Promise<*>}\n */\nexport async function get(path, queryParams = {}, requestOptions = {}) {\n const { appKey, ...rest } = getAppKeyAndId() || {};\n const dataAndHeaders = await getWithHeaders(path, queryParams, {\n ...requestOptions,\n appKey: requestOptions.appKey || appKey,\n ...rest,\n });\n return dataAndHeaders.data;\n}\n\nexport async function getFile(path, queryParams = {}, requestOptions = {}) {\n const qry = queryString.stringify(queryParams);\n const { signal } = requestOptions;\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n { method: 'GET' },\n { ...getAppKeyAndId(), signal }\n );\n\n return response && response.blob();\n}\n\nexport async function put(path, content, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const qry = queryString.stringify(queryParams);\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'PUT',\n headers: JSON_HEADERS,\n body: JSON.stringify(content),\n },\n { apiUrl, ...getAppKeyAndId(), signal }\n );\n\n return response && response.json();\n}\n\nexport async function patch(path, content, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const qry = queryString.stringify(queryParams);\n\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'PATCH',\n headers: JSON_HEADERS,\n body: JSON.stringify(content),\n },\n {\n apiUrl,\n ...getAppKeyAndId(),\n signal,\n }\n );\n\n return response && response.json();\n}\n\nexport async function del(path, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const query = queryString.stringify(queryParams);\n const response = await request(\n query ? `${path}?${query}` : path,\n {\n method: 'DELETE',\n headers: JSON_HEADERS,\n },\n {\n apiUrl,\n ...getAppKeyAndId(),\n signal,\n }\n );\n\n return response && response.json();\n}\n\nexport async function sendFormData(path, data, queryParams = {}, requestOptions = {}) {\n const query = queryString.stringify(queryParams);\n const { method = 'POST', signal } = requestOptions;\n const formData = new FormData();\n\n Object.entries(data).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach(arrayValueEntity => {\n formData.append(key, arrayValueEntity);\n });\n } else {\n formData.append(key, value);\n }\n });\n\n const response = await request(\n query ? `${path}?${query}` : path,\n {\n method,\n headers: {\n Accept: 'application/json',\n },\n body: formData,\n },\n { ...getAppKeyAndId(), signal }\n );\n\n return response && response.json();\n}\n"],"names":["authRecovery","AuthRecovery","getInstance","HTTP_ERROR_MESSAGES","HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS","APIException","response","json","_classCallCheck","this","status","statusText","message","errorBody","_createClass","key","value","_this$errorBody","_this$errorBody$error","errors","login","_this$errorBody2","_this$errorBody2$erro","_this$errorBody2$erro2","includes","_this$errorBody3","_this$errorBody3$erro","_this$errorBody3$erro2","_this$errorBody4","_this$errorBody4$erro","_this$errorBody4$erro2","identity","baseUrl","CORVA_API_URLS","API","AUTH_HEADERS","getAuthorizationHeaders","JSON_HEADERS","_objectSpread","Accept","V1_ASSETS_REGEXP","requestCore","_x","_requestCore","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","path","config","overrides","_overrides$apiUrl","apiUrl","appKey","appInstanceId","_args2","wrap","_context2","prev","next","length","undefined","isRetry","apiRequestsRateLimiter","acquire","test","cache","credentials","abrupt","fetch","attachHTTPHeaders","stop","_callee2","requestCoreFunc","request","_errorHandler","_callee","exception","isLoginEndpoint","requestMethod","isMethodToShowNotification","httpErrorMessage","_args","_context","sent","ok","t0","startsWith","isRefreshableAuthError","tryRefresh","errorHandler","t1","console","error","method","hideNotification","DISPLAY_HTTP_MESSAGES","handleAuthFailure","_x2","_x3","_post","_callee3","entity","requestOptions","_requestOptions$withH","withHeaders","signal","_args3","_context3","headers","body","JSON","stringify","getAppKeyAndId","getWithHeaders","_x6","_getWithHeaders","queryParams","qry","_ref","rest","_args4","_context4","queryString","arrayFormat","_objectWithoutProperties","_excluded","t2","data","_callee4","_get","_ref2","dataAndHeaders","_args5","_context5","_excluded2","_callee5","_put","_callee7","content","_args7","_context7","_patch","_callee8","_args8","_context8","_del","query","_args9","_context9","concat","_callee9","_sendFormData","_callee10","_requestOptions$metho","formData","_args10","_context10","FormData","Object","entries","forEach","_ref3","_ref4","_slicedToArray","Array","isArray","arrayValueEntity","append","_x13","_x7","_x11","_x12","_x4","_x5","_x9","_x10","refresh_token","then","_x14","_x15"],"mappings":"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"}
1
+ {"version":3,"file":"apiCore.js","sources":["../../../../src/clients/api/apiCore.js"],"sourcesContent":["import * as queryString from 'query-string';\n\nimport { CORVA_API_URLS } from '../constants';\nimport { attachHTTPHeaders, getAppKeyAndId, getAuthorizationHeaders } from '../utils';\n\nimport { AuthRecovery } from './AuthRecovery';\nimport { DISPLAY_HTTP_MESSAGES } from './httpMessages';\n\nimport { apiRequestsRateLimiter } from '~/clients/api/rateLimiter';\n\n// Exported for callers outside the HTTP layer (the socket client's auth recovery). Import it from\n// here rather than from './AuthRecovery': that module imports `refreshToken` from this one, and\n// entering the cycle through AuthRecovery leaves `AuthRecovery` undefined at this line.\nexport const authRecovery = AuthRecovery.getInstance();\n\nconst HTTP_ERROR_MESSAGES = {\n 400: 'Request Failed',\n 403: 'No Permission',\n 404: 'Not Found',\n};\n\nconst TOS_ERROR_MESSAGE = 'Please accept the latest terms of service';\nconst LOCKED_ERROR_MESSAGE = 'Account has been locked';\nconst INVALID_VERIFICATION_CODE_MESSAGE = 'Invalid verification code';\nconst MISSING_VERIFICATION_CODE_MESSAGE = 'Missing verification code';\n\nconst HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS = [\n // NOTE: Do not show error notifications for GET method. Because users may request a deleted item\n 'POST',\n 'PUT',\n 'PATCH',\n 'DELETE',\n];\n\nexport class APIException {\n constructor(response, json) {\n this.status = response.status;\n this.statusText = response.statusText;\n this.message = json.message || 'No Message';\n this.errorBody = json;\n }\n\n isAuthenticationProblem() {\n return this.status === 401;\n }\n\n isTermsProblem() {\n // FIXME: this.message === TOS_ERROR_MESSAGE is a hack. Back-end team should come\n // with another solution.\n return this.status === 401 && this.message === TOS_ERROR_MESSAGE;\n }\n\n isLoginProblem() {\n return this.status === 401 && this.errorBody?.errors?.login;\n }\n\n isLockedAccountProblem() {\n return this.status === 401 && this.errorBody?.errors?.login?.includes(LOCKED_ERROR_MESSAGE);\n }\n\n isInvalidVerificationCode() {\n return (\n this.status === 401 &&\n this.errorBody?.errors?.login?.includes(INVALID_VERIFICATION_CODE_MESSAGE)\n );\n }\n\n isMissingVerificationCode() {\n return (\n this.status === 401 &&\n this.errorBody?.errors?.identity?.includes(MISSING_VERIFICATION_CODE_MESSAGE)\n );\n }\n}\n\nexport const baseUrl = CORVA_API_URLS.API;\n\nconst AUTH_HEADERS = getAuthorizationHeaders();\nconst JSON_HEADERS = {\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n ...AUTH_HEADERS,\n};\n\nexport function handleAuthenticationProblem(e) {\n authRecovery.handleAuthFailure(e);\n}\n\nconst V1_ASSETS_REGEXP = /^\\/v1\\/assets.*/;\n\nasync function requestCore(path, config = {}, overrides = {}) {\n const { apiUrl = baseUrl, appKey, appInstanceId } = overrides;\n\n if (appKey && appInstanceId && !overrides.isRetry) {\n // Skip rate-limiter acquisition on retries. When a 401 triggers a token\n // refresh, errorHandler re-invokes requestCore with isRetry: true.\n // The original call already consumed a rate-limiter token, so acquiring\n // again would double-count a single logical request.\n // Because in the RateLimiter there is no release(),\n // the extra acquire on retries is an unrecoverable leak.\n await apiRequestsRateLimiter.acquire(appKey, appInstanceId);\n }\n\n // temporary enable cache for the heaviest request\n if (V1_ASSETS_REGEXP.test(path)) {\n config.cache = 'reload'; // eslint-disable-line no-param-reassign\n }\n\n config.credentials = 'include'; // eslint-disable-line no-param-reassign\n\n return fetch(`${apiUrl}${path}`, attachHTTPHeaders({ config, appKey, ...AUTH_HEADERS }));\n}\n\n/**\n * Used as refreshFn for AuthRecovery.\n * Triggers a token refresh request using the /v1/user_token endpoint.\n * The refresh mechanism is based on the refresh token stored in the dedicated HTTP-only cookie.\n *\n * Should not be used outside of AuthRecovery and Corva UI.\n */\nexport function refreshToken() {\n return requestCore('/v1/user_token', {\n method: 'POST',\n headers: JSON_HEADERS,\n body: JSON.stringify({ refresh_token: true }),\n }).then(response => {\n if (!response.ok) {\n throw new APIException(response, {});\n }\n });\n}\n\nfunction errorHandlerDecorator(requestCoreFunc) {\n return async function errorHandler(path, config, overrides = {}) {\n const response = await requestCoreFunc(path, config, overrides);\n\n const { status } = response;\n\n if (response.ok) {\n return status === 204 // NOTE: No content\n ? null\n : response;\n }\n\n // NOTE: Handle Error response logic\n let json;\n try {\n json = await response.json();\n } catch (e) {\n json = {};\n }\n const exception = new APIException(response, json);\n\n // Token expired: attempt refresh and retry the original request once.\n // Skip non-refreshable 401s (Terms of Service, login-credential errors) and the login/token\n // endpoint itself, where a refresh would be either pointless or self-recursive.\n const isLoginEndpoint = path.startsWith('/v1/user_token');\n if (authRecovery.isRefreshableAuthError(exception) && !isLoginEndpoint && !overrides.isRetry) {\n try {\n await authRecovery.tryRefresh();\n return errorHandler(path, config, { ...overrides, isRetry: true }); // Ensure retrying only once.\n } catch (refreshError) {\n console.error('Token refresh failed:', refreshError);\n // Refresh failed — fall through to authRecovery.handleAuthFailure\n }\n }\n\n const requestMethod = config.method;\n const isMethodToShowNotification =\n !overrides.hideNotification &&\n HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS.includes(requestMethod);\n\n const httpErrorMessage = DISPLAY_HTTP_MESSAGES[json.message] || HTTP_ERROR_MESSAGES[status];\n\n if (isMethodToShowNotification && httpErrorMessage) {\n console.error(httpErrorMessage);\n }\n\n authRecovery.handleAuthFailure(exception);\n\n throw exception;\n };\n}\n\nconst request = errorHandlerDecorator(requestCore);\n\n/**\n * The post method is most-often utilized to **create** new resources.\n * @async\n * @param {string} path - path to resource.\n * @param {Object=} entity - API entity to create\n * @returns {Promise<*>}\n */\nexport async function post(path, entity, requestOptions = {}) {\n const { apiUrl, withHeaders = false, signal } = requestOptions;\n const response = await request(\n path,\n {\n method: 'POST',\n headers: JSON_HEADERS,\n body: JSON.stringify(entity),\n signal,\n },\n { apiUrl, ...getAppKeyAndId() }\n );\n\n if (withHeaders) return response;\n\n return response && response.json();\n}\n\nexport async function getWithHeaders(path, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const qry = queryString.stringify(queryParams, { arrayFormat: 'bracket' });\n const { appKey, ...rest } = getAppKeyAndId() || {};\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'GET',\n signal,\n },\n { apiUrl, appKey: requestOptions.appKey || appKey, ...rest }\n );\n\n return {\n data: response && (await response.json()),\n headers: response && response.headers,\n };\n}\n\n/**\n * The get method is used to **read** (or retrieve) a representation of a resource\n * @async\n * @param {string} path - path to resource.\n * @param {Object=} queryParams - Object with query params such as per_page, sort, asset_id, etc.\n * @param {Object=} requestOptions - Additional options for request. For example: apiUrl, signal etc.\n * @returns {Promise<*>}\n */\nexport async function get(path, queryParams = {}, requestOptions = {}) {\n const { appKey, ...rest } = getAppKeyAndId() || {};\n const dataAndHeaders = await getWithHeaders(path, queryParams, {\n ...requestOptions,\n appKey: requestOptions.appKey || appKey,\n ...rest,\n });\n return dataAndHeaders.data;\n}\n\nexport async function getFile(path, queryParams = {}, requestOptions = {}) {\n const qry = queryString.stringify(queryParams);\n const { signal } = requestOptions;\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n { method: 'GET' },\n { ...getAppKeyAndId(), signal }\n );\n\n return response && response.blob();\n}\n\nexport async function put(path, content, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const qry = queryString.stringify(queryParams);\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'PUT',\n headers: JSON_HEADERS,\n body: JSON.stringify(content),\n },\n { apiUrl, ...getAppKeyAndId(), signal }\n );\n\n return response && response.json();\n}\n\nexport async function patch(path, content, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const qry = queryString.stringify(queryParams);\n\n const response = await request(\n `${path}${qry ? '?' : ''}${qry}`,\n {\n method: 'PATCH',\n headers: JSON_HEADERS,\n body: JSON.stringify(content),\n },\n {\n apiUrl,\n ...getAppKeyAndId(),\n signal,\n }\n );\n\n return response && response.json();\n}\n\nexport async function del(path, queryParams = {}, requestOptions = {}) {\n const { apiUrl, signal } = requestOptions;\n const query = queryString.stringify(queryParams);\n const response = await request(\n query ? `${path}?${query}` : path,\n {\n method: 'DELETE',\n headers: JSON_HEADERS,\n },\n {\n apiUrl,\n ...getAppKeyAndId(),\n signal,\n }\n );\n\n return response && response.json();\n}\n\nexport async function sendFormData(path, data, queryParams = {}, requestOptions = {}) {\n const query = queryString.stringify(queryParams);\n const { method = 'POST', signal } = requestOptions;\n const formData = new FormData();\n\n Object.entries(data).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach(arrayValueEntity => {\n formData.append(key, arrayValueEntity);\n });\n } else {\n formData.append(key, value);\n }\n });\n\n const response = await request(\n query ? `${path}?${query}` : path,\n {\n method,\n headers: {\n Accept: 'application/json',\n },\n body: formData,\n },\n { ...getAppKeyAndId(), signal }\n );\n\n return response && response.json();\n}\n"],"names":["authRecovery","AuthRecovery","getInstance","HTTP_ERROR_MESSAGES","HTTP_METHODS_TO_SHOW_ERROR_NOTIFICATIONS","APIException","response","json","_classCallCheck","this","status","statusText","message","errorBody","_createClass","key","value","_this$errorBody","_this$errorBody$error","errors","login","_this$errorBody2","_this$errorBody2$erro","_this$errorBody2$erro2","includes","_this$errorBody3","_this$errorBody3$erro","_this$errorBody3$erro2","_this$errorBody4","_this$errorBody4$erro","_this$errorBody4$erro2","identity","baseUrl","CORVA_API_URLS","API","AUTH_HEADERS","getAuthorizationHeaders","JSON_HEADERS","_objectSpread","Accept","V1_ASSETS_REGEXP","requestCore","_x","_requestCore","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","path","config","overrides","_overrides$apiUrl","apiUrl","appKey","appInstanceId","_args2","wrap","_context2","prev","next","length","undefined","isRetry","apiRequestsRateLimiter","acquire","test","cache","credentials","abrupt","fetch","attachHTTPHeaders","stop","_callee2","requestCoreFunc","request","_errorHandler","_callee","exception","isLoginEndpoint","requestMethod","isMethodToShowNotification","httpErrorMessage","_args","_context","sent","ok","t0","startsWith","isRefreshableAuthError","tryRefresh","errorHandler","t1","console","error","method","hideNotification","DISPLAY_HTTP_MESSAGES","handleAuthFailure","_x2","_x3","_post","_callee3","entity","requestOptions","_requestOptions$withH","withHeaders","signal","_args3","_context3","headers","body","JSON","stringify","getAppKeyAndId","getWithHeaders","_x6","_getWithHeaders","queryParams","qry","_ref","rest","_args4","_context4","queryString","arrayFormat","_objectWithoutProperties","_excluded","t2","data","_callee4","_get","_ref2","dataAndHeaders","_args5","_context5","_excluded2","_callee5","_put","_callee7","content","_args7","_context7","_patch","_callee8","_args8","_context8","_del","query","_args9","_context9","concat","_callee9","_sendFormData","_callee10","_requestOptions$metho","formData","_args10","_context10","FormData","Object","entries","forEach","_ref3","_ref4","_slicedToArray","Array","isArray","arrayValueEntity","append","_x13","_x7","_x11","_x12","_x4","_x5","_x9","_x10","refresh_token","then","_x14","_x15"],"mappings":"6lDAaaA,EAAeC,EAAYA,aAACC,cAEnCC,EAAsB,CAC1B,IAAK,iBACL,IAAK,gBACL,IAAK,aAQDC,EAA2C,CAE/C,OACA,MACA,QACA,UAGWC,EAAY,WACvB,SAAYC,EAAAA,EAAUC,GAAMC,UAAAC,KAAAJ,GAC1BI,KAAKC,OAASJ,EAASI,OACvBD,KAAKE,WAAaL,EAASK,WAC3BF,KAAKG,QAAUL,EAAKK,SAAW,aAC/BH,KAAKI,UAAYN,CACnB,CAgCC,OAhCAO,EAAA,QAAAT,EAAA,CAAA,CAAAU,IAAA,0BAAAC,MAED,WACE,OAAuB,MAAhBP,KAAKC,MACd,GAAC,CAAAK,IAAA,iBAAAC,MAED,WAGE,OAAuB,MAAhBP,KAAKC,QA5BU,8CA4BQD,KAAKG,OACrC,GAAC,CAAAG,IAAA,iBAAAC,MAED,WAAiB,IAAAC,EAAAC,EACf,OAAuB,MAAhBT,KAAKC,SAAkB,QAAAO,EAAAR,KAAKI,iBAAL,IAAAI,GAAsB,QAAtBC,EAAAD,EAAgBE,cAAM,IAAAD,OAAtB,EAAAA,EAAwBE,MACxD,GAAC,CAAAL,IAAA,yBAAAC,MAED,WAAyB,IAAAK,EAAAC,EAAAC,EACvB,OAAuB,MAAhBd,KAAKC,SAAgC,QAAdW,EAAAZ,KAAKI,iBAAS,IAAAQ,GAAQ,QAARC,EAAdD,EAAgBF,cAAM,IAAAG,GAAO,QAAPC,EAAtBD,EAAwBF,aAAK,IAAAG,OAAf,EAAdA,EAA+BC,SAnCpC,2BAoC3B,GAAC,CAAAT,IAAA,4BAAAC,MAED,WAA4B,IAAAS,EAAAC,EAAAC,EAC1B,OACkB,MAAhBlB,KAAKC,SACS,QAAde,EAAAhB,KAAKI,iBAAS,IAAAY,GAAQ,QAARC,EAAdD,EAAgBN,cAAM,IAAAO,GAAO,QAAPC,EAAtBD,EAAwBN,aAAK,IAAAO,OAAf,EAAdA,EAA+BH,SAxCK,6BA0CxC,GAAC,CAAAT,IAAA,4BAAAC,MAED,WAA4B,IAAAY,EAAAC,EAAAC,EAC1B,OACkB,MAAhBrB,KAAKC,SACS,QAAdkB,EAAAnB,KAAKI,iBAAS,IAAAe,GAAQ,QAARC,EAAdD,EAAgBT,cAAM,IAAAU,GAAU,QAAVC,EAAtBD,EAAwBE,gBAAQ,IAAAD,OAAlB,EAAdA,EAAkCN,SA9CE,6BAgDxC,KAACnB,CAAA,CAtCsB,GAyCZ2B,EAAUC,EAAcA,eAACC,IAEhCC,EAAeC,EAAuBA,0BACtCC,EAAYC,EAAA,CAChB,eAAgB,mBAChBC,OAAQ,oBACLJ,GAOCK,EAAmB,kBAAkB,SAE5BC,EAAWC,GAAA,OAAAC,EAAAC,MAAAnC,KAAAoC,UAAA,CAuB1B,SAAAF,IAFC,OAEDA,EAAAG,EAAA,QAAAC,EAAA,QAAAC,MAvBA,WAA2BC,GAAI,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAX,UAAA,OAAAE,UAAAU,MAAA,SAAAC,GAAA,OAAA,OAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EACkB,GADhBV,EAAMM,EAAAK,OAAA,QAAAC,IAAAN,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAIL,EAASK,EAAAK,OAAA,QAAAC,IAAAN,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAEJ,EACND,EAA5CE,OAAAA,OAAM,IAAAD,EAAGpB,EAASsB,EAAAA,EAA0BH,EAA1BG,OAAQC,EAAkBJ,EAAlBI,eAE9BD,IAAUC,GAAkBJ,EAAUY,QAAO,CAAAL,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAE,KAAA,EAOzCI,yBAAuBC,QAAQX,EAAQC,GAAc,KAAA,EAQ7B,OAJ5Bf,EAAiB0B,KAAKjB,KACxBC,EAAOiB,MAAQ,UAGjBjB,EAAOkB,YAAc,UAAWV,EAAAW,OAAA,SAEzBC,MAASjB,GAAAA,OAAAA,GAASJ,OAAAA,GAAQsB,EAAAA,kBAAiBjC,EAAA,CAAGY,OAAAA,EAAQI,OAAAA,GAAWnB,MAAgB,KAAA,EAAA,IAAA,MAAA,OAAAuB,EAAAc,OAAA,GAAAC,EACzF,KAAA9B,EAAAC,MAAAnC,KAAAoC,UAAA,CAyED,IApD+B6B,EAoDzBC,GApDyBD,EAoDOjC,EAnDpC,WAAA,IAAOmC,EAAA9B,EAAAA,QAAAC,EAAA,QAAAC,MAAA,SAAA6B,EAA4B5B,EAAMC,GAAM,IAAAC,EAAA7C,EAAAI,EAAAH,EAAAuE,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAtC,UAAA,OAAAE,UAAAU,MAAA,SAAA2B,GAAA,OAAA,OAAAA,EAAAzB,KAAAyB,EAAAxB,MAAA,KAAA,EAAgB,OAAdT,EAASgC,EAAAtB,OAAA,QAAAC,IAAAqB,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAEC,EAAAxB,KAAA,EACtCc,EAAgBzB,EAAMC,EAAQC,GAAU,KAAA,EAEjD,GAFR7C,EAAQ8E,EAAAC,KAEN3E,EAAWJ,EAAXI,QAEJJ,EAASgF,GAAE,CAAAF,EAAAxB,KAAA,EAAA,KAAA,CAAA,OACNlD,EAAAA,OAAAA,SAAW,MAAXA,EACH,KACAJ,GAAQ,KAAA,EAAA,OAAA8E,EAAAzB,KAAA,EAAAyB,EAAAxB,KAAA,GAMCtD,EAASC,OAAM,KAAA,GAA5BA,EAAI6E,EAAAC,KAAAD,EAAAxB,KAAA,GAAA,MAAA,KAAA,GAAAwB,EAAAzB,KAAA,GAAAyB,EAAAG,GAAAH,EAAA,MAAA,GAEJ7E,EAAO,CAAA,EAAG,KAAA,GAO6C,GALnDuE,EAAY,IAAIzE,EAAaC,EAAUC,GAKvCwE,EAAkB9B,EAAKuC,WAAW,mBACpCxF,EAAayF,uBAAuBX,IAAeC,GAAoB5B,EAAUY,QAAO,CAAAqB,EAAAxB,KAAA,GAAA,KAAA,CAAA,OAAAwB,EAAAzB,KAAA,GAAAyB,EAAAxB,KAAA,GAElF5D,EAAa0F,aAAY,KAAA,GAAA,OAAAN,EAAAf,OAAA,SACxBsB,EAAa1C,EAAMC,SAAaC,GAAS,CAAA,EAAA,CAAEY,SAAS,MAAO,KAAA,GAAAqB,EAAAzB,KAAA,GAAAyB,EAAAQ,GAAAR,EAAA,MAAA,IAElES,QAAQC,MAAM,wBAAsCV,EAAAQ,IACpD,KAAA,GAesC,MAXpCZ,EAAgB9B,EAAO6C,OACvBd,GACH9B,EAAU6C,kBACX5F,EAAyCoB,SAASwD,GAE9CE,EAAmBe,EAAqBA,sBAAC1F,EAAKK,UAAYT,EAAoBO,GAEhFuE,GAA8BC,GAChCW,QAAQC,MAAMZ,GAGhBlF,EAAakG,kBAAkBpB,GAEzBA,EAAS,KAAA,GAAA,IAAA,MAAA,OAAAM,EAAAZ,OAAA,GAAAK,EAAA,KAAA,CAAA,CAAA,EAAA,IAAA,CAAA,GAAA,KAChB,KAAA,SAhDqBc,EAAYQ,EAAAC,GAAA,OAAAxB,EAAAhC,MAAAnC,KAAAoC,UAAA,CAAA,OAAZ8C,CAAY,CAAlC,IA4ED,SAAAU,IAAA,OAAAA,EAhBMvD,EAAA,QAAAC,UAAAC,MAAA,SAAAsD,EAAoBrD,EAAMsD,GAAM,IAAAC,EAAAnD,EAAAoD,EAAAC,EAAAC,EAAArG,EAAAsG,EAAA/D,UAAA,OAAAE,UAAAU,MAAA,SAAAoD,GAAA,OAAA,OAAAA,EAAAlD,KAAAkD,EAAAjD,MAAA,KAAA,EACM,OADJ4C,EAAcI,EAAA/C,OAAA,QAAAC,IAAA8C,EAAA,GAAAA,EAAA,GAAG,CAAA,EAChDvD,EAAwCmD,EAAxCnD,OAAMoD,EAAkCD,EAAhCE,YAAAA,cAAmBD,EAAEE,EAAWH,EAAXG,OAAME,EAAAjD,KAAA,EACpBe,EACrB1B,EACA,CACE8C,OAAQ,OACRe,QAASzE,EACT0E,KAAMC,KAAKC,UAAUV,GACrBI,OAAAA,GACDrE,EAAA,CACCe,OAAAA,GAAW6D,EAAAA,mBACd,KAAA,EATa,GAAR5G,EAAQuG,EAAAxB,MAWVqB,EAAW,CAAAG,EAAAjD,KAAA,EAAA,KAAA,CAAA,OAAAiD,EAAAxC,OAAA,SAAS/D,GAAQ,KAAA,EAAA,OAAAuG,EAAAxC,OAAA,SAEzB/D,GAAYA,EAASC,QAAM,KAAA,EAAA,IAAA,MAAA,OAAAsG,EAAArC,OAAA,GAAA8B,EACnC,KAAAD,EAAAzD,MAAAnC,KAAAoC,UAAA,CAED,SAAsBsE,EAAcC,GAAA,OAAAC,EAAAzE,MAAAnC,KAAAoC,UAAA,CAmBpC,SAAAwE,IAFC,OAEDA,EAAAvE,EAAA,QAAAC,EAAA,QAAAC,MAnBO,WAA8BC,GAAI,IAAAqE,EAAAd,EAAAnD,EAAAsD,EAAAY,EAAAC,EAAAlE,EAAAmE,EAAAnH,EAAAoH,EAAA7E,UAAA,OAAAE,UAAAU,MAAA,SAAAkE,GAAA,OAAA,OAAAA,EAAAhE,KAAAgE,EAAA/D,MAAA,KAAA,EAGhB,OAHkB0D,EAAWI,EAAA7D,OAAA,QAAAC,IAAA4D,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAIlB,EAAckB,EAAA7D,OAAA,QAAAC,IAAA4D,EAAA,GAAAA,EAAA,GAAG,CAAA,EACpErE,EAAmBmD,EAAnBnD,OAAQsD,EAAWH,EAAXG,OACVY,EAAMK,EAAYX,UAAUK,EAAa,CAAEO,YAAa,YAAYL,EAC9CN,EAAcA,kBAAM,CAAE,EAA1C5D,EAAMkE,EAANlE,OAAWmE,EAAIK,EAAAA,QAAAN,EAAAO,GAAAJ,EAAA/D,KAAA,EACAe,EAClB1B,GAAAA,OAAAA,GAAOsE,OAAAA,EAAM,IAAM,IAAKA,OAAAA,GAC3B,CACExB,OAAQ,MACRY,OAAAA,GACDrE,EAAA,CACCe,OAAAA,EAAQC,OAAQkD,EAAelD,QAAUA,GAAWmE,IACvD,KAAA,EAGe,GAVVnH,EAAQqH,EAAAtC,KAAAsC,EAAApC,GAUNjF,GAAQqH,EAAApC,GAAA,CAAAoC,EAAA/D,KAAA,GAAA,KAAA,CAAA,OAAA+D,EAAA/D,KAAA,GAAWtD,EAASC,OAAM,KAAA,GAAAoH,EAAApC,GAAAoC,EAAAtC,KAAA,KAAA,GACH,OADGsC,EAAA/B,GAAA+B,EAAApC,GAAAoC,EAAAK,GAC/B1H,GAAYA,EAASwG,QAAOa,EAAAtD,OAAA,SAAA,CADrC4D,KAAIN,EAAA/B,GACJkB,QAAOa,EAAAK,KAAA,KAAA,GAAA,IAAA,MAAA,OAAAL,EAAAnD,OAAA,GAAA0D,EAEV,KAAAb,EAAAzE,MAAAnC,KAAAoC,UAAA,CAkBA,SAAAsF,IAAA,OAAAA,EAAArF,EAAA,QAAAC,EAAA,QAAAC,MARM,WAAmBC,GAAI,IAAAqE,EAAAd,EAAA4B,EAAA9E,EAAAmE,EAAAY,EAAAC,EAAAzF,UAAA,OAAAE,UAAAU,MAAA,SAAA8E,GAAA,OAAA,OAAAA,EAAA5E,KAAA4E,EAAA3E,MAAA,KAAA,EACL,OADO0D,EAAWgB,EAAAzE,OAAA,QAAAC,IAAAwE,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAI9B,EAAc8B,EAAAzE,OAAA,QAAAC,IAAAwE,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAEF,EACvClB,EAAcA,kBAAM,CAAE,EAA1C5D,EAAM8E,EAAN9E,OAAWmE,EAAIK,EAAAA,QAAAM,EAAAI,GAAAD,EAAA3E,KAAA,EACMuD,EAAelE,EAAMqE,SAC7Cd,GAAc,GAAA,CACjBlD,OAAQkD,EAAelD,QAAUA,GAC9BmE,IACH,KAAA,EAJkB,OAAdY,EAAcE,EAAAlD,KAKbgD,EAAAA,OAAAA,SAAAA,EAAeJ,MAAI,KAAA,EAAA,IAAA,MAAA,OAAAM,EAAA/D,OAAA,GAAAiE,EAC3B,KAAAN,EAAAvF,MAAAnC,KAAAoC,UAAA,CA4BA,SAAA6F,IAAA,OAAAA,EAdM5F,EAAA,QAAAC,UAAAC,MAAA,SAAA2F,EAAmB1F,EAAM2F,GAAO,IAAAtB,EAAAd,EAAAnD,EAAAsD,EAAAY,EAAAjH,EAAAuI,EAAAhG,UAAA,OAAAE,UAAAU,MAAA,SAAAqF,GAAA,OAAA,OAAAA,EAAAnF,KAAAmF,EAAAlF,MAAA,KAAA,EAES,OAFP0D,EAAWuB,EAAAhF,OAAA,QAAAC,IAAA+E,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAIrC,EAAcqC,EAAAhF,OAAA,QAAAC,IAAA+E,EAAA,GAAAA,EAAA,GAAG,CAAA,EAClExF,EAAmBmD,EAAnBnD,OAAQsD,EAAWH,EAAXG,OACVY,EAAMK,EAAYX,UAAUK,GAAYwB,EAAAlF,KAAA,EACvBe,EAClB1B,GAAAA,OAAAA,GAAOsE,OAAAA,EAAM,IAAM,IAAKA,OAAAA,GAC3B,CACExB,OAAQ,MACRe,QAASzE,EACT0E,KAAMC,KAAKC,UAAU2B,IACtBtG,EAAAA,EAAA,CACCe,OAAAA,GAAW6D,EAAcA,kBAAE,GAAA,CAAEP,OAAAA,KAChC,KAAA,EARa,OAARrG,EAAQwI,EAAAzD,KAAAyD,EAAAzE,OAAA,SAUP/D,GAAYA,EAASC,QAAM,KAAA,EAAA,IAAA,MAAA,OAAAuI,EAAAtE,OAAA,GAAAmE,EACnC,KAAAD,EAAA9F,MAAAnC,KAAAoC,UAAA,CAqBA,SAAAkG,IAAA,OAAAA,EAnBMjG,EAAA,QAAAC,UAAAC,MAAA,SAAAgG,EAAqB/F,EAAM2F,GAAO,IAAAtB,EAAAd,EAAAnD,EAAAsD,EAAAY,EAAAjH,EAAA2I,EAAApG,UAAA,OAAAE,UAAAU,MAAA,SAAAyF,GAAA,OAAA,OAAAA,EAAAvF,KAAAuF,EAAAtF,MAAA,KAAA,EAEO,OAFL0D,EAAW2B,EAAApF,OAAA,QAAAC,IAAAmF,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAIzC,EAAcyC,EAAApF,OAAA,QAAAC,IAAAmF,EAAA,GAAAA,EAAA,GAAG,CAAA,EACpE5F,EAAmBmD,EAAnBnD,OAAQsD,EAAWH,EAAXG,OACVY,EAAMK,EAAYX,UAAUK,GAAY4B,EAAAtF,KAAA,EAEvBe,EAClB1B,GAAAA,OAAAA,GAAOsE,OAAAA,EAAM,IAAM,IAAKA,OAAAA,GAC3B,CACExB,OAAQ,QACRe,QAASzE,EACT0E,KAAMC,KAAKC,UAAU2B,IACtBtG,EAAAA,EAAA,CAECe,OAAAA,GACG6D,EAAcA,kBAAE,GAAA,CACnBP,OAAAA,KAEH,KAAA,EAZa,OAARrG,EAAQ4I,EAAA7D,KAAA6D,EAAA7E,OAAA,SAcP/D,GAAYA,EAASC,QAAM,KAAA,EAAA,IAAA,MAAA,OAAA2I,EAAA1E,OAAA,GAAAwE,EACnC,KAAAD,EAAAnG,MAAAnC,KAAAoC,UAAA,CAmBA,SAAAsG,IAAA,OAAAA,EAAArG,EAAA,QAAAC,EAAA,QAAAC,MAjBM,WAAmBC,GAAI,IAAAqE,EAAAd,EAAAnD,EAAAsD,EAAAyC,EAAA9I,EAAA+I,EAAAxG,UAAA,OAAAE,UAAAU,MAAA,SAAA6F,GAAA,OAAA,OAAAA,EAAA3F,KAAA2F,EAAA1F,MAAA,KAAA,EAEoB,OAFlB0D,EAAW+B,EAAAxF,OAAA,QAAAC,IAAAuF,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAI7C,EAAc6C,EAAAxF,OAAA,QAAAC,IAAAuF,EAAA,GAAAA,EAAA,GAAG,CAAA,EACzDhG,EAAmBmD,EAAnBnD,OAAQsD,EAAWH,EAAXG,OACVyC,EAAQxB,EAAYX,UAAUK,GAAYgC,EAAA1F,KAAA,EACzBe,EACrByE,EAAK,GAAAG,OAAMtG,EAAQmG,KAAAA,OAAAA,GAAUnG,EAC7B,CACE8C,OAAQ,SACRe,QAASzE,GACVC,EAAAA,EAAA,CAECe,OAAAA,GACG6D,EAAcA,kBAAE,GAAA,CACnBP,OAAAA,KAEH,KAAA,EAXa,OAARrG,EAAQgJ,EAAAjE,KAAAiE,EAAAjF,OAAA,SAaP/D,GAAYA,EAASC,QAAM,KAAA,EAAA,IAAA,MAAA,OAAA+I,EAAA9E,OAAA,GAAAgF,EACnC,KAAAL,EAAAvG,MAAAnC,KAAAoC,UAAA,CA8BA,SAAA4G,IAAA,OAAAA,EA5BM3G,EAAA,QAAAC,UAAAC,MAAA,SAAA0G,EAA4BzG,EAAMgF,GAAI,IAAAX,EAAAd,EAAA4C,EAAAO,EAAA5D,EAAAY,EAAAiD,EAAAtJ,EAAAuJ,EAAAhH,UAAA,OAAAE,UAAAU,MAAA,SAAAqG,GAAA,OAAA,OAAAA,EAAAnG,KAAAmG,EAAAlG,MAAA,KAAA,EAaxC,OAb0C0D,EAAWuC,EAAAhG,OAAA,QAAAC,IAAA+F,EAAA,GAAAA,EAAA,GAAG,CAAA,EAAIrD,EAAcqD,EAAAhG,OAAA,QAAAC,IAAA+F,EAAA,GAAAA,EAAA,GAAG,CAAA,EAC1ET,EAAQxB,EAAYX,UAAUK,GAAYqC,EACZnD,EAA5BT,OAAAA,OAAM,IAAA4D,EAAG,OAAMA,EAAEhD,EAAWH,EAAXG,OACnBiD,EAAW,IAAIG,SAErBC,OAAOC,QAAQhC,GAAMiC,SAAQ,SAAkBC,GAAA,IAAAC,EAAAC,EAAAA,QAAAF,EAAA,GAAhBpJ,EAAGqJ,EAAA,GAAEpJ,EAAKoJ,EAAA,GACnCE,MAAMC,QAAQvJ,GAChBA,EAAMkJ,SAAQ,SAAAM,GACZZ,EAASa,OAAO1J,EAAKyJ,EACvB,IAEAZ,EAASa,OAAO1J,EAAKC,EAEzB,IAAG8I,EAAAlG,KAAA,EAEoBe,EACrByE,EAAK,GAAAG,OAAMtG,EAAQmG,KAAAA,OAAAA,GAAUnG,EAC7B,CACE8C,OAAAA,EACAe,QAAS,CACPvE,OAAQ,oBAEVwE,KAAM6C,GACPtH,EAAAA,EAAA,CAAA,EACI4E,EAAAA,kBAAgB,CAAA,EAAA,CAAEP,OAAAA,KACxB,KAAA,EAVa,OAARrG,EAAQwJ,EAAAzE,KAAAyE,EAAAzF,OAAA,SAYP/D,GAAYA,EAASC,QAAM,KAAA,GAAA,IAAA,MAAA,OAAAuJ,EAAAtF,OAAA,GAAAkF,EACnC,KAAAD,EAAA7G,MAAAnC,KAAAoC,UAAA,6EA/CD,SAAyB6H,GAAA,OAAAvB,EAAAvG,MAAAnC,KAAAoC,UAAA,cA3DzB,SAAyB8H,GAAA,OAAAxC,EAAAvF,MAAAnC,KAAAoC,UAAA,yCAsCzB,SAA2B+H,EAAAC,GAAA,OAAA9B,EAAAnG,MAAAnC,KAAAoC,UAAA,eAnF3B,SAA0BiI,EAAAC,GAAA,OAAA1E,EAAAzD,MAAAnC,KAAAoC,UAAA,cAmE1B,SAAyBmI,EAAAC,GAAA,OAAAvC,EAAA9F,MAAAnC,KAAAoC,UAAA,uBA5IlB,WACL,OAAOJ,EAAY,iBAAkB,CACnCsD,OAAQ,OACRe,QAASzE,EACT0E,KAAMC,KAAKC,UAAU,CAAEiE,eAAe,MACrCC,MAAK,SAAA7K,GACN,IAAKA,EAASgF,GACZ,MAAM,IAAIjF,EAAaC,EAAU,CAAA,EAErC,GACF,uBA0LA,SAAkC8K,EAAAC,GAAA,OAAA5B,EAAA7G,MAAAnC,KAAAoC,UAAA"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("./get-channel-name.js"),r=require("./subscriptions-client.factory.js");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=n(e);function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){i.default(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var u={subscribe:function(e,n){var i=n.onDataReceive,o=r.SubscriptionsClientFactory.init(),u=t.getChannelName(e);return o.subscribe(u,(function(t){return i(c(c({},e),{},{data:t}))}))},onConnectionChange:function(e){return r.SubscriptionsClientFactory.init().onConnectionChange(e)},disconnect:function(){r.SubscriptionsClientFactory.init().disconnect()}};exports.socketClientV2=u;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("./get-channel-name.js"),n=require("./subscriptions-client.factory.js");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=r(e);function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){o.default(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var u={subscribe:function(e,r){var o=r.onDataReceive,i=n.SubscriptionsClientFactory.init(),u=t.getChannelName(e);return i.subscribe(u,(function(t){return o(c(c({},e),{},{data:t}))}))},onConnectionChange:function(e){return n.SubscriptionsClientFactory.init().onConnectionChange(e)},disconnect:function(){n.SubscriptionsClientFactory.dispose()},ensureConnected:function(){var e;null===(e=n.SubscriptionsClientFactory.get())||void 0===e||e.ensureConnected()}};exports.socketClientV2=u;
2
2
  //# sourceMappingURL=socket-client.v2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"socket-client.v2.js","sources":["../../../../src/clients/subscriptions/socket-client.v2.ts"],"sourcesContent":["import { getChannelName } from './get-channel-name';\nimport { SubscriptionsClientFactory } from './subscriptions-client.factory';\nimport { SubscribeOptions, OnConnectionChange } from './types';\n\nexport const socketClientV2 = {\n subscribe: <O extends SubscribeOptions = SubscribeOptions, T = Record<string, any>>(\n subscription: O,\n { onDataReceive }: { onDataReceive: (data: O & { data: T }) => any }\n ) => {\n const client = SubscriptionsClientFactory.init();\n const channel = getChannelName(subscription);\n\n return client.subscribe<T>(channel, data => onDataReceive({ ...subscription, data }));\n },\n onConnectionChange: (handler: OnConnectionChange) => {\n const client = SubscriptionsClientFactory.init();\n return client.onConnectionChange(handler);\n },\n disconnect: () => {\n const client = SubscriptionsClientFactory.init();\n\n client.disconnect();\n },\n};\n"],"names":["socketClientV2","subscribe","subscription","_ref","onDataReceive","client","SubscriptionsClientFactory","init","channel","getChannelName","data","onConnectionChange","handler","disconnect"],"mappings":"u2BAIO,IAAMA,EAAiB,CAC5BC,UAAW,SACTC,EAEGC,GAAA,IADDC,IAAAA,cAEIC,EAASC,6BAA2BC,OACpCC,EAAUC,iBAAeP,GAE/B,OAAOG,EAAOJ,UAAaO,GAAS,SAAAE,GAAI,OAAIN,SAAmBF,GAAY,GAAA,CAAEQ,KAAAA,OAC9E,EACDC,mBAAoB,SAACC,GAEnB,OADeN,6BAA2BC,OAC5BI,mBAAmBC,EAClC,EACDC,WAAY,WACKP,6BAA2BC,OAEnCM,YACT"}
1
+ {"version":3,"file":"socket-client.v2.js","sources":["../../../../src/clients/subscriptions/socket-client.v2.ts"],"sourcesContent":["import { getChannelName } from './get-channel-name';\nimport { SubscriptionsClientFactory } from './subscriptions-client.factory';\nimport { SubscribeOptions, OnConnectionChange } from './types';\n\nexport const socketClientV2 = {\n subscribe: <O extends SubscribeOptions = SubscribeOptions, T = Record<string, any>>(\n subscription: O,\n { onDataReceive }: { onDataReceive: (data: O & { data: T }) => any }\n ) => {\n const client = SubscriptionsClientFactory.init();\n const channel = getChannelName(subscription);\n\n return client.subscribe<T>(channel, data => onDataReceive({ ...subscription, data }));\n },\n onConnectionChange: (handler: OnConnectionChange) => {\n const client = SubscriptionsClientFactory.init();\n return client.onConnectionChange(handler);\n },\n /**\n * Disconnect and drop the shared client (logout). The next `subscribe` builds a fresh socket.\n */\n disconnect: () => {\n SubscriptionsClientFactory.dispose();\n },\n /**\n * Reconnect the shared client if it has given up (e.g. an expired session while the tab was\n * suspended). No-op when there is no client yet, it is connected, or it is already retrying.\n */\n ensureConnected: () => {\n SubscriptionsClientFactory.get()?.ensureConnected();\n },\n};\n"],"names":["socketClientV2","subscribe","subscription","_ref","onDataReceive","client","SubscriptionsClientFactory","init","channel","getChannelName","data","onConnectionChange","handler","disconnect","dispose","ensureConnected","_SubscriptionsClientF","get"],"mappings":"u2BAIO,IAAMA,EAAiB,CAC5BC,UAAW,SACTC,EAEGC,GAAA,IADDC,IAAAA,cAEIC,EAASC,6BAA2BC,OACpCC,EAAUC,iBAAeP,GAE/B,OAAOG,EAAOJ,UAAaO,GAAS,SAAAE,GAAI,OAAIN,SAAmBF,GAAY,GAAA,CAAEQ,KAAAA,OAC9E,EACDC,mBAAoB,SAACC,GAEnB,OADeN,6BAA2BC,OAC5BI,mBAAmBC,EAClC,EAIDC,WAAY,WACVP,EAA0BA,2BAACQ,SAC5B,EAKDC,gBAAiB,WAAM,IAAAC,EACrB,QAAAA,EAAAV,EAAAA,2BAA2BW,aAA3B,IAAAD,GAAAA,EAAkCD,iBACpC"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/asyncToGenerator"),t=require("@babel/runtime/helpers/defineProperty"),r=require("@babel/runtime/regenerator"),n=require("../api/apiCore.js"),o=require("../clientStorage/index.js"),u=require("./constants.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=i(e),a=i(t),l=i(r);function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?f(Object(r),!0).forEach((function(t){a.default(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):f(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var p=new Set(["token_expired","credentials_required","invalid_token"]),d=function(e){var t;return"UnauthorizedError"===(null==e||null===(t=e.data)||void 0===t?void 0:t.type)},h=function(){return{tryRefresh:function(){return n.authRecovery.tryRefresh()},handleAuthFailure:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){return n.authRecovery.handleAuthFailure(e)})),isLoginRoute:function(){return u.LOGIN_ROUTES_REGEXP.test(window.location.pathname)},isImpersonating:function(){return o.isImpersonating()}}};exports.AUTH_RECONNECT_BASE_DELAY_MS=1e3,exports.MAX_AUTH_RECONNECT_ATTEMPTS=3,exports.attachAuthRecovery=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=s(s({},h()),t),n=r.tryRefresh,o=r.handleAuthFailure,u=r.isLoginRoute,i=r.isImpersonating,a=0,f=null,v=null,b=!1,y=function(){null!==f&&(clearTimeout(f),f=null)},O=function(){if(!(b||null!==f||a>=3)){var e=.75+.5*Math.random(),t=1e3*Math.pow(2,a)*e;a+=1,f=setTimeout((function(){f=null,g()}),t)}},g=function(){return v||(v=c.default(l.default.mark((function t(){return l.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,n();case 3:t.next=10;break;case 5:return t.prev=5,t.t0=t.catch(0),o(t.t0),O(),t.abrupt("return");case 10:b||e.connect();case 11:case"end":return t.stop()}}),t,null,[[0,5]])})))().finally((function(){v=null})))},j=function(e){var t;if(d(e)){var r=null===(t=e.data)||void 0===t?void 0:t.code;r&&p.has(r)&&(u()||i()||O())}},_=function(){a=0};return e.on("connect_error",j),e.on("connect",_),{ensureConnected:function(){if(!(b||e.connected||e.active||v)){if(a=0,null!==f)return y(),void g();e.connect()}},dispose:function(){b=!0,y(),e.off("connect_error",j),e.off("connect",_)}}},exports.isUnauthorizedConnectError=d;
2
+ //# sourceMappingURL=subscriptions-auth-recovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions-auth-recovery.js","sources":["../../../../src/clients/subscriptions/subscriptions-auth-recovery.ts"],"sourcesContent":["import type { Socket } from 'socket.io-client';\nimport { authRecovery } from '../api/apiCore';\nimport { isImpersonating as isImpersonatingSession } from '../clientStorage';\nimport { LOGIN_ROUTES_REGEXP } from './constants';\n\n/**\n * Handshake rejection codes sent by corva-subscriptions (see its README, \"Handshake rejections\").\n */\nexport type UnauthorizedErrorCode =\n | 'credentials_required'\n | 'credentials_bad_format'\n | 'token_expired'\n | 'invalid_token';\n\ntype ConnectError = Error & {\n data?: { type?: string; code?: UnauthorizedErrorCode | string; message?: string };\n};\n\nexport const MAX_AUTH_RECONNECT_ATTEMPTS = 3;\nexport const AUTH_RECONNECT_BASE_DELAY_MS = 1_000;\n\n/**\n * Codes a session refresh can fix. `invalid_token` is included because a server that predates the\n * `token_expired` code reports an expired token that way; the attempt cap bounds the cost when the\n * token really is invalid. `credentials_bad_format` is a client bug and is never retried.\n */\nconst REFRESHABLE_CODES: ReadonlySet<string> = new Set([\n 'token_expired',\n 'credentials_required',\n 'invalid_token',\n]);\n\nexport const isUnauthorizedConnectError = (err: unknown): err is ConnectError =>\n (err as ConnectError | undefined)?.data?.type === 'UnauthorizedError';\n\nexport interface AuthRecoveryDeps {\n tryRefresh: () => Promise<void>;\n handleAuthFailure: (error: unknown) => void;\n isLoginRoute: () => boolean;\n /**\n * Impersonation swaps only the auth cookie; the refresh cookie stays the admin's. A refresh would\n * therefore come back as a plain admin session and silently end the impersonation, so while\n * impersonating the socket is left down and the existing HTTP 401 handling decides what happens.\n */\n isImpersonating: () => boolean;\n}\n\nexport interface SocketAuthRecovery {\n /**\n * Reconnect a socket that has given up: socket.io stops reconnecting for good after a handshake\n * rejection, and so do we once the attempt cap is reached. No-op while connected or while either\n * side is still retrying. Meant for \"the tab is visible again\" moments.\n */\n ensureConnected(): void;\n /** Detach the listeners and cancel any pending retry. */\n dispose(): void;\n}\n\nconst defaultDeps = (): AuthRecoveryDeps => ({\n tryRefresh: () => authRecovery.tryRefresh(),\n handleAuthFailure: error =>\n authRecovery.handleAuthFailure(error as Parameters<typeof authRecovery.handleAuthFailure>[0]),\n isLoginRoute: () => LOGIN_ROUTES_REGEXP.test(window.location.pathname),\n isImpersonating: () => isImpersonatingSession(),\n});\n\n/**\n * Recover from an authentication rejection at the socket.io handshake.\n *\n * The server verifies the session cookie once, during the handshake. When the JWT in it has\n * expired (typically after the tab was suspended long enough for the connection to drop), the\n * handshake is rejected and socket.io-client treats that as final: it destroys the socket and sets\n * `skipReconnect`, so nothing ever retries. HTTP calls recover through `AuthRecovery` on their next\n * 401, but the socket never issues an HTTP call, so it stayed dead until a page reload.\n *\n * This closes the loop: on an `UnauthorizedError` connect_error, refresh the session (the browser\n * then re-sends the fresh cookie on the next handshake) and call `socket.connect()`, with capped\n * exponential backoff. A failed refresh is handed to `AuthRecovery.handleAuthFailure`, which\n * redirects to /login when the session is really gone and does nothing for a transient failure.\n */\nexport const attachAuthRecovery = (\n socket: Socket,\n deps: Partial<AuthRecoveryDeps> = {}\n): SocketAuthRecovery => {\n const { tryRefresh, handleAuthFailure, isLoginRoute, isImpersonating } = {\n ...defaultDeps(),\n ...deps,\n };\n\n let attempts = 0;\n let timer: ReturnType<typeof setTimeout> | null = null;\n /** The refresh currently in flight, so a resume does not connect with the stale cookie meanwhile. */\n let refreshing: Promise<void> | null = null;\n let disposed = false;\n\n const clearTimer = () => {\n if (timer !== null) {\n clearTimeout(timer);\n timer = null;\n }\n };\n\n const schedule = () => {\n if (disposed || timer !== null || attempts >= MAX_AUTH_RECONNECT_ATTEMPTS) return;\n\n const jitter = 0.75 + Math.random() * 0.5;\n const delay = AUTH_RECONNECT_BASE_DELAY_MS * 2 ** attempts * jitter;\n\n attempts += 1;\n timer = setTimeout(() => {\n timer = null;\n void refreshAndConnect();\n }, delay);\n };\n\n const refreshAndConnect = () => {\n if (refreshing) return refreshing;\n\n refreshing = (async () => {\n try {\n await tryRefresh();\n } catch (error) {\n handleAuthFailure(error);\n // A transient failure (network) gets another go within the cap; a redirect unloads the page.\n schedule();\n return;\n }\n\n if (!disposed) socket.connect();\n })().finally(() => {\n refreshing = null;\n });\n\n return refreshing;\n };\n\n const onConnectError = (err: Error) => {\n if (!isUnauthorizedConnectError(err)) return; // transport errors: socket.io retries those itself\n\n const code = err.data?.code;\n if (!code || !REFRESHABLE_CODES.has(code)) return;\n // After logout there is no refresh cookie; every /v1/user_token call would just 401.\n if (isLoginRoute()) return;\n // See AuthRecoveryDeps.isImpersonating: refreshing here would end the impersonation.\n if (isImpersonating()) return;\n\n schedule();\n };\n\n const onConnect = () => {\n attempts = 0;\n };\n\n socket.on('connect_error', onConnectError);\n socket.on('connect', onConnect);\n\n return {\n ensureConnected: () => {\n // `active` is true while socket.io itself is (re)connecting; leave it alone then.\n if (disposed || socket.connected || socket.active) return;\n // The in-flight refresh connects when it resolves; connecting now would handshake with the\n // cookie that was just rejected.\n if (refreshing) return;\n\n attempts = 0;\n\n if (timer !== null) {\n // A retry is already queued because auth failed: do it now rather than after the backoff.\n clearTimer();\n void refreshAndConnect();\n return;\n }\n\n socket.connect();\n },\n dispose: () => {\n disposed = true;\n clearTimer();\n socket.off('connect_error', onConnectError);\n socket.off('connect', onConnect);\n },\n };\n};\n"],"names":["REFRESHABLE_CODES","Set","isUnauthorizedConnectError","err","_data","data","type","defaultDeps","tryRefresh","authRecovery","handleAuthFailure","_handleAuthFailure","_x","apply","this","arguments","toString","error","isLoginRoute","LOGIN_ROUTES_REGEXP","test","window","location","pathname","isImpersonating","isImpersonatingSession","socket","deps","length","undefined","attempts","timer","refreshing","disposed","clearTimer","clearTimeout","schedule","jitter","Math","random","delay","pow","setTimeout","refreshAndConnect","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","t0","abrupt","connect","stop","finally","onConnectError","_err$data","code","has","onConnect","on","ensureConnected","connected","active","dispose","off"],"mappings":"k+BAkBO,IAQDA,EAAyC,IAAIC,IAAI,CACrD,gBACA,uBACA,kBAGWC,EAA6B,SAACC,GAAY,IAAAC,EAAA,MACH,uBAAjDD,SAAD,QAACA,EAAAA,EAAkCE,YAAnC,IAAAD,OAACD,EAADC,EAAyCE,KAA4B,EAyBjEC,EAAc,WAAH,MAA4B,CAC3CC,WAAY,WAAA,OAAMC,EAAAA,aAAaD,YAAY,EAC3CE,kBAAiB,SAAAC,GAAA,SAAAD,EAAAE,GAAA,OAAAD,EAAAE,MAAAC,KAAAC,UAAA,CAAA,OAAAL,EAAAM,SAAA,WAAA,OAAAL,EAAAK,UAAA,EAAAN,CAAA,CAAA,EAAE,SAAAO,GAAK,OACtBR,EAAYA,aAACC,kBAAkBO,EAA8D,IAC/FC,aAAc,WAAA,OAAMC,EAAmBA,oBAACC,KAAKC,OAAOC,SAASC,SAAS,EACtEC,gBAAiB,WAAA,OAAMC,EAAsBD,iBAAE,EAChD,uCA7C2C,wCADD,6BA8DT,SAChCE,GAEuB,IADvBC,EAAkCZ,UAAAa,OAAA,QAAAC,IAAAd,UAAA,GAAAA,UAAA,GAAA,CAAA,EAG7BR,EAAAA,EAAAA,EAAAA,CAAAA,EAAAA,KACAoB,GAFGnB,IAAAA,WAAYE,IAAAA,kBAAmBQ,IAAAA,aAAcM,IAAAA,gBAKjDM,EAAW,EACXC,EAA8C,KAE9CC,EAAmC,KACnCC,GAAW,EAETC,EAAa,WACH,OAAVH,IACFI,aAAaJ,GACbA,EAAQ,OAINK,EAAW,WACf,KAAIH,GAAsB,OAAVF,GAAkBD,GArFK,GAqFvC,CAEA,IAAMO,EAAS,IAAuB,GAAhBC,KAAKC,SACrBC,EAvFkC,IAuFEF,KAAAG,IAAG,EAAKX,GAAWO,EAE7DP,GAAY,EACZC,EAAQW,YAAW,WACjBX,EAAQ,KACHY,GACN,GAAEH,EATwE,GAYvEG,EAAoB,WACxB,OAAIX,IAEJA,EAAaY,EAAAA,QAACC,EAAAA,QAAAC,MAAA,SAAAC,IAAA,OAAAF,UAAAG,MAAA,SAAAC,GAAA,OAAA,OAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,OAAAF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEJ3C,IAAY,KAAA,EAAAyC,EAAAE,KAAA,GAAA,MAAA,KAAA,EAIP,OAJOF,EAAAC,KAAA,EAAAD,EAAAG,GAAAH,EAAA,MAAA,GAElBvC,EAAwBuC,EAAAG,IAExBhB,IAAWa,EAAAI,OAAA,UAAA,KAAA,GAIRpB,GAAUP,EAAO4B,UAAU,KAAA,GAAA,IAAA,MAAA,OAAAL,EAAAM,OAAA,GAAAR,EAAA,KAAA,CAAA,CAAA,EAAA,IAAA,IAVrBH,GAWRY,SAAQ,WACXxB,EAAa,IACf,MAKIyB,EAAiB,SAACtD,GAAe,IAAAuD,EACrC,GAAKxD,EAA2BC,GAAhC,CAEA,IAAMwD,EAAe,QAARxD,EAAAA,EAAIE,YAAI,IAAAqD,OAAA,EAARA,EAAUC,KAClBA,GAAS3D,EAAkB4D,IAAID,KAEhCzC,KAEAM,KAEJY,IAT6C,GAYzCyB,EAAY,WAChB/B,EAAW,GAMb,OAHAJ,EAAOoC,GAAG,gBAAiBL,GAC3B/B,EAAOoC,GAAG,UAAWD,GAEd,CACLE,gBAAiB,WAEf,KAAI9B,GAAYP,EAAOsC,WAAatC,EAAOuC,QAGvCjC,GAAJ,CAIA,GAFAF,EAAW,EAEG,OAAVC,EAIF,OAFAG,SACKS,IAIPjB,EAAO4B,SAXS,CAYjB,EACDY,QAAS,WACPjC,GAAW,EACXC,IACAR,EAAOyC,IAAI,gBAAiBV,GAC5B/B,EAAOyC,IAAI,UAAWN,EACxB,EAEJ"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/classCallCheck"),n=require("@babel/runtime/helpers/createClass");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=t(e),r=t(n),i=function(){function e(){u.default(this,e)}return r.default(e,[{key:"subscribe",value:function(e,n,t){return function(){}}},{key:"unsubscribe",value:function(e,n,t){}},{key:"disconnect",value:function(){}},{key:"onConnectionChange",value:function(e){return function(){}}}]),e}();exports.DummySubscriptionsClient=i;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/classCallCheck"),n=require("@babel/runtime/helpers/createClass");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var t=u(e),r=u(n),i=function(){function e(){t.default(this,e)}return r.default(e,[{key:"subscribe",value:function(e,n,u){return function(){}}},{key:"unsubscribe",value:function(e,n,u){}},{key:"disconnect",value:function(){}},{key:"ensureConnected",value:function(){}},{key:"onConnectionChange",value:function(e){return function(){}}}]),e}();exports.DummySubscriptionsClient=i;
2
2
  //# sourceMappingURL=subscriptions-client.dummy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptions-client.dummy.js","sources":["../../../../src/clients/subscriptions/subscriptions-client.dummy.ts"],"sourcesContent":["import { AcknowledgeCb, OnConnectionChange, OnDataReceive, SubcriptionsClient } from \"./types\";\n\nexport class DummySubscriptionsClient implements SubcriptionsClient {\n subscribe<T>(_channel: string, _onData: OnDataReceive<T>, _ack?: AcknowledgeCb): () => void {\n return () => {};\n }\n\n unsubscribe<T>(_channel: string, _onData: OnDataReceive<T>, _ack?: AcknowledgeCb): void {\n return;\n }\n\n disconnect(): void {\n return;\n }\n\n onConnectionChange(_handler: OnConnectionChange): () => void {\n // no socket on reports routes; return noop unsubscriber\n return () => {};\n }\n}\n"],"names":["DummySubscriptionsClient","_classCallCheck","this","_createClass","key","value","_channel","_onData","_ack","_handler"],"mappings":"qQAEaA,EAAwB,WAAA,SAAAA,IAAAC,UAAAC,KAAAF,EAAA,CAgBlC,OAhBkCG,EAAA,QAAAH,EAAA,CAAA,CAAAI,IAAA,YAAAC,MACnC,SAAaC,EAAkBC,EAA2BC,GACxD,OAAO,WAAM,CACf,GAAC,CAAAJ,IAAA,cAAAC,MAED,SAAeC,EAAkBC,EAA2BC,GAE5D,GAAC,CAAAJ,IAAA,aAAAC,MAED,WAEA,GAAC,CAAAD,IAAA,qBAAAC,MAED,SAAmBI,GAEjB,OAAO,WAAM,CACf,KAACT,CAAA,CAhBkC"}
1
+ {"version":3,"file":"subscriptions-client.dummy.js","sources":["../../../../src/clients/subscriptions/subscriptions-client.dummy.ts"],"sourcesContent":["import { AcknowledgeCb, OnConnectionChange, OnDataReceive, SubcriptionsClient } from './types';\n\nexport class DummySubscriptionsClient implements SubcriptionsClient {\n subscribe<T>(_channel: string, _onData: OnDataReceive<T>, _ack?: AcknowledgeCb): () => void {\n return () => {};\n }\n\n unsubscribe<T>(_channel: string, _onData: OnDataReceive<T>, _ack?: AcknowledgeCb): void {\n return;\n }\n\n disconnect(): void {\n return;\n }\n\n ensureConnected(): void {\n return;\n }\n\n onConnectionChange(_handler: OnConnectionChange): () => void {\n // no socket on reports routes; return noop unsubscriber\n return () => {};\n }\n}\n"],"names":["DummySubscriptionsClient","_classCallCheck","this","_createClass","key","value","_channel","_onData","_ack","_handler"],"mappings":"qQAEaA,EAAwB,WAAA,SAAAA,IAAAC,UAAAC,KAAAF,EAAA,CAoBlC,OApBkCG,EAAA,QAAAH,EAAA,CAAA,CAAAI,IAAA,YAAAC,MACnC,SAAaC,EAAkBC,EAA2BC,GACxD,OAAO,WAAM,CACf,GAAC,CAAAJ,IAAA,cAAAC,MAED,SAAeC,EAAkBC,EAA2BC,GAE5D,GAAC,CAAAJ,IAAA,aAAAC,MAED,WAEA,GAAC,CAAAD,IAAA,kBAAAC,MAED,WAEA,GAAC,CAAAD,IAAA,qBAAAC,MAED,SAAmBI,GAEjB,OAAO,WAAM,CACf,KAACT,CAAA,CApBkC"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/classCallCheck"),t=require("@babel/runtime/helpers/createClass"),r=require("@babel/runtime/helpers/defineProperty"),n=require("socket.io-client"),i=require("./constants.js"),c=require("./subscriptions-client.js"),s=require("./subscriptions-client.dummy.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=o(e),a=o(t),l=o(r);function p(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}var f=function(){function e(){u.default(this,e)}return a.default(e,null,[{key:"init",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i.SUBSCRIPTIONS_URL,t=new URL(e).origin;return this.instances.has(t)||this.instances.set(t,this.create(e)),this.instances.get(t)}},{key:"create",value:function(e){if(i.IGNORED_ROUTES_REGEXP.test(window.location.pathname))return new s.DummySubscriptionsClient;var t=n.io(e,{transports:["websocket"],autoConnect:!0,path:process.env.REACT_APP_SUBSCRIPTIONS_PATH||"/socket.io"}),r=0;return t.on("connect",(function(){(r+=1,t.recovered)||1!==r&&Object.keys(t._callbacks).filter((function(e){return e.startsWith("$data#")})).map((function(e){return e.replace("$data#","")})).forEach((function(e){t.emit("subscribe",function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?p(Object(r),!0).forEach((function(t){l.default(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):p(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({channel:e},i.getHrefDebugField()))}))})),new c.SubscriptionsClientV2(t)}}]),e}();l.default(f,"instances",new Map),exports.SubscriptionsClientFactory=f;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/classCallCheck"),t=require("@babel/runtime/helpers/createClass"),r=require("@babel/runtime/helpers/defineProperty"),n=require("socket.io-client"),i=require("./constants.js"),s=require("./subscriptions-auth-recovery.js"),c=require("./subscriptions-client.js"),o=require("./subscriptions-client.dummy.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=u(e),l=u(t),f=u(r);function p(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}var b=function(){function e(){a.default(this,e)}return l.default(e,null,[{key:"init",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i.SUBSCRIPTIONS_URL,t=new URL(e).origin;return this.instances.has(t)||this.instances.set(t,this.create(e)),this.instances.get(t)}},{key:"get",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i.SUBSCRIPTIONS_URL;return this.instances.get(new URL(e).origin)}},{key:"dispose",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i.SUBSCRIPTIONS_URL,r=new URL(t).origin;null===(e=this.instances.get(r))||void 0===e||e.disconnect(),this.instances.delete(r)}},{key:"create",value:function(e){if(i.IGNORED_ROUTES_REGEXP.test(window.location.pathname))return new o.DummySubscriptionsClient;var t=n.io(e,{transports:["websocket"],autoConnect:!0,path:process.env.REACT_APP_SUBSCRIPTIONS_PATH||"/socket.io"}),r=0,u=!1;return t.on("connect_error",(function(e){s.isUnauthorizedConnectError(e)&&(u=!0)})),t.on("connect",(function(){var e=1===(r+=1)&&!u;(u=!1,t.recovered)||(e||Object.keys(t._callbacks).filter((function(e){return e.startsWith("$data#")})).map((function(e){return e.replace("$data#","")})).forEach((function(e){t.emit("subscribe",function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?p(Object(r),!0).forEach((function(t){f.default(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):p(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({channel:e},i.getHrefDebugField()))})))})),new c.SubscriptionsClientV2(t,s.attachAuthRecovery(t))}}]),e}();f.default(b,"instances",new Map),exports.SubscriptionsClientFactory=b;
2
2
  //# sourceMappingURL=subscriptions-client.factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptions-client.factory.js","sources":["../../../../src/clients/subscriptions/subscriptions-client.factory.ts"],"sourcesContent":["import { io } from 'socket.io-client';\nimport { IGNORED_ROUTES_REGEXP, SUBSCRIPTIONS_URL, getHrefDebugField } from './constants';\nimport { SubscriptionsClientV2 } from './subscriptions-client';\nimport { DummySubscriptionsClient } from './subscriptions-client.dummy';\nimport { SubcriptionsClient } from './types';\n\nexport class SubscriptionsClientFactory {\n private static readonly instances = new Map<string, SubcriptionsClient>();\n\n public static init(url = SUBSCRIPTIONS_URL) {\n const key = new URL(url).origin;\n\n if (!this.instances.has(key)) {\n this.instances.set(key, this.create(url));\n }\n\n return this.instances.get(key)!;\n }\n private static create(url: string): SubcriptionsClient {\n if (IGNORED_ROUTES_REGEXP.test(window.location.pathname)) {\n return new DummySubscriptionsClient();\n }\n\n const socket = io(url, {\n transports: ['websocket'],\n // NOTE: no need to connect manually, it will be done automatically\n autoConnect: true,\n path: process.env.REACT_APP_SUBSCRIPTIONS_PATH || '/socket.io',\n });\n\n let connectAttempts = 0;\n\n /**\n * We need to resend \"subscribe\" events on 2+ \"connect\" events:\n * 1. initial connection, subscribes will be handled by io queue\n * 2. reconnection, need to resend existing subscriptions\n * 3. ...\n */\n socket.on('connect', () => {\n connectAttempts += 1;\n\n if (socket.recovered) {\n /**\n * initial connection, subscribes will be handled by socket.io server\n * @see https://socket.io/docs/v4/server-initialization/#server-events\n */\n return;\n }\n\n if (connectAttempts === 1) {\n // initial connection, subscribes will be handled by io queue\n return;\n }\n\n /**\n * @description\n * channel names resolved from private property of socket.io lib\n * @see https://github.com/socketio/emitter/blob/8a2ece1f367dd9898791ee663940386147d2d688/lib/cjs/index.js#L161\n */\n // @ts-ignore\n const channels = Object.keys(socket._callbacks)\n .filter(key => key.startsWith('$data#'))\n .map(key => key.replace('$data#', ''));\n\n channels.forEach(channel => {\n socket.emit('subscribe', { channel, ...getHrefDebugField() });\n });\n });\n\n return new SubscriptionsClientV2(socket);\n }\n}\n"],"names":["SubscriptionsClientFactory","_classCallCheck","this","_createClass","key","value","url","SUBSCRIPTIONS_URL","URL","origin","instances","has","set","create","get","IGNORED_ROUTES_REGEXP","test","window","location","pathname","DummySubscriptionsClient","socket","io","transports","autoConnect","path","process","env","REACT_APP_SUBSCRIPTIONS_PATH","connectAttempts","on","recovered","Object","keys","_callbacks","filter","startsWith","map","replace","forEach","channel","emit","_objectSpread","getHrefDebugField","SubscriptionsClientV2","_defineProperty","Map"],"mappings":"2qBAMA,IAAaA,EAA0B,WAAA,SAAAA,IAAAC,UAAAC,KAAAF,EAAA,CAgEpC,OAhEoCG,UAAAH,EAAA,KAAA,CAAA,CAAAI,IAAA,OAAAC,MAGrC,WAA4C,IAAzBC,yDAAMC,EAAAA,kBACjBH,EAAM,IAAII,IAAIF,GAAKG,OAMzB,OAJKP,KAAKQ,UAAUC,IAAIP,IACtBF,KAAKQ,UAAUE,IAAIR,EAAKF,KAAKW,OAAOP,IAG/BJ,KAAKQ,UAAUI,IAAIV,EAC5B,GAAC,CAAAA,IAAA,SAAAC,MACD,SAAsBC,GACpB,GAAIS,EAAqBA,sBAACC,KAAKC,OAAOC,SAASC,UAC7C,OAAO,IAAIC,EAAwBA,yBAGrC,IAAMC,EAASC,EAAEA,GAAChB,EAAK,CACrBiB,WAAY,CAAC,aAEbC,aAAa,EACbC,KAAMC,QAAQC,IAAIC,8BAAgC,eAGhDC,EAAkB,EAuCtB,OA/BAR,EAAOS,GAAG,WAAW,YACnBD,GAAmB,EAEfR,EAAOU,YAQa,IAApBF,GAWaG,OAAOC,KAAKZ,EAAOa,YACjCC,QAAO,SAAA/B,GAAG,OAAIA,EAAIgC,WAAW,SAAS,IACtCC,KAAI,SAAAjC,GAAG,OAAIA,EAAIkC,QAAQ,SAAU,OAE3BC,SAAQ,SAAAC,GACfnB,EAAOoB,KAAK,mXAAWC,CAAA,CAAIF,QAAAA,GAAYG,EAAAA,qBACzC,GACF,IAEO,IAAIC,EAAAA,sBAAsBvB,EACnC,KAACrB,CAAA,CAhEoC,GAiEtC6C,EAAA,QAjEY7C,EAA0B,YACD,IAAI8C"}
1
+ {"version":3,"file":"subscriptions-client.factory.js","sources":["../../../../src/clients/subscriptions/subscriptions-client.factory.ts"],"sourcesContent":["import { io } from 'socket.io-client';\nimport { IGNORED_ROUTES_REGEXP, SUBSCRIPTIONS_URL, getHrefDebugField } from './constants';\nimport { attachAuthRecovery, isUnauthorizedConnectError } from './subscriptions-auth-recovery';\nimport { SubscriptionsClientV2 } from './subscriptions-client';\nimport { DummySubscriptionsClient } from './subscriptions-client.dummy';\nimport { SubcriptionsClient } from './types';\n\nexport class SubscriptionsClientFactory {\n private static readonly instances = new Map<string, SubcriptionsClient>();\n\n public static init(url = SUBSCRIPTIONS_URL) {\n const key = new URL(url).origin;\n\n if (!this.instances.has(key)) {\n this.instances.set(key, this.create(url));\n }\n\n return this.instances.get(key)!;\n }\n\n /** The client for `url` if one exists; unlike `init()` this never creates a socket. */\n public static get(url = SUBSCRIPTIONS_URL) {\n return this.instances.get(new URL(url).origin);\n }\n\n /**\n * Disconnect and forget the client for `url`, so the next `init()` builds a fresh socket.\n * A manually disconnected socket.io client never reconnects on its own, so keeping it cached\n * (as logout used to) handed a later login in the same tab a permanently dead client.\n */\n public static dispose(url = SUBSCRIPTIONS_URL) {\n const key = new URL(url).origin;\n\n this.instances.get(key)?.disconnect();\n this.instances.delete(key);\n }\n\n private static create(url: string): SubcriptionsClient {\n if (IGNORED_ROUTES_REGEXP.test(window.location.pathname)) {\n return new DummySubscriptionsClient();\n }\n\n const socket = io(url, {\n transports: ['websocket'],\n // NOTE: no need to connect manually, it will be done automatically\n autoConnect: true,\n path: process.env.REACT_APP_SUBSCRIPTIONS_PATH || '/socket.io',\n });\n\n let connectAttempts = 0;\n let handshakeRejected = false;\n\n socket.on('connect_error', err => {\n if (isUnauthorizedConnectError(err)) handshakeRejected = true;\n });\n\n /**\n * We need to resend \"subscribe\" events on 2+ \"connect\" events:\n * 1. initial connection, subscribes will be handled by io queue\n * 2. reconnection, need to resend existing subscriptions\n * 3. ...\n *\n * A first connection that follows a rejected handshake counts as a reconnection too. The\n * subscribes emitted before it sat in socket.io's send buffer, but every emit carries an ack\n * timeout (see the frontend's Sentry integration) and a timed-out ack removes its packet from\n * that buffer. If refreshing the session took longer than the timeout, relying on the buffer\n * would leave a connected socket with no subscriptions.\n */\n socket.on('connect', () => {\n connectAttempts += 1;\n\n const isCleanFirstConnect = connectAttempts === 1 && !handshakeRejected;\n handshakeRejected = false;\n\n if (socket.recovered) {\n /**\n * subscriptions restored by the socket.io server\n * @see https://socket.io/docs/v4/server-initialization/#server-events\n */\n return;\n }\n\n if (isCleanFirstConnect) {\n // initial connection, subscribes will be handled by io queue\n return;\n }\n\n /**\n * @description\n * channel names resolved from private property of socket.io lib\n * @see https://github.com/socketio/emitter/blob/8a2ece1f367dd9898791ee663940386147d2d688/lib/cjs/index.js#L161\n */\n // @ts-expect-error\n const channels = Object.keys(socket._callbacks)\n .filter(key => key.startsWith('$data#'))\n .map(key => key.replace('$data#', ''));\n\n channels.forEach(channel => {\n socket.emit('subscribe', { channel, ...getHrefDebugField() });\n });\n });\n\n return new SubscriptionsClientV2(socket, attachAuthRecovery(socket));\n }\n}\n"],"names":["SubscriptionsClientFactory","_classCallCheck","this","_createClass","key","value","url","SUBSCRIPTIONS_URL","URL","origin","instances","has","set","create","get","_this$instances$get","disconnect","delete","IGNORED_ROUTES_REGEXP","test","window","location","pathname","DummySubscriptionsClient","socket","io","transports","autoConnect","path","process","env","REACT_APP_SUBSCRIPTIONS_PATH","connectAttempts","handshakeRejected","on","err","isUnauthorizedConnectError","isCleanFirstConnect","recovered","Object","keys","_callbacks","filter","startsWith","map","replace","forEach","channel","emit","_objectSpread","getHrefDebugField","SubscriptionsClientV2","attachAuthRecovery","_defineProperty","Map"],"mappings":"ytBAOA,IAAaA,EAA0B,WAAA,SAAAA,IAAAC,UAAAC,KAAAF,EAAA,CAgGpC,OAhGoCG,UAAAH,EAAA,KAAA,CAAA,CAAAI,IAAA,OAAAC,MAGrC,WAA4C,IAAzBC,yDAAMC,EAAAA,kBACjBH,EAAM,IAAII,IAAIF,GAAKG,OAMzB,OAJKP,KAAKQ,UAAUC,IAAIP,IACtBF,KAAKQ,UAAUE,IAAIR,EAAKF,KAAKW,OAAOP,IAG/BJ,KAAKQ,UAAUI,IAAIV,EAC5B,GAEA,CAAAA,IAAA,MAAAC,MACA,WAA2C,IAAzBC,yDAAMC,EAAAA,kBACtB,OAAOL,KAAKQ,UAAUI,IAAI,IAAIN,IAAIF,GAAKG,OACzC,GAEA,CAAAL,IAAA,UAAAC,MAKA,WAA+C,IAAAU,EAAzBT,yDAAMC,EAAAA,kBACpBH,EAAM,IAAII,IAAIF,GAAKG,OAEF,QAAnBM,EAAAb,KAACQ,UAAUI,IAAIV,UAAI,IAAAW,GAAvBA,EAAyBC,aACzBd,KAAKQ,UAAUO,OAAOb,EACxB,GAAC,CAAAA,IAAA,SAAAC,MAED,SAAsBC,GACpB,GAAIY,EAAqBA,sBAACC,KAAKC,OAAOC,SAASC,UAC7C,OAAO,IAAIC,EAAwBA,yBAGrC,IAAMC,EAASC,EAAEA,GAACnB,EAAK,CACrBoB,WAAY,CAAC,aAEbC,aAAa,EACbC,KAAMC,QAAQC,IAAIC,8BAAgC,eAGhDC,EAAkB,EAClBC,GAAoB,EAoDxB,OAlDAT,EAAOU,GAAG,iBAAiB,SAAAC,GACrBC,6BAA2BD,KAAMF,GAAoB,EAC3D,IAcAT,EAAOU,GAAG,WAAW,WAGnB,IAAMG,EAA0C,KAFhDL,GAAmB,KAEmCC,GACtDA,GAAoB,EAEhBT,EAAOc,aAQPD,GAWaE,OAAOC,KAAKhB,EAAOiB,YACjCC,QAAO,SAAAtC,GAAG,OAAIA,EAAIuC,WAAW,SAAS,IACtCC,KAAI,SAAAxC,GAAG,OAAIA,EAAIyC,QAAQ,SAAU,OAE3BC,SAAQ,SAAAC,GACfvB,EAAOwB,KAAK,mXAAWC,CAAA,CAAIF,QAAAA,GAAYG,EAAAA,qBACzC,IACF,IAEO,IAAIC,EAAAA,sBAAsB3B,EAAQ4B,EAAAA,mBAAmB5B,GAC9D,KAACxB,CAAA,CAhGoC,GAiGtCqD,EAAA,QAjGYrD,EAA0B,YACD,IAAIsD"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/classCallCheck"),t=require("@babel/runtime/helpers/createClass"),n=require("@babel/runtime/helpers/defineProperty"),r=require("./constants.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=o(e),i=o(t),s=o(n);function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?u(Object(n),!0).forEach((function(t){s.default(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var f=function(){function e(t){var n=this;c.default(this,e),this._socket=t,s.default(this,"onConnectionChange",(function(e){var t=function(){return e({status:"connected"})},r=function(t){return e({status:"disconnected",reason:t})},o=function(){return e({status:"reconnecting"})},c=function(t){return e({status:"error",reason:(null==t?void 0:t.message)||String(t)})};return n._socket.on("connect",t),n._socket.on("disconnect",r),n._socket.on("reconnect",o),n._socket.on("connect_error",c),function(){n._socket.off("connect",t),n._socket.off("disconnect",r),n._socket.off("reconnect",o),n._socket.off("connect_error",c)}}))}return i.default(e,[{key:"subscribe",value:function(e,t,n){var r=this;this._validateArgs(e,t,n),this._socket.on("data#".concat(e),t),this._emit("subscribe",e,n);var o=function(){return r.unsubscribe(e,t,n)};return Object.defineProperty(o,"name",{value:"unsubscribe_".concat(e.replace(/[^\w]/g,"_")),writable:!1}),o}},{key:"unsubscribe",value:function(e,t,n){this._validateArgs(e,t,n),this._emit("unsubscribe",e,n),this._socket.off("data#".concat(e),t)}},{key:"disconnect",value:function(){return this._socket.disconnect(),this._socket.removeAllListeners(),this}},{key:"_validateArgs",value:function(e,t,n){if("string"!=typeof e||!e)throw new Error("Channel must be a non-empty string");if("function"!=typeof t)throw new Error("onData handler must be a function");if(void 0!==n&&"function"!=typeof n)throw new Error("ack must be a function")}},{key:"_shouldEmitToServer",value:function(e){return 1===this._socket.listeners("data#".concat(e)).length}},{key:"_emit",value:function(e,t,n){if(!this._shouldEmitToServer(t))return null==n?void 0:n();n?this._socket.emitWithAck(e,a({channel:t},r.getHrefDebugField()),(function(r){return r.ok?n():n(new Error("Failed to ".concat(e," to channel ").concat(t,": ").concat(r.error)))})):this._socket.emit(e,a({channel:t},r.getHrefDebugField()))}}]),e}();exports.SubscriptionsClientV2=f;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/classCallCheck"),t=require("@babel/runtime/helpers/createClass"),n=require("@babel/runtime/helpers/defineProperty"),r=require("./constants.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=o(e),i=o(t),s=o(n);function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?u(Object(n),!0).forEach((function(t){s.default(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var l=function(){function e(t,n){var r=this;c.default(this,e),this._socket=t,this._recovery=n,s.default(this,"_managerListeners",new Set),s.default(this,"onConnectionChange",(function(e){var t=function(){return e({status:"connected"})},n=function(t){return e({status:"disconnected",reason:t})},o=function(){return e({status:"reconnecting"})},c=function(t){return e({status:"error",reason:(null==t?void 0:t.message)||String(t)})},i=r._socket.io;return r._socket.on("connect",t),r._socket.on("disconnect",n),null==i||i.on("reconnect_attempt",o),r._managerListeners.add(o),r._socket.on("connect_error",c),function(){r._socket.off("connect",t),r._socket.off("disconnect",n),null==i||i.off("reconnect_attempt",o),r._managerListeners.delete(o),r._socket.off("connect_error",c)}}))}return i.default(e,[{key:"subscribe",value:function(e,t,n){var r=this;this._validateArgs(e,t,n),this._socket.on("data#".concat(e),t),this._emit("subscribe",e,n);var o=function(){return r.unsubscribe(e,t,n)};return Object.defineProperty(o,"name",{value:"unsubscribe_".concat(e.replace(/[^\w]/g,"_")),writable:!1}),o}},{key:"unsubscribe",value:function(e,t,n){this._validateArgs(e,t,n),this._emit("unsubscribe",e,n),this._socket.off("data#".concat(e),t)}},{key:"disconnect",value:function(){var e,t=this;return null===(e=this._recovery)||void 0===e||e.dispose(),this._socket.disconnect(),this._socket.removeAllListeners(),this._managerListeners.forEach((function(e){var n;return null===(n=t._socket.io)||void 0===n?void 0:n.off("reconnect_attempt",e)})),this._managerListeners.clear(),this}},{key:"ensureConnected",value:function(){this._recovery?this._recovery.ensureConnected():this._socket.connected||this._socket.active||this._socket.connect()}},{key:"_validateArgs",value:function(e,t,n){if("string"!=typeof e||!e)throw new Error("Channel must be a non-empty string");if("function"!=typeof t)throw new Error("onData handler must be a function");if(void 0!==n&&"function"!=typeof n)throw new Error("ack must be a function")}},{key:"_shouldEmitToServer",value:function(e){return 1===this._socket.listeners("data#".concat(e)).length}},{key:"_emit",value:function(e,t,n){if(!this._shouldEmitToServer(t))return null==n?void 0:n();n?this._socket.emitWithAck(e,a({channel:t},r.getHrefDebugField()),(function(r){return r.ok?n():n(new Error("Failed to ".concat(e," to channel ").concat(t,": ").concat(r.error)))})):this._socket.emit(e,a({channel:t},r.getHrefDebugField()))}}]),e}();exports.SubscriptionsClientV2=l;
2
2
  //# sourceMappingURL=subscriptions-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptions-client.js","sources":["../../../../src/clients/subscriptions/subscriptions-client.ts"],"sourcesContent":["import { Socket } from 'socket.io-client';\nimport { getHrefDebugField } from './constants';\nimport {\n SubcriptionsClient,\n SubscriptionsClientV2Events,\n SubscriptionsClientV2ServerEvents,\n AcknowledgeCb,\n OnDataReceive,\n OnConnectionChange,\n} from './types';\n\nexport class SubscriptionsClientV2 implements SubcriptionsClient {\n constructor(\n private readonly _socket: Socket<SubscriptionsClientV2Events, SubscriptionsClientV2ServerEvents>\n ) {}\n\n subscribe<T>(channel: string, onData: OnDataReceive<T>, ack?: AcknowledgeCb) {\n this._validateArgs(channel, onData, ack);\n\n this._socket.on(`data#${channel}`, onData);\n\n this._emit('subscribe', channel, ack);\n\n const unsubscribe = () => this.unsubscribe(channel, onData, ack);\n\n Object.defineProperty(unsubscribe, 'name', {\n value: `unsubscribe_${channel.replace(/[^\\w]/g, '_')}`,\n writable: false,\n });\n\n return unsubscribe;\n }\n\n unsubscribe<T>(channel: string, onData: OnDataReceive<T>, ack?: AcknowledgeCb) {\n this._validateArgs(channel, onData, ack);\n\n this._emit('unsubscribe', channel, ack);\n\n this._socket.off(`data#${channel}`, onData);\n }\n\n disconnect() {\n this._socket.disconnect();\n this._socket.removeAllListeners();\n\n return this;\n }\n\n onConnectionChange: (handler: OnConnectionChange) => () => void = handler => {\n const onConnect = () => handler({ status: 'connected' });\n const onDisconnect = (reason?: string) => handler({ status: 'disconnected', reason });\n const onReconnect = () => handler({ status: 'reconnecting' });\n const onConnectError = (err?: any) =>\n handler({ status: 'error', reason: err?.message || String(err) });\n\n this._socket.on('connect', onConnect as any);\n this._socket.on('disconnect', onDisconnect as any);\n // @ts-ignore socket.io types may vary\n this._socket.on('reconnect', onReconnect as any);\n this._socket.on('connect_error', onConnectError as any);\n\n return () => {\n this._socket.off('connect', onConnect as any);\n this._socket.off('disconnect', onDisconnect as any);\n // @ts-ignore\n this._socket.off('reconnect', onReconnect as any);\n this._socket.off('connect_error', onConnectError as any);\n };\n };\n\n private _validateArgs(channel: unknown, onData: unknown, ack?: unknown) {\n if (typeof channel !== 'string' || !channel) {\n throw new Error('Channel must be a non-empty string');\n }\n if (typeof onData !== 'function') {\n throw new Error('onData handler must be a function');\n }\n\n if (ack !== undefined && typeof ack !== 'function') {\n throw new Error('ack must be a function');\n }\n }\n\n private _shouldEmitToServer(channel: string) {\n // emit when the only present listener is a current one\n return this._socket.listeners(`data#${channel}`).length === 1;\n }\n\n private _emit(event: 'subscribe' | 'unsubscribe', channel: string, ack?: AcknowledgeCb) {\n if (!this._shouldEmitToServer(channel)) {\n return ack?.();\n }\n\n if (!ack) {\n this._socket.emit(event, { channel, ...getHrefDebugField() });\n\n return;\n }\n\n void this._socket.emitWithAck(\n event,\n { channel, ...getHrefDebugField() },\n (res: { ok: boolean; error?: string }) => {\n if (res.ok) {\n return ack();\n }\n\n return ack(new Error(`Failed to ${event} to channel ${channel}: ${res.error}`));\n }\n );\n }\n}\n"],"names":["SubscriptionsClientV2","_socket","_this","this","_classCallCheck","_defineProperty","handler","onConnect","status","onDisconnect","reason","onReconnect","onConnectError","err","message","String","on","off","_createClass","key","value","channel","onData","ack","_this2","_validateArgs","_emit","unsubscribe","Object","defineProperty","concat","replace","writable","disconnect","removeAllListeners","Error","undefined","listeners","length","event","_shouldEmitToServer","emitWithAck","_objectSpread","getHrefDebugField","res","ok","error","emit"],"mappings":"k6BAWA,IAAaA,EAAqB,WAChC,SAAAA,EACmBC,GACjB,IAAAC,EAAAC,KAAAC,UAAAD,KAAAH,GAAAG,KADiBF,QAAAA,EAA+EI,EAAAA,QAmChCF,KAAA,sBAAA,SAAAG,GAChE,IAAMC,EAAY,WAAH,OAASD,EAAQ,CAAEE,OAAQ,aAAc,EAClDC,EAAe,SAACC,GAAe,OAAKJ,EAAQ,CAAEE,OAAQ,eAAgBE,OAAAA,GAAS,EAC/EC,EAAc,WAAH,OAASL,EAAQ,CAAEE,OAAQ,gBAAiB,EACvDI,EAAiB,SAACC,GAAS,OAC/BP,EAAQ,CAAEE,OAAQ,QAASE,QAAQG,aAAG,EAAHA,EAAKC,UAAWC,OAAOF,IAAO,EAQnE,OANAX,EAAKD,QAAQe,GAAG,UAAWT,GAC3BL,EAAKD,QAAQe,GAAG,aAAcP,GAE9BP,EAAKD,QAAQe,GAAG,YAAaL,GAC7BT,EAAKD,QAAQe,GAAG,gBAAiBJ,GAE1B,WACLV,EAAKD,QAAQgB,IAAI,UAAWV,GAC5BL,EAAKD,QAAQgB,IAAI,aAAcR,GAE/BP,EAAKD,QAAQgB,IAAI,YAAaN,GAC9BT,EAAKD,QAAQgB,IAAI,gBAAiBL,MApDnC,CAgGF,OAhGGM,EAAA,QAAAlB,EAAA,CAAA,CAAAmB,IAAA,YAAAC,MAEJ,SAAaC,EAAiBC,EAA0BC,GAAqB,IAAAC,EAAArB,KAC3EA,KAAKsB,cAAcJ,EAASC,EAAQC,GAEpCpB,KAAKF,QAAQe,kBAAWK,GAAWC,GAEnCnB,KAAKuB,MAAM,YAAaL,EAASE,GAEjC,IAAMI,EAAc,WAAH,OAASH,EAAKG,YAAYN,EAASC,EAAQC,EAAI,EAOhE,OALAK,OAAOC,eAAeF,EAAa,OAAQ,CACzCP,MAAK,eAAAU,OAAiBT,EAAQU,QAAQ,SAAU,MAChDC,UAAU,IAGLL,CACT,GAAC,CAAAR,IAAA,cAAAC,MAED,SAAeC,EAAiBC,EAA0BC,GACxDpB,KAAKsB,cAAcJ,EAASC,EAAQC,GAEpCpB,KAAKuB,MAAM,cAAeL,EAASE,GAEnCpB,KAAKF,QAAQgB,mBAAYI,GAAWC,EACtC,GAAC,CAAAH,IAAA,aAAAC,MAED,WAIE,OAHAjB,KAAKF,QAAQgC,aACb9B,KAAKF,QAAQiC,qBAEN/B,IACT,GAAC,CAAAgB,IAAA,gBAAAC,MAwBD,SAAsBC,EAAkBC,EAAiBC,GACvD,GAAuB,iBAAZF,IAAyBA,EAClC,MAAM,IAAIc,MAAM,sCAElB,GAAsB,mBAAXb,EACT,MAAM,IAAIa,MAAM,qCAGlB,QAAYC,IAARb,GAAoC,mBAARA,EAC9B,MAAM,IAAIY,MAAM,yBAEpB,GAAC,CAAAhB,IAAA,sBAAAC,MAED,SAA4BC,GAE1B,OAA4D,IAArDlB,KAAKF,QAAQoC,UAAkBhB,QAAAA,OAAAA,IAAWiB,MACnD,GAAC,CAAAnB,IAAA,QAAAC,MAED,SAAcmB,EAAoClB,EAAiBE,GACjE,IAAKpB,KAAKqC,oBAAoBnB,GAC5B,OAAOE,aAAG,EAAHA,IAGJA,EAMApB,KAAKF,QAAQwC,YAChBF,EAAKG,EAAA,CACHrB,QAAAA,GAAYsB,EAAiBA,sBAC/B,SAACC,GACC,OAAIA,EAAIC,GACCtB,IAGFA,EAAI,IAAIY,MAAmBI,aAAAA,OAAAA,EAAoBlB,gBAAAA,OAAAA,EAAYuB,MAAAA,OAAAA,EAAIE,QACxE,IAdA3C,KAAKF,QAAQ8C,KAAKR,EAAKG,EAAA,CAAIrB,QAAAA,GAAYsB,EAAAA,qBAgB3C,KAAC3C,CAAA,CAnG+B"}
1
+ {"version":3,"file":"subscriptions-client.js","sources":["../../../../src/clients/subscriptions/subscriptions-client.ts"],"sourcesContent":["import { Socket } from 'socket.io-client';\nimport { getHrefDebugField } from './constants';\nimport { SocketAuthRecovery } from './subscriptions-auth-recovery';\nimport {\n SubcriptionsClient,\n SubscriptionsClientV2Events,\n SubscriptionsClientV2ServerEvents,\n AcknowledgeCb,\n OnDataReceive,\n OnConnectionChange,\n} from './types';\n\nexport class SubscriptionsClientV2 implements SubcriptionsClient {\n /** Listeners this client put on the Manager; `socket.removeAllListeners()` does not reach those. */\n private readonly _managerListeners = new Set<() => void>();\n\n constructor(\n // Keep the name: corva-web-frontend's Sentry integration reaches the raw socket through it.\n private readonly _socket: Socket<\n SubscriptionsClientV2Events,\n SubscriptionsClientV2ServerEvents\n >,\n private readonly _recovery?: SocketAuthRecovery\n ) {}\n\n subscribe<T>(channel: string, onData: OnDataReceive<T>, ack?: AcknowledgeCb) {\n this._validateArgs(channel, onData, ack);\n\n this._socket.on(`data#${channel}`, onData);\n\n this._emit('subscribe', channel, ack);\n\n const unsubscribe = () => this.unsubscribe(channel, onData, ack);\n\n Object.defineProperty(unsubscribe, 'name', {\n value: `unsubscribe_${channel.replace(/[^\\w]/g, '_')}`,\n writable: false,\n });\n\n return unsubscribe;\n }\n\n unsubscribe<T>(channel: string, onData: OnDataReceive<T>, ack?: AcknowledgeCb) {\n this._validateArgs(channel, onData, ack);\n\n this._emit('unsubscribe', channel, ack);\n\n this._socket.off(`data#${channel}`, onData);\n }\n\n disconnect() {\n this._recovery?.dispose();\n this._socket.disconnect();\n this._socket.removeAllListeners();\n this._managerListeners.forEach(listener => this._socket.io?.off('reconnect_attempt', listener));\n this._managerListeners.clear();\n\n return this;\n }\n\n ensureConnected() {\n if (this._recovery) {\n this._recovery.ensureConnected();\n return;\n }\n\n if (!this._socket.connected && !this._socket.active) {\n this._socket.connect();\n }\n }\n\n onConnectionChange: (handler: OnConnectionChange) => () => void = handler => {\n const onConnect = () => handler({ status: 'connected' });\n const onDisconnect = (reason?: string) => handler({ status: 'disconnected', reason });\n const onReconnectAttempt = () => handler({ status: 'reconnecting' });\n const onConnectError = (err?: any) =>\n handler({ status: 'error', reason: err?.message || String(err) });\n\n // Reconnection events belong to the Manager (`socket.io`), not the Socket: a `reconnect*`\n // listener on the Socket never fires in socket.io v4.\n const manager = this._socket.io;\n\n this._socket.on('connect', onConnect as any);\n this._socket.on('disconnect', onDisconnect as any);\n manager?.on('reconnect_attempt', onReconnectAttempt);\n this._managerListeners.add(onReconnectAttempt);\n this._socket.on('connect_error', onConnectError as any);\n\n return () => {\n this._socket.off('connect', onConnect as any);\n this._socket.off('disconnect', onDisconnect as any);\n manager?.off('reconnect_attempt', onReconnectAttempt);\n this._managerListeners.delete(onReconnectAttempt);\n this._socket.off('connect_error', onConnectError as any);\n };\n };\n\n private _validateArgs(channel: unknown, onData: unknown, ack?: unknown) {\n if (typeof channel !== 'string' || !channel) {\n throw new Error('Channel must be a non-empty string');\n }\n if (typeof onData !== 'function') {\n throw new Error('onData handler must be a function');\n }\n\n if (ack !== undefined && typeof ack !== 'function') {\n throw new Error('ack must be a function');\n }\n }\n\n private _shouldEmitToServer(channel: string) {\n // emit when the only present listener is a current one\n return this._socket.listeners(`data#${channel}`).length === 1;\n }\n\n private _emit(event: 'subscribe' | 'unsubscribe', channel: string, ack?: AcknowledgeCb) {\n if (!this._shouldEmitToServer(channel)) {\n return ack?.();\n }\n\n if (!ack) {\n this._socket.emit(event, { channel, ...getHrefDebugField() });\n\n return;\n }\n\n void this._socket.emitWithAck(\n event,\n { channel, ...getHrefDebugField() },\n (res: { ok: boolean; error?: string }) => {\n if (res.ok) {\n return ack();\n }\n\n return ack(new Error(`Failed to ${event} to channel ${channel}: ${res.error}`));\n }\n );\n }\n}\n"],"names":["SubscriptionsClientV2","_socket","_recovery","_this","this","_classCallCheck","_defineProperty","Set","handler","onConnect","status","onDisconnect","reason","onReconnectAttempt","onConnectError","err","message","String","manager","io","on","_managerListeners","add","off","delete","_createClass","key","value","channel","onData","ack","_this2","_validateArgs","_emit","unsubscribe","Object","defineProperty","concat","replace","writable","_this$_recovery","_this3","dispose","disconnect","removeAllListeners","forEach","listener","_this3$_socket$io","clear","ensureConnected","connected","active","connect","Error","undefined","listeners","length","event","_shouldEmitToServer","emitWithAck","_objectSpread","getHrefDebugField","res","ok","error","emit"],"mappings":"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"}