MCPcopy Index your code
hub / github.com/Effect-TS/effect / fromRecord

Function fromRecord

packages/effect/src/LayerMap.ts:200–221  ·  view source on GitHub ↗
(
  layers: Layers,
  options?: {
    readonly idleTimeToLive?: Duration.DurationInput | undefined
    readonly preload?: Preload | undefined
  } | undefined
)

Source from the content-addressed store, hash-verified

198 * @experimental
199 */
200export const fromRecord = <
201 const Layers extends Record<string, Layer.Layer<any, any, any>>,
202 const Preload extends boolean = false
203>(
204 layers: Layers,
205 options?: {
206 readonly idleTimeToLive?: Duration.DurationInput | undefined
207 readonly preload?: Preload | undefined
208 } | undefined
209): Effect.Effect<
210 LayerMap<
211 keyof Layers,
212 Layers[keyof Layers] extends Layer.Layer<infer _A, infer _E, infer _R> ? _A : never,
213 Preload extends true ? never : Layers[keyof Layers] extends Layer.Layer<infer _A, infer _E, infer _R> ? _E : never
214 >,
215 Preload extends true ? never : Layers[keyof Layers] extends Layer.Layer<infer _A, infer _E, infer _R> ? _E : never,
216 Scope.Scope | (Layers[keyof Layers] extends Layer.Layer<infer _A, infer _E, infer _R> ? _R : never)
217> =>
218 make((key: keyof Layers) => layers[key], {
219 ...options,
220 preloadKeys: options?.preload ? Object.keys(layers) : undefined
221 }) as any
222
223/**
224 * @since 3.14.0

Callers 1

ServiceFunction · 0.70

Calls 2

keysMethod · 0.80
makeFunction · 0.70

Tested by

no test coverage detected