escapeBracketsAndQuotes static method
Implementation
static String escapeBracketsAndQuotes(String value) {
const controlCharacters = [
$singleQuote,
$openCurlyBracket,
$closedCurlyBracket,
];
var sb = StringBuffer();
var nextIsEscaped = false;
var characters = value.runes.toList();
for (var i = 0; i < characters.length; i++) {
var isQuote = characters[i] == $singleQuote;
if (!nextIsEscaped &&
isQuote &&
i + 1 < characters.length &&
controlCharacters.contains(characters[i + 1])) {
nextIsEscaped = true;
} else {
nextIsEscaped = false;
sb.write(String.fromCharCode(characters[i]));
}
}
value = sb.toString();
return value;
}