@atlaskit/media-client 16.0.0 → 17.1.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.
- package/CHANGELOG.md +44 -0
- package/dist/cjs/client/collection-fetcher.js +4 -4
- package/dist/cjs/client/file-fetcher/index.js +5 -9
- package/dist/cjs/client/media-store/index.js +49 -32
- package/dist/cjs/constants.js +11 -2
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/models/media.js +10 -2
- package/dist/cjs/uploader/calculateChunkSize.js +45 -0
- package/dist/cjs/uploader/error.js +67 -0
- package/dist/cjs/uploader/index.js +318 -0
- package/dist/cjs/utils/{toMediaSubscribable.js → mediaSubscribable/fromObservable.js} +4 -4
- package/dist/cjs/utils/mediaSubscribable/index.js +27 -0
- package/dist/cjs/utils/{mediaSubscribableToPromise.js → mediaSubscribable/toPromise.js} +3 -3
- package/dist/cjs/utils/mediaSubscribable/types.js +5 -0
- package/dist/cjs/utils/request/errors.js +4 -0
- package/dist/cjs/utils/request/helpers.js +14 -3
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/client/collection-fetcher.js +2 -2
- package/dist/es2019/client/file-fetcher/index.js +5 -6
- package/dist/es2019/client/media-store/index.js +30 -18
- package/dist/es2019/constants.js +5 -1
- package/dist/es2019/index.js +1 -1
- package/dist/es2019/models/media.js +8 -1
- package/dist/es2019/uploader/calculateChunkSize.js +32 -0
- package/dist/es2019/uploader/error.js +30 -0
- package/dist/es2019/{uploader.js → uploader/index.js} +47 -10
- package/dist/es2019/utils/{toMediaSubscribable.js → mediaSubscribable/fromObservable.js} +3 -3
- package/dist/es2019/utils/mediaSubscribable/index.js +2 -0
- package/dist/es2019/utils/{mediaSubscribableToPromise.js → mediaSubscribable/toPromise.js} +1 -1
- package/dist/es2019/utils/mediaSubscribable/types.js +1 -0
- package/dist/es2019/utils/request/errors.js +4 -0
- package/dist/es2019/utils/request/helpers.js +14 -0
- package/dist/es2019/version.json +1 -1
- package/dist/esm/client/collection-fetcher.js +3 -3
- package/dist/esm/client/file-fetcher/index.js +6 -9
- package/dist/esm/client/media-client.js +1 -1
- package/dist/esm/client/media-store/index.js +50 -33
- package/dist/esm/client/media-store/resolveAuth.js +1 -1
- package/dist/esm/client/stargate-client.js +1 -1
- package/dist/esm/constants.js +5 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/models/media.js +8 -1
- package/dist/esm/uploader/calculateChunkSize.js +32 -0
- package/dist/esm/uploader/error.js +51 -0
- package/dist/esm/uploader/index.js +298 -0
- package/dist/esm/utils/createFileDataLoader.js +1 -1
- package/dist/esm/utils/getDimensionsFromBlob.js +1 -1
- package/dist/esm/utils/getVideoDimensionsFromBlob.js +1 -1
- package/dist/esm/utils/hashing/hasherCreator.js +1 -1
- package/dist/esm/utils/{toMediaSubscribable.js → mediaSubscribable/fromObservable.js} +3 -3
- package/dist/esm/utils/mediaSubscribable/index.js +2 -0
- package/dist/esm/utils/{mediaSubscribableToPromise.js → mediaSubscribable/toPromise.js} +1 -1
- package/dist/esm/utils/mediaSubscribable/types.js +1 -0
- package/dist/esm/utils/mobileUpload/helpers.js +1 -1
- package/dist/esm/utils/mobileUpload/stateMachine/index.js +1 -1
- package/dist/esm/utils/polling/index.js +1 -1
- package/dist/esm/utils/request/errors.js +4 -0
- package/dist/esm/utils/request/helpers.js +13 -4
- package/dist/esm/utils/request/index.js +1 -1
- package/dist/esm/utils/shouldFetchRemoteFileStates.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/client/collection-fetcher.d.ts +1 -1
- package/dist/types/client/file-fetcher/index.d.ts +1 -1
- package/dist/types/client/media-store/index.d.ts +9 -2
- package/dist/types/constants.d.ts +3 -0
- package/dist/types/index.d.ts +2 -2
- package/dist/types/models/errors/types.d.ts +1 -1
- package/dist/types/models/media.d.ts +5 -0
- package/dist/types/uploader/calculateChunkSize.d.ts +11 -0
- package/dist/types/uploader/error.d.ts +29 -0
- package/dist/types/{uploader.d.ts → uploader/index.d.ts} +2 -2
- package/dist/types/utils/mediaSubscribable/fromObservable.d.ts +5 -0
- package/dist/types/utils/mediaSubscribable/index.d.ts +3 -0
- package/dist/types/utils/{mediaSubscribableToPromise.d.ts → mediaSubscribable/toPromise.d.ts} +3 -3
- package/dist/types/utils/mediaSubscribable/types.d.ts +16 -0
- package/dist/types/utils/request/errors.d.ts +2 -0
- package/dist/types/utils/request/helpers.d.ts +4 -0
- package/dist/types/utils/request/types.d.ts +2 -0
- package/dist/types/utils/safeUnsubscribe.d.ts +1 -1
- package/example-helpers/styles.ts +99 -0
- package/example-helpers/stylesWrapper.tsx +82 -0
- package/package.json +7 -6
- package/report.api.md +1389 -0
- package/dist/cjs/uploader.js +0 -210
- package/dist/esm/uploader.js +0 -194
- package/dist/types/utils/toMediaSubscribable.d.ts +0 -20
- package/example-helpers/styled.ts +0 -77
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,49 @@
|
|
|
1
1
|
# @atlaskit/media-client
|
|
2
2
|
|
|
3
|
+
## 17.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`c07a8176ddf`](https://bitbucket.org/atlassian/atlassian-frontend/commits/c07a8176ddf) - New BlobType SlicedBlob that includes partnumber introduced and used for uploading chunks
|
|
8
|
+
- [`a2e6bd37426`](https://bitbucket.org/atlassian/atlassian-frontend/commits/a2e6bd37426) - add uploadId to prob function to support new media upload api
|
|
9
|
+
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
- [`e80f52696fe`](https://bitbucket.org/atlassian/atlassian-frontend/commits/e80f52696fe) - Migrated styled-components to emotion
|
|
13
|
+
- [`de9dc9e7cbd`](https://bitbucket.org/atlassian/atlassian-frontend/commits/de9dc9e7cbd) - Renamed internal helpers and files
|
|
14
|
+
- Updated dependencies
|
|
15
|
+
|
|
16
|
+
## 17.0.0
|
|
17
|
+
|
|
18
|
+
### Major Changes
|
|
19
|
+
|
|
20
|
+
- [`a718050239e`](https://bitbucket.org/atlassian/atlassian-frontend/commits/a718050239e) - Media Client Uploader enforces a hard limit of 2Tb files.
|
|
21
|
+
|
|
22
|
+
To mitigate these changes:
|
|
23
|
+
|
|
24
|
+
- Set the feature flag mediaUploadApiV2 as false or Revert to a previous version for affected consumers and methods;
|
|
25
|
+
Media Client uploadFile method.
|
|
26
|
+
Media Client File Fetcher upload method.
|
|
27
|
+
Media Picker.
|
|
28
|
+
|
|
29
|
+
- [`e4d0b89cd8b`](https://bitbucket.org/atlassian/atlassian-frontend/commits/e4d0b89cd8b) - Additional parameters and changes to the way parameters are passed to MediaStore.uploadChunk and MediaStore.probeChunks.
|
|
30
|
+
- [`d07442a7ff7`](https://bitbucket.org/atlassian/atlassian-frontend/commits/d07442a7ff7) - Breaking change to media-client uploadFile method, chunkSize and processingBatchSize as parameters removed from uploadFile.
|
|
31
|
+
|
|
32
|
+
### Patch Changes
|
|
33
|
+
|
|
34
|
+
- [`61cf857a95a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/61cf857a95a) - A util function for dynamically calculating chunkSizes.
|
|
35
|
+
- Updated dependencies
|
|
36
|
+
|
|
37
|
+
## 16.0.1
|
|
38
|
+
|
|
39
|
+
### Patch Changes
|
|
40
|
+
|
|
41
|
+
- [`12d0af77572`](https://bitbucket.org/atlassian/atlassian-frontend/commits/12d0af77572) - Store media environment in session storage
|
|
42
|
+
- [`325e210e59f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/325e210e59f) - Revert changes made in MEX-1638-revert-update-media-store-class-with-new-endpoint-parameters
|
|
43
|
+
- [`b73f20ed703`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b73f20ed703) - EDM-3073: Fix collab for media inline and copy-paste regression
|
|
44
|
+
- [`c2ede50a80a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/c2ede50a80a) - Add media region and environment returned from media API response into failed analytic events.
|
|
45
|
+
- Updated dependencies
|
|
46
|
+
|
|
3
47
|
## 16.0.0
|
|
4
48
|
|
|
5
49
|
### Major Changes
|
|
@@ -7,10 +7,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.collectionCache = exports.CollectionFetcher = void 0;
|
|
9
9
|
|
|
10
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
-
|
|
12
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
13
11
|
|
|
12
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
+
|
|
14
14
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
15
|
|
|
16
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
@@ -25,7 +25,7 @@ var _fileStreamsCache = require("../file-streams-cache");
|
|
|
25
25
|
|
|
26
26
|
var _fileState = require("../models/file-state");
|
|
27
27
|
|
|
28
|
-
var
|
|
28
|
+
var _mediaSubscribable = require("../utils/mediaSubscribable");
|
|
29
29
|
|
|
30
30
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
31
31
|
|
|
@@ -116,7 +116,7 @@ var CollectionFetcher = /*#__PURE__*/function () {
|
|
|
116
116
|
}).catch(function (error) {
|
|
117
117
|
return subject.error(error);
|
|
118
118
|
});
|
|
119
|
-
return (0,
|
|
119
|
+
return (0, _mediaSubscribable.fromObservable)(subject);
|
|
120
120
|
}
|
|
121
121
|
}, {
|
|
122
122
|
key: "removeFile",
|
|
@@ -69,7 +69,7 @@ var _overrideMediaTypeIfUnknown = require("../../utils/overrideMediaTypeIfUnknow
|
|
|
69
69
|
|
|
70
70
|
var _convertBase64ToBlob = require("../../utils/convertBase64ToBlob");
|
|
71
71
|
|
|
72
|
-
var
|
|
72
|
+
var _mediaSubscribable = require("../../utils/mediaSubscribable");
|
|
73
73
|
|
|
74
74
|
var _getDimensionsFromBlob = require("../../utils/getDimensionsFromBlob");
|
|
75
75
|
|
|
@@ -83,8 +83,6 @@ var _polling = require("../../utils/polling");
|
|
|
83
83
|
|
|
84
84
|
var _detectEmptyFile = require("../../utils/detectEmptyFile");
|
|
85
85
|
|
|
86
|
-
var _toMediaSubscribable = require("../../utils/toMediaSubscribable");
|
|
87
|
-
|
|
88
86
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
89
87
|
|
|
90
88
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -182,17 +180,17 @@ var FileFetcherImpl = /*#__PURE__*/function () {
|
|
|
182
180
|
collectionName: collectionName,
|
|
183
181
|
occurrenceKey: occurrenceKey
|
|
184
182
|
}));
|
|
185
|
-
return (0,
|
|
183
|
+
return (0, _mediaSubscribable.fromObservable)(subject);
|
|
186
184
|
}
|
|
187
185
|
|
|
188
|
-
return (0,
|
|
186
|
+
return (0, _mediaSubscribable.fromObservable)((0, _fileStreamsCache.getFileStreamsCache)().getOrInsert(id, function () {
|
|
189
187
|
return _this2.createDownloadFileStream(id, collectionName);
|
|
190
188
|
}));
|
|
191
189
|
}
|
|
192
190
|
}, {
|
|
193
191
|
key: "getCurrentState",
|
|
194
192
|
value: function getCurrentState(id, options) {
|
|
195
|
-
return (0,
|
|
193
|
+
return (0, _mediaSubscribable.toPromise)(this.getFileState(id, options));
|
|
196
194
|
}
|
|
197
195
|
}, {
|
|
198
196
|
key: "getArtifactURL",
|
|
@@ -333,7 +331,6 @@ var FileFetcherImpl = /*#__PURE__*/function () {
|
|
|
333
331
|
};
|
|
334
332
|
mediaType = (0, _mediaTypeUtils.getMediaTypeFromMimeType)(type); // we emit a richer state after the blob is fetched
|
|
335
333
|
|
|
336
|
-
// we emit a richer state after the blob is fetched
|
|
337
334
|
subject.next({
|
|
338
335
|
status: 'processing',
|
|
339
336
|
name: name,
|
|
@@ -345,7 +342,6 @@ var FileFetcherImpl = /*#__PURE__*/function () {
|
|
|
345
342
|
preview: preview
|
|
346
343
|
}); // we don't want to wait for the file to be upload
|
|
347
344
|
|
|
348
|
-
// we don't want to wait for the file to be upload
|
|
349
345
|
_this3.upload(file, undefined, uploadableFileUpfrontIds);
|
|
350
346
|
|
|
351
347
|
_context3.next = 12;
|
|
@@ -482,7 +478,7 @@ var FileFetcherImpl = /*#__PURE__*/function () {
|
|
|
482
478
|
});
|
|
483
479
|
}
|
|
484
480
|
|
|
485
|
-
return (0,
|
|
481
|
+
return (0, _mediaSubscribable.fromObservable)(subject);
|
|
486
482
|
}
|
|
487
483
|
}, {
|
|
488
484
|
key: "downloadBinary",
|
|
@@ -47,6 +47,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
47
47
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
48
48
|
|
|
49
49
|
var MEDIA_API_REGION = 'media-api-region';
|
|
50
|
+
var MEDIA_API_ENVIRONMENT = 'media-api-environment';
|
|
50
51
|
var defaultImageOptions = {
|
|
51
52
|
'max-age': _constants.FILE_CACHE_MAX_AGE,
|
|
52
53
|
allowAnimated: true,
|
|
@@ -69,7 +70,6 @@ var jsonHeaders = {
|
|
|
69
70
|
Accept: 'application/json',
|
|
70
71
|
'Content-Type': 'application/json'
|
|
71
72
|
};
|
|
72
|
-
var mediaEnvironment;
|
|
73
73
|
|
|
74
74
|
var MediaStore = /*#__PURE__*/function () {
|
|
75
75
|
function MediaStore(config, featureFlags) {
|
|
@@ -225,26 +225,38 @@ var MediaStore = /*#__PURE__*/function () {
|
|
|
225
225
|
}, {
|
|
226
226
|
key: "uploadChunk",
|
|
227
227
|
value: function () {
|
|
228
|
-
var _uploadChunk = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(etag, blob
|
|
229
|
-
var
|
|
228
|
+
var _uploadChunk = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(etag, blob) {
|
|
229
|
+
var _ref,
|
|
230
|
+
collectionName,
|
|
231
|
+
uploadId,
|
|
232
|
+
partNumber,
|
|
233
|
+
metadata,
|
|
234
|
+
options,
|
|
235
|
+
_args3 = arguments;
|
|
236
|
+
|
|
230
237
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
231
238
|
while (1) {
|
|
232
239
|
switch (_context3.prev = _context3.next) {
|
|
233
240
|
case 0:
|
|
241
|
+
_ref = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : {}, collectionName = _ref.collectionName, uploadId = _ref.uploadId, partNumber = _ref.partNumber;
|
|
234
242
|
metadata = {
|
|
235
243
|
method: 'PUT',
|
|
236
244
|
endpoint: '/chunk/{etag}'
|
|
237
245
|
};
|
|
238
246
|
options = _objectSpread(_objectSpread({}, metadata), {}, {
|
|
247
|
+
params: {
|
|
248
|
+
uploadId: uploadId,
|
|
249
|
+
partNumber: partNumber
|
|
250
|
+
},
|
|
239
251
|
authContext: {
|
|
240
252
|
collectionName: collectionName
|
|
241
253
|
},
|
|
242
254
|
body: blob
|
|
243
255
|
});
|
|
244
|
-
_context3.next =
|
|
256
|
+
_context3.next = 5;
|
|
245
257
|
return this.request("/chunk/".concat(etag), options);
|
|
246
258
|
|
|
247
|
-
case
|
|
259
|
+
case 5:
|
|
248
260
|
case "end":
|
|
249
261
|
return _context3.stop();
|
|
250
262
|
}
|
|
@@ -252,7 +264,7 @@ var MediaStore = /*#__PURE__*/function () {
|
|
|
252
264
|
}, _callee3, this);
|
|
253
265
|
}));
|
|
254
266
|
|
|
255
|
-
function uploadChunk(_x6, _x7
|
|
267
|
+
function uploadChunk(_x6, _x7) {
|
|
256
268
|
return _uploadChunk.apply(this, arguments);
|
|
257
269
|
}
|
|
258
270
|
|
|
@@ -260,13 +272,20 @@ var MediaStore = /*#__PURE__*/function () {
|
|
|
260
272
|
}()
|
|
261
273
|
}, {
|
|
262
274
|
key: "probeChunks",
|
|
263
|
-
value: function probeChunks(chunks
|
|
275
|
+
value: function probeChunks(chunks) {
|
|
276
|
+
var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
277
|
+
collectionName = _ref2.collectionName,
|
|
278
|
+
uploadId = _ref2.uploadId;
|
|
279
|
+
|
|
264
280
|
var metadata = {
|
|
265
281
|
method: 'POST',
|
|
266
282
|
endpoint: '/chunk/probe'
|
|
267
283
|
};
|
|
268
284
|
|
|
269
285
|
var options = _objectSpread(_objectSpread({}, metadata), {}, {
|
|
286
|
+
params: {
|
|
287
|
+
uploadId: uploadId
|
|
288
|
+
},
|
|
270
289
|
authContext: {
|
|
271
290
|
collectionName: collectionName
|
|
272
291
|
},
|
|
@@ -339,13 +358,13 @@ var MediaStore = /*#__PURE__*/function () {
|
|
|
339
358
|
key: "getFileImageURL",
|
|
340
359
|
value: function () {
|
|
341
360
|
var _getFileImageURL = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(id, params) {
|
|
342
|
-
var
|
|
361
|
+
var _ref3, collectionName, auth;
|
|
343
362
|
|
|
344
363
|
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
345
364
|
while (1) {
|
|
346
365
|
switch (_context4.prev = _context4.next) {
|
|
347
366
|
case 0:
|
|
348
|
-
|
|
367
|
+
_ref3 = params || {}, collectionName = _ref3.collection;
|
|
349
368
|
_context4.next = 3;
|
|
350
369
|
return this.resolveAuth({
|
|
351
370
|
collectionName: collectionName
|
|
@@ -363,7 +382,7 @@ var MediaStore = /*#__PURE__*/function () {
|
|
|
363
382
|
}, _callee4, this);
|
|
364
383
|
}));
|
|
365
384
|
|
|
366
|
-
function getFileImageURL(
|
|
385
|
+
function getFileImageURL(_x8, _x9) {
|
|
367
386
|
return _getFileImageURL.apply(this, arguments);
|
|
368
387
|
}
|
|
369
388
|
|
|
@@ -418,7 +437,7 @@ var MediaStore = /*#__PURE__*/function () {
|
|
|
418
437
|
}, _callee5, this);
|
|
419
438
|
}));
|
|
420
439
|
|
|
421
|
-
function getFileBinaryURL(
|
|
440
|
+
function getFileBinaryURL(_x10, _x11) {
|
|
422
441
|
return _getFileBinaryURL.apply(this, arguments);
|
|
423
442
|
}
|
|
424
443
|
|
|
@@ -467,7 +486,7 @@ var MediaStore = /*#__PURE__*/function () {
|
|
|
467
486
|
}, _callee6, this);
|
|
468
487
|
}));
|
|
469
488
|
|
|
470
|
-
function getArtifactURL(_x13, _x14
|
|
489
|
+
function getArtifactURL(_x12, _x13, _x14) {
|
|
471
490
|
return _getArtifactURL.apply(this, arguments);
|
|
472
491
|
}
|
|
473
492
|
|
|
@@ -512,7 +531,7 @@ var MediaStore = /*#__PURE__*/function () {
|
|
|
512
531
|
}, _callee7, this);
|
|
513
532
|
}));
|
|
514
533
|
|
|
515
|
-
function getImage(_x16, _x17, _x18
|
|
534
|
+
function getImage(_x15, _x16, _x17, _x18) {
|
|
516
535
|
return _getImage.apply(this, arguments);
|
|
517
536
|
}
|
|
518
537
|
|
|
@@ -557,7 +576,7 @@ var MediaStore = /*#__PURE__*/function () {
|
|
|
557
576
|
}, _callee8, this);
|
|
558
577
|
}));
|
|
559
578
|
|
|
560
|
-
function getItems(
|
|
579
|
+
function getItems(_x19, _x20) {
|
|
561
580
|
return _getItems.apply(this, arguments);
|
|
562
581
|
}
|
|
563
582
|
|
|
@@ -592,7 +611,7 @@ var MediaStore = /*#__PURE__*/function () {
|
|
|
592
611
|
}, _callee9, this);
|
|
593
612
|
}));
|
|
594
613
|
|
|
595
|
-
function getImageMetadata(
|
|
614
|
+
function getImageMetadata(_x21, _x22) {
|
|
596
615
|
return _getImageMetadata.apply(this, arguments);
|
|
597
616
|
}
|
|
598
617
|
|
|
@@ -629,7 +648,7 @@ var MediaStore = /*#__PURE__*/function () {
|
|
|
629
648
|
}, _callee10, this);
|
|
630
649
|
}));
|
|
631
650
|
|
|
632
|
-
function appendChunksToUpload(_x24, _x25
|
|
651
|
+
function appendChunksToUpload(_x23, _x24, _x25) {
|
|
633
652
|
return _appendChunksToUpload.apply(this, arguments);
|
|
634
653
|
}
|
|
635
654
|
|
|
@@ -702,8 +721,8 @@ var MediaStore = /*#__PURE__*/function () {
|
|
|
702
721
|
|
|
703
722
|
case 8:
|
|
704
723
|
response = _context11.sent;
|
|
705
|
-
|
|
706
|
-
|
|
724
|
+
setKeyValueInSessionStorage(MEDIA_API_REGION, response.headers.get('x-media-region'));
|
|
725
|
+
setKeyValueInSessionStorage(MEDIA_API_ENVIRONMENT, response.headers.get('x-media-env'));
|
|
707
726
|
return _context11.abrupt("return", response);
|
|
708
727
|
|
|
709
728
|
case 12:
|
|
@@ -714,7 +733,7 @@ var MediaStore = /*#__PURE__*/function () {
|
|
|
714
733
|
}, _callee11, this);
|
|
715
734
|
}));
|
|
716
735
|
|
|
717
|
-
function request(
|
|
736
|
+
function request(_x26) {
|
|
718
737
|
return _request2.apply(this, arguments);
|
|
719
738
|
}
|
|
720
739
|
|
|
@@ -726,32 +745,30 @@ var MediaStore = /*#__PURE__*/function () {
|
|
|
726
745
|
|
|
727
746
|
exports.MediaStore = MediaStore;
|
|
728
747
|
|
|
729
|
-
function
|
|
730
|
-
|
|
748
|
+
var getValueFromSessionStorage = function getValueFromSessionStorage(key) {
|
|
749
|
+
return window && window.sessionStorage && window.sessionStorage.getItem(key) || undefined;
|
|
750
|
+
};
|
|
751
|
+
|
|
752
|
+
var setKeyValueInSessionStorage = function setKeyValueInSessionStorage(key, value) {
|
|
753
|
+
if (!value || !(window && window.sessionStorage)) {
|
|
731
754
|
return;
|
|
732
755
|
}
|
|
733
756
|
|
|
734
|
-
var
|
|
735
|
-
|
|
736
|
-
if (currentRegion !== region) {
|
|
737
|
-
window.sessionStorage.setItem(MEDIA_API_REGION, region);
|
|
738
|
-
}
|
|
739
|
-
}
|
|
757
|
+
var currentValue = window.sessionStorage.getItem(key);
|
|
740
758
|
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
mediaEnvironment = mediaEnv;
|
|
759
|
+
if (currentValue !== value) {
|
|
760
|
+
window.sessionStorage.setItem(key, value);
|
|
744
761
|
}
|
|
745
762
|
};
|
|
746
763
|
|
|
747
764
|
var getMediaEnvironment = function getMediaEnvironment() {
|
|
748
|
-
return
|
|
765
|
+
return getValueFromSessionStorage(MEDIA_API_ENVIRONMENT);
|
|
749
766
|
};
|
|
750
767
|
|
|
751
768
|
exports.getMediaEnvironment = getMediaEnvironment;
|
|
752
769
|
|
|
753
770
|
var getMediaRegion = function getMediaRegion() {
|
|
754
|
-
return
|
|
771
|
+
return getValueFromSessionStorage(MEDIA_API_REGION);
|
|
755
772
|
};
|
|
756
773
|
|
|
757
774
|
exports.getMediaRegion = getMediaRegion;
|
package/dist/cjs/constants.js
CHANGED
|
@@ -3,11 +3,20 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.RECENTS_COLLECTION = exports.MAX_RESOLUTION = exports.FILE_CACHE_MAX_AGE = void 0;
|
|
6
|
+
exports.RECENTS_COLLECTION = exports.PROCESSING_BATCH_SIZE = exports.MAX_UPLOAD_FILE_SIZE = exports.MAX_RESOLUTION = exports.FILE_CACHE_MAX_AGE = exports.CHUNK_SIZE = void 0;
|
|
7
|
+
|
|
8
|
+
var _media = require("./models/media");
|
|
9
|
+
|
|
7
10
|
var RECENTS_COLLECTION = 'recents';
|
|
8
11
|
exports.RECENTS_COLLECTION = RECENTS_COLLECTION;
|
|
9
12
|
var FILE_CACHE_MAX_AGE = 60 * 60 * 24 * 30; // Retain for 30 days
|
|
10
13
|
|
|
11
14
|
exports.FILE_CACHE_MAX_AGE = FILE_CACHE_MAX_AGE;
|
|
12
15
|
var MAX_RESOLUTION = 4096;
|
|
13
|
-
exports.MAX_RESOLUTION = MAX_RESOLUTION;
|
|
16
|
+
exports.MAX_RESOLUTION = MAX_RESOLUTION;
|
|
17
|
+
var CHUNK_SIZE = 4 * _media.DATA_UNIT.MB;
|
|
18
|
+
exports.CHUNK_SIZE = CHUNK_SIZE;
|
|
19
|
+
var PROCESSING_BATCH_SIZE = 1000;
|
|
20
|
+
exports.PROCESSING_BATCH_SIZE = PROCESSING_BATCH_SIZE;
|
|
21
|
+
var MAX_UPLOAD_FILE_SIZE = 2 * _media.DATA_UNIT.TB;
|
|
22
|
+
exports.MAX_UPLOAD_FILE_SIZE = MAX_UPLOAD_FILE_SIZE;
|
package/dist/cjs/index.js
CHANGED
|
@@ -108,7 +108,7 @@ Object.defineProperty(exports, "createMediaSubject", {
|
|
|
108
108
|
Object.defineProperty(exports, "createMediaSubscribable", {
|
|
109
109
|
enumerable: true,
|
|
110
110
|
get: function get() {
|
|
111
|
-
return
|
|
111
|
+
return _mediaSubscribable.createMediaSubscribable;
|
|
112
112
|
}
|
|
113
113
|
});
|
|
114
114
|
Object.defineProperty(exports, "createUrl", {
|
|
@@ -417,7 +417,7 @@ var _globalMediaEventEmitter = require("./globalMediaEventEmitter");
|
|
|
417
417
|
|
|
418
418
|
var _url = require("./utils/url");
|
|
419
419
|
|
|
420
|
-
var
|
|
420
|
+
var _mediaSubscribable = require("./utils/mediaSubscribable");
|
|
421
421
|
|
|
422
422
|
var _constants = require("./constants");
|
|
423
423
|
|
package/dist/cjs/models/media.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.isPreviewableType = exports.isMediaCollectionItemFullDetails = void 0;
|
|
6
|
+
exports.isPreviewableType = exports.isMediaCollectionItemFullDetails = exports.DATA_UNIT = void 0;
|
|
7
7
|
|
|
8
8
|
var _mediaCommon = require("@atlaskit/media-common");
|
|
9
9
|
|
|
@@ -24,4 +24,12 @@ var isMediaCollectionItemFullDetails = function isMediaCollectionItemFullDetails
|
|
|
24
24
|
return !!mediaCollectionItem['mediaType'] && !!mediaCollectionItem['mimeType'] && !!mediaCollectionItem['processingStatus'];
|
|
25
25
|
};
|
|
26
26
|
|
|
27
|
-
exports.isMediaCollectionItemFullDetails = isMediaCollectionItemFullDetails;
|
|
27
|
+
exports.isMediaCollectionItemFullDetails = isMediaCollectionItemFullDetails;
|
|
28
|
+
var DATA_UNIT;
|
|
29
|
+
exports.DATA_UNIT = DATA_UNIT;
|
|
30
|
+
|
|
31
|
+
(function (DATA_UNIT) {
|
|
32
|
+
DATA_UNIT[DATA_UNIT["MB"] = 1048576] = "MB";
|
|
33
|
+
DATA_UNIT[DATA_UNIT["GB"] = 1073741824] = "GB";
|
|
34
|
+
DATA_UNIT[DATA_UNIT["TB"] = 1099511627776] = "TB";
|
|
35
|
+
})(DATA_UNIT || (exports.DATA_UNIT = DATA_UNIT = {}));
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.fileSizeError = exports.calculateChunkSize = void 0;
|
|
7
|
+
|
|
8
|
+
var _media = require("../models/media");
|
|
9
|
+
|
|
10
|
+
var _constants = require("../constants");
|
|
11
|
+
|
|
12
|
+
var fileSizeError = 'fileSizeExceedsLimit';
|
|
13
|
+
/**
|
|
14
|
+
* This is a helper to dynamically calculate the chunk size for a given file size.
|
|
15
|
+
*
|
|
16
|
+
* @param fileSize The size of a file to calculate the chunk size for.
|
|
17
|
+
* @returns A number of bytes per chunk or Throws an Error if the file size exceeds 2TB
|
|
18
|
+
*
|
|
19
|
+
* @see {@link https://product-fabric.atlassian.net/wiki/spaces/FIL/pages/3221881143/Rule+of+thumb+for+chunk+sizes#Given-the-following-conditions}
|
|
20
|
+
*
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
exports.fileSizeError = fileSizeError;
|
|
24
|
+
|
|
25
|
+
var calculateChunkSize = function calculateChunkSize(fileSize) {
|
|
26
|
+
if (fileSize > _constants.MAX_UPLOAD_FILE_SIZE) {
|
|
27
|
+
throw new Error(fileSizeError);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
if (fileSize <= 5 * _media.DATA_UNIT.GB) {
|
|
31
|
+
return 5 * _media.DATA_UNIT.MB;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
if (fileSize > 5 * _media.DATA_UNIT.GB && fileSize <= 50 * _media.DATA_UNIT.GB) {
|
|
35
|
+
return 50 * _media.DATA_UNIT.MB;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (fileSize > 50 * _media.DATA_UNIT.GB && fileSize <= 0.95 * _media.DATA_UNIT.TB) {
|
|
39
|
+
return 100 * _media.DATA_UNIT.MB;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return 210 * _media.DATA_UNIT.MB;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
exports.calculateChunkSize = calculateChunkSize;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.UploaderError = void 0;
|
|
9
|
+
exports.isUploaderError = isUploaderError;
|
|
10
|
+
|
|
11
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
12
|
+
|
|
13
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
14
|
+
|
|
15
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
16
|
+
|
|
17
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
18
|
+
|
|
19
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
20
|
+
|
|
21
|
+
var _errors = require("../models/errors");
|
|
22
|
+
|
|
23
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
24
|
+
|
|
25
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
26
|
+
|
|
27
|
+
var UploaderError = /*#__PURE__*/function (_BaseMediaClientError) {
|
|
28
|
+
(0, _inherits2.default)(UploaderError, _BaseMediaClientError);
|
|
29
|
+
|
|
30
|
+
var _super = _createSuper(UploaderError);
|
|
31
|
+
|
|
32
|
+
function UploaderError(reason, id, metadata) {
|
|
33
|
+
var _this;
|
|
34
|
+
|
|
35
|
+
(0, _classCallCheck2.default)(this, UploaderError);
|
|
36
|
+
_this = _super.call(this, reason);
|
|
37
|
+
_this.reason = reason;
|
|
38
|
+
_this.id = id;
|
|
39
|
+
_this.metadata = metadata;
|
|
40
|
+
return _this;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
(0, _createClass2.default)(UploaderError, [{
|
|
44
|
+
key: "attributes",
|
|
45
|
+
get: function get() {
|
|
46
|
+
var reason = this.reason,
|
|
47
|
+
id = this.id,
|
|
48
|
+
_this$metadata = this.metadata;
|
|
49
|
+
_this$metadata = _this$metadata === void 0 ? {} : _this$metadata;
|
|
50
|
+
var collectionName = _this$metadata.collectionName,
|
|
51
|
+
occurrenceKey = _this$metadata.occurrenceKey;
|
|
52
|
+
return {
|
|
53
|
+
reason: reason,
|
|
54
|
+
id: id,
|
|
55
|
+
collectionName: collectionName,
|
|
56
|
+
occurrenceKey: occurrenceKey
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}]);
|
|
60
|
+
return UploaderError;
|
|
61
|
+
}(_errors.BaseMediaClientError);
|
|
62
|
+
|
|
63
|
+
exports.UploaderError = UploaderError;
|
|
64
|
+
|
|
65
|
+
function isUploaderError(err) {
|
|
66
|
+
return err instanceof UploaderError;
|
|
67
|
+
}
|