@bomb.sh/tools
Version:
The internal dev, build, and lint CLI for Bombshell projects
1 lines • 2.4 kB
Source Map (JSON)
{"version":3,"file":"stdio.mjs","names":[],"sources":["../../src/test-utils/stdio.ts"],"sourcesContent":["import { Readable, Writable, type ReadableOptions, type WritableOptions } from 'node:stream';\n\nexport class MockReadable extends Readable {\n\tprotected _buffer: unknown[] | null = [];\n\tpublic isTTY = false;\n\tpublic isRaw = false;\n\tpublic setRawMode() {\n\t\tthis.isRaw = true;\n\t}\n\n\tconstructor(config?: { isTTY?: boolean }, opts?: ReadableOptions) {\n\t\tsuper(opts);\n\t\tthis.isTTY = config?.isTTY ?? false;\n\t}\n\n\toverride _read() {\n\t\tif (this._buffer === null) {\n\t\t\tthis.push(null);\n\t\t\treturn;\n\t\t}\n\n\t\tfor (const val of this._buffer) {\n\t\t\tthis.push(val);\n\t\t}\n\n\t\tthis._buffer = [];\n\t}\n\n\tpushValue(val: unknown): void {\n\t\tthis._buffer?.push(val);\n\t}\n\n\tclose(): void {\n\t\tthis._buffer = null;\n\t}\n}\n\nexport class MockWritable extends Writable {\n\tpublic buffer: string[] = [];\n\tpublic isTTY = false;\n\tpublic columns = 80;\n\tpublic rows = 20;\n\n\tconstructor(\n\t\tconfig?: { columns?: number; rows?: number; isTTY?: boolean },\n\t\topts?: WritableOptions,\n\t) {\n\t\tsuper(opts);\n\t\tthis.isTTY = config?.isTTY ?? false;\n\t\tthis.columns = config?.columns ?? 80;\n\t\tthis.rows = config?.rows ?? 20;\n\t}\n\n\tpublic resize(columns: number, rows: number): void {\n\t\tthis.columns = columns;\n\t\tthis.rows = rows;\n\t\tthis.emit('resize');\n\t}\n\n\toverride _write(\n\t\tchunk: any,\n\t\t_encoding: BufferEncoding,\n\t\tcallback: (error?: Error | null | undefined) => void,\n\t): void {\n\t\tthis.buffer.push(chunk.toString());\n\t\tcallback();\n\t}\n}\n"],"mappings":";;AAEA,IAAa,eAAb,cAAkC,SAAS;CAC1C,UAAsC,CAAC;CACvC,QAAe;CACf,QAAe;CACf,aAAoB;EACnB,KAAK,QAAQ;CACd;CAEA,YAAY,QAA8B,MAAwB;EACjE,MAAM,IAAI;EACV,KAAK,QAAQ,QAAQ,SAAS;CAC/B;CAEA,QAAiB;EAChB,IAAI,KAAK,YAAY,MAAM;GAC1B,KAAK,KAAK,IAAI;GACd;EACD;EAEA,KAAK,MAAM,OAAO,KAAK,SACtB,KAAK,KAAK,GAAG;EAGd,KAAK,UAAU,CAAC;CACjB;CAEA,UAAU,KAAoB;EAC7B,KAAK,SAAS,KAAK,GAAG;CACvB;CAEA,QAAc;EACb,KAAK,UAAU;CAChB;AACD;AAEA,IAAa,eAAb,cAAkC,SAAS;CAC1C,SAA0B,CAAC;CAC3B,QAAe;CACf,UAAiB;CACjB,OAAc;CAEd,YACC,QACA,MACC;EACD,MAAM,IAAI;EACV,KAAK,QAAQ,QAAQ,SAAS;EAC9B,KAAK,UAAU,QAAQ,WAAW;EAClC,KAAK,OAAO,QAAQ,QAAQ;CAC7B;CAEA,OAAc,SAAiB,MAAoB;EAClD,KAAK,UAAU;EACf,KAAK,OAAO;EACZ,KAAK,KAAK,QAAQ;CACnB;CAEA,OACC,OACA,WACA,UACO;EACP,KAAK,OAAO,KAAK,MAAM,SAAS,CAAC;EACjC,SAAS;CACV;AACD"}