From c17833297ea45b783fef8a548eae5b66fbe43786 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Mon, 14 Nov 2016 23:01:20 +0000 Subject: Use consistent code for escape sequence decoding --- lib/style-reader.js | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'lib/style-reader.js') diff --git a/lib/style-reader.js b/lib/style-reader.js index 0f2efc5..13af3e7 100644 --- a/lib/style-reader.js +++ b/lib/style-reader.js @@ -209,25 +209,27 @@ function htmlPathRule() { var identifierRule = lop.rules.tokenOfType("identifier"); var integerRule = lop.rules.tokenOfType("integer"); +var stringRule = lop.rules.then( + lop.rules.tokenOfType("string"), + decodeEscapeSequences +); + var escapeSequences = { "n": "\n", "r": "\r", "t": "\t" }; -var stringRule = lop.rules.then( - lop.rules.tokenOfType("string"), - function(value) { - return value.replace(/\\(.)/g, function(match, code) { - return escapeSequences[code] || code; - }); - } -); +function decodeEscapeSequences(value) { + return value.replace(/\\(.)/g, function(match, code) { + return escapeSequences[code] || code; + }); +} var classRule = lop.rules.then( lop.rules.tokenOfType("cssClassName"), function(text) { - return text.substring(1).replace(/\\(.)/g, "$1"); + return decodeEscapeSequences(text.substring(1)); } ); -- cgit v1.2.3