@atlaskit/media-client 17.1.2 → 18.0.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 (104) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/constants/package.json +8 -1
  3. package/dist/cjs/client/media-store/resolveAuth.js +1 -1
  4. package/dist/cjs/client/mobile-upload.js +1 -1
  5. package/dist/cjs/file-streams-cache.js +2 -2
  6. package/dist/cjs/index.js +0 -9
  7. package/dist/cjs/utils/mobileUpload/servicesCache.js +2 -2
  8. package/dist/cjs/utils/request/helpers.js +4 -4
  9. package/dist/cjs/version.json +1 -1
  10. package/dist/es2019/client/media-store/resolveAuth.js +1 -1
  11. package/dist/es2019/client/mobile-upload.js +1 -1
  12. package/dist/es2019/file-streams-cache.js +2 -2
  13. package/dist/es2019/index.js +0 -2
  14. package/dist/es2019/utils/mobileUpload/servicesCache.js +2 -2
  15. package/dist/es2019/utils/request/helpers.js +4 -4
  16. package/dist/es2019/version.json +1 -1
  17. package/dist/esm/client/media-store/resolveAuth.js +1 -1
  18. package/dist/esm/client/mobile-upload.js +1 -1
  19. package/dist/esm/file-streams-cache.js +2 -2
  20. package/dist/esm/index.js +0 -2
  21. package/dist/esm/utils/mobileUpload/servicesCache.js +2 -2
  22. package/dist/esm/utils/request/helpers.js +4 -4
  23. package/dist/esm/version.json +1 -1
  24. package/dist/types/file-streams-cache.d.ts +2 -2
  25. package/dist/types/index.d.ts +0 -1
  26. package/dist/types/utils/mobileUpload/servicesCache.d.ts +2 -2
  27. package/dist/types-ts4.0/client/__mocks__/collection-fetcher.d.ts +8 -0
  28. package/dist/types-ts4.0/client/__mocks__/file-fetcher.d.ts +10 -0
  29. package/dist/types-ts4.0/client/__mocks__/media-client.d.ts +13 -0
  30. package/dist/types-ts4.0/client/collection-fetcher.d.ts +35 -0
  31. package/dist/types-ts4.0/client/events.d.ts +14 -0
  32. package/dist/types-ts4.0/client/file-fetcher/error.d.ts +29 -0
  33. package/dist/types-ts4.0/client/file-fetcher/index.d.ts +56 -0
  34. package/dist/types-ts4.0/client/media-client.d.ts +28 -0
  35. package/dist/types-ts4.0/client/media-store/error.d.ts +16 -0
  36. package/dist/types-ts4.0/client/media-store/index.d.ts +167 -0
  37. package/dist/types-ts4.0/client/media-store/resolveAuth.d.ts +4 -0
  38. package/dist/types-ts4.0/client/mobile-upload.d.ts +11 -0
  39. package/dist/types-ts4.0/client/stargate-client.d.ts +15 -0
  40. package/dist/types-ts4.0/constants.d.ts +6 -0
  41. package/dist/types-ts4.0/file-streams-cache.d.ts +15 -0
  42. package/dist/types-ts4.0/globalMediaEventEmitter.d.ts +6 -0
  43. package/dist/types-ts4.0/identifier.d.ts +15 -0
  44. package/dist/types-ts4.0/index.d.ts +89 -0
  45. package/dist/types-ts4.0/models/artifacts.d.ts +12 -0
  46. package/dist/types-ts4.0/models/auth-headers.d.ts +11 -0
  47. package/dist/types-ts4.0/models/auth-query-parameters.d.ts +11 -0
  48. package/dist/types-ts4.0/models/errors/helpers.d.ts +6 -0
  49. package/dist/types-ts4.0/models/errors/index.d.ts +11 -0
  50. package/dist/types-ts4.0/models/errors/types.d.ts +15 -0
  51. package/dist/types-ts4.0/models/file-state.d.ts +91 -0
  52. package/dist/types-ts4.0/models/item.d.ts +25 -0
  53. package/dist/types-ts4.0/models/media-subscribable.d.ts +3 -0
  54. package/dist/types-ts4.0/models/media.d.ts +66 -0
  55. package/dist/types-ts4.0/models/mobile-upload.d.ts +28 -0
  56. package/dist/types-ts4.0/upload-controller.d.ts +7 -0
  57. package/dist/types-ts4.0/uploader/calculateChunkSize.d.ts +11 -0
  58. package/dist/types-ts4.0/uploader/error.d.ts +29 -0
  59. package/dist/types-ts4.0/uploader/index.d.ts +21 -0
  60. package/dist/types-ts4.0/utils/checkWebpSupport.d.ts +1 -0
  61. package/dist/types-ts4.0/utils/convertBase64ToBlob.d.ts +1 -0
  62. package/dist/types-ts4.0/utils/createFileDataLoader.d.ts +30 -0
  63. package/dist/types-ts4.0/utils/createMediaSubject.d.ts +3 -0
  64. package/dist/types-ts4.0/utils/detectEmptyFile.d.ts +16 -0
  65. package/dist/types-ts4.0/utils/getDimensionsFromBlob.d.ts +6 -0
  66. package/dist/types-ts4.0/utils/getImageDimensionsFromBlob.d.ts +5 -0
  67. package/dist/types-ts4.0/utils/getMediaTypeFromUploadableFile.d.ts +3 -0
  68. package/dist/types-ts4.0/utils/getVideoDimensionsFromBlob.d.ts +6 -0
  69. package/dist/types-ts4.0/utils/hashing/hasher.d.ts +3 -0
  70. package/dist/types-ts4.0/utils/hashing/hasherCreator.d.ts +3 -0
  71. package/dist/types-ts4.0/utils/hashing/simpleHasher.d.ts +4 -0
  72. package/dist/types-ts4.0/utils/hashing/workerHasher.d.ts +16 -0
  73. package/dist/types-ts4.0/utils/imageResizeModeToFileImageMode.d.ts +3 -0
  74. package/dist/types-ts4.0/utils/isImageRemote.d.ts +1 -0
  75. package/dist/types-ts4.0/utils/mediaSubscribable/fromObservable.d.ts +5 -0
  76. package/dist/types-ts4.0/utils/mediaSubscribable/index.d.ts +3 -0
  77. package/dist/types-ts4.0/utils/mediaSubscribable/toPromise.d.ts +10 -0
  78. package/dist/types-ts4.0/utils/mediaSubscribable/types.d.ts +16 -0
  79. package/dist/types-ts4.0/utils/mobileUpload/error.d.ts +29 -0
  80. package/dist/types-ts4.0/utils/mobileUpload/helpers.d.ts +8 -0
  81. package/dist/types-ts4.0/utils/mobileUpload/index.d.ts +5 -0
  82. package/dist/types-ts4.0/utils/mobileUpload/servicesCache.d.ts +4 -0
  83. package/dist/types-ts4.0/utils/mobileUpload/stateMachine/index.d.ts +7 -0
  84. package/dist/types-ts4.0/utils/mobileUpload/stateMachine/states/error.d.ts +3 -0
  85. package/dist/types-ts4.0/utils/mobileUpload/stateMachine/states/processed.d.ts +3 -0
  86. package/dist/types-ts4.0/utils/mobileUpload/stateMachine/states/processing.d.ts +3 -0
  87. package/dist/types-ts4.0/utils/mobileUpload/stateMachine/states/processingFailed.d.ts +3 -0
  88. package/dist/types-ts4.0/utils/mobileUpload/stateMachine/states/uploading.d.ts +3 -0
  89. package/dist/types-ts4.0/utils/mobileUpload/stateMachine/types.d.ts +69 -0
  90. package/dist/types-ts4.0/utils/overrideMediaTypeIfUnknown.d.ts +5 -0
  91. package/dist/types-ts4.0/utils/polling/errors.d.ts +12 -0
  92. package/dist/types-ts4.0/utils/polling/index.d.ts +33 -0
  93. package/dist/types-ts4.0/utils/polling/types.d.ts +7 -0
  94. package/dist/types-ts4.0/utils/request/errors.d.ts +20 -0
  95. package/dist/types-ts4.0/utils/request/helpers.d.ts +38 -0
  96. package/dist/types-ts4.0/utils/request/index.d.ts +5 -0
  97. package/dist/types-ts4.0/utils/request/types.d.ts +43 -0
  98. package/dist/types-ts4.0/utils/safeUnsubscribe.d.ts +2 -0
  99. package/dist/types-ts4.0/utils/setTimeoutPromise.d.ts +2 -0
  100. package/dist/types-ts4.0/utils/shouldFetchRemoteFileStates.d.ts +16 -0
  101. package/dist/types-ts4.0/utils/url.d.ts +17 -0
  102. package/dist/types-ts4.0/utils/with-media-client-hoc.d.ts +16 -0
  103. package/package.json +13 -8
  104. package/report.api.md +12 -28
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @atlaskit/media-client
2
2
 
