| 1 | // A second, genuinely distinct entry module for RpcSpawner.test.ts: children |
| 2 | // are keyed by serverEntryUrl, so pinning "distinct entries → distinct |
| 3 | // children" needs two separate files that boot the same server shape. |
| 4 | import * as Context from "effect/Context"; |
| 5 | import * as Effect from "effect/Effect"; |
| 6 | import * as Layer from "effect/Layer"; |
| 7 | import { launch } from "../../../src/Local/RpcServer.ts"; |
| 8 | |
| 9 | export class TestEchoB extends Context.Service< |
| 10 | TestEchoB, |
| 11 | { |
| 12 | echo: (msg: string) => Effect.Effect<string>; |
| 13 | } |
| 14 | >()("Test.Echo") {} |
| 15 | |
| 16 | const TestEchoBLive = Layer.succeed(TestEchoB, { |
| 17 | echo: (msg) => Effect.succeed(`echo:${msg}`), |
| 18 | }); |
| 19 | |
| 20 | launch(TestEchoBLive); |