( request: Request, trackedPostpones: PostponedHoles, postponedRow: null | SuspenseListRow, )
| 1840 | } |
| 1841 | |
| 1842 | function trackPostponedSuspenseListRow( |
| 1843 | request: Request, |
| 1844 | trackedPostpones: PostponedHoles, |
| 1845 | postponedRow: null | SuspenseListRow, |
| 1846 | ): void { |
| 1847 | // TODO: Because we unconditionally call this, it will be called by finishedTask |
| 1848 | // and so ends up recursive which can lead to stack overflow for very long lists. |
| 1849 | if (postponedRow !== null) { |
| 1850 | const postponedBoundaries = postponedRow.boundaries; |
| 1851 | if (postponedBoundaries !== null) { |
| 1852 | postponedRow.boundaries = null; |
| 1853 | for (let i = 0; i < postponedBoundaries.length; i++) { |
| 1854 | const postponedBoundary = postponedBoundaries[i]; |
| 1855 | trackPostponedBoundary(request, trackedPostpones, postponedBoundary); |
| 1856 | finishedTask(request, postponedBoundary, null, null); |
| 1857 | } |
| 1858 | } |
| 1859 | } |
| 1860 | } |
| 1861 | |
| 1862 | function tryToResolveTogetherRow( |
| 1863 | request: Request, |
no test coverage detected