From 90f78262205c1afa88c15dc15f41293e53af87fe Mon Sep 17 00:00:00 2001 From: Justin Ridgewell Date: Sat, 4 Apr 2020 05:28:50 -0400 Subject: [PATCH] Cleanup code --- .../src/index.js | 27 ++++++------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/packages/babel-plugin-transform-unicode-escapes/src/index.js b/packages/babel-plugin-transform-unicode-escapes/src/index.js index 26bd0339c141..56a3a9a0ec42 100644 --- a/packages/babel-plugin-transform-unicode-escapes/src/index.js +++ b/packages/babel-plugin-transform-unicode-escapes/src/index.js @@ -10,9 +10,9 @@ export default declare(api => { function escape(code) { return "\\u" + code.toString(16).padStart(4, 0); } - function replaceUnicodeEscapes(str, escapeCount = 1) { + function replaceUnicodeEscapes(str) { return str.replace(unicodeEscape, (match, backslashes, code) => { - if ((backslashes.length * escapeCount) % 2 === 0) { + if (backslashes.length % 2 === 0) { return match; } @@ -29,17 +29,13 @@ export default declare(api => { Identifier(path) { const { node, key } = path; const { name } = node; - const replaced = name.replace(surrogate, c => { - c = c - .charCodeAt(0) - .toString(16) - .padStart(4); - return `\\u${c}`; - }); + const replaced = name.replace(surrogate, escape); if (name === replaced) return; + const str = t.inherits(t.stringLiteral(name), node); + if (key === "key") { - path.replaceWith(t.stringLiteral(name)); + path.replaceWith(str); return; } @@ -49,7 +45,7 @@ export default declare(api => { parentPath.isOptionalMemberExpression({ property: node }) ) { parentPath.node.computed = true; - path.replaceWith(t.stringLiteral(name)); + path.replaceWith(str); return; } @@ -62,14 +58,7 @@ export default declare(api => { const { node } = path; const { extra } = node; - // A string's value is already parsed, which means a "\u{0061}" is - // already an "a", and a "\\u{0061}` is an "\u{0061}". So we don't want - // to find a "\u" in the value (because dev escaped the "u" and didn't - // write a unicode escape). - node.value = replaceUnicodeEscapes(node.value, 2); - if (extra?.raw) { - extra.raw = replaceUnicodeEscapes(extra.raw); - } + if (extra?.raw) extra.raw = replaceUnicodeEscapes(extra.raw); }, TemplateElement(path) {