( options: SelectOptions<A> & MultiSelectOptions )
| 1192 | self: Prompt<Output> |
| 1193 | ) => Effect.Effect< |
| 1194 | Output, |
| 1195 | Terminal.QuitError, |
| 1196 | Environment |
| 1197 | > = Effect.fnUntraced( |
| 1198 | function*<Output>(self: Prompt<Output>) { |
| 1199 | const terminal = yield* Terminal.Terminal |
| 1200 | const input = yield* terminal.readInput |
| 1201 | return yield* runWithInput(self, terminal, input) |
| 1202 | }, |
| 1203 | Effect.mapError(() => new Terminal.QuitError({})), |
| 1204 | Effect.scoped |
| 1205 | ) |
| 1206 | |
| 1207 | const getSelectInitialIndex = <A>(choices: ReadonlyArray<SelectChoice<A>>): number => { |
| 1208 | let initialIndex = 0 |
| 1209 | let seenSelected = -1 |
| 1210 | for (let i = 0; i < choices.length; i++) { |
| 1211 | const choice = choices[i] as SelectChoice<A> |
| 1212 | if (choice.selected === true) { |
| 1213 | if (seenSelected !== -1) { |
| 1214 | throw new Error("InvalidArgumentException: only a single choice can be selected by default for Prompt.Select") |
| 1215 | } |
| 1216 | seenSelected = i |
| 1217 | } |
| 1218 | } |
nothing calls this directly
no test coverage detected
searching dependent graphs…