Unify
Other
ignoreSymbol
Added in v2.0.0
Source
Signature
declare const ignoreSymbol: unique symbol;ignoreSymbol type
Added in v2.0.0
Source
Signature
type ignoreSymbol = typeof ignoreSymbol;typeSymbol
Added in v2.0.0
Source
Signature
declare const typeSymbol: unique symbol;typeSymbol type
Added in v2.0.0
Source
Signature
type typeSymbol = typeof typeSymbol;Signature
declare const unify: {
<
Args extends Array<any>,
Args2 extends Array<any>,
Args3 extends Array<any>,
Args4 extends Array<any>,
Args5 extends Array<any>,
T,
>(
x: (
...args: Args
) => (...args: Args2) => (...args: Args3) => (...args: Args4) => (...args: Args5) => T,
): (
...args: Args
) => (...args: Args2) => (...args: Args3) => (...args: Args4) => (...args: Args5) => Unify<T>;
<
Args extends Array<any>,
Args2 extends Array<any>,
Args3 extends Array<any>,
Args4 extends Array<any>,
T,
>(
x: (...args: Args) => (...args: Args2) => (...args: Args3) => (...args: Args4) => T,
): (...args: Args) => (...args: Args2) => (...args: Args3) => (...args: Args4) => Unify<T>;
<Args extends Array<any>, Args2 extends Array<any>, Args3 extends Array<any>, T>(
x: (...args: Args) => (...args: Args2) => (...args: Args3) => T,
): (...args: Args) => (...args: Args2) => (...args: Args3) => Unify<T>;
<Args extends Array<any>, Args2 extends Array<any>, T>(
x: (...args: Args) => (...args: Args2) => T,
): (...args: Args) => (...args: Args2) => Unify<T>;
<Args extends Array<any>, T>(x: (...args: Args) => T): (...args: Args) => Unify<T>;
<T>(x: T): Unify<T>;
};Signature
type Unify<A> =
Values<
ExtractTypes<
FilterIn<A> & {
[typeSymbol]: A;
}
>
> extends infer Z
? Z | Exclude<A, Z> | FilterOut<A>
: never;unifySymbol
Added in v2.0.0
Source
Signature
declare const unifySymbol: unique symbol;unifySymbol type
Added in v2.0.0
Source
Signature
type unifySymbol = typeof unifySymbol;