hasInfix
lib.strings.hasInfix
Docs pulled from | This Revision | 18 days ago
Nixpkgs manual
Determine whether a string contains the given infix
Inputs
infix- 1. Function argument
content- 2. Function argument
Type
hasInfix :: String -> String -> Bool
Examples
lib.strings.hasInfix usage example
hasInfix "bc" "abcd"
=> true
hasInfix "ab" "abcd"
=> true
hasInfix "cd" "abcd"
=> true
hasInfix "foo" "abcd"
=> false
Noogle detected
Implementation
The following is the current implementation of this function.
hasInfix =
infix:
let
matchGivenInfix = builtins.match ".*${escapeRegex infix}.*";
in
if isPath infix then
# Before 23.05, paths would be copied to the store before converting them
# to strings and comparing. This was surprising and confusing.
throw ''
lib.strings.hasInfix: The first argument (${toString infix}) is a path value, but only strings are supported.
There is almost certainly a bug in the calling code, since this function always returns `false` in such a case.
This function also copies the path to the Nix store, which may not be what you want.''
else
content: matchGivenInfix "${content}" != null;