// License: LGPL-3.0-or-later // see https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding // used for encoded and decoding data for email text module.exports = { encode: str => btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g , (match, p1) => String.fromCharCode('0x' + p1))).replace(/\//g,'_').replace(/\+/g,'-') , decode: str => decodeURIComponent(Array.prototype.map.call(atob(str.replace(/-/g, '+').replace(/_/g, '/')) , c => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)).join('')) }