@alessiofrittoli/crypto-encoder
Version:
Lightweight TypeScript encoder/decoder library
2 lines (1 loc) • 825 B
JavaScript
;Object.defineProperty(exports, "__esModule", {value: true});var _cryptobuffer = require('@alessiofrittoli/crypto-buffer');var t=class t{static encode(r,e=!0){let o=_cryptobuffer.coerceToUint8Array.call(void 0, r);return typeof window<"u"?t.fromBase64(window.btoa(t.toString(o)),e):t.fromBase64(Buffer.from(o).toString(e?"base64url":"base64"),e)}static decode(r){return r=t.toString(r),typeof window<"u"?_cryptobuffer.coerceToUint8Array.call(void 0, window.atob(t.fromBase64url(r))):Buffer.from(t.fromBase64url(r),"base64")}static fromBase64(r,e=!0){return e?r.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"):r}static fromBase64url(r){let e=r.replace(/-/g,"+").replace(/_/g,"/"),o=e.length%4===0?"":"=".repeat(4-e.length%4);return e+o}};t.toString=_cryptobuffer.binaryToLatin1String;var i=t;exports.a = i;