Hyperlinkv0.9.0-beta.0

Gate

Gate.ServiceDefinitioninterfacesrc/Gate.ts:252
ServiceDefinition<Self, Name, I, A, E, R>

Service factory result — tag surface plus baked-in layer and configure helpers.

models
Source src/Gate.ts:25236 lines
export interface ServiceDefinition<
  Self,
  Name extends string,
  I extends Schema.Top,
  A extends Schema.Top,
  E extends Schema.Top = typeof Schema.Never,
  R = never,
> extends TagDefinition<Self, I, A, E> {
  readonly defaultSpec: ServiceConfig<I, A, E, R> & { readonly name: Name };
  readonly layer: Layer.Layer<Self | Store.Storage, never, R>;
  readonly configure: (
    patch: ConfigPatch<
      LayerConfig<
        Schema.Schema.Type<I>,
        Schema.Schema.Type<A>,
        Schema.Schema.Type<E>,
        R
      >
    >,
  ) => Layer.Layer<never>;
  readonly wrapGate: (
    fn: (
      previous: LayerConfig<
        Schema.Schema.Type<I>,
        Schema.Schema.Type<A>,
        Schema.Schema.Type<E>,
        R
      >["effect"],
    ) => LayerConfig<
      Schema.Schema.Type<I>,
      Schema.Schema.Type<A>,
      Schema.Schema.Type<E>,
      R
    >["effect"],
  ) => Layer.Layer<never>;
}