in src/utils/transcript.js [79:111]
export function mergeTranscript(segments) {
segments.sort(function(a, b) {
if (a.TransactionId < b.TransactionId) {
return -1;
} else if (a.TransactionId > b.TransactionId) {
return 1;
} else {
return a.LoggedOn - b.LoggedOn;
}
});
const mergedSegments = [];
segments.forEach(segment => {
if (
mergedSegments.length > 0 &&
mergedSegments[mergedSegments.length - 1].Speaker === segment.Speaker
) {
mergedSegments[mergedSegments.length - 1].Transcript += ` ${segment.Transcript}`;
} else {
mergedSegments.push({ ...segment });
}
});
mergedSegments.forEach(e => {
if (e.Transcript) {
if (e.Transcript.search(/\baccount[a-z]* \b(num)[a-z]* \b[a-z]*/i) !== -1) {
e.Action = 'ClientSnapshot';
}
if (e.Transcript.search(/\bmiss[a-z]* \b[a-z]*\b \b(connect|flight)[a-z]*/i) !== -1) {
e.Action = 'ConnectionDoctor';
}
}
});
return mergedSegments;
}