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); # unwrapSome = unwrapMaybe (v: v);
# unwrapNone = f: unwrapMaybe f (v: v); # unwrapNone = f: unwrapMaybe f (v: v);
# Map (Monadic Bind Operation) # Monadic Bind Operation
mapMaybe = f: T: bindMaybe = f: T:
if isSome T if isSome T
then Some (f T._value) then Some (f T._value)
else T; else T;

View file

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