@volar/source-map 0.29.6 → 0.30.1
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 +21 -44
- package/out/index.js +21 -69
- package/package.json +3 -3
package/out/index.d.ts
CHANGED
|
@@ -40,19 +40,7 @@ export declare enum Mode {
|
|
|
40
40
|
* 123456 -> abcdef
|
|
41
41
|
* ^^ ^ ^
|
|
42
42
|
*/
|
|
43
|
-
Expand = 2
|
|
44
|
-
/**
|
|
45
|
-
* @case1
|
|
46
|
-
* 123456 -> abcdef
|
|
47
|
-
* ^ ^ ^ ^
|
|
48
|
-
* @case2
|
|
49
|
-
* 123456 -> abcdef
|
|
50
|
-
* ^^ ^ ^
|
|
51
|
-
* @case3
|
|
52
|
-
* 123456 -> abcdef
|
|
53
|
-
* ^^ NOT_MATCH
|
|
54
|
-
*/
|
|
55
|
-
Overlap = 3
|
|
43
|
+
Expand = 2
|
|
56
44
|
}
|
|
57
45
|
export declare type MappingBase = {
|
|
58
46
|
mode: Mode;
|
|
@@ -66,32 +54,26 @@ export declare type Mapping<T> = MappingBase & {
|
|
|
66
54
|
export declare class SourceMapBase<Data = undefined> {
|
|
67
55
|
mappings: Mapping<Data>[];
|
|
68
56
|
constructor(_mappings?: Mapping<Data>[]);
|
|
69
|
-
|
|
70
|
-
getSourceRange(start: number, end?: number, filter?: (data: Data) => boolean): {
|
|
71
|
-
data: Data;
|
|
57
|
+
getSourceRange(start: number, end?: number, filter?: (data: Data) => boolean): [{
|
|
72
58
|
start: number;
|
|
73
59
|
end: number;
|
|
74
|
-
} | undefined;
|
|
75
|
-
getMappedRange(start: number, end?: number, filter?: (data: Data) => boolean): {
|
|
76
|
-
data: Data;
|
|
60
|
+
}, Data] | undefined;
|
|
61
|
+
getMappedRange(start: number, end?: number, filter?: (data: Data) => boolean): [{
|
|
77
62
|
start: number;
|
|
78
63
|
end: number;
|
|
79
|
-
} | undefined;
|
|
80
|
-
getSourceRanges(start: number, end?: number, filter?: (data: Data) => boolean): Generator<{
|
|
81
|
-
data: Data;
|
|
64
|
+
}, Data] | undefined;
|
|
65
|
+
getSourceRanges(start: number, end?: number, filter?: (data: Data) => boolean): Generator<[{
|
|
82
66
|
start: number;
|
|
83
67
|
end: number;
|
|
84
|
-
}, void, unknown>;
|
|
85
|
-
getMappedRanges(start: number, end?: number, filter?: (data: Data) => boolean): Generator<{
|
|
86
|
-
data: Data;
|
|
68
|
+
}, Data], void, unknown>;
|
|
69
|
+
getMappedRanges(start: number, end?: number, filter?: (data: Data) => boolean): Generator<[{
|
|
87
70
|
start: number;
|
|
88
71
|
end: number;
|
|
89
|
-
}, void, unknown>;
|
|
90
|
-
protected getRanges(startOffset: number, endOffset: number, sourceToTarget: boolean, filter?: (data: Data) => boolean): Generator<{
|
|
91
|
-
data: Data;
|
|
72
|
+
}, Data], void, unknown>;
|
|
73
|
+
protected getRanges(startOffset: number, endOffset: number, sourceToTarget: boolean, filter?: (data: Data) => boolean): Generator<[{
|
|
92
74
|
start: number;
|
|
93
75
|
end: number;
|
|
94
|
-
}, void, unknown>;
|
|
76
|
+
}, Data], void, unknown>;
|
|
95
77
|
private getRange;
|
|
96
78
|
}
|
|
97
79
|
export declare class SourceMap<Data = undefined> extends SourceMapBase<Data> {
|
|
@@ -99,29 +81,24 @@ export declare class SourceMap<Data = undefined> extends SourceMapBase<Data> {
|
|
|
99
81
|
mappedDocument: TextDocument;
|
|
100
82
|
_mappings?: Mapping<Data>[] | undefined;
|
|
101
83
|
constructor(sourceDocument: TextDocument, mappedDocument: TextDocument, _mappings?: Mapping<Data>[] | undefined);
|
|
102
|
-
getSourceRange<T extends number | vscode.Position>(start: T, end?: T, filter?: (data: Data) => boolean): {
|
|
103
|
-
data: Data;
|
|
84
|
+
getSourceRange<T extends number | vscode.Position>(start: T, end?: T, filter?: (data: Data) => boolean): [{
|
|
104
85
|
start: T;
|
|
105
86
|
end: T;
|
|
106
|
-
} | undefined;
|
|
107
|
-
getMappedRange<T extends number | vscode.Position>(start: T, end?: T, filter?: (data: Data) => boolean): {
|
|
108
|
-
data: Data;
|
|
87
|
+
}, Data] | undefined;
|
|
88
|
+
getMappedRange<T extends number | vscode.Position>(start: T, end?: T, filter?: (data: Data) => boolean): [{
|
|
109
89
|
start: T;
|
|
110
90
|
end: T;
|
|
111
|
-
} | undefined;
|
|
112
|
-
getSourceRanges<T extends number | vscode.Position>(start: T, end?: T, filter?: (data: Data) => boolean): Generator<{
|
|
113
|
-
data: Data;
|
|
91
|
+
}, Data] | undefined;
|
|
92
|
+
getSourceRanges<T extends number | vscode.Position>(start: T, end?: T, filter?: (data: Data) => boolean): Generator<[{
|
|
114
93
|
start: T;
|
|
115
94
|
end: T;
|
|
116
|
-
}, void, unknown>;
|
|
117
|
-
getMappedRanges<T extends number | vscode.Position>(start: T, end?: T, filter?: (data: Data) => boolean): Generator<{
|
|
118
|
-
data: Data;
|
|
95
|
+
}, Data], void, unknown>;
|
|
96
|
+
getMappedRanges<T extends number | vscode.Position>(start: T, end?: T, filter?: (data: Data) => boolean): Generator<[{
|
|
119
97
|
start: T;
|
|
120
98
|
end: T;
|
|
121
|
-
}, void, unknown>;
|
|
122
|
-
protected getRanges<T extends number | vscode.Position>(start: T, end: T, sourceToTarget: boolean, filter?: (data: Data) => boolean): Generator<{
|
|
123
|
-
data: Data;
|
|
99
|
+
}, Data], void, unknown>;
|
|
100
|
+
protected getRanges<T extends number | vscode.Position>(start: T, end: T, sourceToTarget: boolean, filter?: (data: Data) => boolean): Generator<[{
|
|
124
101
|
start: T;
|
|
125
102
|
end: T;
|
|
126
|
-
}, void, unknown>;
|
|
103
|
+
}, Data], void, unknown>;
|
|
127
104
|
}
|
package/out/index.js
CHANGED
|
@@ -39,22 +39,9 @@ var Mode;
|
|
|
39
39
|
* ^^ ^ ^
|
|
40
40
|
*/
|
|
41
41
|
Mode[Mode["Expand"] = 2] = "Expand";
|
|
42
|
-
/**
|
|
43
|
-
* @case1
|
|
44
|
-
* 123456 -> abcdef
|
|
45
|
-
* ^ ^ ^ ^
|
|
46
|
-
* @case2
|
|
47
|
-
* 123456 -> abcdef
|
|
48
|
-
* ^^ ^ ^
|
|
49
|
-
* @case3
|
|
50
|
-
* 123456 -> abcdef
|
|
51
|
-
* ^^ NOT_MATCH
|
|
52
|
-
*/
|
|
53
|
-
Mode[Mode["Overlap"] = 3] = "Overlap";
|
|
54
42
|
})(Mode = exports.Mode || (exports.Mode = {}));
|
|
55
43
|
class SourceMapBase {
|
|
56
44
|
constructor(_mappings) {
|
|
57
|
-
this.cache = new Map();
|
|
58
45
|
this.mappings = _mappings !== null && _mappings !== void 0 ? _mappings : [];
|
|
59
46
|
}
|
|
60
47
|
getSourceRange(start, end, filter) {
|
|
@@ -74,35 +61,18 @@ class SourceMapBase {
|
|
|
74
61
|
return this.getRanges(start, end !== null && end !== void 0 ? end : start, true, filter);
|
|
75
62
|
}
|
|
76
63
|
*getRanges(startOffset, endOffset, sourceToTarget, filter) {
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
result = {
|
|
81
|
-
index: 0,
|
|
82
|
-
mapeds: [],
|
|
83
|
-
};
|
|
84
|
-
this.cache.set(key, result);
|
|
85
|
-
}
|
|
86
|
-
for (const maped of result.mapeds) {
|
|
87
|
-
if (!filter || filter(maped.data)) {
|
|
88
|
-
yield getMaped(maped);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
while (result.index < this.mappings.length) {
|
|
92
|
-
const mapping = this.mappings[result.index++];
|
|
64
|
+
for (const mapping of this.mappings) {
|
|
65
|
+
if (filter && !filter(mapping.data))
|
|
66
|
+
continue;
|
|
93
67
|
const maped = this.getRange(startOffset, endOffset, sourceToTarget, mapping.mode, mapping.sourceRange, mapping.mappedRange, mapping.data);
|
|
94
68
|
if (maped) {
|
|
95
|
-
|
|
96
|
-
if (!filter || filter(maped.data))
|
|
97
|
-
yield getMaped(maped);
|
|
69
|
+
yield getMaped(maped);
|
|
98
70
|
}
|
|
99
71
|
else if (mapping.additional) {
|
|
100
72
|
for (const other of mapping.additional) {
|
|
101
73
|
const maped = this.getRange(startOffset, endOffset, sourceToTarget, other.mode, other.sourceRange, other.mappedRange, mapping.data);
|
|
102
74
|
if (maped) {
|
|
103
|
-
|
|
104
|
-
if (!filter || filter(maped.data))
|
|
105
|
-
yield getMaped(maped);
|
|
75
|
+
yield getMaped(maped);
|
|
106
76
|
break; // only return first match additional range
|
|
107
77
|
}
|
|
108
78
|
}
|
|
@@ -119,47 +89,30 @@ class SourceMapBase {
|
|
|
119
89
|
if (start === mapedFromRange.start && end === mapedFromRange.end) {
|
|
120
90
|
const _start = mapedToRange.start;
|
|
121
91
|
const _end = mapedToRange.end;
|
|
122
|
-
return {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
};
|
|
92
|
+
return [{
|
|
93
|
+
start: Math.min(_start, _end),
|
|
94
|
+
end: Math.max(_start, _end),
|
|
95
|
+
}, data];
|
|
127
96
|
}
|
|
128
97
|
}
|
|
129
98
|
else if (mode === Mode.Offset) {
|
|
130
99
|
if (start >= mapedFromRange.start && end <= mapedFromRange.end) {
|
|
131
100
|
const _start = mapedToRange.start + start - mapedFromRange.start;
|
|
132
101
|
const _end = mapedToRange.end + end - mapedFromRange.end;
|
|
133
|
-
return {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
};
|
|
102
|
+
return [{
|
|
103
|
+
start: Math.min(_start, _end),
|
|
104
|
+
end: Math.max(_start, _end),
|
|
105
|
+
}, data];
|
|
138
106
|
}
|
|
139
107
|
}
|
|
140
108
|
else if (mode === Mode.Expand) {
|
|
141
109
|
if (start >= mapedFromRange.start && end <= mapedFromRange.end) {
|
|
142
110
|
const _start = mapedToRange.start;
|
|
143
111
|
const _end = mapedToRange.end;
|
|
144
|
-
return {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
else if (mode === Mode.Overlap) {
|
|
152
|
-
if ((start >= mapedFromRange.start && start <= mapedFromRange.end)
|
|
153
|
-
|| (end >= mapedFromRange.start && end <= mapedFromRange.end)
|
|
154
|
-
|| (mapedFromRange.start >= start && mapedFromRange.start <= end)
|
|
155
|
-
|| (mapedFromRange.end >= start && mapedFromRange.end <= end)) {
|
|
156
|
-
const _start = mapedToRange.start;
|
|
157
|
-
const _end = mapedToRange.end;
|
|
158
|
-
return {
|
|
159
|
-
data: data,
|
|
160
|
-
start: Math.min(_start, _end),
|
|
161
|
-
end: Math.max(_start, _end),
|
|
162
|
-
};
|
|
112
|
+
return [{
|
|
113
|
+
start: Math.min(_start, _end),
|
|
114
|
+
end: Math.max(_start, _end),
|
|
115
|
+
}, data];
|
|
163
116
|
}
|
|
164
117
|
}
|
|
165
118
|
}
|
|
@@ -202,11 +155,10 @@ class SourceMap extends SourceMapBase {
|
|
|
202
155
|
if (startIsNumber) {
|
|
203
156
|
return maped;
|
|
204
157
|
}
|
|
205
|
-
return {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
};
|
|
158
|
+
return [{
|
|
159
|
+
start: toDoc.positionAt(maped[0].start),
|
|
160
|
+
end: toDoc.positionAt(maped[0].end),
|
|
161
|
+
}, maped[1]];
|
|
210
162
|
}
|
|
211
163
|
}
|
|
212
164
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@volar/source-map",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.30.1",
|
|
4
4
|
"main": "out/index.js",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"files": [
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"directory": "packages/source-map"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@volar/shared": "0.
|
|
16
|
+
"@volar/shared": "0.30.1"
|
|
17
17
|
},
|
|
18
|
-
"gitHead": "
|
|
18
|
+
"gitHead": "dbc7f8ade904de1883bb135b9bc1741c3ce30b76"
|
|
19
19
|
}
|