pickFalsy
Returns a falsy check function for selected types.
You may not want numeric 0, empty string (""), empty array ([]), or empty object ({}) to be considered falsy.
In that case, you can specify which types to treat as falsy using the type argument.
- Specifying
'number'treatsnumeric 0as falsy. - Specifying
'string'treatsempty string ("")as falsy. - Specifying
'array'treatsempty array ([])as falsy. - Specifying
'object'treatsempty object ({})as falsy.
By default, falsy checks are only performed for false, null, undefined, and NaN.
Code
Interface
typescript
type FalsyCheckKey = "string" | "number" | "object" | "array"
function pickFalsy(...falsyCheckList: FalsyCheckKey[]): <T>(value: T) => boolean
Usage
Basic Usage
typescript
import { pickFalsy } from '@modern-kit/utils';
const isInvalidValue = pickFalsy()
isInvalidValue(null) // true
isInvalidValue(undefined) // true
isInvalidValue(false) // true
isInvalidValue(NaN) // true
isInvalidValue('') // false
isInvalidValue(0) // false
isInvalidValue([]) // false
isInvalidValue({}) // false
Adding Specific Types as Falsy
typescript
import { pickFalsy } from '@modern-kit/utils';
const isInvalidValue = pickFalsy('string')
isInvalidValue('') // true
isInvalidValue('a') // false
typescript
const isInvalidValue = pickFalsy('number')
isInvalidValue(0) // true
isInvalidValue(1) // false
typescript
const isInvalidValue = pickFalsy('array')
isInvalidValue([]) // true
isInvalidValue([1, 2, 3]) // false
typescript
const isInvalidValue = pickFalsy('object')
isInvalidValue({}) // true
isInvalidValue({ a: 1 }) // false
Adding All Types as Falsy
typescript
import { pickFalsy } from '@modern-kit/utils';
const isInvalidValue = pickFalsy('string', 'number', 'array', 'object')
isInvalidValue(null) // true
isInvalidValue(undefined) // true
isInvalidValue(false) // true
isInvalidValue('') // true
isInvalidValue(0) // true
isInvalidValue([]) // true
isInvalidValue({}) // true