v_is_empty_value
v2.1.10
Published
Simple checker functions for empty values. Can check if a value is empty or not. [ isEmpty(val) / isNotEmpty(val) ]
Downloads
48
Maintainers
Readme
👨💻 v_is_empty_value
Simple checker for Empty/NotEmpty values. Checking Numbers, Null, NaN, Strings, Objects, Arrays...Will also detect instance of Date() object and return "not-empty" value for it.
General Information
It provides 4 functions to check if a value is empty or not. These are named as follows:
isEmpty(v)
: Checks if a value is empty. Returns true if the value is empty, else false.isNotEmpty(v)
: Checks if a value is not empty. Returns true if the value is not empty, else false.isEmptyNested(v)
: Checks if a nested value is empty.- It will check nested values in Objects and Arrays.
- It will use recursion to check nested values.
- Uses
isEmpty(v)
to check if a value is empty under the hood. - Returns true if the nested value is empty, else false.
isNotEmptyNested(v)
: Checks if a nested value is not empty. Returns true if the nested value is not empty, else false.NOTE: This basically does the opposite of
isEmptyNested(v)
.
Base Example
// import { isEmpty, isNotEmpty, isEmptyNested, isNotEmptyNested } from 'v_is_empty_value'
const { isEmpty, isNotEmpty, isEmptyNested, isNotEmptyNested } = require('v_is_empty_value')
isEmpty(v) // Checks if a value is empty.
isNotEmpty(v) // Checks if a value is not empty.
isEmptyNested(v) // Checks if a nested value is empty.
isNotEmptyNested(v) // Checks if a nested value is not empty.
☑ Things it confirms Empty
- Undefined / Empty
console.log(isEmpty()) // prints "true"
console.log(isNotEmpty()) // prints "false"
- Empty String
console.log(isEmpty('')) // prints "true"
console.log(isNotEmpty('')) // prints "false"
- null
console.log(isEmpty(null)) // prints "true"
console.log(isNotEmpty(null)) // prints "false"
- Undefined
console.log(isEmpty(undefined)) // prints "true"
console.log(isNotEmpty(undefined)) // prints "false"
- Empty Object
console.log(isEmpty({})) // prints "true"
console.log(isNotEmpty({})) // prints "false"
- Empty Array
console.log(isEmpty([])) // prints "true"
console.log(isNotEmpty([])) // prints "false"
☑ Few things it confirms NOT Empty
- String with some length/value.
isEmpty('demo_password_123456') // prints "false"
isNotEmpty('demo_password_123456') // prints "true"
- NaN
console.log(isEmpty(NaN)) // prints "false"
console.log(isNotEmpty(NaN)) // prints "true"
- Date instance.
isEmpty(new Date()) // prints "false"
isNotEmpty(new Date()) // prints "true"
- Error instance.
isEmpty(new Error()) // prints "false"
isNotEmpty(new Error()) // prints "true"
- Promise instance.
isEmpty(new Promise((resolve, reject) => resolve(true))) // prints "false"
isNotEmpty(new Promise((resolve, reject) => resolve(true))) // prints "true"
- Number instance.
console.log(Number()) // prints "0"
console.log(isEmpty(Number())) // prints "false"
console.log(isNotEmpty(Number())) // prints "true"
Note: It will return
false
for0
and-0
as well.
- Nested Object : confirms not empty even though it has empty values.
const nestedEmptyObject = {
demo: null,
yea: undefined,
iKnowMan: {
wtf: null,
moreNull: null
}
}
// NOTE: Returns "false" just because "iKnowMan" is an object.
console.log(isEmpty(nestedEmptyObject)) // prints "false"
console.log(isNotEmpty(nestedEmptyObject)) // prints "true"
// NOTE: Better use "isEmptyNested(v)" to check nested values.
console.log(isEmptyNested(nestedEmptyObject)) // prints "true"
console.log(isNotEmptyNested(nestedEmptyObject)) // prints "false"
📜 More Info:
Check the test cases for more examples.
🚀 Performance Benchmark
This will basically run the functions mentioned for 25mil. times and will print the time taken for each function to complete.
📋 Test setup:
- AMD Ryzen 7 2700X Eight-Core Processor 3.70 GHz
- 16 GB 3000 MHz DDR4
- Patriot P300 256GB M.2 NVMe
- Windows 10 Pro 64-bit
- Node.js v20.10.0
📊 Current performance:
isEmpty(v)
: ~ 40,000 ops/ms [ 40 mil. ops/sec ]isNotEmpty(v)
: ~ 32,000 ops/ms [ 32 mil. ops/sec ]isEmptyNested(v)
: ~ 30,000 ops/ms [ 30 mil. ops/sec ]isNotEmptyNested(v)
: ~ 31,000 ops/ms [ 31 mil. ops/sec ]
📑 Related links :
- v_to_md5 ⏭ MD5 hash generator
- v_to_sha256 ⏭ sha256 hash generator
- v_file_system ⏭ simple and safe fs module with sync and promises
- v_execute ⏭ Exec cli commands
- v_scrolls ⏭ Readme Generator
- v_database ⏭ single database solution
- v_database_cli ⏭ v_database cli tool