@atlaskit/media-client 20.2.1 → 21.1.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 +35 -0
  2. package/dist/cjs/client/file-fetcher/error.js +4 -4
  3. package/dist/cjs/client/file-fetcher/index.js +275 -287
  4. package/dist/cjs/client/media-client.js +48 -34
  5. package/dist/cjs/client/media-store/index.js +367 -314
  6. package/dist/cjs/client/media-store/resolveAuth.js +30 -32
  7. package/dist/cjs/client/stargate-client.js +14 -16
  8. package/dist/cjs/index.js +6 -13
  9. package/dist/cjs/models/media.js +8 -9
  10. package/dist/cjs/uploader/error.js +4 -4
  11. package/dist/cjs/uploader/index.js +88 -96
  12. package/dist/cjs/utils/convertBase64ToBlob.js +2 -2
  13. package/dist/cjs/utils/createFileDataLoader.js +67 -70
  14. package/dist/cjs/utils/getDimensionsFromBlob.js +23 -25
  15. package/dist/cjs/utils/getVideoDimensionsFromBlob.js +24 -26
  16. package/dist/cjs/utils/hashing/hasherCreator.js +32 -34
  17. package/dist/cjs/utils/mediaSubscribable/fromObservable.js +2 -2
  18. package/dist/cjs/utils/mobileUpload/error.js +4 -4
  19. package/dist/cjs/utils/mobileUpload/helpers.js +41 -43
  20. package/dist/cjs/utils/mobileUpload/stateMachine/index.js +14 -16
  21. package/dist/cjs/utils/parseJwt.js +52 -0
  22. package/dist/cjs/utils/polling/index.js +40 -42
  23. package/dist/cjs/utils/request/errors.js +9 -9
  24. package/dist/cjs/utils/request/helpers.js +143 -155
  25. package/dist/cjs/utils/request/index.js +24 -26
  26. package/dist/cjs/utils/shouldFetchRemoteFileStates.js +39 -41
  27. package/dist/cjs/version.json +1 -1
  28. package/dist/es2019/client/file-fetcher/index.js +1 -3
  29. package/dist/es2019/client/media-client.js +3 -2
  30. package/dist/es2019/client/media-store/index.js +58 -15
  31. package/dist/es2019/index.js +2 -3
  32. package/dist/es2019/models/media.js +6 -4
  33. package/dist/es2019/uploader/index.js +3 -0
  34. package/dist/es2019/utils/mediaSubscribable/fromObservable.js +2 -2
  35. package/dist/es2019/utils/mediaSubscribable/toPromise.js +10 -12
  36. package/dist/es2019/utils/parseJwt.js +46 -0
  37. package/dist/es2019/version.json +1 -1
  38. package/dist/esm/client/file-fetcher/error.js +4 -4
  39. package/dist/esm/client/file-fetcher/index.js +273 -286
  40. package/dist/esm/client/media-client.js +46 -32
  41. package/dist/esm/client/media-store/index.js +367 -314
  42. package/dist/esm/client/media-store/resolveAuth.js +30 -32
  43. package/dist/esm/client/stargate-client.js +14 -16
  44. package/dist/esm/index.js +2 -3
  45. package/dist/esm/models/media.js +6 -6
  46. package/dist/esm/uploader/error.js +4 -4
  47. package/dist/esm/uploader/index.js +89 -96
  48. package/dist/esm/utils/convertBase64ToBlob.js +2 -2
  49. package/dist/esm/utils/createFileDataLoader.js +65 -69
  50. package/dist/esm/utils/getDimensionsFromBlob.js +23 -25
  51. package/dist/esm/utils/getVideoDimensionsFromBlob.js +24 -26
  52. package/dist/esm/utils/hashing/hasherCreator.js +28 -30
  53. package/dist/esm/utils/mediaSubscribable/fromObservable.js +2 -2
  54. package/dist/esm/utils/mobileUpload/error.js +4 -4
  55. package/dist/esm/utils/mobileUpload/helpers.js +41 -43
  56. package/dist/esm/utils/mobileUpload/stateMachine/index.js +14 -16
  57. package/dist/esm/utils/parseJwt.js +46 -0
  58. package/dist/esm/utils/polling/index.js +40 -42
  59. package/dist/esm/utils/request/errors.js +9 -9
  60. package/dist/esm/utils/request/helpers.js +143 -155
  61. package/dist/esm/utils/request/index.js +24 -26
  62. package/dist/esm/utils/shouldFetchRemoteFileStates.js +39 -41
  63. package/dist/esm/version.json +1 -1
  64. package/dist/types/client/__mocks__/media-client.d.ts +0 -2
  65. package/dist/types/client/file-fetcher/index.d.ts +4 -4
  66. package/dist/types/client/media-client.d.ts +1 -2
  67. package/dist/types/client/media-store/index.d.ts +17 -13
  68. package/dist/types/index.d.ts +4 -6
  69. package/dist/types/models/file-state.d.ts +2 -2
  70. package/dist/types/models/media.d.ts +1 -21
  71. package/dist/types/utils/createFileDataLoader.d.ts +2 -2
  72. package/dist/types/utils/createMediaSubject.d.ts +2 -2
  73. package/dist/types/utils/detectEmptyFile.d.ts +2 -2
  74. package/dist/types/utils/mediaSubscribable/fromObservable.d.ts +3 -3
  75. package/dist/types/utils/mediaSubscribable/toPromise.d.ts +2 -2
  76. package/dist/types/utils/mediaSubscribable/types.d.ts +9 -8
  77. package/dist/types/utils/parseJwt.d.ts +1 -0
  78. package/package.json +2 -2
  79. package/report.api.md +77 -126
  80. package/dist/cjs/client/collection-fetcher.js +0 -98
  81. package/dist/cjs/models/media-subscribable.js +0 -5
  82. package/dist/cjs/utils/deprecatedEndpointError.js +0 -43
  83. package/dist/es2019/client/collection-fetcher.js +0 -38
  84. package/dist/es2019/models/media-subscribable.js +0 -1
  85. package/dist/es2019/utils/deprecatedEndpointError.js +0 -20
  86. package/dist/esm/client/collection-fetcher.js +0 -89
  87. package/dist/esm/models/media-subscribable.js +0 -1
  88. package/dist/esm/utils/deprecatedEndpointError.js +0 -34
  89. package/dist/types/client/collection-fetcher.d.ts +0 -42
  90. package/dist/types/models/media-subscribable.d.ts +0 -3
  91. package/dist/types/utils/deprecatedEndpointError.d.ts +0 -16
