Hyperlinkv0.8.0-beta.28

Config

Config.mapOrFailconsteffect/Config.ts:195
<A, B>(f: (a: A) => Effect.Effect<B, ConfigError>): (
  self: Config<A>
) => Config<B>
<A, B>(
  self: Config<A>,
  f: (a: A) => Effect.Effect<B, ConfigError>
): Config<B>

Transforms the parsed value with a function that may fail.

When to use

Use when you need to transform a parsed config value with a function that can produce a ConfigError (e.g. parsing a URL, checking a range).

Example (Wrapping a value in an effectful transformation)

import { Config, Effect } from "effect"

const trimmed = Config.string("name").pipe(
  Config.mapOrFail((s) => Effect.succeed(s.trim()))
)
mappingmap
Source effect/Config.ts:1956 lines
export const mapOrFail: {
  <A, B>(f: (a: A) => Effect.Effect<B, ConfigError>): (self: Config<A>) => Config<B>
  <A, B>(self: Config<A>, f: (a: A) => Effect.Effect<B, ConfigError>): Config<B>
} = dual(2, <A, B>(self: Config<A>, f: (a: A) => Effect.Effect<B, ConfigError>): Config<B> => {
  return make((provider, pathPrefix) => Effect.flatMap(self.parse(provider, pathPrefix), f))
})