@atlaskit/media-client 20.0.0 → 20.0.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 +13 -0
- package/dist/cjs/client/collection-fetcher.js +4 -44
- package/dist/cjs/client/file-fetcher/error.js +3 -19
- package/dist/cjs/client/file-fetcher/index.js +152 -167
- package/dist/cjs/client/media-client.js +3 -27
- package/dist/cjs/client/media-store/error.js +1 -17
- package/dist/cjs/client/media-store/index.js +13 -103
- package/dist/cjs/client/media-store/resolveAuth.js +2 -23
- package/dist/cjs/client/mobile-upload.js +9 -22
- package/dist/cjs/client/stargate-client.js +0 -12
- package/dist/cjs/constants.js +0 -3
- package/dist/cjs/file-streams-cache.js +0 -11
- package/dist/cjs/globalMediaEventEmitter.js +0 -3
- package/dist/cjs/identifier.js +0 -8
- package/dist/cjs/index.js +0 -38
- package/dist/cjs/models/artifacts.js +0 -4
- package/dist/cjs/models/auth-headers.js +0 -2
- package/dist/cjs/models/auth-query-parameters.js +0 -2
- package/dist/cjs/models/errors/helpers.js +0 -2
- package/dist/cjs/models/errors/index.js +4 -20
- package/dist/cjs/models/file-state.js +10 -36
- package/dist/cjs/models/media.js +2 -8
- package/dist/cjs/upload-controller.js +0 -6
- package/dist/cjs/uploader/calculateChunkSize.js +1 -10
- package/dist/cjs/uploader/error.js +3 -19
- package/dist/cjs/uploader/index.js +3 -43
- package/dist/cjs/utils/checkWebpSupport.js +3 -7
- package/dist/cjs/utils/convertBase64ToBlob.js +0 -5
- package/dist/cjs/utils/createFileDataLoader.js +4 -28
- package/dist/cjs/utils/createMediaSubject.js +0 -4
- package/dist/cjs/utils/detectEmptyFile.js +8 -15
- package/dist/cjs/utils/getDimensionsFromBlob.js +0 -14
- package/dist/cjs/utils/getImageDimensionsFromBlob.js +0 -4
- package/dist/cjs/utils/getMediaTypeFromUploadableFile.js +0 -3
- package/dist/cjs/utils/getVideoDimensionsFromBlob.js +2 -8
- package/dist/cjs/utils/hashing/hasherCreator.js +0 -20
- package/dist/cjs/utils/hashing/simpleHasher.js +0 -12
- package/dist/cjs/utils/hashing/workerHasher.js +3 -24
- package/dist/cjs/utils/imageResizeModeToFileImageMode.js +0 -2
- package/dist/cjs/utils/isImageRemote.js +0 -5
- package/dist/cjs/utils/mediaSubscribable/fromObservable.js +2 -4
- package/dist/cjs/utils/mediaSubscribable/index.js +0 -2
- package/dist/cjs/utils/mediaSubscribable/toPromise.js +1 -3
- package/dist/cjs/utils/mobileUpload/error.js +3 -19
- package/dist/cjs/utils/mobileUpload/helpers.js +2 -26
- package/dist/cjs/utils/mobileUpload/index.js +0 -4
- package/dist/cjs/utils/mobileUpload/servicesCache.js +0 -2
- package/dist/cjs/utils/mobileUpload/stateMachine/index.js +0 -22
- package/dist/cjs/utils/mobileUpload/stateMachine/states/processing.js +0 -2
- package/dist/cjs/utils/mobileUpload/stateMachine/states/uploading.js +0 -7
- package/dist/cjs/utils/overrideMediaTypeIfUnknown.js +0 -4
- package/dist/cjs/utils/polling/errors.js +1 -17
- package/dist/cjs/utils/polling/index.js +1 -30
- package/dist/cjs/utils/request/errors.js +8 -24
- package/dist/cjs/utils/request/helpers.js +19 -103
- package/dist/cjs/utils/request/index.js +15 -26
- package/dist/cjs/utils/safeUnsubscribe.js +0 -2
- package/dist/cjs/utils/setTimeoutPromise.js +0 -4
- package/dist/cjs/utils/shouldFetchRemoteFileStates.js +0 -21
- package/dist/cjs/utils/url.js +4 -27
- package/dist/cjs/utils/with-media-client-hoc.js +12 -28
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/client/collection-fetcher.js +6 -18
- package/dist/es2019/client/file-fetcher/error.js +0 -2
- package/dist/es2019/client/file-fetcher/index.js +138 -70
- package/dist/es2019/client/media-client.js +4 -14
- package/dist/es2019/client/media-store/error.js +0 -2
- package/dist/es2019/client/media-store/index.js +37 -52
- package/dist/es2019/client/media-store/resolveAuth.js +1 -5
- package/dist/es2019/client/mobile-upload.js +0 -8
- package/dist/es2019/client/stargate-client.js +0 -3
- package/dist/es2019/constants.js +0 -1
- package/dist/es2019/file-streams-cache.js +0 -11
- package/dist/es2019/globalMediaEventEmitter.js +0 -4
- package/dist/es2019/index.js +4 -11
- package/dist/es2019/models/artifacts.js +0 -2
- package/dist/es2019/models/errors/index.js +5 -4
- package/dist/es2019/models/file-state.js +6 -7
- package/dist/es2019/models/media.js +2 -3
- package/dist/es2019/upload-controller.js +0 -3
- package/dist/es2019/uploader/calculateChunkSize.js +1 -4
- package/dist/es2019/uploader/error.js +0 -2
- package/dist/es2019/uploader/index.js +0 -13
- package/dist/es2019/utils/checkWebpSupport.js +3 -4
- package/dist/es2019/utils/convertBase64ToBlob.js +0 -2
- package/dist/es2019/utils/createFileDataLoader.js +6 -9
- package/dist/es2019/utils/createMediaSubject.js +0 -2
- package/dist/es2019/utils/detectEmptyFile.js +1 -5
- package/dist/es2019/utils/getDimensionsFromBlob.js +0 -3
- package/dist/es2019/utils/getImageDimensionsFromBlob.js +0 -2
- package/dist/es2019/utils/getVideoDimensionsFromBlob.js +2 -1
- package/dist/es2019/utils/hashing/hasherCreator.js +0 -2
- package/dist/es2019/utils/hashing/simpleHasher.js +0 -3
- package/dist/es2019/utils/hashing/workerHasher.js +1 -16
- package/dist/es2019/utils/isImageRemote.js +0 -2
- package/dist/es2019/utils/mediaSubscribable/fromObservable.js +2 -1
- package/dist/es2019/utils/mediaSubscribable/toPromise.js +1 -1
- package/dist/es2019/utils/mobileUpload/error.js +0 -2
- package/dist/es2019/utils/mobileUpload/helpers.js +2 -7
- package/dist/es2019/utils/mobileUpload/stateMachine/index.js +0 -2
- package/dist/es2019/utils/mobileUpload/stateMachine/states/uploading.js +2 -1
- package/dist/es2019/utils/overrideMediaTypeIfUnknown.js +0 -1
- package/dist/es2019/utils/polling/errors.js +0 -2
- package/dist/es2019/utils/polling/index.js +3 -20
- package/dist/es2019/utils/request/errors.js +0 -2
- package/dist/es2019/utils/request/helpers.js +24 -35
- package/dist/es2019/utils/request/index.js +2 -2
- package/dist/es2019/utils/shouldFetchRemoteFileStates.js +1 -5
- package/dist/es2019/utils/url.js +6 -14
- package/dist/es2019/utils/with-media-client-hoc.js +10 -7
- package/dist/es2019/version.json +1 -1
- package/dist/esm/client/collection-fetcher.js +4 -34
- package/dist/esm/client/file-fetcher/error.js +3 -12
- package/dist/esm/client/file-fetcher/index.js +154 -137
- package/dist/esm/client/media-client.js +4 -17
- package/dist/esm/client/media-store/error.js +1 -10
- package/dist/esm/client/media-store/index.js +13 -89
- package/dist/esm/client/media-store/resolveAuth.js +2 -13
- package/dist/esm/client/mobile-upload.js +9 -15
- package/dist/esm/client/stargate-client.js +0 -7
- package/dist/esm/constants.js +0 -1
- package/dist/esm/file-streams-cache.js +0 -6
- package/dist/esm/globalMediaEventEmitter.js +0 -1
- package/dist/esm/index.js +4 -11
- package/dist/esm/models/artifacts.js +0 -2
- package/dist/esm/models/errors/index.js +5 -12
- package/dist/esm/models/file-state.js +10 -17
- package/dist/esm/models/media.js +2 -3
- package/dist/esm/upload-controller.js +0 -2
- package/dist/esm/uploader/calculateChunkSize.js +1 -4
- package/dist/esm/uploader/error.js +3 -12
- package/dist/esm/uploader/index.js +3 -32
- package/dist/esm/utils/checkWebpSupport.js +3 -4
- package/dist/esm/utils/convertBase64ToBlob.js +0 -3
- package/dist/esm/utils/createFileDataLoader.js +4 -18
- package/dist/esm/utils/createMediaSubject.js +0 -2
- package/dist/esm/utils/detectEmptyFile.js +8 -12
- package/dist/esm/utils/getDimensionsFromBlob.js +0 -7
- package/dist/esm/utils/getImageDimensionsFromBlob.js +0 -2
- package/dist/esm/utils/getVideoDimensionsFromBlob.js +2 -3
- package/dist/esm/utils/hashing/hasherCreator.js +0 -9
- package/dist/esm/utils/hashing/simpleHasher.js +0 -4
- package/dist/esm/utils/hashing/workerHasher.js +3 -18
- package/dist/esm/utils/isImageRemote.js +0 -3
- package/dist/esm/utils/mediaSubscribable/fromObservable.js +2 -1
- package/dist/esm/utils/mediaSubscribable/toPromise.js +1 -1
- package/dist/esm/utils/mobileUpload/error.js +3 -12
- package/dist/esm/utils/mobileUpload/helpers.js +2 -11
- package/dist/esm/utils/mobileUpload/stateMachine/index.js +0 -6
- package/dist/esm/utils/mobileUpload/stateMachine/states/uploading.js +0 -3
- package/dist/esm/utils/overrideMediaTypeIfUnknown.js +0 -1
- package/dist/esm/utils/polling/errors.js +1 -10
- package/dist/esm/utils/polling/index.js +1 -27
- package/dist/esm/utils/request/errors.js +8 -17
- package/dist/esm/utils/request/helpers.js +22 -76
- package/dist/esm/utils/request/index.js +15 -20
- package/dist/esm/utils/shouldFetchRemoteFileStates.js +1 -15
- package/dist/esm/utils/url.js +4 -18
- package/dist/esm/utils/with-media-client-hoc.js +12 -17
- package/dist/esm/version.json +1 -1
- package/dist/types/client/file-fetcher/index.d.ts +6 -2
- package/package.json +8 -6
- package/report.api.md +4 -1
|
@@ -4,21 +4,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getImageDimensionsFromBlob = void 0;
|
|
7
|
-
|
|
8
7
|
var getImageDimensionsFromBlob = function getImageDimensionsFromBlob(url) {
|
|
9
8
|
return new Promise(function (resolve, reject) {
|
|
10
9
|
var img = new Image();
|
|
11
10
|
img.src = url;
|
|
12
|
-
|
|
13
11
|
img.onload = function () {
|
|
14
12
|
return resolve({
|
|
15
13
|
width: img.width,
|
|
16
14
|
height: img.height
|
|
17
15
|
});
|
|
18
16
|
};
|
|
19
|
-
|
|
20
17
|
img.onerror = reject;
|
|
21
18
|
});
|
|
22
19
|
};
|
|
23
|
-
|
|
24
20
|
exports.getImageDimensionsFromBlob = getImageDimensionsFromBlob;
|
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getMediaTypeFromUploadableFile = void 0;
|
|
7
|
-
|
|
8
7
|
var _mediaTypeUtils = require("@atlaskit/media-common/mediaTypeUtils");
|
|
9
|
-
|
|
10
8
|
var getMediaTypeFromUploadableFile = function getMediaTypeFromUploadableFile(file) {
|
|
11
9
|
if (file.content instanceof Blob) {
|
|
12
10
|
var type = file.content.type;
|
|
@@ -15,5 +13,4 @@ var getMediaTypeFromUploadableFile = function getMediaTypeFromUploadableFile(fil
|
|
|
15
13
|
return 'unknown';
|
|
16
14
|
}
|
|
17
15
|
};
|
|
18
|
-
|
|
19
16
|
exports.getMediaTypeFromUploadableFile = getMediaTypeFromUploadableFile;
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.getVideoDimensionsFromBlob = void 0;
|
|
9
|
-
|
|
10
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
-
|
|
14
10
|
var getVideoDimensionsFromBlob = /*#__PURE__*/function () {
|
|
15
11
|
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(blob) {
|
|
16
12
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
@@ -22,8 +18,9 @@ var getVideoDimensionsFromBlob = /*#__PURE__*/function () {
|
|
|
22
18
|
var video = document.createElement('video');
|
|
23
19
|
video.preload = 'metadata';
|
|
24
20
|
video.src = url;
|
|
25
|
-
video.muted = true;
|
|
21
|
+
video.muted = true;
|
|
26
22
|
|
|
23
|
+
// loadedmetadata, loadeddata, play, playing
|
|
27
24
|
video.addEventListener('loadedmetadata', function timeupdateHandler() {
|
|
28
25
|
video.removeEventListener('loadedmetadata', timeupdateHandler);
|
|
29
26
|
resolve({
|
|
@@ -37,7 +34,6 @@ var getVideoDimensionsFromBlob = /*#__PURE__*/function () {
|
|
|
37
34
|
URL.revokeObjectURL(url);
|
|
38
35
|
});
|
|
39
36
|
}));
|
|
40
|
-
|
|
41
37
|
case 1:
|
|
42
38
|
case "end":
|
|
43
39
|
return _context.stop();
|
|
@@ -45,10 +41,8 @@ var getVideoDimensionsFromBlob = /*#__PURE__*/function () {
|
|
|
45
41
|
}
|
|
46
42
|
}, _callee);
|
|
47
43
|
}));
|
|
48
|
-
|
|
49
44
|
return function getVideoDimensionsFromBlob(_x) {
|
|
50
45
|
return _ref.apply(this, arguments);
|
|
51
46
|
};
|
|
52
47
|
}();
|
|
53
|
-
|
|
54
48
|
exports.getVideoDimensionsFromBlob = getVideoDimensionsFromBlob;
|
|
@@ -1,58 +1,43 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports.destroyHasher = exports.createHasher = void 0;
|
|
11
|
-
|
|
12
9
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
13
|
-
|
|
14
10
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
-
|
|
16
11
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
-
|
|
18
12
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
-
|
|
20
13
|
var hasher = null;
|
|
21
|
-
|
|
22
14
|
var destroyHasher = function destroyHasher() {
|
|
23
15
|
return hasher = null;
|
|
24
16
|
};
|
|
25
|
-
|
|
26
17
|
exports.destroyHasher = destroyHasher;
|
|
27
|
-
|
|
28
18
|
var createHasher = /*#__PURE__*/function () {
|
|
29
19
|
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
30
20
|
var numWorkers, _yield$import, WorkerHasher, _yield$import2, SimpleHasher;
|
|
31
|
-
|
|
32
21
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
33
22
|
while (1) {
|
|
34
23
|
switch (_context.prev = _context.next) {
|
|
35
24
|
case 0:
|
|
36
25
|
numWorkers = 3;
|
|
37
|
-
|
|
38
26
|
if (hasher) {
|
|
39
27
|
_context.next = 17;
|
|
40
28
|
break;
|
|
41
29
|
}
|
|
42
|
-
|
|
43
30
|
_context.prev = 2;
|
|
44
31
|
_context.next = 5;
|
|
45
32
|
return Promise.resolve().then(function () {
|
|
46
33
|
return _interopRequireWildcard(require('./workerHasher'));
|
|
47
34
|
});
|
|
48
|
-
|
|
49
35
|
case 5:
|
|
50
36
|
_yield$import = _context.sent;
|
|
51
37
|
WorkerHasher = _yield$import.WorkerHasher;
|
|
52
38
|
hasher = new WorkerHasher(numWorkers);
|
|
53
39
|
_context.next = 17;
|
|
54
40
|
break;
|
|
55
|
-
|
|
56
41
|
case 10:
|
|
57
42
|
_context.prev = 10;
|
|
58
43
|
_context.t0 = _context["catch"](2);
|
|
@@ -60,15 +45,12 @@ var createHasher = /*#__PURE__*/function () {
|
|
|
60
45
|
return Promise.resolve().then(function () {
|
|
61
46
|
return _interopRequireWildcard(require('./simpleHasher'));
|
|
62
47
|
});
|
|
63
|
-
|
|
64
48
|
case 14:
|
|
65
49
|
_yield$import2 = _context.sent;
|
|
66
50
|
SimpleHasher = _yield$import2.SimpleHasher;
|
|
67
51
|
hasher = new SimpleHasher();
|
|
68
|
-
|
|
69
52
|
case 17:
|
|
70
53
|
return _context.abrupt("return", hasher);
|
|
71
|
-
|
|
72
54
|
case 18:
|
|
73
55
|
case "end":
|
|
74
56
|
return _context.stop();
|
|
@@ -76,10 +58,8 @@ var createHasher = /*#__PURE__*/function () {
|
|
|
76
58
|
}
|
|
77
59
|
}, _callee, null, [[2, 10]]);
|
|
78
60
|
}));
|
|
79
|
-
|
|
80
61
|
return function createHasher() {
|
|
81
62
|
return _ref.apply(this, arguments);
|
|
82
63
|
};
|
|
83
64
|
}();
|
|
84
|
-
|
|
85
65
|
exports.createHasher = createHasher;
|
|
@@ -1,45 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports.SimpleHasher = void 0;
|
|
11
|
-
|
|
12
9
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
10
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
11
|
var Rusha = _interopRequireWildcard(require("rusha"));
|
|
17
|
-
|
|
18
12
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
|
-
|
|
20
13
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
21
|
-
|
|
22
14
|
var SimpleHasher = /*#__PURE__*/function () {
|
|
23
15
|
function SimpleHasher() {
|
|
24
16
|
(0, _classCallCheck2.default)(this, SimpleHasher);
|
|
25
17
|
}
|
|
26
|
-
|
|
27
18
|
(0, _createClass2.default)(SimpleHasher, [{
|
|
28
19
|
key: "hash",
|
|
29
20
|
value: function hash(blob) {
|
|
30
21
|
return new Promise(function (resolve, reject) {
|
|
31
22
|
var reader = new FileReader();
|
|
32
23
|
reader.readAsArrayBuffer(blob);
|
|
33
|
-
|
|
34
24
|
reader.onload = function () {
|
|
35
25
|
resolve(Rusha.createHash().update(reader.result).digest('hex'));
|
|
36
26
|
};
|
|
37
|
-
|
|
38
27
|
reader.onerror = reject;
|
|
39
28
|
});
|
|
40
29
|
}
|
|
41
30
|
}]);
|
|
42
31
|
return SimpleHasher;
|
|
43
32
|
}();
|
|
44
|
-
|
|
45
33
|
exports.SimpleHasher = SimpleHasher;
|
|
@@ -1,33 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.WorkerHasher = void 0;
|
|
9
|
-
|
|
10
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
-
|
|
16
11
|
var _v = _interopRequireDefault(require("uuid/v4"));
|
|
17
|
-
|
|
18
12
|
var _rusha = _interopRequireDefault(require("rusha"));
|
|
19
|
-
|
|
20
13
|
var WorkerHasher = /*#__PURE__*/function () {
|
|
21
14
|
function WorkerHasher(numOfWorkers) {
|
|
22
15
|
(0, _classCallCheck2.default)(this, WorkerHasher);
|
|
23
16
|
(0, _defineProperty2.default)(this, "workers", []);
|
|
24
17
|
(0, _defineProperty2.default)(this, "jobs", {});
|
|
25
|
-
|
|
26
18
|
for (var i = 0; i < numOfWorkers; ++i) {
|
|
27
19
|
this.workers.push(this.createWorker());
|
|
28
20
|
}
|
|
29
21
|
}
|
|
30
|
-
|
|
31
22
|
(0, _createClass2.default)(WorkerHasher, [{
|
|
32
23
|
key: "hash",
|
|
33
24
|
value: function hash(chunk) {
|
|
@@ -37,9 +28,7 @@ var WorkerHasher = /*#__PURE__*/function () {
|
|
|
37
28
|
key: "createWorker",
|
|
38
29
|
value: function createWorker() {
|
|
39
30
|
var _this = this;
|
|
40
|
-
|
|
41
31
|
var worker = _rusha.default.createWorker();
|
|
42
|
-
|
|
43
32
|
var hasherWorker = {
|
|
44
33
|
worker: worker,
|
|
45
34
|
activeJobs: 0
|
|
@@ -53,14 +42,12 @@ var WorkerHasher = /*#__PURE__*/function () {
|
|
|
53
42
|
key: "handleWorkerMessage",
|
|
54
43
|
value: function handleWorkerMessage(event, hasherWorker) {
|
|
55
44
|
var id = event.data.id;
|
|
56
|
-
|
|
57
45
|
if (this.jobs[id]) {
|
|
58
46
|
var _this$jobs$id = this.jobs[id],
|
|
59
|
-
|
|
60
|
-
|
|
47
|
+
resolve = _this$jobs$id.resolve,
|
|
48
|
+
reject = _this$jobs$id.reject;
|
|
61
49
|
delete this.jobs[id];
|
|
62
50
|
hasherWorker.activeJobs--;
|
|
63
|
-
|
|
64
51
|
if (event.data.error) {
|
|
65
52
|
// TODO previously we were just calling it again.
|
|
66
53
|
// this.calculateHashInWorker(chunk);
|
|
@@ -74,16 +61,13 @@ var WorkerHasher = /*#__PURE__*/function () {
|
|
|
74
61
|
key: "calculateHashInWorker",
|
|
75
62
|
value: function calculateHashInWorker(blob) {
|
|
76
63
|
var _this2 = this;
|
|
77
|
-
|
|
78
64
|
var jobId = (0, _v.default)();
|
|
79
65
|
return new Promise(function (resolve, reject) {
|
|
80
66
|
_this2.jobs[jobId] = {
|
|
81
67
|
resolve: resolve,
|
|
82
68
|
reject: reject
|
|
83
69
|
};
|
|
84
|
-
|
|
85
70
|
var worker = _this2.getMostRelaxedWorker();
|
|
86
|
-
|
|
87
71
|
_this2.dispatch(jobId, worker, blob);
|
|
88
72
|
});
|
|
89
73
|
}
|
|
@@ -92,27 +76,24 @@ var WorkerHasher = /*#__PURE__*/function () {
|
|
|
92
76
|
value: function dispatch(jobId, hasherWorker, chunkBlob) {
|
|
93
77
|
hasherWorker.activeJobs++;
|
|
94
78
|
var worker = hasherWorker.worker;
|
|
79
|
+
|
|
95
80
|
/*
|
|
96
81
|
* postMessage() with chunk blob in Safari results in the error
|
|
97
82
|
* "Failed to load resource: The operation could not be completed. (WebKitBlobResource error 1.)"
|
|
98
83
|
*
|
|
99
84
|
* To prevent it, we read the data from the blob using FileReader and pass it via postMessage to the worker.
|
|
100
85
|
*/
|
|
101
|
-
|
|
102
86
|
if (navigator.userAgent.indexOf('Safari') > -1 && navigator.userAgent.indexOf('Chrome') === -1) {
|
|
103
87
|
var rd = new FileReader();
|
|
104
|
-
|
|
105
88
|
rd.onload = function () {
|
|
106
89
|
worker.postMessage({
|
|
107
90
|
id: jobId,
|
|
108
91
|
data: rd.result
|
|
109
92
|
});
|
|
110
93
|
};
|
|
111
|
-
|
|
112
94
|
rd.readAsBinaryString(chunkBlob);
|
|
113
95
|
return;
|
|
114
96
|
}
|
|
115
|
-
|
|
116
97
|
worker.postMessage({
|
|
117
98
|
id: jobId,
|
|
118
99
|
data: chunkBlob
|
|
@@ -125,12 +106,10 @@ var WorkerHasher = /*#__PURE__*/function () {
|
|
|
125
106
|
if (next.activeJobs < current.activeJobs) {
|
|
126
107
|
return next;
|
|
127
108
|
}
|
|
128
|
-
|
|
129
109
|
return current;
|
|
130
110
|
}, this.workers[0]);
|
|
131
111
|
}
|
|
132
112
|
}]);
|
|
133
113
|
return WorkerHasher;
|
|
134
114
|
}();
|
|
135
|
-
|
|
136
115
|
exports.WorkerHasher = WorkerHasher;
|
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.imageResizeModeToFileImageMode = void 0;
|
|
7
|
-
|
|
8
7
|
var imageResizeModeToFileImageMode = function imageResizeModeToFileImageMode(resizeMode) {
|
|
9
8
|
return resizeMode === 'stretchy-fit' ? 'full-fit' : resizeMode;
|
|
10
9
|
};
|
|
11
|
-
|
|
12
10
|
exports.imageResizeModeToFileImageMode = imageResizeModeToFileImageMode;
|
|
@@ -4,19 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.isImageRemote = void 0;
|
|
7
|
-
|
|
8
7
|
// Returns true if you need to set crossorigin property of an img element.
|
|
9
8
|
var isImageRemote = function isImageRemote(imageUrl) {
|
|
10
9
|
var windowOrigin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.origin;
|
|
11
|
-
|
|
12
10
|
if (URL && URL.prototype) {
|
|
13
11
|
var url = new URL(imageUrl);
|
|
14
|
-
|
|
15
12
|
if (!url.host) {
|
|
16
13
|
// This is a local resource. Safari will fail to load it if we set crossorigin
|
|
17
14
|
return false;
|
|
18
15
|
}
|
|
19
|
-
|
|
20
16
|
return url.origin !== windowOrigin;
|
|
21
17
|
} else {
|
|
22
18
|
// IE doesn't have support to 'new URL'.
|
|
@@ -24,5 +20,4 @@ var isImageRemote = function isImageRemote(imageUrl) {
|
|
|
24
20
|
return true;
|
|
25
21
|
}
|
|
26
22
|
};
|
|
27
|
-
|
|
28
23
|
exports.isImageRemote = isImageRemote;
|
|
@@ -5,13 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.createMediaSubscribable = createMediaSubscribable;
|
|
7
7
|
exports.fromObservable = fromObservable;
|
|
8
|
-
|
|
9
8
|
var _createMediaSubject = require("../createMediaSubject");
|
|
10
|
-
|
|
11
9
|
function fromObservable(observable) {
|
|
12
10
|
return {
|
|
13
11
|
subscribe: function subscribe(observer) {
|
|
14
|
-
var subscription =
|
|
12
|
+
var subscription =
|
|
13
|
+
// This is needed to handle "subscribe" function overload.
|
|
15
14
|
// It allows accepting a single "next" callback function as an argument.
|
|
16
15
|
observer instanceof Function ? observable.subscribe(observer) : observable.subscribe(observer);
|
|
17
16
|
return {
|
|
@@ -22,7 +21,6 @@ function fromObservable(observable) {
|
|
|
22
21
|
}
|
|
23
22
|
};
|
|
24
23
|
}
|
|
25
|
-
|
|
26
24
|
function createMediaSubscribable(mediaSubscribableItem) {
|
|
27
25
|
return fromObservable((0, _createMediaSubject.createMediaSubject)(mediaSubscribableItem));
|
|
28
26
|
}
|
|
@@ -4,15 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.toPromise = void 0;
|
|
7
|
-
|
|
8
7
|
var _Subscription = require("rxjs/Subscription");
|
|
9
|
-
|
|
10
8
|
/**
|
|
11
9
|
* This is a helper to transform the first value emitted by an MediaSubscribable into a Promise.
|
|
12
10
|
*
|
|
13
11
|
* @param mediaSubscribable a given MediaSubscribable<MediaSubscribableItem>
|
|
14
12
|
* @param subscription a default Subscription (this parameter exists for testing purpose)
|
|
15
13
|
*/
|
|
14
|
+
|
|
16
15
|
var toPromise = function toPromise(mediaSubscribable) {
|
|
17
16
|
var subscription = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new _Subscription.Subscription();
|
|
18
17
|
return new Promise(function (resolve, reject) {
|
|
@@ -28,5 +27,4 @@ var toPromise = function toPromise(mediaSubscribable) {
|
|
|
28
27
|
}));
|
|
29
28
|
});
|
|
30
29
|
};
|
|
31
|
-
|
|
32
30
|
exports.toPromise = toPromise;
|
|
@@ -1,37 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.MobileUploadError = void 0;
|
|
9
8
|
exports.isMobileUploadError = isMobileUploadError;
|
|
10
|
-
|
|
11
9
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
12
|
-
|
|
13
10
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
14
|
-
|
|
15
11
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
16
|
-
|
|
17
12
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
18
|
-
|
|
19
13
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
20
|
-
|
|
21
14
|
var _errors = require("../../models/errors");
|
|
22
|
-
|
|
23
15
|
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
16
|
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
17
|
var MobileUploadError = /*#__PURE__*/function (_BaseMediaClientError) {
|
|
28
18
|
(0, _inherits2.default)(MobileUploadError, _BaseMediaClientError);
|
|
29
|
-
|
|
30
19
|
var _super = _createSuper(MobileUploadError);
|
|
31
|
-
|
|
32
20
|
function MobileUploadError(reason, id, metadata) {
|
|
33
21
|
var _this;
|
|
34
|
-
|
|
35
22
|
(0, _classCallCheck2.default)(this, MobileUploadError);
|
|
36
23
|
_this = _super.call(this, reason);
|
|
37
24
|
_this.reason = reason;
|
|
@@ -39,16 +26,15 @@ var MobileUploadError = /*#__PURE__*/function (_BaseMediaClientError) {
|
|
|
39
26
|
_this.metadata = metadata;
|
|
40
27
|
return _this;
|
|
41
28
|
}
|
|
42
|
-
|
|
43
29
|
(0, _createClass2.default)(MobileUploadError, [{
|
|
44
30
|
key: "attributes",
|
|
45
31
|
get: function get() {
|
|
46
32
|
var reason = this.reason,
|
|
47
|
-
|
|
48
|
-
|
|
33
|
+
id = this.id,
|
|
34
|
+
_this$metadata = this.metadata;
|
|
49
35
|
_this$metadata = _this$metadata === void 0 ? {} : _this$metadata;
|
|
50
36
|
var collectionName = _this$metadata.collectionName,
|
|
51
|
-
|
|
37
|
+
occurrenceKey = _this$metadata.occurrenceKey;
|
|
52
38
|
return {
|
|
53
39
|
reason: reason,
|
|
54
40
|
id: id,
|
|
@@ -59,9 +45,7 @@ var MobileUploadError = /*#__PURE__*/function (_BaseMediaClientError) {
|
|
|
59
45
|
}]);
|
|
60
46
|
return MobileUploadError;
|
|
61
47
|
}(_errors.BaseMediaClientError);
|
|
62
|
-
|
|
63
48
|
exports.MobileUploadError = MobileUploadError;
|
|
64
|
-
|
|
65
49
|
function isMobileUploadError(err) {
|
|
66
50
|
return err instanceof MobileUploadError;
|
|
67
51
|
}
|
|
@@ -1,32 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.createMobileFileStateSubject = exports.createMobileDownloadFileStream = void 0;
|
|
9
|
-
|
|
10
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
-
|
|
14
10
|
var _ReplaySubject = require("rxjs/ReplaySubject");
|
|
15
|
-
|
|
16
11
|
var _from = require("rxjs/observable/from");
|
|
17
|
-
|
|
18
12
|
var _map = require("rxjs/operators/map");
|
|
19
|
-
|
|
20
13
|
var _fileState = require("../../models/file-state");
|
|
21
|
-
|
|
22
14
|
var _createMediaSubject = require("../createMediaSubject");
|
|
23
|
-
|
|
24
15
|
var _detectEmptyFile = require("../detectEmptyFile");
|
|
25
|
-
|
|
26
16
|
var _polling = require("../polling");
|
|
27
|
-
|
|
28
17
|
var _error = require("./error");
|
|
29
|
-
|
|
30
18
|
var createMobileFileStateSubject = function createMobileFileStateSubject(service) {
|
|
31
19
|
var subject = new _ReplaySubject.ReplaySubject(1);
|
|
32
20
|
(0, _from.from)(service.start()).pipe((0, _map.map)(function (state) {
|
|
@@ -34,17 +22,15 @@ var createMobileFileStateSubject = function createMobileFileStateSubject(service
|
|
|
34
22
|
})).subscribe(subject);
|
|
35
23
|
return subject;
|
|
36
24
|
};
|
|
37
|
-
|
|
38
25
|
exports.createMobileFileStateSubject = createMobileFileStateSubject;
|
|
39
|
-
|
|
40
26
|
var createMobileDownloadFileStream = function createMobileDownloadFileStream(dataloader, id, collectionName, occurrenceKey) {
|
|
41
27
|
var subject = (0, _createMediaSubject.createMediaSubject)();
|
|
42
|
-
var poll = new _polling.PollingFunction();
|
|
28
|
+
var poll = new _polling.PollingFunction();
|
|
43
29
|
|
|
30
|
+
// ensure subject errors if polling exceeds max iterations or uncaught exception in executor
|
|
44
31
|
poll.onError = function (error) {
|
|
45
32
|
return subject.error(error);
|
|
46
33
|
};
|
|
47
|
-
|
|
48
34
|
poll.execute( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
49
35
|
var response, fileState;
|
|
50
36
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
@@ -56,47 +42,38 @@ var createMobileDownloadFileStream = function createMobileDownloadFileStream(dat
|
|
|
56
42
|
id: id,
|
|
57
43
|
collectionName: collectionName
|
|
58
44
|
});
|
|
59
|
-
|
|
60
45
|
case 2:
|
|
61
46
|
response = _context.sent;
|
|
62
|
-
|
|
63
47
|
if (response) {
|
|
64
48
|
_context.next = 5;
|
|
65
49
|
break;
|
|
66
50
|
}
|
|
67
|
-
|
|
68
51
|
throw new _error.MobileUploadError('emptyItems', id, {
|
|
69
52
|
collectionName: collectionName,
|
|
70
53
|
occurrenceKey: occurrenceKey
|
|
71
54
|
});
|
|
72
|
-
|
|
73
55
|
case 5:
|
|
74
56
|
if (!(0, _detectEmptyFile.isEmptyFile)(response)) {
|
|
75
57
|
_context.next = 7;
|
|
76
58
|
break;
|
|
77
59
|
}
|
|
78
|
-
|
|
79
60
|
throw new _error.MobileUploadError('zeroVersionFile', id, {
|
|
80
61
|
collectionName: collectionName,
|
|
81
62
|
occurrenceKey: occurrenceKey
|
|
82
63
|
});
|
|
83
|
-
|
|
84
64
|
case 7:
|
|
85
65
|
fileState = (0, _fileState.mapMediaItemToFileState)(id, response);
|
|
86
66
|
subject.next(fileState);
|
|
87
67
|
_context.t0 = fileState.status;
|
|
88
68
|
_context.next = _context.t0 === 'processing' ? 12 : _context.t0 === 'processed' ? 14 : 16;
|
|
89
69
|
break;
|
|
90
|
-
|
|
91
70
|
case 12:
|
|
92
71
|
// the only case for continuing polling, otherwise this function is run once only
|
|
93
72
|
poll.next();
|
|
94
73
|
return _context.abrupt("break", 16);
|
|
95
|
-
|
|
96
74
|
case 14:
|
|
97
75
|
subject.complete();
|
|
98
76
|
return _context.abrupt("break", 16);
|
|
99
|
-
|
|
100
77
|
case 16:
|
|
101
78
|
case "end":
|
|
102
79
|
return _context.stop();
|
|
@@ -106,5 +83,4 @@ var createMobileDownloadFileStream = function createMobileDownloadFileStream(dat
|
|
|
106
83
|
})));
|
|
107
84
|
return subject;
|
|
108
85
|
};
|
|
109
|
-
|
|
110
86
|
exports.createMobileDownloadFileStream = createMobileDownloadFileStream;
|
|
@@ -39,11 +39,7 @@ Object.defineProperty(exports, "isMobileUploadError", {
|
|
|
39
39
|
return _error.isMobileUploadError;
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
|
-
|
|
43
42
|
var _error = require("./error");
|
|
44
|
-
|
|
45
43
|
var _servicesCache = require("./servicesCache");
|
|
46
|
-
|
|
47
44
|
var _stateMachine = require("./stateMachine");
|
|
48
|
-
|
|
49
45
|
var _helpers = require("./helpers");
|