@@ -13,31 +13,29 @@ var getDimensionsFromBlob = /*#__PURE__*/function () {
13
13
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(mediaType, blob) {
14
14
  var url;
15
15
  return _regenerator.default.wrap(function _callee$(_context) {
16
- while (1) {
17
- switch (_context.prev = _context.next) {
18
- case 0:
19
- _context.t0 = mediaType;
20
- _context.next = _context.t0 === 'image' ? 3 : _context.t0 === 'video' ? 11 : 12;
21
- break;
22
- case 3:
23
- url = URL.createObjectURL(blob);
24
- _context.prev = 4;
25
- _context.next = 7;
26
- return (0, _getImageDimensionsFromBlob.getImageDimensionsFromBlob)(url);
27
- case 7:
28
- return _context.abrupt("return", _context.sent);
29
- case 8:
30
- _context.prev = 8;
31
- URL.revokeObjectURL(url);
32
- return _context.finish(8);
33
- case 11:
34
- return _context.abrupt("return", (0, _getVideoDimensionsFromBlob.getVideoDimensionsFromBlob)(blob));
35
- case 12:
36
- throw new Error("Can't extract dimensions from ".concat(mediaType));
37
- case 13:
38
- case "end":
39
- return _context.stop();
40
- }
16
+ while (1) switch (_context.prev = _context.next) {
17
+ case 0:
18
+ _context.t0 = mediaType;
19
+ _context.next = _context.t0 === 'image' ? 3 : _context.t0 === 'video' ? 11 : 12;
20
+ break;
21
+ case 3:
22
+ url = URL.createObjectURL(blob);
23
+ _context.prev = 4;
24
+ _context.next = 7;
25
+ return (0, _getImageDimensionsFromBlob.getImageDimensionsFromBlob)(url);
26
+ case 7:
27
+ return _context.abrupt("return", _context.sent);
28
+ case 8:
29
+ _context.prev = 8;
30
+ URL.revokeObjectURL(url);
31
+ return _context.finish(8);
32
+ case 11:
33
+ return _context.abrupt("return", (0, _getVideoDimensionsFromBlob.getVideoDimensionsFromBlob)(blob));
34
+ case 12:
35
+ throw new Error("Can't extract dimensions from ".concat(mediaType));
36
+ case 13:
37
+ case "end":
38
+ return _context.stop();
41
39
  }
42
40
  }, _callee, null, [[4,, 8, 11]]);
43
41
  }));
