@magmamath/students-features 0.9.107-rc.13 → 0.9.107-rc.14

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 (42) hide show
  1. package/dist/commonjs/features/voiceRecord/hooks/useVoiceRecorder.js +1 -0
  2. package/dist/commonjs/features/voiceRecord/hooks/useVoiceRecorder.js.map +1 -1
  3. package/dist/commonjs/features/voiceRecord/model/Recorder.model.js +17 -1
  4. package/dist/commonjs/features/voiceRecord/model/Recorder.model.js.map +1 -1
  5. package/dist/commonjs/features/voiceRecord/model/VoiceRecord.model.js +4 -2
  6. package/dist/commonjs/features/voiceRecord/model/VoiceRecord.model.js.map +1 -1
  7. package/dist/commonjs/features/voiceRecord/model/VoiceRecordCollection.js.map +1 -1
  8. package/dist/module/features/keyboard/components/UnitsLayout/keyboardGroups.js.map +1 -0
  9. package/dist/module/features/problemSelector/components/ProblemSelector.js.map +1 -0
  10. package/dist/module/features/voiceRecord/components/VoiceRecordDeleteButton.js.map +1 -0
  11. package/dist/module/features/voiceRecord/hooks/useVoiceRecorder.js +1 -0
  12. package/dist/module/features/voiceRecord/hooks/useVoiceRecorder.js.map +1 -1
  13. package/dist/module/features/voiceRecord/model/Recorder.model.js +17 -1
  14. package/dist/module/features/voiceRecord/model/Recorder.model.js.map +1 -1
  15. package/dist/module/features/voiceRecord/model/VoiceRecord.model.js +4 -2
  16. package/dist/module/features/voiceRecord/model/VoiceRecord.model.js.map +1 -1
  17. package/dist/module/features/voiceRecord/model/VoiceRecordCollection.js.map +1 -1
  18. package/dist/module/shared/hooks/useDebounce.js.map +1 -0
  19. package/dist/typescript/commonjs/features/voiceRecord/hooks/useVoiceRecorder.d.ts.map +1 -1
  20. package/dist/typescript/commonjs/features/voiceRecord/model/Recorder.model.d.ts +5 -0
  21. package/dist/typescript/commonjs/features/voiceRecord/model/Recorder.model.d.ts.map +1 -1
  22. package/dist/typescript/commonjs/features/voiceRecord/model/VoiceRecord.model.d.ts +2 -2
  23. package/dist/typescript/commonjs/features/voiceRecord/model/VoiceRecord.model.d.ts.map +1 -1
  24. package/dist/typescript/commonjs/features/voiceRecord/model/VoiceRecordCollection.d.ts +5 -5
  25. package/dist/typescript/commonjs/features/voiceRecord/model/VoiceRecordCollection.d.ts.map +1 -1
  26. package/dist/typescript/commonjs/features/voiceRecord/types.d.ts +2 -2
  27. package/dist/typescript/commonjs/features/voiceRecord/types.d.ts.map +1 -1
  28. package/dist/typescript/module/features/voiceRecord/hooks/useVoiceRecorder.d.ts.map +1 -1
  29. package/dist/typescript/module/features/voiceRecord/model/Recorder.model.d.ts +5 -0
  30. package/dist/typescript/module/features/voiceRecord/model/Recorder.model.d.ts.map +1 -1
  31. package/dist/typescript/module/features/voiceRecord/model/VoiceRecord.model.d.ts +2 -2
  32. package/dist/typescript/module/features/voiceRecord/model/VoiceRecord.model.d.ts.map +1 -1
  33. package/dist/typescript/module/features/voiceRecord/model/VoiceRecordCollection.d.ts +5 -5
  34. package/dist/typescript/module/features/voiceRecord/model/VoiceRecordCollection.d.ts.map +1 -1
  35. package/dist/typescript/module/features/voiceRecord/types.d.ts +2 -2
  36. package/dist/typescript/module/features/voiceRecord/types.d.ts.map +1 -1
  37. package/package.json +1 -1
  38. package/src/features/voiceRecord/hooks/useVoiceRecorder.ts +1 -0
  39. package/src/features/voiceRecord/model/Recorder.model.ts +23 -2
  40. package/src/features/voiceRecord/model/VoiceRecord.model.ts +11 -6
  41. package/src/features/voiceRecord/model/VoiceRecordCollection.ts +4 -4
  42. package/src/features/voiceRecord/types.ts +3 -3
