diff options
author | Kenta Moriuchi <moriken@kimamass.com> | 2023-01-06 21:45:23 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-06 21:45:23 +0900 |
commit | ff89ff4abba39ce158056d390e761495f5a7bc86 (patch) | |
tree | 03a9c71b5bb3889842db06ed41c3999074c4107a /ext/web/09_file.js | |
parent | 39cbaa6d34c249afc4b197836da1fa6dd143cbf9 (diff) |
perf(ext,runtime): remove using `SafeArrayIterator` from `for-of` (#17255)
Diffstat (limited to 'ext/web/09_file.js')
-rw-r--r-- | ext/web/09_file.js | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/ext/web/09_file.js b/ext/web/09_file.js index 92de61e1f..f789a24d2 100644 --- a/ext/web/09_file.js +++ b/ext/web/09_file.js @@ -26,7 +26,6 @@ MathMin, ObjectPrototypeIsPrototypeOf, RegExpPrototypeTest, - SafeArrayIterator, StringPrototypeCharAt, StringPrototypeToLowerCase, StringPrototypeSlice, @@ -95,8 +94,8 @@ /** @param {(BlobReference | Blob)[]} parts */ async function* toIterator(parts) { - for (const part of new SafeArrayIterator(parts)) { - yield* part.stream(); + for (let i = 0; i < parts.length; ++i) { + yield* parts[i].stream(); } } @@ -111,7 +110,8 @@ /** @type {(BlobReference|Blob)[]} */ const processedParts = []; let size = 0; - for (const element of new SafeArrayIterator(parts)) { + for (let i = 0; i < parts.length; ++i) { + const element = parts[i]; if (ObjectPrototypeIsPrototypeOf(ArrayBufferPrototype, element)) { const chunk = new Uint8Array(ArrayBufferPrototypeSlice(element, 0)); ArrayPrototypePush(processedParts, BlobReference.fromUint8Array(chunk)); @@ -159,7 +159,9 @@ * @returns {string[]} */ function getParts(blob, bag = []) { - for (const part of new SafeArrayIterator(blob[_parts])) { + const parts = blob[_parts]; + for (let i = 0; i < parts.length; ++i) { + const part = parts[i]; if (ObjectPrototypeIsPrototypeOf(BlobPrototype, part)) { getParts(part, bag); } else { @@ -276,7 +278,9 @@ const blobParts = []; let added = 0; - for (const part of new SafeArrayIterator(this[_parts])) { + const parts = this[_parts]; + for (let i = 0; i < parts.length; ++i) { + const part = parts[i]; // don't add the overflow to new blobParts if (added >= span) { // Could maybe be possible to remove variable `added` @@ -600,7 +604,8 @@ const parts = []; let totalSize = 0; - for (const { uuid, size } of new SafeArrayIterator(blobData.parts)) { + for (let i = 0; i < blobData.parts.length; ++i) { + const { uuid, size } = blobData.parts[i]; ArrayPrototypePush(parts, new BlobReference(uuid, size)); totalSize += size; } |