Effect CommunityEC
Effect Community2y ago
7 replies
jrmdayn

Difference Between `DevTools.layer()` and `DevTools.layerWebSocket()` in `dev-tools.ts` Example

Running the dev-tools.ts example from the repo does not work when I provide the DevTools.layer() directly:
import * as DevTools from "@effect/experimental/DevTools"
import { NodeRuntime, NodeSocket } from "@effect/platform-node"
import { Effect, Layer } from "effect"

const program = Effect.log("Hello!").pipe(
  Effect.delay(2000),
  Effect.withSpan("Hi", { attributes: { foo: "bar" } }),
  Effect.forever
)

program.pipe(
  Effect.provide(
    DevTools.layer()
  ),
  NodeRuntime.runMain
)


What is the difference between DevTools.layer() and DevTools.layerWebSocket().pipe(Layer.provide(NodeSocket.layerWebSocketConstructor)) (which works on my machine)?
Was this page helpful?