diff options
-rw-r--r-- | default.nix | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/default.nix b/default.nix index 9cd09e644028..2167b6e8b71f 100644 --- a/default.nix +++ b/default.nix @@ -123,8 +123,10 @@ in lib.fix (self: { }; }; - either = t1: t2: typedef "either<${t1.name},${t2.name}>" - (x: (self.type t1).check x || (self.type t2).check x); + eitherN = tn: typedef "either<${concatStringsSep ", " (map (x: x.name) tn)}>" + (x: any (t: (self.type t).check x) tn); + + either = t1: t2: self.eitherN [ t1 t2 ]; list = t: typedef' rec { name = "list<${t.name}>"; |