1.0.0 • Published 7 years ago
vhas v1.0.0
vhas
Checks whether a collection contains a value.
Installation
Requires Node.js 8.3.0 or above.
npm i vhasAPI
The module exports a has() function that has one other function attached to it as a method: has.any().
has()
Parameters
- Bindable:
collection(Array, Iterator, Map, Object, Set, string, Typed Array, or WeakSet): The collection from which to retrieve a value. valueToCheck(any): The value whose presence in the collection is in question.- Optional: Object argument:
arrays/maps/sets/weakSets(arrays of classes/strings): Arrays of classes and/or string names of classes that should be treated as equivalent toArray/Map/Set/WeakSet(respectively).inObj(boolean): Whether or not to search inherited properties ifcollectionis an Object (i.e. not another recognized type). Defaults tofalse.loose(boolean): Whether or not to identify values loosely (as defined bylooselyEquals). Defaults tofalse.looselyEquals(function): A callback that accepts two values and returnstrueif they are to be considered equivalent orfalseotherwise. This argument is only used iflooseistrue. If omitted, the default behavior will, among other things, consider arrays/objects to be equal if they have the same entries.reflectObj(boolean): Whether or not to use reflection to include non-enumerable Object property values. Only takes effect ifcollectionis an Object (i.e. not another recognized type). Defaults tofalse.
Return Values
- Returns
trueifvalueToCheckmatches an element in thecollection. The match can be strict or loose depending on the configured options. - Otherwise, returns
false.
Example
const has = require('vhas')
const emptyObj = {}
const collection = [emptyObj]
has(collection, {}, {loose: true}) // truehas.any()
Use this function if you want to check whether a collection contains any one of a set of values. The signature is the same as the main function except that the second parameter is called valuesToCheck and takes an iterable (such as an array or string).
Example
const has = require('vhas')
const vowels = 'aeiou'
has.any('test', vowels) // true
has.any('xyz', vowels) // falseRelated
The “k” family of modules works on keyed/indexed collections.
The “v” family of modules works on any collection of values.
1.0.0
7 years ago