mirror of
https://github.com/denoland/deno.git
synced 2025-08-31 07:47:46 +00:00
fix(ext/web): make TextDecoderResource use cppgc (#24888)
Fixes https://github.com/denoland/deno/issues/24878
This commit is contained in:
parent
ba40347a35
commit
696d528641
2 changed files with 15 additions and 29 deletions
|
@ -56,8 +56,8 @@ class TextDecoder {
|
|||
/** @type {boolean} */
|
||||
#utf8SinglePass;
|
||||
|
||||
/** @type {number | null} */
|
||||
#rid = null;
|
||||
/** @type {object | null} */
|
||||
#handle = null;
|
||||
|
||||
/**
|
||||
* @param {string} label
|
||||
|
@ -159,7 +159,7 @@ class TextDecoder {
|
|||
}
|
||||
|
||||
// Fast path for single pass encoding.
|
||||
if (!stream && this.#rid === null) {
|
||||
if (!stream && this.#handle === null) {
|
||||
// Fast path for utf8 single pass encoding.
|
||||
if (this.#utf8SinglePass) {
|
||||
return op_encoding_decode_utf8(input, this.#ignoreBOM);
|
||||
|
@ -173,18 +173,17 @@ class TextDecoder {
|
|||
);
|
||||
}
|
||||
|
||||
if (this.#rid === null) {
|
||||
this.#rid = op_encoding_new_decoder(
|
||||
if (this.#handle === null) {
|
||||
this.#handle = op_encoding_new_decoder(
|
||||
this.#encoding,
|
||||
this.#fatal,
|
||||
this.#ignoreBOM,
|
||||
);
|
||||
}
|
||||
return op_encoding_decode(input, this.#rid, stream);
|
||||
return op_encoding_decode(input, this.#handle, stream);
|
||||
} finally {
|
||||
if (!stream && this.#rid !== null) {
|
||||
core.close(this.#rid);
|
||||
this.#rid = null;
|
||||
if (!stream && this.#handle !== null) {
|
||||
this.#handle = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue