d9764ed04b
1. The previously used TextEncoder/Decoder (used as a polyfill for browsers that don't have a native version) didn't expose an encoder via CommonJS. Use a different polyfill that exposes both a decoder and an encoder. 2. The feature detection itself was flawed. This does a less error prone detection that ensures native encoding/decoding where available and polyfilled encoding/decoding where not available.
10 lines
305 B
JavaScript
10 lines
305 B
JavaScript
import TextEncoding from 'npm:text-encoding';
|
|
import base64js from 'npm:base64-js';
|
|
export default function(str, encoding = 'utf-8') {
|
|
// decode
|
|
const bytes = base64js.toByteArray(str);
|
|
return new ('TextDecoder' in window ? TextDecoder : TextEncoding.TextDecoder)(encoding).decode(
|
|
bytes
|
|
);
|
|
}
|