effect-io-ai

Package: effect
Module: Config

Config.duration

Creates a config for a Duration value parsed from a human-readable string.

When to use

Use to read time duration settings such as timeouts, intervals, or TTLs.

Details

Shortcut for Config.schema(Schema.DurationFromString, name).

Accepts any string that Duration.fromInput can parse (e.g. "10 seconds", "500 millis", "Infinity", "-Infinity").

Example (Reading a duration)

import { Config, ConfigProvider, Effect } from "effect"

const program = Effect.gen(function*() {
  const duration = yield* Config.duration("DURATION")
  console.log(duration)
})

const provider = ConfigProvider.fromEnv({
  env: {
    DURATION: "10 seconds"
  }
})

Effect.runSync(
  program.pipe(Effect.provideService(ConfigProvider.ConfigProvider, provider))
)
// Output: Duration { _tag: "millis", value: 10000 }

See

Signature

declare const duration: (name?: string) => Config<Duration>

Source

Since v2.5.0