effect-io-ai

Package: effect
Module: ConfigProvider

ConfigProvider.make

Creates a ConfigProvider from a raw lookup function.

When to use

Use when implementing a provider backed by a custom store, such as a database, remote API, or in-memory map.

Details

The get callback receives a Path and must return Effect<Node | undefined, SourceError>. Return undefined when the path does not exist; fail with SourceError only for actual I/O errors.

Example (Creating a simple in-memory provider)

import { ConfigProvider, Effect } from "effect"

const data: Record<string, string> = {
  host: "localhost",
  port: "5432"
}

const provider = ConfigProvider.make((path) => {
  const key = path.join(".")
  const value = data[key]
  return Effect.succeed(
    value !== undefined ? ConfigProvider.makeValue(value) : undefined
  )
})

See

Signature

declare const make: (get: (path: Path) => Effect.Effect<Node | undefined, SourceError>) => ConfigProvider

Source

Since v2.0.0