@atlaskit/media-client 14.0.0 → 14.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/cjs/client/file-fetcher/index.js +3 -10
  3. package/dist/cjs/client/media-client.js +48 -0
  4. package/dist/cjs/client/media-store/resolveAuth.js +36 -15
  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/createFileDataLoader.js +4 -0
  9. package/dist/cjs/utils/imageResizeModeToFileImageMode.js +12 -0
  10. package/dist/cjs/utils/mobileUpload/error.js +67 -0
  11. package/dist/cjs/utils/mobileUpload/helpers.js +110 -0
  12. package/dist/cjs/utils/mobileUpload/index.js +49 -0
  13. package/dist/cjs/utils/mobileUpload/servicesCache.js +12 -0
  14. package/dist/cjs/utils/mobileUpload/stateMachine/index.js +103 -0
  15. package/dist/cjs/utils/mobileUpload/stateMachine/states/error.js +10 -0
  16. package/dist/cjs/utils/mobileUpload/stateMachine/states/processed.js +10 -0
  17. package/dist/cjs/utils/mobileUpload/stateMachine/states/processing.js +77 -0
  18. package/dist/cjs/utils/mobileUpload/stateMachine/states/processingFailed.js +10 -0
  19. package/dist/cjs/utils/mobileUpload/stateMachine/states/uploading.js +70 -0
  20. package/dist/cjs/utils/mobileUpload/stateMachine/types.js +5 -0
  21. package/dist/cjs/utils/polling/index.js +5 -6
  22. package/dist/cjs/utils/setTimeoutPromise.js +22 -0
  23. package/dist/cjs/version.json +1 -1
  24. package/dist/es2019/client/file-fetcher/index.js +5 -12
  25. package/dist/es2019/client/media-client.js +13 -0
  26. package/dist/es2019/client/media-store/resolveAuth.js +12 -4
  27. package/dist/es2019/client/mobile-upload.js +80 -0
  28. package/dist/es2019/index.js +1 -0
  29. package/dist/es2019/models/mobile-upload.js +1 -0
  30. package/dist/es2019/utils/createFileDataLoader.js +3 -0
  31. package/dist/es2019/utils/imageResizeModeToFileImageMode.js +1 -0
  32. package/dist/es2019/utils/mobileUpload/error.js +30 -0
  33. package/dist/es2019/utils/mobileUpload/helpers.js +55 -0
  34. package/dist/es2019/utils/mobileUpload/index.js +4 -0
  35. package/dist/es2019/utils/mobileUpload/servicesCache.js +4 -0
  36. package/dist/es2019/utils/mobileUpload/stateMachine/index.js +52 -0
  37. package/dist/es2019/utils/mobileUpload/stateMachine/states/error.js +3 -0
  38. package/dist/es2019/utils/mobileUpload/stateMachine/states/processed.js +3 -0
  39. package/dist/es2019/utils/mobileUpload/stateMachine/states/processing.js +60 -0
  40. package/dist/es2019/utils/mobileUpload/stateMachine/states/processingFailed.js +3 -0
  41. package/dist/es2019/utils/mobileUpload/stateMachine/states/uploading.js +44 -0
  42. package/dist/es2019/utils/mobileUpload/stateMachine/types.js +1 -0
  43. package/dist/es2019/utils/polling/index.js +5 -5
  44. package/dist/es2019/utils/setTimeoutPromise.js +6 -0
  45. package/dist/es2019/version.json +1 -1
  46. package/dist/esm/client/file-fetcher/index.js +5 -10
  47. package/dist/esm/client/media-client.js +42 -0
  48. package/dist/esm/client/media-store/resolveAuth.js +34 -14
  49. package/dist/esm/client/mobile-upload.js +83 -0
  50. package/dist/esm/index.js +1 -0
  51. package/dist/esm/models/mobile-upload.js +1 -0
  52. package/dist/esm/utils/createFileDataLoader.js +3 -0
  53. package/dist/esm/utils/imageResizeModeToFileImageMode.js +3 -0
  54. package/dist/esm/utils/mobileUpload/error.js +51 -0
  55. package/dist/esm/utils/mobileUpload/helpers.js +86 -0
  56. package/dist/esm/utils/mobileUpload/index.js +4 -0
  57. package/dist/esm/utils/mobileUpload/servicesCache.js +4 -0
  58. package/dist/esm/utils/mobileUpload/stateMachine/index.js +78 -0
  59. package/dist/esm/utils/mobileUpload/stateMachine/states/error.js +3 -0
  60. package/dist/esm/utils/mobileUpload/stateMachine/states/processed.js +3 -0
  61. package/dist/esm/utils/mobileUpload/stateMachine/states/processing.js +68 -0
  62. package/dist/esm/utils/mobileUpload/stateMachine/states/processingFailed.js +3 -0
  63. package/dist/esm/utils/mobileUpload/stateMachine/states/uploading.js +58 -0
  64. package/dist/esm/utils/mobileUpload/stateMachine/types.js +1 -0
  65. package/dist/esm/utils/polling/index.js +5 -5
  66. package/dist/esm/utils/setTimeoutPromise.js +10 -0
  67. package/dist/esm/version.json +1 -1
  68. package/dist/types/client/file-fetcher/index.d.ts +1 -0
  69. package/dist/types/client/media-client.d.ts +3 -0
  70. package/dist/types/client/media-store/error.d.ts +1 -1
  71. package/dist/types/client/media-store/resolveAuth.d.ts +2 -2
  72. package/dist/types/client/mobile-upload.d.ts +11 -0
  73. package/dist/types/index.d.ts +3 -1
  74. package/dist/types/models/errors/types.d.ts +1 -1
  75. package/dist/types/models/mobile-upload.d.ts +28 -0
  76. package/dist/types/utils/createFileDataLoader.d.ts +4 -3
  77. package/dist/types/utils/imageResizeModeToFileImageMode.d.ts +3 -0
  78. package/dist/types/utils/mobileUpload/error.d.ts +29 -0
  79. package/dist/types/utils/mobileUpload/helpers.d.ts +8 -0
  80. package/dist/types/utils/mobileUpload/index.d.ts +5 -0
  81. package/dist/types/utils/mobileUpload/servicesCache.d.ts +4 -0
  82. package/dist/types/utils/mobileUpload/stateMachine/index.d.ts +7 -0
  83. package/dist/types/utils/mobileUpload/stateMachine/states/error.d.ts +3 -0
  84. package/dist/types/utils/mobileUpload/stateMachine/states/processed.d.ts +3 -0
  85. package/dist/types/utils/mobileUpload/stateMachine/states/processing.d.ts +3 -0
  86. package/dist/types/utils/mobileUpload/stateMachine/states/processingFailed.d.ts +3 -0
  87. package/dist/types/utils/mobileUpload/stateMachine/states/uploading.d.ts +3 -0
  88. package/dist/types/utils/mobileUpload/stateMachine/types.d.ts +69 -0
  89. package/dist/types/utils/polling/index.d.ts +8 -3
  90. package/dist/types/utils/setTimeoutPromise.d.ts +2 -0
  91. package/package.json +9 -7
