const MasonHttpClient = FetchHttpClient.layer.pipe(
Layer.provide(
Layer.effect(
FetchHttpClient.Fetch,
Effect.gen(function* () {
// Custom fetch command for desktop apps
const platform = yield* PlatformService;
return platform.platform === "desktop"
? (platform.fetch as typeof fetch)
: fetch;
})
).pipe(Layer.provide(appLayer)) // This is the problem area it seems
)
);
class MasonAtomClient extends AtomHttpApi.Tag<MasonAtomClient>()(
"MasonAtomClient",
{
api: MasonApi,
baseUrl: "http://localhost:8002",
httpClient: MasonHttpClient,
}
) {}
const MasonHttpClient = FetchHttpClient.layer.pipe(
Layer.provide(
Layer.effect(
FetchHttpClient.Fetch,
Effect.gen(function* () {
// Custom fetch command for desktop apps
const platform = yield* PlatformService;
return platform.platform === "desktop"
? (platform.fetch as typeof fetch)
: fetch;
})
).pipe(Layer.provide(appLayer)) // This is the problem area it seems
)
);
class MasonAtomClient extends AtomHttpApi.Tag<MasonAtomClient>()(
"MasonAtomClient",
{
api: MasonApi,
baseUrl: "http://localhost:8002",
httpClient: MasonHttpClient,
}
) {}