@codeforbreakfast/eventsourcing-websocket
Version:
Batteries-included WebSocket event sourcing package - Complete WebSocket transport with default protocol for rapid event sourcing development
16 lines (15 loc) • 705 B
JavaScript
// src/lib/index.ts
import { Context, Effect, Layer, pipe } from "effect";
import { WebSocketConnector } from "@codeforbreakfast/eventsourcing-transport-websocket";
import { Protocol, ProtocolLive } from "@codeforbreakfast/eventsourcing-protocol";
var buildProtocolLayer = (layer) => pipe(layer, Layer.build, Effect.map((context) => Context.get(context, Protocol)));
var connect = (url) => {
return pipe(url, WebSocketConnector.connect, Effect.andThen(buildProtocolLayer(makeWebSocketProtocolLayer(url))));
};
var makeWebSocketProtocolLayer = (url) => {
return Layer.unwrapScoped(pipe(url, WebSocketConnector.connect, Effect.map(ProtocolLive)));
};
export {
makeWebSocketProtocolLayer,
connect
};