Skip to content

Unify

8 exports Added in v2.0.0 Source

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;

unify

Added in v2.0.0 Source

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>;
};

Unify type

Added in v2.0.0 Source

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;