is-funcs
v0.7.0
Published
A very limited subset of is-* functions I use every day
Downloads
37
Maintainers
Readme
is-funcs
A very limited subset of is-* functions I use every day
Install
npm i is-funcs
Package on npm
API
- is-array-filled
- is-boolean
- is-buffer
- is-date
- is-date-string
- is-float
- is-function
- is-gt
- is-gte
- is-integer
- is-lt
- is-lte
- is-nan
- is-node
- is-node-landed
- is-number-defined
- is-number-string
- is-object
- is-plain-object
- is-regexp
- is-string-filled
is-array-filled(data)
Check if data
is an Array and is length is > 0
| Argument | Action |
| :------ | :------- |
| data | the tested data
|
const isArrayFilled = require('is-funcs/is-array-filled')
// false
isArrayFilled({a:1})
// true
isArrayFilled(['a'])
// false
isArrayFilled([])
is-boolean(data)
Check if data
is a Boolean
| Argument | Action |
| :------ | :------- |
| data | the tested data
|
const isBoolean = require('is-funcs/is-boolean')
// false
isBoolean({a:1})
// true
isBoolean(true)
// true
isBoolean(false)
is-buffer(data)
Check if data
is a node Buffer
| Argument | Action |
| :------ | :------- |
| data | the tested data
|
const isBuffer = require('is-funcs/is-buffer')
// false
isBuffer([1])
// false
isBuffer(Buffer)
// true
isBuffer(Buffer.from('abc'))
is-date(data)
Check if data
is a valid instance of new Date
| Argument | Action |
| :------ | :------- |
| data | the tested data
|
const isDate = require('is-funcs/is-date')
// true
isDate(new Date())
// false, invalid date
isDate(new Date('-'))
// false
isDate('2000-01-01')
// false
isDate(2010)
is-date-string(data)
Check if data
is a valid date string representation
| Argument | Action |
| :------ | :------- |
| data | the tested data
|
Date string validation is a nightmare. The browsers have differents behaviors
This function validates the patterns that return a correct date in the following case
// valid date
console.log(new Date(string))
Valid patterns are:
YYYY/M/D
andYYYY-M-D
YYYY/MM/DD
andYYYY-MM-DD
YYYY/M/D H:M
andYYYY-M-D H:M
YYYY/M/D HH:MM
andYYYY-M-D HH:MM
YYYY/M/D H:M:S
andYYYY-M-D H:M:S
YYYY/M/D HH:MM:SS
andYYYY-M-D HH:MM:SS
YYYY-M-DTHH:MM:SSZ
andYYYY-M-DTHH:MM:SS.LLLZ
This function also test the date validity:
- No 29 february if this is not a leap year
- No 31 april
const isDateString = require('is-funcs/is-date-string')
// true
isDateString('2009-01-31')
// true
isDateString('2009-12-31T12:34:56.789Z')
// false, because invalid iso date
isDateString('2009-12-3T12:34:56.789Z')
// false, because april has 30 days
isDateString('2015-04-31')
// false, because 2015 is not a leap year
isDateString('2015-02-29')
is-float(data)
Check if data
is a Float Number
| Argument | Action |
| :------ | :------- |
| data | the tested data
|
const isFloat = require('is-funcs/is-float')
// false
isFloat('abc')
// false
isFloat(12)
// true
isFloat(12.3)
/*
Attention: Javascript returns wrong results with extreme values
*/
// true
isFloat(12345678900)
// false
isFloat(1000.00000000000001)
is-function(data)
Check if data
is a Function defined by the developper. Standard built-in objects are excluded
Use it if you really need this full test, otherwise just write typeof data === 'function'
const isFunction = require('is-funcs/is-function')
// true
isFunction(function() {})
// false
isFunction(Function)
// false
isFunction(Promise)
// false
isFunction(isNaN)
is-gt(data, than)
Check if data
is a greater than than
| Argument | Action |
| :------ | :------- |
| data | the tested data
|
| than | the reference than
|
const isGt = require('is-funcs/is-gt')
// true
isGt(2, 1)
// false
isGt(2, 3)
is-gte(data, than)
Check if data
is a greater or equal than than
| Argument | Action |
| :------ | :------- |
| data | the tested data
|
| than | the reference than
|
const isGte = require('is-funcs/is-gte')
// true
isGte(3, 2)
// true
isGte(2, 2)
// false
isGte(2, 3)
is-integer(data)
Check if data
is an Integer Number
| Argument | Action |
| :------ | :------- |
| data | the tested data
|
const isInteger = require('is-funcs/is-integer')
// true
isInteger(2)
// false
isInteger(2.34)
/*
Attention: Javascript returns wrong results with extreme values
*/
// false
isInteger(12345678900)
// true
isInteger(100.000000000000001)
is-lt(data, than)
Check if data
is a lower than than
| Argument | Action |
| :------ | :------- |
| data | the tested data
|
| than | the reference than
|
const isLt = require('is-funcs/is-lt')
// true
isLt(1, 2)
// false
isLt(3, 2)
is-lte(data, than)
Check if data
is a lower or equal than than
| Argument | Action |
| :------ | :------- |
| data | the tested data
|
| than | the reference than
|
const isLte = require('is-funcs/is-lte')
// true
isLte(1, 2)
// true
isLte(2, 2)
// false
isLte(3, 2)
is-nan(data)
Check if data
is a real NaN
Number
| Argument | Action |
| :------ | :------- |
| data | the tested data
|
const isnan = require('is-funcs/is-nan')
// true
isnan(NaN)
// true
isnan(-NaN)
// false
isnan('abc')
// default isNaN return true
isNaN('abc')
is-node(data)
Check if data
is a Html Element with a nodeType of 1
| Argument | Action |
| :------ | :------- |
| data | the tested data
|
const isNode = require('is-funcs/is-node')
// true
isNode(document.querySelector('div'))
// true
isNode(document.createElement('div'))
is-node-landed(data)
Check if data
is a visual Html Element with a nodeType of 1 landed in the document.body
Elements like style
or script
are excluded
| Argument | Action |
| :------ | :------- |
| data | the tested data
|
const isNodeLanded = require('is-funcs/is-node-landed')
// true
isNodeLanded(document.querySelector('div'))
// false
var div = document.createElement('div')
isNodeLanded(div)
// true
document.body.appendChild(div)
isNodeLanded(div)
is-number-defined(data)
Check if data
is a defined Number, not equals to NaN
| Argument | Action |
| :------ | :------- |
| data | the tested data
|
const isNumberDefined = require('is-funcs/is-number-defined')
// true
isNumberDefined(1)
// true
isNumberDefined(2.34)
// false
isNumberDefined(NaN)
// false
isNumberDefined([1])
is-number-string(data)
Check if data
is a valid number string representation
| Argument | Action |
| :------ | :------- |
| data | the tested data
|
This function validates the patterns that return a correct number in the following case
// valid number
console.log(parseFloat(string))
const isNumberString = require('is-funcs/is-number-string')
// true
isNumberString('1')
// true
isNumberString('.34')
// true
isNumberString(' -2.34 ')
// true
isNumberString('NaN')
// false
isNumberString('1.23.45')
// false
isNumberString('abc')
// false
isNumberString(12.3)
is-object(data)
Simplest and fastest way to check if data
is an Object
We just wants to know if data
is an object where we can define a property, excluding Functions
Technically functions
should be true
but what we want here is just a not so exact but quick test to know if data
is like a Plain Object
See is-plain-object for stricter but slower object test
| Argument | Action |
| :------ | :------- |
| data | the tested data
|
const isObject = require('is-funcs/is-object')
// true
isObject({})
// true
isObject([])
// true
isObject(arguments)
// true, typeof Math JSON Reflect Intl and WebAssembly is "object"
isObject(JSON)
// false
isObject(Number)
// false
isObject(function() {})
is-plain-object(data)
Check if data
is a Plain Object
| Argument | Action |
| :------ | :------- |
| data | the tested data
|
const isPlainObject = require('is-funcs/is-plain-object')
// true
isPlainObject({a:1})
// true
isPlainObject({})
// false
isPlainObject(arguments)
// false
isPlainObject([1])
// false
isPlainObject(JSON)
is-regexp(data)
Check if data
is a RegExp
const isRegexp = require('is-funcs/is-regexp')
// false
isRegexp(true)
// false
isRegexp('/./')
// true
isRegexp(/./)
// true
isRegexp(new RegExp('/./'))
is-string-filled(data)
Check if data
is an String and his trimmed length is > 0
All possible unicode blank chars are trimmed
| Argument | Action |
| :------ | :------- |
| data | the tested data
|
const isStringFilled = require('is-funcs/is-string-filled')
// true
isStringFilled('abc')
// false
isStringFilled('')
// false
isStringFilled(' ')
// false
isStringFilled(' \u0020 \u180E \u200B ')
// false
isStringFilled({a:1})
License
MIT