diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-10-14 18:40:54 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-10-14 18:40:54 +0200 |
commit | 9df98e65f842cf3acae09cbdd969966f42d64469 (patch) | |
tree | f071d3e09a342c208fb8e1cd3f5241d64fbfbaf3 /node_modules/tslint/lib/rules/noInvalidTemplateStringsRule.js | |
parent | 008926b18470e7f394cd640302957b29728a9803 (diff) |
update dependencies
Diffstat (limited to 'node_modules/tslint/lib/rules/noInvalidTemplateStringsRule.js')
-rw-r--r-- | node_modules/tslint/lib/rules/noInvalidTemplateStringsRule.js | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/node_modules/tslint/lib/rules/noInvalidTemplateStringsRule.js b/node_modules/tslint/lib/rules/noInvalidTemplateStringsRule.js index d3ee747f2..3fe553081 100644 --- a/node_modules/tslint/lib/rules/noInvalidTemplateStringsRule.js +++ b/node_modules/tslint/lib/rules/noInvalidTemplateStringsRule.js @@ -20,7 +20,7 @@ var tslib_1 = require("tslib"); var utils = require("tsutils"); var ts = require("typescript"); var Lint = require("../index"); -var Rule = (function (_super) { +var Rule = /** @class */ (function (_super) { tslib_1.__extends(Rule, _super); function Rule() { return _super !== null && _super.apply(this, arguments) || this; @@ -52,10 +52,18 @@ function walk(ctx) { return ts.forEachChild(node, cb); }); function check(node) { - var idx = node.text.search(/\$\{/); - if (idx !== -1) { - var textStart = node.getStart() + 1; - ctx.addFailureAt(textStart + idx, 2, Rule.FAILURE_STRING); + var text = node.getText(ctx.sourceFile); + var findTemplateStrings = /\\*\$\{/g; + var instance = findTemplateStrings.exec(text); + while (instance !== null) { + var matchLength = instance[0].length; + var backslashCount = matchLength - 2; + var instanceIsEscaped = backslashCount % 2 === 1; + if (!instanceIsEscaped) { + var start = node.getStart() + (instance.index + backslashCount); + ctx.addFailureAt(start, 2, Rule.FAILURE_STRING); + } + instance = findTemplateStrings.exec(text); } } } |