diff --git a/snippets/coalesce-factory.md b/snippets/coalesce-factory.md new file mode 100644 index 000000000..45f2a4cfb --- /dev/null +++ b/snippets/coalesce-factory.md @@ -0,0 +1,9 @@ +### Coalesce factory + +Returns a function which provides a customized coalesce function + +```js +const coalesceFactory = (excludes = [null, undefined]) => (...args) => args.find(_ => !excludes.includes(_)) +// const customCoalesce = coalesceFactory([null, undefined, "", NaN]) +// customCoalesce(undefined, null, NaN, "", "Waldo") -> "Waldo" +``` diff --git a/snippets/coalesce.md b/snippets/coalesce.md index d740b14c0..c8a59d5e0 100644 --- a/snippets/coalesce.md +++ b/snippets/coalesce.md @@ -1,11 +1,8 @@ ### Coalesce a set of arguments -Use `find()` to return the first non excluded argument. +Use `find()` to return the first non null/undefined 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" ```