lib/types: change merge strategy for str, int, float and enum

Change to `mergeEqualOption`.
This commit is contained in:
danbst 2019-07-25 18:12:15 +03:00
parent 2797ddee7d
commit 795383204e

View file

@ -111,7 +111,7 @@ rec {
name = "int"; name = "int";
description = "signed integer"; description = "signed integer";
check = isInt; check = isInt;
merge = mergeOneOption; merge = mergeEqualOption;
}; };
# Specialized subdomains of int # Specialized subdomains of int
@ -176,14 +176,14 @@ rec {
name = "float"; name = "float";
description = "floating point number"; description = "floating point number";
check = isFloat; check = isFloat;
merge = mergeOneOption; merge = mergeEqualOption;
}; };
str = mkOptionType { str = mkOptionType {
name = "str"; name = "str";
description = "string"; description = "string";
check = isString; check = isString;
merge = mergeOneOption; merge = mergeEqualOption;
}; };
strMatching = pattern: mkOptionType { strMatching = pattern: mkOptionType {
@ -243,7 +243,7 @@ rec {
name = "path"; name = "path";
# Hacky: there is no isPath primop. # Hacky: there is no isPath primop.
check = x: builtins.substring 0 1 (toString x) == "/"; check = x: builtins.substring 0 1 (toString x) == "/";
merge = mergeOneOption; merge = mergeEqualOption;
}; };
# drop this in the future: # drop this in the future:
@ -415,7 +415,7 @@ rec {
name = "enum"; name = "enum";
description = "one of ${concatMapStringsSep ", " show values}"; description = "one of ${concatMapStringsSep ", " show values}";
check = flip elem values; check = flip elem values;
merge = mergeOneOption; merge = mergeEqualOption;
functor = (defaultFunctor name) // { payload = values; binOp = a: b: unique (a ++ b); }; functor = (defaultFunctor name) // { payload = values; binOp = a: b: unique (a ++ b); };
}; };