@eryx/stream Module

JSON

Shared stream contracts for Eryx.

This module provides:

  1. Structural stream types (ReadableStream, WritableStream, ReadWriteStream, and Stream) for static typing.

Design intent

Return conventions

Quick examples

Use @eryx/stdio for process-owned stream handles:

Summary

Classes

readable: true
writable: false
closed: boolean?
ReadableStream:readBuffer(size: number?)buffer | nil
ReadableStream:readBufferSync(size: number?)buffer | nil
readable: false
writable: true
closed: boolean?
WritableStream:write(data: string | buffer)number
readable: true
writable: true
closed: boolean?
ReadWriteStream:readBuffer(size: number?)buffer | nil
ReadWriteStream:readBufferSync(size: number?)buffer | nil
ReadWriteStream:write(data: string | buffer)number

API Reference

Classes

ReadableStream

Read-only stream contract.

read and readSync are intentionally generic and may return either string or buffer depending on the concrete stream source. Use readBuffer variants when you specifically need buffer.

Properties

readable: true
writable: false
closed: boolean?

ReadableStream:read

ReadableStream:read(size: number?)string | nil

ReadableStream:readSync

ReadableStream:readSync(size: number?)string | nil

ReadableStream:readBuffer

ReadableStream:readBuffer(size: number?)buffer | nil

ReadableStream:readBufferSync

ReadableStream:readBufferSync(size: number?)buffer | nil

ReadableStream:close

ReadableStream:close()()

ReadableStream:closeSync

ReadableStream:closeSync()()

WritableStream

Write-only stream contract.

write and writeSync accept string | buffer to support both text and binary producer code with one surface.

Properties

readable: false
writable: true
closed: boolean?

WritableStream:write

WritableStream:write(data: string | buffer)number

WritableStream:writeSync

WritableStream:writeSync(data: string | buffer)number

WritableStream:close

WritableStream:close()()

WritableStream:closeSync

WritableStream:closeSync()()

ReadWriteStream

Duplex stream contract.

This is effectively ReadableStream & WritableStream with explicit tags.

Properties

readable: true
writable: true
closed: boolean?

ReadWriteStream:read

ReadWriteStream:read(size: number?)string | nil

ReadWriteStream:readSync

ReadWriteStream:readSync(size: number?)string | nil

ReadWriteStream:readBuffer

ReadWriteStream:readBuffer(size: number?)buffer | nil

ReadWriteStream:readBufferSync

ReadWriteStream:readBufferSync(size: number?)buffer | nil

ReadWriteStream:write

ReadWriteStream:write(data: string | buffer)number

ReadWriteStream:writeSync

ReadWriteStream:writeSync(data: string | buffer)number

ReadWriteStream:close

ReadWriteStream:close()()

ReadWriteStream:closeSync

ReadWriteStream:closeSync()()

Types

Stream

Union of all stream capability variants.