- From: Luca Casonato <notifications@github.com>
- Date: Tue, 29 Jun 2021 12:49:21 -0700
- To: whatwg/encoding <encoding@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
Received on Tuesday, 29 June 2021 19:49:34 UTC
The large majority of users of `TextEncoder` and `TextDecoder` do not make use of streaming capabilities. Instead they just need to decode a single chunk, or encode a single chunk. We should consider adding a static utility method to `TextEncoder` / `TextDecoder` to cater to this use case.
```js
// current
const data = new TextDecoder().decode(new Uint8Array(/** data here */));
// proposed
const data = TextDecoder.decode(new Uint8Array(/** data here */));
```
I propose the following API be added:
```webidl
dictionary TextDecoderOptionsWithLabel : TextDecoderOptions {
DOMString label = "utf-8";
};
interface TextDecoder {
static USVString decode(optional [AllowShared] BufferSource input, optional TextDecoderOptionsWithLabel options = {});
}
interface TextEncoder {
static Uint8Array encode(optional USVString input = "");
}
```
The exact name of the method should be something different though - the static method and prototype method would name clash in this example which is confusing.
Internally this would behave exactly like a single use non streaming encoder.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/encoding/issues/267
Received on Tuesday, 29 June 2021 19:49:34 UTC