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

0.7.1 • Public • Published

equal

logo

compare two iterator sequences for equality

NPM version Travis Status Travis Status

Install

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

This 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.js

Typescript

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

Package Sidebar

Install

npm i @async-generators/equal

Weekly Downloads

0

Version

0.7.1

License

MIT

Last publish

Collaborators

  • meirionhughes