const makeClient = Effect.gen(function* () {
const client = yield* HttpClient.HttpClient;
return HttpRpcResolver.make<AppRouter>(
client.pipe(
HttpClient.mapRequest(HttpClientRequest.prependUrl('http://localhost:3000/rpc'))
)
).pipe(RpcResolver.toClient);
});
const fetchDataFunction = () => {
return Effect.runPromise(
Effect.gen(function* () {
const client = yield* makeClient;
const data = yield* client(new Search());
return data;
}).pipe(
Effect.provide(FetchHttpClient.layer)
)
);
};
const makeClient = Effect.gen(function* () {
const client = yield* HttpClient.HttpClient;
return HttpRpcResolver.make<AppRouter>(
client.pipe(
HttpClient.mapRequest(HttpClientRequest.prependUrl('http://localhost:3000/rpc'))
)
).pipe(RpcResolver.toClient);
});
const fetchDataFunction = () => {
return Effect.runPromise(
Effect.gen(function* () {
const client = yield* makeClient;
const data = yield* client(new Search());
return data;
}).pipe(
Effect.provide(FetchHttpClient.layer)
)
);
};