Hyperlinkv0.8.0-beta.28

Hyperlink

Source src/Hyperlink.ts:178517 lines
export type Validate<C, I> = {
  readonly [K in keyof C]: C[K] extends BareLocal
    ? K extends keyof I
      ? C[K]
      : LocalNeedsType<K>
    : C[K] extends Spec
      ? K extends keyof I
        ? Validate<C[K], I[K]>
        : LocalNeedsType<K>
      : C[K] extends { readonly kind: MethodKind } // a wired method
        ? K extends keyof I
          ? WireHonors<SuccessOf<AsMethod<C[K]>>, IfaceSuccess<I[K]>> extends true
            ? C[K]
            : WireMismatch<K>
          : C[K] // wired member absent from the interface — allowed (interface may be a subset view)
        : C[K];
};
Referenced by 1 symbols