@volar/source-map 1.0.13 → 1.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/out/index.d.ts CHANGED
@@ -11,12 +11,12 @@ export declare class SourceMapBase<Data = undefined> {
11
11
  private _memo;
12
12
  private get memo();
13
13
  constructor(mappings: Mapping<Data>[]);
14
- toSourceOffset(start: number): readonly [number, Mapping<Data>] | undefined;
15
- toGeneratedOffset(start: number): readonly [number, Mapping<Data>] | undefined;
16
- toSourceOffsets(start: number): Generator<readonly [number, Mapping<Data>], void, unknown>;
17
- toGeneratedOffsets(start: number): Generator<readonly [number, Mapping<Data>], void, unknown>;
18
- matcing(startOffset: number, from: 'sourceRange' | 'generatedRange', to: 'sourceRange' | 'generatedRange'): Generator<readonly [number, Mapping<Data>], void, unknown>;
19
- matchOffset(start: number, mappedFromRange: [number, number], mappedToRange: [number, number]): number | undefined;
14
+ toSourceOffset(start: number, baseOnRight?: boolean): readonly [number, Mapping<Data>] | undefined;
15
+ toGeneratedOffset(start: number, baseOnRight?: boolean): readonly [number, Mapping<Data>] | undefined;
16
+ toSourceOffsets(start: number, baseOnRight?: boolean): Generator<readonly [number, Mapping<Data>], void, unknown>;
17
+ toGeneratedOffsets(start: number, baseOnRight?: boolean): Generator<readonly [number, Mapping<Data>], void, unknown>;
18
+ matcing(startOffset: number, from: 'sourceRange' | 'generatedRange', to: 'sourceRange' | 'generatedRange', baseOnRight: boolean): Generator<readonly [number, Mapping<Data>], void, unknown>;
19
+ matchOffset(start: number, mappedFromRange: [number, number], mappedToRange: [number, number], baseOnRight: boolean): number | undefined;
20
20
  private binarySearchMemo;
21
21
  }
22
22
  export declare function buildMappings<T>(chunks: SegmentWithoutData[] | SegmentWithData<T>[]): Mapping<T>[];
package/out/index.js CHANGED
@@ -63,23 +63,23 @@ class SourceMapBase {
63
63
  constructor(mappings) {
64
64
  this.mappings = mappings;
65
65
  }
66
- toSourceOffset(start) {
67
- for (const mapped of this.matcing(start, 'generatedRange', 'sourceRange')) {
66
+ toSourceOffset(start, baseOnRight = false) {
67
+ for (const mapped of this.matcing(start, 'generatedRange', 'sourceRange', baseOnRight)) {
68
68
  return mapped;
69
69
  }
70
70
  }
71
- toGeneratedOffset(start) {
72
- for (const mapped of this.matcing(start, 'sourceRange', 'generatedRange')) {
71
+ toGeneratedOffset(start, baseOnRight = false) {
72
+ for (const mapped of this.matcing(start, 'sourceRange', 'generatedRange', baseOnRight)) {
73
73
  return mapped;
74
74
  }
75
75
  }
76
- toSourceOffsets(start) {
77
- return this.matcing(start, 'generatedRange', 'sourceRange');
76
+ toSourceOffsets(start, baseOnRight = false) {
77
+ return this.matcing(start, 'generatedRange', 'sourceRange', baseOnRight);
78
78
  }
79
- toGeneratedOffsets(start) {
80
- return this.matcing(start, 'sourceRange', 'generatedRange');
79
+ toGeneratedOffsets(start, baseOnRight = false) {
80
+ return this.matcing(start, 'sourceRange', 'generatedRange', baseOnRight);
81
81
  }
82
- *matcing(startOffset, from, to) {
82
+ *matcing(startOffset, from, to, baseOnRight) {
83
83
  const memo = this.memo[from];
84
84
  if (memo.length === 0)
85
85
  return;
@@ -91,16 +91,20 @@ class SourceMapBase {
91
91
  continue;
92
92
  }
93
93
  skip.add(mapping);
94
- const mapped = this.matchOffset(startOffset, mapping[from], mapping[to]);
95
- if (mapped) {
94
+ const mapped = this.matchOffset(startOffset, mapping[from], mapping[to], baseOnRight);
95
+ if (mapped !== undefined) {
96
96
  yield [mapped, mapping];
97
97
  }
98
98
  }
99
99
  }
100
100
  }
101
- matchOffset(start, mappedFromRange, mappedToRange) {
101
+ matchOffset(start, mappedFromRange, mappedToRange, baseOnRight) {
102
102
  if (start >= mappedFromRange[0] && start <= mappedFromRange[1]) {
103
- return mappedToRange[0] + start - mappedFromRange[0];
103
+ let offset = mappedToRange[0] + start - mappedFromRange[0];
104
+ if (baseOnRight) {
105
+ offset += (mappedToRange[1] - mappedToRange[0]) - (mappedFromRange[1] - mappedFromRange[0]);
106
+ }
107
+ return offset;
104
108
  }
105
109
  }
106
110
  binarySearchMemo(array, start) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volar/source-map",
3
- "version": "1.0.13",
3
+ "version": "1.0.16",
4
4
  "main": "out/index.js",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -15,5 +15,5 @@
15
15
  "dependencies": {
16
16
  "muggle-string": "^0.1.0"
17
17
  },
18
- "gitHead": "cba2eba187b2d82e1d45dd86b3edeab0ca7caad6"
18
+ "gitHead": "af476047d8859652254ed36f8aee184f1972a97a"
19
19
  }