@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.
Files changed (81) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/dist/cjs/client/file-fetcher/index.js +1 -10
  3. package/dist/cjs/client/media-client.js +50 -1
  4. package/dist/cjs/client/media-store/resolveAuth.js +22 -19
  5. package/dist/cjs/client/mobile-upload.js +98 -0
  6. package/dist/cjs/index.js +8 -0
  7. package/dist/cjs/models/mobile-upload.js +5 -0
  8. package/dist/cjs/utils/imageResizeModeToFileImageMode.js +12 -0
  9. package/dist/cjs/utils/mobileUpload/error.js +67 -0
  10. package/dist/cjs/utils/mobileUpload/helpers.js +110 -0
  11. package/dist/cjs/utils/mobileUpload/index.js +49 -0
  12. package/dist/cjs/utils/mobileUpload/servicesCache.js +12 -0
  13. package/dist/cjs/utils/mobileUpload/stateMachine/index.js +103 -0
  14. package/dist/cjs/utils/mobileUpload/stateMachine/states/error.js +10 -0
  15. package/dist/cjs/utils/mobileUpload/stateMachine/states/processed.js +10 -0
  16. package/dist/cjs/utils/mobileUpload/stateMachine/states/processing.js +77 -0
  17. package/dist/cjs/utils/mobileUpload/stateMachine/states/processingFailed.js +10 -0
  18. package/dist/cjs/utils/mobileUpload/stateMachine/states/uploading.js +70 -0
  19. package/dist/cjs/utils/mobileUpload/stateMachine/types.js +5 -0
  20. package/dist/cjs/utils/polling/index.js +5 -6
  21. package/dist/cjs/version.json +1 -1
  22. package/dist/es2019/client/file-fetcher/index.js +1 -11
  23. package/dist/es2019/client/media-client.js +15 -1
  24. package/dist/es2019/client/media-store/resolveAuth.js +3 -3
  25. package/dist/es2019/client/mobile-upload.js +80 -0
  26. package/dist/es2019/index.js +1 -0
  27. package/dist/es2019/models/mobile-upload.js +1 -0
  28. package/dist/es2019/utils/imageResizeModeToFileImageMode.js +1 -0
  29. package/dist/es2019/utils/mobileUpload/error.js +30 -0
  30. package/dist/es2019/utils/mobileUpload/helpers.js +55 -0
  31. package/dist/es2019/utils/mobileUpload/index.js +4 -0
  32. package/dist/es2019/utils/mobileUpload/servicesCache.js +4 -0
  33. package/dist/es2019/utils/mobileUpload/stateMachine/index.js +52 -0
  34. package/dist/es2019/utils/mobileUpload/stateMachine/states/error.js +3 -0
  35. package/dist/es2019/utils/mobileUpload/stateMachine/states/processed.js +3 -0
  36. package/dist/es2019/utils/mobileUpload/stateMachine/states/processing.js +60 -0
  37. package/dist/es2019/utils/mobileUpload/stateMachine/states/processingFailed.js +3 -0
  38. package/dist/es2019/utils/mobileUpload/stateMachine/states/uploading.js +44 -0
  39. package/dist/es2019/utils/mobileUpload/stateMachine/types.js +1 -0
  40. package/dist/es2019/utils/polling/index.js +5 -5
  41. package/dist/es2019/version.json +1 -1
  42. package/dist/esm/client/file-fetcher/index.js +1 -9
  43. package/dist/esm/client/media-client.js +44 -1
  44. package/dist/esm/client/media-store/resolveAuth.js +20 -17
  45. package/dist/esm/client/mobile-upload.js +83 -0
  46. package/dist/esm/index.js +1 -0
  47. package/dist/esm/models/mobile-upload.js +1 -0
  48. package/dist/esm/utils/imageResizeModeToFileImageMode.js +3 -0
  49. package/dist/esm/utils/mobileUpload/error.js +51 -0
  50. package/dist/esm/utils/mobileUpload/helpers.js +86 -0
  51. package/dist/esm/utils/mobileUpload/index.js +4 -0
  52. package/dist/esm/utils/mobileUpload/servicesCache.js +4 -0
  53. package/dist/esm/utils/mobileUpload/stateMachine/index.js +78 -0
  54. package/dist/esm/utils/mobileUpload/stateMachine/states/error.js +3 -0
  55. package/dist/esm/utils/mobileUpload/stateMachine/states/processed.js +3 -0
  56. package/dist/esm/utils/mobileUpload/stateMachine/states/processing.js +68 -0
  57. package/dist/esm/utils/mobileUpload/stateMachine/states/processingFailed.js +3 -0
  58. package/dist/esm/utils/mobileUpload/stateMachine/states/uploading.js +58 -0
  59. package/dist/esm/utils/mobileUpload/stateMachine/types.js +1 -0
  60. package/dist/esm/utils/polling/index.js +5 -5
  61. package/dist/esm/version.json +1 -1
  62. package/dist/types/client/media-client.d.ts +3 -0
  63. package/dist/types/client/media-store/resolveAuth.d.ts +2 -2
  64. package/dist/types/client/mobile-upload.d.ts +11 -0
  65. package/dist/types/index.d.ts +4 -2
  66. package/dist/types/models/mobile-upload.d.ts +28 -0
  67. package/dist/types/utils/imageResizeModeToFileImageMode.d.ts +3 -0
  68. package/dist/types/utils/mobileUpload/error.d.ts +29 -0
  69. package/dist/types/utils/mobileUpload/helpers.d.ts +8 -0
  70. package/dist/types/utils/mobileUpload/index.d.ts +5 -0
  71. package/dist/types/utils/mobileUpload/servicesCache.d.ts +4 -0
  72. package/dist/types/utils/mobileUpload/stateMachine/index.d.ts +7 -0
  73. package/dist/types/utils/mobileUpload/stateMachine/states/error.d.ts +3 -0
  74. package/dist/types/utils/mobileUpload/stateMachine/states/processed.d.ts +3 -0
  75. package/dist/types/utils/mobileUpload/stateMachine/states/processing.d.ts +3 -0
  76. package/dist/types/utils/mobileUpload/stateMachine/states/processingFailed.d.ts +3 -0
  77. package/dist/types/utils/mobileUpload/stateMachine/states/uploading.d.ts +3 -0
  78. package/dist/types/utils/mobileUpload/stateMachine/types.d.ts +69 -0
  79. package/dist/types/utils/polling/errors.d.ts +1 -1
  80. package/dist/types/utils/polling/index.d.ts +8 -3
  81. 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 featureFlags = _this.mediaStore.featureFlags;
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.AUTH_PROVIDER_TIMEOUT = void 0;
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 AUTH_PROVIDER_TIMEOUT = 10000;
19
- exports.AUTH_PROVIDER_TIMEOUT = AUTH_PROVIDER_TIMEOUT;
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 auth;
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
- _context.prev = 0;
29
- _context.next = 3;
30
- return Promise.race([authProvider(authContext), (0, _setTimeoutPromise.rejectTimeout)(AUTH_PROVIDER_TIMEOUT, new _error.MediaStoreError('authProviderTimedOut'))]);
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 3:
35
+ case 4:
33
36
  auth = _context.sent;
34
- _context.next = 11;
37
+ _context.next = 12;
35
38
  break;
36
39
 
37
- case 6:
38
- _context.prev = 6;
39
- _context.t0 = _context["catch"](0);
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 = 10;
45
+ _context.next = 11;
43
46
  break;
44
47
  }
45
48
 
46
49
  throw _context.t0;
47
50
 
48
- case 10:
51
+ case 11:
49
52
  throw new _error.MediaStoreError('failedAuthProvider', _context.t0);
50
53
 
51
- case 11:
54
+ case 12:
52
55
  if (auth) {
53
- _context.next = 13;
56
+ _context.next = 14;
54
57
  break;
55
58
  }
56
59
 
57
60
  throw new _error.MediaStoreError('emptyAuth');
58
61
 
59
- case 13:
62
+ case 14:
60
63
  return _context.abrupt("return", auth);
61
64
 
62
- case 14:
65
+ case 15:
63
66
  case "end":
64
67
  return _context.stop();
65
68
  }
66
69
  }
67
- }, _callee, null, [[0, 6]]);
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,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -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
+ }