@atlaskit/media-client 37.2.36 → 37.3.0

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 (459) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/dist/cjs/client/file-fetcher/FileFetcherError.js +54 -0
  3. package/dist/cjs/client/file-fetcher/error.js +13 -52
  4. package/dist/cjs/client/file-fetcher/index.js +59 -46
  5. package/dist/cjs/client/file-fetcher/isFileFetcherError.js +10 -0
  6. package/dist/cjs/client/media-client.js +4 -4
  7. package/dist/cjs/client/media-store/MediaStore.js +100 -108
  8. package/dist/cjs/client/media-store/MediaStoreError.js +36 -0
  9. package/dist/cjs/client/media-store/cdnFeatureFlag.js +14 -0
  10. package/dist/cjs/client/media-store/decodeJwtToken.js +9 -0
  11. package/dist/cjs/client/media-store/error.js +13 -34
  12. package/dist/cjs/client/media-store/extendImageParams.js +23 -0
  13. package/dist/cjs/client/media-store/getMediaEnvironment.js +11 -0
  14. package/dist/cjs/client/media-store/getMediaRegion.js +11 -0
  15. package/dist/cjs/client/media-store/getValueFromSessionStorage.js +10 -0
  16. package/dist/cjs/client/media-store/isMediaStoreError.js +10 -0
  17. package/dist/cjs/client/media-store/jsonHeaders.js +10 -0
  18. package/dist/cjs/client/media-store/resolveAuth.js +10 -16
  19. package/dist/cjs/client/media-store/resolveInitialAuth.js +13 -0
  20. package/dist/cjs/client/media-store/setKeyValueInSessionStorage.js +19 -0
  21. package/dist/cjs/client/mobile-upload.js +9 -6
  22. package/dist/cjs/identifier.js +20 -15
  23. package/dist/cjs/index.js +60 -37
  24. package/dist/cjs/is-different-identifier.js +16 -0
  25. package/dist/cjs/is-external-image-identifier.js +9 -0
  26. package/dist/cjs/is-file-identifier.js +9 -0
  27. package/dist/cjs/models/artifacts.js +2 -2
  28. package/dist/cjs/models/errors/BaseMediaClientError.js +43 -0
  29. package/dist/cjs/models/errors/CommonMediaClientError.js +32 -0
  30. package/dist/cjs/models/errors/fromCommonMediaClientError.js +28 -0
  31. package/dist/cjs/models/errors/getMediaClientErrorReason.js +10 -0
  32. package/dist/cjs/models/errors/helpers.js +14 -8
  33. package/dist/cjs/models/errors/index.js +37 -96
  34. package/dist/cjs/models/errors/isCommonMediaClientError.js +17 -0
  35. package/dist/cjs/models/errors/isMediaClientError.js +9 -0
  36. package/dist/cjs/models/errors/toCommonMediaClientError.js +13 -0
  37. package/dist/cjs/models/file-state.js +75 -93
  38. package/dist/cjs/models/has-artifacts.js +9 -0
  39. package/dist/cjs/models/is-error-file-state.js +9 -0
  40. package/dist/cjs/models/is-final-file-state.js +9 -0
  41. package/dist/cjs/models/is-image-representation-ready.js +16 -0
  42. package/dist/cjs/models/is-non-error-final-file-state.js +9 -0
  43. package/dist/cjs/models/is-not-found-media-item-details.js +9 -0
  44. package/dist/cjs/models/is-previewable-file-state.js +10 -0
  45. package/dist/cjs/models/is-previewable-type.js +10 -0
  46. package/dist/cjs/models/is-processed-file-state.js +9 -0
  47. package/dist/cjs/models/is-processing-file-state.js +9 -0
  48. package/dist/cjs/models/is-uploading-file-state.js +9 -0
  49. package/dist/cjs/models/map-media-file-to-file-state.js +59 -0
  50. package/dist/cjs/models/map-media-item-to-file-state.js +18 -0
  51. package/dist/cjs/models/media.js +23 -10
  52. package/dist/cjs/uploader/{error.js → UploaderError.js} +2 -6
  53. package/dist/cjs/uploader/index.js +4 -4
  54. package/dist/cjs/uploader/isUploaderError.js +10 -0
  55. package/dist/cjs/utils/addFileAttrsToUrl.js +24 -0
  56. package/dist/cjs/utils/createBatchLoadingFunc.js +127 -0
  57. package/dist/cjs/utils/createFileDataLoader.js +1 -170
  58. package/dist/cjs/utils/createFileDataloader-2.js +15 -0
  59. package/dist/cjs/utils/getAttrsFromUrl.js +41 -0
  60. package/dist/cjs/utils/getItemsFromKeys.js +50 -0
  61. package/dist/cjs/utils/isCDNEnabled.js +15 -0
  62. package/dist/cjs/utils/isMediaBlobUrl.js +10 -0
  63. package/dist/cjs/utils/isPathBasedEnabled.js +14 -0
  64. package/dist/cjs/utils/mapRetryUrlToPathBasedUrl.js +24 -0
  65. package/dist/cjs/utils/mapToMediaCdnUrl.js +38 -0
  66. package/dist/cjs/utils/mapToPathBasedUrl.js +32 -0
  67. package/dist/cjs/utils/mediaCdn.js +2 -40
  68. package/dist/cjs/utils/mediaSubscribable/createMediaSubscribable.js +11 -0
  69. package/dist/cjs/utils/mediaSubscribable/fromObservable.js +13 -5
  70. package/dist/cjs/utils/mobileUpload/{error.js → MobileUploadError.js} +2 -6
  71. package/dist/cjs/utils/mobileUpload/{helpers.js → createMobileDownloadFileStream.js} +8 -18
  72. package/dist/cjs/utils/mobileUpload/createMobileFileStateSubject.js +16 -0
  73. package/dist/cjs/utils/mobileUpload/isMobileUploadError.js +10 -0
  74. package/dist/cjs/utils/mobileUpload/stateMachine/createMobileUploadService.js +10 -0
  75. package/dist/cjs/utils/mobileUpload/stateMachine/{index.js → createMobileUploadStateMachine.js} +8 -12
  76. package/dist/cjs/utils/mobileUpload/stateMachine/states/uploading.js +3 -3
  77. package/dist/cjs/utils/objectToQueryString.js +17 -0
  78. package/dist/cjs/utils/overrideMediaTypeIfUnknown.js +2 -2
  79. package/dist/cjs/utils/pathBasedUrl.js +2 -49
  80. package/dist/cjs/utils/polling/PollingError.js +36 -0
  81. package/dist/cjs/utils/polling/errors.js +13 -34
  82. package/dist/cjs/utils/polling/index.js +11 -6
  83. package/dist/cjs/utils/polling/isPollingError.js +10 -0
  84. package/dist/cjs/utils/rejectTimeout.js +11 -0
  85. package/dist/cjs/utils/request/RequestError.js +56 -0
  86. package/dist/cjs/utils/request/cloneRequestError.js +17 -0
  87. package/dist/cjs/utils/request/createMapResponseToBlob.js +43 -0
  88. package/dist/cjs/utils/request/createMapResponseToJson.js +43 -0
  89. package/dist/cjs/utils/request/createProcessFetchResponse.js +16 -0
  90. package/dist/cjs/utils/request/createRequestErrorFromResponse.js +20 -0
  91. package/dist/cjs/utils/request/createRequestErrorReason.js +30 -0
  92. package/dist/cjs/utils/request/createUrl.js +31 -0
  93. package/dist/cjs/utils/request/defaultShouldRetryError.js +12 -0
  94. package/dist/cjs/utils/request/errors.js +13 -54
  95. package/dist/cjs/utils/request/extendHeaders.js +21 -0
  96. package/dist/cjs/utils/request/extendTraceContext.js +16 -0
  97. package/dist/cjs/utils/request/extractMediaHeaders.js +15 -0
  98. package/dist/cjs/utils/request/fetchRetry.js +120 -0
  99. package/dist/cjs/utils/request/getStatusCode.js +11 -0
  100. package/dist/cjs/utils/request/helpers.js +198 -313
  101. package/dist/cjs/utils/request/index.js +36 -20
  102. package/dist/cjs/utils/request/isAbortedRequestError.js +9 -0
  103. package/dist/cjs/utils/request/isFetchNetworkError.js +10 -0
  104. package/dist/cjs/utils/request/isRateLimitedError.js +11 -0
  105. package/dist/cjs/utils/request/isRequestError.js +10 -0
  106. package/dist/cjs/utils/request/mapAuthToRequestHeaders.js +22 -0
  107. package/dist/cjs/utils/request/waitPromise.js +11 -0
  108. package/dist/cjs/utils/{setTimeoutPromise.js → resolveTimeout.js} +1 -6
  109. package/dist/cjs/utils/url.js +43 -63
  110. package/dist/es2019/client/file-fetcher/FileFetcherError.js +34 -0
  111. package/dist/es2019/client/file-fetcher/error.js +9 -37
  112. package/dist/es2019/client/file-fetcher/index.js +32 -17
  113. package/dist/es2019/client/file-fetcher/isFileFetcherError.js +4 -0
  114. package/dist/es2019/client/media-client.js +1 -1
  115. package/dist/es2019/client/media-store/MediaStore.js +35 -59
  116. package/dist/es2019/client/media-store/MediaStoreError.js +19 -0
  117. package/dist/es2019/client/media-store/cdnFeatureFlag.js +8 -0
  118. package/dist/es2019/client/media-store/decodeJwtToken.js +3 -0
  119. package/dist/es2019/client/media-store/error.js +9 -22
  120. package/dist/es2019/client/media-store/extendImageParams.js +14 -0
  121. package/dist/es2019/client/media-store/getMediaEnvironment.js +5 -0
  122. package/dist/es2019/client/media-store/getMediaRegion.js +5 -0
  123. package/dist/es2019/client/media-store/getValueFromSessionStorage.js +4 -0
  124. package/dist/es2019/client/media-store/isMediaStoreError.js +4 -0
  125. package/dist/es2019/client/media-store/jsonHeaders.js +4 -0
  126. package/dist/es2019/client/media-store/resolveAuth.js +2 -8
  127. package/dist/es2019/client/media-store/resolveInitialAuth.js +7 -0
  128. package/dist/es2019/client/media-store/setKeyValueInSessionStorage.js +13 -0
  129. package/dist/es2019/client/mobile-upload.js +5 -2
  130. package/dist/es2019/identifier.js +14 -14
  131. package/dist/es2019/index.js +31 -8
  132. package/dist/es2019/is-different-identifier.js +9 -0
  133. package/dist/es2019/is-external-image-identifier.js +3 -0
  134. package/dist/es2019/is-file-identifier.js +3 -0
  135. package/dist/es2019/models/artifacts.js +1 -1
  136. package/dist/es2019/models/errors/BaseMediaClientError.js +23 -0
  137. package/dist/es2019/models/errors/CommonMediaClientError.js +13 -0
  138. package/dist/es2019/models/errors/fromCommonMediaClientError.js +20 -0
  139. package/dist/es2019/models/errors/getMediaClientErrorReason.js +4 -0
  140. package/dist/es2019/models/errors/helpers.js +10 -6
  141. package/dist/es2019/models/errors/index.js +27 -72
  142. package/dist/es2019/models/errors/isCommonMediaClientError.js +11 -0
  143. package/dist/es2019/models/errors/isMediaClientError.js +3 -0
  144. package/dist/es2019/models/errors/toCommonMediaClientError.js +8 -0
  145. package/dist/es2019/models/file-state.js +46 -79
  146. package/dist/es2019/models/has-artifacts.js +1 -0
  147. package/dist/es2019/models/is-error-file-state.js +1 -0
  148. package/dist/es2019/models/is-final-file-state.js +1 -0
  149. package/dist/es2019/models/is-image-representation-ready.js +10 -0
  150. package/dist/es2019/models/is-non-error-final-file-state.js +1 -0
  151. package/dist/es2019/models/is-not-found-media-item-details.js +3 -0
  152. package/dist/es2019/models/is-previewable-file-state.js +2 -0
  153. package/dist/es2019/models/is-previewable-type.js +4 -0
  154. package/dist/es2019/models/is-processed-file-state.js +1 -0
  155. package/dist/es2019/models/is-processing-file-state.js +1 -0
  156. package/dist/es2019/models/is-uploading-file-state.js +1 -0
  157. package/dist/es2019/models/map-media-file-to-file-state.js +53 -0
  158. package/dist/es2019/models/map-media-item-to-file-state.js +9 -0
  159. package/dist/es2019/models/media.js +12 -8
  160. package/dist/es2019/uploader/{error.js → UploaderError.js} +1 -4
  161. package/dist/es2019/uploader/index.js +3 -3
  162. package/dist/es2019/uploader/isUploaderError.js +4 -0
  163. package/dist/es2019/utils/addFileAttrsToUrl.js +19 -0
  164. package/dist/es2019/utils/createBatchLoadingFunc.js +74 -0
  165. package/dist/es2019/utils/createFileDataLoader.js +1 -122
  166. package/dist/es2019/utils/createFileDataloader-2.js +8 -0
  167. package/dist/es2019/utils/getAttrsFromUrl.js +35 -0
  168. package/dist/es2019/utils/getItemsFromKeys.js +43 -0
  169. package/dist/es2019/utils/isCDNEnabled.js +9 -0
  170. package/dist/es2019/utils/isMediaBlobUrl.js +4 -0
  171. package/dist/es2019/utils/isPathBasedEnabled.js +7 -0
  172. package/dist/es2019/utils/mapRetryUrlToPathBasedUrl.js +17 -0
  173. package/dist/es2019/utils/mapToMediaCdnUrl.js +32 -0
  174. package/dist/es2019/utils/mapToPathBasedUrl.js +25 -0
  175. package/dist/es2019/utils/mediaCdn.js +1 -37
  176. package/dist/es2019/utils/mediaSubscribable/createMediaSubscribable.js +5 -0
  177. package/dist/es2019/utils/mediaSubscribable/fromObservable.js +7 -4
  178. package/dist/es2019/utils/mobileUpload/{error.js → MobileUploadError.js} +1 -4
  179. package/dist/es2019/utils/mobileUpload/{helpers.js → createMobileDownloadFileStream.js} +3 -11
  180. package/dist/es2019/utils/mobileUpload/createMobileFileStateSubject.js +8 -0
  181. package/dist/es2019/utils/mobileUpload/isMobileUploadError.js +4 -0
  182. package/dist/es2019/utils/mobileUpload/stateMachine/createMobileUploadService.js +4 -0
  183. package/dist/es2019/utils/mobileUpload/stateMachine/{index.js → createMobileUploadStateMachine.js} +7 -10
  184. package/dist/es2019/utils/mobileUpload/stateMachine/states/uploading.js +1 -1
  185. package/dist/es2019/utils/objectToQueryString.js +9 -0
  186. package/dist/es2019/utils/overrideMediaTypeIfUnknown.js +1 -1
  187. package/dist/es2019/utils/pathBasedUrl.js +1 -45
  188. package/dist/es2019/utils/polling/PollingError.js +21 -0
  189. package/dist/es2019/utils/polling/errors.js +9 -24
  190. package/dist/es2019/utils/polling/index.js +10 -2
  191. package/dist/es2019/utils/polling/isPollingError.js +4 -0
  192. package/dist/es2019/utils/rejectTimeout.js +3 -0
  193. package/dist/es2019/utils/request/RequestError.js +39 -0
  194. package/dist/es2019/utils/request/cloneRequestError.js +12 -0
  195. package/dist/es2019/utils/request/createMapResponseToBlob.js +15 -0
  196. package/dist/es2019/utils/request/createMapResponseToJson.js +15 -0
  197. package/dist/es2019/utils/request/createProcessFetchResponse.js +10 -0
  198. package/dist/es2019/utils/request/createRequestErrorFromResponse.js +14 -0
  199. package/dist/es2019/utils/request/createRequestErrorReason.js +24 -0
  200. package/dist/es2019/utils/request/createUrl.js +17 -0
  201. package/dist/es2019/utils/request/defaultShouldRetryError.js +6 -0
  202. package/dist/es2019/utils/request/errors.js +9 -42
  203. package/dist/es2019/utils/request/extendHeaders.js +18 -0
  204. package/dist/es2019/utils/request/extendTraceContext.js +5 -0
  205. package/dist/es2019/utils/request/extractMediaHeaders.js +11 -0
  206. package/dist/es2019/utils/request/fetchRetry.js +54 -0
  207. package/dist/es2019/utils/request/getStatusCode.js +5 -0
  208. package/dist/es2019/utils/request/helpers.js +73 -215
  209. package/dist/es2019/utils/request/index.js +25 -4
  210. package/dist/es2019/utils/request/isAbortedRequestError.js +3 -0
  211. package/dist/es2019/utils/request/isFetchNetworkError.js +4 -0
  212. package/dist/es2019/utils/request/isRateLimitedError.js +5 -0
  213. package/dist/es2019/utils/request/isRequestError.js +4 -0
  214. package/dist/es2019/utils/request/mapAuthToRequestHeaders.js +16 -0
  215. package/dist/es2019/utils/request/waitPromise.js +3 -0
  216. package/dist/es2019/utils/resolveTimeout.js +3 -0
  217. package/dist/es2019/utils/url.js +18 -65
  218. package/dist/esm/client/file-fetcher/FileFetcherError.js +47 -0
  219. package/dist/esm/client/file-fetcher/error.js +9 -50
  220. package/dist/esm/client/file-fetcher/index.js +32 -17
  221. package/dist/esm/client/file-fetcher/isFileFetcherError.js +4 -0
  222. package/dist/esm/client/media-client.js +1 -1
  223. package/dist/esm/client/media-store/MediaStore.js +35 -58
  224. package/dist/esm/client/media-store/MediaStoreError.js +29 -0
  225. package/dist/esm/client/media-store/cdnFeatureFlag.js +8 -0
  226. package/dist/esm/client/media-store/decodeJwtToken.js +3 -0
  227. package/dist/esm/client/media-store/error.js +9 -32
  228. package/dist/esm/client/media-store/extendImageParams.js +16 -0
  229. package/dist/esm/client/media-store/getMediaEnvironment.js +5 -0
  230. package/dist/esm/client/media-store/getMediaRegion.js +5 -0
  231. package/dist/esm/client/media-store/getValueFromSessionStorage.js +4 -0
  232. package/dist/esm/client/media-store/isMediaStoreError.js +4 -0
  233. package/dist/esm/client/media-store/jsonHeaders.js +4 -0
  234. package/dist/esm/client/media-store/resolveAuth.js +3 -9
  235. package/dist/esm/client/media-store/resolveInitialAuth.js +7 -0
  236. package/dist/esm/client/media-store/setKeyValueInSessionStorage.js +13 -0
  237. package/dist/esm/client/mobile-upload.js +5 -2
  238. package/dist/esm/identifier.js +14 -14
  239. package/dist/esm/index.js +31 -8
  240. package/dist/esm/is-different-identifier.js +9 -0
  241. package/dist/esm/is-external-image-identifier.js +3 -0
  242. package/dist/esm/is-file-identifier.js +3 -0
  243. package/dist/esm/models/artifacts.js +1 -1
  244. package/dist/esm/models/errors/BaseMediaClientError.js +36 -0
  245. package/dist/esm/models/errors/CommonMediaClientError.js +25 -0
  246. package/dist/esm/models/errors/fromCommonMediaClientError.js +21 -0
  247. package/dist/esm/models/errors/getMediaClientErrorReason.js +4 -0
  248. package/dist/esm/models/errors/helpers.js +10 -6
  249. package/dist/esm/models/errors/index.js +27 -91
  250. package/dist/esm/models/errors/isCommonMediaClientError.js +11 -0
  251. package/dist/esm/models/errors/isMediaClientError.js +3 -0
  252. package/dist/esm/models/errors/toCommonMediaClientError.js +8 -0
  253. package/dist/esm/models/file-state.js +46 -93
  254. package/dist/esm/models/has-artifacts.js +3 -0
  255. package/dist/esm/models/is-error-file-state.js +3 -0
  256. package/dist/esm/models/is-final-file-state.js +3 -0
  257. package/dist/esm/models/is-image-representation-ready.js +10 -0
  258. package/dist/esm/models/is-non-error-final-file-state.js +3 -0
  259. package/dist/esm/models/is-not-found-media-item-details.js +3 -0
  260. package/dist/esm/models/is-previewable-file-state.js +4 -0
  261. package/dist/esm/models/is-previewable-type.js +4 -0
  262. package/dist/esm/models/is-processed-file-state.js +3 -0
  263. package/dist/esm/models/is-processing-file-state.js +3 -0
  264. package/dist/esm/models/is-uploading-file-state.js +3 -0
  265. package/dist/esm/models/map-media-file-to-file-state.js +52 -0
  266. package/dist/esm/models/map-media-item-to-file-state.js +11 -0
  267. package/dist/esm/models/media.js +12 -8
  268. package/dist/esm/uploader/{error.js → UploaderError.js} +2 -5
  269. package/dist/esm/uploader/index.js +3 -3
  270. package/dist/esm/uploader/isUploaderError.js +4 -0
  271. package/dist/esm/utils/addFileAttrsToUrl.js +17 -0
  272. package/dist/esm/utils/createBatchLoadingFunc.js +121 -0
  273. package/dist/esm/utils/createFileDataLoader.js +1 -166
  274. package/dist/esm/utils/createFileDataloader-2.js +8 -0
  275. package/dist/esm/utils/getAttrsFromUrl.js +35 -0
  276. package/dist/esm/utils/getItemsFromKeys.js +43 -0
  277. package/dist/esm/utils/isCDNEnabled.js +9 -0
  278. package/dist/esm/utils/isMediaBlobUrl.js +4 -0
  279. package/dist/esm/utils/isPathBasedEnabled.js +7 -0
  280. package/dist/esm/utils/mapRetryUrlToPathBasedUrl.js +17 -0
  281. package/dist/esm/utils/mapToMediaCdnUrl.js +32 -0
  282. package/dist/esm/utils/mapToPathBasedUrl.js +25 -0
  283. package/dist/esm/utils/mediaCdn.js +1 -37
  284. package/dist/esm/utils/mediaSubscribable/createMediaSubscribable.js +5 -0
  285. package/dist/esm/utils/mediaSubscribable/fromObservable.js +7 -4
  286. package/dist/esm/utils/mobileUpload/{error.js → MobileUploadError.js} +2 -5
  287. package/dist/esm/utils/mobileUpload/{helpers.js → createMobileDownloadFileStream.js} +3 -13
  288. package/dist/esm/utils/mobileUpload/createMobileFileStateSubject.js +10 -0
  289. package/dist/esm/utils/mobileUpload/isMobileUploadError.js +4 -0
  290. package/dist/esm/utils/mobileUpload/stateMachine/createMobileUploadService.js +4 -0
  291. package/dist/esm/utils/mobileUpload/stateMachine/{index.js → createMobileUploadStateMachine.js} +7 -10
  292. package/dist/esm/utils/mobileUpload/stateMachine/states/uploading.js +1 -1
  293. package/dist/esm/utils/objectToQueryString.js +11 -0
  294. package/dist/esm/utils/overrideMediaTypeIfUnknown.js +1 -1
  295. package/dist/esm/utils/pathBasedUrl.js +1 -45
  296. package/dist/esm/utils/polling/PollingError.js +29 -0
  297. package/dist/esm/utils/polling/errors.js +9 -32
  298. package/dist/esm/utils/polling/index.js +10 -2
  299. package/dist/esm/utils/polling/isPollingError.js +4 -0
  300. package/dist/esm/utils/rejectTimeout.js +5 -0
  301. package/dist/esm/utils/request/RequestError.js +49 -0
  302. package/dist/esm/utils/request/cloneRequestError.js +10 -0
  303. package/dist/esm/utils/request/createMapResponseToBlob.js +36 -0
  304. package/dist/esm/utils/request/createMapResponseToJson.js +36 -0
  305. package/dist/esm/utils/request/createProcessFetchResponse.js +10 -0
  306. package/dist/esm/utils/request/createRequestErrorFromResponse.js +13 -0
  307. package/dist/esm/utils/request/createRequestErrorReason.js +24 -0
  308. package/dist/esm/utils/request/createUrl.js +24 -0
  309. package/dist/esm/utils/request/defaultShouldRetryError.js +6 -0
  310. package/dist/esm/utils/request/errors.js +9 -52
  311. package/dist/esm/utils/request/extendHeaders.js +14 -0
  312. package/dist/esm/utils/request/extendTraceContext.js +9 -0
  313. package/dist/esm/utils/request/extractMediaHeaders.js +9 -0
  314. package/dist/esm/utils/request/fetchRetry.js +113 -0
  315. package/dist/esm/utils/request/getStatusCode.js +5 -0
  316. package/dist/esm/utils/request/helpers.js +73 -295
  317. package/dist/esm/utils/request/index.js +25 -4
  318. package/dist/esm/utils/request/isAbortedRequestError.js +3 -0
  319. package/dist/esm/utils/request/isFetchNetworkError.js +4 -0
  320. package/dist/esm/utils/request/isRateLimitedError.js +5 -0
  321. package/dist/esm/utils/request/isRequestError.js +4 -0
  322. package/dist/esm/utils/request/mapAuthToRequestHeaders.js +16 -0
  323. package/dist/esm/utils/request/waitPromise.js +5 -0
  324. package/dist/esm/utils/{setTimeoutPromise.js → resolveTimeout.js} +0 -5
  325. package/dist/esm/utils/url.js +18 -65
  326. package/dist/types/client/file-fetcher/FileFetcherError.d.ts +32 -0
  327. package/dist/types/client/file-fetcher/error.d.ts +9 -33
  328. package/dist/types/client/file-fetcher/index.d.ts +15 -7
  329. package/dist/types/client/file-fetcher/isFileFetcherError.d.ts +2 -0
  330. package/dist/types/client/media-client.d.ts +4 -3
  331. package/dist/types/client/media-store/MediaStore.d.ts +18 -6
  332. package/dist/types/client/media-store/MediaStoreError.d.ts +14 -0
  333. package/dist/types/client/media-store/cdnFeatureFlag.d.ts +1 -0
  334. package/dist/types/client/media-store/decodeJwtToken.d.ts +3 -0
  335. package/dist/types/client/media-store/error.d.ts +9 -15
  336. package/dist/types/client/media-store/extendImageParams.d.ts +2 -0
  337. package/dist/types/client/media-store/getMediaEnvironment.d.ts +1 -0
  338. package/dist/types/client/media-store/getMediaRegion.d.ts +1 -0
  339. package/dist/types/client/media-store/getValueFromSessionStorage.d.ts +1 -0
  340. package/dist/types/client/media-store/isMediaStoreError.d.ts +2 -0
  341. package/dist/types/client/media-store/jsonHeaders.d.ts +1 -0
  342. package/dist/types/client/media-store/resolveAuth.d.ts +0 -1
  343. package/dist/types/client/media-store/resolveInitialAuth.d.ts +2 -0
  344. package/dist/types/client/media-store/setKeyValueInSessionStorage.d.ts +1 -0
  345. package/dist/types/client/mobile-upload.d.ts +1 -1
  346. package/dist/types/identifier.d.ts +12 -3
  347. package/dist/types/index.d.ts +34 -10
  348. package/dist/types/is-different-identifier.d.ts +2 -0
  349. package/dist/types/is-external-image-identifier.d.ts +2 -0
  350. package/dist/types/is-file-identifier.d.ts +2 -0
  351. package/dist/types/models/errors/BaseMediaClientError.d.ts +11 -0
  352. package/dist/types/models/errors/CommonMediaClientError.d.ts +7 -0
  353. package/dist/types/models/errors/fromCommonMediaClientError.d.ts +4 -0
  354. package/dist/types/models/errors/getMediaClientErrorReason.d.ts +2 -0
  355. package/dist/types/models/errors/helpers.d.ts +8 -5
  356. package/dist/types/models/errors/index.d.ts +26 -21
  357. package/dist/types/models/errors/isCommonMediaClientError.d.ts +3 -0
  358. package/dist/types/models/errors/isMediaClientError.d.ts +4 -0
  359. package/dist/types/models/errors/toCommonMediaClientError.d.ts +4 -0
  360. package/dist/types/models/file-state.d.ts +45 -16
  361. package/dist/types/models/has-artifacts.d.ts +4 -0
  362. package/dist/types/models/is-error-file-state.d.ts +2 -0
  363. package/dist/types/models/is-final-file-state.d.ts +2 -0
  364. package/dist/types/models/is-image-representation-ready.d.ts +2 -0
  365. package/dist/types/models/is-non-error-final-file-state.d.ts +2 -0
  366. package/dist/types/models/is-not-found-media-item-details.d.ts +2 -0
  367. package/dist/types/models/is-previewable-file-state.d.ts +3 -0
  368. package/dist/types/models/is-previewable-type.d.ts +2 -0
  369. package/dist/types/models/is-processed-file-state.d.ts +2 -0
  370. package/dist/types/models/is-processing-file-state.d.ts +2 -0
  371. package/dist/types/models/is-uploading-file-state.d.ts +2 -0
  372. package/dist/types/models/map-media-file-to-file-state.d.ts +4 -0
  373. package/dist/types/models/map-media-item-to-file-state.d.ts +3 -0
  374. package/dist/types/models/media.d.ts +8 -2
  375. package/dist/types/uploader/{error.d.ts → UploaderError.d.ts} +12 -13
  376. package/dist/types/uploader/index.d.ts +1 -1
  377. package/dist/types/uploader/isUploaderError.d.ts +2 -0
  378. package/dist/types/utils/addFileAttrsToUrl.d.ts +2 -0
  379. package/dist/types/utils/createBatchLoadingFunc.d.ts +11 -0
  380. package/dist/types/utils/createCopyIntentRegisterationBatcher.d.ts +1 -1
  381. package/dist/types/utils/createFileDataLoader.d.ts +0 -14
  382. package/dist/types/utils/createFileDataloader-2.d.ts +4 -0
  383. package/dist/types/utils/getAttrsFromUrl.d.ts +2 -0
  384. package/dist/types/utils/getItemsFromKeys.d.ts +3 -0
  385. package/dist/types/utils/imageResizeModeToFileImageMode.d.ts +1 -1
  386. package/dist/types/utils/isCDNEnabled.d.ts +1 -0
  387. package/dist/types/utils/isMediaBlobUrl.d.ts +1 -0
  388. package/dist/types/utils/isPathBasedEnabled.d.ts +1 -0
  389. package/dist/types/utils/mapRetryUrlToPathBasedUrl.d.ts +1 -0
  390. package/dist/types/utils/mapToMediaCdnUrl.d.ts +1 -0
  391. package/dist/types/utils/mapToPathBasedUrl.d.ts +1 -0
  392. package/dist/types/utils/mediaCdn.d.ts +1 -2
  393. package/dist/types/utils/mediaSubscribable/createMediaSubscribable.d.ts +3 -0
  394. package/dist/types/utils/mediaSubscribable/fromObservable.d.ts +4 -1
  395. package/dist/types/utils/mobileUpload/{error.d.ts → MobileUploadError.d.ts} +15 -16
  396. package/dist/types/utils/mobileUpload/createMobileDownloadFileStream.d.ts +5 -0
  397. package/dist/types/utils/mobileUpload/{helpers.d.ts → createMobileFileStateSubject.d.ts} +0 -3
  398. package/dist/types/utils/mobileUpload/isMobileUploadError.d.ts +2 -0
  399. package/dist/types/utils/mobileUpload/stateMachine/createMobileUploadService.d.ts +3 -0
  400. package/dist/types/utils/mobileUpload/stateMachine/{index.d.ts → createMobileUploadStateMachine.d.ts} +2 -3
  401. package/dist/types/utils/objectToQueryString.d.ts +3 -0
  402. package/dist/types/utils/pathBasedUrl.d.ts +1 -3
  403. package/dist/types/utils/polling/PollingError.d.ts +10 -0
  404. package/dist/types/utils/polling/errors.d.ts +8 -11
  405. package/dist/types/utils/polling/index.d.ts +8 -1
  406. package/dist/types/utils/polling/isPollingError.d.ts +2 -0
  407. package/dist/types/utils/{setTimeoutPromise.d.ts → rejectTimeout.d.ts} +0 -1
  408. package/dist/types/utils/request/RequestError.d.ts +21 -0
  409. package/dist/types/utils/request/cloneRequestError.d.ts +3 -0
  410. package/dist/types/utils/request/createMapResponseToBlob.d.ts +2 -0
  411. package/dist/types/utils/request/createMapResponseToJson.d.ts +2 -0
  412. package/dist/types/utils/request/createProcessFetchResponse.d.ts +2 -0
  413. package/dist/types/utils/request/createRequestErrorFromResponse.d.ts +3 -0
  414. package/dist/types/utils/request/createRequestErrorReason.d.ts +2 -0
  415. package/dist/types/utils/request/createUrl.d.ts +2 -0
  416. package/dist/types/utils/request/defaultShouldRetryError.d.ts +1 -0
  417. package/dist/types/utils/request/errors.d.ts +8 -22
  418. package/dist/types/utils/request/extendHeaders.d.ts +4 -0
  419. package/dist/types/utils/request/extendTraceContext.d.ts +2 -0
  420. package/dist/types/utils/request/extractMediaHeaders.d.ts +4 -0
  421. package/dist/types/utils/request/fetchRetry.d.ts +2 -0
  422. package/dist/types/utils/request/getStatusCode.d.ts +1 -0
  423. package/dist/types/utils/request/helpers.d.ts +73 -24
  424. package/dist/types/utils/request/index.d.ts +16 -2
  425. package/dist/types/utils/request/isAbortedRequestError.d.ts +1 -0
  426. package/dist/types/utils/request/isFetchNetworkError.d.ts +1 -0
  427. package/dist/types/utils/request/isRateLimitedError.d.ts +1 -0
  428. package/dist/types/utils/request/isRequestError.d.ts +2 -0
  429. package/dist/types/utils/request/mapAuthToRequestHeaders.d.ts +3 -0
  430. package/dist/types/utils/request/waitPromise.d.ts +1 -0
  431. package/dist/types/utils/resolveTimeout.d.ts +1 -0
  432. package/dist/types/utils/url.d.ts +17 -6
  433. package/example-helpers/CardsWrapper.tsx +15 -0
  434. package/example-helpers/FileInput.tsx +20 -0
  435. package/example-helpers/FileStateWrapper.tsx +15 -0
  436. package/example-helpers/FileWrapper.tsx +22 -0
  437. package/example-helpers/Header.tsx +15 -0
  438. package/example-helpers/ImagePreview.tsx +18 -0
  439. package/example-helpers/MetadataWrapper.tsx +15 -0
  440. package/example-helpers/PreviewWrapper.tsx +15 -0
  441. package/example-helpers/Response.tsx +15 -0
  442. package/example-helpers/Row.tsx +15 -0
  443. package/example-helpers/UploadTouchWrapper.tsx +15 -0
  444. package/example-helpers/Wrapper.tsx +15 -0
  445. package/package.json +2 -2
  446. package/dist/cjs/client/media-store/index.js +0 -37
  447. package/dist/cjs/utils/mediaSubscribable/index.js +0 -25
  448. package/dist/cjs/utils/mobileUpload/index.js +0 -45
  449. package/dist/es2019/client/media-store/index.js +0 -2
  450. package/dist/es2019/utils/mediaSubscribable/index.js +0 -2
  451. package/dist/es2019/utils/mobileUpload/index.js +0 -4
  452. package/dist/es2019/utils/setTimeoutPromise.js +0 -6
  453. package/dist/esm/client/media-store/index.js +0 -2
  454. package/dist/esm/utils/mediaSubscribable/index.js +0 -2
  455. package/dist/esm/utils/mobileUpload/index.js +0 -4
  456. package/dist/types/client/media-store/index.d.ts +0 -4
  457. package/dist/types/utils/mediaSubscribable/index.d.ts +0 -3
  458. package/dist/types/utils/mobileUpload/index.d.ts +0 -5
  459. package/example-helpers/stylesWrapper.tsx +0 -98
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isAbortedRequestError = isAbortedRequestError;
7
+ function isAbortedRequestError(err) {
8
+ return err instanceof Error && err.message === 'request_cancelled' || !!err && err.name === 'AbortError';
9
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isFetchNetworkError = isFetchNetworkError;
7
+ // fetch throws TypeError for network errors
8
+ function isFetchNetworkError(err) {
9
+ return err instanceof TypeError;
10
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isRateLimitedError = isRateLimitedError;
7
+ var _getStatusCode = require("./getStatusCode");
8
+ function isRateLimitedError(error) {
9
+ var statusCode = error && (0, _getStatusCode.getStatusCode)(error);
10
+ return statusCode === 429 || !!error && !!error.message && error.message.includes('429');
11
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isRequestError = isRequestError;
7
+ var _RequestError = require("./RequestError");
8
+ function isRequestError(err) {
9
+ return err instanceof _RequestError.RequestError;
10
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.mapAuthToRequestHeaders = mapAuthToRequestHeaders;
7
+ var _mediaCore = require("@atlaskit/media-core");
8
+ function mapAuthToRequestHeaders(auth) {
9
+ if (!auth) {
10
+ return {};
11
+ }
12
+ if ((0, _mediaCore.isClientBasedAuth)(auth)) {
13
+ return {
14
+ 'X-Client-Id': auth.clientId,
15
+ Authorization: "Bearer ".concat(auth.token)
16
+ };
17
+ }
18
+ return {
19
+ 'X-Issuer': auth.asapIssuer,
20
+ Authorization: "Bearer ".concat(auth.token)
21
+ };
22
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.waitPromise = waitPromise;
7
+ function waitPromise(timeout) {
8
+ return new Promise(function (resolve) {
9
+ return setTimeout(resolve, timeout);
10
+ });
11
+ }
@@ -3,14 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.resolveTimeout = exports.rejectTimeout = void 0;
6
+ exports.resolveTimeout = void 0;
7
7
  var resolveTimeout = exports.resolveTimeout = function resolveTimeout(timeout, resolveWith) {
8
8
  return new Promise(function (resolve, _reject) {
9
9
  setTimeout(resolve, timeout, resolveWith);
10
10
  });
11
- };
12
- var rejectTimeout = exports.rejectTimeout = function rejectTimeout(timeout, rejectWith) {
13
- return new Promise(function (_resolve, reject) {
14
- setTimeout(reject, timeout, rejectWith);
15
- });
16
11
  };
@@ -1,72 +1,52 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- exports.objectToQueryString = exports.isMediaBlobUrl = exports.getAttrsFromUrl = exports.addFileAttrsToUrl = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
- var mediaBlobUrlIdentifier = 'media-blob-url';
12
- var isMediaBlobUrl = exports.isMediaBlobUrl = function isMediaBlobUrl(url) {
13
- return url.indexOf("".concat(mediaBlobUrlIdentifier, "=true")) > -1;
14
- };
15
- var getNumberFromParams = function getNumberFromParams(params, name) {
16
- var value = params.get(name);
17
- return typeof value === 'string' && !isNaN(parseInt(value)) ? parseInt(value) : undefined;
18
- };
19
- var getStringFromParams = function getStringFromParams(params, name) {
20
- var value = params.get(name);
21
- if (!value) {
22
- return;
6
+ Object.defineProperty(exports, "addFileAttrsToUrl", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _addFileAttrsToUrl.addFileAttrsToUrl;
23
10
  }
24
- return decodeURIComponent(value);
25
- };
26
- var getAttrsFromUrl = exports.getAttrsFromUrl = function getAttrsFromUrl(blobUrl) {
27
- var url = new URL(blobUrl);
28
- var hash = url.hash.replace('#', '');
29
- var params = new URLSearchParams(hash);
30
- var id = params.get('id');
31
- var contextId = params.get('contextId');
32
- var clientId = params.get('clientId');
33
- // check if we have the required params (clientId is optional for backwards compatibility)
34
- if (!id || !contextId) {
35
- return;
11
+ });
12
+ Object.defineProperty(exports, "getAttrsFromUrl", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _getAttrsFromUrl.getAttrsFromUrl;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "isMediaBlobUrl", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _isMediaBlobUrl.isMediaBlobUrl;
36
22
  }
37
- return {
38
- id: id,
39
- contextId: contextId,
40
- clientId: clientId || undefined,
41
- collection: getStringFromParams(params, 'collection'),
42
- alt: getStringFromParams(params, 'alt'),
43
- height: getNumberFromParams(params, 'height'),
44
- width: getNumberFromParams(params, 'width'),
45
- size: getNumberFromParams(params, 'size'),
46
- name: getStringFromParams(params, 'name'),
47
- mimeType: getStringFromParams(params, 'mimeType')
48
- };
49
- };
50
- var objectToQueryString = exports.objectToQueryString = function objectToQueryString(json) {
51
- return Object.keys(json).filter(function (attrName) {
52
- return typeof json[attrName] !== 'undefined' && json[attrName] !== null;
53
- }).map(function (key) {
54
- var value = json[key];
55
- if (typeof value === 'undefined' || value === null) {
56
- return;
57
- }
58
- return "".concat(encodeURIComponent(key), "=").concat(encodeURIComponent(value.toString()));
59
- }).join('&');
60
- };
61
- var addFileAttrsToUrl = exports.addFileAttrsToUrl = function addFileAttrsToUrl(url, fileAttrs) {
62
- var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
63
- if (isSafari) {
64
- return url;
23
+ });
24
+ exports.mediaBlobUrlIdentifier = void 0;
25
+ Object.defineProperty(exports, "objectToQueryString", {
26
+ enumerable: true,
27
+ get: function get() {
28
+ return _objectToQueryString.objectToQueryString;
65
29
  }
66
- var mediaIdentifierAttr = (0, _defineProperty2.default)({}, mediaBlobUrlIdentifier, 'true');
67
- var mergedAttrs = _objectSpread(_objectSpread({}, mediaIdentifierAttr), fileAttrs);
68
- var queryAttrs = objectToQueryString(mergedAttrs);
30
+ });
31
+ var _isMediaBlobUrl = require("./isMediaBlobUrl");
32
+ var _getAttrsFromUrl = require("./getAttrsFromUrl");
33
+ var _objectToQueryString = require("./objectToQueryString");
34
+ var _addFileAttrsToUrl = require("./addFileAttrsToUrl");
35
+ /* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
36
+ var mediaBlobUrlIdentifier = exports.mediaBlobUrlIdentifier = 'media-blob-url';
37
+
38
+ /**
39
+ * @deprecated Use `import { isMediaBlobUrl } from '@atlaskit/media-client'` instead.
40
+ */
41
+
42
+ /**
43
+ * @deprecated Use `import { getAttrsFromUrl } from '@atlaskit/media-client'` instead.
44
+ */
45
+
46
+ /**
47
+ * @deprecated Use `import { objectToQueryString } from '@atlaskit/media-client'` instead.
48
+ */
69
49
 
70
- // we can't use '?' separator for blob url params
71
- return "".concat(url, "#").concat(queryAttrs);
72
- };
50
+ /**
51
+ * @deprecated Use `import { addFileAttrsToUrl } from '@atlaskit/media-client'` instead.
52
+ */
@@ -0,0 +1,34 @@
1
+ import { BaseMediaClientError } from '../../models/errors/BaseMediaClientError';
2
+ export class FileFetcherError extends BaseMediaClientError {
3
+ // Legacy Attribute. Should be removed
4
+
5
+ constructor(reason, metadata) {
6
+ super(reason, metadata, undefined);
7
+ this.id = metadata.id;
8
+ }
9
+
10
+ // TODO: Deprecate this getter https://product-fabric.atlassian.net/browse/CXP-4665
11
+ /** Will be deprecated. Use the properties `reason` and `metadata` instead */
12
+ get attributes() {
13
+ const {
14
+ reason,
15
+ metadata: {
16
+ id,
17
+ collectionName,
18
+ occurrenceKey,
19
+ traceContext
20
+ }
21
+ } = this;
22
+ return {
23
+ reason,
24
+ id,
25
+ collectionName,
26
+ occurrenceKey,
27
+ ...(traceContext && {
28
+ metadata: {
29
+ traceContext
30
+ }
31
+ })
32
+ };
33
+ }
34
+ }
@@ -1,37 +1,9 @@
1
- import { BaseMediaClientError } from '../../models/errors';
2
- export class FileFetcherError extends BaseMediaClientError {
3
- // Legacy Attribute. Should be removed
4
-
5
- constructor(reason, metadata) {
6
- super(reason, metadata, undefined);
7
- this.id = metadata.id;
8
- }
9
-
10
- // TODO: Deprecate this getter https://product-fabric.atlassian.net/browse/CXP-4665
11
- /** Will be deprecated. Use the properties `reason` and `metadata` instead */
12
- get attributes() {
13
- const {
14
- reason,
15
- metadata: {
16
- id,
17
- collectionName,
18
- occurrenceKey,
19
- traceContext
20
- }
21
- } = this;
22
- return {
23
- reason,
24
- id,
25
- collectionName,
26
- occurrenceKey,
27
- ...(traceContext && {
28
- metadata: {
29
- traceContext
30
- }
31
- })
32
- };
33
- }
34
- }
35
- export function isFileFetcherError(err) {
36
- return err instanceof FileFetcherError;
37
- }
1
+ /* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
2
+ /**
3
+ * @deprecated Use `import { FileFetcherError } from '@atlaskit/media-client/file-fetcher'` instead.
4
+ */
5
+ export { FileFetcherError } from './FileFetcherError';
6
+ /**
7
+ * @deprecated Use `import { isFileFetcherError } from '@atlaskit/media-client/file-fetcher'` instead.
8
+ */
9
+ export { isFileFetcherError } from './isFileFetcherError';
@@ -1,36 +1,51 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import { Subscription } from 'rxjs/Subscription';
2
+ /* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
3
3
  import { map } from 'rxjs/operators/map';
4
+ import { Subscription } from 'rxjs/Subscription';
4
5
  // eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
5
6
  import uuid from 'uuid/v4';
6
7
  import { authToOwner } from '@atlaskit/media-core';
7
8
  import { isValidUuid } from '@atlaskit/media-common/isValidUuid';
8
9
  import { downloadUrl } from '@atlaskit/media-common/downloadUrl';
9
10
  import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
10
- import { MediaStore as MediaApi } from '../media-store';
11
- import { isErrorFileState, isFinalFileState, isProcessingFileState, mapMediaFileToFileState, mapMediaItemToFileState } from '../../models/file-state';
12
- import { isNotFoundMediaItemDetails } from '../../models/media';
13
- import { FileFetcherError } from './error';
14
- import { uploadFile } from '../../uploader';
11
+ import { RECENTS_COLLECTION } from '../../constants';
15
12
  import { getFileStreamsCache } from '../../file-streams-cache';
16
13
  import { globalMediaEventEmitter } from '../../globalMediaEventEmitter';
17
- import { RECENTS_COLLECTION } from '../../constants';
18
- import { createFileDataloader } from '../../utils/createFileDataLoader';
19
- import { getMediaTypeFromUploadableFile } from '../../utils/getMediaTypeFromUploadableFile';
20
- import { overrideMediaTypeIfUnknown } from '../../utils/overrideMediaTypeIfUnknown';
14
+ import { isErrorFileState } from '../../models/is-error-file-state';
15
+ import { isFinalFileState } from '../../models/is-final-file-state';
16
+ import { isNotFoundMediaItemDetails } from '../../models/is-not-found-media-item-details';
17
+ import { isProcessingFileState } from '../../models/is-processing-file-state';
18
+ import { mapMediaFileToFileState } from '../../models/map-media-file-to-file-state';
19
+ import { mapMediaItemToFileState } from '../../models/map-media-item-to-file-state';
20
+ import { uploadFile } from '../../uploader';
21
21
  import { convertBase64ToBlob } from '../../utils/convertBase64ToBlob';
22
- import { toPromise, fromObservable } from '../../utils/mediaSubscribable';
23
- import { getDimensionsFromBlob } from '../../utils/getDimensionsFromBlob';
22
+ import { createFileDataloader } from '../../utils/createFileDataloader-2';
24
23
  import { createMediaSubject } from '../../utils/createMediaSubject';
24
+ import { getDimensionsFromBlob } from '../../utils/getDimensionsFromBlob';
25
+ import { getMediaTypeFromUploadableFile } from '../../utils/getMediaTypeFromUploadableFile';
26
+ import { fromObservable } from '../../utils/mediaSubscribable/fromObservable';
27
+ import { toPromise } from '../../utils/mediaSubscribable/toPromise';
28
+ import { overrideMediaTypeIfUnknown } from '../../utils/overrideMediaTypeIfUnknown';
29
+ import { MediaStore as MediaApi } from '../media-store/MediaStore';
30
+ import { FileFetcherError } from './FileFetcherError';
25
31
  import { getMediaTypeFromMimeType } from '@atlaskit/media-common/mediaTypeUtils';
26
- import { shouldFetchRemoteFileStates } from '../../utils/shouldFetchRemoteFileStates';
27
- import { PollingFunction } from '../../utils/polling';
28
32
  import { isEmptyFile } from '../../utils/detectEmptyFile';
33
+ import { PollingFunction } from '../../utils/polling';
34
+ import { shouldFetchRemoteFileStates } from '../../utils/shouldFetchRemoteFileStates';
29
35
  import { mediaStore } from '@atlaskit/media-state/media-store';
30
36
  import { createCopyIntentRegisterationBatcher } from '../../utils/createCopyIntentRegisterationBatcher';
31
- import { defaultShouldRetryError } from '../../utils/request/helpers';
32
- import { isCommonMediaClientError, CommonMediaClientError, fromCommonMediaClientError } from '../../models/errors';
33
- export { isFileFetcherError, FileFetcherError } from './error';
37
+ import { CommonMediaClientError } from '../../models/errors/CommonMediaClientError';
38
+ import { fromCommonMediaClientError } from '../../models/errors/fromCommonMediaClientError';
39
+ import { isCommonMediaClientError } from '../../models/errors/isCommonMediaClientError';
40
+ import { defaultShouldRetryError } from '../../utils/request/defaultShouldRetryError';
41
+ /**
42
+ * @deprecated Use `import { FileFetcherError } from '@atlaskit/media-client/file-fetcher/error'` instead.
43
+ */
44
+ export { FileFetcherError } from './FileFetcherError';
45
+ /**
46
+ * @deprecated Use `import { isFileFetcherError } from '@atlaskit/media-client/file-fetcher/error'` instead.
47
+ */
48
+ export { isFileFetcherError } from './isFileFetcherError';
34
49
  const isCopySourceFileWithToken = token => !!token.authProvider;
35
50
  const isCopyDestinationWithToken = token => !!token.authProvider;
36
51
  export class FileFetcherImpl {
@@ -0,0 +1,4 @@
1
+ import { FileFetcherError } from './FileFetcherError';
2
+ export function isFileFetcherError(err) {
3
+ return err instanceof FileFetcherError;
4
+ }
@@ -1,7 +1,7 @@
1
1
  import { EventEmitter2 } from 'eventemitter2';
2
2
  import { ChunkHashAlgorithm } from '@atlaskit/media-core';
3
- import { MediaStore as MediaApi } from './media-store';
4
3
  import { FileFetcherImpl } from './file-fetcher';
4
+ import { MediaStore as MediaApi } from './media-store/MediaStore';
5
5
  import { StargateClient } from './stargate-client';
6
6
  import { mediaStore } from '@atlaskit/media-state/media-store';
7
7
  export class MediaClient {
@@ -1,45 +1,31 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
2
+ /* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
3
+
3
4
  import { isClientBasedAuth } from '@atlaskit/media-core';
4
- import { FILE_CACHE_MAX_AGE, MAX_RESOLUTION } from '../../constants';
5
+ import { ChunkHashAlgorithm } from '@atlaskit/media-core';
6
+ import { fg } from '@atlaskit/platform-feature-flags';
7
+ import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
8
+ import { FILE_CACHE_MAX_AGE } from '../../constants';
5
9
  import { getArtifactUrl } from '../../models/artifacts';
10
+ import { isPathBasedEnabled } from '../../utils/isPathBasedEnabled';
11
+ import { mapToMediaCdnUrl } from '../../utils/mapToMediaCdnUrl';
12
+ import { mapToPathBasedUrl } from '../../utils/mapToPathBasedUrl';
6
13
  import { isRequestError, request } from '../../utils/request';
7
- import { createUrl, createMapResponseToJson, createMapResponseToBlob, defaultShouldRetryError, extendTraceContext } from '../../utils/request/helpers';
8
- import { isCDNEnabled, mapToMediaCdnUrl } from '../../utils/mediaCdn';
9
- import { resolveAuth, resolveInitialAuth } from './resolveAuth';
10
- import { ChunkHashAlgorithm } from '@atlaskit/media-core';
11
- import { isPathBasedEnabled, mapToPathBasedUrl } from '../../utils/pathBasedUrl';
14
+ import { createMapResponseToBlob } from '../../utils/request/createMapResponseToBlob';
15
+ import { createMapResponseToJson } from '../../utils/request/createMapResponseToJson';
16
+ import { createUrl } from '../../utils/request/createUrl';
17
+ import { defaultShouldRetryError } from '../../utils/request/defaultShouldRetryError';
18
+ import { extendTraceContext } from '../../utils/request/extendTraceContext';
12
19
  import { getWatermarkVersionFromToken } from '../../utils/watermarkVersion';
13
- import { fg } from '@atlaskit/platform-feature-flags';
14
- const MEDIA_API_REGION = 'media-api-region';
15
- const MEDIA_API_ENVIRONMENT = 'media-api-environment';
16
- const extendImageParams = (params, fetchMaxRes = false) => {
17
- var _params$maxAge, _params$allowAnimated, _params$mode;
18
- return {
19
- ...params,
20
- 'max-age': (_params$maxAge = params === null || params === void 0 ? void 0 : params['max-age']) !== null && _params$maxAge !== void 0 ? _params$maxAge : FILE_CACHE_MAX_AGE,
21
- allowAnimated: (_params$allowAnimated = params === null || params === void 0 ? void 0 : params.allowAnimated) !== null && _params$allowAnimated !== void 0 ? _params$allowAnimated : true,
22
- mode: (_params$mode = params === null || params === void 0 ? void 0 : params.mode) !== null && _params$mode !== void 0 ? _params$mode : 'crop',
23
- ...(fetchMaxRes ? {
24
- width: MAX_RESOLUTION,
25
- height: MAX_RESOLUTION
26
- } : {})
27
- };
28
- };
29
- const jsonHeaders = {
30
- Accept: 'application/json',
31
- 'Content-Type': 'application/json'
32
- };
33
- const cdnFeatureFlag = endpoint => {
34
- let result = endpoint;
35
- if (isCDNEnabled()) {
36
- result += '/cdn';
37
- }
38
- return result;
39
- };
40
- const decodeJwtToken = token => {
41
- return JSON.parse(atob(token.split('.')[1].replace(/-/g, '+').replace(/_/g, '/')));
42
- };
20
+ import { cdnFeatureFlag } from './cdnFeatureFlag';
21
+ import { decodeJwtToken } from './decodeJwtToken';
22
+ import { extendImageParams } from './extendImageParams';
23
+ import { jsonHeaders } from './jsonHeaders';
24
+ import { resolveAuth } from './resolveAuth';
25
+ import { resolveInitialAuth } from './resolveInitialAuth';
26
+ import { setKeyValueInSessionStorage } from './setKeyValueInSessionStorage';
27
+ export const MEDIA_API_REGION = 'media-api-region';
28
+ export const MEDIA_API_ENVIRONMENT = 'media-api-environment';
43
29
  export class MediaStore {
44
30
  constructor(config) {
45
31
  _defineProperty(this, "getArtifactBinary", async (artifacts, artifactName, {
@@ -688,26 +674,16 @@ export class MediaStore {
688
674
  return this._chunkHashAlgorithm;
689
675
  }
690
676
  }
691
- const getValueFromSessionStorage = key => {
692
- // eslint-disable-next-line @atlaskit/platform/no-direct-web-storage-usage -- existing usage
693
- return window && window.sessionStorage && window.sessionStorage.getItem(key) || undefined;
694
- };
695
- const setKeyValueInSessionStorage = (key, value) => {
696
- // eslint-disable-next-line @atlaskit/platform/no-direct-web-storage-usage -- existing usage
697
- if (!value || !(window && window.sessionStorage)) {
698
- return;
699
- }
700
677
 
701
- // eslint-disable-next-line @atlaskit/platform/no-direct-web-storage-usage -- existing usage
702
- const currentValue = window.sessionStorage.getItem(key);
703
- if (currentValue !== value) {
704
- // eslint-disable-next-line @atlaskit/platform/no-direct-web-storage-usage -- existing usage
705
- window.sessionStorage.setItem(key, value);
706
- }
707
- };
708
- export const getMediaEnvironment = () => {
709
- return getValueFromSessionStorage(MEDIA_API_ENVIRONMENT);
710
- };
711
- export const getMediaRegion = () => {
712
- return getValueFromSessionStorage(MEDIA_API_REGION);
713
- };
678
+ /**
679
+ * @deprecated Use `import { getMediaEnvironment } from '@atlaskit/media-client'` instead.
680
+ */
681
+ export { getMediaEnvironment } from './getMediaEnvironment';
682
+ /**
683
+ * @deprecated Use `import { getMediaRegion } from '@atlaskit/media-client'` instead.
684
+ */
685
+ export { getMediaRegion } from './getMediaRegion';
686
+ /**
687
+ * @deprecated Use `import { getValueFromSessionStorage } from '@atlaskit/media-client/media-store'` instead.
688
+ */
689
+ export { getValueFromSessionStorage } from './getValueFromSessionStorage';
@@ -0,0 +1,19 @@
1
+ import { BaseMediaClientError } from '../../models/errors/BaseMediaClientError';
2
+ export class MediaStoreError extends BaseMediaClientError {
3
+ constructor(reason, innerError) {
4
+ super(reason, undefined, innerError);
5
+ }
6
+
7
+ // TODO: Deprecate this getter https://product-fabric.atlassian.net/browse/CXP-4665
8
+ /** Will be deprecated. Use the properties `reason` and `metadata` instead */
9
+ get attributes() {
10
+ const {
11
+ reason,
12
+ innerError
13
+ } = this;
14
+ return {
15
+ reason,
16
+ innerError
17
+ };
18
+ }
19
+ }
@@ -0,0 +1,8 @@
1
+ import { isCDNEnabled } from '../../utils/isCDNEnabled';
2
+ export const cdnFeatureFlag = endpoint => {
3
+ let result = endpoint;
4
+ if (isCDNEnabled()) {
5
+ result += '/cdn';
6
+ }
7
+ return result;
8
+ };
@@ -0,0 +1,3 @@
1
+ export const decodeJwtToken = token => {
2
+ return JSON.parse(atob(token.split('.')[1].replace(/-/g, '+').replace(/_/g, '/')));
3
+ };
@@ -1,22 +1,9 @@
1
- import { BaseMediaClientError } from '../../models/errors';
2
- export class MediaStoreError extends BaseMediaClientError {
3
- constructor(reason, innerError) {
4
- super(reason, undefined, innerError);
5
- }
6
-
7
- // TODO: Deprecate this getter https://product-fabric.atlassian.net/browse/CXP-4665
8
- /** Will be deprecated. Use the properties `reason` and `metadata` instead */
9
- get attributes() {
10
- const {
11
- reason,
12
- innerError
13
- } = this;
14
- return {
15
- reason,
16
- innerError
17
- };
18
- }
19
- }
20
- export function isMediaStoreError(err) {
21
- return err instanceof MediaStoreError;
22
- }
1
+ /* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
2
+ /**
3
+ * @deprecated Use `import { MediaStoreError } from '@atlaskit/media-client'` instead.
4
+ */
5
+ export { MediaStoreError } from './MediaStoreError';
6
+ /**
7
+ * @deprecated Use `import { isMediaStoreError } from '@atlaskit/media-client'` instead.
8
+ */
9
+ export { isMediaStoreError } from './isMediaStoreError';
@@ -0,0 +1,14 @@
1
+ import { FILE_CACHE_MAX_AGE, MAX_RESOLUTION } from '../../constants';
2
+ export const extendImageParams = (params, fetchMaxRes = false) => {
3
+ var _params$maxAge, _params$allowAnimated, _params$mode;
4
+ return {
5
+ ...params,
6
+ 'max-age': (_params$maxAge = params === null || params === void 0 ? void 0 : params['max-age']) !== null && _params$maxAge !== void 0 ? _params$maxAge : FILE_CACHE_MAX_AGE,
7
+ allowAnimated: (_params$allowAnimated = params === null || params === void 0 ? void 0 : params.allowAnimated) !== null && _params$allowAnimated !== void 0 ? _params$allowAnimated : true,
8
+ mode: (_params$mode = params === null || params === void 0 ? void 0 : params.mode) !== null && _params$mode !== void 0 ? _params$mode : 'crop',
9
+ ...(fetchMaxRes ? {
10
+ width: MAX_RESOLUTION,
11
+ height: MAX_RESOLUTION
12
+ } : {})
13
+ };
14
+ };
@@ -0,0 +1,5 @@
1
+ import { getValueFromSessionStorage } from './getValueFromSessionStorage';
2
+ import { MEDIA_API_ENVIRONMENT } from './MediaStore';
3
+ export const getMediaEnvironment = () => {
4
+ return getValueFromSessionStorage(MEDIA_API_ENVIRONMENT);
5
+ };
@@ -0,0 +1,5 @@
1
+ import { getValueFromSessionStorage } from './getValueFromSessionStorage';
2
+ import { MEDIA_API_REGION } from './MediaStore';
3
+ export const getMediaRegion = () => {
4
+ return getValueFromSessionStorage(MEDIA_API_REGION);
5
+ };
@@ -0,0 +1,4 @@
1
+ export const getValueFromSessionStorage = key => {
2
+ // eslint-disable-next-line @atlaskit/platform/no-direct-web-storage-usage -- existing usage
3
+ return window && window.sessionStorage && window.sessionStorage.getItem(key) || undefined;
4
+ };
@@ -0,0 +1,4 @@
1
+ import { MediaStoreError } from './MediaStoreError';
2
+ export function isMediaStoreError(err) {
3
+ return err instanceof MediaStoreError;
4
+ }
@@ -0,0 +1,4 @@
1
+ export const jsonHeaders = {
2
+ Accept: 'application/json',
3
+ 'Content-Type': 'application/json'
4
+ };
@@ -1,7 +1,7 @@
1
1
  import { fg } from '@atlaskit/platform-feature-flags';
2
- import { MediaStoreError } from './error';
3
- import { rejectTimeout } from '../../utils/setTimeoutPromise';
4
2
  import { globalMediaEventEmitter } from '../../globalMediaEventEmitter';
3
+ import { rejectTimeout } from '../../utils/rejectTimeout';
4
+ import { MediaStoreError } from './MediaStoreError';
5
5
  export const DEFAULT_AUTH_PROVIDER_TIMEOUT = 10000;
6
6
  export const resolveAuth = async (authProvider, authContext, authProviderTimeout = DEFAULT_AUTH_PROVIDER_TIMEOUT) => {
7
7
  const startTime = performance.now();
@@ -75,10 +75,4 @@ export const resolveAuth = async (authProvider, authContext, authProviderTimeout
75
75
  */
76
76
 
77
77
  return auth;
78
- };
79
- export const resolveInitialAuth = auth => {
80
- if (!auth) {
81
- throw new MediaStoreError('missingInitialAuth');
82
- }
83
- return auth;
84
78
  };