import * as Context from "effect/Context"; import type * as Effect from "effect/Effect"; import * as Layer from "effect/Layer"; import type * as Stream from "effect/Stream"; import type { NetworkStatus } from "./model.ts"; export class Connectivity extends Context.Service< Connectivity, { readonly status: Effect.Effect; readonly changes: Stream.Stream; } >()("@t3tools/client-runtime/connection/connectivity") {} const make = (service: Connectivity["Service"]) => Connectivity.of(service); export const layer = (service: Connectivity["Service"]) => Layer.succeed(Connectivity, make(service));