diff --git a/snippets/coalesce.md b/snippets/coalesce.md new file mode 100644 index 000000000..d740b14c0 --- /dev/null +++ b/snippets/coalesce.md @@ -0,0 +1,11 @@ +### Coalesce a set of arguments + +Use `find()` to return the first non excluded argument. + +```js +const coalesce = (...args) => args.find(_ => ![undefined, null].includes(_)) +// coalesce(null,undefined,"",NaN, "Waldo") -> "" + +const coalesceFactory = (excludes = [null, undefined]) => (...args) => args.find(_ => !excludes.includes(_)) +// coalesceFactory([null, undefined, "", NaN])(undefined, null, NaN, "", "Waldo") -> "Waldo" +```