Hyperlinkv0.8.0-beta.28

Config

Config.durationfunctioneffect/Config.ts:1136
(name?: string): 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 }
constructorsschema
Source effect/Config.ts:11363 lines
export function duration(name?: string) {
  return schema(Schema.DurationFromString, name)
}