@@ -16,6 +16,7 @@ const useVoiceRecorder = model => {
16
16
  const recorder = (0, _expoAudio.useAudioRecorder)(_expoAudio.RecordingPresets.LOW_QUALITY, status => {
17
17
  if (status.error) {
18
18
  model.notification.error(`Recorder error: ${status.error}`);
19
+ model.recorderModel.clearStopResolver();
19
20
  return;
20
21
  }
21
22
  if (status.isFinished && status.url) {
@@ -1 +1 @@
1
- {"version":3,"names":["_expoAudio","require","_helpers","_react","_reactNativeUi","_constants","_effectorReact","useVoiceRecorder","model","player","useAudioPlayer","audioFilePath","useUnit","$uri","recorder","useAudioRecorder","RecordingPresets","LOW_QUALITY","status","error","notification","isFinished","url","setUri","recorderState","useAudioRecorderState","useEffect","durationMillis","VOICE_RECORDER_MAX_DURATION_MS","isRecording","recorderModel","stop","IS_WEB","getAvailableInputs","then","inputs","setAvailableInputs","removeListener","addAudioInputsListenerWeb","devices","getDuration","durationMs","getAudioDurationMs","setAudioFileDurationMs","setVoiceRecordState","VoiceRecorderState","RECORDING","PAUSED","IDLE","reset","exports"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/hooks/useVoiceRecorder.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_expoAudio","require","_helpers","_react","_reactNativeUi","_constants","_effectorReact","useVoiceRecorder","model","player","useAudioPlayer","audioFilePath","useUnit","$uri","recorder","useAudioRecorder","RecordingPresets","LOW_QUALITY","status","error","notification","recorderModel","clearStopResolver","isFinished","url","setUri","recorderState","useAudioRecorderState","useEffect","durationMillis","VOICE_RECORDER_MAX_DURATION_MS","isRecording","stop","IS_WEB","getAvailableInputs","then","inputs","setAvailableInputs","removeListener","addAudioInputsListenerWeb","devices","getDuration","durationMs","getAudioDurationMs","setAudioFileDurationMs","setVoiceRecordState","VoiceRecorderState","RECORDING","PAUSED","IDLE","reset","exports"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/hooks/useVoiceRecorder.ts"],"mappings":"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","ignoreList":[]}
@@ -12,6 +12,7 @@ const AUDIO_MODE_CONFIG = {
12
12
  allowsRecording: true
13
13
  };
14
14
  class RecorderModel {
15
+ stopResolver = null;
15
16
  reset = (0, _effector.createEvent)();
16
17
  setAudioFileDurationMs = (0, _effector.createEvent)();
17
18
  setVoiceRecordState = (0, _effector.createEvent)();
@@ -29,9 +30,24 @@ class RecorderModel {
29
30
  throw error;
30
31
  }
31
32
  });
32
- stop = (0, _effector.createEffect)(async () => {
33
+ stop = (0, _effector.createEffect)(() => {
33
34
  return this.recorder.stop();
34
35
  });
36
+ stopAndGetCollectionItem() {
37
+ return new Promise(resolve => {
38
+ this.stopResolver = resolve;
39
+ this.recorder.stop();
40
+ });
41
+ }
42
+ resolveStopWithCollectionItem(item) {
43
+ if (this.stopResolver) {
44
+ this.stopResolver(item);
45
+ this.stopResolver = null;
46
+ }
47
+ }
48
+ clearStopResolver() {
49
+ this.stopResolver = null;
50
+ }
35
51
  }
36
52
  exports.RecorderModel = RecorderModel;
37
53
  //# sourceMappingURL=Recorder.model.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_effector","require","_expoAudio","_constants","AUDIO_MODE_CONFIG","playsInSilentMode","allowsRecording","RecorderModel","reset","createEvent","setAudioFileDurationMs","setVoiceRecordState","setAvailableInputs","$audioFileDurationMs","restore","$voiceRecordState","VoiceRecorderState","IDLE","$availableInputs","start","createEffect","setAudioModeAsync","recorder","prepareToRecordAsync","record","error","console","stop","exports"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/model/Recorder.model.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAGA,MAAMG,iBAAiB,GAAG;EACxBC,iBAAiB,EAAE,IAAI;EACvBC,eAAe,EAAE;AACnB,CAAU;AAEH,MAAMC,aAAa,CAAC;EAGTC,KAAK,GAAG,IAAAC,qBAAW,EAAC,CAAC;EACrBC,sBAAsB,GAAG,IAAAD,qBAAW,EAAS,CAAC;EAC9CE,mBAAmB,GAAG,IAAAF,qBAAW,EAAqB,CAAC;EACvDG,kBAAkB,GAAG,IAAAH,qBAAW,EAAuB,CAAC;EAExDI,oBAAoB,GAAG,IAAAC,iBAAO,EAAC,IAAI,CAACJ,sBAAsB,EAAE,CAAC,CAAC,CAACF,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EAChFO,iBAAiB,GAAG,IAAAD,iBAAO,EACzC,IAAI,CAACH,mBAAmB,EACxBK,6BAAkB,CAACC,IACrB,CAAC,CAACT,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EACHU,gBAAgB,GAAG,IAAAJ,iBAAO,EAAC,IAAI,CAACF,kBAAkB,EAAE,EAAE,CAAC;EAEvDO,KAAK,GAAG,IAAAC,sBAAY,EAAC,YAAY;IAC/C,IAAI;MACF,MAAM,IAAAC,4BAAiB,EAACjB,iBAAiB,CAAC;MAC1C,MAAM,IAAI,CAACkB,QAAQ,CAACC,oBAAoB,CAAC,CAAC;MAC1C,IAAI,CAACD,QAAQ,CAACE,MAAM,CAAC,CAAC;IACxB,CAAC,CAAC,OAAOC,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,2BAA2B,EAAEA,KAAK,CAAC;MACjD,MAAMA,KAAK;IACb;EACF,CAAC,CAAC;EAEcE,IAAI,GAAG,IAAAP,sBAAY,EAAC,YAAY;IAC9C,OAAO,IAAI,CAACE,QAAQ,CAACK,IAAI,CAAC,CAAC;EAC7B,CAAC,CAAC;AACJ;AAACC,OAAA,CAAArB,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["_effector","require","_expoAudio","_constants","AUDIO_MODE_CONFIG","playsInSilentMode","allowsRecording","RecorderModel","stopResolver","reset","createEvent","setAudioFileDurationMs","setVoiceRecordState","setAvailableInputs","$audioFileDurationMs","restore","$voiceRecordState","VoiceRecorderState","IDLE","$availableInputs","start","createEffect","setAudioModeAsync","recorder","prepareToRecordAsync","record","error","console","stop","stopAndGetCollectionItem","Promise","resolve","resolveStopWithCollectionItem","item","clearStopResolver","exports"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/model/Recorder.model.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAGA,MAAMG,iBAAiB,GAAG;EACxBC,iBAAiB,EAAE,IAAI;EACvBC,eAAe,EAAE;AACnB,CAAU;AAIH,MAAMC,aAAa,CAAC;EAEjBC,YAAY,GAAwB,IAAI;EAEhCC,KAAK,GAAG,IAAAC,qBAAW,EAAC,CAAC;EACrBC,sBAAsB,GAAG,IAAAD,qBAAW,EAAS,CAAC;EAC9CE,mBAAmB,GAAG,IAAAF,qBAAW,EAAqB,CAAC;EACvDG,kBAAkB,GAAG,IAAAH,qBAAW,EAAuB,CAAC;EAExDI,oBAAoB,GAAG,IAAAC,iBAAO,EAAC,IAAI,CAACJ,sBAAsB,EAAE,CAAC,CAAC,CAACF,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EAChFO,iBAAiB,GAAG,IAAAD,iBAAO,EACzC,IAAI,CAACH,mBAAmB,EACxBK,6BAAkB,CAACC,IACrB,CAAC,CAACT,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EACHU,gBAAgB,GAAG,IAAAJ,iBAAO,EAAC,IAAI,CAACF,kBAAkB,EAAE,EAAE,CAAC;EAEvDO,KAAK,GAAG,IAAAC,sBAAY,EAAC,YAAY;IAC/C,IAAI;MACF,MAAM,IAAAC,4BAAiB,EAAClB,iBAAiB,CAAC;MAC1C,MAAM,IAAI,CAACmB,QAAQ,CAACC,oBAAoB,CAAC,CAAC;MAC1C,IAAI,CAACD,QAAQ,CAACE,MAAM,CAAC,CAAC;IACxB,CAAC,CAAC,OAAOC,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,2BAA2B,EAAEA,KAAK,CAAC;MACjD,MAAMA,KAAK;IACb;EACF,CAAC,CAAC;EAEcE,IAAI,GAAG,IAAAP,sBAAY,EAAC,MAAM;IACxC,OAAO,IAAI,CAACE,QAAQ,CAACK,IAAI,CAAC,CAAC;EAC7B,CAAC,CAAC;EAEKC,wBAAwBA,CAAA,EAAuC;IACpE,OAAO,IAAIC,OAAO,CAAEC,OAAO,IAAK;MAC9B,IAAI,CAACvB,YAAY,GAAGuB,OAAO;MAC3B,IAAI,CAACR,QAAQ,CAACK,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC;EACJ;EAEOI,6BAA6BA,CAACC,IAA+B,EAAQ;IAC1E,IAAI,IAAI,CAACzB,YAAY,EAAE;MACrB,IAAI,CAACA,YAAY,CAACyB,IAAI,CAAC;MACvB,IAAI,CAACzB,YAAY,GAAG,IAAI;IAC1B;EACF;EAEO0B,iBAAiBA,CAAA,EAAS;IAC/B,IAAI,CAAC1B,YAAY,GAAG,IAAI;EAC1B;AACF;AAAC2B,OAAA,CAAA5B,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -103,12 +103,14 @@ class VoiceRecordModel {
103
103
  if (error.name === 'CanceledError') return;
104
104
  this.notification.error((0, _index.t)('voiceRecorder.uploadFailed'));
105
105
  });
106
- this.collection.add(currentKey, {
106
+ const collectionItem = {
107
107
  durationMs,
108
108
  audioUploadPromise,
109
109
  controller,
110
110
  uri
111
- });
111
+ };
112
+ this.collection.add(currentKey, collectionItem);
113
+ this.recorderModel.resolveStopWithCollectionItem(collectionItem);
112
114
  return audioUploadPromise;
113
115
  }
114
116
  setupUploadHandler() {
@@ -1 +1 @@
1
- {"version":3,"names":["_effector","require","_helpers","_index","_RecorderModel","_VoiceRecordCollection","VoiceRecordModel","setCurrentKey","createEvent","setUri","setCurrentRecord","reset","setIsDisabled","$currentKey","restore","$currentRecord","createStore","$uri","$isDisabled","deleteCurrentRecording","attach","source","mapParams","props","currentKey","notification","effect","createEffect","recordingItem","collection","get","abortUploadIfInProgress","resetRecordingState","info","t","initializeRecording","hasPermissions","ensureRecordingPermissions","error","inputs","getAvailableInputs","recorderModel","recorder","setAvailableInputs","length","start","constructor","api","events","RecorderModel","VoiceRecordsCollection","setupUploadHandler","setupCurrentRecordSync","id","controller","abort","delete","handleAudioUpload","uri","durationMs","getAudioDurationMs","formData","generateAudioFormData","audioFileUri","uploadAudio","uploadAudioFileRequestGenerator","audioUploadPromise","then","data","update","catch","name","add","sample","clock","filter","fn","target","setAudioFileDurationMs","exports"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/model/VoiceRecord.model.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_effector","require","_helpers","_index","_RecorderModel","_VoiceRecordCollection","VoiceRecordModel","setCurrentKey","createEvent","setUri","setCurrentRecord","reset","setIsDisabled","$currentKey","restore","$currentRecord","createStore","$uri","$isDisabled","deleteCurrentRecording","attach","source","mapParams","props","currentKey","notification","effect","createEffect","recordingItem","collection","get","abortUploadIfInProgress","resetRecordingState","info","t","initializeRecording","hasPermissions","ensureRecordingPermissions","error","inputs","getAvailableInputs","recorderModel","recorder","setAvailableInputs","length","start","constructor","api","events","RecorderModel","VoiceRecordsCollection","setupUploadHandler","setupCurrentRecordSync","id","controller","abort","delete","handleAudioUpload","uri","durationMs","getAudioDurationMs","formData","generateAudioFormData","audioFileUri","uploadAudio","uploadAudioFileRequestGenerator","audioUploadPromise","then","data","update","catch","name","collectionItem","add","resolveStopWithCollectionItem","sample","clock","filter","fn","target","setAudioFileDurationMs","exports"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/model/VoiceRecord.model.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["VoiceRecordsCollection","collection","Map","add","key","item","set","update","existingItem","get","delete","clear","exports"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/model/VoiceRecordCollection.ts"],"mappings":";;;;;;AAEO,MAAMA,sBAAsB,CAAC;EAClBC,UAAU,GAAsC,IAAIC,GAAG,CAAC,CAAC;EAElEC,GAAGA,CAACC,GAAW,EAAEC,IAA0B,EAAE;IAClD,IAAI,CAACJ,UAAU,CAACK,GAAG,CAACF,GAAG,EAAEC,IAAI,CAAC;EAChC;EAEOE,MAAMA,CAACH,GAAW,EAAEC,IAAmC,EAAE;IAC9D,MAAMG,YAAY,GAAG,IAAI,CAACP,UAAU,CAACQ,GAAG,CAACL,GAAG,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAACH,UAAU,CAACK,GAAG,CAACF,GAAG,EAAE;MAAE,GAAGI,YAAY;MAAE,GAAGH;IAAK,CAAC,CAAC;EACxD;EAEOK,MAAMA,CAACN,GAAW,EAAE;IACzB,IAAI,CAACH,UAAU,CAACS,MAAM,CAACN,GAAG,CAAC;EAC7B;EAEOK,GAAGA,CAACL,GAAW,EAAE;IACtB,OAAO,IAAI,CAACH,UAAU,CAACQ,GAAG,CAACL,GAAG,CAAC;EACjC;EAEOO,KAAKA,CAAA,EAAG;IACb,IAAI,CAACV,UAAU,CAACU,KAAK,CAAC,CAAC;EACzB;AACF;AAACC,OAAA,CAAAZ,sBAAA,GAAAA,sBAAA","ignoreList":[]}
1
+ {"version":3,"names":["VoiceRecordsCollection","collection","Map","add","key","item","set","update","existingItem","get","delete","clear","exports"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/model/VoiceRecordCollection.ts"],"mappings":";;;;;;AAEO,MAAMA,sBAAsB,CAAC;EAClBC,UAAU,GAA2C,IAAIC,GAAG,CAAC,CAAC;EAEvEC,GAAGA,CAACC,GAAW,EAAEC,IAA+B,EAAE;IACvD,IAAI,CAACJ,UAAU,CAACK,GAAG,CAACF,GAAG,EAAEC,IAAI,CAAC;EAChC;EAEOE,MAAMA,CAACH,GAAW,EAAEC,IAAwC,EAAE;IACnE,MAAMG,YAAY,GAAG,IAAI,CAACP,UAAU,CAACQ,GAAG,CAACL,GAAG,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAACH,UAAU,CAACK,GAAG,CAACF,GAAG,EAAE;MAAE,GAAGI,YAAY;MAAE,GAAGH;IAAK,CAAC,CAAC;EACxD;EAEOK,MAAMA,CAACN,GAAW,EAAE;IACzB,IAAI,CAACH,UAAU,CAACS,MAAM,CAACN,GAAG,CAAC;EAC7B;EAEOK,GAAGA,CAACL,GAAW,EAAE;IACtB,OAAO,IAAI,CAACH,UAAU,CAACQ,GAAG,CAACL,GAAG,CAAC;EACjC;EAEOO,KAAKA,CAAA,EAAG;IACb,IAAI,CAACV,UAAU,CAACU,KAAK,CAAC,CAAC;EACzB;AACF;AAACC,OAAA,CAAAZ,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MATH_AREA_UNITS","MATH_LENGTH_UNITS","MATH_TIME_UNITS","MATH_VOLUME_UNITS","MATH_WEIGHT_UNITS","RulerIcon","RectangleIcon","VolumeIcon","WeightIcon","KeyboardUnitsGroupType","MathEntryKeyboardGroupId","TimeIcon","MATH_ENTRY_LENGTH_UNITS_SW_KEYBOARD_GROUPS","id","LENGTH_UNITS_SW","keys","MILLIMETER","CENTIMETER","DECIMETER","METER","KILOMETER","MILE_SE","MATH_ENTRY_LENGTH_UNITS_US_KEYBOARD_GROUPS","LENGTH_UNITS_US","INCH","FOOT","YARD","MILE","MATH_ENTRY_AREA_UNITS_SW_KEYBOARD_GROUPS","AREA_UNITS_SW","SQUARE_MILLIMETER","SQUARE_CENTIMETER","SQUARE_DECIMETER","SQUARE_METER","SQUARE_KILOMETER","HECTARE","MATH_ENTRY_AREA_UNITS_US_KEYBOARD_GROUPS","AREA_UNITS_US","SQUARE_INCH","SQUARE_FOOT","SQUARE_YARD","SQUARE_MILE","MATH_ENTRY_AREA_UNITS_UK_KEYBOARD_GROUPS","AREA_UNITS_UK","MATH_ENTRY_VOLUME_UNITS_SW_KEYBOARD_GROUPS","VOLUME_UNITS_SW","CUBIC_MILLIMETER","CUBIC_CENTIMETER","CUBIC_DECIMETER","CUBIC_METER","CUBIC_KILOMETER","MILLILITER","CL","DL","LITER_SE","MATH_ENTRY_VOLUME_UNITS_US_KEYBOARD_GROUPS","VOLUME_UNITS_US","MILLILITER_SE","GAL","CUBIC_INCH","CUBIC_FOOT","CUBIC_YARD","CUBIC_MILE","CUP","FLOZ","MATH_ENTRY_VOLUME_UNITS_UK_KEYBOARD_GROUPS","VOLUME_UNITS_UK","MATH_ENTRY_WEIGHT_UNITS_SW_KEYBOARD_GROUPS","WEIGHT_UNITS_SW","MG","G","HG","KG","T","MATH_ENTRY_TIME_UNITS_SW_KEYBOARD_GROUPS","TIME_SW","S","M","H","MATH_ENTRY_WEIGHT_UNITS_US_KEYBOARD_GROUPS","WEIGHT_UNITS_US","OZ","LB","TON","UNITS_KEYBOARD_GROUPS","Map","LENGTH","icon","AREA","VOLUME","WEIGHT","TIME"],"sourceRoot":"../../../../../../src","sources":["features/keyboard/components/UnitsLayout/keyboardGroups.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","createElement","_createElement","View","StyleSheet","SPACING","ProblemSelectorButton","PROBLEM_SELECTOR_CONTENT_WIDTH","jsx","_jsx","ProblemSelector","buttons","length","style","styles","container","children","contentContainer","map","btn","key","create","alignItems","width","flexWrap","flexDirection","paddingVertical","gap"],"sourceRoot":"../../../../../src","sources":["features/problemSelector/components/ProblemSelector.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAAC,aAAA,IAAAC,cAAA,QAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,OAAO,QAAQ,4BAA4B;AAEpD,SAASC,qBAAqB,QAAQ,4BAAyB;AAE/D,SAASC,8BAA8B,QAAQ,iBAAc;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAO7D,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAAEC;AAA8B,CAAC,KAAK;EACpE,IAAI,CAACA,OAAO,CAACC,MAAM,EAAE,OAAO,IAAI;EAEhC,oBACEH,IAAA,CAACN,IAAI;IAACU,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,eAC5BP,IAAA,CAACN,IAAI;MAACU,KAAK,EAAEC,MAAM,CAACG,gBAAiB;MAAAD,QAAA,EAClCL,OAAO,CAACO,GAAG,CAAEC,GAAG,iBACfjB,cAAA,CAACI,qBAAqB;QAAA,GAAKa,GAAG;QAAEC,GAAG,EAAED,GAAG,CAACC;MAAI,CAAE,CAChD;IAAC,CACE;EAAC,CACH,CAAC;AAEX,CAAC;AAED,MAAMN,MAAM,GAAGV,UAAU,CAACiB,MAAM,CAAC;EAC/BN,SAAS,EAAE;IAAEO,UAAU,EAAE;EAAS,CAAC;EACnCL,gBAAgB,EAAE;IAChBM,KAAK,EAAEhB,8BAA8B;IACrCiB,QAAQ,EAAE,MAAM;IAChBC,aAAa,EAAE,KAAK;IACpBC,eAAe,EAAErB,OAAO,CAAC,GAAG,CAAC;IAC7BsB,GAAG,EAAE;EACP;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","TouchableOpacity","COLORS","TrashcanIcon","React","jsx","_jsx","VoiceRecordDeleteButton","onPress","isDisabled","style","styles","container","disabled","children","size","color","NEUTRAL_5","NEUTRAL_9","create","width","height","alignItems","justifyContent"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/components/VoiceRecordDeleteButton.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,gBAAgB,QAAQ,cAAc;AAC3D,SAASC,MAAM,EAAEC,YAAY,QAAQ,4BAA4B;AACjE,OAAOC,KAAK,MAAM,OAAO;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAOzB,OAAO,MAAMC,uBAAuB,GAAGA,CAAC;EAAEC,OAAO;EAAEC;AAAmC,CAAC,KAAK;EAC1F,oBACEH,IAAA,CAACL,gBAAgB;IAACS,KAAK,EAAEC,MAAM,CAACC,SAAU;IAACJ,OAAO,EAAEA,OAAQ;IAACK,QAAQ,EAAEJ,UAAW;IAAAK,QAAA,eAChFR,IAAA,CAACH,YAAY;MAACY,IAAI,EAAE,EAAG;MAACC,KAAK,EAAEP,UAAU,GAAGP,MAAM,CAACe,SAAS,GAAGf,MAAM,CAACgB;IAAU,CAAE;EAAC,CACnE,CAAC;AAEvB,CAAC;AAED,MAAMP,MAAM,GAAGX,UAAU,CAACmB,MAAM,CAAC;EAC/BP,SAAS,EAAE;IACTQ,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -12,6 +12,7 @@ export const useVoiceRecorder = model => {
12
12
  const recorder = useAudioRecorder(RecordingPresets.LOW_QUALITY, status => {
13
13
  if (status.error) {
14
14
  model.notification.error(`Recorder error: ${status.error}`);
15
+ model.recorderModel.clearStopResolver();
15
16
  return;
16
17
  }
17
18
  if (status.isFinished && status.url) {
@@ -1 +1 @@
1
- {"version":3,"names":["RecordingPresets","useAudioPlayer","useAudioRecorder","useAudioRecorderState","addAudioInputsListenerWeb","getAudioDurationMs","getAvailableInputs","useEffect","IS_WEB","VOICE_RECORDER_MAX_DURATION_MS","VoiceRecorderState","useUnit","useVoiceRecorder","model","player","audioFilePath","$uri","recorder","LOW_QUALITY","status","error","notification","isFinished","url","setUri","recorderState","durationMillis","isRecording","recorderModel","stop","then","inputs","setAvailableInputs","removeListener","devices","getDuration","durationMs","setAudioFileDurationMs","setVoiceRecordState","RECORDING","PAUSED","IDLE","reset"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/hooks/useVoiceRecorder.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["RecordingPresets","useAudioPlayer","useAudioRecorder","useAudioRecorderState","addAudioInputsListenerWeb","getAudioDurationMs","getAvailableInputs","useEffect","IS_WEB","VOICE_RECORDER_MAX_DURATION_MS","VoiceRecorderState","useUnit","useVoiceRecorder","model","player","audioFilePath","$uri","recorder","LOW_QUALITY","status","error","notification","recorderModel","clearStopResolver","isFinished","url","setUri","recorderState","durationMillis","isRecording","stop","then","inputs","setAvailableInputs","removeListener","devices","getDuration","durationMs","setAudioFileDurationMs","setVoiceRecordState","RECORDING","PAUSED","IDLE","reset"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/hooks/useVoiceRecorder.ts"],"mappings":"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","ignoreList":[]}
@@ -8,6 +8,7 @@ const AUDIO_MODE_CONFIG = {
8
8
  allowsRecording: true
9
9
  };
10
10
  export class RecorderModel {
11
+ stopResolver = null;
11
12
  reset = createEvent();
12
13
  setAudioFileDurationMs = createEvent();
13
14
  setVoiceRecordState = createEvent();
@@ -25,8 +26,23 @@ export class RecorderModel {
25
26
  throw error;
26
27
  }
27
28
  });
28
- stop = createEffect(async () => {
29
+ stop = createEffect(() => {
29
30
  return this.recorder.stop();
30
31
  });
32
+ stopAndGetCollectionItem() {
33
+ return new Promise(resolve => {
34
+ this.stopResolver = resolve;
35
+ this.recorder.stop();
36
+ });
37
+ }
38
+ resolveStopWithCollectionItem(item) {
39
+ if (this.stopResolver) {
40
+ this.stopResolver(item);
41
+ this.stopResolver = null;
42
+ }
43
+ }
44
+ clearStopResolver() {
45
+ this.stopResolver = null;
46
+ }
31
47
  }
32
48
  //# sourceMappingURL=Recorder.model.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createEffect","createEvent","restore","setAudioModeAsync","VoiceRecorderState","AUDIO_MODE_CONFIG","playsInSilentMode","allowsRecording","RecorderModel","reset","setAudioFileDurationMs","setVoiceRecordState","setAvailableInputs","$audioFileDurationMs","$voiceRecordState","IDLE","$availableInputs","start","recorder","prepareToRecordAsync","record","error","console","stop"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/model/Recorder.model.ts"],"mappings":";;AAAA,SAASA,YAAY,EAAEC,WAAW,EAAEC,OAAO,QAAQ,UAAU;AAC7D,SAAwBC,iBAAiB,QAAQ,YAAY;AAC7D,SAASC,kBAAkB,QAAQ,iBAAc;AAGjD,MAAMC,iBAAiB,GAAG;EACxBC,iBAAiB,EAAE,IAAI;EACvBC,eAAe,EAAE;AACnB,CAAU;AAEV,OAAO,MAAMC,aAAa,CAAC;EAGTC,KAAK,GAAGR,WAAW,CAAC,CAAC;EACrBS,sBAAsB,GAAGT,WAAW,CAAS,CAAC;EAC9CU,mBAAmB,GAAGV,WAAW,CAAqB,CAAC;EACvDW,kBAAkB,GAAGX,WAAW,CAAuB,CAAC;EAExDY,oBAAoB,GAAGX,OAAO,CAAC,IAAI,CAACQ,sBAAsB,EAAE,CAAC,CAAC,CAACD,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EAChFK,iBAAiB,GAAGZ,OAAO,CACzC,IAAI,CAACS,mBAAmB,EACxBP,kBAAkB,CAACW,IACrB,CAAC,CAACN,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EACHO,gBAAgB,GAAGd,OAAO,CAAC,IAAI,CAACU,kBAAkB,EAAE,EAAE,CAAC;EAEvDK,KAAK,GAAGjB,YAAY,CAAC,YAAY;IAC/C,IAAI;MACF,MAAMG,iBAAiB,CAACE,iBAAiB,CAAC;MAC1C,MAAM,IAAI,CAACa,QAAQ,CAACC,oBAAoB,CAAC,CAAC;MAC1C,IAAI,CAACD,QAAQ,CAACE,MAAM,CAAC,CAAC;IACxB,CAAC,CAAC,OAAOC,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,2BAA2B,EAAEA,KAAK,CAAC;MACjD,MAAMA,KAAK;IACb;EACF,CAAC,CAAC;EAEcE,IAAI,GAAGvB,YAAY,CAAC,YAAY;IAC9C,OAAO,IAAI,CAACkB,QAAQ,CAACK,IAAI,CAAC,CAAC;EAC7B,CAAC,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["createEffect","createEvent","restore","setAudioModeAsync","VoiceRecorderState","AUDIO_MODE_CONFIG","playsInSilentMode","allowsRecording","RecorderModel","stopResolver","reset","setAudioFileDurationMs","setVoiceRecordState","setAvailableInputs","$audioFileDurationMs","$voiceRecordState","IDLE","$availableInputs","start","recorder","prepareToRecordAsync","record","error","console","stop","stopAndGetCollectionItem","Promise","resolve","resolveStopWithCollectionItem","item","clearStopResolver"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/model/Recorder.model.ts"],"mappings":";;AAAA,SAASA,YAAY,EAAEC,WAAW,EAAEC,OAAO,QAAQ,UAAU;AAC7D,SAAwBC,iBAAiB,QAAQ,YAAY;AAC7D,SAASC,kBAAkB,QAAQ,iBAAc;AAGjD,MAAMC,iBAAiB,GAAG;EACxBC,iBAAiB,EAAE,IAAI;EACvBC,eAAe,EAAE;AACnB,CAAU;AAIV,OAAO,MAAMC,aAAa,CAAC;EAEjBC,YAAY,GAAwB,IAAI;EAEhCC,KAAK,GAAGT,WAAW,CAAC,CAAC;EACrBU,sBAAsB,GAAGV,WAAW,CAAS,CAAC;EAC9CW,mBAAmB,GAAGX,WAAW,CAAqB,CAAC;EACvDY,kBAAkB,GAAGZ,WAAW,CAAuB,CAAC;EAExDa,oBAAoB,GAAGZ,OAAO,CAAC,IAAI,CAACS,sBAAsB,EAAE,CAAC,CAAC,CAACD,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EAChFK,iBAAiB,GAAGb,OAAO,CACzC,IAAI,CAACU,mBAAmB,EACxBR,kBAAkB,CAACY,IACrB,CAAC,CAACN,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EACHO,gBAAgB,GAAGf,OAAO,CAAC,IAAI,CAACW,kBAAkB,EAAE,EAAE,CAAC;EAEvDK,KAAK,GAAGlB,YAAY,CAAC,YAAY;IAC/C,IAAI;MACF,MAAMG,iBAAiB,CAACE,iBAAiB,CAAC;MAC1C,MAAM,IAAI,CAACc,QAAQ,CAACC,oBAAoB,CAAC,CAAC;MAC1C,IAAI,CAACD,QAAQ,CAACE,MAAM,CAAC,CAAC;IACxB,CAAC,CAAC,OAAOC,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,2BAA2B,EAAEA,KAAK,CAAC;MACjD,MAAMA,KAAK;IACb;EACF,CAAC,CAAC;EAEcE,IAAI,GAAGxB,YAAY,CAAC,MAAM;IACxC,OAAO,IAAI,CAACmB,QAAQ,CAACK,IAAI,CAAC,CAAC;EAC7B,CAAC,CAAC;EAEKC,wBAAwBA,CAAA,EAAuC;IACpE,OAAO,IAAIC,OAAO,CAAEC,OAAO,IAAK;MAC9B,IAAI,CAAClB,YAAY,GAAGkB,OAAO;MAC3B,IAAI,CAACR,QAAQ,CAACK,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC;EACJ;EAEOI,6BAA6BA,CAACC,IAA+B,EAAQ;IAC1E,IAAI,IAAI,CAACpB,YAAY,EAAE;MACrB,IAAI,CAACA,YAAY,CAACoB,IAAI,CAAC;MACvB,IAAI,CAACpB,YAAY,GAAG,IAAI;IAC1B;EACF;EAEOqB,iBAAiBA,CAAA,EAAS;IAC/B,IAAI,CAACrB,YAAY,GAAG,IAAI;EAC1B;AACF","ignoreList":[]}
@@ -99,12 +99,14 @@ export class VoiceRecordModel {
99
99
  if (error.name === 'CanceledError') return;
100
100
  this.notification.error(t('voiceRecorder.uploadFailed'));
101
101
  });
102
- this.collection.add(currentKey, {
102
+ const collectionItem = {
103
103
  durationMs,
104
104
  audioUploadPromise,
105
105
  controller,
106
106
  uri
107
- });
107
+ };
108
+ this.collection.add(currentKey, collectionItem);
109
+ this.recorderModel.resolveStopWithCollectionItem(collectionItem);
108
110
  return audioUploadPromise;
109
111
  }
110
112
  setupUploadHandler() {
@@ -1 +1 @@
1
- {"version":3,"names":["attach","createEffect","createEvent","createStore","restore","sample","ensureRecordingPermissions","generateAudioFormData","getAudioDurationMs","getAvailableInputs","uploadAudioFileRequestGenerator","t","RecorderModel","VoiceRecordsCollection","VoiceRecordModel","setCurrentKey","setUri","setCurrentRecord","reset","setIsDisabled","$currentKey","$currentRecord","$uri","$isDisabled","deleteCurrentRecording","source","mapParams","props","currentKey","notification","effect","recordingItem","collection","get","abortUploadIfInProgress","resetRecordingState","info","initializeRecording","hasPermissions","error","inputs","recorderModel","recorder","setAvailableInputs","length","start","constructor","api","events","setupUploadHandler","setupCurrentRecordSync","id","controller","abort","delete","handleAudioUpload","uri","durationMs","formData","audioFileUri","uploadAudio","audioUploadPromise","then","data","update","catch","name","add","clock","filter","fn","target","setAudioFileDurationMs"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/model/VoiceRecord.model.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["attach","createEffect","createEvent","createStore","restore","sample","ensureRecordingPermissions","generateAudioFormData","getAudioDurationMs","getAvailableInputs","uploadAudioFileRequestGenerator","t","RecorderModel","VoiceRecordsCollection","VoiceRecordModel","setCurrentKey","setUri","setCurrentRecord","reset","setIsDisabled","$currentKey","$currentRecord","$uri","$isDisabled","deleteCurrentRecording","source","mapParams","props","currentKey","notification","effect","recordingItem","collection","get","abortUploadIfInProgress","resetRecordingState","info","initializeRecording","hasPermissions","error","inputs","recorderModel","recorder","setAvailableInputs","length","start","constructor","api","events","setupUploadHandler","setupCurrentRecordSync","id","controller","abort","delete","handleAudioUpload","uri","durationMs","formData","audioFileUri","uploadAudio","audioUploadPromise","then","data","update","catch","name","collectionItem","add","resolveStopWithCollectionItem","clock","filter","fn","target","setAudioFileDurationMs"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/model/VoiceRecord.model.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["VoiceRecordsCollection","collection","Map","add","key","item","set","update","existingItem","get","delete","clear"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/model/VoiceRecordCollection.ts"],"mappings":";;AAEA,OAAO,MAAMA,sBAAsB,CAAC;EAClBC,UAAU,GAAsC,IAAIC,GAAG,CAAC,CAAC;EAElEC,GAAGA,CAACC,GAAW,EAAEC,IAA0B,EAAE;IAClD,IAAI,CAACJ,UAAU,CAACK,GAAG,CAACF,GAAG,EAAEC,IAAI,CAAC;EAChC;EAEOE,MAAMA,CAACH,GAAW,EAAEC,IAAmC,EAAE;IAC9D,MAAMG,YAAY,GAAG,IAAI,CAACP,UAAU,CAACQ,GAAG,CAACL,GAAG,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAACH,UAAU,CAACK,GAAG,CAACF,GAAG,EAAE;MAAE,GAAGI,YAAY;MAAE,GAAGH;IAAK,CAAC,CAAC;EACxD;EAEOK,MAAMA,CAACN,GAAW,EAAE;IACzB,IAAI,CAACH,UAAU,CAACS,MAAM,CAACN,GAAG,CAAC;EAC7B;EAEOK,GAAGA,CAACL,GAAW,EAAE;IACtB,OAAO,IAAI,CAACH,UAAU,CAACQ,GAAG,CAACL,GAAG,CAAC;EACjC;EAEOO,KAAKA,CAAA,EAAG;IACb,IAAI,CAACV,UAAU,CAACU,KAAK,CAAC,CAAC;EACzB;AACF","ignoreList":[]}
1
+ {"version":3,"names":["VoiceRecordsCollection","collection","Map","add","key","item","set","update","existingItem","get","delete","clear"],"sourceRoot":"../../../../../src","sources":["features/voiceRecord/model/VoiceRecordCollection.ts"],"mappings":";;AAEA,OAAO,MAAMA,sBAAsB,CAAC;EAClBC,UAAU,GAA2C,IAAIC,GAAG,CAAC,CAAC;EAEvEC,GAAGA,CAACC,GAAW,EAAEC,IAA+B,EAAE;IACvD,IAAI,CAACJ,UAAU,CAACK,GAAG,CAACF,GAAG,EAAEC,IAAI,CAAC;EAChC;EAEOE,MAAMA,CAACH,GAAW,EAAEC,IAAwC,EAAE;IACnE,MAAMG,YAAY,GAAG,IAAI,CAACP,UAAU,CAACQ,GAAG,CAACL,GAAG,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAACH,UAAU,CAACK,GAAG,CAACF,GAAG,EAAE;MAAE,GAAGI,YAAY;MAAE,GAAGH;IAAK,CAAC,CAAC;EACxD;EAEOK,MAAMA,CAACN,GAAW,EAAE;IACzB,IAAI,CAACH,UAAU,CAACS,MAAM,CAACN,GAAG,CAAC;EAC7B;EAEOK,GAAGA,CAACL,GAAW,EAAE;IACtB,OAAO,IAAI,CAACH,UAAU,CAACQ,GAAG,CAACL,GAAG,CAAC;EACjC;EAEOO,KAAKA,CAAA,EAAG;IACb,IAAI,CAACV,UAAU,CAACU,KAAK,CAAC,CAAC;EACzB;AACF","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useState","useDebounce","value","delay","debouncedValue","setDebouncedValue","timer","setTimeout","clearTimeout"],"sourceRoot":"../../../../src","sources":["shared/hooks/useDebounce.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAE3C,OAAO,MAAMC,WAAW,GAAGA,CAAIC,KAAQ,EAAEC,KAAc,KAAQ;EAC3D,MAAM,CAACC,cAAc,EAAEC,iBAAiB,CAAC,GAAGL,QAAQ,CAACE,KAAK,CAAC;EAE3DH,SAAS,CAAC,MAAM;IACZ,MAAMO,KAAK,GAAGC,UAAU,CAAC,MAAM;MAC3BF,iBAAiB,CAACH,KAAK,CAAC;IAC5B,CAAC,EAAEC,KAAK,IAAI,GAAG,CAAC;IAEhB,OAAO,MAAM;MACTK,YAAY,CAACF,KAAK,CAAC;IACvB,CAAC;EACL,CAAC,EAAE,CAACJ,KAAK,EAAEC,KAAK,CAAC,CAAC;EAElB,OAAOC,cAAc;AACzB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useVoiceRecorder.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/hooks/useVoiceRecorder.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAM7D,eAAO,MAAM,gBAAgB,UAAW,gBAAgB;;CAuEvD,CAAA"}
1
+ {"version":3,"file":"useVoiceRecorder.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/hooks/useVoiceRecorder.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAM7D,eAAO,MAAM,gBAAgB,UAAW,gBAAgB;;CAwEvD,CAAA"}
@@ -1,7 +1,9 @@
1
1
  import { AudioRecorder } from 'expo-audio';
2
2
  import { VoiceRecorderState } from '../constants';
3
+ import { VoiceRecordCollectionItem } from '../types';
3
4
  export declare class RecorderModel {
4
5
  recorder: AudioRecorder;
6
+ private stopResolver;
5
7
  readonly reset: import("effector").EventCallable<void>;
6
8
  readonly setAudioFileDurationMs: import("effector").EventCallable<number>;
7
9
  readonly setVoiceRecordState: import("effector").EventCallable<VoiceRecorderState>;
@@ -11,5 +13,8 @@ export declare class RecorderModel {
11
13
  readonly $availableInputs: import("effector").StoreWritable<MediaDeviceInfo[] | import("expo-audio").RecordingInput[]>;
12
14
  readonly start: import("effector").Effect<void, void, Error>;
13
15
  readonly stop: import("effector").Effect<void, void, Error>;
16
+ stopAndGetCollectionItem(): Promise<VoiceRecordCollectionItem>;
17
+ resolveStopWithCollectionItem(item: VoiceRecordCollectionItem): void;
18
+ clearStopResolver(): void;
14
19
  }
15
20
  //# sourceMappingURL=Recorder.model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Recorder.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/Recorder.model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAqB,MAAM,YAAY,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAQjD,qBAAa,aAAa;IACjB,QAAQ,EAAG,aAAa,CAAA;IAE/B,SAAgB,KAAK,yCAAgB;IACrC,SAAgB,sBAAsB,2CAAwB;IAC9D,SAAgB,mBAAmB,uDAAoC;IACvE,SAAgB,kBAAkB,8FAAsC;IAExE,SAAgB,oBAAoB,2CAA4D;IAChG,SAAgB,iBAAiB,uDAGd;IACnB,SAAgB,gBAAgB,8FAAuC;IAEvE,SAAgB,KAAK,+CASnB;IAEF,SAAgB,IAAI,+CAElB;CACH"}
1
+ {"version":3,"file":"Recorder.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/Recorder.model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAqB,MAAM,YAAY,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAwB,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAS1E,qBAAa,aAAa;IACjB,QAAQ,EAAG,aAAa,CAAA;IAC/B,OAAO,CAAC,YAAY,CAA4B;IAEhD,SAAgB,KAAK,yCAAgB;IACrC,SAAgB,sBAAsB,2CAAwB;IAC9D,SAAgB,mBAAmB,uDAAoC;IACvE,SAAgB,kBAAkB,8FAAsC;IAExE,SAAgB,oBAAoB,2CAA4D;IAChG,SAAgB,iBAAiB,uDAGd;IACnB,SAAgB,gBAAgB,8FAAuC;IAEvE,SAAgB,KAAK,+CASnB;IAEF,SAAgB,IAAI,+CAElB;IAEK,wBAAwB,IAAI,OAAO,CAAC,yBAAyB,CAAC;IAO9D,6BAA6B,CAAC,IAAI,EAAE,yBAAyB,GAAG,IAAI;IAOpE,iBAAiB,IAAI,IAAI;CAGjC"}
@@ -1,4 +1,4 @@
1
- import { AudioApi, VoiceRecordNotificationTypes, VoiceRecordStackItem } from '../types';
1
+ import { AudioApi, VoiceRecordNotificationTypes, VoiceRecordCollectionItem } from '../types';
2
2
  import { RecorderModel } from './Recorder.model';
3
3
  import { VoiceRecordsCollection } from './VoiceRecordCollection';
4
4
  type VoiceRecordModelParams = {
@@ -25,7 +25,7 @@ export declare class VoiceRecordModel {
25
25
  readonly reset: import("effector").EventCallable<void>;
26
26
  readonly setIsDisabled: import("effector").EventCallable<boolean>;
27
27
  readonly $currentKey: import("effector").StoreWritable<string>;
28
- readonly $currentRecord: import("effector").StoreWritable<VoiceRecordStackItem | null>;
28
+ readonly $currentRecord: import("effector").StoreWritable<VoiceRecordCollectionItem | null>;
29
29
  readonly $uri: import("effector").StoreWritable<string>;
30
30
  readonly $isDisabled: import("effector").StoreWritable<boolean>;
31
31
  readonly deleteCurrentRecording: import("effector").Effect<void | DeleteCurrentRecordingProps, void, Error>;
@@ -1 +1 @@
1
- {"version":3,"file":"VoiceRecord.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/VoiceRecord.model.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAEvF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAEhE,KAAK,sBAAsB,GAAG;IAC5B,GAAG,EAAE,QAAQ,CAAA;IACb,YAAY,EAAE,4BAA4B,CAAA;IAC1C,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CAAA;AAOD,KAAK,iBAAiB,GAAG;IACvB,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAMD,qBAAa,gBAAgB;IAC3B,SAAgB,aAAa,EAAE,aAAa,CAAA;IAC5C,SAAgB,UAAU,EAAE,sBAAsB,CAAA;IAClD,SAAgB,GAAG,EAAE,QAAQ,CAAA;IAC7B,SAAgB,YAAY,EAAE,4BAA4B,CAAA;IAC1D,SAAgB,MAAM,EAAE,iBAAiB,CAAA;IAEzC,SAAgB,aAAa,2CAAwB;IACrD,SAAgB,MAAM,2CAAwB;IAC9C,SAAgB,gBAAgB,wCAAqB;IACrD,SAAgB,KAAK,yCAAgB;IACrC,SAAgB,aAAa,4CAAyB;IAEtD,SAAgB,WAAW,2CAAkC;IAC7D,SAAgB,cAAc,gEAAmE;IACjG,SAAgB,IAAI,2CAA6C;IAEjE,SAAgB,WAAW,4CAAqC;IAEhE,SAAgB,sBAAsB,6EAiBpC;IAEF,SAAgB,mBAAmB,+CAkBjC;gBAEU,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,sBAAsB;IAWjE,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,mBAAmB;YAMb,iBAAiB;IA4B/B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,sBAAsB;CAsB/B"}
1
+ {"version":3,"file":"VoiceRecord.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/VoiceRecord.model.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAE5F,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAEhE,KAAK,sBAAsB,GAAG;IAC5B,GAAG,EAAE,QAAQ,CAAA;IACb,YAAY,EAAE,4BAA4B,CAAA;IAC1C,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CAAA;AAOD,KAAK,iBAAiB,GAAG;IACvB,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAMD,qBAAa,gBAAgB;IAC3B,SAAgB,aAAa,EAAE,aAAa,CAAA;IAC5C,SAAgB,UAAU,EAAE,sBAAsB,CAAA;IAClD,SAAgB,GAAG,EAAE,QAAQ,CAAA;IAC7B,SAAgB,YAAY,EAAE,4BAA4B,CAAA;IAC1D,SAAgB,MAAM,EAAE,iBAAiB,CAAA;IAEzC,SAAgB,aAAa,2CAAwB;IACrD,SAAgB,MAAM,2CAAwB;IAC9C,SAAgB,gBAAgB,wCAAqB;IACrD,SAAgB,KAAK,yCAAgB;IACrC,SAAgB,aAAa,4CAAyB;IAEtD,SAAgB,WAAW,2CAAkC;IAC7D,SAAgB,cAAc,qEAE7B;IACD,SAAgB,IAAI,2CAA6C;IAEjE,SAAgB,WAAW,4CAAqC;IAEhE,SAAgB,sBAAsB,6EAiBpC;IAEF,SAAgB,mBAAmB,+CAkBjC;gBAEU,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,sBAAsB;IAWjE,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,mBAAmB;YAMb,iBAAiB;IA+B/B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,sBAAsB;CAsB/B"}
@@ -1,10 +1,10 @@
1
- import { VoiceRecordStackItem } from '../types';
1
+ import { VoiceRecordCollectionItem } from '../types';
2
2
  export declare class VoiceRecordsCollection {
3
- readonly collection: Map<string, VoiceRecordStackItem>;
4
- add(key: string, item: VoiceRecordStackItem): void;
5
- update(key: string, item: Partial<VoiceRecordStackItem>): void;
3
+ readonly collection: Map<string, VoiceRecordCollectionItem>;
4
+ add(key: string, item: VoiceRecordCollectionItem): void;
5
+ update(key: string, item: Partial<VoiceRecordCollectionItem>): void;
6
6
  delete(key: string): void;
7
- get(key: string): VoiceRecordStackItem | undefined;
7
+ get(key: string): VoiceRecordCollectionItem | undefined;
8
8
  clear(): void;
9
9
  }
10
10
  //# sourceMappingURL=VoiceRecordCollection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VoiceRecordCollection.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/VoiceRecordCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAE/C,qBAAa,sBAAsB;IACjC,SAAgB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAY;IAElE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB;IAI3C,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAKvD,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,GAAG,CAAC,GAAG,EAAE,MAAM;IAIf,KAAK;CAGb"}
1
+ {"version":3,"file":"VoiceRecordCollection.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/VoiceRecordCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAEpD,qBAAa,sBAAsB;IACjC,SAAgB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAY;IAEvE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB;IAIhD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,yBAAyB,CAAC;IAK5D,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,GAAG,CAAC,GAAG,EAAE,MAAM;IAIf,KAAK;CAGb"}
@@ -21,7 +21,7 @@ export type AudioApi = {
21
21
  uploadAudioFile: (data: UploadAudioPayload) => Promise<UploadAudioResponse>;
22
22
  getAudioFileTranscript: (audioFileId: string) => Promise<AudioTranscriptResponse>;
23
23
  };
24
- export type VoiceRecordStackItem = {
24
+ export type VoiceRecordCollectionItem = {
25
25
  solutionId?: string;
26
26
  id?: string;
27
27
  durationMs?: number;
@@ -30,7 +30,7 @@ export type VoiceRecordStackItem = {
30
30
  controller?: AbortController;
31
31
  };
32
32
  export type VoiceRecordStack = {
33
- [problemId: string]: VoiceRecordStackItem;
33
+ [problemId: string]: VoiceRecordCollectionItem;
34
34
  };
35
35
  export type AvailableAudioInputs = Awaited<ReturnType<typeof getAvailableInputs>>;
36
36
  export type VoiceRecordDeleteModalParams = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/voiceRecord/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAE5D,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC;IAC/C,iBAAiB,EAAE,QAAQ,CAAA;CAC5B,CAAC,CAAA;AAEF,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AACD,KAAK,mBAAmB,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,eAAe,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC3E,sBAAsB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAA;CAClF,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kBAAkB,CAAC,EAAE,OAAO,CAAC,IAAI,GAAG,mBAAmB,CAAC,CAAA;IACxD,UAAU,CAAC,EAAE,eAAe,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB,CAAA;CAC1C,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAA;AAEjF,MAAM,MAAM,4BAA4B,GAAG;IACzC,KAAK,EAAE,gBAAgB,CAAA;CACxB,CAAA;AACD,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,EAAE,gBAAgB,CAAA;CACxB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/voiceRecord/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAE5D,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC;IAC/C,iBAAiB,EAAE,QAAQ,CAAA;CAC5B,CAAC,CAAA;AAEF,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AACD,KAAK,mBAAmB,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,eAAe,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC3E,sBAAsB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAA;CAClF,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kBAAkB,CAAC,EAAE,OAAO,CAAC,IAAI,GAAG,mBAAmB,CAAC,CAAA;IACxD,UAAU,CAAC,EAAE,eAAe,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,SAAS,EAAE,MAAM,GAAG,yBAAyB,CAAA;CAC/C,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAA;AAEjF,MAAM,MAAM,4BAA4B,GAAG;IACzC,KAAK,EAAE,gBAAgB,CAAA;CACxB,CAAA;AACD,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,EAAE,gBAAgB,CAAA;CACxB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useVoiceRecorder.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/hooks/useVoiceRecorder.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAM7D,eAAO,MAAM,gBAAgB,UAAW,gBAAgB;;CAuEvD,CAAA"}
1
+ {"version":3,"file":"useVoiceRecorder.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/hooks/useVoiceRecorder.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAM7D,eAAO,MAAM,gBAAgB,UAAW,gBAAgB;;CAwEvD,CAAA"}
@@ -1,7 +1,9 @@
1
1
  import { AudioRecorder } from 'expo-audio';
2
2
  import { VoiceRecorderState } from '../constants';
3
+ import { VoiceRecordCollectionItem } from '../types';
3
4
  export declare class RecorderModel {
4
5
  recorder: AudioRecorder;
6
+ private stopResolver;
5
7
  readonly reset: import("effector").EventCallable<void>;
6
8
  readonly setAudioFileDurationMs: import("effector").EventCallable<number>;
7
9
  readonly setVoiceRecordState: import("effector").EventCallable<VoiceRecorderState>;
@@ -11,5 +13,8 @@ export declare class RecorderModel {
11
13
  readonly $availableInputs: import("effector").StoreWritable<MediaDeviceInfo[] | import("expo-audio").RecordingInput[]>;
12
14
  readonly start: import("effector").Effect<void, void, Error>;
13
15
  readonly stop: import("effector").Effect<void, void, Error>;
16
+ stopAndGetCollectionItem(): Promise<VoiceRecordCollectionItem>;
17
+ resolveStopWithCollectionItem(item: VoiceRecordCollectionItem): void;
18
+ clearStopResolver(): void;
14
19
  }
15
20
  //# sourceMappingURL=Recorder.model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Recorder.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/Recorder.model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAqB,MAAM,YAAY,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAQjD,qBAAa,aAAa;IACjB,QAAQ,EAAG,aAAa,CAAA;IAE/B,SAAgB,KAAK,yCAAgB;IACrC,SAAgB,sBAAsB,2CAAwB;IAC9D,SAAgB,mBAAmB,uDAAoC;IACvE,SAAgB,kBAAkB,8FAAsC;IAExE,SAAgB,oBAAoB,2CAA4D;IAChG,SAAgB,iBAAiB,uDAGd;IACnB,SAAgB,gBAAgB,8FAAuC;IAEvE,SAAgB,KAAK,+CASnB;IAEF,SAAgB,IAAI,+CAElB;CACH"}
1
+ {"version":3,"file":"Recorder.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/Recorder.model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAqB,MAAM,YAAY,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAwB,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAS1E,qBAAa,aAAa;IACjB,QAAQ,EAAG,aAAa,CAAA;IAC/B,OAAO,CAAC,YAAY,CAA4B;IAEhD,SAAgB,KAAK,yCAAgB;IACrC,SAAgB,sBAAsB,2CAAwB;IAC9D,SAAgB,mBAAmB,uDAAoC;IACvE,SAAgB,kBAAkB,8FAAsC;IAExE,SAAgB,oBAAoB,2CAA4D;IAChG,SAAgB,iBAAiB,uDAGd;IACnB,SAAgB,gBAAgB,8FAAuC;IAEvE,SAAgB,KAAK,+CASnB;IAEF,SAAgB,IAAI,+CAElB;IAEK,wBAAwB,IAAI,OAAO,CAAC,yBAAyB,CAAC;IAO9D,6BAA6B,CAAC,IAAI,EAAE,yBAAyB,GAAG,IAAI;IAOpE,iBAAiB,IAAI,IAAI;CAGjC"}
@@ -1,4 +1,4 @@
1
- import { AudioApi, VoiceRecordNotificationTypes, VoiceRecordStackItem } from '../types';
1
+ import { AudioApi, VoiceRecordNotificationTypes, VoiceRecordCollectionItem } from '../types';
2
2
  import { RecorderModel } from './Recorder.model';
3
3
  import { VoiceRecordsCollection } from './VoiceRecordCollection';
4
4
  type VoiceRecordModelParams = {
@@ -25,7 +25,7 @@ export declare class VoiceRecordModel {
25
25
  readonly reset: import("effector").EventCallable<void>;
26
26
  readonly setIsDisabled: import("effector").EventCallable<boolean>;
27
27
  readonly $currentKey: import("effector").StoreWritable<string>;
28
- readonly $currentRecord: import("effector").StoreWritable<VoiceRecordStackItem | null>;
28
+ readonly $currentRecord: import("effector").StoreWritable<VoiceRecordCollectionItem | null>;
29
29
  readonly $uri: import("effector").StoreWritable<string>;
30
30
  readonly $isDisabled: import("effector").StoreWritable<boolean>;
31
31
  readonly deleteCurrentRecording: import("effector").Effect<void | DeleteCurrentRecordingProps, void, Error>;
@@ -1 +1 @@
1
- {"version":3,"file":"VoiceRecord.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/VoiceRecord.model.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAEvF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAEhE,KAAK,sBAAsB,GAAG;IAC5B,GAAG,EAAE,QAAQ,CAAA;IACb,YAAY,EAAE,4BAA4B,CAAA;IAC1C,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CAAA;AAOD,KAAK,iBAAiB,GAAG;IACvB,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAMD,qBAAa,gBAAgB;IAC3B,SAAgB,aAAa,EAAE,aAAa,CAAA;IAC5C,SAAgB,UAAU,EAAE,sBAAsB,CAAA;IAClD,SAAgB,GAAG,EAAE,QAAQ,CAAA;IAC7B,SAAgB,YAAY,EAAE,4BAA4B,CAAA;IAC1D,SAAgB,MAAM,EAAE,iBAAiB,CAAA;IAEzC,SAAgB,aAAa,2CAAwB;IACrD,SAAgB,MAAM,2CAAwB;IAC9C,SAAgB,gBAAgB,wCAAqB;IACrD,SAAgB,KAAK,yCAAgB;IACrC,SAAgB,aAAa,4CAAyB;IAEtD,SAAgB,WAAW,2CAAkC;IAC7D,SAAgB,cAAc,gEAAmE;IACjG,SAAgB,IAAI,2CAA6C;IAEjE,SAAgB,WAAW,4CAAqC;IAEhE,SAAgB,sBAAsB,6EAiBpC;IAEF,SAAgB,mBAAmB,+CAkBjC;gBAEU,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,sBAAsB;IAWjE,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,mBAAmB;YAMb,iBAAiB;IA4B/B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,sBAAsB;CAsB/B"}
1
+ {"version":3,"file":"VoiceRecord.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/VoiceRecord.model.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAE5F,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAEhE,KAAK,sBAAsB,GAAG;IAC5B,GAAG,EAAE,QAAQ,CAAA;IACb,YAAY,EAAE,4BAA4B,CAAA;IAC1C,MAAM,EAAE,iBAAiB,CAAA;CAC1B,CAAA;AAOD,KAAK,iBAAiB,GAAG;IACvB,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAMD,qBAAa,gBAAgB;IAC3B,SAAgB,aAAa,EAAE,aAAa,CAAA;IAC5C,SAAgB,UAAU,EAAE,sBAAsB,CAAA;IAClD,SAAgB,GAAG,EAAE,QAAQ,CAAA;IAC7B,SAAgB,YAAY,EAAE,4BAA4B,CAAA;IAC1D,SAAgB,MAAM,EAAE,iBAAiB,CAAA;IAEzC,SAAgB,aAAa,2CAAwB;IACrD,SAAgB,MAAM,2CAAwB;IAC9C,SAAgB,gBAAgB,wCAAqB;IACrD,SAAgB,KAAK,yCAAgB;IACrC,SAAgB,aAAa,4CAAyB;IAEtD,SAAgB,WAAW,2CAAkC;IAC7D,SAAgB,cAAc,qEAE7B;IACD,SAAgB,IAAI,2CAA6C;IAEjE,SAAgB,WAAW,4CAAqC;IAEhE,SAAgB,sBAAsB,6EAiBpC;IAEF,SAAgB,mBAAmB,+CAkBjC;gBAEU,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,sBAAsB;IAWjE,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,mBAAmB;YAMb,iBAAiB;IA+B/B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,sBAAsB;CAsB/B"}
@@ -1,10 +1,10 @@
1
- import { VoiceRecordStackItem } from '../types';
1
+ import { VoiceRecordCollectionItem } from '../types';
2
2
  export declare class VoiceRecordsCollection {
3
- readonly collection: Map<string, VoiceRecordStackItem>;
4
- add(key: string, item: VoiceRecordStackItem): void;
5
- update(key: string, item: Partial<VoiceRecordStackItem>): void;
3
+ readonly collection: Map<string, VoiceRecordCollectionItem>;
4
+ add(key: string, item: VoiceRecordCollectionItem): void;
5
+ update(key: string, item: Partial<VoiceRecordCollectionItem>): void;
6
6
  delete(key: string): void;
7
- get(key: string): VoiceRecordStackItem | undefined;
7
+ get(key: string): VoiceRecordCollectionItem | undefined;
8
8
  clear(): void;
9
9
  }
10
10
  //# sourceMappingURL=VoiceRecordCollection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VoiceRecordCollection.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/VoiceRecordCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAE/C,qBAAa,sBAAsB;IACjC,SAAgB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAY;IAElE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB;IAI3C,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAKvD,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,GAAG,CAAC,GAAG,EAAE,MAAM;IAIf,KAAK;CAGb"}
1
+ {"version":3,"file":"VoiceRecordCollection.d.ts","sourceRoot":"","sources":["../../../../../../src/features/voiceRecord/model/VoiceRecordCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAEpD,qBAAa,sBAAsB;IACjC,SAAgB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAY;IAEvE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB;IAIhD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,yBAAyB,CAAC;IAK5D,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,GAAG,CAAC,GAAG,EAAE,MAAM;IAIf,KAAK;CAGb"}
@@ -21,7 +21,7 @@ export type AudioApi = {
21
21
  uploadAudioFile: (data: UploadAudioPayload) => Promise<UploadAudioResponse>;
22
22
  getAudioFileTranscript: (audioFileId: string) => Promise<AudioTranscriptResponse>;
23
23
  };
24
- export type VoiceRecordStackItem = {
24
+ export type VoiceRecordCollectionItem = {
25
25
  solutionId?: string;
26
26
  id?: string;
27
27
  durationMs?: number;
@@ -30,7 +30,7 @@ export type VoiceRecordStackItem = {
30
30
  controller?: AbortController;
31
31
  };
32
32
  export type VoiceRecordStack = {
33
- [problemId: string]: VoiceRecordStackItem;
33
+ [problemId: string]: VoiceRecordCollectionItem;
34
34
  };
35
35
  export type AvailableAudioInputs = Awaited<ReturnType<typeof getAvailableInputs>>;
36
36
  export type VoiceRecordDeleteModalParams = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/voiceRecord/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAE5D,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC;IAC/C,iBAAiB,EAAE,QAAQ,CAAA;CAC5B,CAAC,CAAA;AAEF,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AACD,KAAK,mBAAmB,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,eAAe,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC3E,sBAAsB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAA;CAClF,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kBAAkB,CAAC,EAAE,OAAO,CAAC,IAAI,GAAG,mBAAmB,CAAC,CAAA;IACxD,UAAU,CAAC,EAAE,eAAe,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB,CAAA;CAC1C,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAA;AAEjF,MAAM,MAAM,4BAA4B,GAAG;IACzC,KAAK,EAAE,gBAAgB,CAAA;CACxB,CAAA;AACD,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,EAAE,gBAAgB,CAAA;CACxB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/voiceRecord/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAE5D,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC;IAC/C,iBAAiB,EAAE,QAAQ,CAAA;CAC5B,CAAC,CAAA;AAEF,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AACD,KAAK,mBAAmB,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,eAAe,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC3E,sBAAsB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAA;CAClF,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kBAAkB,CAAC,EAAE,OAAO,CAAC,IAAI,GAAG,mBAAmB,CAAC,CAAA;IACxD,UAAU,CAAC,EAAE,eAAe,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,SAAS,EAAE,MAAM,GAAG,yBAAyB,CAAA;CAC/C,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAA;AAEjF,MAAM,MAAM,4BAA4B,GAAG;IACzC,KAAK,EAAE,gBAAgB,CAAA;CACxB,CAAA;AACD,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,EAAE,gBAAgB,CAAA;CACxB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magmamath/students-features",
3
- "version": "0.9.107-rc.13",
3
+ "version": "0.9.107-rc.14",
4
4
  "description": "Magmamath features library",
5
5
  "source": "src/index.ts",
6
6
  "main": "src/index.ts",
@@ -18,6 +18,7 @@ export const useVoiceRecorder = (model: VoiceRecordModel) => {
18
18
  const recorder = useAudioRecorder(RecordingPresets.LOW_QUALITY, (status) => {
19
19
  if (status.error) {
20
20
  model.notification.error(`Recorder error: ${status.error}`)
21
+ model.recorderModel.clearStopResolver()
21
22
  return
22
23
  }
23
24
  if (status.isFinished && status.url) {
@@ -1,15 +1,18 @@
1
1
  import { createEffect, createEvent, restore } from 'effector'
2
2
  import { AudioRecorder, setAudioModeAsync } from 'expo-audio'
3
3
  import { VoiceRecorderState } from '../constants'
4
- import { AvailableAudioInputs } from '../types'
4
+ import { AvailableAudioInputs, VoiceRecordCollectionItem } from '../types'
5
5
 
6
6
  const AUDIO_MODE_CONFIG = {
7
7
  playsInSilentMode: true,
8
8
  allowsRecording: true,
9
9
  } as const
10
10
 
11
+ type StopResolver = (item: VoiceRecordCollectionItem) => void
12
+
11
13
  export class RecorderModel {
12
14
  public recorder!: AudioRecorder
15
+ private stopResolver: StopResolver | null = null
13
16
 
14
17
  public readonly reset = createEvent()
15
18
  public readonly setAudioFileDurationMs = createEvent<number>()
@@ -34,7 +37,25 @@ export class RecorderModel {
34
37
  }
35
38
  })
36
39
 
37
- public readonly stop = createEffect(async () => {
40
+ public readonly stop = createEffect(() => {
38
41
  return this.recorder.stop()
39
42
  })
43
+
44
+ public stopAndGetCollectionItem(): Promise<VoiceRecordCollectionItem> {
45
+ return new Promise((resolve) => {
46
+ this.stopResolver = resolve
47
+ this.recorder.stop()
48
+ })
49
+ }
50
+
51
+ public resolveStopWithCollectionItem(item: VoiceRecordCollectionItem): void {
52
+ if (this.stopResolver) {
53
+ this.stopResolver(item)
54
+ this.stopResolver = null
55
+ }
56
+ }
57
+
58
+ public clearStopResolver(): void {
59
+ this.stopResolver = null
60
+ }
40
61
  }
@@ -1,4 +1,4 @@
1
- import { attach, combine, createEffect, createEvent, createStore, restore, sample } from 'effector'
1
+ import { attach, createEffect, createEvent, createStore, restore, sample } from 'effector'
2
2
  import {
3
3
  ensureRecordingPermissions,
4
4
  generateAudioFormData,
@@ -6,7 +6,7 @@ import {
6
6
  getAvailableInputs,
7
7
  uploadAudioFileRequestGenerator,
8
8
  } from '../helpers'
9
- import { AudioApi, VoiceRecordNotificationTypes, VoiceRecordStackItem } from '../types'
9
+ import { AudioApi, VoiceRecordNotificationTypes, VoiceRecordCollectionItem } from '../types'
10
10
  import { t } from '../../../shared/translation'
11
11
  import { RecorderModel } from './Recorder.model'
12
12
  import { VoiceRecordsCollection } from './VoiceRecordCollection'
@@ -49,7 +49,9 @@ export class VoiceRecordModel {
49
49
  public readonly setIsDisabled = createEvent<boolean>()
50
50
 
51
51
  public readonly $currentKey = restore(this.setCurrentKey, '')
52
- public readonly $currentRecord = createStore<VoiceRecordStackItem | null>(null).reset(this.reset)
52
+ public readonly $currentRecord = createStore<VoiceRecordCollectionItem | null>(null).reset(
53
+ this.reset,
54
+ )
53
55
  public readonly $uri = restore(this.setUri, '').reset(this.reset)
54
56
 
55
57
  public readonly $isDisabled = restore(this.setIsDisabled, false)
@@ -134,12 +136,15 @@ export class VoiceRecordModel {
134
136
  this.notification.error(t('voiceRecorder.uploadFailed'))
135
137
  })
136
138
 
137
- this.collection.add(currentKey, {
139
+ const collectionItem: VoiceRecordCollectionItem = {
138
140
  durationMs,
139
141
  audioUploadPromise,
140
142
  controller,
141
143
  uri,
142
- })
144
+ }
145
+
146
+ this.collection.add(currentKey, collectionItem)
147
+ this.recorderModel.resolveStopWithCollectionItem(collectionItem)
143
148
 
144
149
  return audioUploadPromise
145
150
  }
@@ -160,7 +165,7 @@ export class VoiceRecordModel {
160
165
  sample({
161
166
  source: this.$currentKey,
162
167
  fn: (currentKey) => this.collection.get(currentKey),
163
- target: createEffect((recordingItem?: VoiceRecordStackItem) => {
168
+ target: createEffect((recordingItem?: VoiceRecordCollectionItem) => {
164
169
  if (!recordingItem) {
165
170
  this.reset()
166
171
  return
@@ -1,13 +1,13 @@
1
- import { VoiceRecordStackItem } from '../types'
1
+ import { VoiceRecordCollectionItem } from '../types'
2
2
 
3
3
  export class VoiceRecordsCollection {
4
- public readonly collection: Map<string, VoiceRecordStackItem> = new Map()
4
+ public readonly collection: Map<string, VoiceRecordCollectionItem> = new Map()
5
5
 
6
- public add(key: string, item: VoiceRecordStackItem) {
6
+ public add(key: string, item: VoiceRecordCollectionItem) {
7
7
  this.collection.set(key, item)
8
8
  }
9
9
 
10
- public update(key: string, item: Partial<VoiceRecordStackItem>) {
10
+ public update(key: string, item: Partial<VoiceRecordCollectionItem>) {
11
11
  const existingItem = this.collection.get(key) || {}
12
12
  this.collection.set(key, { ...existingItem, ...item })
13
13
  }
@@ -25,8 +25,8 @@ export type AudioApi = {
25
25
  uploadAudioFile: (data: UploadAudioPayload) => Promise<UploadAudioResponse>
26
26
  getAudioFileTranscript: (audioFileId: string) => Promise<AudioTranscriptResponse>
27
27
  }
28
- //'exiericeid-probleid-attemptnumber'
29
- export type VoiceRecordStackItem = {
28
+
29
+ export type VoiceRecordCollectionItem = {
30
30
  solutionId?: string
31
31
  id?: string //it exists after upload to server
32
32
  durationMs?: number
@@ -36,7 +36,7 @@ export type VoiceRecordStackItem = {
36
36
  }
37
37
 
38
38
  export type VoiceRecordStack = {
39
- [problemId: string]: VoiceRecordStackItem
39
+ [problemId: string]: VoiceRecordCollectionItem
40
40
  }
41
41
 
42
42
  export type AvailableAudioInputs = Awaited<ReturnType<typeof getAvailableInputs>>