Socket
Socket
Sign inDemoInstall

@volar/source-map

Package Overview
Dependencies
Maintainers
0
Versions
391
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@volar/source-map - npm Package Compare versions

Comparing version 2.3.0 to 2.3.1

3

index.d.ts

@@ -1,5 +0,2 @@

export * from 'muggle-string';
export * from './lib/sourceMap';
export * from './lib/translateOffset';
export * from './lib/buildMappings';
export * from './lib/buildStacks';

@@ -17,7 +17,4 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
__exportStar(require("muggle-string"), exports);
__exportStar(require("./lib/sourceMap"), exports);
__exportStar(require("./lib/translateOffset"), exports);
__exportStar(require("./lib/buildMappings"), exports);
__exportStar(require("./lib/buildStacks"), exports);
//# sourceMappingURL=index.js.map

3

lib/binarySearch.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.binarySearch = void 0;
exports.binarySearch = binarySearch;
function binarySearch(values, searchValue) {

@@ -28,3 +28,2 @@ let low = 0;

}
exports.binarySearch = binarySearch;
//# sourceMappingURL=binarySearch.js.map

@@ -1,2 +0,2 @@

export type CodeRangeKey = 'sourceOffsets' | 'generatedOffsets';
type CodeRangeKey = 'sourceOffsets' | 'generatedOffsets';
export interface Mapping<Data = unknown> {

@@ -14,7 +14,11 @@ sourceOffsets: number[];

constructor(mappings: Mapping<Data>[]);
getSourceOffsets(generatedOffset: number): Generator<readonly [number, Mapping<Data>], void, unknown>;
getGeneratedOffsets(sourceOffset: number): Generator<readonly [number, Mapping<Data>], void, unknown>;
findMatching(offset: number, fromRange: CodeRangeKey, toRange: CodeRangeKey): Generator<readonly [number, Mapping<Data>], void, unknown>;
toSourceRange(generatedStart: number, generatedEnd: number, fallbackToAnyMatch: boolean, filter?: (data: Data) => boolean): Generator<[mappedStart: number, mappedEnd: number, startMapping: Mapping<Data>, endMapping: Mapping<Data>], any, unknown>;
toGeneratedRange(sourceStart: number, sourceEnd: number, fallbackToAnyMatch: boolean, filter?: (data: Data) => boolean): Generator<[mappedStart: number, mappedEnd: number, startMapping: Mapping<Data>, endMapping: Mapping<Data>], any, unknown>;
toSourceLocation(generatedOffset: number, filter?: (data: Data) => boolean): Generator<readonly [number, Mapping<Data>], void, unknown>;
toGeneratedLocation(sourceOffset: number, filter?: (data: Data) => boolean): Generator<readonly [number, Mapping<Data>], void, unknown>;
findMatchingOffsets(offset: number, fromRange: CodeRangeKey, filter?: (data: Data) => boolean): Generator<readonly [number, Mapping<Data>], void, unknown>;
findMatchingStartEnd(start: number, end: number, fallbackToAnyMatch: boolean, fromRange: CodeRangeKey, filter?: (data: Data) => boolean): Generator<[mappedStart: number, mappedEnd: number, startMapping: Mapping<Data>, endMapping: Mapping<Data>]>;
private getMemoBasedOnRange;
private createMemo;
}
export {};

