Hyperlinkv0.8.0-beta.28

Hyperlink

Source src/Hyperlink.ts:505922 lines
export const discoverClient = <Self, S extends Spec>(
  tag: HyperlinkTag<Self, S>,
  options?: DiscoverClientOptions,
): Layer.Layer<Self, LookupClientError> => {
  const { lookupPath, unlink, ...clientOptions } = options ?? {};
  return Layer.unwrap(
    Effect.promise(() => import("./Lookup")).pipe(
      Effect.map((Lookup) =>
        lookupClient(tag, clientOptions).pipe(
          Layer.provide(
            lookupPath === undefined && unlink === undefined
              ? Lookup.layer
              : Lookup.layerOptions({
                  ...(lookupPath !== undefined ? { path: lookupPath } : {}),
                  ...(unlink !== undefined ? { unlink } : {}),
                }),
          ),
        ),
      ),
    ),
  ) as Layer.Layer<Self, LookupClientError>;
};