diff options
Diffstat (limited to 'ext/node/polyfills/internal_binding')
-rw-r--r-- | ext/node/polyfills/internal_binding/pipe_wrap.ts | 11 | ||||
-rw-r--r-- | ext/node/polyfills/internal_binding/stream_wrap.ts | 11 |
2 files changed, 15 insertions, 7 deletions
diff --git a/ext/node/polyfills/internal_binding/pipe_wrap.ts b/ext/node/polyfills/internal_binding/pipe_wrap.ts index a657f7018..f5c3c5439 100644 --- a/ext/node/polyfills/internal_binding/pipe_wrap.ts +++ b/ext/node/polyfills/internal_binding/pipe_wrap.ts @@ -37,7 +37,10 @@ import { import { LibuvStreamWrap } from "ext:deno_node/internal_binding/stream_wrap.ts"; import { codeMap } from "ext:deno_node/internal_binding/uv.ts"; import { delay } from "ext:deno_node/_util/async.ts"; -import { kStreamBaseField } from "ext:deno_node/internal_binding/stream_wrap.ts"; +import { + kStreamBaseField, + StreamBase, +} from "ext:deno_node/internal_binding/stream_wrap.ts"; import { ceilPowOf2, INITIAL_ACCEPT_BACKOFF_DELAY, @@ -68,7 +71,7 @@ export class Pipe extends ConnectionWrap { #closed = false; #acceptBackoffDelay?: number; - constructor(type: number, conn?: Deno.UnixConn) { + constructor(type: number, conn?: Deno.UnixConn | StreamBase) { let provider: providerType; let ipc: boolean; @@ -100,8 +103,8 @@ export class Pipe extends ConnectionWrap { this.ipc = ipc; - if (conn && provider === providerType.PIPEWRAP) { - const localAddr = conn.localAddr as Deno.UnixAddr; + if (conn && provider === providerType.PIPEWRAP && "localAddr" in conn) { + const localAddr = conn.localAddr; this.#address = localAddr.path; } } diff --git a/ext/node/polyfills/internal_binding/stream_wrap.ts b/ext/node/polyfills/internal_binding/stream_wrap.ts index 4915a38ca..dc30bfdfe 100644 --- a/ext/node/polyfills/internal_binding/stream_wrap.ts +++ b/ext/node/polyfills/internal_binding/stream_wrap.ts @@ -44,11 +44,11 @@ import { } from "ext:deno_node/internal_binding/async_wrap.ts"; import { codeMap } from "ext:deno_node/internal_binding/uv.ts"; -interface Reader { +export interface Reader { read(p: Uint8Array): Promise<number | null>; } -interface Writer { +export interface Writer { write(p: Uint8Array): Promise<number>; } @@ -56,7 +56,12 @@ export interface Closer { close(): void; } -type Ref = { ref(): void; unref(): void }; +export interface Ref { + ref(): void; + unref(): void; +} + +export interface StreamBase extends Reader, Writer, Closer, Ref {} const enum StreamBaseStateFields { kReadBytesOrError, |