123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- 'use strict';
- const defined = function (val) {
- return typeof val !== 'undefined' && val !== null;
- };
- const object = function (val) {
- return typeof val === 'object';
- };
- const plainObject = function (val) {
- return Object.prototype.toString.call(val) === '[object Object]';
- };
- const fn = function (val) {
- return typeof val === 'function';
- };
- const bool = function (val) {
- return typeof val === 'boolean';
- };
- const buffer = function (val) {
- return val instanceof Buffer;
- };
- const typedArray = function (val) {
- if (defined(val)) {
- switch (val.constructor) {
- case Uint8Array:
- case Uint8ClampedArray:
- case Int8Array:
- case Uint16Array:
- case Int16Array:
- case Uint32Array:
- case Int32Array:
- case Float32Array:
- case Float64Array:
- return true;
- }
- }
- return false;
- };
- const arrayBuffer = function (val) {
- return val instanceof ArrayBuffer;
- };
- const string = function (val) {
- return typeof val === 'string' && val.length > 0;
- };
- const number = function (val) {
- return typeof val === 'number' && !Number.isNaN(val);
- };
- const integer = function (val) {
- return Number.isInteger(val);
- };
- const inRange = function (val, min, max) {
- return val >= min && val <= max;
- };
- const inArray = function (val, list) {
- return list.includes(val);
- };
- 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,
- typedArray: typedArray,
- arrayBuffer: arrayBuffer,
- string: string,
- number: number,
- integer: integer,
- inRange: inRange,
- inArray: inArray,
- invalidParameterError: invalidParameterError
- };
|