async function spliteCaptions()

in source/lambda/putcaption/putcaption.js [99:149]


async function spliteCaptions(
  captionData,
  captionIndex,
  captionText,
  wordLength
) {
  console.log(
    "captionIndex is " + captionIndex + " and wordLength is " + wordLength
  );
  var id = captionData[captionIndex].id;

  var captionText1 = captionText.substring(0, wordLength);
  var captionText2 = captionText.substring(wordLength, captionText.length);

  var splitTime = getSplitTime(
    captionText,
    captionData[captionIndex].startTime,
    captionData[captionIndex].endTime,
    wordLength
  );

  var endTime = captionData[captionIndex].endTime;

  captionData[captionIndex].text = captionText1;
  captionData[captionIndex].endTime = splitTime;

  if (captionIndex < captionData.length - 1) {
    captionData.push(
      cloneCaptionDataElement(captionData[captionData.length - 1])
    );
    captionData[captionData.length - 1].id =
      Number(captionData[captionData.length - 1].id) + 1 + "";
    for (var i = captionData.length - 2; i > captionIndex + 1; i--) {
      captionData[i] = cloneCaptionDataElement(captionData[i - 1]);
      captionData[i].id = Number(captionData[i - 1].id) + 1 + "";
    }
    captionData[captionIndex + 1].id = Number(id) + 1 + "";
    captionData[captionIndex + 1].text = captionText2;
    captionData[captionIndex + 1].startTime = splitTime;
    captionData[captionIndex + 1].endTime = endTime;
  } else {
    var captionElement = {};
    captionElement.id = Number(id) + 1 + "";
    captionElement.text = captionText2;
    captionElement.startTime = splitTime;
    captionElement.endTime = endTime;
    captionData.push(captionElement);
  }

  return captionData;
}