From b37eaa16ebd3d2d2fa16970d16923dc7183f9e98 Mon Sep 17 00:00:00 2001 From: Yagiz Nizipli Date: Sun, 25 Sep 2022 11:37:26 -0400 Subject: [PATCH] buffer: initialize TextDecoder once on blob.text() --- lib/internal/blob.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/internal/blob.js b/lib/internal/blob.js index 8014a1bb5b0349..da27edb1902193 100644 --- a/lib/internal/blob.js +++ b/lib/internal/blob.js @@ -78,6 +78,7 @@ let ReadableStream; let URL; const enc = new TextEncoder(); +let dec = undefined; // Yes, lazy loading is annoying but because of circular // references between the url, internal/blob, and buffer @@ -311,7 +312,10 @@ class Blob { if (!isBlob(this)) throw new ERR_INVALID_THIS('Blob'); - const dec = new TextDecoder(); + if (dec === undefined) { + dec = new TextDecoder(); + } + return dec.decode(await this.arrayBuffer()); }