MCPcopy Create free account
hub / github.com/Effect-TS/effect / layerAdd

Function layerAdd

packages/effect/src/ConfigProvider.ts:712–724  ·  view source on GitHub ↗
(
  self: ConfigProvider | Effect.Effect<ConfigProvider, E, R>,
  options?: {
    readonly asPrimary?: boolean | undefined
  } | undefined
)

Source from the content-addressed store, hash-verified

710 * @since 4.0.0
711 */
712export const layerAdd = <E = never, R = never>(
713 self: ConfigProvider | Effect.Effect<ConfigProvider, E, R>,
714 options?: {
715 readonly asPrimary?: boolean | undefined
716 } | undefined
717): Layer.Layer<never, E, Exclude<R, Scope>> =>
718 Layer.effect(ConfigProvider)(
719 Effect.gen(function*() {
720 const current = yield* ConfigProvider
721 const configProvider = Effect.isEffect(self) ? yield* self : self
722 return options?.asPrimary ? orElse(configProvider, current) : orElse(current, configProvider)
723 })
724 )
725
726/**
727 * Creates a `ConfigProvider` backed by an in-memory JavaScript value

Callers

nothing calls this directly

Calls 1

orElseFunction · 0.85

Tested by

no test coverage detected