0.7.1 • Published 8 years ago
@async-generators/equal v0.7.1
equal
compare two iterator sequences for equality
Install
npm install @async-generators/equal --save
yarn add @async-generators/equalThis package's main entry points to a commonjs dist.
The module entry points to a es2015 module dist. Both require require native async-generator support, or be down-compiled with a webpack loader.
Api
equal(first, second , comparer)
equal() compares two sync/async iterable sequences and returns true if:
- both yield objects of the same typeof
- both yield equal items, where comparer(a, b) == true
- both yield equal items in the same order.
- both sequence yield the same number of items
Both first and second must have either a [Symbol.asyncIterator] or [Symbol.iterator] property. If they have both then [Symbol.asyncIterator] is used.
Example
example.js
const equal = require('@async-generators/equal').default;
async function* first() {
yield 1; yield 2; yield 3;
}
function* second() {
yield 1; yield 2; yield 3;
}
async function main(){
let result = await equal(first(), second());
console.log("equal:", result);
}
main();Execute with node.js 9 and above:
node --harmony example.jsTypescript
This library is fully typed and can be imported using:
import equal from '@async-generators/equal');It is also possible to directly execute your properly configured typescript with ts-node:
ts-node --harmony foo.ts