Hyperlinkv0.9.0-beta.0

Gate

Gate.makeRunnerconstsrc/Gate.ts:1161
<const Name extends string>(
  config: RunnerConfig & { readonly name: Name }
): Context.Service<
  internal.GateRunner & { readonly _tag: Name },
  internal.GateRunner
> & {
  layer: Layer.Layer<
    internal.GateRunner & { readonly _tag: Name },
    never,
    never
  >
}

Generic runner tag + layer — no observation, no handle shape, no RPC.

constructors
Source src/Gate.ts:116111 lines
export const makeRunner = <const Name extends string>(
  config: RunnerConfig & { readonly name: Name },
) => {
  // @effect-diagnostics-next-line serviceNotAsClass:off
  const tag = Context.Service<
    Runner & { readonly _tag: Name },
    Runner
  >(config.name);
  const runnerLayer = Layer.effect(tag)(internal.makeRunnerEffect(config));
  return Object.assign(tag, { layer: runnerLayer });
};