mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-19 05:29:46 +08:00
34 lines
1.1 KiB
TypeScript
34 lines
1.1 KiB
TypeScript
// process.stdout.write: the raw byte write — no newline, no formatting —
|
|
// interleaved with console.log on the same stream, so source order holds.
|
|
process.stdout.write("no newline");
|
|
console.log(" <- then a log line");
|
|
process.stdout.write("a");
|
|
process.stdout.write("b");
|
|
process.stdout.write("c\n");
|
|
console.log("after abc");
|
|
|
|
// pieces of one line built across writes and a log
|
|
process.stdout.write("progress: ");
|
|
process.stdout.write("50%");
|
|
process.stdout.write(" ... ");
|
|
process.stdout.write("100%\n");
|
|
|
|
// unicode and escapes pass through byte-exactly
|
|
process.stdout.write("café ☕ — tabs\tand\nnewlines\n");
|
|
process.stdout.write("");
|
|
console.log("empty write ok");
|
|
|
|
// the return value is Node's backpressure boolean: true for these writes
|
|
const ok = process.stdout.write("ret ");
|
|
console.log(ok);
|
|
|
|
// template-built data
|
|
const n = 42;
|
|
process.stdout.write(`computed ${n}\n`);
|
|
|
|
// stderr.write exists too (its bytes are not part of this comparison, but
|
|
// its return value and non-interference with stdout are)
|
|
const eok = process.stderr.write("stderr line\n");
|
|
console.log("stderr returned", eok);
|
|
console.log("done");
|