From 9f72f6b04c5d26e0308c82eeba9ec44a9e4ab9a6 Mon Sep 17 00:00:00 2001 From: Ivan Huz Date: Sat, 8 Mar 2025 00:21:34 +0200 Subject: [PATCH] Changed `maybe`'s handling of an empty object --- JavaScript/8-path.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/JavaScript/8-path.js b/JavaScript/8-path.js index 734f390..240306f 100644 --- a/JavaScript/8-path.js +++ b/JavaScript/8-path.js @@ -13,7 +13,13 @@ fp.path = (data) => ( ) ); -fp.maybe = (x) => (fn) => fp.maybe(x && fn ? fn(x) : null); +fp.isJust = (value) => { + if (!value || typeof value !== 'object') return Boolean(value); + if (Object.keys(value).length === 0) return false; + return true; +}; + +fp.maybe = (x) => (fn) => fp.maybe(fp.isJust(x) && fn ? fn(x) : null); // Usage