Validation

Table of Content
Purpose
Collection of helpful functions for data validation
Installation
Via npm
npm install @scuba-squad/validation
API
isAfter(value: date | number | string | array | object, compare: ?date | number | string | array | object = Date.now()): boolean
Added in: v1.0.0
Check if the value
is after the compare
arguments:
value: date | number | string | array | object
compare: ?date | number | string | array | object = Date.now()
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isAfter(new Date(2020), new Date(2010));
Validation.isAfter(9, 5);
Validation.isAfter('2020-01-01', '2010-01-01');
Validation.isAfter({y: 2020}, {y: 2010});
Validation.isAfter('2030-01-01');
Validation.isAfter(9)
isAll(value: mixed, ...callable: function | string | regexp | array): boolean
Added in: v1.0.0
Check if the value
passes all the provided callable
functions
arguments:
value: mixed
...callable: function | string | regexp | array
- function is any function that can be called passing
value
as the first argument
- string is name of a
@scuba-squad/validation
function
- regexp is a regexp to validate against using a bound
test
method
- array allows for additional arguments to be passed to the function
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isAll('hello world!', 'isString', ['isLength', {max: 16}]);
Validation.isAll('{"a": 5}', 'isJSON', function(value) {
value = JSON.parse(value);
return !!value.a;
});
isAlpha(value: string): boolean
Added in: v1.0.0
Check if the value
contains only case insensitive ascii characters A-Z
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isAlpha('asdf');
Validation.isAlpha('asdf4');
isAlphaNumberic(value: string): boolean
Added in: v1.0.0
Check if the value
contains only case insensitive ascii characters A-Z and/or 0-9
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isAlphaNumberic('asdf');
Validation.isAlphaNumberic('asdf4');
Validation.isAlphaNumberic('asdf!');
isAmericanExpress(value: string | number): boolean
Added in: v1.0.0
Check if the value
is an American Express primary account number
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isAmericanExpress('378282246310005');
Validation.isAmericanExpress('6011111111111117');
isAny(value: mixed, ...callable: function | string | regexp | array): boolean
Added in: v1.0.0
Check if the value
passes any of the provided callable
functions
arguments:
value: mixed
...callable: function | string | regexp | array
- function is any function that can be called passing
value
as the first argument
- string is name of a
@scuba-squad/validation
function
- regexp is a regexp to validate against using a bound
test
method
- array allows for additional arguments to be passed to the function
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isAny(5, 'isUndefined', 'isNull', 'isInteger');
Validation.isAny('6011111111111117', 'isAmericanExpress', 'isDiscover');
isArguments(value: mixed): boolean
Added in: v1.0.0
Check if the value
is an Arguments object
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
let fn = function() {
Validation.isArguments(arguments);
};
let spread = function(arg, ...rest) {
Validation.isArguments(arg);
Validation.isArguments(rest);
};
isArray(value: mixed): boolean
Added in: v1.0.0
Check if the value
is an Array object
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isArray([]);
Validation.isArray(Array.from(new Set([1, 2])));
Validation.isArray(new Set([1, 2]));
let fn = function() {
Validation.isArray(arguments);
};
isAscii(value: string): boolean
Added in: v1.0.0
Check if the value
contains only ascii characters
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isAscii('hello world!');
Validation.isAscii('~!@#$%^&*()_+|}{POIUYTREWQASDFGHJKL:"?><MNBVCXZ"}');
Validation.isAscii('Δ');
Validation.isAscii('=adklãjfhsd');
isBase64(value: string): boolean
Added in: v1.0.0
Check if the value
is a base64 encoded string
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isBase64('aifrledy');
Validation.isBase64('a83k/ts=');
Validation.isBase64('we48tuer=');
Validation.isBase64('=adkljfhsd');
isBefore(value: date | number | string | array | object, compare: ?date | number | string | array | object = Date.now()): boolean
Added in: v1.0.0
Check if the value
is before the compare
arguments:
value: date | number | string | array | object
compare: ?date | number | string | array | object = Date.now()
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isBefore(new Date(2010));
Validation.isBefore(5, 9);
Validation.isBefore('2010-01-01', '2020');
Validation.isBefore({y: 2010}, {y: 2020});
Validation.isBefore(9);
Validation.isBefore('2030-01-01');
isBoolean(value: mixed): boolean
Added in: v1.0.0
Check if the value
is a Boolean object or primitive
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isBoolean(true);
Validation.isBoolean(false);
Validation.isBoolean(new Boolean());
Validation.isBoolean(1);
Validation.isBoolean('true');
isCreditCard(value: string): boolean
Added in: v1.0.0
Check if the value
is a credit card primary account number
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isCreditCard('378282246310005');
Validation.isCreditCard('6011111111111117');
Validation.isCreditCard('3530111333300000');
Validation.isCreditCard('5555555555554444');
Validation.isCreditCard('4111111111111111');
Validation.isCreditCard('4222222222222');
Validation.isCreditCard('378282246310004');
Validation.isCreditCard('6011161111111117');
Validation.isCreditCard('5555555535554444');
isDataURI(value: string): boolean
Added in: v1.0.0
Check if the value
is a data URI string
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isDataURI('data:,');
Validation.isDataURI('data:text/vnd-example+xyz;foo=bar;base64,R0lGODdh');
Validation.isDataURI('data:text/plain;charset=UTF-8;page=21,the%20data:1234,5678');
Validation.isDataURI('data:we48tuer');
Validation.isDataURI('data:test,we[foewf]');
Validation.isDataURI('data:34w98uerj,');
isDate(value: date | number | string | array | object): boolean
Added in: v1.0.0
Check if the value
is a date object or parsable as 1 via moment.js
arguments:
value: date | number | string | array | object
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isDate(new Date());
Validation.isDate(Date.now());
Validation.isDate('2020-01-01');
Validation.isDate([2020, 1, 1]);
Validation.isDate({y: 2020});
isDinersClub(value: string): boolean
Added in: v1.0.0
Check if the value
is a Diners Club card primary account number
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isDinersClub('30569309025904');
Validation.isDinersClub('38520000023237');
Validation.isDinersClub('378282246310004');
Validation.isDinersClub('6011111111111117');
isDiscover(value: string): boolean
Added in: v1.0.0
Check if the value
is Discover card primary account number
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isDiscover('6011111111111117');
Validation.isDiscover('6011000990139424');
Validation.isDiscover('378282246310004');
Validation.isDiscover('6011111111111116');
isDomainName(value: mixed, idn: boolean = true): boolean
Added in: v1.0.0
Check if the value
is a domain name
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isDomainName('code.google.com');
Validation.isDomainName('例子.测试');
Validation.isDomainName('.foo.com');
Validation.isDomainName('##.$/');
isEmailAddress(value: string): boolean
Added in: v1.0.0
Check if the value
is an email address string
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isEmailAddress('#!$%&\'*+-/=?^_`{}|~@example.org');
Validation.isEmailAddress('email@123.123.123.123');
Validation.isEmailAddress('email@example.co.jp');
Validation.isEmailAddress('A@b@c@example.com');
Validation.isEmailAddress('a"b(c)d,e:f;g<h>i[j\k]l@example.com');
Validation.isEmailAddress('this\ still\"not\\allowed@example.com');
isEmpty(value: mixed): boolean
Added in: v1.0.0
Check if the value
is empty
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isEmpty({});
Validation.isEmpty([]);
Validation.isEmpty('');
Validation.isEmpty({a: 5});
Validation.isEmpty([1]);
Validation.isEmpty('a');
isEqual(value: mixed, compare: mixed): boolean
Added in: v1.0.0
Check if the value
is equal to the compare
arguments:
value: mixed
compare: mixed
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isEqual(true, new Boolean(1));
Validation.isEqual({a: 5}, {a: 5});
Validation.isEqual(/asd/, new RegExp('asd'));
Validation.isEqual({a: 5}, {a: 5, b: undefined});
Validation.isEqual([1, 2, 3], [1, 3, 2]);
isError(value: mixed): boolean
Added in: v1.0.0
Check if the value
is an Error object
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isError(new Error());
Validation.isError(new TypeError());
Validation.isError(new ReferenceError());
try {
throw 'this is a string';
} catch (error) {
Validation.isError(error);
}
isExtensible(value: mixed): boolean
Added in: v1.0.0
Check if the value
is Extensible
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isExtensible({a: 5});
Validation.isExtensible([1, 2]);
Validation.isExtensible(1);
Validation.isExtensible(Object.preventExtensions({a: 5}));
isFloat(value: mixed, opt: {min: ?number, max: ?number, step: ?number, safe: ?boolean} = {}): boolean
Added in: v1.0.0
Check if the value
is a floating point number
arguments:
value: mixed
opt: object = {}
min: ?number
minimum acceptable value
max: ?number
maximum acceptable value
step: ?number
value must be divisible by
safe: ?boolean
value must be castable to a number without loss of precision
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isFloat('5.6');
Validation.isFloat(4, {min: 0, max: 5, step: .5});
Validation.isFloat('1.7976931348623157e+308');
Validation.isFloat(4.1, {min: 0, max: 5, step: .5});
Validation.isFloat('1.7976931348623157e+309', {safe: true});
isFrozen(value: mixed): boolean
Added in: v1.0.0
Check if the value
is Frozen
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isFrozen(Object.freeze({a: 5}));
Validation.isFrozen(1);
Validation.isFrozen({a: 5});
Validation.isFrozen([1, 2]);
isFunction(value: mixed): boolean
Added in: v1.0.0
Check if the value
is a Function object
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isFunction(function(){});
Validation.isFunction(Validation.isFunction);
Validation.isFunction({
fn: function(){}
});
isGenerator(value: mixed): boolean
Added in: v1.0.0
Check if the value
is a Generator object
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
function* gen() {
yield 1;
yield 2;
yield 3;
}
Validation.isGenerator(gen());
Validation.isGenerator(gen);
Validation.isGenerator(function(){});
isGeneratorFunction(value: mixed): boolean
Added in: v1.0.0
Check if the value
is GeneratorFunction object
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
function* gen() {
yield 1;
yield 2;
yield 3;
}
Validation.isGeneratorFunction(gen);
Validation.isGeneratorFunction(function(){});
isHexadecimal(value: string): boolean
Added in: v1.0.0
Check if the value
is Hexadecimal string
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isHexadecimal(0x5af);
Validation.isHexadecimal(45);
Validation.isHexadecimal('ad45');
Validation.isHexadecimal('adsf');
Validation.isHexadecimal(-45);
isHexColor(value: string): boolean
Added in: v1.0.0
Check if the value
is a Hex triplet color string
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isHexColor('#fFfffF');
Validation.isHexColor('#fff');
Validation.isHexColor('fff');
Validation.isHexColor('#asd');
Validation.isHexColor('ffff');
isInteger(value: mixed, opt: {min: ?number, max: ?number, step: ?number, safe: ?boolean} = {}): boolean
Added in: v1.0.0
Check if the value
is an integer value
arguments:
value: mixed
opt: object = {}
min: ?number
minimum acceptable value
max: ?number
maximum acceptable value
step: ?number
value must be divisible by
safe: ?boolean
value must be castable to a number without loss of precision
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isInteger(5);
Validation.isInteger(5, {min: 0, max: 5});
Validation.isInteger('9007199254740991', {safe: true});
Validation.isInteger(5.1);
Validation.isInteger(6, {min: 0, max: 5});
Validation.isInteger('9007199254740992', {safe: true});
isIP(value: string, version: ?number): boolean
Added in: v1.0.0
Check if the value
is an ip address string of the optional version
arguments:
value: string
version: ?number
4 or 6
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isIP('67.213.74.8');
Validation.isIP('67.213.74.8', 4);
Validation.isIP('2001:db8::ff00:42:8329');
Validation.isIP('2001:db8::ff00:42:8329', 6);
Validation.isIP('67.213.74.8', 6);
Validation.isIP('2001:db8::ff00:42:8329', 4);
isISBN(value: string, version: ?number): boolean
Added in: v1.0.0
Check if the value
is an ISBN string of the optioanl version
arguments:
value: string
version: ?number
10 or 13
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isISBN('99921-58-10-7');
Validation.isISBN('978-3-16-148410-0');
Validation.isISBN('99921-58-10-7', 13);
Validation.isISBN('978-3-16-148410-0', 10);
isISIN(value: string): boolean
Added in: v1.0.0
Check if the value
is an ISIN string
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isISIN('US5949181045');
Validation.isISIN('DE000DB7HWY7');
Validation.isISIN('JP3946603008');
Validation.isISIN('DE000CMFVX13');
isISRC(value: string): boolean
Added in: v1.0.0
Check if the value
is a ISRC string
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isISRC('JMK401400212');
Validation.isISRC('VN9TT7593452');
Validation.isISRC('JMK40140021F');
Validation.isISRC('4Z4KL4789202');
isISSN(value: string): boolean
Added in: v1.0.0
Check if the value
is an ISSN string
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isISSN('0000-0019');
Validation.isISSN('2434561X');
Validation.isISSN('000-00019');
Validation.isISSN('9083-128X');
isIterable(value: mixed): boolean
Added in: v1.0.0
Check if the value
is an Iterable protocol
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isIterable([1, 2, 3]);
Validation.isIterable('adsf');
Validation.isIterable({a: 5});
isIterableIterator(value: mixed): boolean
Added in: v1.0.0
Check if the value
is an Iterable and Iterator protocol
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
function* gen() {
yield 1;
yield 2;
yield 3;
}
Validation.isIterableIterator(gen());
Validation.isIterableIterator(new Set()[Symbol.iterator]());
Validation.isIterableIterator([1, 2, 3]);
Validation.isIterableIterator('adsf');
isIterator(value: mixed): boolean
Added in: v1.0.0
Check if the value
is an Iterator protocol
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
function* gen() {
yield 1;
yield 2;
yield 3;
}
Validation.isIterator(gen());
Validation.isIterator(new Set()[Symbol.iterator]());
Validation.isIterator([1, 2, 3]);
Validation.isIterator('adsf');
isJCB(value: string): boolean
Added in: v1.0.0
Check if the value
is a JCB card primary account number
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isJCB('3530111333300000');
Validation.isJCB('3566002020360505');
Validation.isJCB('378282246310004');
Validation.isJCB('6011111111111117');
isJSON(value: string): boolean
Added in: v1.0.0
Check if the value
is a JSON string
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isJSON('{"a":{"z":true,"x":5.6,"y":"h"},"b":-6}');
Validation.isJSON('true');
Validation.isJSON('{a:false}');
Validation.isJSON('truez');
isLatitude(value: mixed): boolean
Added in: v1.0.0
Check if the value
is a Latitude coordinate
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isLatitude(90);
Validation.isLatitude(-90);
Validation.isLatitude(90.00001);
Validation.isLatitude(-90.00001);
isLength(value: mixed, length: ?number | {min: ?number = 1, max: ?number}): boolean
Added in: v1.0.0
Check if the value
is a specific length
arguments:
value: mixed
length: ?number | {min: ?number = 1, max: ?number}
min: ?number = 1
minimum acceptable length
max: ?number
maximum acceptable length
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isLength([1]);
Validation.isLength('asd', 3);
Validation.isLength(new Set([1, 2]), {max: 5});
Validation.isLength([]);
Validaiton.isLength([1, 2], 3);
Validation.isLength({a: 5});
isLongitude(value: mixed): boolean
Added in: v1.0.0
Check if the value
is a Longitude coordinate
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isLongitude(180);
Validation.isLongitude(-180);
Validation.isLongitude(180.00001);
Validation.isLongitude(-180.00001);
isLuhn(value: mixed): boolean
Added in: v1.0.0
Check if the value
is a Luhn number
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isLuhn('378282246310005');
Validation.isLuhn(38520000023237);
Validation.isLuhn('30569209025904');
Validation.isLuhn(14);
isMACAddress(value: string): boolean
Added in: v1.0.0
Check if the value
is a MAC address string
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isMACAddress('af:4f:a8:93:01:d2');
Validation.isMACAddress('d2:39:67:bb:5c:f8');
Validation.isMACAddress('af:4f:a8:h3:01:d2');
Validation.isMACAddress('af:4f:a8:93:01');
isMap(value: mixed): boolean
Added in: v1.0.0
Check if the value
is a Map object
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validaiton.isMap(new Map());
Validation.isMap(new WeakMap());
isMastercard(value: string): boolean
Added in: v1.0.0
Check if the value
is a Mastercard primary account number
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isMastercard('5555555555554444');
Validation.isMastercard('5105105105105100');
Validation.isMastercard('378282246310004');
Validation.isMastercard('5610591081018250');
isMatch(value: mixed, compare: mixed): boolean
Added in: v1.0.0
Check if the value
contains the key: value
pairs from the compare
object
arguments:
value: mixed
compare: mixed
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isMatch({a: 5, b: true}, {b: true});
Validation.isMatch({z: 'hi', x: 'bye'}, {z: 'hi', x: 'bye'});
Validation.isMatch({a: 5, b: true}, {b: false});
Validation.isMatch({z: 'hi', x: 'bye'}, {z: 'hi', g: 'bye'});
isMD5(value: string): boolean
Added in: v1.0.0
Check if the value
is a MD5 hash string
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isMD5('62c4f0b4dbe2a9cf80e003bdd7011f54');
Validation.isMD5('190102c2743633072e050c8d697faebc');
Validation.isMD5('190102c2743633072e050c8d697faebx');
Validation.isMD5('af:4ff:a8:93:01:d2');
isMongoId(value: string): boolean
Added in: v1.0.0
Check if the value
is a mongoDB id string
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isMongoId('62c4f0b4dbe2a9cf80e003bd');
Validation.isMongoId('ae898bce08fcd570d7e36d34');
Validation.isMongoId('ae898bce08fcd570d7e36d3g');
Validation.isMongoId('af:hf:a8:93:01:d2');
isNaN(value: mixed): boolean
Added in: v1.0.0
Check if the value
is NaN
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isNaN(NaN);
Validation.isNaN(1 - 'a');
Validation.isNaN(1 + 3);
Validation.isNan('NaN');
isNull(value: mixed): boolean
Added in: v1.0.0
Check if the value
is null primitive
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isNull(null);
Validation.isNull(undefined);
Validation.isNull(void 0);
isPhoneNumber(value: string, country: ?string | @scuba-squad/country): boolean
Added in: v1.0.0
Check if the value
is a phone number string for the provided country
arguments:
value: string
country: ?string | @scuba-squad/country
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isPhoneNumber('2 9282 2833', 'AU');
Validation.isPhoneNumber('499 248-30-03', 'RUS');
Validation.isPhoneNumber('406–692–7753', '840');
Validation.isPhoneNumber('+44 20 7638 4141');
Validation.isPhoneNumber('806-642-7676', 'CN');
Validation.isPhoneNumber('555–692–7753', 'US');
Validation.isPhoneNumber('+44 20 7638 4141', 'US');
isPlural(value: string): boolean
Added in: v1.0.0
Check if the value
is a plural word
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isPlural('items');
Validation.isPlural('cars');
Validation.isPlural('table');
Validation.isPlural('chair');
isPort(value: mixed): boolean
Added in: v1.0.0
Check if the value
is a network port
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isPort(26);
Validation.isPort('80');
Validation.isPort(65535);
Validation.isPort(0);
Validation.isPort(65536);
isPostalCode(value: string, country: ?string | @scuba-squad/country): boolean
Added in: v1.0.0
Check if the value
is a postal code string for the optionally provided country
arguments:
value: string
country: ?string | @scuba-squad/country
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isPostalCode('90210');
Validation.isPostalCode('ab5g-9wt', 'GB');
Validation.isPostalCode('ab5g-9wt', 'GBR');
Validation.isPostalCode('ab5g-9wt', '826');
Validation.isPostalCode('90210', 'AU');
Validation.isPostalCode('9115-41034', 'US');
isPrimitive(value: mixed): boolean
Added in: v1.0.0
Check if the value
is a primitive
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isPrimitive(undefined);
Validation.isPrimitive(null);
Validation.isPrimitive(false);
Validation.isPrimitive(0);
Validation.isPrimitive('');
Validation.isPrimitive(NaN);
Validation.isPrimitive(Infinity);
Validation.isPrimitive(Symbol());
Validation.isPrimitive(new Boolean());
Validation.isPrimitive(new Number(0));
Validation.isPrimitive(new String(''));
isPromise(value: mixed): boolean
Added in: v1.0.0
Check if the value
is a Promise object
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isPromise(new Promise(function(resolve, reject){}));
Validation.isPromise(Promise.resolve());
Validation.isPromise(function(resolve, reject){});
isPunctuation(value: string): boolean
Added in: v1.0.0
Check if the value
contains only ascii punctuation characters
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isPunctuation('!"#%&\'()*,-./:;?@[]_{}');
Validation.isPunctuation('hello world!');
isRegExp(value: mixed): boolean
Added in: v1.0.0
Check if the value
is a RegExp object
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isRegExp(/asd/);
Validation.isRegExp(new RegExp('3'));
Validation.isRegExp('/asd/');
isSealed(value: mixed): boolean
Added in: v1.0.0
Check if the value
is Sealed
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isSealed(Object.seal({a: 5}));
Validation.isSealed(1);
Validation.isSealed({a: 5});
Validation.isSealed([1, 2]);
isSemVer(value: mixed): boolean
Added in: v1.0.0
Check if the value
is a semver string
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isSemVer('1.0.0');
Validation.isSemVer('1.0.0-beta.0.7+rc.2.6');
Validation.isSemVer('v1.0.5');
Validation.isSemVer('1.0.0-00.1');
isSet(value: mixed): boolean
Added in: v1.0.0
Check if the value
is a Set object
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isSet(new Set([1, 2]));
Validation.isSet([1, 2]);
Validation.isSet(new Map([['a', 5]]));
isSHA1(value: mixed): boolean
Added in: v1.0.0
Check if the value
is a SHA1 string
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
isSHA256(value: mixed): boolean
Added in: v1.0.0
Check if the value
is a SHA-256 string
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isSHA256('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855');
Validation.isSHA256('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85');
Validation.isSHA256('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85X');
isSHA384(value: mixed): boolean
Added in: v1.0.0
Check if the value
is a SHA-384 string
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isSHA384('38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b');
Validation.isSHA384('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855');
Validation.isSHA384('38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b9');
isSHA512(value: mixed): boolean
Added in: v1.0.0
Check if the value
is a SHA-512 string
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isSHA512('cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e');
Validation.isSHA512('38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b');
Validation.isSHA512('cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da');
isSingular(value: string): boolean
Added in: v1.0.0
Check if the value
is a singular word
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isSingular('item');
Validation.isSingular('car');
Validation.isSingular('tables');
Validation.isSingular('chairs');
isString(value: mixed): boolean
Added in: v1.0.0
Check if the value
is a String object or primitive
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isString('hello world!');
Validation.isString(new String('hi'));
Validation.isString(true);
Validation.isString(/asd/);
isSymbol(value: mixed): boolean
Added in: v1.0.0
Check if the value
is a Symbol primitive
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isSymbol(Symbol());
Validation.isSymbol(Symbol.iterator);
Validation.isSymbol({a: 5});
Validation.isSymbol([1, 2]);
isTime(value: string): boolean
Added in: v1.0.0
Check if the value
is a time string
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isTime('23:59:59.999999999');
Validation.isTime('1:24 P.M.');
Validation.isTime('6 AM');
Validation.isTime('13:01Z');
Validation.isTime('13:01+3');
Validation.isTime('13:01 MST');
Validation.isTime('13:01 Mountain Standard Time');
Validation.isTime('13:01 America/Denver');
Validation.isTime('24');
Validation.isTime('3:60');
Validation.isTime('13:01PM');
isUndefined(value: mixed): boolean
Added in: v1.0.0
Check if the value
is undefined primitive
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isUndefined();
Validation.isUndefined(undefined);
Validation.isUndefined(null);
isURL(value: string): boolean
Added in: v1.0.0
Check if the value
is a URL string
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isURL('http://google.com');
Validation.isURL('http://例子.测试');
Validation.isURL('http://a1-._~!$&(\')+=*,;%24@example.com');
Validation.isURL('http://-error-.invalid/');
Validation.isURL('http://foo.bar?q=Spaces should be encoded');
isURN(value: string): boolean
Added in: v1.0.0
Check if the value
is a URN string
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isURN('urn:ietf:rfc:2648');
Validation.isURN('URN:EXAMPLE:a123%2cz456');
Validation.isURN('urn:example:weather?+lang=en-US?=lat=39.56&lon=-104.85#tomorrow');
Validation.isURN('urn:isbn/0451450523');
Validation.isURN('urn:example:weather?=q=this should be percent encoded');
isUUID(value: string): boolean
Added in: v1.0.0
Check if the value
is a UUID string
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isUUID('2fed40d0-774e-11e7-b5a5-be2e44b06b34');
Validation.isUUID('737e6050-7b96-499b-b71e-efa75d1b90c2');
Validation.isUUID('2fed40d0774e11e7b5a5be2e44b06b34');
isVIN(value: string): boolean
Added in: v1.0.0
Check if the value
is a VIN string
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isVIN('4A4MN41S15E063265');
Validation.isVIN('3N1AB51D92L747926');
Validation.isVIN('4A4MN41415E063265');
Validation.isVIN('1GCGC33G6TF039278');
isVisa(value: string): boolean
Added in: v1.0.0
Check if the value
is a Visa card primary account number
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isVisa('4111111111111111');
Validation.isVisa('4012888888881881');
Validation.isVisa('4222222222222');
Validation.isVisa('378282246310004');
Validation.isVisa('5610591081018250');
isWeakMap(value: mixed): boolean
Added in: v1.0.0
Check if the value
is a WeakMap object
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isWeakMap(new WeakMap());
Validation.isWeakMap(new WeakMap([[{a: 4}, 4]]));
Validation.isWeakMap(new Map());
Validation.isWeakMap(new WeakSet());
isWeakSet(value: mixed): boolean
Added in: v1.0.0
Check if the value
is a WeakSet object
arguments:
returns: boolean
const Validation = require('@scuba-squad/validation');
Validation.isWeakSet(new WeakSet());
Validation.isWeakSet(new WeakSet([{a: 4}]));
Validation.isWeakSet(new Set());
Validation.isWeakSet(new WeakMap());
Test
tests
npm install
npm test
License
MIT