UNPKG

@bomb.sh/tools

Version:

The internal dev, build, and lint CLI for Bombshell projects

1 lines 2.41 kB
{"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,AAAU,UAA4B,EAAE;CACxC,AAAO,QAAQ;CACf,AAAO,QAAQ;CACf,AAAO,aAAa;AACnB,OAAK,QAAQ;;CAGd,YAAY,QAA8B,MAAwB;AACjE,QAAM,KAAK;AACX,OAAK,QAAQ,QAAQ,SAAS;;CAG/B,AAAS,QAAQ;AAChB,MAAI,KAAK,YAAY,MAAM;AAC1B,QAAK,KAAK,KAAK;AACf;;AAGD,OAAK,MAAM,OAAO,KAAK,QACtB,MAAK,KAAK,IAAI;AAGf,OAAK,UAAU,EAAE;;CAGlB,UAAU,KAAoB;AAC7B,OAAK,SAAS,KAAK,IAAI;;CAGxB,QAAc;AACb,OAAK,UAAU;;;AAIjB,IAAa,eAAb,cAAkC,SAAS;CAC1C,AAAO,SAAmB,EAAE;CAC5B,AAAO,QAAQ;CACf,AAAO,UAAU;CACjB,AAAO,OAAO;CAEd,YACC,QACA,MACC;AACD,QAAM,KAAK;AACX,OAAK,QAAQ,QAAQ,SAAS;AAC9B,OAAK,UAAU,QAAQ,WAAW;AAClC,OAAK,OAAO,QAAQ,QAAQ;;CAG7B,AAAO,OAAO,SAAiB,MAAoB;AAClD,OAAK,UAAU;AACf,OAAK,OAAO;AACZ,OAAK,KAAK,SAAS;;CAGpB,AAAS,OACR,OACA,WACA,UACO;AACP,OAAK,OAAO,KAAK,MAAM,UAAU,CAAC;AAClC,YAAU"}