3
+ ## 18.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - [`37ff149ab87`](https://bitbucket.org/atlassian/atlassian-frontend/commits/37ff149ab87) - Remove exposing StreamsCache class
8
+
9
+ ### Patch Changes
10
+
11
+ - [`153829bfcb3`](https://bitbucket.org/atlassian/atlassian-frontend/commits/153829bfcb3) - Upgrade caching algorithm library lru-fast to lru_map.
12
+ - Updated dependencies
13
+
14
+ ## 17.1.3
15
+
16
+ ### Patch Changes
17
+
18
+ - [`8cc2f888c83`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8cc2f888c83) - Upgrade Typescript from `4.3.5` to `4.5.5`
19
+ - Updated dependencies
20
+
3
21
  ## 17.1.2
4
22
 
5
23
  ### Patch Changes
@@ -4,5 +4,12 @@
4
4
  "module": "../dist/esm/constants.js",
5
5
  "module:es2019": "../dist/es2019/constants.js",
6
6
  "sideEffects": false,
7
- "types": "../dist/types/constants.d.ts"
7
+ "types": "../dist/types/constants.d.ts",
8
+ "typesVersions": {
9
+ ">=4.0 <4.5": {
10
+ "*": [
11
+ "../dist/types-ts4.0/constants.d.ts"
12
+ ]
13
+ }
14
+ }
8
15
  }
