Skip to content

[Node.js] Filters an iterable object so that it only yields values which pass a test function.

License

Notifications You must be signed in to change notification settings

lamansky/filter-iter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

filter-iter

Filters an iterable object so that it only yields values which pass a test function.

Optionally lets you set a numeric limit on total filtered values yielded.

Installation

Requires Node.js 6.0.0 or above.

npm i filter-iter

API

The module exports a single function.

Parameters

  1. Bindable: iter (iterable): The iterable whose values should be filtered.
  2. Optional: test (Function): A callback to which each iterated value is passed. The callback should return true if the value should be kept. If this argument is omitted, values will be filtered by truthiness.
  3. Object argument:
    • Optional: limit (integer): The maximum number of items to yield. Defaults to Infinity.

Return Value

An iterable object with the filtered values from iter.

Example

const filter = require('filter-iter')

const even = n => n % 2 === 0

filter([1, 2, 3, 4, 5], even) // yields 2 and 4

// A limit parameter is supported.
filter([1, 2, 3, 4, 5], even, {limit: 1}) // yields 2

// Values are filtered by truthiness if no callback is provided.
filter([0, 1, 2, 3]) // yields 1, 2, and 3
filter([0, 1, 2, 3], {limit: 2}) // yields 1 and 2

// Supports the bind operator
[0, 1, 2]::filter() // yields 1 and 2
[1, 2, 3, 4, 5]::filter(even) // yields 2 and 4
[1, 2, 3, 4, 5]::filter(even, {limit: 1}) // yields 2

Related

  • partition-iterable: Divides iterated values into those that match a filter and those that don’t.
  • reduce-iterable: Applies a function to iterated values to reduce them to a single value.
  • unique-iterable: Filters an iterable object so it doesn’t yield the same value more than once.
  • unique-iterable-by: Filters yielded values by testing uniqueness with an index, key, or callback.

About

[Node.js] Filters an iterable object so that it only yields values which pass a test function.

Resources

License

Stars

Watchers

Forks

Packages

No packages published