From 8f347b9ad324612f6df64f2418ba667337ac5287 Mon Sep 17 00:00:00 2001 From: Emile Clark-Boman Date: Sun, 14 Dec 2025 10:54:55 +1000 Subject: [PATCH] add std/result.nix:isResult --- nib/std/result.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/nib/std/result.nix b/nib/std/result.nix index b773ba6..064d3a6 100644 --- a/nib/std/result.nix +++ b/nib/std/result.nix @@ -10,8 +10,12 @@ }; # Pattern Matching - isOk = r: builtins.hasAttr "ok" r && r.ok; - isErr = r: builtins.hasAttr "ok" r && !r.ok; + isResult = r: + (builtins.length (builtins.attrNames r) == 2) + && builtins.hasAttr "ok" r + && (builtins.hasAttr "value" r || builtins.hasAttr "error" r); + isOk = r: isResult r && r.ok; + isErr = r: isResult r && !r.ok; # Unwrap (Monadic Return Operation) unwrap = f: r: