add std/result.nix:isResult

This commit is contained in:
Emile Clark-Boman 2025-12-14 10:54:55 +10:00
parent 00bc247a55
commit 8f347b9ad3

View file

@ -10,8 +10,12 @@
}; };
# Pattern Matching # Pattern Matching
isOk = r: builtins.hasAttr "ok" r && r.ok; isResult = r:
isErr = r: builtins.hasAttr "ok" r && !r.ok; (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 (Monadic Return Operation)
unwrap = f: r: unwrap = f: r: