Skip to content

sindresorhus/is-empty-iterable

is-empty-iterable

Check if an Iterable is empty

More efficient than Array.from(iterable).length, as it only iterates the first item, which can make a big difference for dynamic iterators, like a Generator doing an expensive operation.

Install

npm install is-empty-iterable

Usage

import isEmptyIterable from 'is-empty-iterable';

isEmptyIterable([]);
//=> true

isEmptyIterable(new Set([1, 2]));
//=> false

API

isEmptyIterable(iterable)

Returns a boolean.

iterable

Type: Iterable

Note

When using with generators, be aware that generators are consumed after being iterated. This means calling isEmptyIterable() on the same generator instance multiple times will return different results:

function* myGenerator() {
	yield 1;
	yield 2;
}

const generator = myGenerator();

isEmptyIterable(generator);
//=> false

isEmptyIterable(generator); // Generator is now consumed
//=> true

If you need to check the same generator multiple times, create a new generator instance for each check:

function* myGenerator() {
	yield 1;
	yield 2;
}

isEmptyIterable(myGenerator());
//=> false

isEmptyIterable(myGenerator());
//=> false

About

Check if an Iterable is empty

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •