rename mapMaybe -> bindMaybe

This commit is contained in:
Emile Clark-Boman 2026-01-27 11:22:47 +10:00
parent 87ab7f7ede
commit 22ed581b2d
2 changed files with 10 additions and 10 deletions

View file

@ -47,8 +47,8 @@ in rec {
# unwrapSome = unwrapMaybe (v: v);
# unwrapNone = f: unwrapMaybe f (v: v);
# Map (Monadic Bind Operation)
mapMaybe = f: T:
# Monadic Bind Operation
bindMaybe = f: T:
if isSome T
then Some (f T._value)
else T;

View file

@ -16,7 +16,7 @@
inherit
(this.maybe)
isSome
mapMaybe
bindMaybe
;
inherit
@ -30,17 +30,17 @@ in rec {
# check if a value is NixTypes compatible
isNT = T:
openNT T
|> mapMaybe (content: attrNames content |> contains ["sig" "derive" "ops" "req"])
|> bindMaybe (content: attrNames content |> contains ["sig" "derive" "ops" "req"])
|> isSome;
isNTClass = T:
openNT T
|> mapMaybe (content: attrNames content == ["sig" "derive" "ops" "req"])
|> bindMaybe (content: attrNames content == ["sig" "derive" "ops" "req"])
|> isSome;
isNTType = T:
openNT T
|> mapMaybe (content:
|> bindMaybe (content:
attrNames content
== ["instance" "sig" "derive" "ops" "req"]
&& content.instance == false)
@ -48,7 +48,7 @@ in rec {
isNTInstance = T:
openNT T
|> mapMaybe (content:
|> bindMaybe (content:
attrNames content
== ["instance" "sig" "derive" "ops" "req"]
&& content.instance == true)
@ -60,19 +60,19 @@ in rec {
impls = type: T:
assert enfIsNT T "nt.impls";
openNT T
|> mapMaybe (content: content.derive |> elem (toTypeSig type))
|> bindMaybe (content: content.derive |> elem (toTypeSig type))
|> isSome;
is = type: T:
assert enfIsNT T "nt.is";
openNT T
|> mapMaybe (content: content.sig == toTypeSig type)
|> bindMaybe (content: content.sig == toTypeSig type)
|> isSome;
typeSig = T:
assert enfIsNT T "nt.typeSig";
openNT T
|> mapMaybe (getAttr "sig")
|> bindMaybe (getAttr "sig")
|> isSome;
toTypeSig = x: