27 lines · 1.2 KB · TypeScript
RawDownload
import * as Layer from "effect/Layer"; import { OrchestrationCommandReceiptRepositoryLive } from "../persistence/Layers/OrchestrationCommandReceipts.ts";import { OrchestrationEventStoreLive } from "../persistence/Layers/OrchestrationEventStore.ts";import { OrchestrationEngineLive } from "./Layers/OrchestrationEngine.ts";import { OrchestrationProjectionPipelineLive } from "./Layers/ProjectionPipeline.ts";import { OrchestrationProjectionSnapshotQueryLive } from "./Layers/ProjectionSnapshotQuery.ts"; export const OrchestrationEventInfrastructureLayerLive = Layer.mergeAll(  OrchestrationEventStoreLive,  OrchestrationCommandReceiptRepositoryLive,); export const OrchestrationProjectionPipelineLayerLive = OrchestrationProjectionPipelineLive.pipe(  Layer.provide(OrchestrationEventStoreLive),); export const OrchestrationInfrastructureLayerLive = Layer.mergeAll(  OrchestrationProjectionSnapshotQueryLive,  OrchestrationEventInfrastructureLayerLive,  OrchestrationProjectionPipelineLayerLive,); export const OrchestrationLayerLive = Layer.mergeAll(  OrchestrationInfrastructureLayerLive,  OrchestrationEngineLive.pipe(Layer.provide(OrchestrationInfrastructureLayerLive)),);