Hashing is defined over the response's bytes (see
AssetManager.contentHash), so a hashed load reads the body once as
bytes and every other accessor is derived from those bytes — which is where a
decoder is required. globalThis.TextDecoder is the default and exists in
every browser and every supported Node; injecting one is for the runtime that
has neither, and for tests.
The UTF-8 decode seam a hashed text load needs.
Hashing is defined over the response's bytes (see AssetManager.contentHash), so a hashed load reads the body once as bytes and every other accessor is derived from those bytes — which is where a decoder is required.
globalThis.TextDecoderis the default and exists in every browser and every supported Node; injecting one is for the runtime that has neither, and for tests.