@atlaskit/media-client 17.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.
Files changed (56) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/client/collection-fetcher.js +4 -4
  3. package/dist/cjs/client/file-fetcher/index.js +5 -7
  4. package/dist/cjs/index.js +2 -2
  5. package/dist/cjs/uploader/index.js +112 -37
  6. package/dist/cjs/utils/{toMediaSubscribable.js → mediaSubscribable/fromObservable.js} +4 -4
  7. package/dist/cjs/utils/mediaSubscribable/index.js +27 -0
  8. package/dist/cjs/utils/{mediaSubscribableToPromise.js → mediaSubscribable/toPromise.js} +3 -3
  9. package/dist/cjs/utils/mediaSubscribable/types.js +5 -0
  10. package/dist/cjs/version.json +1 -1
  11. package/dist/es2019/client/collection-fetcher.js +2 -2
  12. package/dist/es2019/client/file-fetcher/index.js +5 -6
  13. package/dist/es2019/index.js +1 -1
  14. package/dist/es2019/uploader/index.js +13 -7
  15. package/dist/es2019/utils/{toMediaSubscribable.js → mediaSubscribable/fromObservable.js} +3 -3
  16. package/dist/es2019/utils/mediaSubscribable/index.js +2 -0
  17. package/dist/es2019/utils/{mediaSubscribableToPromise.js → mediaSubscribable/toPromise.js} +1 -1
  18. package/dist/es2019/utils/mediaSubscribable/types.js +1 -0
  19. package/dist/es2019/version.json +1 -1
  20. package/dist/esm/client/collection-fetcher.js +3 -3
  21. package/dist/esm/client/file-fetcher/index.js +6 -7
  22. package/dist/esm/client/media-client.js +1 -1
  23. package/dist/esm/client/media-store/index.js +1 -1
  24. package/dist/esm/client/media-store/resolveAuth.js +1 -1
  25. package/dist/esm/client/stargate-client.js +1 -1
  26. package/dist/esm/index.js +1 -1
  27. package/dist/esm/uploader/index.js +113 -38
  28. package/dist/esm/utils/createFileDataLoader.js +1 -1
  29. package/dist/esm/utils/getDimensionsFromBlob.js +1 -1
  30. package/dist/esm/utils/getVideoDimensionsFromBlob.js +1 -1
  31. package/dist/esm/utils/hashing/hasherCreator.js +1 -1
  32. package/dist/esm/utils/{toMediaSubscribable.js → mediaSubscribable/fromObservable.js} +3 -3
  33. package/dist/esm/utils/mediaSubscribable/index.js +2 -0
  34. package/dist/esm/utils/{mediaSubscribableToPromise.js → mediaSubscribable/toPromise.js} +1 -1
  35. package/dist/esm/utils/mediaSubscribable/types.js +1 -0
  36. package/dist/esm/utils/mobileUpload/helpers.js +1 -1
  37. package/dist/esm/utils/mobileUpload/stateMachine/index.js +1 -1
  38. package/dist/esm/utils/polling/index.js +1 -1
  39. package/dist/esm/utils/request/helpers.js +1 -1
  40. package/dist/esm/utils/request/index.js +1 -1
  41. package/dist/esm/utils/shouldFetchRemoteFileStates.js +1 -1
  42. package/dist/esm/version.json +1 -1
  43. package/dist/types/client/collection-fetcher.d.ts +1 -1
  44. package/dist/types/client/file-fetcher/index.d.ts +1 -1
  45. package/dist/types/index.d.ts +2 -2
  46. package/dist/types/utils/mediaSubscribable/fromObservable.d.ts +5 -0
  47. package/dist/types/utils/mediaSubscribable/index.d.ts +3 -0
  48. package/dist/types/utils/{mediaSubscribableToPromise.d.ts → mediaSubscribable/toPromise.d.ts} +3 -3
  49. package/dist/types/utils/mediaSubscribable/types.d.ts +16 -0
  50. package/dist/types/utils/safeUnsubscribe.d.ts +1 -1
  51. package/example-helpers/styles.ts +99 -0
  52. package/example-helpers/stylesWrapper.tsx +82 -0
  53. package/package.json +6 -5
  54. package/report.api.md +1389 -0
  55. package/dist/types/utils/toMediaSubscribable.d.ts +0 -20
  56. package/example-helpers/styled.ts +0 -77
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
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
+
3
16
  ## 17.0.0
