@atlaskit/media-client 14.1.1 → 14.3.2
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 +39 -0
- package/dist/cjs/client/collection-fetcher.js +1 -1
- package/dist/cjs/client/file-fetcher/error.js +1 -1
- package/dist/cjs/client/file-fetcher/index.js +6 -15
- package/dist/cjs/client/media-client.js +50 -1
- package/dist/cjs/client/media-store/error.js +1 -1
- package/dist/cjs/client/media-store/index.js +1 -1
- package/dist/cjs/client/mobile-upload.js +98 -0
- package/dist/cjs/constants.js +1 -1
- package/dist/cjs/identifier.js +1 -1
- package/dist/cjs/index.js +127 -113
- package/dist/cjs/models/errors/helpers.js +1 -1
- package/dist/cjs/models/errors/index.js +5 -5
- package/dist/cjs/models/file-state.js +1 -1
- package/dist/cjs/models/media.js +1 -1
- package/dist/cjs/models/mobile-upload.js +5 -0
- package/dist/cjs/utils/createFileDataLoader.js +2 -1
- package/dist/cjs/utils/detectEmptyFile.js +1 -1
- package/dist/cjs/utils/hashing/hasherCreator.js +1 -1
- package/dist/cjs/utils/imageResizeModeToFileImageMode.js +12 -0
- package/dist/cjs/utils/mobileUpload/error.js +67 -0
- package/dist/cjs/utils/mobileUpload/helpers.js +110 -0
- package/dist/cjs/utils/mobileUpload/index.js +49 -0
- package/dist/cjs/utils/mobileUpload/servicesCache.js +12 -0
- package/dist/cjs/utils/mobileUpload/stateMachine/index.js +103 -0
- package/dist/cjs/utils/mobileUpload/stateMachine/states/error.js +10 -0
- package/dist/cjs/utils/mobileUpload/stateMachine/states/processed.js +10 -0
- package/dist/cjs/utils/mobileUpload/stateMachine/states/processing.js +77 -0
- package/dist/cjs/utils/mobileUpload/stateMachine/states/processingFailed.js +10 -0
- package/dist/cjs/utils/mobileUpload/stateMachine/states/uploading.js +70 -0
- package/dist/cjs/utils/mobileUpload/stateMachine/types.js +5 -0
- package/dist/cjs/utils/polling/errors.js +1 -1
- package/dist/cjs/utils/polling/index.js +6 -7
- package/dist/cjs/utils/request/errors.js +1 -1
- package/dist/cjs/utils/request/helpers.js +13 -13
- package/dist/cjs/utils/request/index.js +5 -5
- package/dist/cjs/utils/setTimeoutPromise.js +1 -1
- package/dist/cjs/utils/url.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/client/file-fetcher/index.js +1 -11
- package/dist/es2019/client/media-client.js +15 -1
- package/dist/es2019/client/mobile-upload.js +80 -0
- package/dist/es2019/index.js +1 -0
- package/dist/es2019/models/mobile-upload.js +1 -0
- package/dist/es2019/utils/imageResizeModeToFileImageMode.js +1 -0
- package/dist/es2019/utils/mobileUpload/error.js +30 -0
- package/dist/es2019/utils/mobileUpload/helpers.js +55 -0
- package/dist/es2019/utils/mobileUpload/index.js +4 -0
- package/dist/es2019/utils/mobileUpload/servicesCache.js +4 -0
- package/dist/es2019/utils/mobileUpload/stateMachine/index.js +52 -0
- package/dist/es2019/utils/mobileUpload/stateMachine/states/error.js +3 -0
- package/dist/es2019/utils/mobileUpload/stateMachine/states/processed.js +3 -0
- package/dist/es2019/utils/mobileUpload/stateMachine/states/processing.js +60 -0
- package/dist/es2019/utils/mobileUpload/stateMachine/states/processingFailed.js +3 -0
- package/dist/es2019/utils/mobileUpload/stateMachine/states/uploading.js +44 -0
- package/dist/es2019/utils/mobileUpload/stateMachine/types.js +1 -0
- package/dist/es2019/utils/polling/index.js +5 -5
- package/dist/es2019/version.json +1 -1
- package/dist/esm/client/file-fetcher/index.js +1 -9
- package/dist/esm/client/media-client.js +44 -1
- package/dist/esm/client/mobile-upload.js +83 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/models/mobile-upload.js +1 -0
- package/dist/esm/utils/imageResizeModeToFileImageMode.js +3 -0
- package/dist/esm/utils/mobileUpload/error.js +51 -0
- package/dist/esm/utils/mobileUpload/helpers.js +86 -0
- package/dist/esm/utils/mobileUpload/index.js +4 -0
- package/dist/esm/utils/mobileUpload/servicesCache.js +4 -0
- package/dist/esm/utils/mobileUpload/stateMachine/index.js +78 -0
- package/dist/esm/utils/mobileUpload/stateMachine/states/error.js +3 -0
- package/dist/esm/utils/mobileUpload/stateMachine/states/processed.js +3 -0
- package/dist/esm/utils/mobileUpload/stateMachine/states/processing.js +68 -0
- package/dist/esm/utils/mobileUpload/stateMachine/states/processingFailed.js +3 -0
- package/dist/esm/utils/mobileUpload/stateMachine/states/uploading.js +58 -0
- package/dist/esm/utils/mobileUpload/stateMachine/types.js +1 -0
- package/dist/esm/utils/polling/index.js +5 -5
- package/dist/esm/version.json +1 -1
- package/dist/types/client/media-client.d.ts +3 -0
- package/dist/types/client/mobile-upload.d.ts +11 -0
- package/dist/types/index.d.ts +4 -2
- package/dist/types/models/mobile-upload.d.ts +28 -0
- package/dist/types/utils/imageResizeModeToFileImageMode.d.ts +3 -0
- package/dist/types/utils/mobileUpload/error.d.ts +29 -0
- package/dist/types/utils/mobileUpload/helpers.d.ts +8 -0
- package/dist/types/utils/mobileUpload/index.d.ts +5 -0
- package/dist/types/utils/mobileUpload/servicesCache.d.ts +4 -0
- package/dist/types/utils/mobileUpload/stateMachine/index.d.ts +7 -0
- package/dist/types/utils/mobileUpload/stateMachine/states/error.d.ts +3 -0
- package/dist/types/utils/mobileUpload/stateMachine/states/processed.d.ts +3 -0
- package/dist/types/utils/mobileUpload/stateMachine/states/processing.d.ts +3 -0
- package/dist/types/utils/mobileUpload/stateMachine/states/processingFailed.d.ts +3 -0
- package/dist/types/utils/mobileUpload/stateMachine/states/uploading.d.ts +3 -0
- package/dist/types/utils/mobileUpload/stateMachine/types.d.ts +69 -0
- package/dist/types/utils/polling/errors.d.ts +1 -1
- package/dist/types/utils/polling/index.d.ts +8 -3
- package/package.json +7 -6
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.createMobileFileStateSubject = exports.createMobileDownloadFileStream = void 0;
|
|
9
|
+
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
14
|
+
var _ReplaySubject = require("rxjs/ReplaySubject");
|
|
15
|
+
|
|
16
|
+
var _from = require("rxjs/observable/from");
|
|
17
|
+
|
|
18
|
+
var _map = require("rxjs/operators/map");
|
|
19
|
+
|
|
20
|
+
var _fileState = require("../../models/file-state");
|
|
21
|
+
|
|
22
|
+
var _createFileStateSubject = require("../createFileStateSubject");
|
|
23
|
+
|
|
24
|
+
var _detectEmptyFile = require("../detectEmptyFile");
|
|
25
|
+
|
|
26
|
+
var _polling = require("../polling");
|
|
27
|
+
|
|
28
|
+
var _error = require("./error");
|
|
29
|
+
|
|
30
|
+
var createMobileFileStateSubject = function createMobileFileStateSubject(service) {
|
|
31
|
+
var subject = new _ReplaySubject.ReplaySubject(1);
|
|
32
|
+
(0, _from.from)(service.start()).pipe((0, _map.map)(function (state) {
|
|
33
|
+
return state.context.currentFileState;
|
|
34
|
+
})).subscribe(subject);
|
|
35
|
+
return subject;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
exports.createMobileFileStateSubject = createMobileFileStateSubject;
|
|
39
|
+
|
|
40
|
+
var createMobileDownloadFileStream = function createMobileDownloadFileStream(dataloader, id, collectionName, occurrenceKey) {
|
|
41
|
+
var subject = (0, _createFileStateSubject.createFileStateSubject)();
|
|
42
|
+
var poll = new _polling.PollingFunction(); // ensure subject errors if polling exceeds max iterations or uncaught exception in executor
|
|
43
|
+
|
|
44
|
+
poll.onError = function (error) {
|
|
45
|
+
return subject.error(error);
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
poll.execute( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
49
|
+
var response, fileState;
|
|
50
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
51
|
+
while (1) {
|
|
52
|
+
switch (_context.prev = _context.next) {
|
|
53
|
+
case 0:
|
|
54
|
+
_context.next = 2;
|
|
55
|
+
return dataloader.load({
|
|
56
|
+
id: id,
|
|
57
|
+
collectionName: collectionName
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
case 2:
|
|
61
|
+
response = _context.sent;
|
|
62
|
+
|
|
63
|
+
if (response) {
|
|
64
|
+
_context.next = 5;
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
throw new _error.MobileUploadError('emptyItems', id, {
|
|
69
|
+
collectionName: collectionName,
|
|
70
|
+
occurrenceKey: occurrenceKey
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
case 5:
|
|
74
|
+
if (!(0, _detectEmptyFile.isEmptyFile)(response)) {
|
|
75
|
+
_context.next = 7;
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
throw new _error.MobileUploadError('zeroVersionFile', id, {
|
|
80
|
+
collectionName: collectionName,
|
|
81
|
+
occurrenceKey: occurrenceKey
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
case 7:
|
|
85
|
+
fileState = (0, _fileState.mapMediaItemToFileState)(id, response);
|
|
86
|
+
subject.next(fileState);
|
|
87
|
+
_context.t0 = fileState.status;
|
|
88
|
+
_context.next = _context.t0 === 'processing' ? 12 : _context.t0 === 'processed' ? 14 : 16;
|
|
89
|
+
break;
|
|
90
|
+
|
|
91
|
+
case 12:
|
|
92
|
+
// the only case for continuing polling, otherwise this function is run once only
|
|
93
|
+
poll.next();
|
|
94
|
+
return _context.abrupt("break", 16);
|
|
95
|
+
|
|
96
|
+
case 14:
|
|
97
|
+
subject.complete();
|
|
98
|
+
return _context.abrupt("break", 16);
|
|
99
|
+
|
|
100
|
+
case 16:
|
|
101
|
+
case "end":
|
|
102
|
+
return _context.stop();
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}, _callee);
|
|
106
|
+
})));
|
|
107
|
+
return subject;
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
exports.createMobileDownloadFileStream = createMobileDownloadFileStream;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "MobileUploadError", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _error.MobileUploadError;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "createMobileFileStateSubject", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _helpers.createMobileFileStateSubject;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "createMobileUploadService", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _stateMachine.createMobileUploadService;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "createMobileUploadStateMachine", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function get() {
|
|
27
|
+
return _stateMachine.createMobileUploadStateMachine;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "createServicesCache", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function get() {
|
|
33
|
+
return _servicesCache.createServicesCache;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "isMobileUploadError", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function get() {
|
|
39
|
+
return _error.isMobileUploadError;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
var _error = require("./error");
|
|
44
|
+
|
|
45
|
+
var _servicesCache = require("./servicesCache");
|
|
46
|
+
|
|
47
|
+
var _stateMachine = require("./stateMachine");
|
|
48
|
+
|
|
49
|
+
var _helpers = require("./helpers");
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createServicesCache = createServicesCache;
|
|
7
|
+
|
|
8
|
+
var _lruFast = require("lru-fast");
|
|
9
|
+
|
|
10
|
+
function createServicesCache() {
|
|
11
|
+
return new _lruFast.LRUCache(100);
|
|
12
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.createMobileUploadService = createMobileUploadService;
|
|
9
|
+
exports.createMobileUploadStateMachine = void 0;
|
|
10
|
+
|
|
11
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
12
|
+
|
|
13
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
14
|
+
|
|
15
|
+
var _map = require("rxjs/operators/map");
|
|
16
|
+
|
|
17
|
+
var _xstate = require("xstate");
|
|
18
|
+
|
|
19
|
+
var _fileState = require("../../../models/file-state");
|
|
20
|
+
|
|
21
|
+
var _shouldFetchRemoteFileStates3 = require("../../shouldFetchRemoteFileStates");
|
|
22
|
+
|
|
23
|
+
var _helpers = require("../helpers");
|
|
24
|
+
|
|
25
|
+
var _uploading = require("./states/uploading");
|
|
26
|
+
|
|
27
|
+
var _processing = require("./states/processing");
|
|
28
|
+
|
|
29
|
+
var _processed = require("./states/processed");
|
|
30
|
+
|
|
31
|
+
var _processingFailed = require("./states/processingFailed");
|
|
32
|
+
|
|
33
|
+
var _error = require("./states/error");
|
|
34
|
+
|
|
35
|
+
var createMobileUploadStateMachine = function createMobileUploadStateMachine(dataloader, initialState, collectionName) {
|
|
36
|
+
return (0, _xstate.createMachine)({
|
|
37
|
+
// Initial state
|
|
38
|
+
initial: initialState.status,
|
|
39
|
+
// Context
|
|
40
|
+
context: {
|
|
41
|
+
currentFileState: initialState
|
|
42
|
+
},
|
|
43
|
+
// State definitions
|
|
44
|
+
states: {
|
|
45
|
+
uploading: _uploading.machineUploadingState,
|
|
46
|
+
processing: _processing.machineProcessingState,
|
|
47
|
+
processed: _processed.machineProcessedState,
|
|
48
|
+
processingFailed: _processingFailed.machineProcessingFailedState,
|
|
49
|
+
error: _error.machineErrorState
|
|
50
|
+
}
|
|
51
|
+
}, {
|
|
52
|
+
services: {
|
|
53
|
+
shouldFetchRemoteFileStates: function () {
|
|
54
|
+
var _shouldFetchRemoteFileStates2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(ctx) {
|
|
55
|
+
var currentFileState, mediaType, mimeType, preview;
|
|
56
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
57
|
+
while (1) {
|
|
58
|
+
switch (_context.prev = _context.next) {
|
|
59
|
+
case 0:
|
|
60
|
+
currentFileState = ctx.currentFileState;
|
|
61
|
+
|
|
62
|
+
if (!(0, _fileState.isProcessingFileState)(currentFileState)) {
|
|
63
|
+
_context.next = 4;
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
mediaType = currentFileState.mediaType, mimeType = currentFileState.mimeType, preview = currentFileState.preview;
|
|
68
|
+
return _context.abrupt("return", (0, _shouldFetchRemoteFileStates3.shouldFetchRemoteFileStates)(mediaType, mimeType, preview));
|
|
69
|
+
|
|
70
|
+
case 4:
|
|
71
|
+
return _context.abrupt("return", false);
|
|
72
|
+
|
|
73
|
+
case 5:
|
|
74
|
+
case "end":
|
|
75
|
+
return _context.stop();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}, _callee);
|
|
79
|
+
}));
|
|
80
|
+
|
|
81
|
+
function shouldFetchRemoteFileStates(_x) {
|
|
82
|
+
return _shouldFetchRemoteFileStates2.apply(this, arguments);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
return shouldFetchRemoteFileStates;
|
|
86
|
+
}(),
|
|
87
|
+
fetchRemoteFileStates: function fetchRemoteFileStates(ctx) {
|
|
88
|
+
return (0, _helpers.createMobileDownloadFileStream)(dataloader, ctx.currentFileState.id, collectionName, ctx.currentFileState.occurrenceKey).pipe((0, _map.map)(function (fileState) {
|
|
89
|
+
return {
|
|
90
|
+
type: 'REMOTE_FILESTATE_RESULT',
|
|
91
|
+
fileState: fileState
|
|
92
|
+
};
|
|
93
|
+
}));
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
exports.createMobileUploadStateMachine = createMobileUploadStateMachine;
|
|
100
|
+
|
|
101
|
+
function createMobileUploadService(machine) {
|
|
102
|
+
return (0, _xstate.interpret)(machine);
|
|
103
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.machineProcessingState = void 0;
|
|
7
|
+
|
|
8
|
+
var _xstate = require("xstate");
|
|
9
|
+
|
|
10
|
+
var machineProcessingState = {
|
|
11
|
+
// Events
|
|
12
|
+
on: {
|
|
13
|
+
REMOTE_FILESTATE_PROCESSED: 'processed',
|
|
14
|
+
REMOTE_FILESTATE_PROCESSING_FAILED: 'processingFailed',
|
|
15
|
+
REMOTE_FILESTATE_ERROR: 'error'
|
|
16
|
+
},
|
|
17
|
+
// Initial sub state
|
|
18
|
+
initial: 'loading',
|
|
19
|
+
// Sub states definitions
|
|
20
|
+
states: {
|
|
21
|
+
loading: {
|
|
22
|
+
invoke: {
|
|
23
|
+
src: 'shouldFetchRemoteFileStates',
|
|
24
|
+
onDone: {
|
|
25
|
+
actions: (0, _xstate.send)(function (_, event) {
|
|
26
|
+
return {
|
|
27
|
+
// shouldFetchRemoteFileStates resolves a boolean
|
|
28
|
+
type: event.data ? 'REMOTE_FILESTATE_FETCH' : 'REMOTE_FILESTATE_BYPASS'
|
|
29
|
+
};
|
|
30
|
+
})
|
|
31
|
+
},
|
|
32
|
+
onError: 'idle'
|
|
33
|
+
},
|
|
34
|
+
on: {
|
|
35
|
+
REMOTE_FILESTATE_FETCH: 'fetchingRemoteFileStates',
|
|
36
|
+
REMOTE_FILESTATE_BYPASS: 'idle'
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
fetchingRemoteFileStates: {
|
|
40
|
+
invoke: {
|
|
41
|
+
src: 'fetchRemoteFileStates',
|
|
42
|
+
onDone: {
|
|
43
|
+
actions: (0, _xstate.send)(function (ctx) {
|
|
44
|
+
return {
|
|
45
|
+
type: ctx.currentFileState.status === 'processed' ? 'REMOTE_FILESTATE_PROCESSED' : 'REMOTE_FILESTATE_PROCESSING_FAILED'
|
|
46
|
+
};
|
|
47
|
+
})
|
|
48
|
+
},
|
|
49
|
+
onError: {
|
|
50
|
+
actions: [(0, _xstate.assign)({
|
|
51
|
+
currentFileState: function currentFileState(ctx, event) {
|
|
52
|
+
return {
|
|
53
|
+
status: 'error',
|
|
54
|
+
id: ctx.currentFileState.id,
|
|
55
|
+
occurrenceKey: ctx.currentFileState.occurrenceKey,
|
|
56
|
+
message: event.data.message
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}), (0, _xstate.send)({
|
|
60
|
+
type: 'REMOTE_FILESTATE_ERROR'
|
|
61
|
+
})]
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
on: {
|
|
65
|
+
REMOTE_FILESTATE_RESULT: {
|
|
66
|
+
actions: (0, _xstate.assign)({
|
|
67
|
+
currentFileState: function currentFileState(_, event) {
|
|
68
|
+
return event.fileState;
|
|
69
|
+
}
|
|
70
|
+
})
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
idle: {}
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
exports.machineProcessingState = machineProcessingState;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.machineProcessingFailedState = void 0;
|
|
7
|
+
var machineProcessingFailedState = {
|
|
8
|
+
type: 'final'
|
|
9
|
+
};
|
|
10
|
+
exports.machineProcessingFailedState = machineProcessingFailedState;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.machineUploadingState = void 0;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _xstate = require("xstate");
|
|
13
|
+
|
|
14
|
+
var _fileState = require("../../../../models/file-state");
|
|
15
|
+
|
|
16
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
17
|
+
|
|
18
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
19
|
+
|
|
20
|
+
var machineUploadingState = {
|
|
21
|
+
// Events
|
|
22
|
+
on: {
|
|
23
|
+
UPLOAD_PROGRESS: [{
|
|
24
|
+
target: 'uploading',
|
|
25
|
+
cond: function cond(ctx, event) {
|
|
26
|
+
return (0, _fileState.isUploadingFileState)(ctx.currentFileState) && event.progress > ctx.currentFileState.progress;
|
|
27
|
+
},
|
|
28
|
+
actions: (0, _xstate.assign)({
|
|
29
|
+
currentFileState: function currentFileState(ctx, event) {
|
|
30
|
+
return _objectSpread(_objectSpread({}, ctx.currentFileState), {}, {
|
|
31
|
+
progress: event.progress
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
})
|
|
35
|
+
}, {
|
|
36
|
+
target: 'error'
|
|
37
|
+
}],
|
|
38
|
+
UPLOAD_END: {
|
|
39
|
+
target: 'processing',
|
|
40
|
+
actions: (0, _xstate.assign)({
|
|
41
|
+
currentFileState: function currentFileState(ctx) {
|
|
42
|
+
return (0, _fileState.isUploadingFileState)(ctx.currentFileState) && {
|
|
43
|
+
status: 'processing',
|
|
44
|
+
id: ctx.currentFileState.id,
|
|
45
|
+
occurrenceKey: ctx.currentFileState.occurrenceKey,
|
|
46
|
+
name: ctx.currentFileState.name,
|
|
47
|
+
size: ctx.currentFileState.size,
|
|
48
|
+
mediaType: ctx.currentFileState.mediaType,
|
|
49
|
+
mimeType: ctx.currentFileState.mimeType,
|
|
50
|
+
preview: ctx.currentFileState.preview,
|
|
51
|
+
createdAt: ctx.currentFileState.createdAt
|
|
52
|
+
} || ctx.currentFileState;
|
|
53
|
+
}
|
|
54
|
+
})
|
|
55
|
+
},
|
|
56
|
+
UPLOAD_ERROR: {
|
|
57
|
+
target: 'error',
|
|
58
|
+
actions: (0, _xstate.assign)({
|
|
59
|
+
currentFileState: function currentFileState(ctx, event) {
|
|
60
|
+
return {
|
|
61
|
+
status: 'error',
|
|
62
|
+
id: ctx.currentFileState.id,
|
|
63
|
+
message: event.message
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
})
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
exports.machineUploadingState = machineUploadingState;
|
|
@@ -5,8 +5,8 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.isPollingError = isPollingError;
|
|
9
8
|
exports.PollingError = void 0;
|
|
9
|
+
exports.isPollingError = isPollingError;
|
|
10
10
|
|
|
11
11
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
12
12
|
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
8
|
+
exports.defaultPollingOptions = exports.PollingFunction = void 0;
|
|
9
9
|
|
|
10
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
11
|
|
|
@@ -17,19 +17,18 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
|
|
|
17
17
|
|
|
18
18
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
19
19
|
|
|
20
|
-
var _mediaFeatureFlags = require("@atlaskit/media-common/mediaFeatureFlags");
|
|
21
|
-
|
|
22
20
|
var _errors = require("./errors");
|
|
23
21
|
|
|
24
22
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
25
23
|
|
|
26
24
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
27
25
|
|
|
26
|
+
// default polling options without using feature flags
|
|
28
27
|
var defaultPollingOptions = {
|
|
29
|
-
poll_intervalMs:
|
|
30
|
-
poll_maxAttempts:
|
|
31
|
-
poll_backoffFactor:
|
|
32
|
-
poll_maxIntervalMs:
|
|
28
|
+
poll_intervalMs: 3000,
|
|
29
|
+
poll_maxAttempts: 30,
|
|
30
|
+
poll_backoffFactor: 1.25,
|
|
31
|
+
poll_maxIntervalMs: 200000
|
|
33
32
|
};
|
|
34
33
|
/**
|
|
35
34
|
* This class encapsulates polling functionality with the following features:
|
|
@@ -5,8 +5,8 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.isRequestError = isRequestError;
|
|
9
8
|
exports.RequestError = void 0;
|
|
9
|
+
exports.isRequestError = isRequestError;
|
|
10
10
|
|
|
11
11
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
12
12
|
|
|
@@ -5,26 +5,26 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
+
exports.DEFAULT_RETRY_OPTIONS = void 0;
|
|
8
9
|
exports.clientTimeoutPromise = clientTimeoutPromise;
|
|
9
|
-
exports.
|
|
10
|
+
exports.cloneRequestError = cloneRequestError;
|
|
11
|
+
exports.createMapResponseToBlob = createMapResponseToBlob;
|
|
12
|
+
exports.createMapResponseToJson = createMapResponseToJson;
|
|
13
|
+
exports.createProcessFetchResponse = createProcessFetchResponse;
|
|
14
|
+
exports.createRequestErrorFromResponse = createRequestErrorFromResponse;
|
|
15
|
+
exports.createRequestErrorReason = createRequestErrorReason;
|
|
16
|
+
exports.createUrl = createUrl;
|
|
17
|
+
exports.extract = extract;
|
|
18
|
+
exports.fetchRetry = fetchRetry;
|
|
10
19
|
exports.isAbortedRequestError = isAbortedRequestError;
|
|
11
20
|
exports.isFetchNetworkError = isFetchNetworkError;
|
|
12
21
|
exports.isRateLimitedError = isRateLimitedError;
|
|
13
|
-
exports.extract = extract;
|
|
14
22
|
exports.mapAuthToRequestHeaders = mapAuthToRequestHeaders;
|
|
15
|
-
exports.createUrl = createUrl;
|
|
16
|
-
exports.withAuth = withAuth;
|
|
17
|
-
exports.mapResponseToJson = mapResponseToJson;
|
|
18
23
|
exports.mapResponseToBlob = mapResponseToBlob;
|
|
24
|
+
exports.mapResponseToJson = mapResponseToJson;
|
|
19
25
|
exports.mapResponseToVoid = mapResponseToVoid;
|
|
20
|
-
exports.
|
|
21
|
-
exports.
|
|
22
|
-
exports.cloneRequestError = cloneRequestError;
|
|
23
|
-
exports.fetchRetry = fetchRetry;
|
|
24
|
-
exports.createRequestErrorReason = createRequestErrorReason;
|
|
25
|
-
exports.createRequestErrorFromResponse = createRequestErrorFromResponse;
|
|
26
|
-
exports.createProcessFetchResponse = createProcessFetchResponse;
|
|
27
|
-
exports.DEFAULT_RETRY_OPTIONS = void 0;
|
|
26
|
+
exports.waitPromise = waitPromise;
|
|
27
|
+
exports.withAuth = withAuth;
|
|
28
28
|
|
|
29
29
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
30
30
|
|
|
@@ -5,25 +5,25 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.request = request;
|
|
9
8
|
Object.defineProperty(exports, "RequestError", {
|
|
10
9
|
enumerable: true,
|
|
11
10
|
get: function get() {
|
|
12
11
|
return _errors.RequestError;
|
|
13
12
|
}
|
|
14
13
|
});
|
|
15
|
-
Object.defineProperty(exports, "
|
|
14
|
+
Object.defineProperty(exports, "isRateLimitedError", {
|
|
16
15
|
enumerable: true,
|
|
17
16
|
get: function get() {
|
|
18
|
-
return
|
|
17
|
+
return _helpers.isRateLimitedError;
|
|
19
18
|
}
|
|
20
19
|
});
|
|
21
|
-
Object.defineProperty(exports, "
|
|
20
|
+
Object.defineProperty(exports, "isRequestError", {
|
|
22
21
|
enumerable: true,
|
|
23
22
|
get: function get() {
|
|
24
|
-
return
|
|
23
|
+
return _errors.isRequestError;
|
|
25
24
|
}
|
|
26
25
|
});
|
|
26
|
+
exports.request = request;
|
|
27
27
|
|
|
28
28
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
29
29
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.resolveTimeout = exports.rejectTimeout = void 0;
|
|
7
7
|
|
|
8
8
|
var resolveTimeout = function resolveTimeout(timeout, resolveWith) {
|
|
9
9
|
return new Promise(function (resolve, _reject) {
|
package/dist/cjs/utils/url.js
CHANGED
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
8
|
+
exports.objectToQueryString = exports.isMediaBlobUrl = exports.getAttrsFromUrl = exports.addFileAttrsToUrl = void 0;
|
|
9
9
|
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
|
package/dist/cjs/version.json
CHANGED
|
@@ -28,22 +28,12 @@ import { isMimeTypeSupportedByBrowser, getMediaTypeFromMimeType } from '@atlaski
|
|
|
28
28
|
import { shouldFetchRemoteFileStates, shouldFetchRemoteFileStatesObservable } from '../../utils/shouldFetchRemoteFileStates';
|
|
29
29
|
import { PollingFunction } from '../../utils/polling';
|
|
30
30
|
import { isEmptyFile } from '../../utils/detectEmptyFile';
|
|
31
|
-
import { getMediaFeatureFlag } from '@atlaskit/media-common/mediaFeatureFlags';
|
|
32
31
|
export { isFileFetcherError, FileFetcherError } from './error';
|
|
33
32
|
export class FileFetcherImpl {
|
|
34
33
|
constructor(mediaStore) {
|
|
35
34
|
_defineProperty(this, "createDownloadFileStream", (id, collectionName, occurrenceKey) => {
|
|
36
35
|
const subject = createFileStateSubject();
|
|
37
|
-
const
|
|
38
|
-
featureFlags
|
|
39
|
-
} = this.mediaStore;
|
|
40
|
-
const pollingOptions = {
|
|
41
|
-
poll_intervalMs: getMediaFeatureFlag('poll_intervalMs', featureFlags),
|
|
42
|
-
poll_maxAttempts: getMediaFeatureFlag('poll_maxAttempts', featureFlags),
|
|
43
|
-
poll_backoffFactor: getMediaFeatureFlag('poll_backoffFactor', featureFlags),
|
|
44
|
-
poll_maxIntervalMs: getMediaFeatureFlag('poll_maxIntervalMs', featureFlags)
|
|
45
|
-
};
|
|
46
|
-
const poll = new PollingFunction(pollingOptions); // ensure subject errors if polling exceeds max iterations or uncaught exception in executor
|
|
36
|
+
const poll = new PollingFunction(); // ensure subject errors if polling exceeds max iterations or uncaught exception in executor
|
|
47
37
|
|
|
48
38
|
poll.onError = error => subject.error(error);
|
|
49
39
|
|