Skip to content

Commit ce90c5d

Browse files
authored
Merge pull request #143 from doniyor2109/avount_regex
Avoid regex for lines
2 parents 56018ca + 90d5500 commit ce90c5d

File tree

1 file changed

+8
-12
lines changed

1 file changed

+8
-12
lines changed

lib/ReplaceSource.js

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -269,9 +269,8 @@ class ReplaceSource extends Source {
269269
}
270270

271271
// Insert replacement content splitted into chunks by lines
272-
const regexp = /[^\n]+\n?|\n/g;
273272
const { content, name } = repls[i];
274-
let match = regexp.exec(content);
273+
let matches = splitIntoLines(content);
275274
let replacementNameIndex = nameIndex;
276275
if (sourceIndex >= 0 && name) {
277276
let globalIndex = nameMapping.get(name);
@@ -282,8 +281,8 @@ class ReplaceSource extends Source {
282281
}
283282
replacementNameIndex = globalIndex;
284283
}
285-
while (match !== null) {
286-
const contentLine = match[0];
284+
for (let m = 0; m < matches.length; m++) {
285+
const contentLine = matches[m];
287286
onChunk(
288287
contentLine,
289288
line,
@@ -300,8 +299,7 @@ class ReplaceSource extends Source {
300299
// Only the first chunk has name assigned
301300
replacementNameIndex = -1;
302301

303-
match = regexp.exec(content);
304-
if (match === null && !contentLine.endsWith("\n")) {
302+
if (m === matches.length - 1 && !contentLine.endsWith("\n")) {
305303
if (generatedColumnOffsetLine === line) {
306304
generatedColumnOffset += contentLine.length;
307305
} else {
@@ -418,10 +416,9 @@ class ReplaceSource extends Source {
418416

419417
// Insert remaining replacements content splitted into chunks by lines
420418
let line = generatedLine + generatedLineOffset;
421-
const regexp = /[^\n]+\n?|\n/g;
422-
let match = regexp.exec(remainer);
423-
while (match !== null) {
424-
const contentLine = match[0];
419+
let matches = splitIntoLines(remainer);
420+
for (let m = 0; m < matches.length; m++) {
421+
const contentLine = matches[m];
425422
onChunk(
426423
contentLine,
427424
line,
@@ -433,8 +430,7 @@ class ReplaceSource extends Source {
433430
-1
434431
);
435432

436-
match = regexp.exec(remainer);
437-
if (match === null && !contentLine.endsWith("\n")) {
433+
if (m === matches.length - 1 && !contentLine.endsWith("\n")) {
438434
if (generatedColumnOffsetLine === line) {
439435
generatedColumnOffset += contentLine.length;
440436
} else {

0 commit comments

Comments
 (0)