@@ -10,9 +10,15 @@ "use strict";

}
getSourceOffsets(generatedOffset) {
return this.findMatching(generatedOffset, 'generatedOffsets', 'sourceOffsets');
toSourceRange(generatedStart, generatedEnd, fallbackToAnyMatch, filter) {
return this.findMatchingStartEnd(generatedStart, generatedEnd, fallbackToAnyMatch, 'generatedOffsets', filter);
}
getGeneratedOffsets(sourceOffset) {
return this.findMatching(sourceOffset, 'sourceOffsets', 'generatedOffsets');
toGeneratedRange(sourceStart, sourceEnd, fallbackToAnyMatch, filter) {
return this.findMatchingStartEnd(sourceStart, sourceEnd, fallbackToAnyMatch, 'sourceOffsets', filter);
}
*findMatching(offset, fromRange, toRange) {
toSourceLocation(generatedOffset, filter) {
return this.findMatchingOffsets(generatedOffset, 'generatedOffsets', filter);
}
toGeneratedLocation(sourceOffset, filter) {
return this.findMatchingOffsets(sourceOffset, 'sourceOffsets', filter);
}
*findMatchingOffsets(offset, fromRange, filter) {
const memo = this.getMemoBasedOnRange(fromRange);

@@ -24,2 +30,3 @@ if (memo.offsets.length === 0) {

const skip = new Set();
const toRange = fromRange == 'sourceOffsets' ? 'generatedOffsets' : 'sourceOffsets';
for (let i = start; i <= end; i++) {

@@ -31,2 +38,5 @@ for (const mapping of memo.mappings[i]) {

skip.add(mapping);
if (filter && !filter(mapping.data)) {
continue;
}
const mapped = (0, translateOffset_1.translateOffset)(offset, mapping[fromRange], mapping[toRange], getLengths(mapping, fromRange), getLengths(mapping, toRange));

@@ -39,2 +49,30 @@ if (mapped !== undefined) {

}
*findMatchingStartEnd(start, end, fallbackToAnyMatch, fromRange, filter) {
const toRange = fromRange == 'sourceOffsets' ? 'generatedOffsets' : 'sourceOffsets';
const mappedStarts = [];
let hadMatch = false;
for (const [mappedStart, mapping] of this.findMatchingOffsets(start, fromRange)) {
if (filter && !filter(mapping.data)) {
continue;
}
mappedStarts.push([mappedStart, mapping]);
const mappedEnd = (0, translateOffset_1.translateOffset)(end, mapping[fromRange], mapping[toRange], getLengths(mapping, fromRange), getLengths(mapping, toRange));
if (mappedEnd !== undefined) {
hadMatch = true;
yield [mappedStart, mappedEnd, mapping, mapping];
}
}
if (!hadMatch && fallbackToAnyMatch) {
for (const [mappedStart, mappingStart] of mappedStarts) {
for (const [mappedEnd, mappingEnd] of this.findMatchingOffsets(end, fromRange)) {
if (filter && !filter(mappingEnd.data) || mappedEnd < mappedStart) {
continue;
}
yield [mappedStart, mappedEnd, mappingStart, mappingEnd];
break;
}
;
}
}
}
getMemoBasedOnRange(fromRange) {

@@ -41,0 +79,0 @@ return fromRange === 'sourceOffsets'

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.translateOffset = void 0;
exports.translateOffset = translateOffset;
function translateOffset(start, fromOffsets, toOffsets, fromLengths, toLengths = fromLengths) {
for (let i = 0; i < fromOffsets.length; i++) {
const fromOffset = fromOffsets[i];
const fromLength = fromLengths[i];
const isSorted = fromOffsets.every((value, index) => index === 0 || fromOffsets[index - 1] <= value);
if (!isSorted) {
throw new Error('fromOffsets must 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[i];
const toOffset = toOffsets[i];
const toLength = toLengths[mid];
const toOffset = toOffsets[mid];
let rangeOffset = Math.min(start - fromOffset, toLength);
return toOffset + rangeOffset;
}
else if (start < fromOffset) {
high = mid - 1;
}
else {
low = mid + 1;
}
}
}
exports.translateOffset = translateOffset;
//# sourceMappingURL=translateOffset.js.map
{
"name": "@volar/source-map",
"version": "2.3.0",
"version": "2.3.1",
"license": "MIT",

@@ -14,6 +14,3 @@ "files": [

},
"dependencies": {
"muggle-string": "^0.4.0"
},
"gitHead": "4f6488605e22e0f76ea877460848a443fd3e8762"
"gitHead": "51742317a2950abd97e1a1a266b2c137bede4ad3"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc