Skip to content

Commit

Permalink
feat: add JSDocs
Browse files Browse the repository at this point in the history
  • Loading branch information
mesqueeb committed May 31, 2023
1 parent f3c8b3c commit 6977a30
Showing 1 changed file with 55 additions and 0 deletions.
55 changes: 55 additions & 0 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -359,28 +359,83 @@ export function isPrimitive(
*/
export const isNullOrUndefined = isOneOf(isNull, isUndefined)

/**
* A factory function that creates a function to check if the payload is one of the given types.
* @example
* import { isOneOf, isNull, isUndefined } from 'is-what'
*
* const isNullOrUndefined = isOneOf(isNull, isUndefined)
*
* isNullOrUndefined(null) // true
* isNullOrUndefined(undefined) // true
* isNullOrUndefined(123) // false
*/
export function isOneOf<A, B extends A, C extends A>(
a: TypeGuard<A, B>,
b: TypeGuard<A, C>
): TypeGuard<A, B | C>
/**
* A factory function that creates a function to check if the payload is one of the given types.
* @example
* import { isOneOf, isNull, isUndefined } from 'is-what'
*
* const isNullOrUndefined = isOneOf(isNull, isUndefined)
*
* isNullOrUndefined(null) // true
* isNullOrUndefined(undefined) // true
* isNullOrUndefined(123) // false
*/
export function isOneOf<A, B extends A, C extends A, D extends A>(
a: TypeGuard<A, B>,
b: TypeGuard<A, C>,
c: TypeGuard<A, D>
): TypeGuard<A, B | C | D>
/**
* A factory function that creates a function to check if the payload is one of the given types.
* @example
* import { isOneOf, isNull, isUndefined } from 'is-what'
*
* const isNullOrUndefined = isOneOf(isNull, isUndefined)
*
* isNullOrUndefined(null) // true
* isNullOrUndefined(undefined) // true
* isNullOrUndefined(123) // false
*/
export function isOneOf<A, B extends A, C extends A, D extends A, E extends A>(
a: TypeGuard<A, B>,
b: TypeGuard<A, C>,
c: TypeGuard<A, D>,
d: TypeGuard<A, E>
): TypeGuard<A, B | C | D | E>
/**
* A factory function that creates a function to check if the payload is one of the given types.
* @example
* import { isOneOf, isNull, isUndefined } from 'is-what'
*
* const isNullOrUndefined = isOneOf(isNull, isUndefined)
*
* isNullOrUndefined(null) // true
* isNullOrUndefined(undefined) // true
* isNullOrUndefined(123) // false
*/
export function isOneOf<A, B extends A, C extends A, D extends A, E extends A, F extends A>(
a: TypeGuard<A, B>,
b: TypeGuard<A, C>,
c: TypeGuard<A, D>,
d: TypeGuard<A, E>,
e: TypeGuard<A, F>
): TypeGuard<A, B | C | D | E | F>
/**
* A factory function that creates a function to check if the payload is one of the given types.
* @example
* import { isOneOf, isNull, isUndefined } from 'is-what'
*
* const isNullOrUndefined = isOneOf(isNull, isUndefined)
*
* isNullOrUndefined(null) // true
* isNullOrUndefined(undefined) // true
* isNullOrUndefined(123) // false
*/
export function isOneOf(
a: AnyFunction,
b: AnyFunction,
Expand Down

0 comments on commit 6977a30

Please sign in to comment.