@@ -49,7 +49,7 @@ var resolveAuth = /*#__PURE__*/function () {
49
49
  throw _context.t0;
50
50
 
51
51
  case 11:
52
- throw new _error.MediaStoreError('failedAuthProvider', _context.t0);
52
+ throw new _error.MediaStoreError('failedAuthProvider', _context.t0 instanceof Error ? _context.t0 : undefined);
53
53
 
54
54
  case 12:
55
55
  if (auth) {
@@ -52,7 +52,7 @@ var MobileUploadImpl = /*#__PURE__*/function () {
52
52
  };
53
53
  var service = (0, _mobileUpload.createMobileUploadService)((0, _mobileUpload.createMobileUploadStateMachine)(this.dataloader, initialState, collectionName));
54
54
  var subject = (0, _mobileUpload.createMobileFileStateSubject)(service);
55
- this.servicesCache.put(fileId, service);
55
+ this.servicesCache.set(fileId, service);
56
56
  (0, _fileStreamsCache.getFileStreamsCache)().set(fileId, subject);
57
57
  }
58
58
  }, {
@@ -44,12 +44,12 @@ var StreamsCache = /*#__PURE__*/function () {
44
44
  }, {
45
45
  key: "removeAll",
46
46
  value: function removeAll() {
47
- this.streams.removeAll();
47
+ this.streams.clear();
48
48
  }
49
49
  }, {
50
50
  key: "remove",
51
51
  value: function remove(id) {
52
- this.streams.remove(id);
52
+ this.streams.delete(id);
53
53
  }
54
54
  }, {
55
55
  key: "size",
package/dist/cjs/index.js CHANGED
@@ -75,12 +75,6 @@ Object.defineProperty(exports, "StargateClient", {
75
75
  return _stargateClient.StargateClient;
76
76
  }
77
77
  });
78
- Object.defineProperty(exports, "StreamsCache", {
79
- enumerable: true,
80
- get: function get() {
81
- return _fileStreamsCache.StreamsCache;
82
- }
83
- });
84
78
  Object.defineProperty(exports, "UploadController", {
85
79
  enumerable: true,
86
80
  get: function get() {
@@ -377,8 +371,6 @@ var _errors = require("./models/errors");
377
371
 
378
372
  var _fileState = require("./models/file-state");
379
373
 
380
- var _fileStreamsCache = require("./file-streams-cache");
381
-
382
374
  var _uploader = require("./uploader");
383
375
 
384
376
  var _request = require("./utils/request");
@@ -423,7 +415,6 @@ var _constants = require("./constants");
423
415
 
424
416
  var _mediaTypeUtils = require("@atlaskit/media-common/mediaTypeUtils");
425
417
 
426
- // TODO: remove access to media file stream cache https://product-fabric.atlassian.net/browse/MEX-1417
427
418
  // TODO MEX-659 Remove these exports when all the usages from media-client are replaced with media-common.
428
419
 
429
420
  /**
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.createServicesCache = createServicesCache;
7
7
 
8
- var _lruFast = require("lru-fast");
8
+ var _lru_map = require("lru_map");
9
9
 
10
10
  function createServicesCache() {
11
- return new _lruFast.LRUCache(100);
11
+ return new _lru_map.LRUMap(100);
12
12
  }
@@ -152,7 +152,7 @@ function _mapResponseToJson() {
152
152
  _context3.t0 = _context3["catch"](1);
153
153
  throw new _errors.RequestError('serverInvalidBody', {
154
154
  statusCode: response.status
155
- }, _context3.t0);
155
+ }, _context3.t0 instanceof Error ? _context3.t0 : undefined);
156
156
 
157
157
  case 10:
158
158
  case "end":
@@ -193,7 +193,7 @@ function _mapResponseToBlob() {
193
193
  _context4.t0 = _context4["catch"](1);
194
194
  throw new _errors.RequestError('serverInvalidBody', {
195
195
  statusCode: response.status
196
- }, _context4.t0);
196
+ }, _context4.t0 instanceof Error ? _context4.t0 : undefined);
197
197
 
198
198
  case 10:
199
199
  case "end":
@@ -230,7 +230,7 @@ function createMapResponseToJson(metadata) {
230
230
  _context.t0 = _context["catch"](0);
231
231
  throw new _errors.RequestError('serverInvalidBody', _objectSpread(_objectSpread(_objectSpread({}, metadata), extractMediaHeaders(response)), {}, {
232
232
  statusCode: response.status
233
- }), _context.t0);
233
+ }), _context.t0 instanceof Error ? _context.t0 : undefined);
234
234
 
235
235
  case 9:
236
236
  case "end":
@@ -265,7 +265,7 @@ function createMapResponseToBlob(metadata) {
265
265
  _context2.t0 = _context2["catch"](0);
266
266
  throw new _errors.RequestError('serverInvalidBody', _objectSpread(_objectSpread(_objectSpread({}, metadata), extractMediaHeaders(response)), {}, {
267
267
  statusCode: response.status
268
- }), _context2.t0);
268
+ }), _context2.t0 instanceof Error ? _context2.t0 : undefined);
269
269
 
270
270
  case 9:
271
271
  case "end":
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/media-client",
3
- "version": "17.1.2",
3
+ "version": "18.0.0",
4
4
  "sideEffects": false
5
5
  }
@@ -11,7 +11,7 @@ export const resolveAuth = async (authProvider, authContext, authProviderTimeout
11
11
  throw err;
12
12
  }
13
13
 
14
- throw new MediaStoreError('failedAuthProvider', err);
14
+ throw new MediaStoreError('failedAuthProvider', err instanceof Error ? err : undefined);
15
15
  }
16
16
 
17
17
  if (!auth) {
@@ -34,7 +34,7 @@ export class MobileUploadImpl {
34
34
  };
35
35
  const service = createMobileUploadService(createMobileUploadStateMachine(this.dataloader, initialState, collectionName));
36
36
  const subject = createMobileFileStateSubject(service);
37
- this.servicesCache.put(fileId, service);
37
+ this.servicesCache.set(fileId, service);
38
38
  getFileStreamsCache().set(fileId, subject);
39
39
  }
40
40
 
@@ -24,11 +24,11 @@ export class StreamsCache {
24
24
  }
25
25
 
26
26
  removeAll() {
27
- this.streams.removeAll();
27
+ this.streams.clear();
28
28
  }
29
29
 
30
30
  remove(id) {
31
- this.streams.remove(id);
31
+ this.streams.delete(id);
32
32
  }
33
33
 
34
34
  get size() {
@@ -4,8 +4,6 @@ export { isPreviewableType, isMediaCollectionItemFullDetails } from './models/me
4
4
  export { getArtifactUrl } from './models/artifacts';
5
5
  export { isMediaClientError, getMediaClientErrorReason } from './models/errors';
6
6
  export { isUploadingFileState, isProcessingFileState, isProcessedFileState, isErrorFileState, isPreviewableFileState, isFinalFileState, isImageRepresentationReady, mapMediaFileToFileState, mapMediaItemToFileState } from './models/file-state';
7
- // TODO: remove access to media file stream cache https://product-fabric.atlassian.net/browse/MEX-1417
8
- export { StreamsCache } from './file-streams-cache';
9
7
  export { uploadFile } from './uploader';
10
8
  export { request, RequestError, isRequestError, isRateLimitedError } from './utils/request';
11
9
  export { isAbortedRequestError, mapResponseToJson, mapResponseToBlob, mapResponseToVoid, createUrl } from './utils/request/helpers';
@@ -1,4 +1,4 @@
1
- import { LRUCache } from 'lru-fast';
1
+ import { LRUMap } from 'lru_map';
2
2
  export function createServicesCache() {
3
- return new LRUCache(100);
3
+ return new LRUMap(100);
4
4
  }
@@ -72,7 +72,7 @@ export async function mapResponseToJson(response) {
72
72
  } catch (err) {
73
73
  throw new RequestError('serverInvalidBody', {
74
74
  statusCode: response.status
75
- }, err);
75
+ }, err instanceof Error ? err : undefined);
76
76
  }
77
77
  }
78
78
  /**
@@ -89,7 +89,7 @@ export async function mapResponseToBlob(response) {
89
89
  } catch (err) {
90
90
  throw new RequestError('serverInvalidBody', {
91
91
  statusCode: response.status
92
- }, err);
92
+ }, err instanceof Error ? err : undefined);
93
93
  }
94
94
  }
95
95
  /**
@@ -110,7 +110,7 @@ export function createMapResponseToJson(metadata) {
110
110
  throw new RequestError('serverInvalidBody', { ...metadata,
111
111
  ...extractMediaHeaders(response),
112
112
  statusCode: response.status
113
- }, err);
113
+ }, err instanceof Error ? err : undefined);
114
114
  }
115
115
  };
116
116
  }
@@ -122,7 +122,7 @@ export function createMapResponseToBlob(metadata) {
122
122
  throw new RequestError('serverInvalidBody', { ...metadata,
123
123
  ...extractMediaHeaders(response),
124
124
  statusCode: response.status
125
- }, err);
125
+ }, err instanceof Error ? err : undefined);
126
126
  }
127
127
  };
128
128
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/media-client",
3
- "version": "17.1.2",
3
+ "version": "18.0.0",
4
4
  "sideEffects": false
5
5
  }
@@ -34,7 +34,7 @@ export var resolveAuth = /*#__PURE__*/function () {
34
34
  throw _context.t0;
35
35
 
36
36
  case 11:
37
- throw new MediaStoreError('failedAuthProvider', _context.t0);
37
+ throw new MediaStoreError('failedAuthProvider', _context.t0 instanceof Error ? _context.t0 : undefined);
38
38
 
39
39
  case 12:
40
40
  if (auth) {
@@ -38,7 +38,7 @@ export var MobileUploadImpl = /*#__PURE__*/function () {
38
38
  };
39
39
  var service = createMobileUploadService(createMobileUploadStateMachine(this.dataloader, initialState, collectionName));
40
40
  var subject = createMobileFileStateSubject(service);
41
- this.servicesCache.put(fileId, service);
41
+ this.servicesCache.set(fileId, service);
42
42
  getFileStreamsCache().set(fileId, subject);
43
43
  }
44
44
  }, {
@@ -34,12 +34,12 @@ export var StreamsCache = /*#__PURE__*/function () {
34
34
  }, {
35
35
  key: "removeAll",
36
36
  value: function removeAll() {
37
- this.streams.removeAll();
37
+ this.streams.clear();
38
38
  }
39
39
  }, {
40
40
  key: "remove",
41
41
  value: function remove(id) {
42
- this.streams.remove(id);
42
+ this.streams.delete(id);
43
43
  }
44
44
  }, {
45
45
  key: "size",
package/dist/esm/index.js CHANGED
@@ -4,8 +4,6 @@ export { isPreviewableType, isMediaCollectionItemFullDetails } from './models/me
4
4
  export { getArtifactUrl } from './models/artifacts';
5
5
  export { isMediaClientError, getMediaClientErrorReason } from './models/errors';
6
6
  export { isUploadingFileState, isProcessingFileState, isProcessedFileState, isErrorFileState, isPreviewableFileState, isFinalFileState, isImageRepresentationReady, mapMediaFileToFileState, mapMediaItemToFileState } from './models/file-state';
7
- // TODO: remove access to media file stream cache https://product-fabric.atlassian.net/browse/MEX-1417
8
- export { StreamsCache } from './file-streams-cache';
9
7
  export { uploadFile } from './uploader';
10
8
  export { request, RequestError, isRequestError, isRateLimitedError } from './utils/request';
11
9
  export { isAbortedRequestError, mapResponseToJson, mapResponseToBlob, mapResponseToVoid, createUrl } from './utils/request/helpers';
@@ -1,4 +1,4 @@
1
- import { LRUCache } from 'lru-fast';
1
+ import { LRUMap } from 'lru_map';
2
2
  export function createServicesCache() {
3
- return new LRUCache(100);
3
+ return new LRUMap(100);
4
4
  }
@@ -108,7 +108,7 @@ function _mapResponseToJson() {
108
108
  _context3.t0 = _context3["catch"](1);
109
109
  throw new RequestError('serverInvalidBody', {
110
110
  statusCode: response.status
111
- }, _context3.t0);
111
+ }, _context3.t0 instanceof Error ? _context3.t0 : undefined);
112
112
 
113
113
  case 10:
114
114
  case "end":
@@ -148,7 +148,7 @@ function _mapResponseToBlob() {
148
148
  _context4.t0 = _context4["catch"](1);
149
149
  throw new RequestError('serverInvalidBody', {
150
150
  statusCode: response.status
151
- }, _context4.t0);
151
+ }, _context4.t0 instanceof Error ? _context4.t0 : undefined);
152
152
 
153
153
  case 10:
154
154
  case "end":
@@ -184,7 +184,7 @@ export function createMapResponseToJson(metadata) {
184
184
  _context.t0 = _context["catch"](0);
185
185
  throw new RequestError('serverInvalidBody', _objectSpread(_objectSpread(_objectSpread({}, metadata), extractMediaHeaders(response)), {}, {
186
186
  statusCode: response.status
187
- }), _context.t0);
187
+ }), _context.t0 instanceof Error ? _context.t0 : undefined);
188
188
 
189
189
  case 9:
190
190
  case "end":
@@ -218,7 +218,7 @@ export function createMapResponseToBlob(metadata) {
218
218
  _context2.t0 = _context2["catch"](0);
219
219
  throw new RequestError('serverInvalidBody', _objectSpread(_objectSpread(_objectSpread({}, metadata), extractMediaHeaders(response)), {}, {
220
220
  statusCode: response.status
221
- }), _context2.t0);
221
+ }), _context2.t0 instanceof Error ? _context2.t0 : undefined);
222
222
 
