the-moby-effect
Version:
Moby/Docker API client built using effect-ts
162 lines • 10.7 kB
TypeScript
/**
* Docker engine callbacks api
*
* @since 1.0.0
*/
import type * as Context from "effect/Context";
import type * as Exit from "effect/Exit";
import * as Effect from "effect/Effect";
import * as Layer from "effect/Layer";
import * as Stream from "effect/Stream";
import type * as MobySchemas from "./MobySchemas.ts";
import * as DockerEngine from "./DockerEngine.ts";
import * as MobyConnection from "./MobyConnection.ts";
/**
* @since 1.0.0
* @category Callbacks
*/
export declare const runCallbackForEffect: <R = never>(services: Context.Context<R>) => <A = void, E = never>(effect: Effect.Effect<A, E, R>) => (callback: (exit: Exit.Exit<A, E>) => void) => (interruptor?: number | undefined) => void;
/**
* @since 1.0.0
* @category Callbacks
*/
export declare function runCallback<R = never>(services: Context.Context<R>, arity: 0): <A = void, E = never>(function_: () => Effect.Effect<A, E, R>) => (callback: (exit: Exit.Exit<A, E>) => void) => void;
export declare function runCallback<R = never>(services: Context.Context<R>, arity: 1): <Z, A = void, E = never>(function_: (z: Z) => Effect.Effect<A, E, R>) => (z: Z, callback: (exit: Exit.Exit<A, E>) => void) => void;
export declare function runCallback<R = never>(services: Context.Context<R>, arity: 2): <Y, Z, A = void, E = never>(function_: (y: Y, z: Z) => Effect.Effect<A, E, R>) => (y: Y, z: Z, callback: (exit: Exit.Exit<A, E>) => void) => void;
export declare function runCallback<R = never>(services: Context.Context<R>, arity: 3): <X, Y, Z, A = void, E = never>(function_: (x: X, y: Y, z: Z) => Effect.Effect<A, E, R>) => (x: X, y: Y, z: Z, callback: (exit: Exit.Exit<A, E>) => void) => void;
export declare function runCallback<R = never>(services: Context.Context<R>, arity: 4): <W, X, Y, Z, A = void, E = never>(function_: (w: W, x: X, y: Y, z: Z) => Effect.Effect<A, E, R>) => (w: W, x: X, y: Y, z: Z, callback: (exit: Exit.Exit<A, E>) => void) => void;
export declare function runCallback<R = never>(services: Context.Context<R>, arity: 5): <V, W, X, Y, Z, A = void, E = never>(function_: (v: V, w: W, x: X, y: Y, z: Z) => Effect.Effect<A, E, R>) => (v: V, w: W, x: X, y: Y, z: Z, callback: (exit: Exit.Exit<A, E>) => void) => void;
/**
* Create a callback client for the docker engine
*
* @since 1.0.0
* @category Callbacks
*/
export declare const callbackClient: <E1, E2>(layer: (connectionOptions: MobyConnection.MobyConnectionOptions) => Layer.Layer<Layer.Success<DockerEngine.DockerLayer>, Layer.Error<DockerEngine.DockerLayer> | E1, Layer.Services<DockerEngine.DockerLayer>>, connectionOptions?: MobyConnection.MobyConnectionOptions | Effect.Effect<MobyConnection.MobyConnectionOptions, E2, never>) => Promise<{
pull: (a: {
image: string;
platform?: string | undefined;
}) => ReadableStream<MobySchemas.JSONMessage>;
build: <E1_1>(a: {
tag: string;
platform?: string | undefined;
dockerfile?: string | undefined;
context: Stream.Stream<Uint8Array, E1_1, never>;
buildargs?: Record<string, string | undefined> | undefined;
}) => ReadableStream<MobySchemas.JSONMessage>;
stop: (z: string & import("effect/Brand").Brand<"ContainerId">, callback: (exit: Exit.Exit<void, import("./internal/endpoints/circular.ts").DockerError>) => void) => void;
start: (z: string & import("effect/Brand").Brand<"ContainerId">, callback: (exit: Exit.Exit<void, import("./internal/endpoints/circular.ts").DockerError>) => void) => void;
run: (z: Omit<{
readonly Hostname?: string;
readonly Domainname?: string;
readonly User?: string;
readonly AttachStdin?: boolean;
readonly AttachStdout?: boolean;
readonly AttachStderr?: boolean;
readonly ExposedPorts?: {
readonly [x: `${number}`]: object;
readonly [x: `${number}/tcp`]: object;
readonly [x: `${number}/udp`]: object;
} | null | undefined;
readonly Tty?: boolean;
readonly OpenStdin?: boolean;
readonly StdinOnce?: boolean;
readonly Env?: readonly string[] | null;
readonly Cmd?: readonly string[] | null;
readonly Healthcheck?: MobySchemas.V1HealthcheckConfig | null | undefined;
readonly ArgsEscaped?: boolean | undefined;
readonly Image: string;
readonly Volumes?: {
readonly [x: string]: object;
} | null;
readonly WorkingDir?: string;
readonly Entrypoint?: readonly string[] | null;
readonly NetworkDisabled?: boolean | undefined;
readonly MacAddress?: string | undefined;
readonly OnBuild?: readonly string[] | null | undefined;
readonly Labels?: {
readonly [x: string]: string;
} | null;
readonly StopSignal?: string | undefined;
readonly StopTimeout?: bigint | null | undefined;
readonly Shell?: readonly string[] | null | undefined;
readonly HostConfig?: MobySchemas.ContainerHostConfig | null | undefined;
readonly NetworkingConfig?: MobySchemas.NetworkNetworkingConfig | null | undefined;
}, "HostConfig"> & {
readonly name?: string | undefined;
readonly platform?: string | undefined;
readonly HostConfig?: (typeof MobySchemas.ContainerHostConfig)["~type.make.in"] | undefined;
}, callback: (exit: Exit.Exit<MobySchemas.ContainerInspectResponse, import("./internal/endpoints/circular.ts").DockerError>) => void) => void;
exec: (z: {
command: string | Array<string>;
containerId: MobySchemas.ContainerIdentifier;
}, callback: (exit: Exit.Exit<[exitCode: bigint, output: string], import("./internal/endpoints/circular.ts").DockerError | import("effect/SchemaError").SchemaError | import("effect/unstable/socket/Socket").SocketError>) => void) => void;
execNonBlocking: <const T extends boolean = false>(z: {
detach: T;
command: string | Array<string>;
containerId: MobySchemas.ContainerIdentifier;
}, callback: (exit: Exit.Exit<[[T] extends [false] ? import("./MobyDemux.ts").MultiplexedSocket | import("./MobyDemux.ts").RawSocket : void, string & import("effect/Brand").Brand<"ExecId">], import("./internal/endpoints/circular.ts").DockerError | import("effect/SchemaError").SchemaError | import("effect/unstable/socket/Socket").SocketError>) => void) => void;
execWebsockets: (z: {
command: string | Array<string>;
containerId: MobySchemas.ContainerIdentifier;
}, callback: (exit: Exit.Exit<readonly [stdout: string, stderr: string], import("./internal/endpoints/circular.ts").DockerError | import("effect/SchemaError").SchemaError | import("effect/unstable/socket/Socket").SocketError>) => void) => void;
execWebsocketsNonBlocking: (a: {
command: string | Array<string>;
containerId: MobySchemas.ContainerIdentifier;
cwd?: string | undefined;
}) => ReadableStream<import("./MobyDemux.ts").MultiplexedChannel<never, import("./internal/endpoints/circular.ts").DockerError | import("effect/unstable/socket/Socket").SocketError, never>>;
ps: (z: {
readonly all?: boolean | undefined;
readonly limit?: number | undefined;
readonly size?: boolean | undefined;
readonly filters?: {
readonly ancestor?: readonly string[] | undefined;
readonly before?: readonly string[] | undefined;
readonly expose?: readonly string[] | undefined;
readonly exited?: readonly number[] | undefined;
readonly health?: readonly ("healthy" | "none" | "starting" | "unhealthy")[] | undefined;
readonly identifier?: readonly (string & import("effect/Brand").Brand<"ContainerId">)[] | undefined;
readonly "is-task"?: boolean | undefined;
readonly label?: readonly string[] | undefined;
readonly name?: readonly string[] | undefined;
readonly network?: readonly string[] | undefined;
readonly publish?: readonly string[] | undefined;
readonly since?: readonly string[] | undefined;
readonly status?: readonly ("created" | "dead" | "exited" | "paused" | "removing" | "restarting" | "running")[] | undefined;
readonly volume?: string | undefined;
} | undefined;
} | undefined, callback: (exit: Exit.Exit<readonly MobySchemas.ContainerSummary[], import("./internal/endpoints/circular.ts").DockerError>) => void) => void;
push: (name: string, options: {
readonly tag?: string | undefined;
readonly platform?: string | undefined;
} | undefined) => ReadableStream<MobySchemas.JSONMessage>;
images: (z: {
readonly filters?: {
readonly before?: readonly string[] | undefined;
readonly dangling?: boolean | undefined;
readonly label?: readonly string[] | undefined;
readonly reference?: readonly string[] | undefined;
readonly since?: readonly string[] | undefined;
readonly until?: string | undefined;
} | undefined;
readonly all?: boolean | undefined;
readonly digests?: boolean | undefined;
readonly "shared-size"?: boolean | undefined;
} | undefined, callback: (exit: Exit.Exit<readonly MobySchemas.ImageSummary[], import("./internal/endpoints/circular.ts").DockerError>) => void) => void;
search: (z: {
readonly term: string;
readonly limit?: number | undefined;
readonly filters?: {
readonly "is-official"?: boolean | undefined;
readonly "is-automated"?: boolean | undefined;
readonly stars?: number | undefined;
} | undefined;
}, callback: (exit: Exit.Exit<readonly MobySchemas.RegistrySearchResult[], import("./internal/endpoints/circular.ts").DockerError>) => void) => void;
version: (callback: (exit: Exit.Exit<MobySchemas.TypesVersion, import("./internal/endpoints/circular.ts").DockerError>) => void) => void;
info: (callback: (exit: Exit.Exit<MobySchemas.SystemInfo, import("./internal/endpoints/circular.ts").DockerError>) => void) => void;
ping: (callback: (exit: Exit.Exit<void, import("./internal/endpoints/circular.ts").DockerError>) => void) => void;
pingHead: (callback: (exit: Exit.Exit<void, import("./internal/endpoints/circular.ts").DockerError>) => void) => void;
followProgressInConsole: (z: ReadableStream<MobySchemas.JSONMessage>, callback: (exit: Exit.Exit<MobySchemas.JSONMessage[], unknown>) => void) => void;
waitForProgressToComplete: (z: ReadableStream<MobySchemas.JSONMessage>, callback: (exit: Exit.Exit<MobySchemas.JSONMessage[], unknown>) => void) => void;
}>;
//# sourceMappingURL=Callbacks.d.ts.map