{"version":3,"file":"source-map.mjs","names":[],"sources":["../../../../../../../../../../node_modules/@vitest/utils/dist/source-map.js"],"sourcesContent":["import { isPrimitive, notNullish } from './helpers.js';\nimport { r as resolve } from './chunk-pathe.M-eThtNZ.js';\nimport './constants.js';\n\n// src/vlq.ts\nvar comma = \",\".charCodeAt(0);\nvar chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar intToChar = new Uint8Array(64);\nvar charToInt = new Uint8Array(128);\nfor (let i = 0; i < chars.length; i++) {\n  const c = chars.charCodeAt(i);\n  intToChar[i] = c;\n  charToInt[c] = i;\n}\nfunction decodeInteger(reader, relative) {\n  let value = 0;\n  let shift = 0;\n  let integer = 0;\n  do {\n    const c = reader.next();\n    integer = charToInt[c];\n    value |= (integer & 31) << shift;\n    shift += 5;\n  } while (integer & 32);\n  const shouldNegate = value & 1;\n  value >>>= 1;\n  if (shouldNegate) {\n    value = -2147483648 | -value;\n  }\n  return relative + value;\n}\nfunction hasMoreVlq(reader, max) {\n  if (reader.pos >= max) return false;\n  return reader.peek() !== comma;\n}\nvar StringReader = class {\n  constructor(buffer) {\n    this.pos = 0;\n    this.buffer = buffer;\n  }\n  next() {\n    return this.buffer.charCodeAt(this.pos++);\n  }\n  peek() {\n    return this.buffer.charCodeAt(this.pos);\n  }\n  indexOf(char) {\n    const { buffer, pos } = this;\n    const idx = buffer.indexOf(char, pos);\n    return idx === -1 ? buffer.length : idx;\n  }\n};\n\n// src/sourcemap-codec.ts\nfunction decode(mappings) {\n  const { length } = mappings;\n  const reader = new StringReader(mappings);\n  const decoded = [];\n  let genColumn = 0;\n  let sourcesIndex = 0;\n  let sourceLine = 0;\n  let sourceColumn = 0;\n  let namesIndex = 0;\n  do {\n    const semi = reader.indexOf(\";\");\n    const line = [];\n    let sorted = true;\n    let lastCol = 0;\n    genColumn = 0;\n    while (reader.pos < semi) {\n      let seg;\n      genColumn = decodeInteger(reader, genColumn);\n      if (genColumn < lastCol) sorted = false;\n      lastCol = genColumn;\n      if (hasMoreVlq(reader, semi)) {\n        sourcesIndex = decodeInteger(reader, sourcesIndex);\n        sourceLine = decodeInteger(reader, sourceLine);\n        sourceColumn = decodeInteger(reader, sourceColumn);\n        if (hasMoreVlq(reader, semi)) {\n          namesIndex = decodeInteger(reader, namesIndex);\n          seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex];\n        } else {\n          seg = [genColumn, sourcesIndex, sourceLine, sourceColumn];\n        }\n      } else {\n        seg = [genColumn];\n      }\n      line.push(seg);\n      reader.pos++;\n    }\n    if (!sorted) sort(line);\n    decoded.push(line);\n    reader.pos = semi + 1;\n  } while (reader.pos <= length);\n  return decoded;\n}\nfunction sort(line) {\n  line.sort(sortComparator);\n}\nfunction sortComparator(a, b) {\n  return a[0] - b[0];\n}\n\n// src/trace-mapping.ts\n\n// src/sourcemap-segment.ts\nvar COLUMN = 0;\nvar SOURCES_INDEX = 1;\nvar SOURCE_LINE = 2;\nvar SOURCE_COLUMN = 3;\nvar NAMES_INDEX = 4;\n\n// src/binary-search.ts\nvar found = false;\nfunction binarySearch(haystack, needle, low, high) {\n  while (low <= high) {\n    const mid = low + (high - low >> 1);\n    const cmp = haystack[mid][COLUMN] - needle;\n    if (cmp === 0) {\n      found = true;\n      return mid;\n    }\n    if (cmp < 0) {\n      low = mid + 1;\n    } else {\n      high = mid - 1;\n    }\n  }\n  found = false;\n  return low - 1;\n}\nfunction upperBound(haystack, needle, index) {\n  for (let i = index + 1; i < haystack.length; index = i++) {\n    if (haystack[i][COLUMN] !== needle) break;\n  }\n  return index;\n}\nfunction lowerBound(haystack, needle, index) {\n  for (let i = index - 1; i >= 0; index = i--) {\n    if (haystack[i][COLUMN] !== needle) break;\n  }\n  return index;\n}\nfunction memoizedBinarySearch(haystack, needle, state, key) {\n  const { lastKey, lastNeedle, lastIndex } = state;\n  let low = 0;\n  let high = haystack.length - 1;\n  if (key === lastKey) {\n    if (needle === lastNeedle) {\n      found = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle;\n      return lastIndex;\n    }\n    if (needle >= lastNeedle) {\n      low = lastIndex === -1 ? 0 : lastIndex;\n    } else {\n      high = lastIndex;\n    }\n  }\n  state.lastKey = key;\n  state.lastNeedle = needle;\n  return state.lastIndex = binarySearch(haystack, needle, low, high);\n}\n\n// src/trace-mapping.ts\nvar LINE_GTR_ZERO = \"`line` must be greater than 0 (lines start at line 1)\";\nvar COL_GTR_EQ_ZERO = \"`column` must be greater than or equal to 0 (columns start at column 0)\";\nvar LEAST_UPPER_BOUND = -1;\nvar GREATEST_LOWER_BOUND = 1;\nfunction cast(map) {\n  return map;\n}\nfunction decodedMappings(map) {\n  var _a;\n  return (_a = cast(map))._decoded || (_a._decoded = decode(cast(map)._encoded));\n}\nfunction originalPositionFor(map, needle) {\n  let { line, column, bias } = needle;\n  line--;\n  if (line < 0) throw new Error(LINE_GTR_ZERO);\n  if (column < 0) throw new Error(COL_GTR_EQ_ZERO);\n  const decoded = decodedMappings(map);\n  if (line >= decoded.length) return OMapping(null, null, null, null);\n  const segments = decoded[line];\n  const index = traceSegmentInternal(\n    segments,\n    cast(map)._decodedMemo,\n    line,\n    column,\n    bias || GREATEST_LOWER_BOUND\n  );\n  if (index === -1) return OMapping(null, null, null, null);\n  const segment = segments[index];\n  if (segment.length === 1) return OMapping(null, null, null, null);\n  const { names, resolvedSources } = map;\n  return OMapping(\n    resolvedSources[segment[SOURCES_INDEX]],\n    segment[SOURCE_LINE] + 1,\n    segment[SOURCE_COLUMN],\n    segment.length === 5 ? names[segment[NAMES_INDEX]] : null\n  );\n}\nfunction OMapping(source, line, column, name) {\n  return { source, line, column, name };\n}\nfunction traceSegmentInternal(segments, memo, line, column, bias) {\n  let index = memoizedBinarySearch(segments, column, memo, line);\n  if (found) {\n    index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column, index);\n  } else if (bias === LEAST_UPPER_BOUND) index++;\n  if (index === -1 || index === segments.length) return -1;\n  return index;\n}\n\nconst CHROME_IE_STACK_REGEXP = /^\\s*at .*(?:\\S:\\d+|\\(native\\))/m;\nconst SAFARI_NATIVE_CODE_REGEXP = /^(?:eval@)?(?:\\[native code\\])?$/;\nconst stackIgnorePatterns = [\n\t\"node:internal\",\n\t/\\/packages\\/\\w+\\/dist\\//,\n\t/\\/@vitest\\/\\w+\\/dist\\//,\n\t\"/vitest/dist/\",\n\t\"/vitest/src/\",\n\t\"/node_modules/chai/\",\n\t\"/node_modules/tinyspy/\",\n\t\"/vite/dist/node/module-runner\",\n\t\"/rolldown-vite/dist/node/module-runner\",\n\t\"/deps/chunk-\",\n\t\"/deps/@vitest\",\n\t\"/deps/loupe\",\n\t\"/deps/chai\",\n\t\"/browser-playwright/dist/locators.js\",\n\t\"/browser-webdriverio/dist/locators.js\",\n\t\"/browser-preview/dist/locators.js\",\n\t/node:\\w+/,\n\t/__vitest_test__/,\n\t/__vitest_browser__/,\n\t\"/@id/__x00__vitest/browser\",\n\t/\\/deps\\/vitest_/\n];\nconst NOW_LENGTH = Date.now().toString().length;\nconst REGEXP_VITEST = new RegExp(`vitest=\\\\d{${NOW_LENGTH}}`);\nfunction extractLocation(urlLike) {\n\t// Fail-fast but return locations like \"(native)\"\n\tif (!urlLike.includes(\":\")) {\n\t\treturn [urlLike];\n\t}\n\tconst regExp = /(.+?)(?::(\\d+))?(?::(\\d+))?$/;\n\tconst parts = regExp.exec(urlLike.replace(/^\\(|\\)$/g, \"\"));\n\tif (!parts) {\n\t\treturn [urlLike];\n\t}\n\tlet url = parts[1];\n\tif (url.startsWith(\"async \")) {\n\t\turl = url.slice(6);\n\t}\n\tif (url.startsWith(\"http:\") || url.startsWith(\"https:\")) {\n\t\tconst urlObj = new URL(url);\n\t\turlObj.searchParams.delete(\"import\");\n\t\turlObj.searchParams.delete(\"browserv\");\n\t\turl = urlObj.pathname + urlObj.hash + urlObj.search;\n\t}\n\tif (url.startsWith(\"/@fs/\")) {\n\t\tconst isWindows = /^\\/@fs\\/[a-zA-Z]:\\//.test(url);\n\t\turl = url.slice(isWindows ? 5 : 4);\n\t}\n\tif (url.includes(\"vitest=\")) {\n\t\turl = url.replace(REGEXP_VITEST, \"\").replace(/[?&]$/, \"\");\n\t}\n\treturn [\n\t\turl,\n\t\tparts[2] || undefined,\n\t\tparts[3] || undefined\n\t];\n}\nfunction parseSingleFFOrSafariStack(raw) {\n\tlet line = raw.trim();\n\tif (SAFARI_NATIVE_CODE_REGEXP.test(line)) {\n\t\treturn null;\n\t}\n\tif (line.includes(\" > eval\")) {\n\t\tline = line.replace(/ line (\\d+)(?: > eval line \\d+)* > eval:\\d+:\\d+/g, \":$1\");\n\t}\n\t// Early return for lines that don't look like Firefox/Safari stack traces\n\t// Firefox/Safari stack traces must contain '@' and should have location info after it\n\tif (!line.includes(\"@\")) {\n\t\treturn null;\n\t}\n\t// Find the correct @ that separates function name from location\n\t// For cases like '@https://@fs/path' or 'functionName@https://@fs/path'\n\t// we need to find the first @ that precedes a valid location (containing :)\n\tlet atIndex = -1;\n\tlet locationPart = \"\";\n\tlet functionName;\n\t// Try each @ from left to right to find the one that gives us a valid location\n\tfor (let i = 0; i < line.length; i++) {\n\t\tif (line[i] === \"@\") {\n\t\t\tconst candidateLocation = line.slice(i + 1);\n\t\t\t// Minimum length 3 for valid location: 1 for filename + 1 for colon + 1 for line number (e.g., \"a:1\")\n\t\t\tif (candidateLocation.includes(\":\") && candidateLocation.length >= 3) {\n\t\t\t\tatIndex = i;\n\t\t\t\tlocationPart = candidateLocation;\n\t\t\t\tfunctionName = i > 0 ? line.slice(0, i) : undefined;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\t// Validate we found a valid location with minimum length (filename:line format)\n\tif (atIndex === -1 || !locationPart.includes(\":\") || locationPart.length < 3) {\n\t\treturn null;\n\t}\n\tconst [url, lineNumber, columnNumber] = extractLocation(locationPart);\n\tif (!url || !lineNumber || !columnNumber) {\n\t\treturn null;\n\t}\n\treturn {\n\t\tfile: url,\n\t\tmethod: functionName || \"\",\n\t\tline: Number.parseInt(lineNumber),\n\t\tcolumn: Number.parseInt(columnNumber)\n\t};\n}\nfunction parseSingleStack(raw) {\n\tconst line = raw.trim();\n\tif (!CHROME_IE_STACK_REGEXP.test(line)) {\n\t\treturn parseSingleFFOrSafariStack(line);\n\t}\n\treturn parseSingleV8Stack(line);\n}\n// Based on https://github.com/stacktracejs/error-stack-parser\n// Credit to stacktracejs\nfunction parseSingleV8Stack(raw) {\n\tlet line = raw.trim();\n\tif (!CHROME_IE_STACK_REGEXP.test(line)) {\n\t\treturn null;\n\t}\n\tif (line.includes(\"(eval \")) {\n\t\tline = line.replace(/eval code/g, \"eval\").replace(/(\\(eval at [^()]*)|(,.*$)/g, \"\");\n\t}\n\tlet sanitizedLine = line.replace(/^\\s+/, \"\").replace(/\\(eval code/g, \"(\").replace(/^.*?\\s+/, \"\");\n\t// capture and preserve the parenthesized location \"(/foo/my bar.js:12:87)\" in\n\t// case it has spaces in it, as the string is split on \\s+ later on\n\tconst location = sanitizedLine.match(/ (\\(.+\\)$)/);\n\t// remove the parenthesized location from the line, if it was matched\n\tsanitizedLine = location ? sanitizedLine.replace(location[0], \"\") : sanitizedLine;\n\t// if a location was matched, pass it to extractLocation() otherwise pass all sanitizedLine\n\t// because this line doesn't have function name\n\tconst [url, lineNumber, columnNumber] = extractLocation(location ? location[1] : sanitizedLine);\n\tlet method = location && sanitizedLine || \"\";\n\tlet file = url && [\"eval\", \"<anonymous>\"].includes(url) ? undefined : url;\n\tif (!file || !lineNumber || !columnNumber) {\n\t\treturn null;\n\t}\n\tif (method.startsWith(\"async \")) {\n\t\tmethod = method.slice(6);\n\t}\n\tif (file.startsWith(\"file://\")) {\n\t\tfile = file.slice(7);\n\t}\n\t// normalize Windows path (\\ -> /)\n\tfile = file.startsWith(\"node:\") || file.startsWith(\"internal:\") ? file : resolve(file);\n\tif (method) {\n\t\tmethod = method.replace(/\\(0\\s?,\\s?__vite_ssr_import_\\d+__.(\\w+)\\)/g, \"$1\").replace(/__(vite_ssr_import|vi_import)_\\d+__\\./g, \"\").replace(/(Object\\.)?__vite_ssr_export_default__\\s?/g, \"\");\n\t}\n\treturn {\n\t\tmethod,\n\t\tfile,\n\t\tline: Number.parseInt(lineNumber),\n\t\tcolumn: Number.parseInt(columnNumber)\n\t};\n}\nfunction createStackString(stacks) {\n\treturn stacks.map((stack) => {\n\t\tconst line = `${stack.file}:${stack.line}:${stack.column}`;\n\t\tif (stack.method) {\n\t\t\treturn `    at ${stack.method}(${line})`;\n\t\t}\n\t\treturn `    at ${line}`;\n\t}).join(\"\\n\");\n}\nfunction parseStacktrace(stack, options = {}) {\n\tconst { ignoreStackEntries = stackIgnorePatterns } = options;\n\tlet stacks = !CHROME_IE_STACK_REGEXP.test(stack) ? parseFFOrSafariStackTrace(stack) : parseV8Stacktrace(stack);\n\t// remove vi.defineHelper's internal stacks\n\tconst helperIndex = stacks.findLastIndex((s) => s.method.includes(\"__VITEST_HELPER__\"));\n\tif (helperIndex >= 0) {\n\t\tstacks = stacks.slice(helperIndex + 1);\n\t}\n\treturn stacks.map((stack) => {\n\t\tif (options.getUrlId) {\n\t\t\tstack.file = options.getUrlId(stack.file);\n\t\t}\n\t\tconst map = options.getSourceMap?.(stack.file);\n\t\tif (!map || typeof map !== \"object\" || !map.version) {\n\t\t\treturn shouldFilter(ignoreStackEntries, stack.file) ? null : stack;\n\t\t}\n\t\tconst traceMap = new DecodedMap(map, stack.file);\n\t\tconst position = getOriginalPosition(traceMap, stack);\n\t\tif (!position) {\n\t\t\treturn stack;\n\t\t}\n\t\tconst { line, column, source, name } = position;\n\t\tlet file = source || stack.file;\n\t\tif (file.match(/\\/\\w:\\//)) {\n\t\t\tfile = file.slice(1);\n\t\t}\n\t\tif (shouldFilter(ignoreStackEntries, file)) {\n\t\t\treturn null;\n\t\t}\n\t\tif (line != null && column != null) {\n\t\t\treturn {\n\t\t\t\tline,\n\t\t\t\tcolumn,\n\t\t\t\tfile,\n\t\t\t\tmethod: name || stack.method\n\t\t\t};\n\t\t}\n\t\treturn stack;\n\t}).filter((s) => s != null);\n}\nfunction shouldFilter(ignoreStackEntries, file) {\n\treturn ignoreStackEntries.some((p) => file.match(p));\n}\nfunction parseFFOrSafariStackTrace(stack) {\n\treturn stack.split(\"\\n\").map((line) => parseSingleFFOrSafariStack(line)).filter(notNullish);\n}\nfunction parseV8Stacktrace(stack) {\n\treturn stack.split(\"\\n\").map((line) => parseSingleV8Stack(line)).filter(notNullish);\n}\nfunction parseErrorStacktrace(e, options = {}) {\n\tif (!e || isPrimitive(e)) {\n\t\treturn [];\n\t}\n\tif (\"stacks\" in e && e.stacks) {\n\t\treturn e.stacks;\n\t}\n\tconst stackStr = e.stack || \"\";\n\t// if \"stack\" property was overwritten at runtime to be something else,\n\t// ignore the value because we don't know how to process it\n\tlet stackFrames = typeof stackStr === \"string\" ? parseStacktrace(stackStr, options) : [];\n\tif (!stackFrames.length) {\n\t\tconst e_ = e;\n\t\tif (e_.fileName != null && e_.lineNumber != null && e_.columnNumber != null) {\n\t\t\tstackFrames = parseStacktrace(`${e_.fileName}:${e_.lineNumber}:${e_.columnNumber}`, options);\n\t\t}\n\t\tif (e_.sourceURL != null && e_.line != null && e_._column != null) {\n\t\t\tstackFrames = parseStacktrace(`${e_.sourceURL}:${e_.line}:${e_.column}`, options);\n\t\t}\n\t}\n\tif (options.frameFilter) {\n\t\tstackFrames = stackFrames.filter((f) => options.frameFilter(e, f) !== false);\n\t}\n\te.stacks = stackFrames;\n\treturn stackFrames;\n}\nclass DecodedMap {\n\t_encoded;\n\t_decoded;\n\t_decodedMemo;\n\turl;\n\tversion;\n\tnames = [];\n\tresolvedSources;\n\tconstructor(map, from) {\n\t\tthis.map = map;\n\t\tconst { mappings, names, sources } = map;\n\t\tthis.version = map.version;\n\t\tthis.names = names || [];\n\t\tthis._encoded = mappings || \"\";\n\t\tthis._decodedMemo = memoizedState();\n\t\tthis.url = from;\n\t\tthis.resolvedSources = (sources || []).map((s) => resolve(from, \"..\", s || \"\"));\n\t}\n}\nfunction memoizedState() {\n\treturn {\n\t\tlastKey: -1,\n\t\tlastNeedle: -1,\n\t\tlastIndex: -1\n\t};\n}\nfunction getOriginalPosition(map, needle) {\n\tconst result = originalPositionFor(map, needle);\n\tif (result.column == null) {\n\t\treturn null;\n\t}\n\treturn result;\n}\n\nexport { DecodedMap, createStackString, stackIgnorePatterns as defaultStackIgnorePatterns, getOriginalPosition, parseErrorStacktrace, parseSingleFFOrSafariStack, parseSingleStack, parseSingleV8Stack, parseStacktrace };\n"],"x_google_ignoreList":[0],"mappings":"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"}