{"version":3,"file":"offset.mjs","names":[],"sources":["../../../../../../../../../../node_modules/@vitest/utils/dist/offset.js"],"sourcesContent":["const lineSplitRE = /\\r?\\n/;\nfunction positionToOffset(source, lineNumber, columnNumber) {\n\tconst lines = source.split(lineSplitRE);\n\tconst nl = /\\r\\n/.test(source) ? 2 : 1;\n\tlet start = 0;\n\tif (lineNumber > lines.length) {\n\t\treturn source.length;\n\t}\n\tfor (let i = 0; i < lineNumber - 1; i++) {\n\t\tstart += lines[i].length + nl;\n\t}\n\treturn start + columnNumber;\n}\nfunction offsetToLineNumber(source, offset) {\n\tif (offset > source.length) {\n\t\tthrow new Error(`offset is longer than source length! offset ${offset} > length ${source.length}`);\n\t}\n\tconst lines = source.split(lineSplitRE);\n\tconst nl = /\\r\\n/.test(source) ? 2 : 1;\n\tlet counted = 0;\n\tlet line = 0;\n\tfor (; line < lines.length; line++) {\n\t\tconst lineLength = lines[line].length + nl;\n\t\tif (counted + lineLength >= offset) {\n\t\t\tbreak;\n\t\t}\n\t\tcounted += lineLength;\n\t}\n\treturn line + 1;\n}\n\nexport { lineSplitRE, offsetToLineNumber, positionToOffset };\n"],"x_google_ignoreList":[0],"mappings":";AAAA,MAAM,cAAc;AACpB,SAAS,iBAAiB,QAAQ,YAAY,cAAc;CAC3D,MAAM,QAAQ,OAAO,MAAM,WAAW;CACtC,MAAM,KAAK,OAAO,KAAK,MAAM,IAAI,IAAI;CACrC,IAAI,QAAQ;CACZ,IAAI,aAAa,MAAM,QACtB,OAAO,OAAO;CAEf,KAAK,IAAI,IAAI,GAAG,IAAI,aAAa,GAAG,KACnC,SAAS,MAAM,EAAE,CAAC,SAAS;CAE5B,OAAO,QAAQ;AAChB;AACA,SAAS,mBAAmB,QAAQ,QAAQ;CAC3C,IAAI,SAAS,OAAO,QACnB,MAAM,IAAI,MAAM,+CAA+C,OAAO,YAAY,OAAO,QAAQ;CAElG,MAAM,QAAQ,OAAO,MAAM,WAAW;CACtC,MAAM,KAAK,OAAO,KAAK,MAAM,IAAI,IAAI;CACrC,IAAI,UAAU;CACd,IAAI,OAAO;CACX,OAAO,OAAO,MAAM,QAAQ,QAAQ;EACnC,MAAM,aAAa,MAAM,KAAK,CAAC,SAAS;EACxC,IAAI,UAAU,cAAc,QAC3B;EAED,WAAW;CACZ;CACA,OAAO,OAAO;AACf"}