Skip to main content Link Search Menu Expand Document (external link)

Unify overview

Added in v2.0.0


Table of contents


utils

Unify (type alias)

Signature

export type Unify<A> =
  Values<ExtractTypes<FilterIn<A> & { [typeSymbol]: A }>> extends infer Z ? Z | Exclude<A, Z> | FilterOut<A> : never

Added in v2.0.0

ignoreSymbol (type alias)

Signature

export type ignoreSymbol = typeof ignoreSymbol

Added in v2.0.0

typeSymbol (type alias)

Signature

export type typeSymbol = typeof typeSymbol

Added in v2.0.0

unify

Signature

export declare const unify: {
  <Args extends any[], Args2 extends any[], Args3 extends any[], Args4 extends any[], Args5 extends 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 any[], Args2 extends any[], Args3 extends any[], Args4 extends any[], T>(
    x: (...args: Args) => (...args: Args2) => (...args: Args3) => (...args: Args4) => T
  ): (...args: Args) => (...args: Args2) => (...args: Args3) => (...args: Args4) => Unify<T>
  <Args extends any[], Args2 extends any[], Args3 extends any[], T>(
    x: (...args: Args) => (...args: Args2) => (...args: Args3) => T
  ): (...args: Args) => (...args: Args2) => (...args: Args3) => Unify<T>
  <Args extends any[], Args2 extends any[], T>(
    x: (...args: Args) => (...args: Args2) => T
  ): (...args: Args) => (...args: Args2) => Unify<T>
  <Args extends any[], T>(x: (...args: Args) => T): (...args: Args) => Unify<T>
  <T>(x: T): Unify<T>
}

Added in v2.0.0

unifySymbol (type alias)

Signature

export type unifySymbol = typeof unifySymbol

Added in v2.0.0