@bigbinary/neeto-media-recorder 1.4.0-beta2 → 2.0.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.
package/core.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import axios from 'axios';
2
2
  import { isPresent, isNot, existsBy, isNotEmpty } from '@bigbinary/neeto-cist';
3
- import { RETRIABLE_ERRORS, UPLOAD_EVENT, UPLOAD_STATUS, SCREEN_RECORDER_STATUS, START_RECORDING_SOUND, RECORDING_LIMIT_REACHED_WARNING_SOUND, MIME_TYPE as MIME_TYPE$1, SCREEN_RECORDER_ERROR, SCREEN_RECORDER_EVENT, RECORDING_TIME_LIMIT_FREE_PLAN, ONE_SECOND, HALF_A_SECOND_IN_MILLISECONDS, ONE_SECOND_IN_MILLISECONDS, TWO_HUNDRED_MILLISECONDS, ONE_MINUTE_IN_MILLISECONDS, STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND } from '@bigbinary/neeto-media-recorder/constants';
3
+ import { RETRIABLE_ERRORS, UPLOAD_STATUS, UPLOAD_EVENT, SCREEN_RECORDER_STATUS, START_RECORDING_SOUND, RECORDING_LIMIT_REACHED_WARNING_SOUND, MIME_TYPE as MIME_TYPE$1, SCREEN_RECORDER_ERROR, SCREEN_RECORDER_EVENT, RECORDING_TIME_LIMIT_FREE_PLAN, ONE_SECOND, HALF_A_SECOND_IN_MILLISECONDS, ONE_SECOND_IN_MILLISECONDS, TWO_HUNDRED_MILLISECONDS, ONE_MINUTE_IN_MILLISECONDS, STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND } from '@bigbinary/neeto-media-recorder/constants';
4
4
  import { isNotNil, min, identity, isEmpty, isNil, pick, equals, not } from 'ramda';
5
5
  import platform from 'platform';
6
6
  import withImmutableActions from '@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions';
@@ -820,6 +820,7 @@ var _callbacks$1 = /*#__PURE__*/new WeakMap();
820
820
  var _store$1 = /*#__PURE__*/new WeakMap();
821
821
  var _abortController = /*#__PURE__*/new WeakMap();
822
822
  var _pendingS3ChunkUploads = /*#__PURE__*/new WeakMap();
823
+ var _completeUploadPromise = /*#__PURE__*/new WeakMap();
823
824
  var _fireCallbacks$1 = /*#__PURE__*/new WeakMap();
824
825
  var _uploadChunkToS = /*#__PURE__*/new WeakMap();
825
826
  var _getCurrentUnUploadedBlob = /*#__PURE__*/new WeakMap();
@@ -869,6 +870,10 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
869
870
  writable: true,
870
871
  value: []
871
872
  });
873
+ _classPrivateFieldInitSpec$1(this, _completeUploadPromise, {
874
+ writable: true,
875
+ value: void 0
876
+ });
872
877
  _defineProperty(this, "initialize", function (recordingId, uploadId) {
873
878
  _classPrivateFieldSet(_this, _recordingId, recordingId);
874
879
  _classPrivateFieldSet(_this, _uploadId, uploadId);
@@ -939,8 +944,7 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
939
944
  }).toSorted(function (a, b) {
940
945
  return Number(a.partNumber) - Number(b.partNumber);
941
946
  });
942
- _context.next = 16;
943
- return completeUploadApi.create({
947
+ _classPrivateFieldSet(_this, _completeUploadPromise, completeUploadApi.create({
944
948
  recordingId: _classPrivateFieldGet(_this, _recordingId),
945
949
  payload: {
946
950
  parts: parts,
@@ -949,25 +953,35 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
949
953
  config: {
950
954
  signal: _classPrivateFieldGet(_this, _abortController).signal
951
955
  }
952
- });
953
- case 16:
954
- _context.next = 18;
955
- return _classPrivateFieldGet(_this, _store$1).setState({
956
+ }));
957
+ _context.next = 17;
958
+ return _classPrivateFieldGet(_this, _completeUploadPromise);
959
+ case 17:
960
+ if (!(_classPrivateFieldGet(_this, _store$1).getState().status === UPLOAD_STATUS.aborting)) {
961
+ _context.next = 19;
962
+ break;
963
+ }
964
+ return _context.abrupt("return");
965
+ case 19:
966
+ _classPrivateFieldGet(_this, _store$1).setState({
956
967
  status: UPLOAD_STATUS.completed
957
968
  });
958
- case 18:
959
969
  _classPrivateFieldGet(_this, _fireCallbacks$1).call(_this, UPLOAD_EVENT.onComplete);
960
- _context.next = 24;
970
+ _context.next = 26;
961
971
  break;
962
- case 21:
963
- _context.prev = 21;
972
+ case 23:
973
+ _context.prev = 23;
964
974
  _context.t0 = _context["catch"](0);
965
975
  logger.error(_context.t0);
966
- case 24:
976
+ case 26:
977
+ _context.prev = 26;
978
+ _classPrivateFieldSet(_this, _completeUploadPromise, null);
979
+ return _context.finish(26);
980
+ case 29:
967
981
  case "end":
968
982
  return _context.stop();
969
983
  }
970
- }, _callee, null, [[0, 21]]);
984
+ }, _callee, null, [[0, 23, 26, 29]]);
971
985
  })));
972
986
  _defineProperty(this, "abortUpload", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
973
987
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
@@ -983,15 +997,18 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
983
997
  }
984
998
  return _context2.abrupt("return");
985
999
  case 4:
1000
+ _context2.next = 6;
1001
+ return _classPrivateFieldGet(_this, _completeUploadPromise);
1002
+ case 6:
986
1003
  _classPrivateFieldGet(_this, _abortController).abort();
987
- _context2.next = 7;
1004
+ _context2.next = 9;
988
1005
  return abortUploadApi.create({
989
1006
  recordingId: _classPrivateFieldGet(_this, _recordingId),
990
1007
  payload: {
991
1008
  uploadId: _classPrivateFieldGet(_this, _uploadId)
992
1009
  }
993
1010
  });
994
- case 7:
1011
+ case 9:
995
1012
  _classPrivateFieldSet(_this, _unUploadedChunks, []);
996
1013
  _classPrivateFieldSet(_this, _partNumber, 1);
997
1014
  _classPrivateFieldSet(_this, _s3PartUploadPromises, []);
@@ -999,17 +1016,17 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
999
1016
  status: ""
1000
1017
  });
1001
1018
  _classPrivateFieldSet(_this, _abortController, null);
1002
- _context2.next = 17;
1019
+ _context2.next = 19;
1003
1020
  break;
1004
- case 14:
1005
- _context2.prev = 14;
1021
+ case 16:
1022
+ _context2.prev = 16;
1006
1023
  _context2.t0 = _context2["catch"](0);
1007
1024
  logger.error(_context2.t0);
1008
- case 17:
1025
+ case 19:
1009
1026
  case "end":
1010
1027
  return _context2.stop();
1011
1028
  }
1012
- }, _callee2, null, [[0, 14]]);
1029
+ }, _callee2, null, [[0, 16]]);
1013
1030
  })));
1014
1031
  _defineProperty(this, "resetState", function () {
1015
1032
  _classPrivateFieldSet(_this, _recordingId, "");