this repo has no description
at main 40 lines 1.1 kB view raw
1{ lib }: 2with lib; 3{ 4 mkIfElse = 5 cond: a: b: 6 lib.mkMerge [ 7 (lib.mkIf cond a) 8 (lib.mkIf (!cond) b) 9 ]; 10 optionalName = condition: name: if condition then name else null; 11 mif = { 12 list = optionals; 13 list' = optional; 14 attrs = optionalAttrs; 15 num = condition: value: if condition then value else 0; 16 null = syvl.optionalName; 17 str = optionalString; 18 True = condition: value: if condition then value else true; 19 False = condition: value: if condition then value else false; 20 fn = 21 condition: fn: value: 22 if condition then (fn value) else value; 23 }; 24 mifNotNull = { 25 __functor = 26 self: a: b: 27 if (a != null) then a else b; 28 list = a: optionals (a != null); 29 list' = a: optional (a != null); 30 attrs = a: optionalAttrs (a != null); 31 num = a: b: if (a != null) then b else 0; 32 null = a: b: if (a != null) then b else null; 33 nullb = 34 a: b: c: 35 if (a != null) then b else c; 36 str = a: optionalString (a != null); 37 True = a: b: if (a != null) then b else true; 38 False = a: b: if (a != null) then b else false; 39 }; 40}