1.0.0 • Published 7 years ago
vget v1.0.0
vget
Gets a value from a collection that strictly or loosely equals another value.
Installation
Requires Node.js 8.3.0 or above.
npm i vgetAPI
The module exports a get() function that has one other function attached to it as a method: get.any().
get()
Parameters
- Bindable:
collection(Array, Iterator, Map, Object, Set, string, Typed Array, or WeakSet): The collection from which to retrieve a value. valueToMatch(any): The value to retrieve from the collection.- 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).elseReturn(any): A value to return ifvalueToMatchis not found. Defaults toundefined.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 compare 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.preferStrict(boolean): Only applies iflooseistrue. Iftrue, then strictly-identical values will be preferred over loosely-equivalent values. Otherwise, the first loosely-equivalent key found will be used, even if a strictly-identical one comes later. Defaults tofalse.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 a value from the collection that matches the search value either strictly or loosely (depending on the configured options).
- If no such value exists, returns
elseReturnif provided; otherwiseundefined.
Example
const get = require('vget')
const emptyObj = {}
const collection = [emptyObj]
get(collection, {}, {loose: true}) === emptyObj // trueget.any()
Use this function if you want to get the first value that matches any one of a set of values. The signature is the same as that of the main function except that the second parameter is called valuesToMatch and takes an iterable (such as an array or string).
Related
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