UNPKG

node-diarization

Version:

Transcription and diarization using Whisper and Pyannote with NodeJS

38 lines (37 loc) 1.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseShellResult = exports.mergeOptions = void 0; // merge default options with provided const mergeOptions = (...options) => { const isObject = (obj) => obj && typeof obj === 'object'; return options.reduce((prev, obj) => { Object.keys(obj).forEach(key => { const pVal = prev[key]; const oVal = obj[key]; if (isObject(pVal) && isObject(oVal)) { prev[key] = (0, exports.mergeOptions)(pVal, oVal); } else { prev[key] = oVal; } }); return prev; }, {}); }; exports.mergeOptions = mergeOptions; // convert shell results to parsed shell results const parseShellResult = (shellResult) => { const shellParsedResult = { errors: [], }; try { shellParsedResult.data = JSON.parse(shellResult.data); } catch (e) { shellResult.errors += `${shellResult.data}\n`; shellParsedResult.data = null; } shellParsedResult.errors = shellResult.errors.split('\n').filter(e => e); return shellParsedResult; }; exports.parseShellResult = parseShellResult;