4
17
 
5
18
  ### 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 _toMediaSubscribable = require("../utils/toMediaSubscribable");
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, _toMediaSubscribable.toMediaSubscribable)(subject);
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 _mediaSubscribableToPromise = require("../../utils/mediaSubscribableToPromise");
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, _toMediaSubscribable.toMediaSubscribable)(subject);
183
+ return (0, _mediaSubscribable.fromObservable)(subject);
186
184
  }
187
185
 
188
- return (0, _toMediaSubscribable.toMediaSubscribable)((0, _fileStreamsCache.getFileStreamsCache)().getOrInsert(id, function () {
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, _mediaSubscribableToPromise.mediaSubscribableToPromise)(this.getFileState(id, options));
193
+ return (0, _mediaSubscribable.toPromise)(this.getFileState(id, options));
196
194
  }
197
195
  }, {
198
196
  key: "getArtifactURL",
@@ -480,7 +478,7 @@ var FileFetcherImpl = /*#__PURE__*/function () {
480
478
  });
481
479
  }
482
480
 
483
- return (0, _toMediaSubscribable.toMediaSubscribable)(subject);
481
+ return (0, _mediaSubscribable.fromObservable)(subject);
484
482
  }
485
483
  }, {
486
484
  key: "downloadBinary",
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 _toMediaSubscribable.createMediaSubscribable;
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 _toMediaSubscribable = require("./utils/toMediaSubscribable");
420
+ var _mediaSubscribable = require("./utils/mediaSubscribable");
421
421
 
422
422
  var _constants = require("./constants");
423
423
 
@@ -9,6 +9,8 @@ exports.uploadFile = void 0;
9
9
 
10
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
11
 
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
12
14
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
15
 
14
16
  var _chunkinator = require("@atlaskit/chunkinator");
@@ -27,6 +29,10 @@ var _calculateChunkSize = require("./calculateChunkSize");
27
29
 
28
30
  var _mediaCommon = require("@atlaskit/media-common");
29
31
 
32
+ 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; }
33
+
34
+ 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; }
35
+
30
36
  var hashingFunction = /*#__PURE__*/function () {
31
37
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(blob) {
32
38
  var hasher;
@@ -54,7 +60,7 @@ var hashingFunction = /*#__PURE__*/function () {
54
60
  };
55
61
  }();
56
62
 
57
- var createProbingFunction = function createProbingFunction(store, collectionName) {
63
+ var createProbingFunction = function createProbingFunction(store, deferredUploadId, collectionName) {
58
64
  return /*#__PURE__*/function () {
59
65
  var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(chunks) {
60
66
  var response, results;
@@ -62,19 +68,43 @@ var createProbingFunction = function createProbingFunction(store, collectionName
62
68
  while (1) {
63
69
  switch (_context2.prev = _context2.next) {
64
70
  case 0:
65
- _context2.next = 2;
66
- return store.probeChunks(hashedChunks(chunks), {
67
- collectionName: collectionName
68
- });
71
+ _context2.t0 = store;
72
+ _context2.t1 = hashedChunks(chunks);
73
+ _context2.t2 = collectionName;
74
+
75
+ if (!(0, _mediaCommon.getMediaFeatureFlag)('mediaUploadApiV2', store.featureFlags)) {
76
+ _context2.next = 9;
77
+ break;
78
+ }
79
+
80
+ _context2.next = 6;
81
+ return deferredUploadId;
82
+
83
+ case 6:
84
+ _context2.t3 = _context2.sent;
85
+ _context2.next = 10;
86
+ break;
87
+
88
+ case 9:
89
+ _context2.t3 = undefined;
90
+
91
+ case 10:
92
+ _context2.t4 = _context2.t3;
93
+ _context2.t5 = {
94
+ collectionName: _context2.t2,
95
+ uploadId: _context2.t4
96
+ };
97
+ _context2.next = 14;
98
+ return _context2.t0.probeChunks.call(_context2.t0, _context2.t1, _context2.t5);
69
99
 
70
- case 2:
100
+ case 14:
71
101
  response = _context2.sent;
72
102
  results = response.data.results;
73
103
  return _context2.abrupt("return", Object.values(results).map(function (result) {
74
104
  return result.exists;
75
105
  }));
76
106
 
77
- case 5:
107
+ case 17:
78
108
  case "end":
79
109
  return _context2.stop();
80
110
  }
@@ -88,63 +118,108 @@ var createProbingFunction = function createProbingFunction(store, collectionName
88
118
  }();
89
119
  };
90
120
 
91
- var createUploadingFunction = function createUploadingFunction(store, collectionName) {
92
- return function (chunk) {
93
- return store.uploadChunk(chunk.hash, chunk.blob, {
94
- collectionName: collectionName
95
- });
96
- };
121
+ var createUploadingFunction = function createUploadingFunction(store, deferredUploadId, collectionName) {
122
+ return /*#__PURE__*/function () {
123
+ var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(chunk) {
124
+ var options;
125
+ return _regenerator.default.wrap(function _callee3$(_context3) {
126
+ while (1) {
127
+ switch (_context3.prev = _context3.next) {
128
+ case 0:
129
+ if (!(0, _mediaCommon.getMediaFeatureFlag)('mediaUploadApiV2', store.featureFlags)) {
130
+ _context3.next = 8;
131
+ break;
132
+ }
133
+
134
+ _context3.t1 = chunk.partNumber;
135
+ _context3.next = 4;
136
+ return deferredUploadId;
137
+
138
+ case 4:
139
+ _context3.t2 = _context3.sent;
140
+ _context3.t0 = {
141
+ partNumber: _context3.t1,
142
+ uploadId: _context3.t2
143
+ };
144
+ _context3.next = 9;
145
+ break;
146
+
147
+ case 8:
148
+ _context3.t0 = {};
149
+
150
+ case 9:
151
+ options = _context3.t0;
152
+ _context3.next = 12;
153
+ return store.uploadChunk(chunk.hash, chunk.blob, _objectSpread({
154
+ collectionName: collectionName
155
+ }, options));
156
+
157
+ case 12:
158
+ return _context3.abrupt("return", _context3.sent);
159
+
160
+ case 13:
161
+ case "end":
162
+ return _context3.stop();
163
+ }
164
+ }
165
+ }, _callee3);
166
+ }));
167
+
168
+ return function (_x3) {
169
+ return _ref3.apply(this, arguments);
170
+ };
171
+ }();
97
172
  };
98
173
 
99
174
  var createProcessingFunction = function createProcessingFunction(store, deferredUploadId, collection) {
100
175
  var offset = 0;
101
176
  return /*#__PURE__*/function () {
102
- var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(chunks) {
103
- return _regenerator.default.wrap(function _callee3$(_context3) {
177
+ var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(chunks) {
178
+ return _regenerator.default.wrap(function _callee4$(_context4) {
104
179
  while (1) {
105
- switch (_context3.prev = _context3.next) {
180
+ switch (_context4.prev = _context4.next) {
106
181
  case 0:
107
- _context3.t0 = store;
108
- _context3.next = 3;
182
+ _context4.t0 = store;
183
+ _context4.next = 3;
109
184
  return deferredUploadId;
110
185
 
111
186
  case 3:
112
- _context3.t1 = _context3.sent;
113
- _context3.t2 = {
187
+ _context4.t1 = _context4.sent;
188
+ _context4.t2 = {
114
189
  chunks: hashedChunks(chunks),
115
190
  offset: offset
116
191
  };
117
- _context3.t3 = collection;
118
- _context3.next = 8;
119
- return _context3.t0.appendChunksToUpload.call(_context3.t0, _context3.t1, _context3.t2, _context3.t3);
192
+ _context4.t3 = collection;
193
+ _context4.next = 8;
194
+ return _context4.t0.appendChunksToUpload.call(_context4.t0, _context4.t1, _context4.t2, _context4.t3);
120
195
 
121
196
  case 8:
122
197
  offset += chunks.length;
123
198
 
124
199
  case 9:
125
200
  case "end":
126
- return _context3.stop();
201
+ return _context4.stop();
127
202
  }
128
203
  }
129
- }, _callee3);
204
+ }, _callee4);
130
205
  }));
131
206
 
132
- return function (_x3) {
133
- return _ref3.apply(this, arguments);
207
+ return function (_x4) {
208
+ return _ref4.apply(this, arguments);
134
209
  };
135
210
  }();
136
211
  };
137
212
 
138
213
  var createFileFromUpload = /*#__PURE__*/function () {
139
- var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(file, store, uploadableFileUpfrontIds, uploadId) {
214
+ var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(file, store, uploadableFileUpfrontIds, uploadId) {
140
215
  var collection, name, mimeType, id, occurrenceKey;
141
- return _regenerator.default.wrap(function _callee4$(_context4) {
216
+ return _regenerator.default.wrap(function _callee5$(_context5) {
142
217
  while (1) {
143
- switch (_context4.prev = _context4.next) {
218
+ switch (_context5.prev = _context5.next) {
144
219
  case 0:
145
220
  collection = file.collection, name = file.name, mimeType = file.mimeType;
146
221
  id = uploadableFileUpfrontIds.id, occurrenceKey = uploadableFileUpfrontIds.occurrenceKey;
147
- return _context4.abrupt("return", store.createFileFromUpload({
222
+ return _context5.abrupt("return", store.createFileFromUpload({
148
223
  uploadId: uploadId,
149
224
  name: name,
150
225
  mimeType: mimeType
@@ -156,14 +231,14 @@ var createFileFromUpload = /*#__PURE__*/function () {
156
231
 
157
232
  case 3:
158
233
  case "end":
159
- return _context4.stop();
234
+ return _context5.stop();
160
235
  }
161
236
  }
162
- }, _callee4);
237
+ }, _callee5);
163
238
  }));
164
239
 
165
- return function createFileFromUpload(_x4, _x5, _x6, _x7) {
166
- return _ref4.apply(this, arguments);
240
+ return function createFileFromUpload(_x5, _x6, _x7, _x8) {
241
+ return _ref5.apply(this, arguments);
167
242
  };
168
243
  }();
169
244
 
@@ -200,8 +275,8 @@ var uploadFile = function uploadFile(file, store, uploadableFileUpfrontIds, call
200
275
  probingBatchSize: 100,
201
276
  chunkSize: chunkSize,
202
277
  uploadingConcurrency: 3,
203
- uploadingFunction: createUploadingFunction(store, collection),
204
- probingFunction: createProbingFunction(store, collection),
278
+ uploadingFunction: createUploadingFunction(store, deferredUploadId, collection),
279
+ probingFunction: createProbingFunction(store, deferredUploadId, collection),
205
280
  processingBatchSize: _constants.PROCESSING_BATCH_SIZE,
206
281
  processingFunction: createProcessingFunction(store, deferredUploadId, collection)
207
282
  }, {
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createMediaSubscribable = createMediaSubscribable;
7
- exports.toMediaSubscribable = toMediaSubscribable;
7
+ exports.fromObservable = fromObservable;
8
8
 
9
- var _createMediaSubject = require("./createMediaSubject");
9
+ var _createMediaSubject = require("../createMediaSubject");
10
10
 
11
- function toMediaSubscribable(observable) {
11
+ function fromObservable(observable) {
12
12
  return {
13
13
  subscribe: function subscribe(observer) {
14
14
  var subscription = // This is needed to handle "subscribe" function overload.
@@ -24,5 +24,5 @@ function toMediaSubscribable(observable) {
24
24
  }
25
25
 
26
26
  function createMediaSubscribable(mediaSubscribableItem) {
27
- return toMediaSubscribable((0, _createMediaSubject.createMediaSubject)(mediaSubscribableItem));
27
+ return fromObservable((0, _createMediaSubject.createMediaSubject)(mediaSubscribableItem));
28
28
  }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "createMediaSubscribable", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _fromObservable.createMediaSubscribable;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "fromObservable", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _fromObservable.fromObservable;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "toPromise", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _toPromise.toPromise;
22
+ }
23
+ });
24
+
25
+ var _toPromise = require("./toPromise");
26
+
27
+ var _fromObservable = require("./fromObservable");
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.mediaSubscribableToPromise = void 0;
6
+ exports.toPromise = void 0;
7
7
 
8
8
  var _Subscription = require("rxjs/Subscription");
9
9
 
@@ -13,7 +13,7 @@ var _Subscription = require("rxjs/Subscription");
13
13
  * @param mediaSubscribable a given MediaSubscribable<MediaSubscribableItem>
14
14
  * @param subscription a default Subscription (this parameter exists for testing purpose)
15
15
  */
16
- var mediaSubscribableToPromise = function mediaSubscribableToPromise(mediaSubscribable) {
16
+ var toPromise = function toPromise(mediaSubscribable) {
17
17
  var subscription = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new _Subscription.Subscription();
18
18
  return new Promise(function (resolve, reject) {
19
19
  return subscription.add(mediaSubscribable.subscribe({
@@ -29,4 +29,4 @@ var mediaSubscribableToPromise = function mediaSubscribableToPromise(mediaSubscr
29
29
  });
30
30
  };
31
31
 
32
- exports.mediaSubscribableToPromise = mediaSubscribableToPromise;
32
+ exports.toPromise = toPromise;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/media-client",
3
- "version": "17.0.0",
3
+ "version": "17.1.0",
4
4
  "sideEffects": false
5
5
  }
@@ -1,7 +1,7 @@
1
1
  import { ReplaySubject } from 'rxjs/ReplaySubject';
2
2
  import { getFileStreamsCache } from '../file-streams-cache';
3
3
  import { mapMediaFileToFileState } from '../models/file-state';
4
- import { toMediaSubscribable } from '../utils/toMediaSubscribable';
4
+ import { fromObservable } from '../utils/mediaSubscribable';
5
5
  export const collectionCache = {};
6
6
 
7
7
  const createCacheEntry = () => ({
@@ -67,7 +67,7 @@ export class CollectionFetcher {
67
67
  collection.nextInclusiveStartKey = nextInclusiveStartKey;
68
68
  subject.next(collection.items);
69
69
  }).catch(error => subject.error(error));
70
- return toMediaSubscribable(subject);
70
+ return fromObservable(subject);
71
71
  }
72
72
 
73
73
  async removeFile(id, collectionName, occurrenceKey) {
@@ -21,14 +21,13 @@ import { createFileDataloader } from '../../utils/createFileDataLoader';
21
21
  import { getMediaTypeFromUploadableFile } from '../../utils/getMediaTypeFromUploadableFile';
22
22
  import { overrideMediaTypeIfUnknown } from '../../utils/overrideMediaTypeIfUnknown';
23
23
  import { convertBase64ToBlob } from '../../utils/convertBase64ToBlob';
24
- import { mediaSubscribableToPromise } from '../../utils/mediaSubscribableToPromise';
24
+ import { toPromise, fromObservable } from '../../utils/mediaSubscribable';
25
25
  import { getDimensionsFromBlob } from '../../utils/getDimensionsFromBlob';
26
26
  import { createMediaSubject } from '../../utils/createMediaSubject';
27
27
  import { isMimeTypeSupportedByBrowser, getMediaTypeFromMimeType } from '@atlaskit/media-common/mediaTypeUtils';
28
28
  import { shouldFetchRemoteFileStates, shouldFetchRemoteFileStatesObservable } from '../../utils/shouldFetchRemoteFileStates';
29
29
  import { PollingFunction } from '../../utils/polling';
30
30
  import { isEmptyFile } from '../../utils/detectEmptyFile';
31
- import { toMediaSubscribable } from '../../utils/toMediaSubscribable';
32
31
  export { isFileFetcherError, FileFetcherError } from './error';
33
32
  export class FileFetcherImpl {
34
33
  constructor(mediaStore) {
@@ -91,14 +90,14 @@ export class FileFetcherImpl {
91
90
  collectionName,
92
91
  occurrenceKey
93
92
  }));
94
- return toMediaSubscribable(subject);
93
+ return fromObservable(subject);
95
94
  }
96
95
 
97
- return toMediaSubscribable(getFileStreamsCache().getOrInsert(id, () => this.createDownloadFileStream(id, collectionName)));
96
+ return fromObservable(getFileStreamsCache().getOrInsert(id, () => this.createDownloadFileStream(id, collectionName)));
98
97
  }
99
98
 
100
99
  getCurrentState(id, options) {
101
- return mediaSubscribableToPromise(this.getFileState(id, options));
100
+ return toPromise(this.getFileState(id, options));
102
101
  }
103
102
 
104
103
  getArtifactURL(artifacts, artifactName, collectionName) {
@@ -307,7 +306,7 @@ export class FileFetcherImpl {
307
306
  });
308
307
  }
309
308
 
310
- return toMediaSubscribable(subject);
309
+ return fromObservable(subject);
311
310
  }
312
311
 
313
312
  async downloadBinary(id, name = 'download', collectionName) {
@@ -25,7 +25,7 @@ export { isFileIdentifier, isExternalImageIdentifier, isDifferentIdentifier } fr
25
25
  export { withMediaClient, getMediaClient } from './utils/with-media-client-hoc';
26
26
  export { globalMediaEventEmitter } from './globalMediaEventEmitter';
27
27
  export { isMediaBlobUrl, getAttrsFromUrl, addFileAttrsToUrl, objectToQueryString } from './utils/url';
28
- export { createMediaSubscribable } from './utils/toMediaSubscribable';
28
+ export { createMediaSubscribable } from './utils/mediaSubscribable';
29
29
  export { RECENTS_COLLECTION, MAX_RESOLUTION } from './constants'; // TODO MEX-659 Remove these exports when all the usages from media-client are replaced with media-common.
30
30
 
31
31
  import { getMediaTypeFromMimeType as _getMediaTypeFromMimeType, isImageMimeTypeSupportedByBrowser as _isImageMimeTypeSupportedByBrowser, isDocumentMimeTypeSupportedByBrowser as _isDocumentMimeTypeSupportedByBrowser, isMimeTypeSupportedByBrowser as _isMimeTypeSupportedByBrowser, isImageMimeTypeSupportedByServer as _isImageMimeTypeSupportedByServer, isDocumentMimeTypeSupportedByServer as _isDocumentMimeTypeSupportedByServer, isAudioMimeTypeSupportedByServer as _isAudioMimeTypeSupportedByServer, isVideoMimeTypeSupportedByServer as _isVideoMimeTypeSupportedByServer, isUnknownMimeTypeSupportedByServer as _isUnknownMimeTypeSupportedByServer, isMimeTypeSupportedByServer as _isMimeTypeSupportedByServer } from '@atlaskit/media-common/mediaTypeUtils';
@@ -12,17 +12,23 @@ const hashingFunction = async blob => {
12
12
  return hasher.hash(blob);
13
13
  };
14
14
 
15
- const createProbingFunction = (store, collectionName) => async chunks => {
15
+ const createProbingFunction = (store, deferredUploadId, collectionName) => async chunks => {
16
16
  const response = await store.probeChunks(hashedChunks(chunks), {
17
- collectionName
17
+ collectionName,
18
+ uploadId: getMediaFeatureFlag('mediaUploadApiV2', store.featureFlags) ? await deferredUploadId : undefined
18
19
  });
19
20
  const results = response.data.results;
20
21
  return Object.values(results).map(result => result.exists);
21
22
  };
22
23
 
23
- const createUploadingFunction = (store, collectionName) => {
24
- return chunk => store.uploadChunk(chunk.hash, chunk.blob, {
25
- collectionName
24
+ const createUploadingFunction = (store, deferredUploadId, collectionName) => async chunk => {
25
+ const options = getMediaFeatureFlag('mediaUploadApiV2', store.featureFlags) ? {
26
+ partNumber: chunk.partNumber,
27
+ uploadId: await deferredUploadId
28
+ } : {};
29
+ return await store.uploadChunk(chunk.hash, chunk.blob, {
30
+ collectionName,
31
+ ...options
26
32
  });
27
33
  };
28
34
 
@@ -95,8 +101,8 @@ export const uploadFile = (file, store, uploadableFileUpfrontIds, callbacks) =>
95
101
  probingBatchSize: 100,
96
102
  chunkSize,
97
103
  uploadingConcurrency: 3,
98
- uploadingFunction: createUploadingFunction(store, collection),
99
- probingFunction: createProbingFunction(store, collection),
104
+ uploadingFunction: createUploadingFunction(store, deferredUploadId, collection),
105
+ probingFunction: createProbingFunction(store, deferredUploadId, collection),
100
106
  processingBatchSize: PROCESSING_BATCH_SIZE,
101
107
  processingFunction: createProcessingFunction(store, deferredUploadId, collection)
102
108
  }, {
@@ -1,5 +1,5 @@
1
- import { createMediaSubject } from './createMediaSubject';
2
- export function toMediaSubscribable(observable) {
1
+ import { createMediaSubject } from '../createMediaSubject';
2
+ export function fromObservable(observable) {
3
3
  return {
4
4
  subscribe: observer => {
5
5
  const subscription = // This is needed to handle "subscribe" function overload.
@@ -14,5 +14,5 @@ export function toMediaSubscribable(observable) {
14
14
  };
15
15
  }
16
16
  export function createMediaSubscribable(mediaSubscribableItem) {
17
- return toMediaSubscribable(createMediaSubject(mediaSubscribableItem));
17
+ return fromObservable(createMediaSubject(mediaSubscribableItem));
18
18
  }
@@ -0,0 +1,2 @@
1
+ export { toPromise } from './toPromise';
2
+ export { createMediaSubscribable, fromObservable } from './fromObservable';
@@ -6,7 +6,7 @@ import { Subscription } from 'rxjs/Subscription';
6
6
  * @param mediaSubscribable a given MediaSubscribable<MediaSubscribableItem>
7
7
  * @param subscription a default Subscription (this parameter exists for testing purpose)
8
8
  */
9
- export const mediaSubscribableToPromise = (mediaSubscribable, subscription = new Subscription()) => {
9
+ export const toPromise = (mediaSubscribable, subscription = new Subscription()) => {
10
10
  return new Promise((resolve, reject) => subscription.add(mediaSubscribable.subscribe({
11
11
  next: state => {
12
12
  resolve(state);
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/media-client",
3
- "version": "17.0.0",
3
+ "version": "17.1.0",
4
4
  "sideEffects": false
5
5
  }
@@ -1,9 +1,9 @@
1
1
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
- import _regeneratorRuntime from "@babel/runtime/regenerator";
3
2
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
4
3
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
5
4
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
6
5
  import _createClass from "@babel/runtime/helpers/createClass";
6
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
7
7
 
8
8
  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; }
9
9
 
@@ -12,7 +12,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
12
12
  import { ReplaySubject } from 'rxjs/ReplaySubject';
13
13
  import { getFileStreamsCache } from '../file-streams-cache';
14
14
  import { mapMediaFileToFileState } from '../models/file-state';
15
- import { toMediaSubscribable } from '../utils/toMediaSubscribable';
15
+ import { fromObservable } from '../utils/mediaSubscribable';
16
16
  export var collectionCache = {};
17
17
 
18
18
  var createCacheEntry = function createCacheEntry() {
@@ -98,7 +98,7 @@ export var CollectionFetcher = /*#__PURE__*/function () {
98
98
  }).catch(function (error) {
99
99
  return subject.error(error);
100
100
  });
101
- return toMediaSubscribable(subject);
101
+ return fromObservable(subject);
102
102
  }
103
103
  }, {
104
104
  key: "removeFile",