meta-types.nix: Introduce enum type

This commit is contained in:
Silvan Mosberger
2026-01-09 20:16:19 +01:00
parent 60ef776912
commit 27fcf5c8bc
+8
View File
@@ -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);