|
67 | 67 | 'use strict'; |
68 | 68 |
|
69 | 69 | const { |
70 | | - ArrayIsArray |
| 70 | + ArrayIsArray, |
| 71 | + ArrayPrototypePush, |
| 72 | + ArrayPrototypeSlice, |
| 73 | + ArrayPrototypeSort, |
| 74 | + ObjectPrototypeHasOwnProperty, |
| 75 | + StringPrototypeCharAt, |
71 | 76 | } = primordials; |
72 | 77 |
|
73 | 78 | const { |
@@ -94,14 +99,14 @@ class StringCharIterator { |
94 | 99 | * @return {string} |
95 | 100 | */ |
96 | 101 | next() { |
97 | | - return this._string.charAt(this._position++); |
| 102 | + return StringPrototypeCharAt(this._string, this._position++); |
98 | 103 | } |
99 | 104 |
|
100 | 105 | /** |
101 | 106 | * @return {string} |
102 | 107 | */ |
103 | 108 | peek() { |
104 | | - return this._string.charAt(this._position); |
| 109 | + return StringPrototypeCharAt(this._string, this._position); |
105 | 110 | } |
106 | 111 |
|
107 | 112 | /** |
@@ -158,7 +163,7 @@ class SourceMap { |
158 | 163 | } else { |
159 | 164 | this.#parseMap(this.#payload, 0, 0); |
160 | 165 | } |
161 | | - this.#mappings.sort(compareSourceMapEntry); |
| 166 | + ArrayPrototypeSort(this.#mappings, compareSourceMapEntry); |
162 | 167 | } |
163 | 168 |
|
164 | 169 | /** |
@@ -211,7 +216,7 @@ class SourceMap { |
211 | 216 | /** |
212 | 217 | * @override |
213 | 218 | */ |
214 | | - #parseMap = (map, lineNumber, columnNumber) => { |
| 219 | + #parseMap(map, lineNumber, columnNumber) { |
215 | 220 | let sourceIndex = 0; |
216 | 221 | let sourceLineNumber = 0; |
217 | 222 | let sourceColumnNumber = 0; |
@@ -222,7 +227,7 @@ class SourceMap { |
222 | 227 | for (let i = 0; i < map.sources.length; ++i) { |
223 | 228 | const url = map.sources[i]; |
224 | 229 | originalToCanonicalURLMap[url] = url; |
225 | | - sources.push(url); |
| 230 | + ArrayPrototypePush(sources, url); |
226 | 231 | this.#sources[url] = true; |
227 | 232 |
|
228 | 233 | if (map.sourcesContent && map.sourcesContent[i]) |
@@ -246,7 +251,7 @@ class SourceMap { |
246 | 251 |
|
247 | 252 | columnNumber += decodeVLQ(stringCharIterator); |
248 | 253 | if (isSeparator(stringCharIterator.peek())) { |
249 | | - this.#mappings.push([lineNumber, columnNumber]); |
| 254 | + ArrayPrototypePush(this.#mappings, [lineNumber, columnNumber]); |
250 | 255 | continue; |
251 | 256 | } |
252 | 257 |
|
@@ -264,8 +269,11 @@ class SourceMap { |
264 | 269 | name = map.names?.[nameIndex]; |
265 | 270 | } |
266 | 271 |
|
267 | | - this.#mappings.push([lineNumber, columnNumber, sourceURL, |
268 | | - sourceLineNumber, sourceColumnNumber, name]); |
| 272 | + ArrayPrototypePush( |
| 273 | + this.#mappings, |
| 274 | + [lineNumber, columnNumber, sourceURL, sourceLineNumber, |
| 275 | + sourceColumnNumber, name] |
| 276 | + ); |
269 | 277 | } |
270 | 278 | }; |
271 | 279 | } |
@@ -320,8 +328,9 @@ function cloneSourceMapV3(payload) { |
320 | 328 | } |
321 | 329 | payload = { ...payload }; |
322 | 330 | for (const key in payload) { |
323 | | - if (payload.hasOwnProperty(key) && ArrayIsArray(payload[key])) { |
324 | | - payload[key] = payload[key].slice(0); |
| 331 | + if (ObjectPrototypeHasOwnProperty(payload, key) && |
| 332 | + ArrayIsArray(payload[key])) { |
| 333 | + payload[key] = ArrayPrototypeSlice(payload[key]); |
325 | 334 | } |
326 | 335 | } |
327 | 336 | return payload; |
|