UNPKG

the-moby-effect

Version:
52 lines (42 loc) 2.13 kB
/* 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';