astx
Version:
super powerful structural search and replace for JavaScript and TypeScript to automate your refactoring
29 lines (25 loc) • 876 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = matchStringLiteral;
var _ = require(".");
var _Placeholder = require("./Placeholder");
function matchStringLiteral(path, compileOptions) {
var pattern = path.value;
var n = compileOptions.backend.t.namedTypes;
var placeholderMatcher = (0, _Placeholder.compileStringPlaceholderMatcher)(path, function (pattern) {
return pattern.value;
}, compileOptions, {
nodeType: 'StringLiteral'
});
if (placeholderMatcher) return placeholderMatcher;
pattern.value = (0, _Placeholder.unescapeIdentifier)(pattern.value);
return (0, _.convertPredicateMatcher)(path, {
match: function match(path) {
var node = path.value;
return n.StringLiteral.check(node) && pattern.value === node.value;
},
nodeType: 'StringLiteral'
}, compileOptions);
}