UNPKG

crocks

Version:

A collection of well known Algebraic Datatypes for your utter enjoyment.

27 lines (20 loc) 578 B
/** @license ISC License (c) copyright 2016 original and current authors */ /** @author Ian Hofmann-Hicks (evil) */ var isObject = require('./isObject') var isMonoid = require('./isMonoid') var equals = require('./equals') var fl = require('./flNames') function isEmpty(x) { if(isMonoid(x)) { var empty = x.constructor[fl['empty']] || x.constructor['empty'] || x['empty'] return equals(x, empty()) } if(isObject(x)) { return !Object.keys(x).length } if(x && x.length !== undefined) { return !x.length } return true } module.exports = isEmpty