@async-generators/first
TypeScript icon, indicating that this package has built-in type declarations

0.2.2 • Public • Published

first

logo

get the first (predicated) item from a source iterable

NPM version Travis Status Travis Status

Usage

package requires a system that supports async-iteration, either natively or via down-compiling

Install

npm install @async-generators/first --save
yarn add @async-generators/first

This package's main entry points to a commonjs distribution.

Additionally, the module entry points to a es2015 distribution, which can be used by build systems, such as webpack, to directly use es2015 modules.

Api

first(source [,predicate])

first() iterates source and returns the first item where predicate(item) == true. if predicate is undefined then it simply returns the first item. if source contains no items, or predicate() always returns false, then first() returns undefined.

source must have a [Symbol.asyncIterator] or [Symbol.iterator] property. If both are present only [Symbol.asyncIterator] is used.

Example

example.js

const first = require('@async-generators/first').default;

async function* source() {
  yield 1; yield 2; yield 3; yield 4;
}

async function main() {
  console.log(await first(source(), x => x > 1));
}

main();

Execute with the latest node.js:

node --harmony-async-iteration example.js

output:

2

Typescript

This library is fully typed and can be imported using:

import first from '@async-generators/first');

It is also possible to directly execute your properly configured typescript with ts-node:

ts-node --harmony_async_iteration example.ts

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.2.2
    715
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 0.2.2
    715
  • 0.2.1
    0
  • 0.2.0
    0
  • 0.1.0
    0

Package Sidebar

Install

npm i @async-generators/first

Weekly Downloads

715

Version

0.2.2

License

MIT

Last publish

Collaborators

  • meirionhughes