@vitest/utils
Advanced tools
Comparing version 2.1.0-beta.6 to 2.1.0-beta.7
@@ -37,3 +37,3 @@ function createSimpleStackTrace(options) { | ||
if (m[3] && !/^(?!.*?(.).*?\1)[gmixXsuUAJ]+$/.test(m[3])) { | ||
return RegExp(input); | ||
return new RegExp(input); | ||
} | ||
@@ -84,3 +84,3 @@ return new RegExp(m[2], m[3]); | ||
if (Array.isArray(val)) { | ||
out = Array(k = val.length); | ||
out = Array.from({ length: k = val.length }); | ||
seen.set(val, out); | ||
@@ -133,3 +133,3 @@ while (k--) { | ||
for (const p of paths) { | ||
result = Object(result)[p]; | ||
result = new Object(result)[p]; | ||
if (result === void 0) { | ||
@@ -136,0 +136,0 @@ return defaultValue; |
@@ -107,35 +107,80 @@ import { notNullish, isPrimitive } from './helpers.js'; | ||
} | ||
function decodeInteger(reader, relative) { | ||
let value = 0; | ||
let shift = 0; | ||
let integer = 0; | ||
do { | ||
const c = reader.next(); | ||
integer = charToInt[c]; | ||
value |= (integer & 31) << shift; | ||
shift += 5; | ||
} while (integer & 32); | ||
const shouldNegate = value & 1; | ||
value >>>= 1; | ||
if (shouldNegate) { | ||
value = -0x80000000 | -value; | ||
} | ||
return relative + value; | ||
} | ||
function hasMoreVlq(reader, max) { | ||
if (reader.pos >= max) | ||
return false; | ||
return reader.peek() !== comma; | ||
} | ||
class StringReader { | ||
constructor(buffer) { | ||
this.pos = 0; | ||
this.buffer = buffer; | ||
} | ||
next() { | ||
return this.buffer.charCodeAt(this.pos++); | ||
} | ||
peek() { | ||
return this.buffer.charCodeAt(this.pos); | ||
} | ||
indexOf(char) { | ||
const { buffer, pos } = this; | ||
const idx = buffer.indexOf(char, pos); | ||
return idx === -1 ? buffer.length : idx; | ||
} | ||
} | ||
function decode(mappings) { | ||
const state = new Int32Array(5); | ||
const { length } = mappings; | ||
const reader = new StringReader(mappings); | ||
const decoded = []; | ||
let index = 0; | ||
let genColumn = 0; | ||
let sourcesIndex = 0; | ||
let sourceLine = 0; | ||
let sourceColumn = 0; | ||
let namesIndex = 0; | ||
do { | ||
const semi = indexOf(mappings, index); | ||
const semi = reader.indexOf(';'); | ||
const line = []; | ||
let sorted = true; | ||
let lastCol = 0; | ||
state[0] = 0; | ||
for (let i = index; i < semi; i++) { | ||
genColumn = 0; | ||
while (reader.pos < semi) { | ||
let seg; | ||
i = decodeInteger(mappings, i, state, 0); // genColumn | ||
const col = state[0]; | ||
if (col < lastCol) | ||
genColumn = decodeInteger(reader, genColumn); | ||
if (genColumn < lastCol) | ||
sorted = false; | ||
lastCol = col; | ||
if (hasMoreVlq(mappings, i, semi)) { | ||
i = decodeInteger(mappings, i, state, 1); // sourcesIndex | ||
i = decodeInteger(mappings, i, state, 2); // sourceLine | ||
i = decodeInteger(mappings, i, state, 3); // sourceColumn | ||
if (hasMoreVlq(mappings, i, semi)) { | ||
i = decodeInteger(mappings, i, state, 4); // namesIndex | ||
seg = [col, state[1], state[2], state[3], state[4]]; | ||
lastCol = genColumn; | ||
if (hasMoreVlq(reader, semi)) { | ||
sourcesIndex = decodeInteger(reader, sourcesIndex); | ||
sourceLine = decodeInteger(reader, sourceLine); | ||
sourceColumn = decodeInteger(reader, sourceColumn); | ||
if (hasMoreVlq(reader, semi)) { | ||
namesIndex = decodeInteger(reader, namesIndex); | ||
seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex]; | ||
} | ||
else { | ||
seg = [col, state[1], state[2], state[3]]; | ||
seg = [genColumn, sourcesIndex, sourceLine, sourceColumn]; | ||
} | ||
} | ||
else { | ||
seg = [col]; | ||
seg = [genColumn]; | ||
} | ||
line.push(seg); | ||
reader.pos++; | ||
} | ||
@@ -145,33 +190,6 @@ if (!sorted) | ||
decoded.push(line); | ||
index = semi + 1; | ||
} while (index <= mappings.length); | ||
reader.pos = semi + 1; | ||
} while (reader.pos <= length); | ||
return decoded; | ||
} | ||
function indexOf(mappings, index) { | ||
const idx = mappings.indexOf(';', index); | ||
return idx === -1 ? mappings.length : idx; | ||
} | ||
function decodeInteger(mappings, pos, state, j) { | ||
let value = 0; | ||
let shift = 0; | ||
let integer = 0; | ||
do { | ||
const c = mappings.charCodeAt(pos++); | ||
integer = charToInt[c]; | ||
value |= (integer & 31) << shift; | ||
shift += 5; | ||
} while (integer & 32); | ||
const shouldNegate = value & 1; | ||
value >>>= 1; | ||
if (shouldNegate) { | ||
value = -0x80000000 | -value; | ||
} | ||
state[j] += value; | ||
return pos; | ||
} | ||
function hasMoreVlq(mappings, i, length) { | ||
if (i >= length) | ||
return false; | ||
return mappings.charCodeAt(i) !== comma; | ||
} | ||
function sort(line) { | ||
@@ -178,0 +196,0 @@ line.sort(sortComparator$1); |
{ | ||
"name": "@vitest/utils", | ||
"type": "module", | ||
"version": "2.1.0-beta.6", | ||
"version": "2.1.0-beta.7", | ||
"description": "Shared Vitest utility functions", | ||
@@ -63,6 +63,5 @@ "license": "MIT", | ||
"dependencies": { | ||
"estree-walker": "^3.0.3", | ||
"loupe": "^3.1.1", | ||
"tinyrainbow": "^1.2.0", | ||
"@vitest/pretty-format": "2.1.0-beta.6" | ||
"@vitest/pretty-format": "2.1.0-beta.7" | ||
}, | ||
@@ -69,0 +68,0 @@ "devDependencies": { |
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
3
153398
19
4405
+ Added@vitest/pretty-format@2.1.0-beta.7(transitive)
- Removedestree-walker@^3.0.3
- Removed@types/estree@1.0.5(transitive)
- Removed@vitest/pretty-format@2.1.0-beta.6(transitive)
- Removedestree-walker@3.0.3(transitive)