source: frontend/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 13 days ago

Fix frontend appearance

  • Property mode set to 100644
File size: 12.6 KB
Line 
1// src/vlq.ts
2var comma = ",".charCodeAt(0);
3var semicolon = ";".charCodeAt(0);
4var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
5var intToChar = new Uint8Array(64);
6var charToInt = new Uint8Array(128);
7for (let i = 0; i < chars.length; i++) {
8 const c = chars.charCodeAt(i);
9 intToChar[i] = c;
10 charToInt[c] = i;
11}
12function decodeInteger(reader, relative) {
13 let value = 0;
14 let shift = 0;
15 let integer = 0;
16 do {
17 const c = reader.next();
18 integer = charToInt[c];
19 value |= (integer & 31) << shift;
20 shift += 5;
21 } while (integer & 32);
22 const shouldNegate = value & 1;
23 value >>>= 1;
24 if (shouldNegate) {
25 value = -2147483648 | -value;
26 }
27 return relative + value;
28}
29function encodeInteger(builder, num, relative) {
30 let delta = num - relative;
31 delta = delta < 0 ? -delta << 1 | 1 : delta << 1;
32 do {
33 let clamped = delta & 31;
34 delta >>>= 5;
35 if (delta > 0) clamped |= 32;
36 builder.write(intToChar[clamped]);
37 } while (delta > 0);
38 return num;
39}
40function hasMoreVlq(reader, max) {
41 if (reader.pos >= max) return false;
42 return reader.peek() !== comma;
43}
44
45// src/strings.ts
46var bufLength = 1024 * 16;
47var td = typeof TextDecoder !== "undefined" ? /* @__PURE__ */ new TextDecoder() : typeof Buffer !== "undefined" ? {
48 decode(buf) {
49 const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);
50 return out.toString();
51 }
52} : {
53 decode(buf) {
54 let out = "";
55 for (let i = 0; i < buf.length; i++) {
56 out += String.fromCharCode(buf[i]);
57 }
58 return out;
59 }
60};
61var StringWriter = class {
62 constructor() {
63 this.pos = 0;
64 this.out = "";
65 this.buffer = new Uint8Array(bufLength);
66 }
67 write(v) {
68 const { buffer } = this;
69 buffer[this.pos++] = v;
70 if (this.pos === bufLength) {
71 this.out += td.decode(buffer);
72 this.pos = 0;
73 }
74 }
75 flush() {
76 const { buffer, out, pos } = this;
77 return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;
78 }
79};
80var StringReader = class {
81 constructor(buffer) {
82 this.pos = 0;
83 this.buffer = buffer;
84 }
85 next() {
86 return this.buffer.charCodeAt(this.pos++);
87 }
88 peek() {
89 return this.buffer.charCodeAt(this.pos);
90 }
91 indexOf(char) {
92 const { buffer, pos } = this;
93 const idx = buffer.indexOf(char, pos);
94 return idx === -1 ? buffer.length : idx;
95 }
96};
97
98// src/scopes.ts
99var EMPTY = [];
100function decodeOriginalScopes(input) {
101 const { length } = input;
102 const reader = new StringReader(input);
103 const scopes = [];
104 const stack = [];
105 let line = 0;
106 for (; reader.pos < length; reader.pos++) {
107 line = decodeInteger(reader, line);
108 const column = decodeInteger(reader, 0);
109 if (!hasMoreVlq(reader, length)) {
110 const last = stack.pop();
111 last[2] = line;
112 last[3] = column;
113 continue;
114 }
115 const kind = decodeInteger(reader, 0);
116 const fields = decodeInteger(reader, 0);
117 const hasName = fields & 1;
118 const scope = hasName ? [line, column, 0, 0, kind, decodeInteger(reader, 0)] : [line, column, 0, 0, kind];
119 let vars = EMPTY;
120 if (hasMoreVlq(reader, length)) {
121 vars = [];
122 do {
123 const varsIndex = decodeInteger(reader, 0);
124 vars.push(varsIndex);
125 } while (hasMoreVlq(reader, length));
126 }
127 scope.vars = vars;
128 scopes.push(scope);
129 stack.push(scope);
130 }
131 return scopes;
132}
133function encodeOriginalScopes(scopes) {
134 const writer = new StringWriter();
135 for (let i = 0; i < scopes.length; ) {
136 i = _encodeOriginalScopes(scopes, i, writer, [0]);
137 }
138 return writer.flush();
139}
140function _encodeOriginalScopes(scopes, index, writer, state) {
141 const scope = scopes[index];
142 const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, 4: kind, vars } = scope;
143 if (index > 0) writer.write(comma);
144 state[0] = encodeInteger(writer, startLine, state[0]);
145 encodeInteger(writer, startColumn, 0);
146 encodeInteger(writer, kind, 0);
147 const fields = scope.length === 6 ? 1 : 0;
148 encodeInteger(writer, fields, 0);
149 if (scope.length === 6) encodeInteger(writer, scope[5], 0);
150 for (const v of vars) {
151 encodeInteger(writer, v, 0);
152 }
153 for (index++; index < scopes.length; ) {
154 const next = scopes[index];
155 const { 0: l, 1: c } = next;
156 if (l > endLine || l === endLine && c >= endColumn) {
157 break;
158 }
159 index = _encodeOriginalScopes(scopes, index, writer, state);
160 }
161 writer.write(comma);
162 state[0] = encodeInteger(writer, endLine, state[0]);
163 encodeInteger(writer, endColumn, 0);
164 return index;
165}
166function decodeGeneratedRanges(input) {
167 const { length } = input;
168 const reader = new StringReader(input);
169 const ranges = [];
170 const stack = [];
171 let genLine = 0;
172 let definitionSourcesIndex = 0;
173 let definitionScopeIndex = 0;
174 let callsiteSourcesIndex = 0;
175 let callsiteLine = 0;
176 let callsiteColumn = 0;
177 let bindingLine = 0;
178 let bindingColumn = 0;
179 do {
180 const semi = reader.indexOf(";");
181 let genColumn = 0;
182 for (; reader.pos < semi; reader.pos++) {
183 genColumn = decodeInteger(reader, genColumn);
184 if (!hasMoreVlq(reader, semi)) {
185 const last = stack.pop();
186 last[2] = genLine;
187 last[3] = genColumn;
188 continue;
189 }
190 const fields = decodeInteger(reader, 0);
191 const hasDefinition = fields & 1;
192 const hasCallsite = fields & 2;
193 const hasScope = fields & 4;
194 let callsite = null;
195 let bindings = EMPTY;
196 let range;
197 if (hasDefinition) {
198 const defSourcesIndex = decodeInteger(reader, definitionSourcesIndex);
199 definitionScopeIndex = decodeInteger(
200 reader,
201 definitionSourcesIndex === defSourcesIndex ? definitionScopeIndex : 0
202 );
203 definitionSourcesIndex = defSourcesIndex;
204 range = [genLine, genColumn, 0, 0, defSourcesIndex, definitionScopeIndex];
205 } else {
206 range = [genLine, genColumn, 0, 0];
207 }
208 range.isScope = !!hasScope;
209 if (hasCallsite) {
210 const prevCsi = callsiteSourcesIndex;
211 const prevLine = callsiteLine;
212 callsiteSourcesIndex = decodeInteger(reader, callsiteSourcesIndex);
213 const sameSource = prevCsi === callsiteSourcesIndex;
214 callsiteLine = decodeInteger(reader, sameSource ? callsiteLine : 0);
215 callsiteColumn = decodeInteger(
216 reader,
217 sameSource && prevLine === callsiteLine ? callsiteColumn : 0
218 );
219 callsite = [callsiteSourcesIndex, callsiteLine, callsiteColumn];
220 }
221 range.callsite = callsite;
222 if (hasMoreVlq(reader, semi)) {
223 bindings = [];
224 do {
225 bindingLine = genLine;
226 bindingColumn = genColumn;
227 const expressionsCount = decodeInteger(reader, 0);
228 let expressionRanges;
229 if (expressionsCount < -1) {
230 expressionRanges = [[decodeInteger(reader, 0)]];
231 for (let i = -1; i > expressionsCount; i--) {
232 const prevBl = bindingLine;
233 bindingLine = decodeInteger(reader, bindingLine);
234 bindingColumn = decodeInteger(reader, bindingLine === prevBl ? bindingColumn : 0);
235 const expression = decodeInteger(reader, 0);
236 expressionRanges.push([expression, bindingLine, bindingColumn]);
237 }
238 } else {
239 expressionRanges = [[expressionsCount]];
240 }
241 bindings.push(expressionRanges);
242 } while (hasMoreVlq(reader, semi));
243 }
244 range.bindings = bindings;
245 ranges.push(range);
246 stack.push(range);
247 }
248 genLine++;
249 reader.pos = semi + 1;
250 } while (reader.pos < length);
251 return ranges;
252}
253function encodeGeneratedRanges(ranges) {
254 if (ranges.length === 0) return "";
255 const writer = new StringWriter();
256 for (let i = 0; i < ranges.length; ) {
257 i = _encodeGeneratedRanges(ranges, i, writer, [0, 0, 0, 0, 0, 0, 0]);
258 }
259 return writer.flush();
260}
261function _encodeGeneratedRanges(ranges, index, writer, state) {
262 const range = ranges[index];
263 const {
264 0: startLine,
265 1: startColumn,
266 2: endLine,
267 3: endColumn,
268 isScope,
269 callsite,
270 bindings
271 } = range;
272 if (state[0] < startLine) {
273 catchupLine(writer, state[0], startLine);
274 state[0] = startLine;
275 state[1] = 0;
276 } else if (index > 0) {
277 writer.write(comma);
278 }
279 state[1] = encodeInteger(writer, range[1], state[1]);
280 const fields = (range.length === 6 ? 1 : 0) | (callsite ? 2 : 0) | (isScope ? 4 : 0);
281 encodeInteger(writer, fields, 0);
282 if (range.length === 6) {
283 const { 4: sourcesIndex, 5: scopesIndex } = range;
284 if (sourcesIndex !== state[2]) {
285 state[3] = 0;
286 }
287 state[2] = encodeInteger(writer, sourcesIndex, state[2]);
288 state[3] = encodeInteger(writer, scopesIndex, state[3]);
289 }
290 if (callsite) {
291 const { 0: sourcesIndex, 1: callLine, 2: callColumn } = range.callsite;
292 if (sourcesIndex !== state[4]) {
293 state[5] = 0;
294 state[6] = 0;
295 } else if (callLine !== state[5]) {
296 state[6] = 0;
297 }
298 state[4] = encodeInteger(writer, sourcesIndex, state[4]);
299 state[5] = encodeInteger(writer, callLine, state[5]);
300 state[6] = encodeInteger(writer, callColumn, state[6]);
301 }
302 if (bindings) {
303 for (const binding of bindings) {
304 if (binding.length > 1) encodeInteger(writer, -binding.length, 0);
305 const expression = binding[0][0];
306 encodeInteger(writer, expression, 0);
307 let bindingStartLine = startLine;
308 let bindingStartColumn = startColumn;
309 for (let i = 1; i < binding.length; i++) {
310 const expRange = binding[i];
311 bindingStartLine = encodeInteger(writer, expRange[1], bindingStartLine);
312 bindingStartColumn = encodeInteger(writer, expRange[2], bindingStartColumn);
313 encodeInteger(writer, expRange[0], 0);
314 }
315 }
316 }
317 for (index++; index < ranges.length; ) {
318 const next = ranges[index];
319 const { 0: l, 1: c } = next;
320 if (l > endLine || l === endLine && c >= endColumn) {
321 break;
322 }
323 index = _encodeGeneratedRanges(ranges, index, writer, state);
324 }
325 if (state[0] < endLine) {
326 catchupLine(writer, state[0], endLine);
327 state[0] = endLine;
328 state[1] = 0;
329 } else {
330 writer.write(comma);
331 }
332 state[1] = encodeInteger(writer, endColumn, state[1]);
333 return index;
334}
335function catchupLine(writer, lastLine, line) {
336 do {
337 writer.write(semicolon);
338 } while (++lastLine < line);
339}
340
341// src/sourcemap-codec.ts
342function decode(mappings) {
343 const { length } = mappings;
344 const reader = new StringReader(mappings);
345 const decoded = [];
346 let genColumn = 0;
347 let sourcesIndex = 0;
348 let sourceLine = 0;
349 let sourceColumn = 0;
350 let namesIndex = 0;
351 do {
352 const semi = reader.indexOf(";");
353 const line = [];
354 let sorted = true;
355 let lastCol = 0;
356 genColumn = 0;
357 while (reader.pos < semi) {
358 let seg;
359 genColumn = decodeInteger(reader, genColumn);
360 if (genColumn < lastCol) sorted = false;
361 lastCol = genColumn;
362 if (hasMoreVlq(reader, semi)) {
363 sourcesIndex = decodeInteger(reader, sourcesIndex);
364 sourceLine = decodeInteger(reader, sourceLine);
365 sourceColumn = decodeInteger(reader, sourceColumn);
366 if (hasMoreVlq(reader, semi)) {
367 namesIndex = decodeInteger(reader, namesIndex);
368 seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex];
369 } else {
370 seg = [genColumn, sourcesIndex, sourceLine, sourceColumn];
371 }
372 } else {
373 seg = [genColumn];
374 }
375 line.push(seg);
376 reader.pos++;
377 }
378 if (!sorted) sort(line);
379 decoded.push(line);
380 reader.pos = semi + 1;
381 } while (reader.pos <= length);
382 return decoded;
383}
384function sort(line) {
385 line.sort(sortComparator);
386}
387function sortComparator(a, b) {
388 return a[0] - b[0];
389}
390function encode(decoded) {
391 const writer = new StringWriter();
392 let sourcesIndex = 0;
393 let sourceLine = 0;
394 let sourceColumn = 0;
395 let namesIndex = 0;
396 for (let i = 0; i < decoded.length; i++) {
397 const line = decoded[i];
398 if (i > 0) writer.write(semicolon);
399 if (line.length === 0) continue;
400 let genColumn = 0;
401 for (let j = 0; j < line.length; j++) {
402 const segment = line[j];
403 if (j > 0) writer.write(comma);
404 genColumn = encodeInteger(writer, segment[0], genColumn);
405 if (segment.length === 1) continue;
406 sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);
407 sourceLine = encodeInteger(writer, segment[2], sourceLine);
408 sourceColumn = encodeInteger(writer, segment[3], sourceColumn);
409 if (segment.length === 4) continue;
410 namesIndex = encodeInteger(writer, segment[4], namesIndex);
411 }
412 }
413 return writer.flush();
414}
415export {
416 decode,
417 decodeGeneratedRanges,
418 decodeOriginalScopes,
419 encode,
420 encodeGeneratedRanges,
421 encodeOriginalScopes
422};
423//# sourceMappingURL=sourcemap-codec.mjs.map
Note: See TracBrowser for help on using the repository browser.