Options
All
  • Public
  • Public/Protected
  • All
Menu

Module function/applyOrReturn

Index

References

Type aliases

Functions

References

Renames and re-exports applyOrReturn

Type aliases

ApplyFunc<T>: (...args: T[]) => any

Type parameters

  • T

Type declaration

    • (...args: T[]): any
    • Parameters

      • Rest ...args: T[]

      Returns any

Functions

  • applyOrReturn<T, F>(args: T[], test: F): ReturnType<F>
  • applyOrReturn<T, F>(args: T[], test: F extends Function ? ApplyFunc<T> : F): F
  • applyOrReturn<T>(args: T[]): <F>(test: F) => ReturnType<F>
  • applyOrReturn<T>(args: T[]): <F>(test: F extends Function ? ApplyFunc<T> : F) => F
  • If test is function it calls with applied first argument, otherwise just returns test

    example
     applyOrReturn([1,2,3], (...args) => args) //=> [1,2,3]
    applyOrReturn([1,2,3], 'test') //=> 'test'

    Type parameters

    Parameters

    • args: T[]

      Arguments passed to test if it's a function

    • test: F

      if test is function it's called with args

    Returns ReturnType<F>

  • If test is function it calls with applied first argument, otherwise just returns test

    example
     applyOrReturn([1,2,3], (...args) => args) //=> [1,2,3]
    applyOrReturn([1,2,3], 'test') //=> 'test'

    Type parameters

    • T

    • F

    Parameters

    • args: T[]

      Arguments passed to test if it's a function

    • test: F extends Function ? ApplyFunc<T> : F

      if test is function it's called with args

    Returns F

  • If test is function it calls with applied first argument, otherwise just returns test

    example
     applyOrReturn([1,2,3], (...args) => args) //=> [1,2,3]
    applyOrReturn([1,2,3], 'test') //=> 'test'

    Type parameters

    • T

    Parameters

    • args: T[]

      Arguments passed to test if it's a function

    Returns <F>(test: F) => ReturnType<F>

      • <F>(test: F): ReturnType<F>
      • Type parameters

        Parameters

        • test: F

        Returns ReturnType<F>

  • If test is function it calls with applied first argument, otherwise just returns test

    example
     applyOrReturn([1,2,3], (...args) => args) //=> [1,2,3]
    applyOrReturn([1,2,3], 'test') //=> 'test'

    Type parameters

    • T

    Parameters

    • args: T[]

      Arguments passed to test if it's a function

    Returns <F>(test: F extends Function ? ApplyFunc<T> : F) => F

      • <F>(test: F extends Function ? ApplyFunc<T> : F): F
      • Type parameters

        • F

        Parameters

        Returns F

Generated using TypeDoc