snipe/web/node_modules/@volar/source-map/lib/translateOffset.js
pyr0ball 7a704441a6 feat(snipe): Vue 3 frontend scaffold + Docker web service
- web/: Vue 3 + Vite + UnoCSS + Pinia, dark tactical theme (amber/#0d1117)
- AppNav, ListingCard, SearchView with filters/sort, composables
  (useSnipeMode, useKonamiCode, useMotion), Pinia search store
- Steal shimmer, auction countdown, Snipe Mode easter egg all native in Vue
- docker/web/: nginx + multi-stage Dockerfile (node build → nginx serve)
- compose.yml: api (8510) + web (8509) services
- Dockerfile CMD updated to uvicorn for upcoming FastAPI layer
- Clean build: 0 TS errors, 380 modules
2026-03-25 15:11:35 -07:00

57 lines
No EOL
2.1 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.translateOffset = translateOffset;
let warned = false;
function translateOffset(start, fromOffsets, toOffsets, fromLengths, toLengths = fromLengths, preferEnd = false) {
const isSorted = fromOffsets.every((value, index) => index === 0 || fromOffsets[index - 1] <= value);
if (!isSorted) {
for (let i = 0; i < fromOffsets.length; i++) {
const fromOffset = fromOffsets[i];
const fromLength = fromLengths[i];
if (start >= fromOffset && start <= fromOffset + fromLength) {
const toLength = toLengths[i];
const toOffset = toOffsets[i];
let rangeOffset;
const relativePos = start - fromOffset;
if (preferEnd && toLength > fromLength && relativePos === fromLength) {
rangeOffset = toLength;
}
else {
rangeOffset = Math.min(relativePos, toLength);
}
return toOffset + rangeOffset;
}
}
if (!warned) {
warned = true;
console.warn('fromOffsets should be sorted in ascending order');
}
}
let low = 0;
let high = fromOffsets.length - 1;
while (low <= high) {
const mid = Math.floor((low + high) / 2);
const fromOffset = fromOffsets[mid];
const fromLength = fromLengths[mid];
if (start >= fromOffset && start <= fromOffset + fromLength) {
const toLength = toLengths[mid];
const toOffset = toOffsets[mid];
let rangeOffset;
const relativePos = start - fromOffset;
if (preferEnd && toLength > fromLength && relativePos === fromLength) {
rangeOffset = toLength;
}
else {
rangeOffset = Math.min(relativePos, toLength);
}
return toOffset + rangeOffset;
}
else if (start < fromOffset) {
high = mid - 1;
}
else {
low = mid + 1;
}
}
}
//# sourceMappingURL=translateOffset.js.map