import { Effect, Layer } from "effect";import { HttpEffect } from "effect/unstable/http";import { AutumnApiApp } from "./api/autumn";import { NonProtectedApiApp, OrgApiApp } from "./api/layers";import { ProtectedApiApp } from "./api/protected";import { ApiRequestHandler, AutumnRequestHandlerService, NonProtectedRequestHandlerService, ProtectedRequestHandlerService, OrgRequestHandlerService,} from "./api/router"; const ApiRequestHandlersLive = Layer.mergeAll( Layer.succeed(OrgRequestHandlerService)({ app: OrgApiApp }), Layer.succeed(NonProtectedRequestHandlerService)({ app: NonProtectedApiApp }), Layer.succeed(AutumnRequestHandlerService)({ app: AutumnApiApp }), Layer.succeed(ProtectedRequestHandlerService)({ app: ProtectedApiApp }),); export const handleApiRequest = Effect.runSync( Effect.map( Effect.provide(ApiRequestHandler, ApiRequestHandlersLive), (app) => HttpEffect.toWebHandler(app), ),);
import { Effect, Layer } from "effect";
import { HttpEffect } from "effect/unstable/http";
import { AutumnApiApp } from "./api/autumn";
import { NonProtectedApiApp, OrgApiApp } from "./api/layers";
import { ProtectedApiApp } from "./api/protected";
import {
ApiRequestHandler,
AutumnRequestHandlerService,
NonProtectedRequestHandlerService,
ProtectedRequestHandlerService,
OrgRequestHandlerService,
} from "./api/router";
const ApiRequestHandlersLive = Layer.mergeAll(
Layer.succeed(OrgRequestHandlerService)({ app: OrgApiApp }),
Layer.succeed(NonProtectedRequestHandlerService)({ app: NonProtectedApiApp }),
Layer.succeed(AutumnRequestHandlerService)({ app: AutumnApiApp }),
Layer.succeed(ProtectedRequestHandlerService)({ app: ProtectedApiApp }),
);
export const handleApiRequest = Effect.runSync(
Effect.map(
Effect.provide(ApiRequestHandler, ApiRequestHandlersLive),
(app) => HttpEffect.toWebHandler(app),
),
);