1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 |
|
4 | var query_1 = require("./query");
|
5 | function replace(source, selector, stringTransformer, options) {
|
6 | if (options === void 0) { options = {}; }
|
7 | var matches = query_1.query(source, selector, options);
|
8 | var replacements = matches.map(function (node) { return stringTransformer(node); });
|
9 | var reversedMatches = matches.reverse();
|
10 | var reversedReplacements = replacements.reverse();
|
11 | var result = source;
|
12 | reversedReplacements.forEach(function (replacement, index) {
|
13 | if (replacement) {
|
14 | var match = reversedMatches[index];
|
15 | result = "" + result.substr(0, match.getStart()) + replacement + result.substr(match.getEnd());
|
16 | }
|
17 | });
|
18 | return result;
|
19 | }
|
20 | exports.replace = replace;
|
21 |
|
\ | No newline at end of file |