Socket
Socket
Sign inDemoInstall

asynciterator

Package Overview
Dependencies
Maintainers
1
Versions
34
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

asynciterator - npm Package Compare versions

Comparing version 3.8.1 to 3.9.0

dist/asynciterator.d.mts

19

dist/asynciterator.d.ts

@@ -61,3 +61,3 @@ /**

*/
export declare class AsyncIterator<T> extends EventEmitter {
export declare class AsyncIterator<T> extends EventEmitter implements AsyncIterable<T> {
protected _state: number;

@@ -346,2 +346,13 @@ private _readable;

clone(): ClonedIterator<T>;
/**
* An AsyncIterator is async iterable.
* This allows iterators to be used via the for-await syntax.
*
* In cases where the returned EcmaScript AsyncIterator will not be fully consumed,
* it is recommended to manually listen for error events on the main AsyncIterator
* to avoid uncaught error messages.
*
* @returns {ESAsyncIterator<T>} An EcmaScript AsyncIterator
*/
[Symbol.asyncIterator](): ESAsyncIterator<T>;
}

@@ -828,2 +839,8 @@ /**

}
/**
* Copy of the EcmaScript AsyncIterator interface, which we can not use directly due to the name conflict.
*/
interface ESAsyncIterator<T> {
next(value?: any): Promise<IteratorResult<T>>;
}
declare type MaybePromise<T> = T | Promise<T>;

@@ -830,0 +847,0 @@ declare type AsyncIteratorOrArray<T> = T[] | AsyncIterator<T>;

26

package.json
{
"name": "asynciterator",
"version": "3.8.1",
"version": "3.9.0",
"description": "An asynchronous iterator library for advanced object pipelines.",

@@ -18,4 +18,10 @@ "author": "Ruben Verborgh <ruben@verborgh.org> (https://ruben.verborgh.org/)",

".": {
"require": "./dist/asynciterator.js",
"import": "./dist/asynciterator.mjs"
"require": {
"types": "./dist/asynciterator.d.ts",
"default": "./dist/asynciterator.js"
},
"import": {
"types": "./dist/asynciterator.d.mts",
"default": "./dist/asynciterator.mjs"
}
}

@@ -30,9 +36,8 @@ },

"scripts": {
"build": "npm run build:clean && npm run build:module && npm run build:commonjs && npm run build:types",
"build": "npm run build:clean && npm run build:module && npm run build:commonjs",
"build:clean": "rm -rf dist",
"build:module": " tsc --module es2015 && ./.change-extension mjs dist/ts-out/*.js && mv dist/ts-out/*.mjs dist && rm -r dist/ts-out && npm run build:module:import",
"build:commonjs": "tsc --module commonjs && mv dist/ts-out/*.js dist && rm -r dist/ts-out && npm run build:commonjs:import",
"build:module:import": " sed -i'.bak' -e 's/\\.\\/linkedlist/.\\/linkedlist.mjs/' -e 's/\\.\\/taskscheduler/.\\/taskscheduler.mjs/' dist/asynciterator.mjs && rm dist/*.bak",
"build:commonjs:import": "sed -i'.bak' -e 's/\\.\\/linkedlist/.\\/linkedlist.js/' -e 's/\\.\\/taskscheduler/.\\/taskscheduler.js/' dist/asynciterator.js && rm dist/*.bak",
"build:types": "tsc -d && rm dist/ts-out/*.js && mv dist/ts-out/*.d.ts dist && rm -r dist/ts-out",
"build:module": "tsc -d --module es2015 && ./.change-extension mjs dist/ts-out/*.js && ./.change-extension d.mts dist/ts-out/*.d.ts && mv dist/ts-out/*.mjs dist/ts-out/*.d.mts dist && rm -r dist/ts-out && npm run build:module:import",
"build:commonjs": "tsc -d --module commonjs && mv dist/ts-out/*.js dist/ts-out/*.d.ts dist && rm -r dist/ts-out && npm run build:commonjs:import",
"build:module:import": "sed -i'.bak' -e 's/\\.\\/linkedlist/.\\/linkedlist.mjs/' -e 's/\\.\\/taskscheduler/.\\/taskscheduler.mjs/' dist/asynciterator.mjs dist/asynciterator.d.mts && rm dist/*.bak",
"build:commonjs:import": "sed -i'.bak' -e 's/\\.\\/linkedlist/.\\/linkedlist.js/' -e 's/\\.\\/taskscheduler/.\\/taskscheduler.js/' dist/asynciterator.js && rm dist/*.bak",
"prepare": "npm run build",

@@ -59,4 +64,3 @@ "test": "npm run build:commonjs && npm run test:microtask",

"husky": "^4.2.5",
"jaguarjs-jsdoc": "^1.1.0",
"jsdoc": "^3.5.5",
"jsdoc": "^4.0.2",
"mocha": "^9.0.0",

@@ -63,0 +67,0 @@ "sinon": "^7.2.7",

@@ -177,4 +177,23 @@ # Asynchronous iterators for JavaScript

### Consuming an AsyncIterator as EcmaScript-AsyncIterator
Due to the syntactical sugar [EcmaScript's AsyncIterator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AsyncIterator)
provides, our iterators can also be consumed as such.
If high performance over large iterators is required, this method of consumption not recommended.
```JavaScript
const numbers = new IntegerIterator({ start: 1, end: 100 });
for await (const number of numbers)
console.log('number', number);
console.log('all done!');
```
Error events emitted within the iterator can be caught by wrapping the for-await-block in a try-catch.
In cases where the returned EcmaScript AsyncIterator will not be fully consumed,
it is recommended to manually listen for error events on the main AsyncIterator
to avoid uncaught error messages.
## License
The asynciterator library is copyrighted by [Ruben Verborgh](http://ruben.verborgh.org/)
and released under the [MIT License](http://opensource.org/licenses/MIT).

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc