@alanszp/eventbridge-client 12.0.2 → 13.0.0
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/package.json +4 -7
- package/.gitignore +0 -3
- package/.npmignore +0 -3
- package/node_modules/@cspotcode/source-map-support/LICENSE.md +0 -21
- package/node_modules/@cspotcode/source-map-support/README.md +0 -289
- package/node_modules/@cspotcode/source-map-support/browser-source-map-support.js +0 -114
- package/node_modules/@cspotcode/source-map-support/package.json +0 -50
- package/node_modules/@cspotcode/source-map-support/register-hook-require.d.ts +0 -7
- package/node_modules/@cspotcode/source-map-support/register-hook-require.js +0 -3
- package/node_modules/@cspotcode/source-map-support/register.d.ts +0 -7
- package/node_modules/@cspotcode/source-map-support/register.js +0 -1
- package/node_modules/@cspotcode/source-map-support/source-map-support.d.ts +0 -76
- package/node_modules/@cspotcode/source-map-support/source-map-support.js +0 -938
- package/node_modules/@jridgewell/trace-mapping/LICENSE +0 -19
- package/node_modules/@jridgewell/trace-mapping/README.md +0 -193
- package/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs +0 -514
- package/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs.map +0 -1
- package/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js +0 -528
- package/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js.map +0 -1
- package/node_modules/@jridgewell/trace-mapping/dist/types/any-map.d.ts +0 -8
- package/node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts +0 -32
- package/node_modules/@jridgewell/trace-mapping/dist/types/by-source.d.ts +0 -7
- package/node_modules/@jridgewell/trace-mapping/dist/types/resolve.d.ts +0 -1
- package/node_modules/@jridgewell/trace-mapping/dist/types/sort.d.ts +0 -2
- package/node_modules/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts +0 -16
- package/node_modules/@jridgewell/trace-mapping/dist/types/strip-filename.d.ts +0 -4
- package/node_modules/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts +0 -70
- package/node_modules/@jridgewell/trace-mapping/dist/types/types.d.ts +0 -85
- package/node_modules/@jridgewell/trace-mapping/package.json +0 -70
- package/node_modules/@types/node/LICENSE +0 -21
- package/node_modules/@types/node/README.md +0 -15
- package/node_modules/@types/node/assert/strict.d.ts +0 -8
- package/node_modules/@types/node/assert.d.ts +0 -996
- package/node_modules/@types/node/async_hooks.d.ts +0 -539
- package/node_modules/@types/node/buffer.d.ts +0 -2362
- package/node_modules/@types/node/child_process.d.ts +0 -1540
- package/node_modules/@types/node/cluster.d.ts +0 -432
- package/node_modules/@types/node/console.d.ts +0 -415
- package/node_modules/@types/node/constants.d.ts +0 -19
- package/node_modules/@types/node/crypto.d.ts +0 -4487
- package/node_modules/@types/node/dgram.d.ts +0 -596
- package/node_modules/@types/node/diagnostics_channel.d.ts +0 -545
- package/node_modules/@types/node/dns/promises.d.ts +0 -425
- package/node_modules/@types/node/dns.d.ts +0 -809
- package/node_modules/@types/node/dom-events.d.ts +0 -122
- package/node_modules/@types/node/domain.d.ts +0 -170
- package/node_modules/@types/node/events.d.ts +0 -879
- package/node_modules/@types/node/fs/promises.d.ts +0 -1239
- package/node_modules/@types/node/fs.d.ts +0 -4311
- package/node_modules/@types/node/globals.d.ts +0 -411
- package/node_modules/@types/node/globals.global.d.ts +0 -1
- package/node_modules/@types/node/http.d.ts +0 -1887
- package/node_modules/@types/node/http2.d.ts +0 -2382
- package/node_modules/@types/node/https.d.ts +0 -550
- package/node_modules/@types/node/index.d.ts +0 -88
- package/node_modules/@types/node/inspector.d.ts +0 -2747
- package/node_modules/@types/node/module.d.ts +0 -315
- package/node_modules/@types/node/net.d.ts +0 -949
- package/node_modules/@types/node/os.d.ts +0 -478
- package/node_modules/@types/node/package.json +0 -229
- package/node_modules/@types/node/path.d.ts +0 -191
- package/node_modules/@types/node/perf_hooks.d.ts +0 -645
- package/node_modules/@types/node/process.d.ts +0 -1561
- package/node_modules/@types/node/punycode.d.ts +0 -117
- package/node_modules/@types/node/querystring.d.ts +0 -141
- package/node_modules/@types/node/readline/promises.d.ts +0 -150
- package/node_modules/@types/node/readline.d.ts +0 -539
- package/node_modules/@types/node/repl.d.ts +0 -430
- package/node_modules/@types/node/stream/consumers.d.ts +0 -12
- package/node_modules/@types/node/stream/promises.d.ts +0 -83
- package/node_modules/@types/node/stream/web.d.ts +0 -366
- package/node_modules/@types/node/stream.d.ts +0 -1701
- package/node_modules/@types/node/string_decoder.d.ts +0 -67
- package/node_modules/@types/node/test.d.ts +0 -1465
- package/node_modules/@types/node/timers/promises.d.ts +0 -93
- package/node_modules/@types/node/timers.d.ts +0 -240
- package/node_modules/@types/node/tls.d.ts +0 -1210
- package/node_modules/@types/node/trace_events.d.ts +0 -182
- package/node_modules/@types/node/ts4.8/assert/strict.d.ts +0 -8
- package/node_modules/@types/node/ts4.8/assert.d.ts +0 -996
- package/node_modules/@types/node/ts4.8/async_hooks.d.ts +0 -539
- package/node_modules/@types/node/ts4.8/buffer.d.ts +0 -2362
- package/node_modules/@types/node/ts4.8/child_process.d.ts +0 -1540
- package/node_modules/@types/node/ts4.8/cluster.d.ts +0 -432
- package/node_modules/@types/node/ts4.8/console.d.ts +0 -415
- package/node_modules/@types/node/ts4.8/constants.d.ts +0 -19
- package/node_modules/@types/node/ts4.8/crypto.d.ts +0 -4487
- package/node_modules/@types/node/ts4.8/dgram.d.ts +0 -596
- package/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +0 -545
- package/node_modules/@types/node/ts4.8/dns/promises.d.ts +0 -425
- package/node_modules/@types/node/ts4.8/dns.d.ts +0 -809
- package/node_modules/@types/node/ts4.8/dom-events.d.ts +0 -122
- package/node_modules/@types/node/ts4.8/domain.d.ts +0 -170
- package/node_modules/@types/node/ts4.8/events.d.ts +0 -879
- package/node_modules/@types/node/ts4.8/fs/promises.d.ts +0 -1239
- package/node_modules/@types/node/ts4.8/fs.d.ts +0 -4311
- package/node_modules/@types/node/ts4.8/globals.d.ts +0 -411
- package/node_modules/@types/node/ts4.8/globals.global.d.ts +0 -1
- package/node_modules/@types/node/ts4.8/http.d.ts +0 -1887
- package/node_modules/@types/node/ts4.8/http2.d.ts +0 -2382
- package/node_modules/@types/node/ts4.8/https.d.ts +0 -550
- package/node_modules/@types/node/ts4.8/index.d.ts +0 -88
- package/node_modules/@types/node/ts4.8/inspector.d.ts +0 -2747
- package/node_modules/@types/node/ts4.8/module.d.ts +0 -315
- package/node_modules/@types/node/ts4.8/net.d.ts +0 -949
- package/node_modules/@types/node/ts4.8/os.d.ts +0 -478
- package/node_modules/@types/node/ts4.8/path.d.ts +0 -191
- package/node_modules/@types/node/ts4.8/perf_hooks.d.ts +0 -645
- package/node_modules/@types/node/ts4.8/process.d.ts +0 -1561
- package/node_modules/@types/node/ts4.8/punycode.d.ts +0 -117
- package/node_modules/@types/node/ts4.8/querystring.d.ts +0 -141
- package/node_modules/@types/node/ts4.8/readline/promises.d.ts +0 -150
- package/node_modules/@types/node/ts4.8/readline.d.ts +0 -539
- package/node_modules/@types/node/ts4.8/repl.d.ts +0 -430
- package/node_modules/@types/node/ts4.8/stream/consumers.d.ts +0 -12
- package/node_modules/@types/node/ts4.8/stream/promises.d.ts +0 -83
- package/node_modules/@types/node/ts4.8/stream/web.d.ts +0 -366
- package/node_modules/@types/node/ts4.8/stream.d.ts +0 -1701
- package/node_modules/@types/node/ts4.8/string_decoder.d.ts +0 -67
- package/node_modules/@types/node/ts4.8/test.d.ts +0 -1465
- package/node_modules/@types/node/ts4.8/timers/promises.d.ts +0 -93
- package/node_modules/@types/node/ts4.8/timers.d.ts +0 -240
- package/node_modules/@types/node/ts4.8/tls.d.ts +0 -1210
- package/node_modules/@types/node/ts4.8/trace_events.d.ts +0 -182
- package/node_modules/@types/node/ts4.8/tty.d.ts +0 -208
- package/node_modules/@types/node/ts4.8/url.d.ts +0 -927
- package/node_modules/@types/node/ts4.8/util.d.ts +0 -2183
- package/node_modules/@types/node/ts4.8/v8.d.ts +0 -764
- package/node_modules/@types/node/ts4.8/vm.d.ts +0 -903
- package/node_modules/@types/node/ts4.8/wasi.d.ts +0 -179
- package/node_modules/@types/node/ts4.8/worker_threads.d.ts +0 -691
- package/node_modules/@types/node/ts4.8/zlib.d.ts +0 -517
- package/node_modules/@types/node/tty.d.ts +0 -208
- package/node_modules/@types/node/url.d.ts +0 -927
- package/node_modules/@types/node/util.d.ts +0 -2183
- package/node_modules/@types/node/v8.d.ts +0 -764
- package/node_modules/@types/node/vm.d.ts +0 -903
- package/node_modules/@types/node/wasi.d.ts +0 -179
- package/node_modules/@types/node/worker_threads.d.ts +0 -691
- package/node_modules/@types/node/zlib.d.ts +0 -517
- package/src/aws/awsEventbridgeClient.ts +0 -4
- package/src/aws/awsTypes.ts +0 -10
- package/src/aws/index.ts +0 -2
- package/src/basicEventbridgeClient.test.ts +0 -149
- package/src/basicEventbridgeClient.ts +0 -160
- package/src/helpers/mapLaraEventToAWSEvent.ts +0 -37
- package/src/index.ts +0 -3
- package/src/mockEventbridgeClient.ts +0 -11
- package/src/mocks/fixtures/eventbridgeFixture.ts +0 -41
- package/src/types/UpdatedEvent.ts +0 -39
- package/src/types/index.ts +0 -1
|
@@ -1,514 +0,0 @@
|
|
|
1
|
-
import { encode, decode } from '@jridgewell/sourcemap-codec';
|
|
2
|
-
import resolveUri from '@jridgewell/resolve-uri';
|
|
3
|
-
|
|
4
|
-
function resolve(input, base) {
|
|
5
|
-
// The base is always treated as a directory, if it's not empty.
|
|
6
|
-
// https://github.com/mozilla/source-map/blob/8cb3ee57/lib/util.js#L327
|
|
7
|
-
// https://github.com/chromium/chromium/blob/da4adbb3/third_party/blink/renderer/devtools/front_end/sdk/SourceMap.js#L400-L401
|
|
8
|
-
if (base && !base.endsWith('/'))
|
|
9
|
-
base += '/';
|
|
10
|
-
return resolveUri(input, base);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Removes everything after the last "/", but leaves the slash.
|
|
15
|
-
*/
|
|
16
|
-
function stripFilename(path) {
|
|
17
|
-
if (!path)
|
|
18
|
-
return '';
|
|
19
|
-
const index = path.lastIndexOf('/');
|
|
20
|
-
return path.slice(0, index + 1);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
const COLUMN = 0;
|
|
24
|
-
const SOURCES_INDEX = 1;
|
|
25
|
-
const SOURCE_LINE = 2;
|
|
26
|
-
const SOURCE_COLUMN = 3;
|
|
27
|
-
const NAMES_INDEX = 4;
|
|
28
|
-
const REV_GENERATED_LINE = 1;
|
|
29
|
-
const REV_GENERATED_COLUMN = 2;
|
|
30
|
-
|
|
31
|
-
function maybeSort(mappings, owned) {
|
|
32
|
-
const unsortedIndex = nextUnsortedSegmentLine(mappings, 0);
|
|
33
|
-
if (unsortedIndex === mappings.length)
|
|
34
|
-
return mappings;
|
|
35
|
-
// If we own the array (meaning we parsed it from JSON), then we're free to directly mutate it. If
|
|
36
|
-
// not, we do not want to modify the consumer's input array.
|
|
37
|
-
if (!owned)
|
|
38
|
-
mappings = mappings.slice();
|
|
39
|
-
for (let i = unsortedIndex; i < mappings.length; i = nextUnsortedSegmentLine(mappings, i + 1)) {
|
|
40
|
-
mappings[i] = sortSegments(mappings[i], owned);
|
|
41
|
-
}
|
|
42
|
-
return mappings;
|
|
43
|
-
}
|
|
44
|
-
function nextUnsortedSegmentLine(mappings, start) {
|
|
45
|
-
for (let i = start; i < mappings.length; i++) {
|
|
46
|
-
if (!isSorted(mappings[i]))
|
|
47
|
-
return i;
|
|
48
|
-
}
|
|
49
|
-
return mappings.length;
|
|
50
|
-
}
|
|
51
|
-
function isSorted(line) {
|
|
52
|
-
for (let j = 1; j < line.length; j++) {
|
|
53
|
-
if (line[j][COLUMN] < line[j - 1][COLUMN]) {
|
|
54
|
-
return false;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return true;
|
|
58
|
-
}
|
|
59
|
-
function sortSegments(line, owned) {
|
|
60
|
-
if (!owned)
|
|
61
|
-
line = line.slice();
|
|
62
|
-
return line.sort(sortComparator);
|
|
63
|
-
}
|
|
64
|
-
function sortComparator(a, b) {
|
|
65
|
-
return a[COLUMN] - b[COLUMN];
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
let found = false;
|
|
69
|
-
/**
|
|
70
|
-
* A binary search implementation that returns the index if a match is found.
|
|
71
|
-
* If no match is found, then the left-index (the index associated with the item that comes just
|
|
72
|
-
* before the desired index) is returned. To maintain proper sort order, a splice would happen at
|
|
73
|
-
* the next index:
|
|
74
|
-
*
|
|
75
|
-
* ```js
|
|
76
|
-
* const array = [1, 3];
|
|
77
|
-
* const needle = 2;
|
|
78
|
-
* const index = binarySearch(array, needle, (item, needle) => item - needle);
|
|
79
|
-
*
|
|
80
|
-
* assert.equal(index, 0);
|
|
81
|
-
* array.splice(index + 1, 0, needle);
|
|
82
|
-
* assert.deepEqual(array, [1, 2, 3]);
|
|
83
|
-
* ```
|
|
84
|
-
*/
|
|
85
|
-
function binarySearch(haystack, needle, low, high) {
|
|
86
|
-
while (low <= high) {
|
|
87
|
-
const mid = low + ((high - low) >> 1);
|
|
88
|
-
const cmp = haystack[mid][COLUMN] - needle;
|
|
89
|
-
if (cmp === 0) {
|
|
90
|
-
found = true;
|
|
91
|
-
return mid;
|
|
92
|
-
}
|
|
93
|
-
if (cmp < 0) {
|
|
94
|
-
low = mid + 1;
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
high = mid - 1;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
found = false;
|
|
101
|
-
return low - 1;
|
|
102
|
-
}
|
|
103
|
-
function upperBound(haystack, needle, index) {
|
|
104
|
-
for (let i = index + 1; i < haystack.length; i++, index++) {
|
|
105
|
-
if (haystack[i][COLUMN] !== needle)
|
|
106
|
-
break;
|
|
107
|
-
}
|
|
108
|
-
return index;
|
|
109
|
-
}
|
|
110
|
-
function lowerBound(haystack, needle, index) {
|
|
111
|
-
for (let i = index - 1; i >= 0; i--, index--) {
|
|
112
|
-
if (haystack[i][COLUMN] !== needle)
|
|
113
|
-
break;
|
|
114
|
-
}
|
|
115
|
-
return index;
|
|
116
|
-
}
|
|
117
|
-
function memoizedState() {
|
|
118
|
-
return {
|
|
119
|
-
lastKey: -1,
|
|
120
|
-
lastNeedle: -1,
|
|
121
|
-
lastIndex: -1,
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* This overly complicated beast is just to record the last tested line/column and the resulting
|
|
126
|
-
* index, allowing us to skip a few tests if mappings are monotonically increasing.
|
|
127
|
-
*/
|
|
128
|
-
function memoizedBinarySearch(haystack, needle, state, key) {
|
|
129
|
-
const { lastKey, lastNeedle, lastIndex } = state;
|
|
130
|
-
let low = 0;
|
|
131
|
-
let high = haystack.length - 1;
|
|
132
|
-
if (key === lastKey) {
|
|
133
|
-
if (needle === lastNeedle) {
|
|
134
|
-
found = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle;
|
|
135
|
-
return lastIndex;
|
|
136
|
-
}
|
|
137
|
-
if (needle >= lastNeedle) {
|
|
138
|
-
// lastIndex may be -1 if the previous needle was not found.
|
|
139
|
-
low = lastIndex === -1 ? 0 : lastIndex;
|
|
140
|
-
}
|
|
141
|
-
else {
|
|
142
|
-
high = lastIndex;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
state.lastKey = key;
|
|
146
|
-
state.lastNeedle = needle;
|
|
147
|
-
return (state.lastIndex = binarySearch(haystack, needle, low, high));
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
// Rebuilds the original source files, with mappings that are ordered by source line/column instead
|
|
151
|
-
// of generated line/column.
|
|
152
|
-
function buildBySources(decoded, memos) {
|
|
153
|
-
const sources = memos.map(buildNullArray);
|
|
154
|
-
for (let i = 0; i < decoded.length; i++) {
|
|
155
|
-
const line = decoded[i];
|
|
156
|
-
for (let j = 0; j < line.length; j++) {
|
|
157
|
-
const seg = line[j];
|
|
158
|
-
if (seg.length === 1)
|
|
159
|
-
continue;
|
|
160
|
-
const sourceIndex = seg[SOURCES_INDEX];
|
|
161
|
-
const sourceLine = seg[SOURCE_LINE];
|
|
162
|
-
const sourceColumn = seg[SOURCE_COLUMN];
|
|
163
|
-
const originalSource = sources[sourceIndex];
|
|
164
|
-
const originalLine = (originalSource[sourceLine] || (originalSource[sourceLine] = []));
|
|
165
|
-
const memo = memos[sourceIndex];
|
|
166
|
-
// The binary search either found a match, or it found the left-index just before where the
|
|
167
|
-
// segment should go. Either way, we want to insert after that. And there may be multiple
|
|
168
|
-
// generated segments associated with an original location, so there may need to move several
|
|
169
|
-
// indexes before we find where we need to insert.
|
|
170
|
-
const index = upperBound(originalLine, sourceColumn, memoizedBinarySearch(originalLine, sourceColumn, memo, sourceLine));
|
|
171
|
-
insert(originalLine, (memo.lastIndex = index + 1), [sourceColumn, i, seg[COLUMN]]);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
return sources;
|
|
175
|
-
}
|
|
176
|
-
function insert(array, index, value) {
|
|
177
|
-
for (let i = array.length; i > index; i--) {
|
|
178
|
-
array[i] = array[i - 1];
|
|
179
|
-
}
|
|
180
|
-
array[index] = value;
|
|
181
|
-
}
|
|
182
|
-
// Null arrays allow us to use ordered index keys without actually allocating contiguous memory like
|
|
183
|
-
// a real array. We use a null-prototype object to avoid prototype pollution and deoptimizations.
|
|
184
|
-
// Numeric properties on objects are magically sorted in ascending order by the engine regardless of
|
|
185
|
-
// the insertion order. So, by setting any numeric keys, even out of order, we'll get ascending
|
|
186
|
-
// order when iterating with for-in.
|
|
187
|
-
function buildNullArray() {
|
|
188
|
-
return { __proto__: null };
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
const AnyMap = function (map, mapUrl) {
|
|
192
|
-
const parsed = typeof map === 'string' ? JSON.parse(map) : map;
|
|
193
|
-
if (!('sections' in parsed))
|
|
194
|
-
return new TraceMap(parsed, mapUrl);
|
|
195
|
-
const mappings = [];
|
|
196
|
-
const sources = [];
|
|
197
|
-
const sourcesContent = [];
|
|
198
|
-
const names = [];
|
|
199
|
-
const { sections } = parsed;
|
|
200
|
-
let i = 0;
|
|
201
|
-
for (; i < sections.length - 1; i++) {
|
|
202
|
-
const no = sections[i + 1].offset;
|
|
203
|
-
addSection(sections[i], mapUrl, mappings, sources, sourcesContent, names, no.line, no.column);
|
|
204
|
-
}
|
|
205
|
-
if (sections.length > 0) {
|
|
206
|
-
addSection(sections[i], mapUrl, mappings, sources, sourcesContent, names, Infinity, Infinity);
|
|
207
|
-
}
|
|
208
|
-
const joined = {
|
|
209
|
-
version: 3,
|
|
210
|
-
file: parsed.file,
|
|
211
|
-
names,
|
|
212
|
-
sources,
|
|
213
|
-
sourcesContent,
|
|
214
|
-
mappings,
|
|
215
|
-
};
|
|
216
|
-
return presortedDecodedMap(joined);
|
|
217
|
-
};
|
|
218
|
-
function addSection(section, mapUrl, mappings, sources, sourcesContent, names, stopLine, stopColumn) {
|
|
219
|
-
const map = AnyMap(section.map, mapUrl);
|
|
220
|
-
const { line: lineOffset, column: columnOffset } = section.offset;
|
|
221
|
-
const sourcesOffset = sources.length;
|
|
222
|
-
const namesOffset = names.length;
|
|
223
|
-
const decoded = decodedMappings(map);
|
|
224
|
-
const { resolvedSources } = map;
|
|
225
|
-
append(sources, resolvedSources);
|
|
226
|
-
append(sourcesContent, map.sourcesContent || fillSourcesContent(resolvedSources.length));
|
|
227
|
-
append(names, map.names);
|
|
228
|
-
// If this section jumps forwards several lines, we need to add lines to the output mappings catch up.
|
|
229
|
-
for (let i = mappings.length; i <= lineOffset; i++)
|
|
230
|
-
mappings.push([]);
|
|
231
|
-
// We can only add so many lines before we step into the range that the next section's map
|
|
232
|
-
// controls. When we get to the last line, then we'll start checking the segments to see if
|
|
233
|
-
// they've crossed into the column range.
|
|
234
|
-
const stopI = stopLine - lineOffset;
|
|
235
|
-
const len = Math.min(decoded.length, stopI + 1);
|
|
236
|
-
for (let i = 0; i < len; i++) {
|
|
237
|
-
const line = decoded[i];
|
|
238
|
-
// On the 0th loop, the line will already exist due to a previous section, or the line catch up
|
|
239
|
-
// loop above.
|
|
240
|
-
const out = i === 0 ? mappings[lineOffset] : (mappings[lineOffset + i] = []);
|
|
241
|
-
// On the 0th loop, the section's column offset shifts us forward. On all other lines (since the
|
|
242
|
-
// map can be multiple lines), it doesn't.
|
|
243
|
-
const cOffset = i === 0 ? columnOffset : 0;
|
|
244
|
-
for (let j = 0; j < line.length; j++) {
|
|
245
|
-
const seg = line[j];
|
|
246
|
-
const column = cOffset + seg[COLUMN];
|
|
247
|
-
// If this segment steps into the column range that the next section's map controls, we need
|
|
248
|
-
// to stop early.
|
|
249
|
-
if (i === stopI && column >= stopColumn)
|
|
250
|
-
break;
|
|
251
|
-
if (seg.length === 1) {
|
|
252
|
-
out.push([column]);
|
|
253
|
-
continue;
|
|
254
|
-
}
|
|
255
|
-
const sourcesIndex = sourcesOffset + seg[SOURCES_INDEX];
|
|
256
|
-
const sourceLine = seg[SOURCE_LINE];
|
|
257
|
-
const sourceColumn = seg[SOURCE_COLUMN];
|
|
258
|
-
if (seg.length === 4) {
|
|
259
|
-
out.push([column, sourcesIndex, sourceLine, sourceColumn]);
|
|
260
|
-
continue;
|
|
261
|
-
}
|
|
262
|
-
out.push([column, sourcesIndex, sourceLine, sourceColumn, namesOffset + seg[NAMES_INDEX]]);
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
function append(arr, other) {
|
|
267
|
-
for (let i = 0; i < other.length; i++)
|
|
268
|
-
arr.push(other[i]);
|
|
269
|
-
}
|
|
270
|
-
// Sourcemaps don't need to have sourcesContent, and if they don't, we need to create an array of
|
|
271
|
-
// equal length to the sources. This is because the sources and sourcesContent are paired arrays,
|
|
272
|
-
// where `sourcesContent[i]` is the content of the `sources[i]` file. If we didn't, then joined
|
|
273
|
-
// sourcemap would desynchronize the sources/contents.
|
|
274
|
-
function fillSourcesContent(len) {
|
|
275
|
-
const sourcesContent = [];
|
|
276
|
-
for (let i = 0; i < len; i++)
|
|
277
|
-
sourcesContent[i] = null;
|
|
278
|
-
return sourcesContent;
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
const INVALID_ORIGINAL_MAPPING = Object.freeze({
|
|
282
|
-
source: null,
|
|
283
|
-
line: null,
|
|
284
|
-
column: null,
|
|
285
|
-
name: null,
|
|
286
|
-
});
|
|
287
|
-
const INVALID_GENERATED_MAPPING = Object.freeze({
|
|
288
|
-
line: null,
|
|
289
|
-
column: null,
|
|
290
|
-
});
|
|
291
|
-
const LINE_GTR_ZERO = '`line` must be greater than 0 (lines start at line 1)';
|
|
292
|
-
const COL_GTR_EQ_ZERO = '`column` must be greater than or equal to 0 (columns start at column 0)';
|
|
293
|
-
const LEAST_UPPER_BOUND = -1;
|
|
294
|
-
const GREATEST_LOWER_BOUND = 1;
|
|
295
|
-
/**
|
|
296
|
-
* Returns the encoded (VLQ string) form of the SourceMap's mappings field.
|
|
297
|
-
*/
|
|
298
|
-
let encodedMappings;
|
|
299
|
-
/**
|
|
300
|
-
* Returns the decoded (array of lines of segments) form of the SourceMap's mappings field.
|
|
301
|
-
*/
|
|
302
|
-
let decodedMappings;
|
|
303
|
-
/**
|
|
304
|
-
* A low-level API to find the segment associated with a generated line/column (think, from a
|
|
305
|
-
* stack trace). Line and column here are 0-based, unlike `originalPositionFor`.
|
|
306
|
-
*/
|
|
307
|
-
let traceSegment;
|
|
308
|
-
/**
|
|
309
|
-
* A higher-level API to find the source/line/column associated with a generated line/column
|
|
310
|
-
* (think, from a stack trace). Line is 1-based, but column is 0-based, due to legacy behavior in
|
|
311
|
-
* `source-map` library.
|
|
312
|
-
*/
|
|
313
|
-
let originalPositionFor;
|
|
314
|
-
/**
|
|
315
|
-
* Finds the source/line/column directly after the mapping returned by originalPositionFor, provided
|
|
316
|
-
* the found mapping is from the same source and line as the originalPositionFor mapping.
|
|
317
|
-
*
|
|
318
|
-
* Eg, in the code `let id = 1`, `originalPositionAfter` could find the mapping associated with `1`
|
|
319
|
-
* using the same needle that would return `id` when calling `originalPositionFor`.
|
|
320
|
-
*/
|
|
321
|
-
let generatedPositionFor;
|
|
322
|
-
/**
|
|
323
|
-
* Iterates each mapping in generated position order.
|
|
324
|
-
*/
|
|
325
|
-
let eachMapping;
|
|
326
|
-
/**
|
|
327
|
-
* A helper that skips sorting of the input map's mappings array, which can be expensive for larger
|
|
328
|
-
* maps.
|
|
329
|
-
*/
|
|
330
|
-
let presortedDecodedMap;
|
|
331
|
-
/**
|
|
332
|
-
* Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects
|
|
333
|
-
* a sourcemap, or to JSON.stringify.
|
|
334
|
-
*/
|
|
335
|
-
let decodedMap;
|
|
336
|
-
/**
|
|
337
|
-
* Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects
|
|
338
|
-
* a sourcemap, or to JSON.stringify.
|
|
339
|
-
*/
|
|
340
|
-
let encodedMap;
|
|
341
|
-
class TraceMap {
|
|
342
|
-
constructor(map, mapUrl) {
|
|
343
|
-
this._decodedMemo = memoizedState();
|
|
344
|
-
this._bySources = undefined;
|
|
345
|
-
this._bySourceMemos = undefined;
|
|
346
|
-
const isString = typeof map === 'string';
|
|
347
|
-
if (!isString && map.constructor === TraceMap)
|
|
348
|
-
return map;
|
|
349
|
-
const parsed = (isString ? JSON.parse(map) : map);
|
|
350
|
-
const { version, file, names, sourceRoot, sources, sourcesContent } = parsed;
|
|
351
|
-
this.version = version;
|
|
352
|
-
this.file = file;
|
|
353
|
-
this.names = names;
|
|
354
|
-
this.sourceRoot = sourceRoot;
|
|
355
|
-
this.sources = sources;
|
|
356
|
-
this.sourcesContent = sourcesContent;
|
|
357
|
-
if (sourceRoot || mapUrl) {
|
|
358
|
-
const from = resolve(sourceRoot || '', stripFilename(mapUrl));
|
|
359
|
-
this.resolvedSources = sources.map((s) => resolve(s || '', from));
|
|
360
|
-
}
|
|
361
|
-
else {
|
|
362
|
-
this.resolvedSources = sources.map((s) => s || '');
|
|
363
|
-
}
|
|
364
|
-
const { mappings } = parsed;
|
|
365
|
-
if (typeof mappings === 'string') {
|
|
366
|
-
this._encoded = mappings;
|
|
367
|
-
this._decoded = undefined;
|
|
368
|
-
}
|
|
369
|
-
else {
|
|
370
|
-
this._encoded = undefined;
|
|
371
|
-
this._decoded = maybeSort(mappings, isString);
|
|
372
|
-
}
|
|
373
|
-
}
|
|
374
|
-
}
|
|
375
|
-
(() => {
|
|
376
|
-
encodedMappings = (map) => {
|
|
377
|
-
var _a;
|
|
378
|
-
return ((_a = map._encoded) !== null && _a !== void 0 ? _a : (map._encoded = encode(map._decoded)));
|
|
379
|
-
};
|
|
380
|
-
decodedMappings = (map) => {
|
|
381
|
-
return (map._decoded || (map._decoded = decode(map._encoded)));
|
|
382
|
-
};
|
|
383
|
-
traceSegment = (map, line, column) => {
|
|
384
|
-
const decoded = decodedMappings(map);
|
|
385
|
-
// It's common for parent source maps to have pointers to lines that have no
|
|
386
|
-
// mapping (like a "//# sourceMappingURL=") at the end of the child file.
|
|
387
|
-
if (line >= decoded.length)
|
|
388
|
-
return null;
|
|
389
|
-
return traceSegmentInternal(decoded[line], map._decodedMemo, line, column, GREATEST_LOWER_BOUND);
|
|
390
|
-
};
|
|
391
|
-
originalPositionFor = (map, { line, column, bias }) => {
|
|
392
|
-
line--;
|
|
393
|
-
if (line < 0)
|
|
394
|
-
throw new Error(LINE_GTR_ZERO);
|
|
395
|
-
if (column < 0)
|
|
396
|
-
throw new Error(COL_GTR_EQ_ZERO);
|
|
397
|
-
const decoded = decodedMappings(map);
|
|
398
|
-
// It's common for parent source maps to have pointers to lines that have no
|
|
399
|
-
// mapping (like a "//# sourceMappingURL=") at the end of the child file.
|
|
400
|
-
if (line >= decoded.length)
|
|
401
|
-
return INVALID_ORIGINAL_MAPPING;
|
|
402
|
-
const segment = traceSegmentInternal(decoded[line], map._decodedMemo, line, column, bias || GREATEST_LOWER_BOUND);
|
|
403
|
-
if (segment == null)
|
|
404
|
-
return INVALID_ORIGINAL_MAPPING;
|
|
405
|
-
if (segment.length == 1)
|
|
406
|
-
return INVALID_ORIGINAL_MAPPING;
|
|
407
|
-
const { names, resolvedSources } = map;
|
|
408
|
-
return {
|
|
409
|
-
source: resolvedSources[segment[SOURCES_INDEX]],
|
|
410
|
-
line: segment[SOURCE_LINE] + 1,
|
|
411
|
-
column: segment[SOURCE_COLUMN],
|
|
412
|
-
name: segment.length === 5 ? names[segment[NAMES_INDEX]] : null,
|
|
413
|
-
};
|
|
414
|
-
};
|
|
415
|
-
generatedPositionFor = (map, { source, line, column, bias }) => {
|
|
416
|
-
line--;
|
|
417
|
-
if (line < 0)
|
|
418
|
-
throw new Error(LINE_GTR_ZERO);
|
|
419
|
-
if (column < 0)
|
|
420
|
-
throw new Error(COL_GTR_EQ_ZERO);
|
|
421
|
-
const { sources, resolvedSources } = map;
|
|
422
|
-
let sourceIndex = sources.indexOf(source);
|
|
423
|
-
if (sourceIndex === -1)
|
|
424
|
-
sourceIndex = resolvedSources.indexOf(source);
|
|
425
|
-
if (sourceIndex === -1)
|
|
426
|
-
return INVALID_GENERATED_MAPPING;
|
|
427
|
-
const generated = (map._bySources || (map._bySources = buildBySources(decodedMappings(map), (map._bySourceMemos = sources.map(memoizedState)))));
|
|
428
|
-
const memos = map._bySourceMemos;
|
|
429
|
-
const segments = generated[sourceIndex][line];
|
|
430
|
-
if (segments == null)
|
|
431
|
-
return INVALID_GENERATED_MAPPING;
|
|
432
|
-
const segment = traceSegmentInternal(segments, memos[sourceIndex], line, column, bias || GREATEST_LOWER_BOUND);
|
|
433
|
-
if (segment == null)
|
|
434
|
-
return INVALID_GENERATED_MAPPING;
|
|
435
|
-
return {
|
|
436
|
-
line: segment[REV_GENERATED_LINE] + 1,
|
|
437
|
-
column: segment[REV_GENERATED_COLUMN],
|
|
438
|
-
};
|
|
439
|
-
};
|
|
440
|
-
eachMapping = (map, cb) => {
|
|
441
|
-
const decoded = decodedMappings(map);
|
|
442
|
-
const { names, resolvedSources } = map;
|
|
443
|
-
for (let i = 0; i < decoded.length; i++) {
|
|
444
|
-
const line = decoded[i];
|
|
445
|
-
for (let j = 0; j < line.length; j++) {
|
|
446
|
-
const seg = line[j];
|
|
447
|
-
const generatedLine = i + 1;
|
|
448
|
-
const generatedColumn = seg[0];
|
|
449
|
-
let source = null;
|
|
450
|
-
let originalLine = null;
|
|
451
|
-
let originalColumn = null;
|
|
452
|
-
let name = null;
|
|
453
|
-
if (seg.length !== 1) {
|
|
454
|
-
source = resolvedSources[seg[1]];
|
|
455
|
-
originalLine = seg[2] + 1;
|
|
456
|
-
originalColumn = seg[3];
|
|
457
|
-
}
|
|
458
|
-
if (seg.length === 5)
|
|
459
|
-
name = names[seg[4]];
|
|
460
|
-
cb({
|
|
461
|
-
generatedLine,
|
|
462
|
-
generatedColumn,
|
|
463
|
-
source,
|
|
464
|
-
originalLine,
|
|
465
|
-
originalColumn,
|
|
466
|
-
name,
|
|
467
|
-
});
|
|
468
|
-
}
|
|
469
|
-
}
|
|
470
|
-
};
|
|
471
|
-
presortedDecodedMap = (map, mapUrl) => {
|
|
472
|
-
const clone = Object.assign({}, map);
|
|
473
|
-
clone.mappings = [];
|
|
474
|
-
const tracer = new TraceMap(clone, mapUrl);
|
|
475
|
-
tracer._decoded = map.mappings;
|
|
476
|
-
return tracer;
|
|
477
|
-
};
|
|
478
|
-
decodedMap = (map) => {
|
|
479
|
-
return {
|
|
480
|
-
version: 3,
|
|
481
|
-
file: map.file,
|
|
482
|
-
names: map.names,
|
|
483
|
-
sourceRoot: map.sourceRoot,
|
|
484
|
-
sources: map.sources,
|
|
485
|
-
sourcesContent: map.sourcesContent,
|
|
486
|
-
mappings: decodedMappings(map),
|
|
487
|
-
};
|
|
488
|
-
};
|
|
489
|
-
encodedMap = (map) => {
|
|
490
|
-
return {
|
|
491
|
-
version: 3,
|
|
492
|
-
file: map.file,
|
|
493
|
-
names: map.names,
|
|
494
|
-
sourceRoot: map.sourceRoot,
|
|
495
|
-
sources: map.sources,
|
|
496
|
-
sourcesContent: map.sourcesContent,
|
|
497
|
-
mappings: encodedMappings(map),
|
|
498
|
-
};
|
|
499
|
-
};
|
|
500
|
-
})();
|
|
501
|
-
function traceSegmentInternal(segments, memo, line, column, bias) {
|
|
502
|
-
let index = memoizedBinarySearch(segments, column, memo, line);
|
|
503
|
-
if (found) {
|
|
504
|
-
index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column, index);
|
|
505
|
-
}
|
|
506
|
-
else if (bias === LEAST_UPPER_BOUND)
|
|
507
|
-
index++;
|
|
508
|
-
if (index === -1 || index === segments.length)
|
|
509
|
-
return null;
|
|
510
|
-
return segments[index];
|
|
511
|
-
}
|
|
512
|
-
|
|
513
|
-
export { AnyMap, GREATEST_LOWER_BOUND, LEAST_UPPER_BOUND, TraceMap, decodedMap, decodedMappings, eachMapping, encodedMap, encodedMappings, generatedPositionFor, originalPositionFor, presortedDecodedMap, traceSegment };
|
|
514
|
-
//# sourceMappingURL=trace-mapping.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trace-mapping.mjs","sources":["../../src/resolve.ts","../../src/strip-filename.ts","../../src/sourcemap-segment.ts","../../src/sort.ts","../../src/binary-search.ts","../../src/by-source.ts","../../src/any-map.ts","../../src/trace-mapping.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["bsFound"],"mappings":"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"}
|