MCPcopy Create free account
hub / github.com/donghaxkim/react-rewrite / mapRenderedOffsetToRawIndex

Function mapRenderedOffsetToRawIndex

packages/cli/src/transform.ts:1303–1337  ·  view source on GitHub ↗
(rawText: string, renderedOffset: number, bias: "start" | "end" = "start")

Source from the content-addressed store, hash-verified

1301}
1302
1303function mapRenderedOffsetToRawIndex(rawText: string, renderedOffset: number, bias: "start" | "end" = "start"): number {
1304 if (renderedOffset <= 0) return 0;
1305
1306 let renderedIndex = 0;
1307 let rawIndex = 0;
1308
1309 while (rawIndex < rawText.length) {
1310 const char = rawText[rawIndex];
1311 if (isCollapsibleWhitespaceChar(char)) {
1312 const runStart = rawIndex;
1313 while (rawIndex < rawText.length && isCollapsibleWhitespaceChar(rawText[rawIndex])) {
1314 rawIndex++;
1315 }
1316
1317 if (renderedIndex === renderedOffset) {
1318 return bias === "end" ? rawIndex : runStart;
1319 }
1320
1321 renderedIndex += 1;
1322 if (renderedIndex >= renderedOffset) {
1323 return bias === "end" ? rawIndex : runStart;
1324 }
1325 continue;
1326 }
1327
1328 if (renderedIndex === renderedOffset) {
1329 return rawIndex;
1330 }
1331
1332 rawIndex++;
1333 renderedIndex++;
1334 }
1335
1336 return rawText.length;
1337}
1338
1339function findTextDiff(oldText: string, newText: string): { oldSubstring: string; newSubstring: string; prefixLen: number } | null {
1340 if (oldText === newText) return null;

Callers 2

insertInJSXTextAtOffsetFunction · 0.70

Calls 1

Tested by

no test coverage detected