(parts: readonly FeedbackUploadPart[])
| 83 | } |
| 84 | |
| 85 | function layoutParts(parts: readonly FeedbackUploadPart[]): PartLayout[] { |
| 86 | const sorted = parts.toSorted((a, b) => a.partNumber - b.partNumber); |
| 87 | let offset = 0; |
| 88 | return sorted.map((part) => { |
| 89 | const start = offset; |
| 90 | offset += part.size; |
| 91 | return { part, start }; |
| 92 | }); |
| 93 | } |
| 94 | |
| 95 | async function uploadParts( |
| 96 | filePath: string, |