wip: implemented listen, transcribe, play

This commit is contained in:
Dave Horton
2020-01-17 09:15:23 -05:00
parent 1a656f3f0e
commit 0d4c1d9d8c
24 changed files with 688 additions and 108 deletions

View File

@@ -2,13 +2,15 @@ const Task = require('./task');
const {TaskName} = require('../utils/constants');
const errBadInstruction = new Error('invalid instruction payload');
function makeTask(logger, opts) {
logger.debug(opts, 'makeTask');
if (typeof opts !== 'object' || Array.isArray(opts)) throw errBadInstruction;
const keys = Object.keys(opts);
if (keys.length !== 1) throw errBadInstruction;
function makeTask(logger, obj) {
const keys = Object.keys(obj);
if (!keys || keys.length !== 1) {
throw errBadInstruction;
}
const name = keys[0];
const data = opts[name];
const data = obj[name];
logger.debug(data, `makeTask: ${name}`);
if (typeof data !== 'object') throw errBadInstruction;
Task.validate(name, data);
switch (name) {
case TaskName.SipDecline:
@@ -26,6 +28,12 @@ function makeTask(logger, opts) {
case TaskName.Gather:
const TaskGather = require('./gather');
return new TaskGather(logger, data);
case TaskName.Transcribe:
const TaskTranscribe = require('./transcribe');
return new TaskTranscribe(logger, data);
case TaskName.Listen:
const TaskListen = require('./listen');
return new TaskListen(logger, data);
}
// should never reach