Merge pull request #273473 from adisbladis/lib-isConvertibleToString-static-list

lib.isConvertibleToString: Statically compute types list
This commit is contained in:
Silvan Mosberger 2023-12-11 17:46:48 +01:00 committed by GitHub
commit 04efefaa4c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -978,9 +978,11 @@ rec {
Many types of value are coercible to string this way, including int, float, Many types of value are coercible to string this way, including int, float,
null, bool, list of similarly coercible values. null, bool, list of similarly coercible values.
*/ */
isConvertibleWithToString = x: isConvertibleWithToString = let
types = [ "null" "int" "float" "bool" ];
in x:
isStringLike x || isStringLike x ||
elem (typeOf x) [ "null" "int" "float" "bool" ] || elem (typeOf x) types ||
(isList x && lib.all isConvertibleWithToString x); (isList x && lib.all isConvertibleWithToString x);
/* Check whether a value can be coerced to a string. /* Check whether a value can be coerced to a string.