Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

emptier

eaton9.6kMIT1.2.0TypeScript support: included

A thorough, configurable, zero-dependency Javascript emptiness check.

empty, is-empty

readme

Emptier

A thorough, configurable, zero-dependency Javascript emptiness check.

By default, emptier reproduces Loadash's _.isEmpty() logic, without the weight of Lodash. Optional flags can also be passed in to define which values are considered 'empty', and to provide supply emptiness check functions for oddball classes.

Installation

npm install -s emptier

Usage

import { isEmpty } from 'emptier';

console.log(isEmpty(undefined)); // true
console.log(isEmpty(null)); // true
console.log(isEmpty('')); // true
console.log(isEmpty([])); // true
console.log(isEmpty(new Set())); // true
console.log(isEmpty(new Map())); // true
console.log(isEmpty(Buffer.from(''))); // true
console.log(isEmpty({})); // true

Expanded checks

console.log(isEmpty(0, { zero: true })); // true
console.log(isEmpty(NaN, { nan: true })); // true
console.log(isEmpty('  \t\t\n', { whitespace: true })); // true
console.log(isEmpty(false, { false: true })); // true
console.log(isEmpty(-0, { falsy: true })); // true

Custom checks

// Custom emptiness checks
const obj = new MyCustomWeirdClass(...);

function isMyClassEmpty(input: unknown) {
  return (obj implements MyCustomWeirdClass && obj.someFlag === undefined);
}

console.log(isEmpty(obj, { custom: isMyClassEmpty })); // true

changelog

Changelog

v1.2.0

  • Don't treat URLs as empty; significant facepalm.

v1.1.0

  • Don't treat dates as generic objects; instead, make date-emptiness a configurable option, with the zero-date (Jan 1 1970) as the empty value. Tests added for this new mode.