@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,59 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.mapMediaFileToFileState = 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 mapMediaFileToFileState = exports.mapMediaFileToFileState = function mapMediaFileToFileState(mediaFile) {
12
+ var _mediaFile$data = mediaFile.data,
13
+ id = _mediaFile$data.id,
14
+ name = _mediaFile$data.name,
15
+ size = _mediaFile$data.size,
16
+ processingStatus = _mediaFile$data.processingStatus,
17
+ artifacts = _mediaFile$data.artifacts,
18
+ mediaType = _mediaFile$data.mediaType,
19
+ mimeType = _mediaFile$data.mimeType,
20
+ representations = _mediaFile$data.representations,
21
+ createdAt = _mediaFile$data.createdAt,
22
+ metadataTraceContext = _mediaFile$data.metadataTraceContext,
23
+ hash = _mediaFile$data.hash,
24
+ abuseClassification = _mediaFile$data.abuseClassification,
25
+ mediaMetadata = _mediaFile$data.mediaMetadata,
26
+ failReason = _mediaFile$data.failReason,
27
+ previewCdnUrl = _mediaFile$data.previewCdnUrl;
28
+ var baseState = {
29
+ id: id,
30
+ name: name,
31
+ size: size,
32
+ mediaType: mediaType,
33
+ mimeType: mimeType,
34
+ artifacts: artifacts,
35
+ representations: representations,
36
+ createdAt: createdAt,
37
+ hash: hash,
38
+ metadataTraceContext: metadataTraceContext,
39
+ abuseClassification: abuseClassification,
40
+ mediaMetadata: mediaMetadata,
41
+ previewCdnUrl: previewCdnUrl
42
+ };
43
+ switch (processingStatus) {
44
+ case 'pending':
45
+ case undefined:
46
+ return _objectSpread(_objectSpread({}, baseState), {}, {
47
+ status: 'processing'
48
+ });
49
+ case 'succeeded':
50
+ return _objectSpread(_objectSpread({}, baseState), {}, {
51
+ status: 'processed'
52
+ });
53
+ case 'failed':
54
+ return _objectSpread(_objectSpread({}, baseState), {}, {
55
+ status: 'failed-processing',
56
+ failReason: failReason
57
+ });
58
+ }
59
+ };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.mapMediaItemToFileState = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _mapMediaFileToFileState = require("./map-media-file-to-file-state");
10
+ 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; }
11
+ 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; }
12
+ var mapMediaItemToFileState = exports.mapMediaItemToFileState = function mapMediaItemToFileState(id, item) {
13
+ return (0, _mapMediaFileToFileState.mapMediaFileToFileState)({
14
+ data: _objectSpread({
15
+ id: id
16
+ }, item)
17
+ });
18
+ };
@@ -3,20 +3,33 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.isPreviewableType = exports.isNotFoundMediaItemDetails = exports.DATA_UNIT = void 0;
6
+ exports.DATA_UNIT = void 0;
7
+ Object.defineProperty(exports, "isNotFoundMediaItemDetails", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _isNotFoundMediaItemDetails.isNotFoundMediaItemDetails;
11
+ }
12
+ });
13
+ Object.defineProperty(exports, "isPreviewableType", {
14
+ enumerable: true,
15
+ get: function get() {
16
+ return _isPreviewableType.isPreviewableType;
17
+ }
18
+ });
19
+ var _isPreviewableType = require("./is-previewable-type");
20
+ var _isNotFoundMediaItemDetails = require("./is-not-found-media-item-details");
21
+ /* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
7
22
  // Warning! You can't add new media file processing status!
8
23
  // See packages/media/media-core/src/__tests__/cache-backward-compatibility.spec.ts
9
-
10
- var isPreviewableType = exports.isPreviewableType = function isPreviewableType(type) {
11
- var defaultPreviewableTypes = ['audio', 'video', 'image', 'doc'];
12
- return defaultPreviewableTypes.indexOf(type) > -1;
13
- };
14
- var isNotFoundMediaItemDetails = exports.isNotFoundMediaItemDetails = function isNotFoundMediaItemDetails(itemDetails) {
15
- return 'type' in itemDetails && itemDetails.type === 'not-found';
16
- };
17
24
  var DATA_UNIT = exports.DATA_UNIT = /*#__PURE__*/function (DATA_UNIT) {
18
25
  DATA_UNIT[DATA_UNIT["MB"] = 1048576] = "MB";
19
26
  DATA_UNIT[DATA_UNIT["GB"] = 1073741824] = "GB";
20
27
  DATA_UNIT[DATA_UNIT["TB"] = 1099511627776] = "TB";
21
28
  return DATA_UNIT;
22
- }({});
29
+ }({});
30
+ /**
31
+ * @deprecated Use `import { isPreviewableType } from '@atlaskit/media-client'` instead.
32
+ */
33
+ /**
34
+ * @deprecated Use `import { isNotFoundMediaItemDetails } from '@atlaskit/media-client/media'` instead.
35
+ */
@@ -5,13 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.UploaderError = void 0;
8
- exports.isUploaderError = isUploaderError;
9
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
10
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
11
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
12
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
- var _errors = require("../models/errors");
13
+ var _BaseMediaClientError2 = require("../models/errors/BaseMediaClientError");
15
14
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
16
15
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
17
16
  var UploaderError = exports.UploaderError = /*#__PURE__*/function (_BaseMediaClientError) {
@@ -44,7 +43,4 @@ var UploaderError = exports.UploaderError = /*#__PURE__*/function (_BaseMediaCli
44
43
  };
45
44
  }
46
45
  }]);
47
- }(_errors.BaseMediaClientError);
48
- function isUploaderError(err) {
49
- return err instanceof UploaderError;
50
- }
46
+ }(_BaseMediaClientError2.BaseMediaClientError);
@@ -7,12 +7,12 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.uploadFile = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
- var _chunkinator = require("@atlaskit/chunkinator");
11
10
  var _from = require("rxjs/observable/from");
12
11
  var _concatMap = require("rxjs/operators/concatMap");
13
- var _hasherCreator = require("../utils/hashing/hasherCreator");
14
- var _error = require("./error");
12
+ var _chunkinator = require("@atlaskit/chunkinator");
15
13
  var _constants = require("../constants");
14
+ var _hasherCreator = require("../utils/hashing/hasherCreator");
15
+ var _UploaderError = require("./UploaderError");
16
16
  var _calculateChunkSize = require("./calculateChunkSize");
17
17
  // TODO: Allow to pass multiple files
18
18
 
@@ -147,7 +147,7 @@ var uploadFile = exports.uploadFile = function uploadFile(file, store, uploadabl
147
147
  }
148
148
  } catch (err) {
149
149
  if (err instanceof Error && err.message === _calculateChunkSize.fileSizeError) {
150
- callbacks === null || callbacks === void 0 || callbacks.onUploadFinish(new _error.UploaderError(err.message, {
150
+ callbacks === null || callbacks === void 0 || callbacks.onUploadFinish(new _UploaderError.UploaderError(err.message, {
151
151
  id: id,
152
152
  collectionName: collection,
153
153
  occurrenceKey: occurrenceKey
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isUploaderError = isUploaderError;
7
+ var _UploaderError = require("./UploaderError");
8
+ function isUploaderError(err) {
9
+ return err instanceof _UploaderError.UploaderError;
10
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.addFileAttrsToUrl = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _objectToQueryString = require("./objectToQueryString");
10
+ var _url = require("./url");
11
+ 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; }
12
+ 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; }
13
+ var addFileAttrsToUrl = exports.addFileAttrsToUrl = function addFileAttrsToUrl(url, fileAttrs) {
14
+ var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
15
+ if (isSafari) {
16
+ return url;
17
+ }
18
+ var mediaIdentifierAttr = (0, _defineProperty2.default)({}, _url.mediaBlobUrlIdentifier, 'true');
19
+ var mergedAttrs = _objectSpread(_objectSpread({}, mediaIdentifierAttr), fileAttrs);
20
+ var queryAttrs = (0, _objectToQueryString.objectToQueryString)(mergedAttrs);
21
+
22
+ // we can't use '?' separator for blob url params
23
+ return "".concat(url, "#").concat(queryAttrs);
24
+ };
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createBatchLoadingFunc = createBatchLoadingFunc;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
+ var _mediaCommon = require("@atlaskit/media-common");
13
+ var _getItemsFromKeys = require("./getItemsFromKeys");
14
+ 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; }
15
+ 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; }
16
+ /**
17
+ * Returns a function that, given Array<DataloaderKey>, resolves to an array of same length containing either DataloaderResult or Error.
18
+ * Such contract is formalised by Dataloader 1.0, @see https://github.com/graphql/dataloader
19
+ *
20
+ * If an Error is resolved in the results, it must be at same position then their corresponding key:
21
+ * - Dataloader will re-throw that Error when accessing/loading that particular key
22
+ *
23
+ * @param mediaStore instance of MediaStore
24
+ */
25
+ function createBatchLoadingFunc(mediaStore) {
26
+ return /*#__PURE__*/function () {
27
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(keys) {
28
+ var nonCollectionName, includeHashByCollection, fileIdsByCollection, items;
29
+ return _regenerator.default.wrap(function (_context2) {
30
+ while (1) switch (_context2.prev = _context2.next) {
31
+ case 0:
32
+ nonCollectionName = '__media-single-file-collection__';
33
+ includeHashByCollection = keys.reduce(function (acc, key) {
34
+ var collectionName = key.collectionName || nonCollectionName;
35
+ if (key.includeHashForDuplicateFiles) {
36
+ acc[collectionName] = key.includeHashForDuplicateFiles;
37
+ }
38
+ return acc;
39
+ }, {});
40
+ fileIdsByCollection = keys.reduce(function (acc, key) {
41
+ var collectionName = key.collectionName || nonCollectionName;
42
+ var fileIds = acc[collectionName] || [];
43
+
44
+ // de-duplicate ids in collection
45
+ if (fileIds.indexOf(key.id) === -1) {
46
+ fileIds.push(key.id);
47
+ }
48
+ acc[collectionName] = fileIds;
49
+ return acc;
50
+ }, {});
51
+ items = [];
52
+ _context2.next = 1;
53
+ return Promise.all(Object.keys(fileIdsByCollection).map( /*#__PURE__*/function () {
54
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(collectionNameKey) {
55
+ var metadataTraceContext, fileIds, includeHashForDuplicateFiles, collectionName, response, itemsWithMetadataTraceContext, itemsIds, fileIdsNotFound, _t;
56
+ return _regenerator.default.wrap(function (_context) {
57
+ while (1) switch (_context.prev = _context.next) {
58
+ case 0:
59
+ metadataTraceContext = {
60
+ traceId: (0, _mediaCommon.getRandomTelemetryId)(),
61
+ spanId: (0, _mediaCommon.getRandomTelemetryId)()
62
+ };
63
+ fileIds = fileIdsByCollection[collectionNameKey];
64
+ includeHashForDuplicateFiles = includeHashByCollection[collectionNameKey];
65
+ collectionName = collectionNameKey === nonCollectionName ? undefined : collectionNameKey;
66
+ _context.prev = 1;
67
+ _context.next = 2;
68
+ return mediaStore.getItems(fileIds, collectionName, metadataTraceContext, includeHashForDuplicateFiles);
69
+ case 2:
70
+ response = _context.sent;
71
+ itemsWithMetadataTraceContext = response.data.items.map(function (item) {
72
+ return _objectSpread(_objectSpread({}, item), {}, {
73
+ metadataTraceContext: metadataTraceContext
74
+ });
75
+ });
76
+ items.push.apply(items, (0, _toConsumableArray2.default)(itemsWithMetadataTraceContext));
77
+
78
+ // add EmptyResponseFileItem for each file ID not included in /items response
79
+ itemsIds = itemsWithMetadataTraceContext.map(function (item) {
80
+ return item.id;
81
+ });
82
+ fileIdsNotFound = fileIds.filter(function (id) {
83
+ return !itemsIds.includes(id);
84
+ });
85
+ fileIdsNotFound.forEach(function (fileId) {
86
+ items.push({
87
+ id: fileId,
88
+ collection: collectionName,
89
+ type: 'not-found',
90
+ metadataTraceContext: metadataTraceContext
91
+ });
92
+ });
93
+ _context.next = 4;
94
+ break;
95
+ case 3:
96
+ _context.prev = 3;
97
+ _t = _context["catch"](1);
98
+ fileIds.forEach(function (fileId) {
99
+ items.push({
100
+ id: fileId,
101
+ collection: collectionName,
102
+ error: _t
103
+ });
104
+ });
105
+ case 4:
106
+ case "end":
107
+ return _context.stop();
108
+ }
109
+ }, _callee, null, [[1, 3]]);
110
+ }));
111
+ return function (_x2) {
112
+ return _ref2.apply(this, arguments);
113
+ };
114
+ }()));
115
+ case 1:
116
+ return _context2.abrupt("return", (0, _getItemsFromKeys.getItemsFromKeys)(keys, items));
117
+ case 2:
118
+ case "end":
119
+ return _context2.stop();
120
+ }
121
+ }, _callee2);
122
+ }));
123
+ return function (_x) {
124
+ return _ref.apply(this, arguments);
125
+ };
126
+ }();
127
+ }
@@ -1,176 +1,7 @@
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
6
  exports.MAX_BATCH_SIZE = void 0;
8
- exports.createBatchLoadingFunc = createBatchLoadingFunc;
9
- exports.createFileDataloader = createFileDataloader;
10
- exports.getItemsFromKeys = void 0;
11
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
- var _dataloader = _interopRequireDefault(require("dataloader"));
16
- var _mediaCommon = require("@atlaskit/media-common");
17
- 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; }
18
- 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; }
19
- var MAX_BATCH_SIZE = exports.MAX_BATCH_SIZE = 100;
20
- var isBatchLoadingErrorResult = function isBatchLoadingErrorResult(result) {
21
- return result.error instanceof Error;
22
- };
23
- var isResponseFileItem = function isResponseFileItem(fileItem) {
24
- return 'details' in fileItem;
25
- };
26
- var makeCacheKey = function makeCacheKey(id, collection) {
27
- return collection ? "".concat(id, "-").concat(collection) : id;
28
- };
29
- var getItemsFromKeys = exports.getItemsFromKeys = function getItemsFromKeys(dataloaderKeys, fileItems) {
30
- var itemsByKey = fileItems.reduce(function (prev, fileItem) {
31
- var id = fileItem.id,
32
- collection = fileItem.collection;
33
- var key = makeCacheKey(id, collection);
34
- if (isBatchLoadingErrorResult(fileItem)) {
35
- prev[key] = fileItem.error;
36
- } else if (isResponseFileItem(fileItem)) {
37
- prev[key] = _objectSpread(_objectSpread({}, fileItem.details), {}, {
38
- metadataTraceContext: fileItem.metadataTraceContext
39
- });
40
- } else {
41
- prev[key] = {
42
- id: id,
43
- collection: collection,
44
- type: 'not-found',
45
- metadataTraceContext: fileItem.metadataTraceContext
46
- };
47
- }
48
- return prev;
49
- }, {});
50
- return dataloaderKeys.map(function (dataloaderKey) {
51
- var id = dataloaderKey.id,
52
- collectionName = dataloaderKey.collectionName;
53
- var key = makeCacheKey(id, collectionName);
54
- return itemsByKey[key] || {
55
- id: id,
56
- type: 'not-found'
57
- };
58
- });
59
- };
60
- /**
61
- * Returns a function that, given Array<DataloaderKey>, resolves to an array of same length containing either DataloaderResult or Error.
62
- * Such contract is formalised by Dataloader 1.0, @see https://github.com/graphql/dataloader
63
- *
64
- * If an Error is resolved in the results, it must be at same position then their corresponding key:
65
- * - Dataloader will re-throw that Error when accessing/loading that particular key
66
- *
67
- * @param mediaStore instance of MediaStore
68
- */
69
- function createBatchLoadingFunc(mediaStore) {
70
- return /*#__PURE__*/function () {
71
- var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(keys) {
72
- var nonCollectionName, includeHashByCollection, fileIdsByCollection, items;
73
- return _regenerator.default.wrap(function (_context2) {
74
- while (1) switch (_context2.prev = _context2.next) {
75
- case 0:
76
- nonCollectionName = '__media-single-file-collection__';
77
- includeHashByCollection = keys.reduce(function (acc, key) {
78
- var collectionName = key.collectionName || nonCollectionName;
79
- if (key.includeHashForDuplicateFiles) {
80
- acc[collectionName] = key.includeHashForDuplicateFiles;
81
- }
82
- return acc;
83
- }, {});
84
- fileIdsByCollection = keys.reduce(function (acc, key) {
85
- var collectionName = key.collectionName || nonCollectionName;
86
- var fileIds = acc[collectionName] || [];
87
-
88
- // de-duplicate ids in collection
89
- if (fileIds.indexOf(key.id) === -1) {
90
- fileIds.push(key.id);
91
- }
92
- acc[collectionName] = fileIds;
93
- return acc;
94
- }, {});
95
- items = [];
96
- _context2.next = 1;
97
- return Promise.all(Object.keys(fileIdsByCollection).map( /*#__PURE__*/function () {
98
- var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(collectionNameKey) {
99
- var metadataTraceContext, fileIds, includeHashForDuplicateFiles, collectionName, response, itemsWithMetadataTraceContext, itemsIds, fileIdsNotFound, _t;
100
- return _regenerator.default.wrap(function (_context) {
101
- while (1) switch (_context.prev = _context.next) {
102
- case 0:
103
- metadataTraceContext = {
104
- traceId: (0, _mediaCommon.getRandomTelemetryId)(),
105
- spanId: (0, _mediaCommon.getRandomTelemetryId)()
106
- };
107
- fileIds = fileIdsByCollection[collectionNameKey];
108
- includeHashForDuplicateFiles = includeHashByCollection[collectionNameKey];
109
- collectionName = collectionNameKey === nonCollectionName ? undefined : collectionNameKey;
110
- _context.prev = 1;
111
- _context.next = 2;
112
- return mediaStore.getItems(fileIds, collectionName, metadataTraceContext, includeHashForDuplicateFiles);
113
- case 2:
114
- response = _context.sent;
115
- itemsWithMetadataTraceContext = response.data.items.map(function (item) {
116
- return _objectSpread(_objectSpread({}, item), {}, {
117
- metadataTraceContext: metadataTraceContext
118
- });
119
- });
120
- items.push.apply(items, (0, _toConsumableArray2.default)(itemsWithMetadataTraceContext));
121
-
122
- // add EmptyResponseFileItem for each file ID not included in /items response
123
- itemsIds = itemsWithMetadataTraceContext.map(function (item) {
124
- return item.id;
125
- });
126
- fileIdsNotFound = fileIds.filter(function (id) {
127
- return !itemsIds.includes(id);
128
- });
129
- fileIdsNotFound.forEach(function (fileId) {
130
- items.push({
131
- id: fileId,
132
- collection: collectionName,
133
- type: 'not-found',
134
- metadataTraceContext: metadataTraceContext
135
- });
136
- });
137
- _context.next = 4;
138
- break;
139
- case 3:
140
- _context.prev = 3;
141
- _t = _context["catch"](1);
142
- fileIds.forEach(function (fileId) {
143
- items.push({
144
- id: fileId,
145
- collection: collectionName,
146
- error: _t
147
- });
148
- });
149
- case 4:
150
- case "end":
151
- return _context.stop();
152
- }
153
- }, _callee, null, [[1, 3]]);
154
- }));
155
- return function (_x2) {
156
- return _ref2.apply(this, arguments);
157
- };
158
- }()));
159
- case 1:
160
- return _context2.abrupt("return", getItemsFromKeys(keys, items));
161
- case 2:
162
- case "end":
163
- return _context2.stop();
164
- }
165
- }, _callee2);
166
- }));
167
- return function (_x) {
168
- return _ref.apply(this, arguments);
169
- };
170
- }();
171
- }
172
- function createFileDataloader(mediaStore) {
173
- return new _dataloader.default(createBatchLoadingFunc(mediaStore), {
174
- maxBatchSize: MAX_BATCH_SIZE
175
- });
176
- }
7
+ var MAX_BATCH_SIZE = exports.MAX_BATCH_SIZE = 100;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createFileDataloader = createFileDataloader;
8
+ var _dataloader = _interopRequireDefault(require("dataloader"));
9
+ var _createBatchLoadingFunc = require("./createBatchLoadingFunc");
10
+ var _createFileDataLoader = require("./createFileDataLoader");
11
+ function createFileDataloader(mediaStore) {
12
+ return new _dataloader.default((0, _createBatchLoadingFunc.createBatchLoadingFunc)(mediaStore), {
13
+ maxBatchSize: _createFileDataLoader.MAX_BATCH_SIZE
14
+ });
15
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getAttrsFromUrl = void 0;
7
+ var getNumberFromParams = function getNumberFromParams(params, name) {
8
+ var value = params.get(name);
9
+ return typeof value === 'string' && !isNaN(parseInt(value)) ? parseInt(value) : undefined;
10
+ };
11
+ var getStringFromParams = function getStringFromParams(params, name) {
12
+ var value = params.get(name);
13
+ if (!value) {
14
+ return;
15
+ }
16
+ return decodeURIComponent(value);
17
+ };
18
+ var getAttrsFromUrl = exports.getAttrsFromUrl = function getAttrsFromUrl(blobUrl) {
19
+ var url = new URL(blobUrl);
20
+ var hash = url.hash.replace('#', '');
21
+ var params = new URLSearchParams(hash);
22
+ var id = params.get('id');
23
+ var contextId = params.get('contextId');
24
+ var clientId = params.get('clientId');
25
+ // check if we have the required params (clientId is optional for backwards compatibility)
26
+ if (!id || !contextId) {
27
+ return;
28
+ }
29
+ return {
30
+ id: id,
31
+ contextId: contextId,
32
+ clientId: clientId || undefined,
33
+ collection: getStringFromParams(params, 'collection'),
34
+ alt: getStringFromParams(params, 'alt'),
35
+ height: getNumberFromParams(params, 'height'),
36
+ width: getNumberFromParams(params, 'width'),
37
+ size: getNumberFromParams(params, 'size'),
38
+ name: getStringFromParams(params, 'name'),
39
+ mimeType: getStringFromParams(params, 'mimeType')
40
+ };
41
+ };
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getItemsFromKeys = 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 isBatchLoadingErrorResult = function isBatchLoadingErrorResult(result) {
12
+ return result.error instanceof Error;
13
+ };
14
+ var isResponseFileItem = function isResponseFileItem(fileItem) {
15
+ return 'details' in fileItem;
16
+ };
17
+ var makeCacheKey = function makeCacheKey(id, collection) {
18
+ return collection ? "".concat(id, "-").concat(collection) : id;
19
+ };
20
+ var getItemsFromKeys = exports.getItemsFromKeys = function getItemsFromKeys(dataloaderKeys, fileItems) {
21
+ var itemsByKey = fileItems.reduce(function (prev, fileItem) {
22
+ var id = fileItem.id,
23
+ collection = fileItem.collection;
24
+ var key = makeCacheKey(id, collection);
25
+ if (isBatchLoadingErrorResult(fileItem)) {
26
+ prev[key] = fileItem.error;
27
+ } else if (isResponseFileItem(fileItem)) {
28
+ prev[key] = _objectSpread(_objectSpread({}, fileItem.details), {}, {
29
+ metadataTraceContext: fileItem.metadataTraceContext
30
+ });
31
+ } else {
32
+ prev[key] = {
33
+ id: id,
34
+ collection: collection,
35
+ type: 'not-found',
36
+ metadataTraceContext: fileItem.metadataTraceContext
37
+ };
38
+ }
39
+ return prev;
40
+ }, {});
41
+ return dataloaderKeys.map(function (dataloaderKey) {
42
+ var id = dataloaderKey.id,
43
+ collectionName = dataloaderKey.collectionName;
44
+ var key = makeCacheKey(id, collectionName);
45
+ return itemsByKey[key] || {
46
+ id: id,
47
+ type: 'not-found'
48
+ };
49
+ });
50
+ };
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isCDNEnabled = isCDNEnabled;
7
+ var _cloudProvider = require("@atlaskit/atlassian-context/cloud-provider");
8
+ var _isIsolatedCloud = require("@atlaskit/atlassian-context/is-isolated-cloud");
9
+ var _mediaEnvUtils = require("@atlaskit/media-common/mediaEnvUtils");
10
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
11
+ var _isCommercial = require("./isCommercial");
12
+ var _isPathBasedEnabled = require("./isPathBasedEnabled");
13
+ function isCDNEnabled() {
14
+ return (0, _isCommercial.isCommercial)() && !(0, _isIsolatedCloud.isIsolatedCloud)() && !((0, _cloudProvider.isGoogleCloudPlatform)() || (0, _mediaEnvUtils.isGCPtenant)()) && (0, _platformFeatureFlags.fg)('platform_media_cdn_delivery') && !(0, _isPathBasedEnabled.isPathBasedEnabled)();
15
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isMediaBlobUrl = void 0;
7
+ var _url = require("./url");
8
+ var isMediaBlobUrl = exports.isMediaBlobUrl = function isMediaBlobUrl(url) {
9
+ return url.indexOf("".concat(_url.mediaBlobUrlIdentifier, "=true")) > -1;
10
+ };