( mode: ComposerQueueMode, prompts: string[], )
| 20 | } |
| 21 | |
| 22 | function buildQueuedPromptsForMode( |
| 23 | mode: ComposerQueueMode, |
| 24 | prompts: string[], |
| 25 | ): Omit<ComposerQueuedPrompt, 'queueSnapshotKey'>[] { |
| 26 | const duplicateCounts = new Map<string, number>() |
| 27 | |
| 28 | return prompts.map((text, queueIndex) => { |
| 29 | const duplicateIndex = duplicateCounts.get(text) ?? 0 |
| 30 | duplicateCounts.set(text, duplicateIndex + 1) |
| 31 | |
| 32 | return { |
| 33 | id: buildQueuedPromptId(mode, text, duplicateIndex), |
| 34 | mode, |
| 35 | queueIndex, |
| 36 | text, |
| 37 | } |
| 38 | }) |
| 39 | } |
| 40 | |
| 41 | export function buildQueuedPrompts(queue: ComposerQueueSnapshot) { |
| 42 | const queueSnapshotKey = buildComposerQueueSnapshotKey(queue) |
no test coverage detected