42 lines · 1.4 KB · TypeScript
RawDownload
import * as Layer from "effect/Layer";import * as ManagedRuntime from "effect/ManagedRuntime";import * as Socket from "effect/unstable/socket/Socket"; import { remoteHttpClientLayer } from "@t3tools/client-runtime/rpc"; import { cryptoLayer } from "../features/cloud/dpop";import { managedRelayClientLayer } from "../features/cloud/managedRelayLayer";import { resolveCloudPublicConfig } from "../features/cloud/publicConfig";import { tracingLayer } from "../features/observability/tracing"; function configuredRelayUrl(): string {  return resolveCloudPublicConfig().relay.url ?? "http://relay.invalid";} const httpClientLayer = remoteHttpClientLayer(fetch); type RuntimeLayerSource =  | ReturnType<typeof managedRelayClientLayer>  | typeof Socket.layerWebSocketConstructorGlobal  | typeof cryptoLayer  | typeof httpClientLayer  | typeof tracingLayer; const runtimeLayer = Layer.merge(  managedRelayClientLayer(configuredRelayUrl()),  Socket.layerWebSocketConstructorGlobal,).pipe(  Layer.provideMerge(cryptoLayer),  Layer.provideMerge(httpClientLayer),  Layer.provideMerge(tracingLayer.pipe(Layer.provide(httpClientLayer))),); export const runtime: ManagedRuntime.ManagedRuntime<  Layer.Success<RuntimeLayerSource>,  Layer.Error<RuntimeLayerSource>> = ManagedRuntime.make(runtimeLayer); export const runtimeContextLayer: Layer.Layer<  Layer.Success<RuntimeLayerSource>,  Layer.Error<RuntimeLayerSource>> = Layer.effectContext(runtime.contextEffect);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t