UNPKG

ts-prime

Version:

A utility library for JavaScript and Typescript.

33 lines (30 loc) 985 B
import { purry } from './purry'; function _isOneOf<T extends string | number | boolean>( value: string | number | boolean | undefined, array: ReadonlyArray<T> ): value is T { return typeof value !== 'undefined' && array.indexOf(value as T) !== -1; } /** * Checks if value is one of provided list * @param value - Value to check * @param array - Provided list * @signature * P.isOneOf(value, list) * @signature * P.isOneOf(list)(value) * @example * P.isOneOf('apple',['apple', 'microsoft']) //=> true * P.isOneOf(['apple', 'microsoft'])('apple') //=> true * @category Guard, Pipe */ export function isOneOf<T extends string | number | boolean>( value: string | number | boolean | undefined, array: ReadonlyArray<T> ): value is T; export function isOneOf<T extends string | number | boolean>( array: ReadonlyArray<T> ): (value: string | number | boolean | undefined) => value is T; export function isOneOf() { return purry(_isOneOf, arguments); }