Files
klz-cables.com/.pnpm-store/v10/files/81/c96d43ab5d16f6a4701f4945052c6fa0e003e50105f36176fa00bdfd01fcbab4ac57f7ffb10a6e908a3e54a2db8b5c7cad5535a9a15b91332f3b4305d1d7cb
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

39 lines
790 B
Plaintext

'use strict';
Object.defineProperty(exports, '__esModule', {
value: true,
});
exports.getLocation = getLocation;
var _invariant = require('../jsutils/invariant.js');
const LineRegExp = /\r\n|[\n\r]/g;
/**
* Represents a location in a Source.
*/
/**
* Takes a Source and a UTF-8 character offset, and returns the corresponding
* line and column as a SourceLocation.
*/
function getLocation(source, position) {
let lastLineStart = 0;
let line = 1;
for (const match of source.body.matchAll(LineRegExp)) {
typeof match.index === 'number' || (0, _invariant.invariant)(false);
if (match.index >= position) {
break;
}
lastLineStart = match.index + match[0].length;
line += 1;
}
return {
line,
column: position + 1 - lastLineStart,
};
}