Hyperlinkv0.9.0-beta.0

Gate

Gate.layerconstsrc/Gate.ts:919
<
  Self,
  I extends Schema.Top,
  A extends Schema.Top,
  E extends Schema.Top = Schema.Never,
  R = never
>(
  tag: HyperlinkTag<Self, InstanceSpec<I, A, E>, any>,
  config: LayerConfig<
    Schema.Schema.Type<I>,
    Schema.Schema.Type<A>,
    Schema.Schema.Type<E>,
    R
  >
): Layer.Layer<Self | Local<Self> | Store.Storage, never, R>

Build a Layer from a tag and config — yields an observable toolkit service.

Soft-defaults Store.Storage (R fulfilled). Override with your app store:

Gate.layer(Tag, config).pipe(Layer.provideMerge(AppStore.layer({ filename })))

layerMemory is an alias for the same soft-default.

layers & servingStore.StoragelayerMemory
Source src/Gate.ts:91919 lines
export const layer = <
  Self,
  I extends Schema.Top,
  A extends Schema.Top,
  E extends Schema.Top = typeof Schema.Never,
  R = never,
>(
  tag: HyperlinkTag<Self, InstanceSpec<I, A, E>, any>,
  config: LayerConfig<Schema.Schema.Type<I>, Schema.Schema.Type<A>, Schema.Schema.Type<E>, R>,
): Layer.Layer<Self | Local<Self> | Store.Storage, never, R> =>
  // Gate specs have no materialize `value` leaves; `ValueErrorsOf` stays deferred under the
  // generic `InstanceSpec` members, so restated as `never` at this toolkit boundary.
  withDefaultStoreBridge(
    Layer.unwrap(
      Effect.map(buildRunImpl(tag, config), (built) =>
        Hyperlink.layer(tag, Hyperlink.grantLocal(tag, built)),
      ),
    ),
  ) as Layer.Layer<Self | Local<Self> | Store.Storage, never, R>;
Referenced by 2 symbols