Package: effect
Module: Brand
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"
}
Since v2.0.0