jora
Version:
JavaScript object query engine
27 lines (23 loc) • 953 B
JavaScript
;
const misc = require('./utils/misc.cjs');
const assertions = Object.freeze({
function: value => typeof value === 'function',
symbol: value => typeof value === 'symbol',
primitive: value => value === null || (typeof value !== 'object' && typeof value !== 'function'),
string: value => typeof value === 'string',
number: value => typeof value === 'number',
int: Number.isInteger,
finite: value => Number.isFinite(value),
nan: value => Number.isNaN(value),
infinity: value => value === Infinity || value === -Infinity,
boolean: value => value === true || value === false,
null: value => value === null,
undefined: value => value === undefined,
nullish: value => value === null || value === undefined,
object: misc.isPlainObject,
array: misc.isArray,
regexp: misc.isRegExp,
truthy: misc.isTruthy,
falsy: value => !misc.isTruthy(value)
});
module.exports = assertions;