private findTimeoutRealTimeText()

in packages/calling-stateful-client/src/CallContext.ts [1249:1281]


  private findTimeoutRealTimeText(
    inProgressRealTimeTexts: RealTimeTextInfo[] | RealTimeTextInfo | undefined,
    completedRealTimeTexts: RealTimeTextInfo[]
  ): void {
    // if inProgressRealTimeTexts is an array
    if (inProgressRealTimeTexts && Array.isArray(inProgressRealTimeTexts)) {
      // find the in progress real time text that has not been updated for 5 seconds
      inProgressRealTimeTexts.forEach((realTimeText, index) => {
        if (realTimeText.updatedTimestamp && Date.now() - realTimeText.updatedTimestamp.getTime() > 5000) {
          // turn the in progress real time text to final
          realTimeText.resultType = 'Final';
          // move the in progress real time text to completed
          completedRealTimeTexts.push(realTimeText);
          // remove the in progress real time text from in progress
          inProgressRealTimeTexts && (inProgressRealTimeTexts as RealTimeTextInfo[]).splice(index, 1);
        }
      });
    } else {
      // if inProgressRealTimeTexts is a single object
      if (
        inProgressRealTimeTexts &&
        inProgressRealTimeTexts.updatedTimestamp &&
        Date.now() - inProgressRealTimeTexts.updatedTimestamp.getTime() > 5000
      ) {
        // turn the in progress real time text to final
        inProgressRealTimeTexts.resultType = 'Final';
        // move the in progress real time text to completed
        completedRealTimeTexts.push(inProgressRealTimeTexts);
        // remove the in progress real time text from in progress
        inProgressRealTimeTexts = undefined;
      }
    }
  }