2.1.10 ā€¢ Published 3 months ago

v_is_empty_value v2.1.10

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

šŸ‘Øā€šŸ’» 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.

Codacy Badge CodeQL njsscan sarif

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 for 0 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:


šŸ“‘ Related links :

2.1.10

3 months ago

2.1.6

4 months ago

2.1.8

4 months ago

2.1.7

4 months ago

2.1.9

4 months ago

2.1.5

4 months ago

2.1.2

4 months ago

2.0.3

4 months ago

2.1.1

4 months ago

2.0.2

4 months ago

2.1.3

4 months ago

2.1.0

4 months ago

2.0.1

4 months ago

1.2.0

1 year ago

1.2.2

1 year ago

1.2.1

1 year ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

3 years ago

1.0.3

3 years ago