Neptunian Parity Mnemonic

    @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
    

    Install

    npm i @async-generators/first

    DownloadsWeekly Downloads

    171

    Version

    0.2.2

    License

    MIT

    Last publish

    Collaborators

    • meirionhughes