Skip to content
This repository was archived by the owner on Nov 18, 2019. It is now read-only.

async-generators/equal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

compare two iterator sequences for equality

Resources

License

Stars

Watchers

Forks

Packages

No packages published