mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-02 08:35:07 +08:00
- Preserve callable properties, descriptors, and shared module bindings across native JavaScript code. - Add stored process streams with input control, output callbacks, and write interception. - Preserve Error identity and classification through native rethrows and promise rejection.
22 lines
905 B
JavaScript
22 lines
905 B
JavaScript
const input = process.stdin;
|
|
const output = process.stdout;
|
|
const error = process.stderr;
|
|
console.log(input === process.stdin, output === process.stdout, error === process.stderr);
|
|
console.log(input === output, output === error, input.fd, output.fd, error.fd);
|
|
console.log(Boolean(input.isTTY), Boolean(output.isTTY), output.columns ?? 80, output.rows ?? 24);
|
|
console.log(typeof input.setRawMode, typeof input.on, input.readableLength);
|
|
console.log(input.pause() === input, input.isPaused());
|
|
console.log(input.resume() === input, input.isPaused());
|
|
input.pause();
|
|
let calls = 0;
|
|
const original = output.write;
|
|
output.write = function(chunk, encoding, callback) {
|
|
calls++;
|
|
return original.call(this, chunk, encoding, callback);
|
|
};
|
|
output.write(Buffer.from('bytes\n'), () => {
|
|
output.write = original;
|
|
console.log('completed', calls, output.write === original);
|
|
});
|
|
console.log('through-console');
|