@fonoster/voice 0.3.6-alpha.12 → 0.3.6-alpha.15

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.
@@ -6,12 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const deepmerge_1 = __importDefault(require("deepmerge"));
7
7
  const asserts_1 = require("../asserts");
8
8
  const verb_1 = require("../verb");
9
- const asserts_2 = require("./asserts");
10
9
  const source_dtmf_1 = __importDefault(require("./source_dtmf"));
11
10
  const source_speech_1 = __importDefault(require("./source_speech"));
12
11
  const logger_1 = __importDefault(require("@fonoster/logger"));
13
12
  const defaultOptions = {
14
- timeout: 4000,
15
13
  finishOnKey: "#",
16
14
  source: "dtmf"
17
15
  };
@@ -22,12 +20,14 @@ class GatherVerb extends verb_1.Verb {
22
20
  }
23
21
  async run(opts) {
24
22
  const options = (0, deepmerge_1.default)(defaultOptions, opts);
25
- (0, asserts_2.assertsHasNumDigitsOrTimeout)(options);
23
+ // assertsHasNumDigitsOrTimeout(options);
26
24
  // assertsValuesIsZeroOrGreater("timeout", options.timeout);
27
25
  (0, asserts_1.assertsValueIsPositive)("numDigits", options.numDigits);
28
26
  (0, asserts_1.assertsFinishOnKeyIsChar)(options.finishOnKey);
29
- if (options.source.includes("speech"))
30
- options.timeout = 10000;
27
+ options.timeout =
28
+ !options.timeout && options.source.includes("speech")
29
+ ? 10000
30
+ : options.timeout || 4000;
31
31
  return new Promise(async (resolve, reject) => {
32
32
  logger_1.default.verbose(`@fonoster/voice started gather [source = ${options.source}]`);
33
33
  if (options.source.includes("dtmf")) {
@@ -37,27 +37,19 @@ const waitForSpeech = async (sessionId, options, verb, speechProvider) => new Pr
37
37
  token = pubsub_js_1.default.subscribe(`ReceivingMedia.${sessionId}`, (type, data) => {
38
38
  readable.push(data);
39
39
  });
40
+ await (0, utils_1.startMediaTransfer)(verb, sessionId);
41
+ if (options.timeout > 0) {
42
+ timer = setTimeout(() => resolve(""), options.timeout);
43
+ }
40
44
  speechTracker
41
45
  .transcribe(readable)
42
- .then((result) => {
43
- if (timer)
44
- clearTimeout(timer);
45
- resolve(result.transcript);
46
- })
46
+ .then((result) => resolve(result.transcript))
47
47
  .catch(reject)
48
- .finally(async () => {
48
+ .finally(() => {
49
+ (0, utils_1.stopMediaTransfer)(verb, sessionId);
49
50
  pubsub_js_1.default.unsubscribe(token);
50
- await (0, utils_1.stopMediaTransfer)(verb, sessionId);
51
+ if (timer)
52
+ clearTimeout(timer);
51
53
  });
52
- await (0, utils_1.startMediaTransfer)(verb, sessionId);
53
- if (options.timeout > 0) {
54
- timer = setTimeout(async () => {
55
- // Simply resolve an empty string
56
- resolve("");
57
- pubsub_js_1.default.unsubscribe(token);
58
- await (0, utils_1.stopMediaTransfer)(verb, sessionId);
59
- return;
60
- }, options.timeout);
61
- }
62
54
  });
63
55
  exports.default = waitForSpeech;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fonoster/voice",
3
- "version": "0.3.6-alpha.12",
3
+ "version": "0.3.6-alpha.15",
4
4
  "description": "Voice verbs",
5
5
  "author": "Pedro Sanders <psanders@fonoster.com>",
6
6
  "homepage": "https://github.com/fonoster/fonoster#readme",
@@ -29,8 +29,8 @@
29
29
  "url": "https://github.com/fonoster/fonoster/issues"
30
30
  },
31
31
  "dependencies": {
32
- "@fonoster/common": "^0.3.6-alpha.12",
33
- "@fonoster/logger": "^0.3.6-alpha.12",
32
+ "@fonoster/common": "^0.3.6-alpha.15",
33
+ "@fonoster/logger": "^0.3.6-alpha.15",
34
34
  "@opentelemetry/api": "^1.0.2",
35
35
  "@opentelemetry/node": "^0.24.0",
36
36
  "@opentelemetry/plugin-express": "^0.15.0",
@@ -48,7 +48,7 @@
48
48
  "pubsub-js": "^1.9.3",
49
49
  "sync": "^0.2.5"
50
50
  },
51
- "gitHead": "ef679a636e14fa74492e7b529fdd9ddbb90762d7",
51
+ "gitHead": "de7b2c252c5372bf04abf3c855ec38754fcae0a6",
52
52
  "devDependencies": {
53
53
  "@types/pubsub-js": "^1.8.2"
54
54
  }