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.
8 lines
299 B
JavaScript
8 lines
299 B
JavaScript
import TextEncoding from 'npm:text-encoding';
|
|
import base64js from 'npm:base64-js';
|
|
export default function(str, encoding = 'utf-8') {
|
|
// encode
|
|
const bytes = new ('TextEncoder' in window ? TextEncoder : TextEncoding.TextEncoder)(encoding).encode(str);
|
|
return base64js.fromByteArray(bytes);
|
|
}
|