22 lines · 641 B · TypeScript
RawDownload
import {  FetchHttpClient,  HttpApiClient,} from "@effect/platform";import * as Effect from "effect/Effect"; import { createExecutorApi } from "./api";import type { ExecutorHttpPlugin } from "./plugins"; export const createExecutorApiEffectClient = <  const TPlugins extends readonly ExecutorHttpPlugin[] = [],>(input: {  baseUrl: string;  plugins?: TPlugins;}) =>  HttpApiClient.make(createExecutorApi({ plugins: input.plugins }), {    baseUrl: input.baseUrl,  }).pipe(Effect.provide(FetchHttpClient.layer)); export type ExecutorApiEffectClient = Effect.Effect.Success<  ReturnType<typeof createExecutorApiEffectClient>>;