@bbc/react-transcript-editor
Version:
A React component to make transcribing audio and video easier and faster.
8 lines • 2.1 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _index=_interopRequireDefault(require("./bbc-kaldi/index")),_index2=_interopRequireDefault(require("./autoEdit2/index")),_index3=_interopRequireDefault(require("./speechmatics/index")),_index4=_interopRequireDefault(require("./amazon-transcribe/index")),_index5=_interopRequireDefault(require("./ibm/index"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}/**
* Adapters for STT conversion
* @param {json} transcriptData - A json transcript with some word accurate timecode
* @param {string} sttJsonType - the type of transcript supported by the available adapters
*/ // converts nested arrays into one dimensional array
var flatten=function(list){return list.reduce(function(a,b){return a.concat(Array.isArray(b)?flatten(b):b)},[])},createEntityMap=function(blocks){var entityRanges=blocks.map(function(block){return block.entityRanges}),flatEntityRanges=flatten(entityRanges),entityMap={};// eslint-disable-next-line no-use-before-define
return flatEntityRanges.forEach(function(data){entityMap[data.key]={type:"WORD",mutability:"MUTABLE",data:data}}),entityMap},sttJsonAdapter=function(transcriptData,sttJsonType){var blocks;switch(sttJsonType){case"bbckaldi":return blocks=(0,_index.default)(transcriptData),{blocks:blocks,entityMap:createEntityMap(blocks)};case"autoedit2":return blocks=(0,_index2.default)(transcriptData),{blocks:blocks,entityMap:createEntityMap(blocks)};case"speechmatics":return blocks=(0,_index3.default)(transcriptData),{blocks:blocks,entityMap:createEntityMap(blocks)};case"ibm":return blocks=(0,_index5.default)(transcriptData),{blocks:blocks,entityMap:createEntityMap(blocks)};case"draftjs":return transcriptData;// (typeof transcriptData === 'string')? JSON.parse(transcriptData): transcriptData;
case"amazontranscribe":return blocks=(0,_index4.default)(transcriptData),{blocks:blocks,entityMap:createEntityMap(blocks)};default:console.error("Did not recognize the stt engine.");}},_default=sttJsonAdapter;exports.default=_default;