@@ -10,34 +10,32 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
10
10
  var getVideoDimensionsFromBlob = /*#__PURE__*/function () {
11
11
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(blob) {
12
12
  return _regenerator.default.wrap(function _callee$(_context) {
13
- while (1) {
14
- switch (_context.prev = _context.next) {
15
- case 0:
16
- return _context.abrupt("return", new Promise(function (resolve, reject) {
17
- var url = URL.createObjectURL(blob);
18
- var video = document.createElement('video');
19
- video.preload = 'metadata';
20
- video.src = url;
21
- video.muted = true;
13
+ while (1) switch (_context.prev = _context.next) {
14
+ case 0:
15
+ return _context.abrupt("return", new Promise(function (resolve, reject) {
16
+ var url = URL.createObjectURL(blob);
17
+ var video = document.createElement('video');
18
+ video.preload = 'metadata';
19
+ video.src = url;
20
+ video.muted = true;
22
21
 
23
- // loadedmetadata, loadeddata, play, playing
24
- video.addEventListener('loadedmetadata', function timeupdateHandler() {
25
- video.removeEventListener('loadedmetadata', timeupdateHandler);
26
- resolve({
27
- width: video.videoWidth,
28
- height: video.videoHeight
29
- });
30
- URL.revokeObjectURL(url);
22
+ // loadedmetadata, loadeddata, play, playing
23
+ video.addEventListener('loadedmetadata', function timeupdateHandler() {
24
+ video.removeEventListener('loadedmetadata', timeupdateHandler);
25
+ resolve({
26
+ width: video.videoWidth,
27
+ height: video.videoHeight
31
28
  });
32
- video.addEventListener('error', function () {
33
- reject(new Error('failed to load video'));
34
- URL.revokeObjectURL(url);
35
- });
36
- }));
37
- case 1:
38
- case "end":
39
- return _context.stop();
40
- }
29
+ URL.revokeObjectURL(url);
30
+ });
31
+ video.addEventListener('error', function () {
32
+ reject(new Error('failed to load video'));
33
+ URL.revokeObjectURL(url);
34
+ });
35
+ }));
36
+ case 1:
37
+ case "end":
38
+ return _context.stop();
41
39
  }
42
40
  }, _callee);
43
41
  }));
@@ -19,42 +19,40 @@ var createHasher = /*#__PURE__*/function () {
19
19
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
20
20
  var numWorkers, _yield$import, WorkerHasher, _yield$import2, SimpleHasher;
21
21
  return _regenerator.default.wrap(function _callee$(_context) {
22
- while (1) {
23
- switch (_context.prev = _context.next) {
24
- case 0:
25
- numWorkers = 3;
26
- if (hasher) {
27
- _context.next = 17;
28
- break;
29
- }
30
- _context.prev = 2;
31
- _context.next = 5;
32
- return Promise.resolve().then(function () {
33
- return _interopRequireWildcard(require('./workerHasher'));
34
- });
35
- case 5:
36
- _yield$import = _context.sent;
37
- WorkerHasher = _yield$import.WorkerHasher;
38
- hasher = new WorkerHasher(numWorkers);
22
+ while (1) switch (_context.prev = _context.next) {
23
+ case 0:
24
+ numWorkers = 3;
25
+ if (hasher) {
39
26
  _context.next = 17;
40
27
  break;
41
- case 10:
42
- _context.prev = 10;
43
- _context.t0 = _context["catch"](2);
44
- _context.next = 14;
45
- return Promise.resolve().then(function () {
46
- return _interopRequireWildcard(require('./simpleHasher'));
47
- });
48
- case 14:
49
- _yield$import2 = _context.sent;
50
- SimpleHasher = _yield$import2.SimpleHasher;
51
- hasher = new SimpleHasher();
52
- case 17:
53
- return _context.abrupt("return", hasher);
54
- case 18:
55
- case "end":
56
- return _context.stop();
57
- }
28
+ }
29
+ _context.prev = 2;
30
+ _context.next = 5;
31
+ return Promise.resolve().then(function () {
32
+ return _interopRequireWildcard(require('./workerHasher'));
33
+ });
34
+ case 5:
35
+ _yield$import = _context.sent;
36
+ WorkerHasher = _yield$import.WorkerHasher;
37
+ hasher = new WorkerHasher(numWorkers);
38
+ _context.next = 17;
39
+ break;
40
+ case 10:
41
+ _context.prev = 10;
42
+ _context.t0 = _context["catch"](2);
43
+ _context.next = 14;
44
+ return Promise.resolve().then(function () {
45
+ return _interopRequireWildcard(require('./simpleHasher'));
46
+ });
47
+ case 14:
48
+ _yield$import2 = _context.sent;
49
+ SimpleHasher = _yield$import2.SimpleHasher;
50
+ hasher = new SimpleHasher();
51
+ case 17:
52
+ return _context.abrupt("return", hasher);
53
+ case 18:
54
+ case "end":
55
+ return _context.stop();
58
56
  }
59
57
  }, _callee, null, [[2, 10]]);
60
58
  }));
@@ -21,6 +21,6 @@ function fromObservable(observable) {
21
21
  }
22
22
  };
