@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.
Files changed (163) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/client/collection-fetcher.js +4 -44
  3. package/dist/cjs/client/file-fetcher/error.js +3 -19
  4. package/dist/cjs/client/file-fetcher/index.js +152 -167
  5. package/dist/cjs/client/media-client.js +3 -27
  6. package/dist/cjs/client/media-store/error.js +1 -17
  7. package/dist/cjs/client/media-store/index.js +13 -103
  8. package/dist/cjs/client/media-store/resolveAuth.js +2 -23
  9. package/dist/cjs/client/mobile-upload.js +9 -22
  10. package/dist/cjs/client/stargate-client.js +0 -12
  11. package/dist/cjs/constants.js +0 -3
  12. package/dist/cjs/file-streams-cache.js +0 -11
  13. package/dist/cjs/globalMediaEventEmitter.js +0 -3
  14. package/dist/cjs/identifier.js +0 -8
  15. package/dist/cjs/index.js +0 -38
  16. package/dist/cjs/models/artifacts.js +0 -4
  17. package/dist/cjs/models/auth-headers.js +0 -2
  18. package/dist/cjs/models/auth-query-parameters.js +0 -2
  19. package/dist/cjs/models/errors/helpers.js +0 -2
  20. package/dist/cjs/models/errors/index.js +4 -20
  21. package/dist/cjs/models/file-state.js +10 -36
  22. package/dist/cjs/models/media.js +2 -8
  23. package/dist/cjs/upload-controller.js +0 -6
  24. package/dist/cjs/uploader/calculateChunkSize.js +1 -10
  25. package/dist/cjs/uploader/error.js +3 -19
  26. package/dist/cjs/uploader/index.js +3 -43
  27. package/dist/cjs/utils/checkWebpSupport.js +3 -7
  28. package/dist/cjs/utils/convertBase64ToBlob.js +0 -5
  29. package/dist/cjs/utils/createFileDataLoader.js +4 -28
  30. package/dist/cjs/utils/createMediaSubject.js +0 -4
  31. package/dist/cjs/utils/detectEmptyFile.js +8 -15
  32. package/dist/cjs/utils/getDimensionsFromBlob.js +0 -14
  33. package/dist/cjs/utils/getImageDimensionsFromBlob.js +0 -4
  34. package/dist/cjs/utils/getMediaTypeFromUploadableFile.js +0 -3
  35. package/dist/cjs/utils/getVideoDimensionsFromBlob.js +2 -8
  36. package/dist/cjs/utils/hashing/hasherCreator.js +0 -20
  37. package/dist/cjs/utils/hashing/simpleHasher.js +0 -12
  38. package/dist/cjs/utils/hashing/workerHasher.js +3 -24
  39. package/dist/cjs/utils/imageResizeModeToFileImageMode.js +0 -2
  40. package/dist/cjs/utils/isImageRemote.js +0 -5
  41. package/dist/cjs/utils/mediaSubscribable/fromObservable.js +2 -4
  42. package/dist/cjs/utils/mediaSubscribable/index.js +0 -2
  43. package/dist/cjs/utils/mediaSubscribable/toPromise.js +1 -3
  44. package/dist/cjs/utils/mobileUpload/error.js +3 -19
  45. package/dist/cjs/utils/mobileUpload/helpers.js +2 -26
  46. package/dist/cjs/utils/mobileUpload/index.js +0 -4
  47. package/dist/cjs/utils/mobileUpload/servicesCache.js +0 -2
  48. package/dist/cjs/utils/mobileUpload/stateMachine/index.js +0 -22
  49. package/dist/cjs/utils/mobileUpload/stateMachine/states/processing.js +0 -2
  50. package/dist/cjs/utils/mobileUpload/stateMachine/states/uploading.js +0 -7
  51. package/dist/cjs/utils/overrideMediaTypeIfUnknown.js +0 -4
  52. package/dist/cjs/utils/polling/errors.js +1 -17
  53. package/dist/cjs/utils/polling/index.js +1 -30
  54. package/dist/cjs/utils/request/errors.js +8 -24
  55. package/dist/cjs/utils/request/helpers.js +19 -103
  56. package/dist/cjs/utils/request/index.js +15 -26
  57. package/dist/cjs/utils/safeUnsubscribe.js +0 -2
  58. package/dist/cjs/utils/setTimeoutPromise.js +0 -4
  59. package/dist/cjs/utils/shouldFetchRemoteFileStates.js +0 -21
  60. package/dist/cjs/utils/url.js +4 -27
  61. package/dist/cjs/utils/with-media-client-hoc.js +12 -28
  62. package/dist/cjs/version.json +1 -1
  63. package/dist/es2019/client/collection-fetcher.js +6 -18
  64. package/dist/es2019/client/file-fetcher/error.js +0 -2
  65. package/dist/es2019/client/file-fetcher/index.js +138 -70
  66. package/dist/es2019/client/media-client.js +4 -14
  67. package/dist/es2019/client/media-store/error.js +0 -2
  68. package/dist/es2019/client/media-store/index.js +37 -52
  69. package/dist/es2019/client/media-store/resolveAuth.js +1 -5
  70. package/dist/es2019/client/mobile-upload.js +0 -8
  71. package/dist/es2019/client/stargate-client.js +0 -3
  72. package/dist/es2019/constants.js +0 -1
  73. package/dist/es2019/file-streams-cache.js +0 -11
  74. package/dist/es2019/globalMediaEventEmitter.js +0 -4
  75. package/dist/es2019/index.js +4 -11
  76. package/dist/es2019/models/artifacts.js +0 -2
  77. package/dist/es2019/models/errors/index.js +5 -4
  78. package/dist/es2019/models/file-state.js +6 -7
  79. package/dist/es2019/models/media.js +2 -3
  80. package/dist/es2019/upload-controller.js +0 -3
  81. package/dist/es2019/uploader/calculateChunkSize.js +1 -4
  82. package/dist/es2019/uploader/error.js +0 -2
  83. package/dist/es2019/uploader/index.js +0 -13
  84. package/dist/es2019/utils/checkWebpSupport.js +3 -4
  85. package/dist/es2019/utils/convertBase64ToBlob.js +0 -2
  86. package/dist/es2019/utils/createFileDataLoader.js +6 -9
  87. package/dist/es2019/utils/createMediaSubject.js +0 -2
  88. package/dist/es2019/utils/detectEmptyFile.js +1 -5
  89. package/dist/es2019/utils/getDimensionsFromBlob.js +0 -3
  90. package/dist/es2019/utils/getImageDimensionsFromBlob.js +0 -2
  91. package/dist/es2019/utils/getVideoDimensionsFromBlob.js +2 -1
  92. package/dist/es2019/utils/hashing/hasherCreator.js +0 -2
  93. package/dist/es2019/utils/hashing/simpleHasher.js +0 -3
  94. package/dist/es2019/utils/hashing/workerHasher.js +1 -16
  95. package/dist/es2019/utils/isImageRemote.js +0 -2
  96. package/dist/es2019/utils/mediaSubscribable/fromObservable.js +2 -1
  97. package/dist/es2019/utils/mediaSubscribable/toPromise.js +1 -1
  98. package/dist/es2019/utils/mobileUpload/error.js +0 -2
  99. package/dist/es2019/utils/mobileUpload/helpers.js +2 -7
  100. package/dist/es2019/utils/mobileUpload/stateMachine/index.js +0 -2
  101. package/dist/es2019/utils/mobileUpload/stateMachine/states/uploading.js +2 -1
  102. package/dist/es2019/utils/overrideMediaTypeIfUnknown.js +0 -1
  103. package/dist/es2019/utils/polling/errors.js +0 -2
  104. package/dist/es2019/utils/polling/index.js +3 -20
  105. package/dist/es2019/utils/request/errors.js +0 -2
  106. package/dist/es2019/utils/request/helpers.js +24 -35
  107. package/dist/es2019/utils/request/index.js +2 -2
  108. package/dist/es2019/utils/shouldFetchRemoteFileStates.js +1 -5
  109. package/dist/es2019/utils/url.js +6 -14
  110. package/dist/es2019/utils/with-media-client-hoc.js +10 -7
  111. package/dist/es2019/version.json +1 -1
  112. package/dist/esm/client/collection-fetcher.js +4 -34
  113. package/dist/esm/client/file-fetcher/error.js +3 -12
  114. package/dist/esm/client/file-fetcher/index.js +154 -137
  115. package/dist/esm/client/media-client.js +4 -17
  116. package/dist/esm/client/media-store/error.js +1 -10
  117. package/dist/esm/client/media-store/index.js +13 -89
  118. package/dist/esm/client/media-store/resolveAuth.js +2 -13
  119. package/dist/esm/client/mobile-upload.js +9 -15
  120. package/dist/esm/client/stargate-client.js +0 -7
  121. package/dist/esm/constants.js +0 -1
  122. package/dist/esm/file-streams-cache.js +0 -6
  123. package/dist/esm/globalMediaEventEmitter.js +0 -1
  124. package/dist/esm/index.js +4 -11
  125. package/dist/esm/models/artifacts.js +0 -2
  126. package/dist/esm/models/errors/index.js +5 -12
  127. package/dist/esm/models/file-state.js +10 -17
  128. package/dist/esm/models/media.js +2 -3
  129. package/dist/esm/upload-controller.js +0 -2
  130. package/dist/esm/uploader/calculateChunkSize.js +1 -4
  131. package/dist/esm/uploader/error.js +3 -12
  132. package/dist/esm/uploader/index.js +3 -32
  133. package/dist/esm/utils/checkWebpSupport.js +3 -4
  134. package/dist/esm/utils/convertBase64ToBlob.js +0 -3
  135. package/dist/esm/utils/createFileDataLoader.js +4 -18
  136. package/dist/esm/utils/createMediaSubject.js +0 -2
  137. package/dist/esm/utils/detectEmptyFile.js +8 -12
  138. package/dist/esm/utils/getDimensionsFromBlob.js +0 -7
  139. package/dist/esm/utils/getImageDimensionsFromBlob.js +0 -2
  140. package/dist/esm/utils/getVideoDimensionsFromBlob.js +2 -3
  141. package/dist/esm/utils/hashing/hasherCreator.js +0 -9
  142. package/dist/esm/utils/hashing/simpleHasher.js +0 -4
  143. package/dist/esm/utils/hashing/workerHasher.js +3 -18
  144. package/dist/esm/utils/isImageRemote.js +0 -3
  145. package/dist/esm/utils/mediaSubscribable/fromObservable.js +2 -1
  146. package/dist/esm/utils/mediaSubscribable/toPromise.js +1 -1
  147. package/dist/esm/utils/mobileUpload/error.js +3 -12
  148. package/dist/esm/utils/mobileUpload/helpers.js +2 -11
  149. package/dist/esm/utils/mobileUpload/stateMachine/index.js +0 -6
  150. package/dist/esm/utils/mobileUpload/stateMachine/states/uploading.js +0 -3
  151. package/dist/esm/utils/overrideMediaTypeIfUnknown.js +0 -1
  152. package/dist/esm/utils/polling/errors.js +1 -10
  153. package/dist/esm/utils/polling/index.js +1 -27
  154. package/dist/esm/utils/request/errors.js +8 -17
  155. package/dist/esm/utils/request/helpers.js +22 -76
  156. package/dist/esm/utils/request/index.js +15 -20
  157. package/dist/esm/utils/shouldFetchRemoteFileStates.js +1 -15
  158. package/dist/esm/utils/url.js +4 -18
  159. package/dist/esm/utils/with-media-client-hoc.js +12 -17
  160. package/dist/esm/version.json +1 -1
  161. package/dist/types/client/file-fetcher/index.d.ts +6 -2
  162. package/package.json +8 -6
  163. 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; // loadedmetadata, loadeddata, play, playing
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
- resolve = _this$jobs$id.resolve,
60
- reject = _this$jobs$id.reject;
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 = // This is needed to handle "subscribe" function overload.
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
  }
@@ -21,7 +21,5 @@ Object.defineProperty(exports, "toPromise", {
21
21
  return _toPromise.toPromise;
22
22
  }
23
23
  });
24
-
25
24
  var _toPromise = require("./toPromise");
26
-
27
25
  var _fromObservable = require("./fromObservable");
@@ -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
- id = this.id,
48
- _this$metadata = this.metadata;
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
- occurrenceKey = _this$metadata.occurrenceKey;
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(); // ensure subject errors if polling exceeds max iterations or uncaught exception in executor
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");
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createServicesCache = createServicesCache;
7
-
8
7
  var _lru_map = require("lru_map");
9
-
10
8
  function createServicesCache() {
11
9
  return new _lru_map.LRUMap(100);
12
10
  }