@atlaskit/media-client 14.1.0 → 14.3.1
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/file-fetcher/index.js +1 -10
- package/dist/cjs/client/media-client.js +50 -1
- package/dist/cjs/client/media-store/resolveAuth.js +22 -19
- package/dist/cjs/client/mobile-upload.js +98 -0
- package/dist/cjs/index.js +8 -0
- package/dist/cjs/models/mobile-upload.js +5 -0
- 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/index.js +5 -6
- 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/media-store/resolveAuth.js +3 -3
- 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/media-store/resolveAuth.js +20 -17
- 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/media-store/resolveAuth.d.ts +2 -2
- 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 +6 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,44 @@
|
|
|
1
1
|
# @atlaskit/media-client
|
|
2
2
|
|
|
3
|
+
## 14.3.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`586b7869085`](https://bitbucket.org/atlassian/atlassian-frontend/commits/586b7869085) - Pass initialAuth to MediaStore
|
|
8
|
+
- [`dc1f9d42903`](https://bitbucket.org/atlassian/atlassian-frontend/commits/dc1f9d42903) - Updated typeguard
|
|
9
|
+
- [`f461edcfd05`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f461edcfd05) - Update CardLoader to use react-loadable
|
|
10
|
+
Add SSR feature prop to be passed in renderer and media card
|
|
11
|
+
- Updated dependencies
|
|
12
|
+
|
|
13
|
+
## 14.3.0
|
|
14
|
+
|
|
15
|
+
### Minor Changes
|
|
16
|
+
|
|
17
|
+
- [`b51fc0a9062`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b51fc0a9062) - New helper to convert ImageResizeMode into FileImageMode
|
|
18
|
+
- [`269ee940b87`](https://bitbucket.org/atlassian/atlassian-frontend/commits/269ee940b87) - redesign error UI on new media card experience
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- [`fe9ced0cd70`](https://bitbucket.org/atlassian/atlassian-frontend/commits/fe9ced0cd70) - Removed feature flags for polling settings
|
|
23
|
+
- Updated dependencies
|
|
24
|
+
|
|
25
|
+
## 14.2.0
|
|
26
|
+
|
|
27
|
+
### Minor Changes
|
|
28
|
+
|
|
29
|
+
- [`381deea2aab`](https://bitbucket.org/atlassian/atlassian-frontend/commits/381deea2aab) - MEX-710 Added mobileUpload API to media-client
|
|
30
|
+
|
|
31
|
+
### Patch Changes
|
|
32
|
+
|
|
33
|
+
- [`c2ae093a067`](https://bitbucket.org/atlassian/atlassian-frontend/commits/c2ae093a067) - Fixed unit test taking more than 10secs
|
|
34
|
+
- Updated dependencies
|
|
35
|
+
|
|
36
|
+
## 14.1.1
|
|
37
|
+
|
|
38
|
+
### Patch Changes
|
|
39
|
+
|
|
40
|
+
- [`e6689b61735`](https://bitbucket.org/atlassian/atlassian-frontend/commits/e6689b61735) - Added a new authProviderTimeout parameter within resolveAuth to control the timeout duration.
|
|
41
|
+
|
|
3
42
|
## 14.1.0
|
|
4
43
|
|
|
5
44
|
### Minor Changes
|
|
@@ -83,8 +83,6 @@ var _polling = require("../../utils/polling");
|
|
|
83
83
|
|
|
84
84
|
var _detectEmptyFile = require("../../utils/detectEmptyFile");
|
|
85
85
|
|
|
86
|
-
var _mediaFeatureFlags = require("@atlaskit/media-common/mediaFeatureFlags");
|
|
87
|
-
|
|
88
86
|
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; }
|
|
89
87
|
|
|
90
88
|
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; }
|
|
@@ -96,14 +94,7 @@ var FileFetcherImpl = /*#__PURE__*/function () {
|
|
|
96
94
|
(0, _classCallCheck2.default)(this, FileFetcherImpl);
|
|
97
95
|
(0, _defineProperty2.default)(this, "createDownloadFileStream", function (id, collectionName, occurrenceKey) {
|
|
98
96
|
var subject = (0, _createFileStateSubject.createFileStateSubject)();
|
|
99
|
-
var
|
|
100
|
-
var pollingOptions = {
|
|
101
|
-
poll_intervalMs: (0, _mediaFeatureFlags.getMediaFeatureFlag)('poll_intervalMs', featureFlags),
|
|
102
|
-
poll_maxAttempts: (0, _mediaFeatureFlags.getMediaFeatureFlag)('poll_maxAttempts', featureFlags),
|
|
103
|
-
poll_backoffFactor: (0, _mediaFeatureFlags.getMediaFeatureFlag)('poll_backoffFactor', featureFlags),
|
|
104
|
-
poll_maxIntervalMs: (0, _mediaFeatureFlags.getMediaFeatureFlag)('poll_maxIntervalMs', featureFlags)
|
|
105
|
-
};
|
|
106
|
-
var poll = new _polling.PollingFunction(pollingOptions); // ensure subject errors if polling exceeds max iterations or uncaught exception in executor
|
|
97
|
+
var poll = new _polling.PollingFunction(); // ensure subject errors if polling exceeds max iterations or uncaught exception in executor
|
|
107
98
|
|
|
108
99
|
poll.onError = function (error) {
|
|
109
100
|
return subject.error(error);
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
@@ -25,14 +27,20 @@ var _fileFetcher = require("./file-fetcher");
|
|
|
25
27
|
|
|
26
28
|
var _stargateClient = require("./stargate-client");
|
|
27
29
|
|
|
30
|
+
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); }
|
|
31
|
+
|
|
32
|
+
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; }
|
|
33
|
+
|
|
28
34
|
var MediaClient = /*#__PURE__*/function () {
|
|
35
|
+
// mobile upload is lazily loaded
|
|
29
36
|
// Deprecated value introduced for backward compatibility with Context
|
|
30
37
|
function MediaClient(mediaClientConfig, featureFlags) {
|
|
31
38
|
(0, _classCallCheck2.default)(this, MediaClient);
|
|
32
39
|
this.mediaClientConfig = mediaClientConfig;
|
|
33
40
|
this.featureFlags = featureFlags;
|
|
34
41
|
this.mediaStore = new _mediaStore.MediaStore({
|
|
35
|
-
authProvider: mediaClientConfig.authProvider
|
|
42
|
+
authProvider: mediaClientConfig.authProvider,
|
|
43
|
+
initialAuth: mediaClientConfig.initialAuth
|
|
36
44
|
}, featureFlags);
|
|
37
45
|
this.config = mediaClientConfig;
|
|
38
46
|
this.collection = new _collectionFetcher.CollectionFetcher(this.mediaStore);
|
|
@@ -84,6 +92,47 @@ var MediaClient = /*#__PURE__*/function () {
|
|
|
84
92
|
|
|
85
93
|
return getImageMetadata;
|
|
86
94
|
}()
|
|
95
|
+
}, {
|
|
96
|
+
key: "mobileUploadPromise",
|
|
97
|
+
value: function () {
|
|
98
|
+
var _mobileUploadPromise = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
99
|
+
var module;
|
|
100
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
101
|
+
while (1) {
|
|
102
|
+
switch (_context2.prev = _context2.next) {
|
|
103
|
+
case 0:
|
|
104
|
+
if (!this.mobileUpload) {
|
|
105
|
+
_context2.next = 2;
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
return _context2.abrupt("return", this.mobileUpload);
|
|
110
|
+
|
|
111
|
+
case 2:
|
|
112
|
+
_context2.next = 4;
|
|
113
|
+
return Promise.resolve().then(function () {
|
|
114
|
+
return _interopRequireWildcard(require('./mobile-upload'));
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
case 4:
|
|
118
|
+
module = _context2.sent;
|
|
119
|
+
this.mobileUpload = new module.MobileUploadImpl(this.mediaStore);
|
|
120
|
+
return _context2.abrupt("return", this.mobileUpload);
|
|
121
|
+
|
|
122
|
+
case 7:
|
|
123
|
+
case "end":
|
|
124
|
+
return _context2.stop();
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}, _callee2, this);
|
|
128
|
+
}));
|
|
129
|
+
|
|
130
|
+
function mobileUploadPromise() {
|
|
131
|
+
return _mobileUploadPromise.apply(this, arguments);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
return mobileUploadPromise;
|
|
135
|
+
}()
|
|
87
136
|
}, {
|
|
88
137
|
key: "on",
|
|
89
138
|
value: function on(event, listener) {
|
|
@@ -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.resolveInitialAuth = exports.resolveAuth = exports.
|
|
8
|
+
exports.resolveInitialAuth = exports.resolveAuth = exports.DEFAULT_AUTH_PROVIDER_TIMEOUT = void 0;
|
|
9
9
|
|
|
10
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
11
|
|
|
@@ -15,56 +15,59 @@ var _error = require("./error");
|
|
|
15
15
|
|
|
16
16
|
var _setTimeoutPromise = require("../../utils/setTimeoutPromise");
|
|
17
17
|
|
|
18
|
-
var
|
|
19
|
-
exports.
|
|
18
|
+
var DEFAULT_AUTH_PROVIDER_TIMEOUT = 10000;
|
|
19
|
+
exports.DEFAULT_AUTH_PROVIDER_TIMEOUT = DEFAULT_AUTH_PROVIDER_TIMEOUT;
|
|
20
20
|
|
|
21
21
|
var resolveAuth = /*#__PURE__*/function () {
|
|
22
22
|
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(authProvider, authContext) {
|
|
23
|
-
var
|
|
23
|
+
var authProviderTimeout,
|
|
24
|
+
auth,
|
|
25
|
+
_args = arguments;
|
|
24
26
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
25
27
|
while (1) {
|
|
26
28
|
switch (_context.prev = _context.next) {
|
|
27
29
|
case 0:
|
|
28
|
-
|
|
29
|
-
_context.
|
|
30
|
-
|
|
30
|
+
authProviderTimeout = _args.length > 2 && _args[2] !== undefined ? _args[2] : DEFAULT_AUTH_PROVIDER_TIMEOUT;
|
|
31
|
+
_context.prev = 1;
|
|
32
|
+
_context.next = 4;
|
|
33
|
+
return Promise.race([authProvider(authContext), (0, _setTimeoutPromise.rejectTimeout)(authProviderTimeout, new _error.MediaStoreError('authProviderTimedOut'))]);
|
|
31
34
|
|
|
32
|
-
case
|
|
35
|
+
case 4:
|
|
33
36
|
auth = _context.sent;
|
|
34
|
-
_context.next =
|
|
37
|
+
_context.next = 12;
|
|
35
38
|
break;
|
|
36
39
|
|
|
37
|
-
case
|
|
38
|
-
_context.prev =
|
|
39
|
-
_context.t0 = _context["catch"](
|
|
40
|
+
case 7:
|
|
41
|
+
_context.prev = 7;
|
|
42
|
+
_context.t0 = _context["catch"](1);
|
|
40
43
|
|
|
41
44
|
if (!(_context.t0 instanceof _error.MediaStoreError)) {
|
|
42
|
-
_context.next =
|
|
45
|
+
_context.next = 11;
|
|
43
46
|
break;
|
|
44
47
|
}
|
|
45
48
|
|
|
46
49
|
throw _context.t0;
|
|
47
50
|
|
|
48
|
-
case
|
|
51
|
+
case 11:
|
|
49
52
|
throw new _error.MediaStoreError('failedAuthProvider', _context.t0);
|
|
50
53
|
|
|
51
|
-
case
|
|
54
|
+
case 12:
|
|
52
55
|
if (auth) {
|
|
53
|
-
_context.next =
|
|
56
|
+
_context.next = 14;
|
|
54
57
|
break;
|
|
55
58
|
}
|
|
56
59
|
|
|
57
60
|
throw new _error.MediaStoreError('emptyAuth');
|
|
58
61
|
|
|
59
|
-
case
|
|
62
|
+
case 14:
|
|
60
63
|
return _context.abrupt("return", auth);
|
|
61
64
|
|
|
62
|
-
case
|
|
65
|
+
case 15:
|
|
63
66
|
case "end":
|
|
64
67
|
return _context.stop();
|
|
65
68
|
}
|
|
66
69
|
}
|
|
67
|
-
}, _callee, null, [[
|
|
70
|
+
}, _callee, null, [[1, 7]]);
|
|
68
71
|
}));
|
|
69
72
|
|
|
70
73
|
return function resolveAuth(_x, _x2) {
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.MobileUploadImpl = void 0;
|
|
9
|
+
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _mediaCommon = require("@atlaskit/media-common");
|
|
15
|
+
|
|
16
|
+
var _fileStreamsCache = require("../file-streams-cache");
|
|
17
|
+
|
|
18
|
+
var _createFileDataLoader = require("../utils/createFileDataLoader");
|
|
19
|
+
|
|
20
|
+
var _mobileUpload = require("../utils/mobileUpload");
|
|
21
|
+
|
|
22
|
+
var MobileUploadImpl = /*#__PURE__*/function () {
|
|
23
|
+
function MobileUploadImpl(mediaStore) {
|
|
24
|
+
(0, _classCallCheck2.default)(this, MobileUploadImpl);
|
|
25
|
+
this.dataloader = (0, _createFileDataLoader.createFileDataloader)(mediaStore);
|
|
26
|
+
this.servicesCache = (0, _mobileUpload.createServicesCache)();
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
(0, _createClass2.default)(MobileUploadImpl, [{
|
|
30
|
+
key: "notifyUploadStart",
|
|
31
|
+
value: function notifyUploadStart(event) {
|
|
32
|
+
var fileId = event.fileId,
|
|
33
|
+
collectionName = event.collectionName,
|
|
34
|
+
occurrenceKey = event.occurrenceKey,
|
|
35
|
+
fileName = event.fileName,
|
|
36
|
+
fileSize = event.fileSize,
|
|
37
|
+
fileMimetype = event.fileMimetype,
|
|
38
|
+
preview = event.preview,
|
|
39
|
+
createdAt = event.createdAt;
|
|
40
|
+
var mediaType = (0, _mediaCommon.getMediaTypeFromMimeType)(fileMimetype);
|
|
41
|
+
var initialState = {
|
|
42
|
+
status: 'uploading',
|
|
43
|
+
id: fileId,
|
|
44
|
+
occurrenceKey: occurrenceKey,
|
|
45
|
+
name: fileName,
|
|
46
|
+
size: fileSize,
|
|
47
|
+
progress: 0,
|
|
48
|
+
mediaType: mediaType,
|
|
49
|
+
mimeType: fileMimetype,
|
|
50
|
+
preview: preview,
|
|
51
|
+
createdAt: createdAt
|
|
52
|
+
};
|
|
53
|
+
var service = (0, _mobileUpload.createMobileUploadService)((0, _mobileUpload.createMobileUploadStateMachine)(this.dataloader, initialState, collectionName));
|
|
54
|
+
var subject = (0, _mobileUpload.createMobileFileStateSubject)(service);
|
|
55
|
+
this.servicesCache.put(fileId, service);
|
|
56
|
+
(0, _fileStreamsCache.getFileStreamsCache)().set(fileId, subject);
|
|
57
|
+
}
|
|
58
|
+
}, {
|
|
59
|
+
key: "notifyUploadProgress",
|
|
60
|
+
value: function notifyUploadProgress(event) {
|
|
61
|
+
var fileId = event.fileId,
|
|
62
|
+
progress = event.progress;
|
|
63
|
+
var service = this.servicesCache.get(fileId);
|
|
64
|
+
|
|
65
|
+
if (service) {
|
|
66
|
+
service.send('UPLOAD_PROGRESS', {
|
|
67
|
+
progress: progress
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}, {
|
|
72
|
+
key: "notifyUploadEnd",
|
|
73
|
+
value: function notifyUploadEnd(event) {
|
|
74
|
+
var fileId = event.fileId;
|
|
75
|
+
var service = this.servicesCache.get(fileId);
|
|
76
|
+
|
|
77
|
+
if (service) {
|
|
78
|
+
service.send('UPLOAD_END');
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}, {
|
|
82
|
+
key: "notifyUploadError",
|
|
83
|
+
value: function notifyUploadError(event) {
|
|
84
|
+
var fileId = event.fileId,
|
|
85
|
+
message = event.message;
|
|
86
|
+
var service = this.servicesCache.get(fileId);
|
|
87
|
+
|
|
88
|
+
if (service) {
|
|
89
|
+
service.send('UPLOAD_ERROR', {
|
|
90
|
+
message: message
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}]);
|
|
95
|
+
return MobileUploadImpl;
|
|
96
|
+
}();
|
|
97
|
+
|
|
98
|
+
exports.MobileUploadImpl = MobileUploadImpl;
|
package/dist/cjs/index.js
CHANGED
|
@@ -201,6 +201,12 @@ Object.defineProperty(exports, "PollingError", {
|
|
|
201
201
|
return _errors2.PollingError;
|
|
202
202
|
}
|
|
203
203
|
});
|
|
204
|
+
Object.defineProperty(exports, "imageResizeModeToFileImageMode", {
|
|
205
|
+
enumerable: true,
|
|
206
|
+
get: function get() {
|
|
207
|
+
return _imageResizeModeToFileImageMode.imageResizeModeToFileImageMode;
|
|
208
|
+
}
|
|
209
|
+
});
|
|
204
210
|
Object.defineProperty(exports, "FileFetcherImpl", {
|
|
205
211
|
enumerable: true,
|
|
206
212
|
get: function get() {
|
|
@@ -371,6 +377,8 @@ var _polling = require("./utils/polling");
|
|
|
371
377
|
|
|
372
378
|
var _errors2 = require("./utils/polling/errors");
|
|
373
379
|
|
|
380
|
+
var _imageResizeModeToFileImageMode = require("./utils/imageResizeModeToFileImageMode");
|
|
381
|
+
|
|
374
382
|
var _fileFetcher = require("./client/file-fetcher");
|
|
375
383
|
|
|
376
384
|
var _collectionFetcher = require("./client/collection-fetcher");
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.imageResizeModeToFileImageMode = void 0;
|
|
7
|
+
|
|
8
|
+
var imageResizeModeToFileImageMode = function imageResizeModeToFileImageMode(resizeMode) {
|
|
9
|
+
return resizeMode === 'stretchy-fit' ? 'full-fit' : resizeMode;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
exports.imageResizeModeToFileImageMode = imageResizeModeToFileImageMode;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.isMobileUploadError = isMobileUploadError;
|
|
9
|
+
exports.MobileUploadError = void 0;
|
|
10
|
+
|
|
11
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
12
|
+
|
|
13
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
14
|
+
|
|
15
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
16
|
+
|
|
17
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
18
|
+
|
|
19
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
20
|
+
|
|
21
|
+
var _errors = require("../../models/errors");
|
|
22
|
+
|
|
23
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
24
|
+
|
|
25
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
26
|
+
|
|
27
|
+
var MobileUploadError = /*#__PURE__*/function (_BaseMediaClientError) {
|
|
28
|
+
(0, _inherits2.default)(MobileUploadError, _BaseMediaClientError);
|
|
29
|
+
|
|
30
|
+
var _super = _createSuper(MobileUploadError);
|
|
31
|
+
|
|
32
|
+
function MobileUploadError(reason, id, metadata) {
|
|
33
|
+
var _this;
|
|
34
|
+
|
|
35
|
+
(0, _classCallCheck2.default)(this, MobileUploadError);
|
|
36
|
+
_this = _super.call(this, reason);
|
|
37
|
+
_this.reason = reason;
|
|
38
|
+
_this.id = id;
|
|
39
|
+
_this.metadata = metadata;
|
|
40
|
+
return _this;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
(0, _createClass2.default)(MobileUploadError, [{
|
|
44
|
+
key: "attributes",
|
|
45
|
+
get: function get() {
|
|
46
|
+
var reason = this.reason,
|
|
47
|
+
id = this.id,
|
|
48
|
+
_this$metadata = this.metadata;
|
|
49
|
+
_this$metadata = _this$metadata === void 0 ? {} : _this$metadata;
|
|
50
|
+
var collectionName = _this$metadata.collectionName,
|
|
51
|
+
occurrenceKey = _this$metadata.occurrenceKey;
|
|
52
|
+
return {
|
|
53
|
+
reason: reason,
|
|
54
|
+
id: id,
|
|
55
|
+
collectionName: collectionName,
|
|
56
|
+
occurrenceKey: occurrenceKey
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}]);
|
|
60
|
+
return MobileUploadError;
|
|
61
|
+
}(_errors.BaseMediaClientError);
|
|
62
|
+
|
|
63
|
+
exports.MobileUploadError = MobileUploadError;
|
|
64
|
+
|
|
65
|
+
function isMobileUploadError(err) {
|
|
66
|
+
return err instanceof MobileUploadError;
|
|
67
|
+
}
|
|
@@ -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.createMobileDownloadFileStream = exports.createMobileFileStateSubject = 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, "isMobileUploadError", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _error.isMobileUploadError;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "MobileUploadError", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _error.MobileUploadError;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "createServicesCache", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _servicesCache.createServicesCache;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "createMobileUploadService", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function get() {
|
|
27
|
+
return _stateMachine.createMobileUploadService;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "createMobileUploadStateMachine", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function get() {
|
|
33
|
+
return _stateMachine.createMobileUploadStateMachine;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "createMobileFileStateSubject", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function get() {
|
|
39
|
+
return _helpers.createMobileFileStateSubject;
|
|
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
|
+
}
|