| 21 | } |
| 22 | |
| 23 | function render(matrix) { |
| 24 | const entries = matrix.level ? [[null, matrix]] : Object.entries(matrix); |
| 25 | const lines = []; |
| 26 | lines.push('Runtime Adapter Matrix'); |
| 27 | lines.push('='.repeat(40)); |
| 28 | for (const [id, entry] of entries) { |
| 29 | if (id) lines.push(id); |
| 30 | lines.push(` level: ${entry.level}`); |
| 31 | lines.push(` guarantees: ${entry.guarantees.join(', ') || 'none'}`); |
| 32 | lines.push(` missing: ${entry.missing.join(', ') || 'none'}`); |
| 33 | lines.push(` tradeoffs: ${entry.tradeoffs}`); |
| 34 | } |
| 35 | return `${lines.join('\n')}\n`; |
| 36 | } |
| 37 | |
| 38 | function main() { |
| 39 | const args = parseArgs(process.argv); |