Commit 27fcf5c8 authored by Silvan Mosberger's avatar Silvan Mosberger
Browse files

meta-types.nix: Introduce enum type

parent 60ef7769
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -141,6 +141,14 @@ lib.fix (self: {
      verify = v: any (func: func v) funcs;
    };

  enum =
    values:
    assert isList values && all isString values;
    {
      name = "enum<${concatStringsSep "," values}>";
      verify = v: isString v && elem v values;
    };

  record =
    fields:
    assert isAttrs fields && all isTypeDef (attrValues fields);