Commit Graph
4 Commits
Author SHA1 Message Date
Chris Tate 2c44d3e3ab Stop reading stdin at the read-ahead mark while 'readable' listeners hold it
- With 'readable' listeners the stream stays paused, as in Node: 'data'
  listeners, resume() and a parked for-await read no longer keep the loop
  reading once the held input reaches the 64 KiB mark (or a larger
  read(size)); reading resumes when a read drains it.
- Held input is a list of chunks with a running length, so an arrival
  appends without copying what is already held, and read() joins only the
  bytes it returns.
- New event-loop case: 'readable', 'data' and resume() with no read() for
  400 ms while 1 MiB arrives.
2026-10-23 05:15:45 -05:00
Chris Tate fb3806ce42 Search TypedArrays, read stdin through 'readable', and assign constructor-function globals
- TypedArray indexOf, lastIndexOf and includes on every element kind, typed
  and checked-dynamic: strict equality (SameValueZero for includes) and
  fromIndex as ToIntegerOrInfinity. A Buffer reached through a Uint8Array
  value keeps Buffer's search.
- process.stdin 'readable' with read() and read(size), including sizes
  above the read-ahead mark and input a once('readable') listener leaves
  for a later 'data' listener. for await over process.stdin yields Buffers.
- Module bindings holding `new F()` of a constructor function can be read
  and reassigned from other functions.
2026-10-23 03:54:26 -05:00
Chris Tate a36b356a6c Support native callable properties and terminal streams
- 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.
2026-09-29 00:52:01 -05:00
Chris Tate 23d5918a53 init 2026-07-22 18:08:04 -05:00