// service-file.ts
export const XRepositoryLive = Layer.effect(
XRepository,
Effect.gen(function* (_) {
const service = yield* _(FeatureService);
const http = yield* _(HttpClient);
return {
getX() {
return pipe(
Effect.tryPromise({
catch: (e) => e as Error,
try: () => service.getX(),
}),
Effect.flatMap(() => {
return pipe(
Http.get("/layers"),
http.fetch
);
})
);
},
// ....
};
})
// service-file.ts
export const XRepositoryLive = Layer.effect(
XRepository,
Effect.gen(function* (_) {
const service = yield* _(FeatureService);
const http = yield* _(HttpClient);
return {
getX() {
return pipe(
Effect.tryPromise({
catch: (e) => e as Error,
try: () => service.getX(),
}),
Effect.flatMap(() => {
return pipe(
Http.get("/layers"),
http.fetch
);
})
);
},
// ....
};
})