提交学习笔记专用
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

15 lines
512 B

  1. /**
  2. * A factory function that creates a function to check if the payload is one of the given types.
  3. *
  4. * @example
  5. * import { isOneOf, isNull, isUndefined } from 'is-what'
  6. *
  7. * const isNullOrUndefined = isOneOf(isNull, isUndefined)
  8. *
  9. * isNullOrUndefined(null) // true
  10. * isNullOrUndefined(undefined) // true
  11. * isNullOrUndefined(123) // false
  12. */
  13. export function isOneOf(a, b, c, d, e) {
  14. return (value) => a(value) || b(value) || (!!c && c(value)) || (!!d && d(value)) || (!!e && e(value));
  15. }