{"_id":"@async-generators/last","_rev":"5-b59b9c542f1853bcd65d26f4f721342f","name":"@async-generators/last","description":"get the last (predicated) item from a source iterable","dist-tags":{"latest":"0.1.4"},"versions":{"0.1.0":{"name":"@async-generators/last","description":"get the last (predicated) item from a source iterable","version":"0.1.0","author":{"name":"Meirion Hughes","email":"crakinshot@yahoo.com","url":"https://github.com/MeirionHughes"},"keywords":["map","select","async","iterator","generator","esnext","typescript","linq"],"license":"MIT","main":"./dist/commonjs/index.js","typings":"./dist/commonjs/index.d.ts","module":"./dist/es2015/index.js","repository":{"type":"git","url":"git+https://github.com/async-generators/last.git"},"bugs":{"url":"https://github.com/async-generators/last/issues"},"dependencies":{"@async-generators/iterable":"^0.3.0"},"devDependencies":{"@types/chai":"^4.0.4","@types/mocha":"^2.2.43","@types/node":"^8.0.28","chai":"^4.1.2","chai-as-promised":"^7.1.1","codecov":"^2.3.0","mocha":"^3.5.3","nyc":"^11.2.1","ts-node":"^3.3.0","typescript":"^2.5.2"},"scripts":{"test":"nyc node_modules/mocha/bin/mocha --harmony-async-iteration --require source-map-support/register --compilers ts:ts-node/register test/*.ts","build":"npm run build:commonjs && npm run build:es2015","build:commonjs":"tsc --project tsconfig.build.json --rootDir src/ --outDir ./dist/commonjs","build:es2015":"tsc --project tsconfig.build.json --rootDir src/ --outDir ./dist/es2015 --module es2015","cover":"codecov"},"engines":{"node":">=8.5.0"},"nyc":{"exclude":["node_modules/","test/","coverage/"],"extension":[".ts"],"require":["ts-node/register"],"reporter":["text-summary","lcov"],"sourceMap":true,"instrument":true},"gitHead":"737a6696bf56a05f2bd5423b9963a2ad2a5f88b5","homepage":"https://github.com/async-generators/last#readme","_id":"@async-generators/last@0.1.0","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"meirionhughes","email":"crakinshot@yahoo.com"},"dist":{"integrity":"sha512-m49Pdpzt01Y4tIsX2cB6nKgOBwLY2/T/INPglOr3aZJa0ux6A7ed+QcXIEgjG1WNQp3y8jSD4ebhm0bGKn+dAA==","shasum":"8f82cfbe16b99b5561769db4f21d1558549b4cea","tarball":"https://registry.npmjs.org/@async-generators/last/-/last-0.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBd3BWQ/uUzQM9VwoQEvSXeZUFO1S+hTV8adf2b1KYFnAiEA8BBeBxu9REqirBoeRcWPJb61ovD3Vrjj67UzvAzdg6s="}]},"maintainers":[{"name":"meirionhughes","email":"crakinshot@yahoo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/last-0.1.0.tgz_1506352949090_0.37172805424779654"}},"0.1.1":{"name":"@async-generators/last","description":"get the last (predicated) item from a source iterable","version":"0.1.1","author":{"name":"Meirion Hughes","email":"crakinshot@yahoo.com","url":"https://github.com/MeirionHughes"},"keywords":["map","select","async","iterator","generator","esnext","typescript","linq"],"license":"MIT","main":"./dist/commonjs/index.js","typings":"./dist/commonjs/index.d.ts","module":"./dist/es2015/index.js","repository":{"type":"git","url":"git+https://github.com/async-generators/last.git"},"bugs":{"url":"https://github.com/async-generators/last/issues"},"dependencies":{"@async-generators/iterable":"^0.3.0"},"devDependencies":{"@types/chai":"^4.0.4","@types/mocha":"^2.2.43","@types/node":"^8.0.28","chai":"^4.1.2","chai-as-promised":"^7.1.1","codecov":"^2.3.0","mocha":"^3.5.3","nyc":"^11.2.1","ts-node":"^3.3.0","typescript":"^2.5.2"},"scripts":{"test":"nyc node_modules/mocha/bin/mocha --harmony-async-iteration --require source-map-support/register --compilers ts:ts-node/register test/*.ts","build":"npm run build:commonjs && npm run build:es2015","build:commonjs":"tsc --project tsconfig.build.json --rootDir src/ --outDir ./dist/commonjs","build:es2015":"tsc --project tsconfig.build.json --rootDir src/ --outDir ./dist/es2015 --module es2015","cover":"codecov"},"engines":{"node":">=8.5.0"},"nyc":{"exclude":["node_modules/","test/","coverage/"],"extension":[".ts"],"require":["ts-node/register"],"reporter":["text-summary","lcov"],"sourceMap":true,"instrument":true},"gitHead":"3b106e818948aec4cd4b7682c6844c1fef7a2f54","homepage":"https://github.com/async-generators/last#readme","_id":"@async-generators/last@0.1.1","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"meirionhughes","email":"crakinshot@yahoo.com"},"dist":{"integrity":"sha512-lu8P6SYR6e6IAo8+XSJ4ErMguwDmK2I08Xe+pAF/NczctI7iwTuj0nVPxg19GF7DdHZB5k1hPC7yCH1wrx1C1A==","shasum":"b3f910c8f5902ffb8fdff843e816ff53e75a8c1f","tarball":"https://registry.npmjs.org/@async-generators/last/-/last-0.1.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAYIlNsQgQ93BGk54IY/TntaZcaPMIaohjTEzVGhByI4AiEAku9qoy9A1SJYCxcUMkn2fva81arNymuwONUuB05RmQ0="}]},"maintainers":[{"name":"meirionhughes","email":"crakinshot@yahoo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/last-0.1.1.tgz_1506352995120_0.851926727918908"}},"0.1.2":{"name":"@async-generators/last","description":"get the last (predicated) item from a source iterable","version":"0.1.2","author":{"name":"Meirion Hughes","email":"crakinshot@yahoo.com","url":"https://github.com/MeirionHughes"},"keywords":["map","select","async","iterator","generator","esnext","typescript","linq"],"license":"MIT","main":"./dist/commonjs/index.js","typings":"./dist/commonjs/index.d.ts","module":"./dist/es2015/index.js","repository":{"type":"git","url":"git+https://github.com/async-generators/last.git"},"bugs":{"url":"https://github.com/async-generators/last/issues"},"dependencies":{"@async-generators/iterable":"^0.3.0"},"devDependencies":{"@types/chai":"^4.0.4","@types/mocha":"^2.2.43","@types/node":"^8.0.28","chai":"^4.1.2","chai-as-promised":"^7.1.1","codecov":"^2.3.0","mocha":"^3.5.3","nyc":"^11.2.1","ts-node":"^3.3.0","typescript":"^2.5.2"},"scripts":{"test":"nyc node_modules/mocha/bin/mocha --harmony-async-iteration --require source-map-support/register --compilers ts:ts-node/register test/*.ts","build":"npm run build:commonjs && npm run build:es2015","build:commonjs":"tsc --project tsconfig.build.json --rootDir src/ --outDir ./dist/commonjs","build:es2015":"tsc --project tsconfig.build.json --rootDir src/ --outDir ./dist/es2015 --module es2015","cover":"codecov"},"engines":{"node":">=8.5.0"},"nyc":{"exclude":["node_modules/","test/","coverage/"],"extension":[".ts"],"require":["ts-node/register"],"reporter":["text-summary","lcov"],"sourceMap":true,"instrument":true},"gitHead":"1dcfe802ce14eceb2b8f9e652143e8d2e8926eba","homepage":"https://github.com/async-generators/last#readme","_id":"@async-generators/last@0.1.2","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"meirionhughes","email":"crakinshot@yahoo.com"},"dist":{"integrity":"sha512-iW0Fh2UFL91gIPaVxEADQRdLJ+ERESmYyOEXHzmWa/x/C720+QJbyJulC+Ems9ksVIEc2jzoOoEq+XIbSyl/XA==","shasum":"c6b68b5622f51449fd6505423f7790d8151ca8cf","tarball":"https://registry.npmjs.org/@async-generators/last/-/last-0.1.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKPyR8edhiyueZEXST9PyhhiHh9FkChWkUfcb79BFg4gIgUZMT59IWsxyskVG2I3jsT4FnR3Zfsn0MGCuhMAX7P4I="}]},"maintainers":[{"name":"meirionhughes","email":"crakinshot@yahoo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/last-0.1.2.tgz_1506353038639_0.15814171498641372"}},"0.1.3":{"name":"@async-generators/last","description":"get the last (predicated) item from a source iterable","version":"0.1.3","author":{"name":"Meirion Hughes","email":"crakinshot@yahoo.com","url":"https://github.com/MeirionHughes"},"keywords":["map","select","async","iterator","generator","esnext","typescript","linq"],"license":"MIT","main":"./dist/commonjs/index.js","typings":"./dist/commonjs/index.d.ts","module":"./dist/es2015/index.js","repository":{"type":"git","url":"git+https://github.com/async-generators/last.git"},"bugs":{"url":"https://github.com/async-generators/last/issues"},"dependencies":{"@async-generators/iterable":"^0.3.0"},"devDependencies":{"@types/chai":"^4.0.4","@types/mocha":"^2.2.43","@types/node":"^8.0.28","chai":"^4.1.2","chai-as-promised":"^7.1.1","codecov":"^2.3.0","mocha":"^3.5.3","nyc":"^11.2.1","ts-node":"^3.3.0","typescript":"^2.5.2"},"scripts":{"test":"nyc node_modules/mocha/bin/mocha --harmony-async-iteration --require source-map-support/register --compilers ts:ts-node/register test/*.ts","build":"npm run build:commonjs && npm run build:es2015","build:commonjs":"tsc --project tsconfig.build.json --rootDir src/ --outDir ./dist/commonjs","build:es2015":"tsc --project tsconfig.build.json --rootDir src/ --outDir ./dist/es2015 --module es2015","cover":"codecov"},"engines":{"node":">=8.5.0"},"nyc":{"exclude":["node_modules/","test/","coverage/"],"extension":[".ts"],"require":["ts-node/register"],"reporter":["text-summary","lcov"],"sourceMap":true,"instrument":true},"gitHead":"68e0ee50dfd1df5672fcd60475a8742a662bc3a7","homepage":"https://github.com/async-generators/last#readme","_id":"@async-generators/last@0.1.3","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"meirionhughes","email":"crakinshot@yahoo.com"},"dist":{"integrity":"sha512-ZW1LwYxerqGl8cUTLeuCBeJ90cTirUcRMmhlKX2j7Q1e5XyKUtThKO1bwxOk5gQ+vzttxKwGriEJT4EQezrfuw==","shasum":"3530bfdfe1b44020b7d6a7f2b17f2ca0fef05165","tarball":"https://registry.npmjs.org/@async-generators/last/-/last-0.1.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBKpWDddK+PueOg/Y11XZPbM1UB5dtWP/wa7n96dGK5fAiATBIT0Ko2CT2KD6aU2K2vF4aZVpV16NbGFixkDoioEvg=="}]},"maintainers":[{"name":"meirionhughes","email":"crakinshot@yahoo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/last-0.1.3.tgz_1506353379590_0.27061944268643856"}},"0.1.4":{"name":"@async-generators/last","description":"get the last (predicated) item from a source iterable","version":"0.1.4","author":{"name":"Meirion Hughes","email":"crakinshot@yahoo.com","url":"https://github.com/MeirionHughes"},"keywords":["async","iterator","generator","esnext","typescript","linq"],"license":"MIT","main":"./dist/commonjs/index.js","typings":"./dist/commonjs/index.d.ts","module":"./dist/es2015/index.js","repository":{"type":"git","url":"git+https://github.com/async-generators/last.git"},"bugs":{"url":"https://github.com/async-generators/last/issues"},"dependencies":{"@async-generators/iterable":"^0.3.0"},"devDependencies":{"@types/chai":"^4.0.4","@types/mocha":"^2.2.43","@types/node":"^8.0.28","chai":"^4.1.2","chai-as-promised":"^7.1.1","codecov":"^2.3.0","mocha":"^3.5.3","nyc":"^11.2.1","ts-node":"^3.3.0","typescript":"^2.5.2"},"scripts":{"test":"nyc node_modules/mocha/bin/mocha --harmony-async-iteration --require source-map-support/register --compilers ts:ts-node/register test/*.ts","build":"npm run build:commonjs && npm run build:es2015","build:commonjs":"tsc --project tsconfig.build.json --rootDir src/ --outDir ./dist/commonjs","build:es2015":"tsc --project tsconfig.build.json --rootDir src/ --outDir ./dist/es2015 --module es2015","cover":"codecov"},"engines":{"node":">=8.5.0"},"nyc":{"exclude":["node_modules/","test/","coverage/"],"extension":[".ts"],"require":["ts-node/register"],"reporter":["text-summary","lcov"],"sourceMap":true,"instrument":true},"gitHead":"2c0a9d35307270a1c14575d009b8f0c80236b1ea","homepage":"https://github.com/async-generators/last#readme","_id":"@async-generators/last@0.1.4","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"meirionhughes","email":"crakinshot@yahoo.com"},"dist":{"integrity":"sha512-em3hUav22XOT2jchEwbgagItHuTmn+dopH55l7FCzrbuk5PjH8ZRO55MHpJfMkbTYI/dyZ70MVC8IXyyh428PQ==","shasum":"1c4a96003c49d44a299b022db26b97f1db04ff50","tarball":"https://registry.npmjs.org/@async-generators/last/-/last-0.1.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBdn8dDXxrevYs4a4KUdQyy1Wh5pf5uA715dYDlMj0qWAiEAghEjRPoq09q7ZZFE3HEFgbit0FUHFzL8RyBwLrxMZG4="}]},"maintainers":[{"name":"meirionhughes","email":"crakinshot@yahoo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/last-0.1.4.tgz_1506353439228_0.7672017687000334"}}},"readme":"# last\n[![logo](https://avatars1.githubusercontent.com/u/31987273?v=4&s=100)][async-url]\n\nget the last (predicated) item from a source iterable\n\n[![NPM version][npm-image]][npm-url]\n[![Travis Status][travis-image]][travis-url]\n[![Travis Status][codecov-image]][codecov-url]\n\n## Usage\n\n_package requires a system that supports async-iteration, either natively or via down-compiling_\n\n### Install\n```\nnpm install @async-generators/last --save\nyarn add @async-generators/last\n```\n\nThis package's `main` entry points to a `commonjs` distribution. \n\nAdditionally, the `module` entry points to a `es2015` distribution, which can be used by build systems, such as webpack, to directly use es2015 modules. \n\n## Api\n\n### last(source [,predicate])\n\n<code>last()</code> iterates `source` and returns the last item where `predicate(item) == true`. if `predicate` is `undefined` then it simply returns the last item of the sequence. if `source` contains no items, or `predicate()` always returns false, then `last()` returns `undefined`.\n\n`source` must have a `[Symbol.asyncIterator]` or `[Symbol.iterator]` property. If both are present only `[Symbol.asyncIterator]` is used. \n\n## Example\n\nexample.js\n```js\nconst last = require('@async-generators/last').default;\n\nasync function* source() {\n  yield 1; yield 2; yield 3; yield 4;\n}\n\nasync function main() {\n  console.log(await last(source(), await x => x < 4));\n}\n\nmain();\n\n```\n\nExecute with the latest node.js: \n\n```\nnode --harmony-async-iteration example.js\n```\n\noutput:\n```\n3\n```\n## Typescript\n\nThis library is fully typed and can be imported using: \n\n```ts\nimport last from '@async-generators/last');\n```\n\nIt is also possible to directly execute your [properly configured](https://stackoverflow.com/a/43694282/1657476) typescript with [ts-node](https://www.npmjs.com/package/ts-node):\n\n```\nts-node --harmony_async_iteration example.ts\n```\n\n[npm-url]: https://npmjs.org/package/@async-generators/last\n[npm-image]: https://img.shields.io/npm/v/@async-generators/last.svg\n[npm-downloads]: https://img.shields.io/npm/dm/@async-generators/last.svg\n[travis-url]: https://travis-ci.org/async-generators/last\n[travis-image]: https://img.shields.io/travis/async-generators/last/master.svg\n[codecov-url]: https://codecov.io/gh/async-generators/last\n[codecov-image]: https://codecov.io/gh/async-generators/last/branch/master/graph/badge.svg\n[async-url]: https://github.com/async-generators","maintainers":[{"name":"meirionhughes","email":"crakinshot@yahoo.com"}],"time":{"modified":"2022-04-04T16:01:21.805Z","created":"2017-09-25T15:22:30.013Z","0.1.0":"2017-09-25T15:22:30.013Z","0.1.1":"2017-09-25T15:23:15.954Z","0.1.2":"2017-09-25T15:23:59.767Z","0.1.3":"2017-09-25T15:29:40.474Z","0.1.4":"2017-09-25T15:30:40.133Z"},"homepage":"https://github.com/async-generators/last#readme","keywords":["async","iterator","generator","esnext","typescript","linq"],"repository":{"type":"git","url":"git+https://github.com/async-generators/last.git"},"author":{"name":"Meirion Hughes","email":"crakinshot@yahoo.com","url":"https://github.com/MeirionHughes"},"bugs":{"url":"https://github.com/async-generators/last/issues"},"license":"MIT","readmeFilename":"README.md"}