Security News
Python Overtakes JavaScript as Top Programming Language on GitHub
Python becomes GitHub's top language in 2024, driven by AI and data science projects, while AI-powered security tools are gaining adoption.
is-extended
Advanced tools
is-extended
is a Javascript library that can be used standalone or incorporated into extended
var is = require("is-extended");
Or
var myextended = require("extended")
.register(require("is-extended"));
npm install is-extended
Or download the source (minified)
is-extended
includes the following type coercion methods.
isFunction
: Test if something is a functionisObject
: Test if something is an object.isEmpty
: Test if something is empty.isHash
: Test if something is a hash.is.isHash({}); //true
is.isHash(new Number(1)); //false
is.isObject({}); //true
is.isObject(new Number(1)); //true
isNumber
: Test if something is a number.isString
: Test if something is a string.isDate
: Test if something is a Date
.isArray
: Test if something is an Object
isBoolean
: Test if something is a boolean value.isUndefined
: Test if something is strictly equal to undefined
.isDefined
: Test if something is strictly not equal to undefined
.isUndefinedOrNull
: Test if something is strictly equal to null
or undefined
.isNull
: Test if something is strictly equal to null
.isArguments
: Test if something is an Object
instanceOf
: Test if something is an Object
isRegExp
: Test if something is a RegExp
isTrue
: Test if something is strictly equal to true
isFalse
: Test if something is strictly equal to false
isNotNull
: Test if something is strictly not equal to null
.deepEqual
Tests if two object are deep equal.
is.deepEqual([1,2,3], [1,2,3]); //true
is([1,2,3]).deepEqual([1,2,3]); //true
is.deepEqual({ a: { b: "c"}}, {a : false}); //false
is({ a: { b: "c"}}).deepEqual({ a: { b: "c"}}); //true
isEq
Test if two objects are ==
isNeq
Test if two objects are !=
isSeq
Test if two objects are ===
isSneq
Test if two objects are !==
isIn
Test if an object is in a array.
is.isIn('a', ['a', 'b', 'c']); //true
is('a').isIn(['a', 'b', 'c']); //true
isNotIn
Test if something is not in an array.
is.isIn('d', ['a', 'b', 'c']); //true
is('d').isIn(['a', 'b', 'c']); //true
isLt
Check if a value is <
a given value.
is.isLt(1, 2); //true
is("a").isLt("b"); //true
isLte
Check if a value is <=
a given value.
is.isLte(2, 2); //true
is("a").isLte("b"); //true
isGt
Check if a value is >
a given value.
is.isGt(2, 1); //true
is("b").isGt("a"); //true
isGte
Check if a value is >=
a given value.
is.isGte(2, 2); //true
is("b").isLt("a"); //true
isLike
Check if a value is like a given regexp.
is.isLike("a", /a/); //true
is.isLike("a", "a"); //true
is(1).isLike(/\d/); //true
is.isLike(1, "\\d"); //true
isNotLike
Check if a value is not like a given regexp.
is.isNotLike("a", /\d/); //true
is("a").isNotLike("b"); //true
contains
Checks if an array contains a given value.
is.contains([1,2,3], 2); //true
is([1,2,3]).contains(2); //true
notContains
Checks if an array does not contain a given value.
is.notContains([1,2,3], 2); //true
is([1,2,3]).notContains(2); //true
containsAt
Checks if an array contains a given value at the specified index
is.contains([1,2,3], 2, 1); //true
is([1,2,3]).containsAt(2, 1); //true
notContainsAt
Checks if an array does not contain a given value at the specified index
is.notContains([1,2,3], 2, 0); //true
is([1,2,3]).notContains(2, 0); //true
has
Checks if a value has the specified property.
is.has([1,2,3], "length"); //true
is.has({a: "a"}, "a"); //true
is([1,2,3]).has("length"); //true
is({a: "a"}).has("a"); //true
notHas
Checks if an array does not contain a given value.
is.notHas([1,2,3], "someProperty"); //true
is.notHas({a: "a"}, "b"); //true
is([1,2,3]).notHas("someProperty"); //true
is({a: "a"}).notHas("b"); //true
isLength
Checks if a value has the specified length;
is.isLength([1,2,3], 3); //true
is.isLength("abc", 3); //true
is.isLength(function(a, b, c){}, 3); //true
is([1,2,3]).isLength(3); //true
is("abc").isLength(3); //true
is(function(a, b, c){}).isLength(3); //true
isNotLength
Checks if an value does not have the specified length.
is.isNotLength([1,2,3], 3); //false
is.isNotLength("abc", 3); //false
is.isNotLength(function(a, b, c){}, 3); //false
is([1,2,3]).isNotLength(3); //false
is("abc").isNotLength(3); //false
is(function(a, b, c){}).isNotLength(3); //false
To create a custom type tester you can use the tester
method.
var tester = is.tester().isArray().isDate().isBoolean().tester();
tester([]); //true
tester(new Array()); //true
tester(new Date()); //true
tester(true); //true
tester(false); //true
tester(new Boolean()); //true
tester("hello"); //false
tester(); //false
tester(new String()); //false
tester({}); //false
tester(new Object()); //false
switcher
The is-exteded
switcher
method allows you to create a structure that executes certain code when a value passes a test.
var mySwitcher = is.switcher()
.isLt(0, function (num) {
return num + " is lt 0";
})
.isLte(5, function (num) {
return num + " is gte 0 lte 5";
})
.isLte(10, function (num) {
return num + " is gt 5 lte 10";
})
.isGt(10, function (num) {
return num + " is gt 10";
})
.def(function (num) {
return num + " is unknown value";
})
.switcher();
for (var i = -1; i < 12; i++) {
console.log(mySwitcher(i));
}
Outputs the following
-1 is lt 0
0 is gte 0 lte 5
1 is gte 0 lte 5
2 is gte 0 lte 5
3 is gte 0 lte 5
4 is gte 0 lte 5
5 is gte 0 lte 5
6 is gt 5 lte 10
7 is gt 5 lte 10
8 is gt 5 lte 10
9 is gt 5 lte 10
10 is gt 5 lte 10
11 is gt 10
FAQs
Module for type detection
The npm package is-extended receives a total of 54,086 weekly downloads. As such, is-extended popularity was classified as popular.
We found that is-extended demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Python becomes GitHub's top language in 2024, driven by AI and data science projects, while AI-powered security tools are gaining adoption.
Security News
Dutch National Police and FBI dismantle Redline and Meta infostealer malware-as-a-service operations in Operation Magnus, seizing servers and source code.
Research
Security News
Socket is tracking a new trend where malicious actors are now exploiting the popularity of LLM research to spread malware through seemingly useful open source packages.