Package: effect
Module: Config
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
schema for decoding configuration values with a custom codecSignature
declare const duration: (name?: string) => Config<Duration>
Since v2.5.0