export function mergeTranscript()

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;
}