effect-io-ai

Package: effect
Module: Brand

Brand.Brand.EnsureCommonBase

A utility type that checks that all brands have the same base type.

Signature

type EnsureCommonBase<Brands> = {
    [B in keyof Brands]: Brand.Unbranded<Brand.FromConstructor<Brands[0]>> extends
      Brand.Unbranded<Brand.FromConstructor<Brands[B]>>
      ? Brand.Unbranded<Brand.FromConstructor<Brands[B]>> extends Brand.Unbranded<Brand.FromConstructor<Brands[0]>>
        ? Brands[B]
      : Brands[B]
      : "ERROR: All brands should have the same base type"
  }

Source

Since v2.0.0