Skip to main content
Using Deno in production at your company? Earn free Deno merch.
Give us feedback
File

title: coalesceFactory tags: type,intermediate

JS

Returns a customized coalesce function that returns the first argument that returns true from the provided argument validation function.

Use Array.prototype.find() to return the first argument that returns true from the provided argument validation function.

const coalesceFactory = (valid) => (...args) => args.find(valid);
const customCoalesce = coalesceFactory(
  (_) => ![null, undefined, "", NaN].includes(_)
);
customCoalesce(undefined, null, NaN, "", "Waldo"); // "Waldo"