UNPKG

lesca-atobtoa

Version:

encode / decode data to base64

2 lines (1 loc) 630 B
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=typeof window>"u",c=n?t=>Buffer.from(t).toString("base64"):window.btoa,d=n?t=>Buffer.from(t,"base64").toString():window.atob,s=(t,o=1)=>{let e="";return c(encodeURIComponent(escape(JSON.stringify(t)))).split("").forEach(r=>{e+=String.fromCharCode(r.charCodeAt(0)+o)}),e},a=(t,o=1)=>{try{let e="";return t.split("").forEach(r=>{e+=String.fromCharCode(r.charCodeAt(0)-o)}),JSON.parse(unescape(decodeURIComponent(d(e))))}catch{return!1}},i={toBase64:s,toJson:a};exports.default=i;exports.toBase64=s;exports.toJson=a;