You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.replaceAll = exports.replace = void 0;function replace(segments, pattern, ...replacers) { const str = toString(segments); const match = str.match(pattern); if (match && match.index !== undefined) { const start = match.index; const end = start + match[0].length; offsetStack(); overwrite(segments, [start, end], ...replacers.map(replacer => typeof replacer === 'function' ? replacer(match[0]) : replacer)); resetOffsetStack(); }}exports.replace = replace;function replaceAll(segments, pattern, ...replacers) { const str = toString(segments); const allMatch = str.matchAll(pattern); let length = str.length; let lengthDiff = 0; for (const match of allMatch) { if (match.index !== undefined) { const start = match.index + lengthDiff; const end = start + match[0].length; offsetStack(); overwrite(segments, [start, end], ...replacers.map(replacer => typeof replacer === 'function' ? replacer(match[0]) : replacer)); resetOffsetStack(); const newLength = getLength(segments); lengthDiff += newLength - length; length = newLength; } }}exports.replaceAll = replaceAll;//# sourceMappingURL=replace.js.map
|