UNPKG

docker-decoder-stream

Version:

TS/JS decoder for Docker streams (logs and container attach)

42 lines (36 loc) 1.51 kB
import { EventEmitter } from 'eventemitter3'; type IOStreamType = "stdin" | "stdout" | "stderr"; /** * Decoder for Docker logs stream. * * @see https://docs.docker.com/engine/api/v1.37/#tag/Container/operation/ContainerAttach * header := [8]byte{STREAM_TYPE, 0, 0, 0, SIZE1, SIZE2, SIZE3, SIZE4} */ declare class DockerDecoder extends EventEmitter<{ data: (type: IOStreamType, payload: Uint8Array) => any; end: (type?: IOStreamType, payload?: Uint8Array) => any; error: (err: unknown) => any; }> { #private; static readonly defaultBufferSize = 8192; get bufferLength(): number; constructor(bufferLength?: number); decode(chunk: Uint8Array): Record<IOStreamType, Uint8Array>; push(chunk: Uint8Array): void; close(): void; } declare class DockerDecoderStream { #private; defaultStreamType: "stdin" | "stdout" | "stderr"; constructor(defaultStreamType?: "stdin" | "stdout" | "stderr"); get readable(): ReadableStream<Uint8Array>; get writable(): WritableStream<Uint8Array>; get stdin(): ReadableStream<Uint8Array>; get stdout(): ReadableStream<Uint8Array>; get stderr(): ReadableStream<Uint8Array>; } declare function mixDownReaders<TKey extends string, T>(readers: Record<TKey, ReadableStreamDefaultReader<T>>): AsyncGenerator<readonly [TKey, T & ({} | null)], void, unknown>; declare class AssertionError extends Error { name: string; } export { AssertionError, DockerDecoder, DockerDecoderStream, IOStreamType, mixDownReaders };