/** * Effect `Sink` utilities for Frida. * * @since 1.0.0 */ import type * as Function from "effect/Function"; import type * as Sink from "effect/Sink"; import * as internal from "./internal/sink.ts"; /** * @since 1.0.0 * @category Types */ export interface FromWritableOptions { readonly endOnDone?: boolean | undefined; } /** * @since 1.0.0 * @category Constructors */ export const sendSink: () => Sink.Sink = internal.sendSink; /** * @since 1.0.0 * @category Constructors * @see https://frida.re/docs/javascript-api/#outputstream */ export const fromOutputStream: ( evaluate: Function.LazyArg, onError: (error: unknown) => E, options?: FromWritableOptions | undefined ) => Sink.Sink = internal.fromOutputStream; /** * @since 1.0.0 * @category Constructors * @see https://frida.re/docs/javascript-api/#unixoutputstream */ export const makeUnixOutputStream: ( fileDescriptor: number, onError: (error: unknown) => E, options?: (UnixStreamOptions & FromWritableOptions) | undefined ) => Sink.Sink = internal.makeUnixOutputStream; /** * @since 1.0.0 * @category Constructors * @see https://frida.re/docs/javascript-api/#win32outputstream */ export const makeWin32OutputStream: ( handle: NativePointerValue, onError: (error: unknown) => E, options?: (WindowsStreamOptions & FromWritableOptions) | undefined ) => Sink.Sink = internal.makeWin32OutputStream;