23
23
  }
24
- function createMediaSubscribable(mediaSubscribableItem) {
25
- return fromObservable((0, _createMediaSubject.createMediaSubject)(mediaSubscribableItem));
24
+ function createMediaSubscribable(item) {
25
+ return fromObservable((0, _createMediaSubject.createMediaSubject)(item));
26
26
  }
@@ -31,10 +31,10 @@ var MobileUploadError = /*#__PURE__*/function (_BaseMediaClientError) {
31
31
  get: function get() {
32
32
  var reason = this.reason,
33
33
  id = this.id,
34
- _this$metadata = this.metadata;
35
- _this$metadata = _this$metadata === void 0 ? {} : _this$metadata;
36
- var collectionName = _this$metadata.collectionName,
37
- occurrenceKey = _this$metadata.occurrenceKey;
34
+ _this$metadata = this.metadata,
35
+ _this$metadata2 = _this$metadata === void 0 ? {} : _this$metadata,
36
+ collectionName = _this$metadata2.collectionName,
37
+ occurrenceKey = _this$metadata2.occurrenceKey;
38
38
  return {
39
39
  reason: reason,
40
40
  id: id,
@@ -34,50 +34,48 @@ var createMobileDownloadFileStream = function createMobileDownloadFileStream(dat
34
34
  poll.execute( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
35
35
  var response, fileState;
36
36
  return _regenerator.default.wrap(function _callee$(_context) {
37
- while (1) {
38
- switch (_context.prev = _context.next) {
39
- case 0:
40
- _context.next = 2;
41
- return dataloader.load({
42
- id: id,
43
- collectionName: collectionName
44
- });
45
- case 2:
46
- response = _context.sent;
47
- if (response) {
48
- _context.next = 5;
49
- break;
50
- }
51
- throw new _error.MobileUploadError('emptyItems', id, {
52
- collectionName: collectionName,
53
- occurrenceKey: occurrenceKey
54
- });
55
- case 5:
56
- if (!(0, _detectEmptyFile.isEmptyFile)(response)) {
57
- _context.next = 7;
58
- break;
59
- }
60
- throw new _error.MobileUploadError('zeroVersionFile', id, {
61
- collectionName: collectionName,
62
- occurrenceKey: occurrenceKey
63
- });
64
- case 7:
65
- fileState = (0, _fileState.mapMediaItemToFileState)(id, response);
66
- subject.next(fileState);
67
- _context.t0 = fileState.status;
68
- _context.next = _context.t0 === 'processing' ? 12 : _context.t0 === 'processed' ? 14 : 16;
37
+ while (1) switch (_context.prev = _context.next) {
38
+ case 0:
39
+ _context.next = 2;
40
+ return dataloader.load({
41
+ id: id,
42
+ collectionName: collectionName
43
+ });
44
+ case 2:
45
+ response = _context.sent;
46
+ if (response) {
47
+ _context.next = 5;
69
48
  break;
70
- case 12:
71
- // the only case for continuing polling, otherwise this function is run once only
72
- poll.next();
73
- return _context.abrupt("break", 16);
74
- case 14:
75
- subject.complete();
76
- return _context.abrupt("break", 16);
77
- case 16:
78
- case "end":
79
- return _context.stop();
80
- }
49
+ }
50
+ throw new _error.MobileUploadError('emptyItems', id, {
51
+ collectionName: collectionName,
52
+ occurrenceKey: occurrenceKey
53
+ });
54
+ case 5:
55
+ if (!(0, _detectEmptyFile.isEmptyFile)(response)) {
56
+ _context.next = 7;
57
+ break;
58
+ }
59
+ throw new _error.MobileUploadError('zeroVersionFile', id, {
60
+ collectionName: collectionName,
61
+ occurrenceKey: occurrenceKey
62
+ });
63
+ case 7:
64
+ fileState = (0, _fileState.mapMediaItemToFileState)(id, response);
65
+ subject.next(fileState);
66
+ _context.t0 = fileState.status;
67
+ _context.next = _context.t0 === 'processing' ? 12 : _context.t0 === 'processed' ? 14 : 16;
68
+ break;
69
+ case 12:
70
+ // the only case for continuing polling, otherwise this function is run once only
71
+ poll.next();
72
+ return _context.abrupt("break", 16);
73
+ case 14:
74
+ subject.complete();
75
+ return _context.abrupt("break", 16);
76
+ case 16:
77
+ case "end":
78
+ return _context.stop();
81
79
  }
82
80
  }, _callee);
83
81
  })));
@@ -40,22 +40,20 @@ var createMobileUploadStateMachine = function createMobileUploadStateMachine(dat
40
40
  var _shouldFetchRemoteFileStates2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(ctx) {
41
41
  var currentFileState, mediaType, mimeType, preview;
42
42
  return _regenerator.default.wrap(function _callee$(_context) {
43
- while (1) {
44
- switch (_context.prev = _context.next) {
45
- case 0:
46
- currentFileState = ctx.currentFileState;
47
- if (!(0, _fileState.isProcessingFileState)(currentFileState)) {
48
- _context.next = 4;
49
- break;
50
- }
51
- mediaType = currentFileState.mediaType, mimeType = currentFileState.mimeType, preview = currentFileState.preview;
52
- return _context.abrupt("return", (0, _shouldFetchRemoteFileStates3.shouldFetchRemoteFileStates)(mediaType, mimeType, preview));
53
- case 4:
54
- return _context.abrupt("return", false);
55
- case 5:
56
- case "end":
57
- return _context.stop();
58
- }
43
+ while (1) switch (_context.prev = _context.next) {
44
+ case 0:
45
+ currentFileState = ctx.currentFileState;
46
+ if (!(0, _fileState.isProcessingFileState)(currentFileState)) {
47
+ _context.next = 4;
48
+ break;
49
+ }
50
+ mediaType = currentFileState.mediaType, mimeType = currentFileState.mimeType, preview = currentFileState.preview;
51
+ return _context.abrupt("return", (0, _shouldFetchRemoteFileStates3.shouldFetchRemoteFileStates)(mediaType, mimeType, preview));
52
+ case 4:
53
+ return _context.abrupt("return", false);
54
+ case 5:
55
+ case "end":
56
+ return _context.stop();
59
57
  }
60
58
  }, _callee);
61
59
  }));
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = _default;
7
+ // Implementation obtained from https://github.com/auth0/jwt-decode
8
+ // Copied from https://bitbucket.org/atlassian/%7Bc8e2f021-38d2-46d0-9b7a-b3f7b428f724%7D/pull-requests/13080
9
+
10
+ /* Decodes base64 string into unicode */
11
+ var b64DecodeUnicode = function b64DecodeUnicode(str) {
12
+ return decodeURIComponent(atob(str).replace(/(.)/g, function (m, p) {
13
+ var code = p.charCodeAt(0).toString(16).toUpperCase();
14
+ if (code.length < 2) {
15
+ code = '0' + code;
16
+ }
17
+ return '%' + code;
18
+ }));
19
+ };
20
+
21
+ /* Decodes base64url string into unicode */
22
+ var b64Decode = function b64Decode(str) {
23
+ var output = str.replace(/-/g, '+').replace(/_/g, '/');
24
+ switch (output.length % 4) {
25
+ case 0:
26
+ break;
27
+ case 2:
28
+ output += '==';
29
+ break;
30
+ case 3:
31
+ output += '=';
32
+ break;
33
+ default:
34
+ throw new Error('Illegal base64url string!');
35
+ }
36
+ try {
37
+ return b64DecodeUnicode(output);
38
+ } catch (err) {
39
+ return atob(output);
40
+ }
41
+ };
42
+ function _default(token) {
43
+ try {
44
+ var body = token.split('.')[1];
45
+ return JSON.parse(b64Decode(body));
46
+ } catch (e) {
47
+ if (e instanceof Error) {
48
+ throw new Error('Invalid token specified: ' + e.message);
49
+ }
50
+ throw e;
51
+ }
52
+ }
@@ -50,49 +50,47 @@ var PollingFunction = /*#__PURE__*/function () {
50
50
  var _this = this;
51
51
  var poll_maxAttempts;
52
52
  return _regenerator.default.wrap(function _callee$(_context) {
53
- while (1) {
54
- switch (_context.prev = _context.next) {
55
- case 0:
56
- poll_maxAttempts = this.options.poll_maxAttempts;
57
- if (!(poll_maxAttempts === 0)) {
58
- _context.next = 3;
59
- break;
60
- }
61
- return _context.abrupt("return", this.fail(new _errors.PollingError('pollingMaxAttemptsExceeded', this.attempt)));
62
- case 3:
63
- _context.prev = 3;
64
- // executor must explicitly call this.next() for triggering next iteration (pull)
65
- this.shouldIterate = false;
66
- _context.next = 7;
67
- return executor();
68
- case 7:
69
- if (this.shouldIterate) {
70
- _context.next = 9;
71
- break;
72
- }
73
- return _context.abrupt("return");
74
- case 9:
75
- if (!(this.attempt >= poll_maxAttempts)) {
76
- _context.next = 11;
77
- break;
78
- }
79
- return _context.abrupt("return", this.fail(new _errors.PollingError('pollingMaxAttemptsExceeded', this.attempt)));
80
- case 11:
81
- this.poll_intervalMs = this.getIntervalMsForIteration(this.attempt);
82
- this.attempt++;
83
- this.timeoutId = window.setTimeout(function () {
84
- return _this.execute(executor);
85
- }, this.poll_intervalMs);
86
- _context.next = 19;
53
+ while (1) switch (_context.prev = _context.next) {
54
+ case 0:
55
+ poll_maxAttempts = this.options.poll_maxAttempts;
56
+ if (!(poll_maxAttempts === 0)) {
57
+ _context.next = 3;
87
58
  break;
88
- case 16:
89
- _context.prev = 16;
90
- _context.t0 = _context["catch"](3);
91
- this.fail(_context.t0);
92
- case 19:
93
- case "end":
94
- return _context.stop();
95
- }
59
+ }
60
+ return _context.abrupt("return", this.fail(new _errors.PollingError('pollingMaxAttemptsExceeded', this.attempt)));
61
+ case 3:
62
+ _context.prev = 3;
63
+ // executor must explicitly call this.next() for triggering next iteration (pull)
64
+ this.shouldIterate = false;
65
+ _context.next = 7;
66
+ return executor();
67
+ case 7:
68
+ if (this.shouldIterate) {
69
+ _context.next = 9;
70
+ break;
71
+ }
72
+ return _context.abrupt("return");
73
+ case 9:
74
+ if (!(this.attempt >= poll_maxAttempts)) {
75
+ _context.next = 11;
76
+ break;
77
+ }
78
+ return _context.abrupt("return", this.fail(new _errors.PollingError('pollingMaxAttemptsExceeded', this.attempt)));
79
+ case 11:
80
+ this.poll_intervalMs = this.getIntervalMsForIteration(this.attempt);
81
+ this.attempt++;
82
+ this.timeoutId = window.setTimeout(function () {
83
+ return _this.execute(executor);
84
+ }, this.poll_intervalMs);
85
+ _context.next = 19;
86
+ break;
87
+ case 16:
88
+ _context.prev = 16;
89
+ _context.t0 = _context["catch"](3);
90
+ this.fail(_context.t0);
91
+ case 19:
92
+ case "end":
93
+ return _context.stop();
96
94
  }
97
95
  }, _callee, this, [[3, 16]]);
98
96
  }));
@@ -30,15 +30,15 @@ var RequestError = /*#__PURE__*/function (_BaseMediaClientError) {
30
30
  key: "attributes",
31
31
  get: function get() {
32
32
  var reason = this.reason,
33
- _this$metadata = this.metadata;
34
- _this$metadata = _this$metadata === void 0 ? {} : _this$metadata;
35
- var method = _this$metadata.method,
36
- endpoint = _this$metadata.endpoint,
37
- mediaRegion = _this$metadata.mediaRegion,
38
- mediaEnv = _this$metadata.mediaEnv,
39
- attempts = _this$metadata.attempts,
40
- clientExhaustedRetries = _this$metadata.clientExhaustedRetries,
41
- statusCode = _this$metadata.statusCode,
33
+ _this$metadata = this.metadata,
34
+ _this$metadata2 = _this$metadata === void 0 ? {} : _this$metadata,
35
+ method = _this$metadata2.method,
36
+ endpoint = _this$metadata2.endpoint,
37
+ mediaRegion = _this$metadata2.mediaRegion,
38
+ mediaEnv = _this$metadata2.mediaEnv,
39
+ attempts = _this$metadata2.attempts,
40
+ clientExhaustedRetries = _this$metadata2.clientExhaustedRetries,
41
+ statusCode = _this$metadata2.statusCode,
42
42
  innerError = this.innerError;
43
43
  return {
44
44
  reason: reason,