223
223
  case 9:
224
224
  case "end":
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/media-client",
3
- "version": "17.1.2",
3
+ "version": "18.0.0",
4
4
  "sideEffects": false
5
5
  }
@@ -1,9 +1,9 @@
1
- import { LRUCache } from 'lru-fast';
1
+ import { LRUMap } from 'lru_map';
2
2
  import { ReplaySubject } from 'rxjs/ReplaySubject';
3
3
  import { FileState } from './models/file-state';
4
4
  export declare class StreamsCache<T> {
5
5
  private readonly streams;
6
- constructor(streams: LRUCache<string, ReplaySubject<T>>);
6
+ constructor(streams: LRUMap<string, ReplaySubject<T>>);
7
7
  has(id: string): boolean;
8
8
  set(id: string, stream: ReplaySubject<T>): void;
9
9
  get(id: string): ReplaySubject<T> | undefined;
@@ -13,7 +13,6 @@ export type { MediaClientError, MediaClientErrorReason, MediaClientErrorAttribut
13
13
  export { isUploadingFileState, isProcessingFileState, isProcessedFileState, isErrorFileState, isPreviewableFileState, isFinalFileState, isImageRepresentationReady, mapMediaFileToFileState, mapMediaItemToFileState, } from './models/file-state';
14
14
  export type { FileStatus, FilePreview, PreviewOptions, GetFileOptions, UploadingFileState, ProcessingFileState, ProcessedFileState, ProcessingFailedState, ErrorFileState, NonErrorFileState, PreviewableFileState, FileState, } from './models/file-state';
15
15
  export type { MobileUpload, MobileUploadStartEvent, MobileUploadProgressEvent, MobileUploadEndEvent, MobileUploadErrorEvent, } from './models/mobile-upload';
16
- export { StreamsCache } from './file-streams-cache';
17
16
  export { uploadFile } from './uploader';
18
17
  export type { UploadableFile, UploadableFileUpfrontIds, UploadFileCallbacks, UploadFileResult, } from './uploader';
19
18
  export { request, RequestError, isRequestError, isRateLimitedError, } from './utils/request';
@@ -1,4 +1,4 @@
1
- import { LRUCache } from 'lru-fast';
1
+ import { LRUMap } from 'lru_map';
2
2
  import { Interpreter } from 'xstate';
3
3
  import { StateMachineContext, StateMachineEvent, StateMachineTypestate } from './stateMachine/types';
4
- export declare function createServicesCache(): LRUCache<string, Interpreter<StateMachineContext, any, StateMachineEvent, StateMachineTypestate>>;
4
+ export declare function createServicesCache(): LRUMap<string, Interpreter<StateMachineContext, any, StateMachineEvent, StateMachineTypestate>>;
@@ -0,0 +1,8 @@
1
+ /// <reference types="jest" />
2
+ export declare const collectionCache: {};
3
+ export declare class CollectionFetcher {
4
+ constructor();
5
+ getItems: jest.Mock<any, any>;
6
+ removeFile: jest.Mock<any, any>;
7
+ loadNextPage: jest.Mock<any, any>;
8
+ }
@@ -0,0 +1,10 @@
1
+ /// <reference types="jest" />
2
+ export declare class FileFetcher {
3
+ constructor();
4
+ getFileState: jest.Mock<any, any>;
5
+ getCurrentState: jest.Mock<any, any>;
6
+ getArtifactURL: jest.Mock<any, any>;
7
+ touchFiles: jest.Mock<any, any>;
8
+ upload: jest.Mock<any, any>;
9
+ downloadBinary: jest.Mock<any, any>;
10
+ }
@@ -0,0 +1,13 @@
1
+ /// <reference types="jest" />
2
+ import { MediaClientConfig } from '@atlaskit/media-core';
3
+ import { CollectionFetcher } from '../collection-fetcher';
4
+ import { FileFetcher } from '../file-fetcher';
5
+ export declare class MediaClient {
6
+ readonly config: MediaClientConfig;
7
+ readonly collection: CollectionFetcher;
8
+ readonly file: FileFetcher;
9
+ constructor(config: MediaClientConfig);
10
+ getImage: jest.Mock<any, any>;
11
+ getImageUrl: jest.Mock<any, any>;
12
+ getImageMetadata: jest.Mock<any, any>;
13
+ }
@@ -0,0 +1,35 @@
1
+ import { ReplaySubject } from 'rxjs/ReplaySubject';
2
+ import { FileDetails, FileItem } from '../models/item';
3
+ import { MediaCollectionItem } from '../models/media';
4
+ import { MediaStore, MediaStoreGetCollectionItemsParams } from './media-store';
5
+ import { MediaSubscribable } from '../utils/mediaSubscribable';
6
+ export interface MediaCollectionFileItemDetails extends FileDetails {
7
+ occurrenceKey: string;
8
+ }
9
+ export interface MediaCollectionFileItem extends FileItem {
10
+ details: MediaCollectionFileItemDetails;
11
+ }
12
+ export interface MediaCollection {
13
+ id: string;
14
+ items: Array<MediaCollectionItem>;
15
+ }
16
+ export interface CollectionCacheEntry {
17
+ items: MediaCollectionItem[];
18
+ subject: ReplaySubject<MediaCollectionItem[]>;
19
+ isLoadingNextPage: boolean;
20
+ nextInclusiveStartKey?: string;
21
+ }
22
+ export declare type CollectionCache = {
23
+ [collectionName: string]: CollectionCacheEntry;
24
+ };
25
+ export declare const collectionCache: CollectionCache;
26
+ export declare class CollectionFetcher {
27
+ readonly mediaStore: MediaStore;
28
+ constructor(mediaStore: MediaStore);
29
+ private createFileStateObserver;
30
+ private populateCache;
31
+ private removeFromCache;
32
+ getItems(collectionName: string, params?: MediaStoreGetCollectionItemsParams): MediaSubscribable<MediaCollectionItem[]>;
33
+ removeFile(id: string, collectionName: string, occurrenceKey?: string): Promise<void>;
34
+ loadNextPage(collectionName: string, params?: MediaStoreGetCollectionItemsParams): Promise<void>;
35
+ }
@@ -0,0 +1,14 @@
1
+ import { FileState } from '../models/file-state';
2
+ export declare type EventPayloadMap<P> = {
3
+ readonly [event: string]: P;
4
+ };
5
+ export declare type EventPayloadListener<M extends EventPayloadMap<P>, E extends keyof M, P = any> = (payload: M[E]) => void;
6
+ export interface MediaViewedEventPayload {
7
+ fileId: string;
8
+ viewingLevel: 'minimal' | 'full' | 'download';
9
+ isUserCollection?: boolean;
10
+ }
11
+ export declare type UploadEventPayloadMap = {
12
+ 'file-added': FileState;
13
+ 'media-viewed': MediaViewedEventPayload;
14
+ };
@@ -0,0 +1,29 @@
1
+ import { BaseMediaClientError } from '../../models/errors';
2
+ export declare type FileFetcherErrorReason = 'invalidFileId' | 'emptyItems' | 'zeroVersionFile';
3
+ export declare type FileFetcherErrorAttributes = {
4
+ readonly reason: FileFetcherErrorReason;
5
+ readonly id: string;
6
+ readonly metadata?: {
7
+ readonly collectionName?: string;
8
+ readonly occurrenceKey?: string;
9
+ };
10
+ };
11
+ export declare class FileFetcherError extends BaseMediaClientError<FileFetcherErrorAttributes> {
12
+ readonly reason: FileFetcherErrorReason;
13
+ readonly id: string;
14
+ readonly metadata?: {
15
+ readonly collectionName?: string | undefined;
16
+ readonly occurrenceKey?: string | undefined;
17
+ } | undefined;
18
+ constructor(reason: FileFetcherErrorReason, id: string, metadata?: {
19
+ readonly collectionName?: string | undefined;
20
+ readonly occurrenceKey?: string | undefined;
21
+ } | undefined);
22
+ get attributes(): {
23
+ reason: FileFetcherErrorReason;
24
+ id: string;
25
+ collectionName: string | undefined;
26
+ occurrenceKey: string | undefined;
27
+ };
28
+ }
29
+ export declare function isFileFetcherError(err: Error): err is FileFetcherError;
@@ -0,0 +1,56 @@
1
+ import 'setimmediate';
2
+ import { AuthProvider } from '@atlaskit/media-core';
3
+ import { MediaStore, MediaStoreCopyFileWithTokenParams, TouchedFiles, TouchFileDescriptor } from '../media-store';
4
+ import { FilePreview, FileState, GetFileOptions } from '../../models/file-state';
5
+ import { MediaFile } from '../../models/media';
6
+ import { UploadableFile, UploadableFileUpfrontIds } from '../../uploader';
7
+ import { MediaFileArtifacts } from '../../models/artifacts';
8
+ import { UploadController } from '../../upload-controller';
9
+ import { MediaSubscribable } from '../../utils/mediaSubscribable';
10
+ import { Dimensions } from '../../utils/getDimensionsFromBlob';
11
+ export type { FileFetcherErrorAttributes, FileFetcherErrorReason, } from './error';
12
+ export { isFileFetcherError, FileFetcherError } from './error';
13
+ export interface CopySourceFile {
14
+ id: string;
15
+ collection?: string;
16
+ authProvider: AuthProvider;
17
+ }
18
+ export interface CopyDestination extends MediaStoreCopyFileWithTokenParams {
19
+ authProvider: AuthProvider;
20
+ mediaStore?: MediaStore;
21
+ }
22
+ export interface CopyFileOptions {
23
+ preview?: FilePreview | Promise<FilePreview>;
24
+ mimeType?: string;
25
+ }
26
+ export declare type ExternalUploadPayload = {
27
+ uploadableFileUpfrontIds: UploadableFileUpfrontIds;
28
+ dimensions: Dimensions;
29
+ };
30
+ export interface FileFetcher {
31
+ getFileState(id: string, options?: GetFileOptions): MediaSubscribable<FileState>;
32
+ getArtifactURL(artifacts: MediaFileArtifacts, artifactName: keyof MediaFileArtifacts, collectionName?: string): Promise<string>;
33
+ touchFiles(descriptors: TouchFileDescriptor[], collection?: string): Promise<TouchedFiles>;
34
+ upload(file: UploadableFile, controller?: UploadController, uploadableFileUpfrontIds?: UploadableFileUpfrontIds): MediaSubscribable<FileState>;
35
+ uploadExternal(url: string, collection?: string): Promise<ExternalUploadPayload>;
36
+ downloadBinary(id: string, name?: string, collectionName?: string): Promise<void>;
37
+ getCurrentState(id: string, options?: GetFileOptions): Promise<FileState>;
38
+ copyFile(source: CopySourceFile, destination: CopyDestination, options?: CopyFileOptions): Promise<MediaFile>;
39
+ getFileBinaryURL(id: string, collectionName?: string): Promise<string>;
40
+ }
41
+ export declare class FileFetcherImpl implements FileFetcher {
42
+ private readonly mediaStore;
43
+ private readonly dataloader;
44
+ constructor(mediaStore: MediaStore);
45
+ getFileState(id: string, options?: GetFileOptions): MediaSubscribable<FileState>;
46
+ getCurrentState(id: string, options?: GetFileOptions): Promise<FileState>;
47
+ getArtifactURL(artifacts: MediaFileArtifacts, artifactName: keyof MediaFileArtifacts, collectionName?: string): Promise<string>;
48
+ getFileBinaryURL(id: string, collectionName?: string): Promise<string>;
49
+ private createDownloadFileStream;
50
+ touchFiles(descriptors: TouchFileDescriptor[], collection?: string): Promise<TouchedFiles>;
51
+ private generateUploadableFileUpfrontIds;
52
+ uploadExternal(url: string, collection?: string): Promise<ExternalUploadPayload>;
53
+ upload(file: UploadableFile, controller?: UploadController, uploadableFileUpfrontIds?: UploadableFileUpfrontIds): MediaSubscribable<FileState>;
54
+ downloadBinary(id: string, name?: string, collectionName?: string): Promise<void>;
55
+ copyFile(source: CopySourceFile, destination: CopyDestination, options?: CopyFileOptions): Promise<MediaFile>;
56
+ }
@@ -0,0 +1,28 @@
1
+ import { MediaClientConfig } from '@atlaskit/media-core';
2
+ import { MediaFeatureFlags } from '@atlaskit/media-common';
3
+ import { MediaStore, MediaStoreGetFileImageParams, ImageMetadata } from './media-store';
4
+ import { CollectionFetcher } from './collection-fetcher';
5
+ import { FileFetcher } from './file-fetcher';
6
+ import { UploadEventPayloadMap, EventPayloadListener } from './events';
7
+ import { StargateClient } from './stargate-client';
8
+ import { MobileUpload } from '../models/mobile-upload';
9
+ export declare class MediaClient {
10
+ readonly mediaClientConfig: MediaClientConfig;
11
+ readonly featureFlags?: MediaFeatureFlags | undefined;
12
+ readonly mediaStore: MediaStore;
13
+ readonly collection: CollectionFetcher;
14
+ readonly file: FileFetcher;
15
+ readonly stargate: StargateClient;
16
+ private readonly eventEmitter;
17
+ private mobileUpload?;
18
+ readonly config: MediaClientConfig;
19
+ constructor(mediaClientConfig: MediaClientConfig, featureFlags?: MediaFeatureFlags | undefined);
20
+ getImage(id: string, params?: MediaStoreGetFileImageParams, controller?: AbortController, fetchMaxRes?: boolean): Promise<Blob>;
21
+ getImageUrl(id: string, params?: MediaStoreGetFileImageParams): Promise<string>;
22
+ getImageUrlSync(id: string, params?: MediaStoreGetFileImageParams): string;
23
+ getImageMetadata(id: string, params?: MediaStoreGetFileImageParams): Promise<ImageMetadata>;
24
+ mobileUploadPromise(): Promise<MobileUpload>;
25
+ on<E extends keyof UploadEventPayloadMap>(event: E, listener: EventPayloadListener<UploadEventPayloadMap, E>): void;
26
+ off<E extends keyof UploadEventPayloadMap>(event: E, listener: EventPayloadListener<UploadEventPayloadMap, E>): void;
27
+ emit<E extends keyof UploadEventPayloadMap>(event: E, payload: UploadEventPayloadMap[E]): boolean;
28
+ }
@@ -0,0 +1,16 @@
1
+ import { BaseMediaClientError } from '../../models/errors';
2
+ export declare type MediaStoreErrorReason = 'failedAuthProvider' | 'tokenExpired' | 'missingInitialAuth' | 'emptyAuth' | 'authProviderTimedOut';
3
+ export declare type MediaStoreErrorAttributes = {
4
+ readonly reason: MediaStoreErrorReason;
5
+ readonly innerError?: Error;
6
+ };
7
+ export declare class MediaStoreError extends BaseMediaClientError<MediaStoreErrorAttributes> {
8
+ readonly reason: MediaStoreErrorReason;
9
+ readonly innerError?: Error | undefined;
10
+ constructor(reason: MediaStoreErrorReason, innerError?: Error | undefined);
11
+ get attributes(): {
12
+ reason: MediaStoreErrorReason;
13
+ innerError: Error | undefined;
14
+ };
15
+ }
16
+ export declare function isMediaStoreError(err: Error): err is MediaStoreError;