the-moby-effect
Version:
Moby/Docker API client built using effect-ts
52 lines (42 loc) • 2.13 kB
text/typescript
/* eslint-disable @typescript-eslint/consistent-type-imports */
import type * as Effect from "effect/Effect";
import type * as Layer from "effect/Layer";
/** @internal */
export type HasPackage<T> = [unknown] extends [T] ? "no" : "yes";
/** @internal */
export type NeedsSSH2<
Dependent extends Effect.Effect<unknown, unknown, unknown> | Layer.Layer<unknown, unknown, unknown>,
> = HasPackage<typeof import("ssh2")> extends "yes" ? Dependent : 'Missing "ssh2" package';
/** @internal */
export type NeedsUndici<
Dependent extends Effect.Effect<unknown, unknown, unknown> | Layer.Layer<unknown, unknown, unknown>,
> = HasPackage<typeof import("undici")> extends "yes" ? Dependent : 'Missing "undici" package';
/** @internal */
export type NeedsNodeHttp<
Dependent extends Effect.Effect<unknown, unknown, unknown> | Layer.Layer<unknown, unknown, unknown>,
> = HasPackage<typeof import("node:http")> extends "yes" ? Dependent : 'Missing "node:http" package';
/** @internal */
export type NeedsNodeHttps<
Dependent extends Effect.Effect<unknown, unknown, unknown> | Layer.Layer<unknown, unknown, unknown>,
> = HasPackage<typeof import("node:https")> extends "yes" ? Dependent : 'Missing "node:https" package';
/** @internal */
export type NeedsPlatformNode<
Dependent extends Effect.Effect<unknown, unknown, unknown> | Layer.Layer<unknown, unknown, unknown>,
> =
HasPackage<typeof import("@effect/platform-node")> extends "yes"
? Dependent
: 'Missing "@effect/platform-node" package';
/** @internal */
export type NeedsPlatformBun<
Dependent extends Effect.Effect<unknown, unknown, unknown> | Layer.Layer<unknown, unknown, unknown>,
> =
HasPackage<typeof import("@effect/platform-bun")> extends "yes"
? Dependent
: 'Missing "@effect/platform-bun" package';
/** @internal */
export type NeedsPlatformBrowser<
Dependent extends Effect.Effect<unknown, unknown, unknown> | Layer.Layer<unknown, unknown, unknown>,
> =
HasPackage<typeof import("@effect/platform-browser")> extends "yes"
? Dependent
: 'Missing "@effect/platform-browser" package';