Skip to content

Incorrect type returned by TextEncoder.encode #60846

Description

@aryzing

🔎 Search Terms

TypedArray, Uint8Array, ArrayBufferLike, TextEncoder

🕗 Version & Regression Information

  • This is the behavior in every version I tried, and I reviewed the FAQ for entries about TextEncoder

⏯ Playground Link

Playground link

💻 Code

constdata=newTextEncoder().encode("hello")// ^? Uint8Array<ArrayBufferLike>// The `ArrayBufferLike` may include `SharedArrayBuffer`, but `encode()` // only supports `ArrayBuffer`, so this breaks code expecting an `ArrayBuffer`.functionprocessData(d: ArrayBuffer){// do stuff}processData(data.buffer)// This should work, but reported as type error

🙁 Actual behavior

Values returned by TextEncoder.encode are not assignable to ArrayBuffer.

🙂 Expected behavior

Values returned by TextEncoder.encode should be assignable to ArrayBuffer.

Additional information about the issue

https://stackoverflow.com/a/79300250/1494725

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugA bug in TypeScriptDomain: lib.d.tsThe issue relates to the different libraries shipped with TypeScriptHelp WantedYou can do this

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions