()
| 33 | export function makeRuntime<I, S, E>(service: Context.Service<I, S>, layer: Layer.Layer<I, E>) { |
| 34 | let rt: ManagedRuntime.ManagedRuntime<I, E> | undefined |
| 35 | const getRuntime = () => (rt ??= ManagedRuntime.make(Layer.provideMerge(layer, Observability.layer), { memoMap })) |
| 36 | |
| 37 | return { |
| 38 | runSync: <A, Err>(fn: (svc: S) => Effect.Effect<A, Err, I>) => getRuntime().runSync(attach(service.use(fn))), |