package/CHANGELOG.md CHANGED
@@ -1,5 +1,45 @@
1
1
  # @atlaskit/media-client
2
2
 
3
+ ## 14.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`b51fc0a9062`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b51fc0a9062) - New helper to convert ImageResizeMode into FileImageMode
8
+ - [`269ee940b87`](https://bitbucket.org/atlassian/atlassian-frontend/commits/269ee940b87) - redesign error UI on new media card experience
9
+
10
+ ### Patch Changes
11
+
12
+ - [`fe9ced0cd70`](https://bitbucket.org/atlassian/atlassian-frontend/commits/fe9ced0cd70) - Removed feature flags for polling settings
13
+ - Updated dependencies
14
+
15
+ ## 14.2.0
16
+
17
+ ### Minor Changes
18
+
19
+ - [`381deea2aab`](https://bitbucket.org/atlassian/atlassian-frontend/commits/381deea2aab) - MEX-710 Added mobileUpload API to media-client
20
+
21
+ ### Patch Changes
22
+
23
+ - [`c2ae093a067`](https://bitbucket.org/atlassian/atlassian-frontend/commits/c2ae093a067) - Fixed unit test taking more than 10secs
24
+ - Updated dependencies
25
+
26
+ ## 14.1.1
27
+
28
+ ### Patch Changes
29
+
30
+ - [`e6689b61735`](https://bitbucket.org/atlassian/atlassian-frontend/commits/e6689b61735) - Added a new authProviderTimeout parameter within resolveAuth to control the timeout duration.
31
+
32
+ ## 14.1.0
33
+
34
+ ### Minor Changes
35
+
36
+ - [`17776bda189`](https://bitbucket.org/atlassian/atlassian-frontend/commits/17776bda189) - - Improve Smart Links providers and batch requests mechanism
37
+ - Remove non-functional props that impact reloading
38
+
39
+ ### Patch Changes
40
+
41
+ - [`7d869388cfe`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7d869388cfe) - Added timeout to auth provider
42
+
3
43
  ## 14.0.0
4
44
 
5
45
  ### Minor Changes
@@ -39,6 +39,8 @@ var _concatMap = require("rxjs/operators/concatMap");
39
39
 
40
40
  var _v = _interopRequireDefault(require("uuid/v4"));
41
41
 
42
+ require("setimmediate");
43
+
42
44
  var _mediaCore = require("@atlaskit/media-core");
43
45
 
44
46
  var _downloadUrl = require("@atlaskit/media-common/downloadUrl");
@@ -81,8 +83,6 @@ var _polling = require("../../utils/polling");
81
83
 
82
84
  var _detectEmptyFile = require("../../utils/detectEmptyFile");
83
85
 
84
- var _mediaFeatureFlags = require("@atlaskit/media-common/mediaFeatureFlags");
85
-
86
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; }
87
87
 
88
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; }
@@ -94,14 +94,7 @@ var FileFetcherImpl = /*#__PURE__*/function () {
94
94
  (0, _classCallCheck2.default)(this, FileFetcherImpl);
95
95
  (0, _defineProperty2.default)(this, "createDownloadFileStream", function (id, collectionName, occurrenceKey) {
96
96
  var subject = (0, _createFileStateSubject.createFileStateSubject)();
97
- var featureFlags = _this.mediaStore.featureFlags;
98
- var pollingOptions = {
99
- poll_intervalMs: (0, _mediaFeatureFlags.getMediaFeatureFlag)('poll_intervalMs', featureFlags),
100
- poll_maxAttempts: (0, _mediaFeatureFlags.getMediaFeatureFlag)('poll_maxAttempts', featureFlags),
101
- poll_backoffFactor: (0, _mediaFeatureFlags.getMediaFeatureFlag)('poll_backoffFactor', featureFlags),
102
- poll_maxIntervalMs: (0, _mediaFeatureFlags.getMediaFeatureFlag)('poll_maxIntervalMs', featureFlags)
103
- };
104
- 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
105
98
 
106
99
  poll.onError = function (error) {
107
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,7 +27,12 @@ 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);
@@ -84,6 +91,47 @@ var MediaClient = /*#__PURE__*/function () {
84
91
 
85
92
  return getImageMetadata;
86
93
  }()
94
+ }, {
95
+ key: "mobileUploadPromise",
96
+ value: function () {
97
+ var _mobileUploadPromise = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
98
+ var module;
99
+ return _regenerator.default.wrap(function _callee2$(_context2) {
100
+ while (1) {
101
+ switch (_context2.prev = _context2.next) {
102
+ case 0:
103
+ if (!this.mobileUpload) {
104
+ _context2.next = 2;
105
+ break;
106
+ }
107
+
108
+ return _context2.abrupt("return", this.mobileUpload);
109
+
110
+ case 2:
111
+ _context2.next = 4;
112
+ return Promise.resolve().then(function () {
113
+ return _interopRequireWildcard(require('./mobile-upload'));
114
+ });
115
+
116
+ case 4:
117
+ module = _context2.sent;
118
+ this.mobileUpload = new module.MobileUploadImpl(this.mediaStore);
119
+ return _context2.abrupt("return", this.mobileUpload);
120
+
121
+ case 7:
122
+ case "end":
123
+ return _context2.stop();
124
+ }
125
+ }
126
+ }, _callee2, this);
127
+ }));
128
+
129
+ function mobileUploadPromise() {
130
+ return _mobileUploadPromise.apply(this, arguments);
131
+ }
132
+
133
+ return mobileUploadPromise;
134
+ }()
87
135
  }, {
88
136
  key: "on",
89
137
  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.TOKEN_MINIMUM_LIFETIME = 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
 
@@ -13,40 +13,61 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
13
13
 
14
14
  var _error = require("./error");
15
15
 
16
- var TOKEN_MINIMUM_LIFETIME = 10000; // 10 sec
16
+ var _setTimeoutPromise = require("../../utils/setTimeoutPromise");
17
17
 
18
- exports.TOKEN_MINIMUM_LIFETIME = TOKEN_MINIMUM_LIFETIME;
18
+ var DEFAULT_AUTH_PROVIDER_TIMEOUT = 10000;
19
+ exports.DEFAULT_AUTH_PROVIDER_TIMEOUT = DEFAULT_AUTH_PROVIDER_TIMEOUT;
19
20
 
20
21
  var resolveAuth = /*#__PURE__*/function () {
21
22
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(authProvider, authContext) {
22
- var auth;
23
+ var authProviderTimeout,
24
+ auth,
25
+ _args = arguments;
23
26
  return _regenerator.default.wrap(function _callee$(_context) {
24
27
  while (1) {
25
28
  switch (_context.prev = _context.next) {
26
29
  case 0:
27
- _context.prev = 0;
28
- _context.next = 3;
29
- return authProvider(authContext);
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'))]);
30
34
 
31
- case 3:
35
+ case 4:
32
36
  auth = _context.sent;
33
- _context.next = 9;
37
+ _context.next = 12;
34
38
  break;
35
39
 
36
- case 6:
37
- _context.prev = 6;
38
- _context.t0 = _context["catch"](0);
40
+ case 7:
41
+ _context.prev = 7;
42
+ _context.t0 = _context["catch"](1);
43
+
44
+ if (!(_context.t0 instanceof _error.MediaStoreError)) {
45
+ _context.next = 11;
46
+ break;
47
+ }
48
+
49
+ throw _context.t0;
50
+
51
+ case 11:
39
52
  throw new _error.MediaStoreError('failedAuthProvider', _context.t0);
40
53
 
41
- case 9:
54
+ case 12:
55
+ if (auth) {
56
+ _context.next = 14;
57
+ break;
58
+ }
59
+
60
+ throw new _error.MediaStoreError('emptyAuth');
61
+
62
+ case 14:
42
63
  return _context.abrupt("return", auth);
43
64
 
44
- case 10:
65
+ case 15:
45
66
  case "end":
46
67
  return _context.stop();
47
68
  }
48
69
  }
49
- }, _callee, null, [[0, 6]]);
70
+ }, _callee, null, [[1, 7]]);
50
71
  }));
51
72
 
52
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
+ });
@@ -15,8 +15,12 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers
15
15
 
16
16
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
17
 
18
+ require("setimmediate");
19
+
18
20
  var _dataloader = _interopRequireDefault(require("dataloader"));
19
21
 
22
+ // import setimmediate to temporary fix dataloader 2.0.0 bug
23
+ // @see https://github.com/graphql/dataloader/issues/249
20
24
  var MAX_BATCH_SIZE = 100;
21
25
  exports.MAX_BATCH_SIZE = MAX_BATCH_SIZE;
22
26
 
@@ -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
+ }