Files
NapCatQQ/.pnpm-store/v3/files/dc/826d89f1a169d96c3f04e75ecb6ce57029ada6df253a97b92a851ae18f538e471a7200696bfef69240a24e91a9dea1d4f605ca11c65e328822e88fd3e90aea
T
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

29 lines
1.1 KiB
Plaintext

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.removeNodesFromOriginalCode = void 0;
/** Escapes a string literal to be passed to new RegExp. See: https://stackoverflow.com/a/6969486/480608.
* @param s the string to escape
*/
var escapeRegExp = function (s) { return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); };
/**
* Removes imports from original file
* @param code the whole file as text
* @param nodes to be removed
*/
var removeNodesFromOriginalCode = function (code, nodes) {
var text = code;
for (var _i = 0, nodes_1 = nodes; _i < nodes_1.length; _i++) {
var node = nodes_1[_i];
var start = Number(node.start);
var end = Number(node.end);
if (Number.isSafeInteger(start) && Number.isSafeInteger(end)) {
text = text.replace(
// only replace imports at the beginning of the line (ignoring whitespace)
// otherwise matching commented imports will be replaced
new RegExp('^\\s*' + escapeRegExp(code.substring(start, end)), 'm'), '');
}
}
return text;
};
exports.removeNodesFromOriginalCode = removeNodesFromOriginalCode;