25 lines · 1.0 KB · TypeScript
RawDownload
import * as Layer from "effect/Layer";import * as ManagedRuntime from "effect/ManagedRuntime"; import { remoteHttpClientLayer } from "@t3tools/client-runtime"; import { mobileCryptoLayer } from "../features/cloud/dpop";import { mobileManagedRelayClientLayer } from "../features/cloud/managedRelayLayer";import { resolveCloudPublicConfig } from "../features/cloud/publicConfig";import { mobileTracingLayer } from "../features/observability/mobileTracing"; function configuredRelayUrl(): string {  return resolveCloudPublicConfig().relay.url ?? "http://relay.invalid";} const mobileHttpClientLayer = remoteHttpClientLayer(fetch); export const mobileRuntime = ManagedRuntime.make(  mobileManagedRelayClientLayer(configuredRelayUrl()).pipe(    Layer.provideMerge(mobileCryptoLayer),    Layer.provideMerge(mobileHttpClientLayer),    Layer.provideMerge(mobileTracingLayer.pipe(Layer.provide(mobileHttpClientLayer))),  ),); export const mobileRuntimeContextLayer = Layer.effectContext(mobileRuntime.contextEffect);