buffer: initialize TextDecoder once on blob.text()

PR-URL: https://github.com/nodejs/node/pull/44787
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
This commit is contained in:
Yagiz Nizipli 2022-10-10 18:11:54 +03:00 committed by GitHub
parent 78d280a768
commit 76229fc216
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -78,6 +78,7 @@ let ReadableStream;
let URL;
const enc = new TextEncoder();
let dec;
// Yes, lazy loading is annoying but because of circular
// references between the url, internal/blob, and buffer
@ -311,7 +312,8 @@ class Blob {
if (!isBlob(this))
throw new ERR_INVALID_THIS('Blob');
const dec = new TextDecoder();
dec ??= new TextDecoder();
return dec.decode(await this.arrayBuffer());
}