kasten-js 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -1
- package/dist/index.d.ts +25 -17
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,9 +3,18 @@
|
|
|
3
3
|
## Features
|
|
4
4
|
|
|
5
5
|
- Base 64 Encoding/Decoding
|
|
6
|
+
- RFC2045
|
|
7
|
+
- RFC4648
|
|
6
8
|
- Base 32 Encoding/Decoding
|
|
9
|
+
- RFC4648
|
|
10
|
+
- RFC4648 (Hex)
|
|
7
11
|
- Base 16 Encoding/Decoding
|
|
8
|
-
-
|
|
12
|
+
- RFC4648
|
|
13
|
+
- Base 85
|
|
14
|
+
- Ascii85 (WIP)
|
|
15
|
+
- Run-Length Encoding/Decoding
|
|
16
|
+
- Basic
|
|
17
|
+
- PackBits
|
|
9
18
|
- LZ77 Encoding/Decoding (WIP)
|
|
10
19
|
|
|
11
20
|
## Usage
|
package/dist/index.d.ts
CHANGED
|
@@ -12,19 +12,6 @@ declare abstract class Base16 {
|
|
|
12
12
|
abstract decode(base16: string): Uint8Array;
|
|
13
13
|
}
|
|
14
14
|
//#endregion
|
|
15
|
-
//#region src/base16/rfc4648/rfc4648.d.ts
|
|
16
|
-
/**
|
|
17
|
-
* RFC 4648 Base 16 encoding.
|
|
18
|
-
*/
|
|
19
|
-
declare class RFC4648Base16 extends Base16 {
|
|
20
|
-
private static readonly textDecoder;
|
|
21
|
-
private static readonly TABLE;
|
|
22
|
-
private static readonly ENCODED_TABLE;
|
|
23
|
-
private static readonly DECODED_TABLE;
|
|
24
|
-
encode(bytes: Uint8Array): string;
|
|
25
|
-
decode(base16: string): Uint8Array;
|
|
26
|
-
}
|
|
27
|
-
//#endregion
|
|
28
15
|
//#region src/base32/index.d.ts
|
|
29
16
|
type Base32Category = typeof Base32Categories[number];
|
|
30
17
|
declare const Base32Categories: readonly ["rfc4649", "rfc464hex"];
|
|
@@ -61,7 +48,7 @@ declare abstract class Base64 {
|
|
|
61
48
|
}
|
|
62
49
|
//#endregion
|
|
63
50
|
//#region src/run-length/index.d.ts
|
|
64
|
-
declare const RunLengthCatgories: readonly ["basic"];
|
|
51
|
+
declare const RunLengthCatgories: readonly ["basic", "pack-bits"];
|
|
65
52
|
type RunLengthCatgory = typeof RunLengthCatgories[number];
|
|
66
53
|
/**
|
|
67
54
|
* Run-Length encoding and decoding.
|
|
@@ -80,7 +67,25 @@ declare abstract class RunLength {
|
|
|
80
67
|
}
|
|
81
68
|
//#endregion
|
|
82
69
|
//#region src/api.d.ts
|
|
83
|
-
|
|
70
|
+
/**
|
|
71
|
+
* Entry point of the Kasten library.
|
|
72
|
+
* All encoding/decoding feature implementations are created through this class.
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* const base64 = Kasten.base64('rfc4648');
|
|
76
|
+
* const encoded = base64.encode(data);
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* const base32 = Kasten.base32('rfc464hex');
|
|
80
|
+
* const decoded = base32.decode(text);
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* const base16 = Kasten.base16();
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* const runLength = Kasten.runLength('pack-bits');
|
|
87
|
+
*/
|
|
88
|
+
declare class Kasten {
|
|
84
89
|
private constructor();
|
|
85
90
|
/**
|
|
86
91
|
* Creates Base 64 codec instance.
|
|
@@ -95,8 +100,11 @@ declare class Casten {
|
|
|
95
100
|
/**
|
|
96
101
|
* Create Base 16 codec instance.
|
|
97
102
|
*/
|
|
98
|
-
static base16: () =>
|
|
103
|
+
static base16: () => Base16;
|
|
104
|
+
/**
|
|
105
|
+
* Creates Run-Length codec instance.
|
|
106
|
+
*/
|
|
99
107
|
static runLength: (category?: RunLengthCatgory) => RunLength;
|
|
100
108
|
}
|
|
101
109
|
//#endregion
|
|
102
|
-
export { Base16, Base32, Base64,
|
|
110
|
+
export { type Base16, type Base32, type Base32Category, type Base64, type Base64Catgory, type Kasten, type RunLength, type RunLengthCatgory };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=class{},t=class{static CR=13;static LF=10;static SP=32;static HT=9;constructor(){}},n=class extends Error{},r=class extends n{},i=class extends r{},a=class n extends e{static textDecoder=new TextDecoder;static TABLE=`0123456789ABCDEF`;static ENCODED_TABLE=new Uint8Array([...this.TABLE].map(e=>e.charCodeAt(0)));static DECODED_TABLE=new Uint8Array(256);static{this.DECODED_TABLE.fill(255);for(let e=0;e<this.TABLE.length;e++)this.DECODED_TABLE[this.TABLE.charCodeAt(e)]=e}encode(e){let t=n.ENCODED_TABLE,r=new Uint8Array(e.length*2),i=0;for(let n of e){let e=(n&240)>>4,a=n&15,o=t[e],s=t[a];r[i++]=o,r[i++]=s}return n.textDecoder.decode(r)}decode(e){let r=n.DECODED_TABLE,{CR:a,LF:o,SP:s,HT:c}=t,l=e.toUpperCase(),u=new Uint8Array(e.length),d=0;for(let t=0;t<e.length;t++){let n=l.charCodeAt(t);if(!(n===a||n===o||n===s||n===c)){if(!r[n]||r[n]==255)throw new i(`Invalid Base16 character: ${e.charAt(t)}`);u[d++]=n}}if(d%2!=0)throw new i(`Invalid Base16`);let f=new Uint8Array(Math.ceil(e.length/2)),p=0;for(let e=0;e<d;e+=2){let t=u[e],n=u[e+1],i=r[t],a=r[n],o=(i&15)<<4|a&15;f[p++]=o}return f.subarray(0,p)}},o=class{static textDecoder=new TextDecoder},s=class extends n{},c=class extends s{},l=class e extends o{static PADDING_CHAR_CODE=61;static TABLE=`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`;static ENCODED_TABLE=new Uint8Array([...this.TABLE].map(e=>e.charCodeAt(0)));static DECODED_TABLE=new Uint8Array(256);static{this.DECODED_TABLE.fill(255);for(let e=0;e<this.TABLE.length;e++)this.DECODED_TABLE[this.TABLE.charCodeAt(e)]=e}encode(t){let n=e.ENCODED_TABLE,r=new Uint8Array(Math.ceil(t.length/5)*8),i=0;for(let e=0;e<t.length;e+=5){let a=t[e],o=t[e+1]??0,s=t[e+2]??0,c=t[e+3]??0,l=t[e+4]??0,u=(a&255)>>3,d=(a&7)<<2|(o&192)>>6,f=(o&62)>>1,p=(o&1)<<4|(s&240)>>4,m=(s&15)<<1|(c&128)>>7,h=(c&124)>>2,g=(c&3)<<3|(l&224)>>5,_=l&31,v=n[u],y=n[d],b=n[f],x=n[p],S=n[m],C=n[h],w=n[g],T=n[_];r[i++]=v,r[i++]=y,r[i++]=b,r[i++]=x,r[i++]=S,r[i++]=C,r[i++]=w,r[i++]=T}let a=t.length%5,s=a===4?1:a===3?3:a===2?4:a===1?6:0;for(let t=s;t>0;t--)r[i-t]=e.PADDING_CHAR_CODE;return o.textDecoder.decode(r.subarray(0,i))}decode(n){let r=n.toUpperCase(),i=e.DECODED_TABLE,a=e.PADDING_CHAR_CODE,{CR:o,LF:s,SP:l,HT:u}=t,d=new Uint8Array(n.length),f=0;for(let e=0;e<n.length;e++){let t=r.charCodeAt(e);t!==o&&t!==s&&t!==l&&t!==u&&(d[f++]=t)}if(f%8!=0)throw new c(`Invalid length string.`);let p=-1;for(let e=0;e<f;e++)if(d[e]===a){p=e;break}let m=0;if(p!==-1){if(p<f-6)throw new c(`Invalid padding position.`);for(let e=p;e<f;e++)if(d[e]!==a)throw new c(`Invalid padding`);if(m=f-p,m!==1&&m!==3&&m!==4&&m!==6)throw new c(`Invalid padding`)}let h=new Uint8Array(Math.floor((f-m)*5/8)),g=0;for(let e=0;e<f;e+=8){let t=d[e],n=d[e+1],r=d[e+2],o=d[e+3],s=d[e+4],l=d[e+5],u=d[e+6],f=d[e+7],p=i[t],m=i[n],_=r===a?0:i[r],v=o===a?0:i[o],y=s===a?0:i[s],b=l===a?0:i[l],x=u===a?0:i[u],S=f===a?0:i[f];if(p===255||m===255||_===255||v===255||y===255||b===255||x===255||S===255)throw new c(`Invalid Base32`);let C=(p&31)<<3|(m&28)>>2,w=(m&3)<<6|(_&31)<<1|(v&16)>>4,T=(v&15)<<4|(y&30)>>1,E=(y&1)<<7|(b&31)<<2|(x&24)>>3,D=(x&7)<<5|S&31;h[g++]=C,g<h.length&&(h[g++]=w),g<h.length&&(h[g++]=T),g<h.length&&s!==a&&(h[g++]=E),g<h.length&&u!=a&&(h[g++]=D)}return h.subarray(0,g)}},u=class e extends o{static PADDING_CHAR_CODE=61;static TABLE=`0123456789ABCDEFGHIJKLMNOPQRSTUV`;static ENCODED_TABLE=new Uint8Array([...this.TABLE].map(e=>e.charCodeAt(0)));static DECODED_TABLE=new Uint8Array(256);static{this.DECODED_TABLE.fill(255);for(let e=0;e<this.TABLE.length;e++)this.DECODED_TABLE[this.TABLE.charCodeAt(e)]=e}encode(t){let n=e.ENCODED_TABLE,r=new Uint8Array(Math.ceil(t.length/5)*8),i=0;for(let e=0;e<t.length;e+=5){let a=t[e],o=t[e+1]??0,s=t[e+2]??0,c=t[e+3]??0,l=t[e+4]??0,u=(a&255)>>3,d=(a&7)<<2|(o&192)>>6,f=(o&62)>>1,p=(o&1)<<4|(s&240)>>4,m=(s&15)<<1|(c&128)>>7,h=(c&124)>>2,g=(c&3)<<3|(l&224)>>5,_=l&31,v=n[u],y=n[d],b=n[f],x=n[p],S=n[m],C=n[h],w=n[g],T=n[_];r[i++]=v,r[i++]=y,r[i++]=b,r[i++]=x,r[i++]=S,r[i++]=C,r[i++]=w,r[i++]=T}let a=t.length%5,s=a===4?1:a===3?3:a===2?4:a===1?6:0;for(let t=s;t>0;t--)r[i-t]=e.PADDING_CHAR_CODE;return o.textDecoder.decode(r.subarray(0,i))}decode(n){let r=n.toUpperCase(),i=e.DECODED_TABLE,a=e.PADDING_CHAR_CODE,{CR:o,LF:s,SP:l,HT:u}=t,d=new Uint8Array(n.length),f=0;for(let e=0;e<n.length;e++){let t=r.charCodeAt(e);t!==o&&t!==s&&t!==l&&t!==u&&(d[f++]=t)}if(f%8!=0)throw new c(`Invalid length string.`);let p=-1;for(let e=0;e<f;e++)if(d[e]===a){p=e;break}let m=0;if(p!==-1){if(p<f-6)throw new c(`Invalid padding position.`);for(let e=p;e<f;e++)if(d[e]!==a)throw new c(`Invalid padding`);if(m=f-p,m!==1&&m!==3&&m!==4&&m!==6)throw new c(`Invalid padding`)}let h=new Uint8Array(Math.floor((f-m)*5/8)),g=0;for(let e=0;e<f;e+=8){let t=d[e],n=d[e+1],r=d[e+2],o=d[e+3],s=d[e+4],l=d[e+5],u=d[e+6],f=d[e+7],p=i[t],m=i[n],_=r===a?0:i[r],v=o===a?0:i[o],y=s===a?0:i[s],b=l===a?0:i[l],x=u===a?0:i[u],S=f===a?0:i[f];if(p===255||m===255||_===255||v===255||y===255||b===255||x===255||S===255)throw new c(`Invalid Base32`);let C=(p&31)<<3|(m&28)>>2,w=(m&3)<<6|(_&31)<<1|(v&16)>>4,T=(v&15)<<4|(y&30)>>1,E=(y&1)<<7|(b&31)<<2|(x&24)>>3,D=(x&7)<<5|S&31;h[g++]=C,g<h.length&&(h[g++]=w),g<h.length&&(h[g++]=T),g<h.length&&s!==a&&(h[g++]=E),g<h.length&&u!=a&&(h[g++]=D)}return h.subarray(0,g)}},d=class{},f=class extends n{},p=class extends f{},m=class e extends d{static PADDING_CHAR_CODE=61;static TABLE=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`;static DECODE_TABLE=new Uint8Array(256);static ENCODE_TABLE=new Uint8Array([...this.TABLE].map(e=>e.charCodeAt(0)));static decoder=new TextDecoder;static{this.DECODE_TABLE.fill(255);for(let e=0;e<this.TABLE.length;e++)this.DECODE_TABLE[this.TABLE.charCodeAt(e)]=e}encode=n=>{if(n.length===0)return``;let r=e.ENCODE_TABLE,i=Math.ceil(n.length/3)*4,a=Math.floor((i-1)/76),o=new Uint8Array(i+a*2),s=0,c=0;for(let e=0;e<n.length;e+=3){let i=n[e],a=n[e+1]??0,l=n[e+2]??0,u=i>>2,d=(i&3)<<4|a>>4,f=(a&15)<<2|l>>6,p=l&63;o[s++]=r[u],o[s++]=r[d],o[s++]=r[f],o[s++]=r[p],c+=4,c===76&&s<o.length&&(c=0,o[s++]=t.CR,o[s++]=t.LF)}let l=n.length%3;return l===1?(o[s-2]=e.PADDING_CHAR_CODE,o[s-1]=e.PADDING_CHAR_CODE):l===2&&(o[s-1]=e.PADDING_CHAR_CODE),e.decoder.decode(o.subarray(0,s))};decode=n=>{let r=e.DECODE_TABLE,i=new Uint8Array(n.length),a=0;for(let e=0;e<n.length;e++){let r=n.charCodeAt(e);r!==t.CR&&r!==t.LF&&r!==t.SP&&r!==t.HT&&(i[a++]=r)}if(a%4!=0)throw new p(`Invalid length string`);let o=-1;for(let t=0;t<a;t++)if(i[t]===e.PADDING_CHAR_CODE){o=t;break}if(o!==-1){if(o<a-2)throw new p(`Invalid padding position`);for(let t=o;t<a;t++)if(i[t]!==e.PADDING_CHAR_CODE)throw new p(`Invalid padding`);let t=a-o;if(t!==1&&t!==2)throw new p(`Invalid padding`)}let s=a,c=i[s-1]===e.PADDING_CHAR_CODE?i[s-2]===e.PADDING_CHAR_CODE?2:1:0,l=new Uint8Array(a/4*3-c),u=0;for(let t=0;t<a;t+=4){let n=i[t],a=i[t+1],o=i[t+2],s=i[t+3],c=r[n],d=r[a],f=o===e.PADDING_CHAR_CODE?0:r[o],m=s===e.PADDING_CHAR_CODE?0:r[s];if(c===255||d===255||o!==e.PADDING_CHAR_CODE&&f===255||s!==e.PADDING_CHAR_CODE&&m===255)throw new p(`Invalid Base64`);let h=c<<2|d>>4,g=(d&15)<<4|f>>2,_=(f&3)<<6|m;l[u++]=h,o!==e.PADDING_CHAR_CODE&&(l[u++]=g),s!==e.PADDING_CHAR_CODE&&(l[u++]=_)}return l}},h=class e extends d{static PADDING_CHAR_CODE=61;static TABLE=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`;static DECODE_TABLE=new Uint8Array(256);static ENCODE_TABLE=new Uint8Array([...this.TABLE].map(e=>e.charCodeAt(0)));static decoder=new TextDecoder;static{this.DECODE_TABLE.fill(255);for(let e=0;e<this.TABLE.length;e++)this.DECODE_TABLE[this.TABLE.charCodeAt(e)]=e}encode=t=>{if(t.length===0)return``;let n=e.ENCODE_TABLE,r=Math.ceil(t.length/3)*4,i=Math.floor((r-1)/76),a=new Uint8Array(r+i*2),o=0;for(let e=0;e<t.length;e+=3){let r=t[e],i=t[e+1]??0,s=t[e+2]??0,c=r>>2,l=(r&3)<<4|i>>4,u=(i&15)<<2|s>>6,d=s&63;a[o++]=n[c],a[o++]=n[l],a[o++]=n[u],a[o++]=n[d]}let s=t.length%3;return s===1?(a[o-2]=e.PADDING_CHAR_CODE,a[o-1]=e.PADDING_CHAR_CODE):s===2&&(a[o-1]=e.PADDING_CHAR_CODE),e.decoder.decode(a.subarray(0,o))};decode=n=>{let r=e.DECODE_TABLE,i=new Uint8Array(n.length),a=0;for(let e=0;e<n.length;e++){let r=n.charCodeAt(e);r!==t.CR&&r!==t.LF&&r!==t.SP&&r!==t.HT&&(i[a++]=r)}if(a%4!=0)throw new p(`Invalid length string`);let o=-1;for(let t=0;t<a;t++)if(i[t]===e.PADDING_CHAR_CODE){o=t;break}if(o!==-1){if(o<a-2)throw new p(`Invalid padding position`);for(let t=o;t<a;t++)if(i[t]!==e.PADDING_CHAR_CODE)throw new p(`Invalid padding`);let t=a-o;if(t!==1&&t!==2)throw new p(`Invalid padding`)}let s=a,c=i[s-1]===e.PADDING_CHAR_CODE?i[s-2]===e.PADDING_CHAR_CODE?2:1:0,l=new Uint8Array(a/4*3-c),u=0;for(let t=0;t<a;t+=4){let n=i[t],a=i[t+1],o=i[t+2],s=i[t+3],c=r[n],d=r[a],f=o===e.PADDING_CHAR_CODE?0:r[o],m=s===e.PADDING_CHAR_CODE?0:r[s];if(c===255||d===255||o!==e.PADDING_CHAR_CODE&&f===255||s!==e.PADDING_CHAR_CODE&&m===255)throw new p(`Invalid Base64`);let h=c<<2|d>>4,g=(d&15)<<4|f>>2,_=(f&3)<<6|m;l[u++]=h,o!==e.PADDING_CHAR_CODE&&(l[u++]=g),s!==e.PADDING_CHAR_CODE&&(l[u++]=_)}return l}},g=class e extends d{static PADDING_CHAR_CODE=61;static TABLE=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`;static DECODE_TABLE=new Uint8Array(256);static ENCODE_TABLE=new Uint8Array([...this.TABLE].map(e=>e.charCodeAt(0)));static decoder=new TextDecoder;static{this.DECODE_TABLE.fill(255);for(let e=0;e<this.TABLE.length;e++)this.DECODE_TABLE[this.TABLE.charCodeAt(e)]=e}encode=n=>{if(n.length===0)return``;let r=e.ENCODE_TABLE,i=Math.ceil(n.length/3)*4,a=Math.floor((i-1)/76),o=new Uint8Array(i+a*2),s=0,c=0;for(let e=0;e<n.length;e+=3){let i=n[e],a=n[e+1]??0,l=n[e+2]??0,u=i>>2,d=(i&3)<<4|a>>4,f=(a&15)<<2|l>>6,p=l&63;o[s++]=r[u],o[s++]=r[d],o[s++]=r[f],o[s++]=r[p],c+=4,c===76&&s<o.length&&(c=0,o[s++]=t.CR,o[s++]=t.LF)}let l=n.length%3;return l===1?(o[s-2]=e.PADDING_CHAR_CODE,o[s-1]=e.PADDING_CHAR_CODE):l===2&&(o[s-1]=e.PADDING_CHAR_CODE),e.decoder.decode(o.subarray(0,s))};decode=n=>{let r=e.DECODE_TABLE,i=new Uint8Array(n.length),a=0;for(let e=0;e<n.length;e++){let r=n.charCodeAt(e);r!==t.CR&&r!==t.LF&&r!==t.SP&&r!==t.HT&&(i[a++]=r)}if(a%4!=0)throw new p(`Invalid length string`);let o=-1;for(let t=0;t<a;t++)if(i[t]===e.PADDING_CHAR_CODE){o=t;break}if(o!==-1){if(o<a-2)throw new p(`Invalid padding position`);for(let t=o;t<a;t++)if(i[t]!==e.PADDING_CHAR_CODE)throw new p(`Invalid padding`);let t=a-o;if(t!==1&&t!==2)throw new p(`Invalid padding`)}let s=a,c=i[s-1]===e.PADDING_CHAR_CODE?i[s-2]===e.PADDING_CHAR_CODE?2:1:0,l=new Uint8Array(a/4*3-c),u=0;for(let t=0;t<a;t+=4){let n=i[t],a=i[t+1],o=i[t+2],s=i[t+3],c=r[n],d=r[a],f=o===e.PADDING_CHAR_CODE?0:r[o],m=s===e.PADDING_CHAR_CODE?0:r[s];if(c===255||d===255||o!==e.PADDING_CHAR_CODE&&f===255||s!==e.PADDING_CHAR_CODE&&m===255)throw new p(`Invalid Base64`);let h=c<<2|d>>4,g=(d&15)<<4|f>>2,_=(f&3)<<6|m;l[u++]=h,o!==e.PADDING_CHAR_CODE&&(l[u++]=g),s!==e.PADDING_CHAR_CODE&&(l[u++]=_)}return l}},_=class{},v=class extends _{encode(e){let t=new Uint8Array(e.length*2),n=0,r=null,i=0;for(let a=0;a<e.length;a++){let o=e[a];if(r===null){r=o,i=1;continue}if(r===o&&i<255){i++;continue}t[n++]=i,t[n++]=r,r=o,i=1}return r!==null&&(t[n++]=i,t[n++]=r),t.subarray(0,n)}decode(e){let t=[];for(let n=0;n<e.length;n+=2){let r=e[n],i=e[n+1];for(let e=0;e<r;e++)t.push(i)}return new Uint8Array(t)}},y=class{constructor(){}static base64=e=>{switch(e){case`rfc4648`:return new h;case`rfc4648-url`:return new g;case`rfc2025`:return new m;default:return new h}};static base32=e=>{switch(e){case`rfc4649`:return new l;case`rfc464hex`:return new u;default:return new l}};static base16=()=>new a;static runLength=e=>{switch(e){default:return new v}}};export{e as Base16,o as Base32,d as Base64,y as Kasten,_ as RunLength};
|
|
1
|
+
var e=class{},t=class{static CR=13;static LF=10;static SP=32;static HT=9;constructor(){}},n=class extends Error{},r=class extends n{},i=class extends r{};(class n extends e{static textDecoder=new TextDecoder;static TABLE=`0123456789ABCDEF`;static ENCODED_TABLE=new Uint8Array([...this.TABLE].map(e=>e.charCodeAt(0)));static DECODED_TABLE=new Uint8Array(256);static{this.DECODED_TABLE.fill(255);for(let e=0;e<this.TABLE.length;e++)this.DECODED_TABLE[this.TABLE.charCodeAt(e)]=e}encode(e){let t=n.ENCODED_TABLE,r=new Uint8Array(e.length*2),i=0;for(let n of e){let e=(n&240)>>4,a=n&15,o=t[e],s=t[a];r[i++]=o,r[i++]=s}return n.textDecoder.decode(r)}decode(e){let r=n.DECODED_TABLE,{CR:a,LF:o,SP:s,HT:c}=t,l=e.toUpperCase(),u=new Uint8Array(e.length),d=0;for(let t=0;t<e.length;t++){let n=l.charCodeAt(t);if(!(n===a||n===o||n===s||n===c)){if(!r[n]||r[n]==255)throw new i(`Invalid Base16 character: ${e.charAt(t)}`);u[d++]=n}}if(d%2!=0)throw new i(`Invalid Base16`);let f=new Uint8Array(Math.ceil(e.length/2)),p=0;for(let e=0;e<d;e+=2){let t=u[e],n=u[e+1],i=r[t],a=r[n],o=(i&15)<<4|a&15;f[p++]=o}return f.subarray(0,p)}});var a=class{static textDecoder=new TextDecoder},o=class extends n{},s=class extends o{};(class e extends a{static PADDING_CHAR_CODE=61;static TABLE=`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`;static ENCODED_TABLE=new Uint8Array([...this.TABLE].map(e=>e.charCodeAt(0)));static DECODED_TABLE=new Uint8Array(256);static{this.DECODED_TABLE.fill(255);for(let e=0;e<this.TABLE.length;e++)this.DECODED_TABLE[this.TABLE.charCodeAt(e)]=e}encode(t){let n=e.ENCODED_TABLE,r=new Uint8Array(Math.ceil(t.length/5)*8),i=0;for(let e=0;e<t.length;e+=5){let a=t[e],o=t[e+1]??0,s=t[e+2]??0,c=t[e+3]??0,l=t[e+4]??0,u=(a&255)>>3,d=(a&7)<<2|(o&192)>>6,f=(o&62)>>1,p=(o&1)<<4|(s&240)>>4,m=(s&15)<<1|(c&128)>>7,h=(c&124)>>2,g=(c&3)<<3|(l&224)>>5,_=l&31,v=n[u],y=n[d],b=n[f],x=n[p],S=n[m],C=n[h],w=n[g],T=n[_];r[i++]=v,r[i++]=y,r[i++]=b,r[i++]=x,r[i++]=S,r[i++]=C,r[i++]=w,r[i++]=T}let o=t.length%5,s=o===4?1:o===3?3:o===2?4:o===1?6:0;for(let t=s;t>0;t--)r[i-t]=e.PADDING_CHAR_CODE;return a.textDecoder.decode(r.subarray(0,i))}decode(n){let r=n.toUpperCase(),i=e.DECODED_TABLE,a=e.PADDING_CHAR_CODE,{CR:o,LF:c,SP:l,HT:u}=t,d=new Uint8Array(n.length),f=0;for(let e=0;e<n.length;e++){let t=r.charCodeAt(e);t!==o&&t!==c&&t!==l&&t!==u&&(d[f++]=t)}if(f%8!=0)throw new s(`Invalid length string.`);let p=-1;for(let e=0;e<f;e++)if(d[e]===a){p=e;break}let m=0;if(p!==-1){if(p<f-6)throw new s(`Invalid padding position.`);for(let e=p;e<f;e++)if(d[e]!==a)throw new s(`Invalid padding`);if(m=f-p,m!==1&&m!==3&&m!==4&&m!==6)throw new s(`Invalid padding`)}let h=new Uint8Array(Math.floor((f-m)*5/8)),g=0;for(let e=0;e<f;e+=8){let t=d[e],n=d[e+1],r=d[e+2],o=d[e+3],c=d[e+4],l=d[e+5],u=d[e+6],f=d[e+7],p=i[t],m=i[n],_=r===a?0:i[r],v=o===a?0:i[o],y=c===a?0:i[c],b=l===a?0:i[l],x=u===a?0:i[u],S=f===a?0:i[f];if(p===255||m===255||_===255||v===255||y===255||b===255||x===255||S===255)throw new s(`Invalid Base32`);let C=(p&31)<<3|(m&28)>>2,w=(m&3)<<6|(_&31)<<1|(v&16)>>4,T=(v&15)<<4|(y&30)>>1,E=(y&1)<<7|(b&31)<<2|(x&24)>>3,D=(x&7)<<5|S&31;h[g++]=C,g<h.length&&(h[g++]=w),g<h.length&&(h[g++]=T),g<h.length&&c!==a&&(h[g++]=E),g<h.length&&u!=a&&(h[g++]=D)}return h.subarray(0,g)}}),class e extends a{static PADDING_CHAR_CODE=61;static TABLE=`0123456789ABCDEFGHIJKLMNOPQRSTUV`;static ENCODED_TABLE=new Uint8Array([...this.TABLE].map(e=>e.charCodeAt(0)));static DECODED_TABLE=new Uint8Array(256);static{this.DECODED_TABLE.fill(255);for(let e=0;e<this.TABLE.length;e++)this.DECODED_TABLE[this.TABLE.charCodeAt(e)]=e}encode(t){let n=e.ENCODED_TABLE,r=new Uint8Array(Math.ceil(t.length/5)*8),i=0;for(let e=0;e<t.length;e+=5){let a=t[e],o=t[e+1]??0,s=t[e+2]??0,c=t[e+3]??0,l=t[e+4]??0,u=(a&255)>>3,d=(a&7)<<2|(o&192)>>6,f=(o&62)>>1,p=(o&1)<<4|(s&240)>>4,m=(s&15)<<1|(c&128)>>7,h=(c&124)>>2,g=(c&3)<<3|(l&224)>>5,_=l&31,v=n[u],y=n[d],b=n[f],x=n[p],S=n[m],C=n[h],w=n[g],T=n[_];r[i++]=v,r[i++]=y,r[i++]=b,r[i++]=x,r[i++]=S,r[i++]=C,r[i++]=w,r[i++]=T}let o=t.length%5,s=o===4?1:o===3?3:o===2?4:o===1?6:0;for(let t=s;t>0;t--)r[i-t]=e.PADDING_CHAR_CODE;return a.textDecoder.decode(r.subarray(0,i))}decode(n){let r=n.toUpperCase(),i=e.DECODED_TABLE,a=e.PADDING_CHAR_CODE,{CR:o,LF:c,SP:l,HT:u}=t,d=new Uint8Array(n.length),f=0;for(let e=0;e<n.length;e++){let t=r.charCodeAt(e);t!==o&&t!==c&&t!==l&&t!==u&&(d[f++]=t)}if(f%8!=0)throw new s(`Invalid length string.`);let p=-1;for(let e=0;e<f;e++)if(d[e]===a){p=e;break}let m=0;if(p!==-1){if(p<f-6)throw new s(`Invalid padding position.`);for(let e=p;e<f;e++)if(d[e]!==a)throw new s(`Invalid padding`);if(m=f-p,m!==1&&m!==3&&m!==4&&m!==6)throw new s(`Invalid padding`)}let h=new Uint8Array(Math.floor((f-m)*5/8)),g=0;for(let e=0;e<f;e+=8){let t=d[e],n=d[e+1],r=d[e+2],o=d[e+3],c=d[e+4],l=d[e+5],u=d[e+6],f=d[e+7],p=i[t],m=i[n],_=r===a?0:i[r],v=o===a?0:i[o],y=c===a?0:i[c],b=l===a?0:i[l],x=u===a?0:i[u],S=f===a?0:i[f];if(p===255||m===255||_===255||v===255||y===255||b===255||x===255||S===255)throw new s(`Invalid Base32`);let C=(p&31)<<3|(m&28)>>2,w=(m&3)<<6|(_&31)<<1|(v&16)>>4,T=(v&15)<<4|(y&30)>>1,E=(y&1)<<7|(b&31)<<2|(x&24)>>3,D=(x&7)<<5|S&31;h[g++]=C,g<h.length&&(h[g++]=w),g<h.length&&(h[g++]=T),g<h.length&&c!==a&&(h[g++]=E),g<h.length&&u!=a&&(h[g++]=D)}return h.subarray(0,g)}};var c=class{},l=class extends n{},u=class extends l{};(class e extends c{static PADDING_CHAR_CODE=61;static TABLE=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`;static DECODE_TABLE=new Uint8Array(256);static ENCODE_TABLE=new Uint8Array([...this.TABLE].map(e=>e.charCodeAt(0)));static decoder=new TextDecoder;static{this.DECODE_TABLE.fill(255);for(let e=0;e<this.TABLE.length;e++)this.DECODE_TABLE[this.TABLE.charCodeAt(e)]=e}encode=n=>{if(n.length===0)return``;let r=e.ENCODE_TABLE,i=Math.ceil(n.length/3)*4,a=Math.floor((i-1)/76),o=new Uint8Array(i+a*2),s=0,c=0;for(let e=0;e<n.length;e+=3){let i=n[e],a=n[e+1]??0,l=n[e+2]??0,u=i>>2,d=(i&3)<<4|a>>4,f=(a&15)<<2|l>>6,p=l&63;o[s++]=r[u],o[s++]=r[d],o[s++]=r[f],o[s++]=r[p],c+=4,c===76&&s<o.length&&(c=0,o[s++]=t.CR,o[s++]=t.LF)}let l=n.length%3;return l===1?(o[s-2]=e.PADDING_CHAR_CODE,o[s-1]=e.PADDING_CHAR_CODE):l===2&&(o[s-1]=e.PADDING_CHAR_CODE),e.decoder.decode(o.subarray(0,s))};decode=n=>{let r=e.DECODE_TABLE,i=new Uint8Array(n.length),a=0;for(let e=0;e<n.length;e++){let r=n.charCodeAt(e);r!==t.CR&&r!==t.LF&&r!==t.SP&&r!==t.HT&&(i[a++]=r)}if(a%4!=0)throw new u(`Invalid length string`);let o=-1;for(let t=0;t<a;t++)if(i[t]===e.PADDING_CHAR_CODE){o=t;break}if(o!==-1){if(o<a-2)throw new u(`Invalid padding position`);for(let t=o;t<a;t++)if(i[t]!==e.PADDING_CHAR_CODE)throw new u(`Invalid padding`);let t=a-o;if(t!==1&&t!==2)throw new u(`Invalid padding`)}let s=a,c=i[s-1]===e.PADDING_CHAR_CODE?i[s-2]===e.PADDING_CHAR_CODE?2:1:0,l=new Uint8Array(a/4*3-c),d=0;for(let t=0;t<a;t+=4){let n=i[t],a=i[t+1],o=i[t+2],s=i[t+3],c=r[n],f=r[a],p=o===e.PADDING_CHAR_CODE?0:r[o],m=s===e.PADDING_CHAR_CODE?0:r[s];if(c===255||f===255||o!==e.PADDING_CHAR_CODE&&p===255||s!==e.PADDING_CHAR_CODE&&m===255)throw new u(`Invalid Base64`);let h=c<<2|f>>4,g=(f&15)<<4|p>>2,_=(p&3)<<6|m;l[d++]=h,o!==e.PADDING_CHAR_CODE&&(l[d++]=g),s!==e.PADDING_CHAR_CODE&&(l[d++]=_)}return l}}),class e extends c{static PADDING_CHAR_CODE=61;static TABLE=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`;static DECODE_TABLE=new Uint8Array(256);static ENCODE_TABLE=new Uint8Array([...this.TABLE].map(e=>e.charCodeAt(0)));static decoder=new TextDecoder;static{this.DECODE_TABLE.fill(255);for(let e=0;e<this.TABLE.length;e++)this.DECODE_TABLE[this.TABLE.charCodeAt(e)]=e}encode=t=>{if(t.length===0)return``;let n=e.ENCODE_TABLE,r=Math.ceil(t.length/3)*4,i=Math.floor((r-1)/76),a=new Uint8Array(r+i*2),o=0;for(let e=0;e<t.length;e+=3){let r=t[e],i=t[e+1]??0,s=t[e+2]??0,c=r>>2,l=(r&3)<<4|i>>4,u=(i&15)<<2|s>>6,d=s&63;a[o++]=n[c],a[o++]=n[l],a[o++]=n[u],a[o++]=n[d]}let s=t.length%3;return s===1?(a[o-2]=e.PADDING_CHAR_CODE,a[o-1]=e.PADDING_CHAR_CODE):s===2&&(a[o-1]=e.PADDING_CHAR_CODE),e.decoder.decode(a.subarray(0,o))};decode=n=>{let r=e.DECODE_TABLE,i=new Uint8Array(n.length),a=0;for(let e=0;e<n.length;e++){let r=n.charCodeAt(e);r!==t.CR&&r!==t.LF&&r!==t.SP&&r!==t.HT&&(i[a++]=r)}if(a%4!=0)throw new u(`Invalid length string`);let o=-1;for(let t=0;t<a;t++)if(i[t]===e.PADDING_CHAR_CODE){o=t;break}if(o!==-1){if(o<a-2)throw new u(`Invalid padding position`);for(let t=o;t<a;t++)if(i[t]!==e.PADDING_CHAR_CODE)throw new u(`Invalid padding`);let t=a-o;if(t!==1&&t!==2)throw new u(`Invalid padding`)}let s=a,c=i[s-1]===e.PADDING_CHAR_CODE?i[s-2]===e.PADDING_CHAR_CODE?2:1:0,l=new Uint8Array(a/4*3-c),d=0;for(let t=0;t<a;t+=4){let n=i[t],a=i[t+1],o=i[t+2],s=i[t+3],c=r[n],f=r[a],p=o===e.PADDING_CHAR_CODE?0:r[o],m=s===e.PADDING_CHAR_CODE?0:r[s];if(c===255||f===255||o!==e.PADDING_CHAR_CODE&&p===255||s!==e.PADDING_CHAR_CODE&&m===255)throw new u(`Invalid Base64`);let h=c<<2|f>>4,g=(f&15)<<4|p>>2,_=(p&3)<<6|m;l[d++]=h,o!==e.PADDING_CHAR_CODE&&(l[d++]=g),s!==e.PADDING_CHAR_CODE&&(l[d++]=_)}return l}},class e extends c{static PADDING_CHAR_CODE=61;static TABLE=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`;static DECODE_TABLE=new Uint8Array(256);static ENCODE_TABLE=new Uint8Array([...this.TABLE].map(e=>e.charCodeAt(0)));static decoder=new TextDecoder;static{this.DECODE_TABLE.fill(255);for(let e=0;e<this.TABLE.length;e++)this.DECODE_TABLE[this.TABLE.charCodeAt(e)]=e}encode=n=>{if(n.length===0)return``;let r=e.ENCODE_TABLE,i=Math.ceil(n.length/3)*4,a=Math.floor((i-1)/76),o=new Uint8Array(i+a*2),s=0,c=0;for(let e=0;e<n.length;e+=3){let i=n[e],a=n[e+1]??0,l=n[e+2]??0,u=i>>2,d=(i&3)<<4|a>>4,f=(a&15)<<2|l>>6,p=l&63;o[s++]=r[u],o[s++]=r[d],o[s++]=r[f],o[s++]=r[p],c+=4,c===76&&s<o.length&&(c=0,o[s++]=t.CR,o[s++]=t.LF)}let l=n.length%3;return l===1?(o[s-2]=e.PADDING_CHAR_CODE,o[s-1]=e.PADDING_CHAR_CODE):l===2&&(o[s-1]=e.PADDING_CHAR_CODE),e.decoder.decode(o.subarray(0,s))};decode=n=>{let r=e.DECODE_TABLE,i=new Uint8Array(n.length),a=0;for(let e=0;e<n.length;e++){let r=n.charCodeAt(e);r!==t.CR&&r!==t.LF&&r!==t.SP&&r!==t.HT&&(i[a++]=r)}if(a%4!=0)throw new u(`Invalid length string`);let o=-1;for(let t=0;t<a;t++)if(i[t]===e.PADDING_CHAR_CODE){o=t;break}if(o!==-1){if(o<a-2)throw new u(`Invalid padding position`);for(let t=o;t<a;t++)if(i[t]!==e.PADDING_CHAR_CODE)throw new u(`Invalid padding`);let t=a-o;if(t!==1&&t!==2)throw new u(`Invalid padding`)}let s=a,c=i[s-1]===e.PADDING_CHAR_CODE?i[s-2]===e.PADDING_CHAR_CODE?2:1:0,l=new Uint8Array(a/4*3-c),d=0;for(let t=0;t<a;t+=4){let n=i[t],a=i[t+1],o=i[t+2],s=i[t+3],c=r[n],f=r[a],p=o===e.PADDING_CHAR_CODE?0:r[o],m=s===e.PADDING_CHAR_CODE?0:r[s];if(c===255||f===255||o!==e.PADDING_CHAR_CODE&&p===255||s!==e.PADDING_CHAR_CODE&&m===255)throw new u(`Invalid Base64`);let h=c<<2|f>>4,g=(f&15)<<4|p>>2,_=(p&3)<<6|m;l[d++]=h,o!==e.PADDING_CHAR_CODE&&(l[d++]=g),s!==e.PADDING_CHAR_CODE&&(l[d++]=_)}return l}};
|
package/package.json
CHANGED