pred
v0.2.1
Published
Predicates for JavaScript.
Downloads
3
Readme
Synopsis
pred is a library of JavaScript predicates (functions that test their input and return a boolean).
Install
With NPM
npm install pred
From source
git clone https://github.com/pluma/pred.git
cd pred
npm install
make test
API
Complex predicates
all(predicates…):Function
Returns a predicate that returns true
if all of the predicates return true
for the given input.
any(predicates…):Function
Returns a predicate that returns true
if any of the predicates return true
for the given input.
equals(value):Function
Returns a predicate that returns true
if the input is identical to the given value (using ===
strict equal comparison).
deepEquals(value):Function
Returns a predicate that returns true
if the input is equivalent to the given value.
Example:
console.log(deepEquals({a: {b: ['c']}})({a: {b: ['c']}})); // true
greaterThan(value:Number):Function
Returns a predicate that returns true
if the input is greater than (but not equal to) the given value.
lessThan(value:Number):Function
Returns a predicate that returns true
if the input is less than (but not equal to) the given value.
inRange(minValue:Number, maxValue:Number):Function
Returns a predicate that returns true
if the input is greater than (or equal to) the given minValue but less than (but not equal to) the given maxValue.
hasProperty(name:String):Function
Returns a predicate that returns true
if the input is an object that has a property with the given name.
hasProperties(names:Array):Function
Returns a predicate that returns true
if the input is an object that has a property with each of the given names.
hasProperties(properties:Object):Function
Returns a predicate that returns true
if the input is an object that has a property matching the given properties (name/value mapping).
matches(re:RegExp):Function
Returns a predicate that returns true
if the input value matches the given regular expression.
isInstance(Constructor:Function):Function
Returns a predicate that returns true
if the input value is an instance of the given constructor function.
isPrototypeOf(object):Function
Returns a predicate that returns true
if the input value is the prototype of the given object.
hasPrototype(proto):Function
Returns a predicate that returns true
if the given prototype is the prototype of the input value.
Simple predicates
falsey(value):Boolean
Returns true
if the input is falsey (i.e. evaluates as boolean false
).
truthy(value):Boolean
Returns true
if the input is truthy (i.e. evaluates as boolean true
).
allEqual(value):Boolean
Returns true
if the input is array-like and all of its items are equal, or if it is not array-like.
isArray(value):Boolean
Returns true
if the given value is an Array
.
isArrayLike(value):Boolean
Returns true
if the given value is an Array
or an object with a numeric length
property.
isBoolean(value):Boolean
Returns true
if the given value is a Boolean
.
isEmpty(value):Boolean
Returns true
if the given value is falsey, an array-like object with length
zero or an object with no properties.
isFunction(value):Boolean
Returns true
if the given value is a Function
.
isNaN(value):Boolean
Returns true
if the given value is NaN
.
isNull(value):Boolean
Returns true
if the given value is null
.
isNumber(value):Boolean
Returns true
if the given value is a number other than NaN
.
isObject(value):Boolean
Returns true
if the given value is an object
other than null
.
isPlainObject(value):Boolean
Returns true
if the given value is an instance of Object
.
isString(value):Boolean
Returns true
if the given value is a string
.
isUndefined(value):Boolean
Returns true
if the given value is undefined
.
Unlicense
This is free and unencumbered public domain software. For more information, see http://unlicense.org/ or the accompanying UNLICENSE file.