@atlaskit/media-client 25.0.3 → 25.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.
@@ -0,0 +1,442 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { getMediaFile, normaliseInput } from './helpers';
4
+ var getMediaApi = function getMediaApi(_ref) {
5
+ var getFileItem = _ref.getFileItem;
6
+ return {
7
+ // --------------------------------------------------------
8
+ // UPLOAD ENDPOINTS - None is supported
9
+ // --------------------------------------------------------
10
+
11
+ touchFiles: function () {
12
+ var _touchFiles = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref2) {
13
+ var descriptors;
14
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
15
+ while (1) switch (_context.prev = _context.next) {
16
+ case 0:
17
+ descriptors = _ref2.descriptors;
18
+ throw new Error('500 - MockedMediaApi.touchFiles: method not implemented');
19
+ case 2:
20
+ case "end":
21
+ return _context.stop();
22
+ }
23
+ }, _callee);
24
+ }));
25
+ function touchFiles(_x) {
26
+ return _touchFiles.apply(this, arguments);
27
+ }
28
+ return touchFiles;
29
+ }(),
30
+ probeChunks: function () {
31
+ var _probeChunks = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
32
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
33
+ while (1) switch (_context2.prev = _context2.next) {
34
+ case 0:
35
+ throw new Error('500 - MockedMediaApi.probeChunks: method not implemented');
36
+ case 1:
37
+ case "end":
38
+ return _context2.stop();
39
+ }
40
+ }, _callee2);
41
+ }));
42
+ function probeChunks() {
43
+ return _probeChunks.apply(this, arguments);
44
+ }
45
+ return probeChunks;
46
+ }(),
47
+ uploadChunk: function () {
48
+ var _uploadChunk = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_etag, _blob, uploadId) {
49
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
50
+ while (1) switch (_context3.prev = _context3.next) {
51
+ case 0:
52
+ throw new Error('500 - MockedMediaApi.uploadChunk: method not implemented');
53
+ case 1:
54
+ case "end":
55
+ return _context3.stop();
56
+ }
57
+ }, _callee3);
58
+ }));
59
+ function uploadChunk(_x2, _x3, _x4) {
60
+ return _uploadChunk.apply(this, arguments);
61
+ }
62
+ return uploadChunk;
63
+ }(),
64
+ appendChunksToUpload: function () {
65
+ var _appendChunksToUpload = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
66
+ return _regeneratorRuntime.wrap(function _callee4$(_context4) {
67
+ while (1) switch (_context4.prev = _context4.next) {
68
+ case 0:
69
+ throw new Error('500 - MockedMediaApi.appendChunksToUpload: method not implemented');
70
+ case 1:
71
+ case "end":
72
+ return _context4.stop();
73
+ }
74
+ }, _callee4);
75
+ }));
76
+ function appendChunksToUpload() {
77
+ return _appendChunksToUpload.apply(this, arguments);
78
+ }
79
+ return appendChunksToUpload;
80
+ }(),
81
+ createFileFromUpload: function () {
82
+ var _createFileFromUpload = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(_ref3, _ref4) {
83
+ var uploadId, collection;
84
+ return _regeneratorRuntime.wrap(function _callee5$(_context5) {
85
+ while (1) switch (_context5.prev = _context5.next) {
86
+ case 0:
87
+ uploadId = _ref3.uploadId;
88
+ collection = _ref4.collection;
89
+ throw new Error('500 - MockedMediaApi.createFileFromUpload: method not implemented');
90
+ case 3:
91
+ case "end":
92
+ return _context5.stop();
93
+ }
94
+ }, _callee5);
95
+ }));
96
+ function createFileFromUpload(_x5, _x6) {
97
+ return _createFileFromUpload.apply(this, arguments);
98
+ }
99
+ return createFileFromUpload;
100
+ }(),
101
+ // Used by Media Picker as a fallback for conflicted file Ids
102
+ createUpload: function () {
103
+ var _createUpload = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6() {
104
+ return _regeneratorRuntime.wrap(function _callee6$(_context6) {
105
+ while (1) switch (_context6.prev = _context6.next) {
106
+ case 0:
107
+ throw new Error('500 - MockedMediaApi.createUpload: method not implemented');
108
+ case 1:
109
+ case "end":
110
+ return _context6.stop();
111
+ }
112
+ }, _callee6);
113
+ }));
114
+ function createUpload() {
115
+ return _createUpload.apply(this, arguments);
116
+ }
117
+ return createUpload;
118
+ }(),
119
+ // For File size limits
120
+ getRejectedResponseFromDescriptor: function getRejectedResponseFromDescriptor() {
121
+ throw new Error('500 - MockedMediaApi.getRejectedResponseFromDescriptor: method not implemented');
122
+ },
123
+ // --------------------------------------------------------
124
+ // METADATA ENDPOINTS
125
+ // --------------------------------------------------------
126
+
127
+ getFile: function () {
128
+ var _getFile = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7(fileId) {
129
+ var fileItem;
130
+ return _regeneratorRuntime.wrap(function _callee7$(_context7) {
131
+ while (1) switch (_context7.prev = _context7.next) {
132
+ case 0:
133
+ fileItem = getFileItem(fileId);
134
+ if (fileItem) {
135
+ _context7.next = 3;
136
+ break;
137
+ }
138
+ throw new Error('404 - MockedMediaApi.getFile: file not found');
139
+ case 3:
140
+ return _context7.abrupt("return", {
141
+ data: getMediaFile(fileItem)
142
+ });
143
+ case 4:
144
+ case "end":
145
+ return _context7.stop();
146
+ }
147
+ }, _callee7);
148
+ }));
149
+ function getFile(_x7) {
150
+ return _getFile.apply(this, arguments);
151
+ }
152
+ return getFile;
153
+ }(),
154
+ getItems: function () {
155
+ var _getItems = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8(ids) {
156
+ var items;
157
+ return _regeneratorRuntime.wrap(function _callee8$(_context8) {
158
+ while (1) switch (_context8.prev = _context8.next) {
159
+ case 0:
160
+ items = ids.map(function (id) {
161
+ return getFileItem(id);
162
+ }).filter(function (fileState) {
163
+ return !!fileState;
164
+ });
165
+ return _context8.abrupt("return", {
166
+ data: {
167
+ items: items
168
+ }
169
+ });
170
+ case 2:
171
+ case "end":
172
+ return _context8.stop();
173
+ }
174
+ }, _callee8);
175
+ }));
176
+ function getItems(_x8) {
177
+ return _getItems.apply(this, arguments);
178
+ }
179
+ return getItems;
180
+ }(),
181
+ // TODO
182
+ getImageMetadata: function () {
183
+ var _getImageMetadata = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee9() {
184
+ return _regeneratorRuntime.wrap(function _callee9$(_context9) {
185
+ while (1) switch (_context9.prev = _context9.next) {
186
+ case 0:
187
+ throw new Error('500 - MockedMediaApi.getImageMetadata: method not implemented');
188
+ case 1:
189
+ case "end":
190
+ return _context9.stop();
191
+ }
192
+ }, _callee9);
193
+ }));
194
+ function getImageMetadata() {
195
+ return _getImageMetadata.apply(this, arguments);
196
+ }
197
+ return getImageMetadata;
198
+ }(),
199
+ // --------------------------------------------------------
200
+ // URL ENDPOINTS
201
+ // --------------------------------------------------------
202
+
203
+ // TODO
204
+ getFileImageURL: function () {
205
+ var _getFileImageURL = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee10() {
206
+ return _regeneratorRuntime.wrap(function _callee10$(_context10) {
207
+ while (1) switch (_context10.prev = _context10.next) {
208
+ case 0:
209
+ throw new Error('500 - MockedMediaApi.getFileImageURL: method not implemented');
210
+ case 1:
211
+ case "end":
212
+ return _context10.stop();
213
+ }
214
+ }, _callee10);
215
+ }));
216
+ function getFileImageURL() {
217
+ return _getFileImageURL.apply(this, arguments);
218
+ }
219
+ return getFileImageURL;
220
+ }(),
221
+ // TODO
222
+ getFileImageURLSync: function getFileImageURLSync() {
223
+ throw new Error('500 - MockedMediaApi.getFileImageURLSync: method not implemented');
224
+ },
225
+ getFileBinaryURL: function () {
226
+ var _getFileBinaryURL = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee11(id) {
227
+ var fileItem;
228
+ return _regeneratorRuntime.wrap(function _callee11$(_context11) {
229
+ while (1) switch (_context11.prev = _context11.next) {
230
+ case 0:
231
+ fileItem = getFileItem(id);
232
+ if (fileItem) {
233
+ _context11.next = 3;
234
+ break;
235
+ }
236
+ throw new Error('404 - MockedMediaApi.getFileBinaryURL: file not found');
237
+ case 3:
238
+ if (!(fileItem.details.size === 0)) {
239
+ _context11.next = 5;
240
+ break;
241
+ }
242
+ throw new Error('404 - MockedMediaApi.getFileBinaryURL: file is empty');
243
+ case 5:
244
+ return _context11.abrupt("return", "/file/".concat(id, "/binary"));
245
+ case 6:
246
+ case "end":
247
+ return _context11.stop();
248
+ }
249
+ }, _callee11);
250
+ }));
251
+ function getFileBinaryURL(_x9) {
252
+ return _getFileBinaryURL.apply(this, arguments);
253
+ }
254
+ return getFileBinaryURL;
255
+ }(),
256
+ getArtifactURL: function () {
257
+ var _getArtifactURL = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee12(artifacts, artifactName) {
258
+ var _artifacts$artifactNa;
259
+ var artifactUrl;
260
+ return _regeneratorRuntime.wrap(function _callee12$(_context12) {
261
+ while (1) switch (_context12.prev = _context12.next) {
262
+ case 0:
263
+ artifactUrl = (_artifacts$artifactNa = artifacts[artifactName]) === null || _artifacts$artifactNa === void 0 ? void 0 : _artifacts$artifactNa.url;
264
+ if (artifactUrl) {
265
+ _context12.next = 3;
266
+ break;
267
+ }
268
+ throw new Error("404 - MockedMediaApi.getArtifactURL: artifact ".concat(artifactName, " not found"));
269
+ case 3:
270
+ return _context12.abrupt("return", artifactUrl);
271
+ case 4:
272
+ case "end":
273
+ return _context12.stop();
274
+ }
275
+ }, _callee12);
276
+ }));
277
+ function getArtifactURL(_x10, _x11) {
278
+ return _getArtifactURL.apply(this, arguments);
279
+ }
280
+ return getArtifactURL;
281
+ }(),
282
+ // --------------------------------------------------------
283
+ // BINARY ENDPOINTS
284
+ // --------------------------------------------------------
285
+ getImage: function () {
286
+ var _getImage = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee13(fileId) {
287
+ var fileItem;
288
+ return _regeneratorRuntime.wrap(function _callee13$(_context13) {
289
+ while (1) switch (_context13.prev = _context13.next) {
290
+ case 0:
291
+ fileItem = getFileItem(fileId);
292
+ if (fileItem) {
293
+ _context13.next = 3;
294
+ break;
295
+ }
296
+ throw new Error('404 - MockedMediaApi.getImage: file not found');
297
+ case 3:
298
+ if (fileItem.details.representations.image) {
299
+ _context13.next = 5;
300
+ break;
301
+ }
302
+ throw new Error('404 - MockedMediaApi.getImage: image not found');
303
+ case 5:
304
+ return _context13.abrupt("return", new Blob());
305
+ case 6:
306
+ case "end":
307
+ return _context13.stop();
308
+ }
309
+ }, _callee13);
310
+ }));
311
+ function getImage(_x12) {
312
+ return _getImage.apply(this, arguments);
313
+ }
314
+ return getImage;
315
+ }(),
316
+ // --------------------------------------------------------
317
+ // OTHER ENDPOINTS
318
+ // --------------------------------------------------------
319
+
320
+ // TODO
321
+ copyFileWithToken: function () {
322
+ var _copyFileWithToken = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee14(body) {
323
+ var fileId, fileItem;
324
+ return _regeneratorRuntime.wrap(function _callee14$(_context14) {
325
+ while (1) switch (_context14.prev = _context14.next) {
326
+ case 0:
327
+ fileId = body.sourceFile.id;
328
+ fileItem = getFileItem(fileId);
329
+ if (fileItem) {
330
+ _context14.next = 4;
331
+ break;
332
+ }
333
+ throw new Error('404 - MockedMediaApi.copyFileWithToken: file not found');
334
+ case 4:
335
+ return _context14.abrupt("return", {
336
+ data: getMediaFile(fileItem)
337
+ });
338
+ case 5:
339
+ case "end":
340
+ return _context14.stop();
341
+ }
342
+ }, _callee14);
343
+ }));
344
+ function copyFileWithToken(_x13) {
345
+ return _copyFileWithToken.apply(this, arguments);
346
+ }
347
+ return copyFileWithToken;
348
+ }(),
349
+ // TODO
350
+ removeCollectionFile: function () {
351
+ var _removeCollectionFile = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee15() {
352
+ return _regeneratorRuntime.wrap(function _callee15$(_context15) {
353
+ while (1) switch (_context15.prev = _context15.next) {
354
+ case 0:
355
+ case "end":
356
+ return _context15.stop();
357
+ }
358
+ }, _callee15);
359
+ }));
360
+ function removeCollectionFile() {
361
+ return _removeCollectionFile.apply(this, arguments);
362
+ }
363
+ return removeCollectionFile;
364
+ }(),
365
+ // --------------------------------------------------------
366
+ // OTHER ENDPOINTS
367
+ // --------------------------------------------------------
368
+ request: function () {
369
+ var _request = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee16() {
370
+ return _regeneratorRuntime.wrap(function _callee16$(_context16) {
371
+ while (1) switch (_context16.prev = _context16.next) {
372
+ case 0:
373
+ return _context16.abrupt("return", new Response());
374
+ case 1:
375
+ case "end":
376
+ return _context16.stop();
377
+ }
378
+ }, _callee16);
379
+ }));
380
+ function request() {
381
+ return _request.apply(this, arguments);
382
+ }
383
+ return request;
384
+ }(),
385
+ resolveAuth: function () {
386
+ var _resolveAuth = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee17() {
387
+ return _regeneratorRuntime.wrap(function _callee17$(_context17) {
388
+ while (1) switch (_context17.prev = _context17.next) {
389
+ case 0:
390
+ return _context17.abrupt("return", {
391
+ asapIssuer: '',
392
+ token: '',
393
+ baseUrl: ''
394
+ });
395
+ case 1:
396
+ case "end":
397
+ return _context17.stop();
398
+ }
399
+ }, _callee17);
400
+ }));
401
+ function resolveAuth() {
402
+ return _resolveAuth.apply(this, arguments);
403
+ }
404
+ return resolveAuth;
405
+ }(),
406
+ resolveInitialAuth: function resolveInitialAuth() {
407
+ return {
408
+ asapIssuer: '',
409
+ token: '',
410
+ baseUrl: ''
411
+ };
412
+ }
413
+ };
414
+ };
415
+
416
+ /**
417
+ * Mocked Media API
418
+ */
419
+ export var createMockedMediaApi = function createMockedMediaApi(initialFileItems) {
420
+ var storedFileItems = new Map();
421
+ var getFileItem = function getFileItem(fileId) {
422
+ return storedFileItems.get(fileId);
423
+ };
424
+ var setFileItems = function setFileItems(fileItems) {
425
+ var normalised = normaliseInput(fileItems);
426
+ normalised.forEach(function (fileItem) {
427
+ return storedFileItems.set(fileItem.id, fileItem);
428
+ });
429
+ };
430
+ if (initialFileItems) {
431
+ setFileItems(initialFileItems);
432
+ }
433
+ var mediaApi = getMediaApi({
434
+ setFileItems: setFileItems,
435
+ getFileItem: getFileItem
436
+ });
437
+ return {
438
+ setFileItems: setFileItems,
439
+ getFileItem: getFileItem,
440
+ mediaApi: mediaApi
441
+ };
442
+ };
@@ -0,0 +1,176 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ import uuid from 'uuid/v4';
6
+ // --------------------------------------------------------
7
+ // Factory Utils
8
+ // --------------------------------------------------------
9
+ export var normaliseInput = function normaliseInput(input) {
10
+ return !input ? [] : input instanceof Array ? input : [input];
11
+ };
12
+
13
+ // --------------------------------------------------------
14
+ // Utils for the main class
15
+ // --------------------------------------------------------
16
+
17
+ export var getMediaFile = function getMediaFile(fileItem) {
18
+ return _objectSpread({
19
+ id: fileItem.id
20
+ }, fileItem.details);
21
+ };
22
+
23
+ // --------------------------------------------------------
24
+ // Utils for creating file descriptors for tests
25
+ // --------------------------------------------------------
26
+
27
+ export var createEmptyFileItem = function createEmptyFileItem(id, collection) {
28
+ var emptyFileItem = {
29
+ type: 'file',
30
+ id: id,
31
+ details: {
32
+ mediaType: 'unknown',
33
+ mimeType: 'binary/octet-stream',
34
+ name: '',
35
+ size: 0,
36
+ processingStatus: 'pending',
37
+ artifacts: {},
38
+ representations: {},
39
+ createdAt: 1699488941974
40
+ }
41
+ };
42
+ if (collection) {
43
+ emptyFileItem.collection = collection;
44
+ }
45
+ return emptyFileItem;
46
+ };
47
+
48
+ /**
49
+ * Simulates the processing of the file by updating the processing status of the artifacts by a percentage
50
+ * Percent must be between 0 and 1
51
+ */
52
+ export var createProcessingFileItem = function createProcessingFileItem(fileItem, percent) {
53
+ if (percent < 0 || percent > 1) {
54
+ throw new Error('Error createProcessingFileItem: percent must be between 0 and 1');
55
+ }
56
+
57
+ /**
58
+ * This behaviour has to be confirmed
59
+ * Artifacts show up immediately after processed or they have a
60
+ * "processing time"?
61
+ */
62
+
63
+ if (percent === 1) {
64
+ return fileItem;
65
+ }
66
+
67
+ // No artifacts for 0% processing
68
+ if (percent === 0) {
69
+ return _objectSpread(_objectSpread({}, fileItem), {}, {
70
+ details: _objectSpread(_objectSpread({}, fileItem.details), {}, {
71
+ processingStatus: 'pending',
72
+ artifacts: {},
73
+ // The preview will only be ready at 100% -> TODO verify against backend
74
+ representations: {}
75
+ })
76
+ });
77
+ }
78
+ var artifactsKeys = Object.keys(fileItem.details.artifacts);
79
+ var artifactsEntries = Object.entries(_objectSpread({}, fileItem.details.artifacts));
80
+
81
+ // Get a % of the total artifacts to be set as processed
82
+ var processedArtifactKeys = artifactsKeys.slice(0, Math.ceil(artifactsKeys.length * percent));
83
+ var processedArtifactEntries = artifactsEntries.map(function (_ref) {
84
+ var _ref2 = _slicedToArray(_ref, 2),
85
+ key = _ref2[0],
86
+ artifact = _ref2[1];
87
+ return [key, _objectSpread(_objectSpread({}, artifact), {}, {
88
+ processingStatus: processedArtifactKeys.includes(key) ? 'succeeded' : 'pending'
89
+ })];
90
+ });
91
+ var artifactsProcessingPercent = Object.fromEntries(processedArtifactEntries);
92
+ return _objectSpread(_objectSpread({}, fileItem), {}, {
93
+ details: _objectSpread(_objectSpread({}, fileItem.details), {}, {
94
+ processingStatus: 'pending',
95
+ artifacts: artifactsProcessingPercent,
96
+ // The preview will only be ready at 100% -> TODO verify against backend
97
+ representations: {}
98
+ })
99
+ });
100
+ };
101
+
102
+ /**
103
+ * Makes a copy of the provided file item with a random file id
104
+ * */
105
+ export var copy = function copy(fileItem) {
106
+ return JSON.parse(JSON.stringify(fileItem).replace(new RegExp(fileItem.id, 'g'), uuid()));
107
+ };
108
+ /**
109
+ * Extracts the file identifier from the provided file item
110
+ */
111
+ export var getIdentifier = function getIdentifier(fileItem) {
112
+ return {
113
+ mediaItemType: 'file',
114
+ id: fileItem.id,
115
+ collectionName: fileItem.collection
116
+ };
117
+ };
118
+ export var createFileState = function createFileState(_ref3) {
119
+ var id = _ref3.id,
120
+ _ref3$details = _ref3.details,
121
+ name = _ref3$details.name,
122
+ size = _ref3$details.size,
123
+ mediaType = _ref3$details.mediaType,
124
+ mimeType = _ref3$details.mimeType,
125
+ createdAt = _ref3$details.createdAt,
126
+ processingStatus = _ref3$details.processingStatus,
127
+ artifacts = _ref3$details.artifacts,
128
+ representations = _ref3$details.representations;
129
+ return {
130
+ status: processingStatus === 'succeeded' ? 'processed' : 'processing',
131
+ id: id,
132
+ name: name,
133
+ size: size,
134
+ mediaType: mediaType,
135
+ mimeType: mimeType,
136
+ createdAt: createdAt,
137
+ artifacts: artifacts,
138
+ representations: representations
139
+ };
140
+ };
141
+ export var createUploadingFileState = function createUploadingFileState(_ref4, progress) {
142
+ var id = _ref4.id,
143
+ _ref4$details = _ref4.details,
144
+ name = _ref4$details.name,
145
+ size = _ref4$details.size,
146
+ mediaType = _ref4$details.mediaType,
147
+ mimeType = _ref4$details.mimeType,
148
+ createdAt = _ref4$details.createdAt;
149
+ return {
150
+ status: 'uploading',
151
+ progress: progress,
152
+ id: id,
153
+ name: name,
154
+ size: size,
155
+ mediaType: mediaType,
156
+ mimeType: mimeType,
157
+ createdAt: createdAt,
158
+ preview: {
159
+ value: new Blob(['some-content'], {
160
+ type: mimeType
161
+ })
162
+ }
163
+ };
164
+ };
165
+ export var createErrorFileState = function createErrorFileState(_ref5) {
166
+ var id = _ref5.id;
167
+ return {
168
+ status: 'error',
169
+ id: id,
170
+ reason: 'a random error',
171
+ message: 'a random error message',
172
+ details: {
173
+ some: 'mocked error detail'
174
+ }
175
+ };
176
+ };
@@ -0,0 +1,2 @@
1
+ export { createMockedMediaApi } from './MockedMediaApi';
2
+ export { copy, getIdentifier, createEmptyFileItem, createUploadingFileState, createErrorFileState, createFileState, createProcessingFileItem } from './helpers';
@@ -4,4 +4,5 @@ export { collectionNames, defaultCollectionName, defaultMediaPickerCollectionNam
4
4
  export { animatedFileId, archiveFileId, atlassianLogoUrl, audioFileDetails, audioFileId, audioNoCoverFileId, bigDocFileId, docFileDetails, docFileId, emptyImageFileId, errorFileId, externalImageIdentifier, externalSmallImageIdentifier, externaBrokenlIdentifier, genericDataURI, genericFileDetails, genericFileId, gifFileId, imageFileDetails, imageFileId, largeImageFileId, largePdfFileId, noMetadataFileId, passwordProtectedPdfFileId, smallImageFileId, unknownFileDetails, unknownFileId, verticalImageFileId, videoFileDetails, videoFileId, videoHorizontalFileId, videoLargeFileId, videoProcessingFailedId, videoSquareFileId, wideImageFileId, zipFileId, zipFileWithNestedFolderId, zipItemLargeInnerFileId, zipItemMultipleFoldersAtRootId, zipJiraArchiveFileId, zipEncryptedFileId, codeFileId, emailFileId, emailUnsupportedFileId, vrVideoDetails } from './exampleMediaItems';
5
5
  export var authProviderBaseURL = 'https://media.dev.atl-paas.net';
6
6
  export { mediaPickerAuthProvider, defaultMediaPickerAuthProvider } from './mediaPickerAuthProvider';
7
- export { fakeMediaClient } from './fakeMediaClient';
7
+ export { fakeMediaClient } from './fakeMediaClient';
8
+ export { createMockedMediaApi, copy, getIdentifier, createProcessingFileItem, createEmptyFileItem, createUploadingFileState, createFileState, createErrorFileState } from './MockedMediaApi';
@@ -0,0 +1,16 @@
1
+ import { MediaApi, ResponseFileItem } from '../../client/media-store';
2
+ export interface SetFileItems {
3
+ (fileItems: ResponseFileItem | ResponseFileItem[]): void;
4
+ }
5
+ export interface GetFileItem {
6
+ (id: string): ResponseFileItem | undefined;
7
+ }
8
+ export interface CreateMockedMediaApiResult {
9
+ mediaApi: MediaApi;
10
+ setFileItems: SetFileItems;
11
+ getFileItem: GetFileItem;
12
+ }
13
+ /**
14
+ * Mocked Media API
15
+ */
16
+ export declare const createMockedMediaApi: (initialFileItems?: ResponseFileItem | ResponseFileItem[]) => CreateMockedMediaApiResult;
@@ -0,0 +1,23 @@
1
+ import { UploadingFileState, ErrorFileState, FileState } from '@atlaskit/media-state';
2
+ import { MediaFile } from '../../models/media';
3
+ import { ResponseFileItem } from '../../client/media-store/types';
4
+ import type { FileIdentifier } from '../../identifier';
5
+ export declare const normaliseInput: <T>(input?: T | T[] | undefined) => T[];
6
+ export declare const getMediaFile: (fileItem: ResponseFileItem) => MediaFile;
7
+ export declare const createEmptyFileItem: (id: string, collection?: string) => ResponseFileItem;
8
+ /**
9
+ * Simulates the processing of the file by updating the processing status of the artifacts by a percentage
10
+ * Percent must be between 0 and 1
11
+ */
12
+ export declare const createProcessingFileItem: (fileItem: ResponseFileItem, percent: number) => ResponseFileItem;
13
+ /**
14
+ * Makes a copy of the provided file item with a random file id
15
+ * */
16
+ export declare const copy: (fileItem: ResponseFileItem) => ResponseFileItem;
17
+ /**
18
+ * Extracts the file identifier from the provided file item
19
+ */
20
+ export declare const getIdentifier: (fileItem: ResponseFileItem) => FileIdentifier;
21
+ export declare const createFileState: ({ id, details: { name, size, mediaType, mimeType, createdAt, processingStatus, artifacts, representations, }, }: ResponseFileItem) => FileState;
22
+ export declare const createUploadingFileState: ({ id, details: { name, size, mediaType, mimeType, createdAt }, }: ResponseFileItem, progress: number) => UploadingFileState;
23
+ export declare const createErrorFileState: ({ id, }: ResponseFileItem) => ErrorFileState;
@@ -0,0 +1,3 @@
1
+ export type { CreateMockedMediaApiResult, SetFileItems, GetFileItem, } from './MockedMediaApi';
2
+ export { createMockedMediaApi } from './MockedMediaApi';
3
+ export { copy, getIdentifier, createEmptyFileItem, createUploadingFileState, createErrorFileState, createFileState, createProcessingFileItem, } from './helpers';
@@ -5,3 +5,5 @@ export { animatedFileId, archiveFileId, atlassianLogoUrl, audioFileDetails, audi
5
5
  export declare const authProviderBaseURL = "https://media.dev.atl-paas.net";
6
6
  export { mediaPickerAuthProvider, defaultMediaPickerAuthProvider, } from './mediaPickerAuthProvider';
7
7
  export { fakeMediaClient } from './fakeMediaClient';
8
+ export type { CreateMockedMediaApiResult, SetFileItems, GetFileItem, } from './MockedMediaApi';
9
+ export { createMockedMediaApi, copy, getIdentifier, createProcessingFileItem, createEmptyFileItem, createUploadingFileState, createFileState, createErrorFileState, } from './MockedMediaApi';