UNPKG

byte-encodings

Version:

Utilities for encoding and decoding common formats like hex, base64, and varint. Ported from Deno's @std/encoding.

2 lines (1 loc) 1.1 kB
import{a as l,b as f,c as y,d as b,e as d}from"./chunk-FH24VJR6.js";import{a as c}from"./chunk-JF3YMNGM.js";var U=new TextEncoder,m=new TextDecoder,h=class extends TransformStream{constructor(u={}){let o=l[u.alphabet??"base32"],i=function(){return u.output==="bytes"?e=>e:e=>m.decode(e)}(),n=new Uint8Array(4),t=0;super({transform(e,s){let[r,a]=c(e,y(t+e.length));t&&(a-=t,r.set(n.subarray(0,t),a)),t=(r.length-a)%5,t&&n.set(r.subarray(-t));let T=b(r.subarray(0,-t||void 0),a,0,o,61);s.enqueue(i(r.subarray(0,T)))},flush(e){if(t){let[s,r]=c(n.subarray(0,t),y(t));b(s,r,0,o,61),e.enqueue(i(s))}}})}},x=class extends TransformStream{constructor(u={}){let o=f[u.alphabet??"base32"],i=function(){return u.input==="bytes"?e=>e:e=>U.encode(e)}(),n=new Uint8Array(7),t=0;super({transform(e,s){let r=i(e);t&&(r=c(r,t+r.length)[0],r.set(n.subarray(0,t))),t=r.length%8,t&&n.set(r.subarray(-t));let a=d(r.subarray(0,-t||void 0),0,0,o,61);s.enqueue(r.subarray(0,a))},flush(e){if(t){let s=d(n.subarray(0,t),0,0,o,61);e.enqueue(n.subarray(0,s))}}})}};export{x as Base32DecoderStream,h as Base32EncoderStream};