UNPKG

ivr-tester-cli

Version:

CLI for automated testing of IVR call flows

39 lines (38 loc) 1.53 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateConfig = void 0; const joi_1 = __importDefault(require("joi")); const jsonTranscriberSchema = joi_1.default.object({ name: joi_1.default.string().required(), options: joi_1.default.object().optional().default({}), }); const jsonConfigSchema = joi_1.default.object({ localServerPort: joi_1.default.number().port().optional().default(8080), transcriber: jsonTranscriberSchema.required(), recording: joi_1.default.object({ audio: joi_1.default.object({ outputPath: joi_1.default.string().required(), filename: joi_1.default.alternatives().try(joi_1.default.string(), joi_1.default.function()).optional(), }).optional(), transcript: joi_1.default.object({ outputPath: joi_1.default.string().required(), filename: joi_1.default.alternatives().try(joi_1.default.string(), joi_1.default.function()).optional(), includeResponse: joi_1.default.boolean().optional(), }).optional(), }).optional(), }).required(); const validateConfig = (config) => { const { error, value } = jsonConfigSchema.validate(config, { presence: "required", }); if (error) { return { error }; } else { return { config: value }; } }; exports.validateConfig = validateConfig;