(result: CliResult)
| 74 | }; |
| 75 | |
| 76 | const parseJsonOutput = <T>(result: CliResult): T => { |
| 77 | const start = result.stdout.indexOf("{"); |
| 78 | const end = result.stdout.lastIndexOf("}"); |
| 79 | assert(start >= 0 && end > start, `CLI output did not contain JSON:\n${result.text}`); |
| 80 | return JSON.parse(result.stdout.slice(start, end + 1)) as T; |
| 81 | }; |
| 82 | |
| 83 | const toolData = <T>(value: unknown): T => { |
| 84 | const result = value as { readonly ok?: boolean; readonly data?: T; readonly error?: unknown }; |
no test coverage detected