14 lines
412 B
Nix
14 lines
412 B
Nix
{nib, ...}: rec {
|
|
enfType = type: T:
|
|
assert (nib.isType type T
|
|
|| nib.panic.badType (nib.typeName type)); true;
|
|
|
|
enfSameType = T1: T2: enfType (nib.typeOf T1) T2;
|
|
|
|
enfAttrs = enfType (nib.typeOf {});
|
|
enfList = enfType (nib.typeOf []);
|
|
enfListOf = type: L:
|
|
assert (enfList L
|
|
&& builtins.all (T: nib.isType type T) L
|
|
|| nib.panic.badType "List ${nib.typeName type}" L); true;
|
|
}
|