21 lines · 1.0 KB · TypeScript
RawDownload
import { ProviderRegistry, type ProviderRegistryShape } from "../Services/ProviderRegistry.ts";import type { ServerProvider } from "@t3tools/contracts";import * as Effect from "effect/Effect";import * as Layer from "effect/Layer";import * as Stream from "effect/Stream";import { makeManualOnlyProviderMaintenanceCapabilities } from "../providerMaintenance.ts"; export const makeProviderRegistryMock = (  providers: ReadonlyArray<ServerProvider> = [],): ProviderRegistryShape => ({  getProviders: Effect.succeed(providers),  refresh: () => Effect.succeed(providers),  refreshInstance: () => Effect.succeed(providers),  getProviderMaintenanceCapabilitiesForInstance: (_instanceId, provider) =>    Effect.succeed(makeManualOnlyProviderMaintenanceCapabilities({ provider, packageName: null })),  setProviderMaintenanceActionState: () => Effect.succeed(providers),  streamChanges: Stream.empty,}); export const makeProviderRegistryLayer = (providers: ReadonlyArray<ServerProvider> = []) =>  Layer.succeed(ProviderRegistry, makeProviderRegistryMock(providers));