( fetch: (req: Request) => Response | Promise<Response>, fn: (url: URL) => Effect.Effect<A, E, R>, )
| 28 | } |
| 29 | |
| 30 | const withFetch = <A, E, R>( |
| 31 | fetch: (req: Request) => Response | Promise<Response>, |
| 32 | fn: (url: URL) => Effect.Effect<A, E, R>, |
| 33 | ) => |
| 34 | Effect.acquireUseRelease( |
| 35 | Effect.sync(() => Bun.serve({ port: 0, fetch })), |
| 36 | (server) => fn(server.url), |
| 37 | (server) => Effect.sync(() => server.stop(true)), |
| 38 | ) |
| 39 | |
| 40 | const exec = Effect.fn("WebFetchToolTest.exec")(function* (args: Tool.InferParameters<typeof WebFetchTool>) { |
| 41 | const info = yield* WebFetchTool |
no test coverage detected