UNPKG

everything-dev

Version:

A consolidated product package for building Module Federation apps with oRPC APIs.

34 lines • 1.83 kB
import { RuntimeConfig } from "../types.mjs"; import { WorkspaceIdentity } from "./identity.mjs"; import { Context, Effect, Layer } from "effect"; //#region src/db/bindings.d.ts interface DatabaseBinding { readonly key: string; readonly source: "local" | "remote"; readonly section: "app.api" | "app.auth" | "plugins"; readonly identity: WorkspaceIdentity; readonly url: string; } declare const DatabaseBindingError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & { readonly _tag: "DatabaseBindingError"; } & Readonly<A>; declare class DatabaseBindingError extends DatabaseBindingError_base<{ readonly pluginKey: string; readonly message: string; }> {} interface DatabaseBindingsService { readonly forPluginKey: (pluginKey: string) => Effect.Effect<DatabaseBinding, DatabaseBindingError>; } declare const DatabaseBindings_base: Context.ServiceClass<DatabaseBindings, "everything-dev/DatabaseBindings", DatabaseBindingsService>; declare class DatabaseBindings extends DatabaseBindings_base {} interface DatabaseBindingsOptions { readonly projectDir: string; readonly loadRuntimeConfig: () => Promise<RuntimeConfig | null>; /** May return a promise — a rejection propagates into the binding error instead of silently proceeding with an unloaded .env. */ readonly loadEnv?: () => void | Promise<void>; readonly env?: Record<string, string | undefined>; } declare const makeDatabaseBindings: (options: DatabaseBindingsOptions) => Layer.Layer<DatabaseBindings>; //#endregion export { DatabaseBinding, DatabaseBindingError, DatabaseBindings, DatabaseBindingsOptions, DatabaseBindingsService, makeDatabaseBindings }; //# sourceMappingURL=bindings.d.mts.map