123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- 'use strict';
- /**
- * Is this value defined and not null?
- * @private
- */
- const defined = function (val) {
- return typeof val !== 'undefined' && val !== null;
- };
- /**
- * Is this value an object?
- * @private
- */
- const object = function (val) {
- return typeof val === 'object';
- };
- /**
- * Is this value a plain object?
- * @private
- */
- const plainObject = function (val) {
- return object(val) && Object.prototype.toString.call(val) === '[object Object]';
- };
- /**
- * Is this value a function?
- * @private
- */
- const fn = function (val) {
- return typeof val === 'function';
- };
- /**
- * Is this value a boolean?
- * @private
- */
- const bool = function (val) {
- return typeof val === 'boolean';
- };
- /**
- * Is this value a Buffer object?
- * @private
- */
- const buffer = function (val) {
- return object(val) && val instanceof Buffer;
- };
- /**
- * Is this value a non-empty string?
- * @private
- */
- const string = function (val) {
- return typeof val === 'string' && val.length > 0;
- };
- /**
- * Is this value a real number?
- * @private
- */
- const number = function (val) {
- return typeof val === 'number' && !Number.isNaN(val);
- };
- /**
- * Is this value an integer?
- * @private
- */
- const integer = function (val) {
- return number(val) && val % 1 === 0;
- };
- /**
- * Is this value within an inclusive given range?
- * @private
- */
- const inRange = function (val, min, max) {
- return val >= min && val <= max;
- };
- /**
- * Is this value within the elements of an array?
- * @private
- */
- const inArray = function (val, list) {
- return list.indexOf(val) !== -1;
- };
- /**
- * Create an Error with a message relating to an invalid parameter.
- *
- * @param {string} name - parameter name.
- * @param {string} expected - description of the type/value/range expected.
- * @param {*} actual - the value received.
- * @returns {Error} Containing the formatted message.
- * @private
- */
- const invalidParameterError = function (name, expected, actual) {
- return new Error(
- `Expected ${expected} for ${name} but received ${actual} of type ${typeof actual}`
- );
- };
- module.exports = {
- defined: defined,
- object: object,
- plainObject: plainObject,
- fn: fn,
- bool: bool,
- buffer: buffer,
- string: string,
- number: number,
- integer: integer,
- inRange: inRange,
- inArray: inArray,
- invalidParameterError: invalidParameterError
- };
|