conditional-array
v1.0.2
Published
Helper function to create arrays with conditionally included elements
Downloads
168
Readme
conditional-array
Helper function to create arrays with conditionally included elements
Installation
npm install conditional-array
Usage
conditionalArray(callback)
Provides a clean syntax for creating an array with conditionally included elements.
Example
conditionalArray(addIf => [
addIf(true, 'foo'),
addIf(true, 'bar'),
addIf(false, 'baz'),
addIf(word => word.includes('b'), 'qux'),
addIf(sentence => sentence.length < 10, 'Some really really long sentence.', 'Too long!'),
'always included'
])
// returns ['foo', 'bar', 'Too long!', 'always included']
conditionalArray(addIf => [
{ name: 'Alice', age: 26 },
addIf(true, { name: 'Bob', age: 24 }),
addIf(person => person.age >= 21, { name: 'Claire', age: 20 }),
])
// returns [{ name: 'Alice', age: 23 }, { name: 'Bob', age: 34 }]
Arguments
[
callback(addIf)
] User defined function that returns an array.[
addIf(condition, itemIfTrue, [itemIfFalse])
] Returns an item or a placeholder value that is removed from the final array.[
condition
] Either a boolean or predicate function. If it is a function it is invoked withitemIfTrue
.[
itemIfTrue
] The item returned ifcondition
is or returns true.[
itemIfFalse
] The item returned ifcondition
is or returns false. Defaults to a placeholder value that is removed from the final array.
Returns
The array returned by the callback with the specified elements filtered out.
License
MIT
Acknowledgements
Thanks to stackoverflow user jcalz for helping with the typings