brotli-wasm
Advanced tools
Comparing version 1.3.0 to 1.3.1
{ | ||
"name": "brotli-wasm", | ||
"version": "1.3.0", | ||
"version": "1.3.1", | ||
"description": "A reliable compressor and decompressor for Brotli, supporting node & browsers via wasm", | ||
@@ -5,0 +5,0 @@ "types": "./index.d.ts", |
@@ -46,2 +46,14 @@ /* tslint:disable */ | ||
export function BrotliEncoderCompressMulti(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number): number; | ||
export function BroccoliCreateInstance(a: number): void; | ||
export function BroccoliCreateInstanceWithWindowSize(a: number, b: number): void; | ||
export function BroccoliDestroyInstance(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: number, d1: number, e1: number, f1: number, g1: number, h1: number, i1: number, j1: number, k1: number, l1: number, m1: number, n1: number, o1: number, p1: number, q1: number, r1: number, s1: number, t1: number, u1: number, v1: number, w1: number, x1: number, y1: number, z1: number, a2: number, b2: number, c2: number, d2: number, e2: number, f2: number, g2: number, h2: number, i2: number, j2: number, k2: number, l2: number, m2: number, n2: number, o2: number, p2: number, q2: number, r2: number, s2: number, t2: number, u2: number, v2: number, w2: number, x2: number, y2: number, z2: number, a3: number, b3: number, c3: number, d3: number, e3: number, f3: number, g3: number, h3: number, i3: number, j3: number, k3: number, l3: number, m3: number, n3: number, o3: number, p3: number, q3: number, r3: number, s3: number, t3: number, u3: number, v3: number, w3: number, x3: number, y3: number, z3: number, a4: number, b4: number, c4: number, d4: number, e4: number, f4: number, g4: number, h4: number, i4: number, j4: number, k4: number, l4: number, m4: number, n4: number, o4: number, p4: number, q4: number): void; | ||
export function BroccoliNewBrotliFile(a: number): void; | ||
export function BroccoliConcatStream(a: number, b: number, c: number, d: number, e: number): number; | ||
export function BroccoliConcatStreaming(a: number, b: number, c: number, d: number, e: number): number; | ||
export function BroccoliConcatFinish(a: number, b: number, c: number): number; | ||
export function BroccoliConcatFinished(a: number, b: number, c: number): number; | ||
export function BrotliEncoderMaxCompressedSizeMulti(a: number, b: number): number; | ||
export function BrotliEncoderCreateWorkPool(a: number, b: number, c: number, d: number): number; | ||
export function BrotliEncoderDestroyWorkPool(a: number): void; | ||
export function BrotliEncoderCompressWorkPool(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number): number; | ||
export function BrotliEncoderCreateInstance(a: number, b: number, c: number): number; | ||
@@ -63,14 +75,2 @@ export function BrotliEncoderSetParameter(a: number, b: number, c: number): number; | ||
export function BrotliEncoderFreeUsize(a: number, b: number, c: number): void; | ||
export function BroccoliCreateInstance(a: number): void; | ||
export function BroccoliCreateInstanceWithWindowSize(a: number, b: number): void; | ||
export function BroccoliDestroyInstance(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: number, d1: number, e1: number, f1: number, g1: number, h1: number, i1: number, j1: number, k1: number, l1: number, m1: number, n1: number, o1: number, p1: number, q1: number, r1: number, s1: number, t1: number, u1: number, v1: number, w1: number, x1: number, y1: number, z1: number, a2: number, b2: number, c2: number, d2: number, e2: number, f2: number, g2: number, h2: number, i2: number, j2: number, k2: number, l2: number, m2: number, n2: number, o2: number, p2: number, q2: number, r2: number, s2: number, t2: number, u2: number, v2: number, w2: number, x2: number, y2: number, z2: number, a3: number, b3: number, c3: number, d3: number, e3: number, f3: number, g3: number, h3: number, i3: number, j3: number, k3: number, l3: number, m3: number, n3: number, o3: number, p3: number, q3: number, r3: number, s3: number, t3: number, u3: number, v3: number, w3: number, x3: number, y3: number, z3: number, a4: number, b4: number, c4: number, d4: number, e4: number, f4: number, g4: number, h4: number, i4: number, j4: number, k4: number, l4: number, m4: number, n4: number, o4: number, p4: number, q4: number): void; | ||
export function BroccoliNewBrotliFile(a: number): void; | ||
export function BroccoliConcatStream(a: number, b: number, c: number, d: number, e: number): number; | ||
export function BroccoliConcatStreaming(a: number, b: number, c: number, d: number, e: number): number; | ||
export function BroccoliConcatFinish(a: number, b: number, c: number): number; | ||
export function BroccoliConcatFinished(a: number, b: number, c: number): number; | ||
export function BrotliEncoderMaxCompressedSizeMulti(a: number, b: number): number; | ||
export function BrotliEncoderCreateWorkPool(a: number, b: number, c: number, d: number): number; | ||
export function BrotliEncoderDestroyWorkPool(a: number): void; | ||
export function BrotliEncoderCompressWorkPool(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number): number; | ||
export function __wbindgen_malloc(a: number): number; | ||
@@ -77,0 +77,0 @@ export function __wbindgen_realloc(a: number, b: number, c: number): number; |
@@ -46,2 +46,14 @@ /* tslint:disable */ | ||
export function BrotliEncoderCompressMulti(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number): number; | ||
export function BroccoliCreateInstance(a: number): void; | ||
export function BroccoliCreateInstanceWithWindowSize(a: number, b: number): void; | ||
export function BroccoliDestroyInstance(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: number, d1: number, e1: number, f1: number, g1: number, h1: number, i1: number, j1: number, k1: number, l1: number, m1: number, n1: number, o1: number, p1: number, q1: number, r1: number, s1: number, t1: number, u1: number, v1: number, w1: number, x1: number, y1: number, z1: number, a2: number, b2: number, c2: number, d2: number, e2: number, f2: number, g2: number, h2: number, i2: number, j2: number, k2: number, l2: number, m2: number, n2: number, o2: number, p2: number, q2: number, r2: number, s2: number, t2: number, u2: number, v2: number, w2: number, x2: number, y2: number, z2: number, a3: number, b3: number, c3: number, d3: number, e3: number, f3: number, g3: number, h3: number, i3: number, j3: number, k3: number, l3: number, m3: number, n3: number, o3: number, p3: number, q3: number, r3: number, s3: number, t3: number, u3: number, v3: number, w3: number, x3: number, y3: number, z3: number, a4: number, b4: number, c4: number, d4: number, e4: number, f4: number, g4: number, h4: number, i4: number, j4: number, k4: number, l4: number, m4: number, n4: number, o4: number, p4: number, q4: number): void; | ||
export function BroccoliNewBrotliFile(a: number): void; | ||
export function BroccoliConcatStream(a: number, b: number, c: number, d: number, e: number): number; | ||
export function BroccoliConcatStreaming(a: number, b: number, c: number, d: number, e: number): number; | ||
export function BroccoliConcatFinish(a: number, b: number, c: number): number; | ||
export function BroccoliConcatFinished(a: number, b: number, c: number): number; | ||
export function BrotliEncoderMaxCompressedSizeMulti(a: number, b: number): number; | ||
export function BrotliEncoderCreateWorkPool(a: number, b: number, c: number, d: number): number; | ||
export function BrotliEncoderDestroyWorkPool(a: number): void; | ||
export function BrotliEncoderCompressWorkPool(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number): number; | ||
export function BrotliEncoderCreateInstance(a: number, b: number, c: number): number; | ||
@@ -63,14 +75,2 @@ export function BrotliEncoderSetParameter(a: number, b: number, c: number): number; | ||
export function BrotliEncoderFreeUsize(a: number, b: number, c: number): void; | ||
export function BroccoliCreateInstance(a: number): void; | ||
export function BroccoliCreateInstanceWithWindowSize(a: number, b: number): void; | ||
export function BroccoliDestroyInstance(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: number, d1: number, e1: number, f1: number, g1: number, h1: number, i1: number, j1: number, k1: number, l1: number, m1: number, n1: number, o1: number, p1: number, q1: number, r1: number, s1: number, t1: number, u1: number, v1: number, w1: number, x1: number, y1: number, z1: number, a2: number, b2: number, c2: number, d2: number, e2: number, f2: number, g2: number, h2: number, i2: number, j2: number, k2: number, l2: number, m2: number, n2: number, o2: number, p2: number, q2: number, r2: number, s2: number, t2: number, u2: number, v2: number, w2: number, x2: number, y2: number, z2: number, a3: number, b3: number, c3: number, d3: number, e3: number, f3: number, g3: number, h3: number, i3: number, j3: number, k3: number, l3: number, m3: number, n3: number, o3: number, p3: number, q3: number, r3: number, s3: number, t3: number, u3: number, v3: number, w3: number, x3: number, y3: number, z3: number, a4: number, b4: number, c4: number, d4: number, e4: number, f4: number, g4: number, h4: number, i4: number, j4: number, k4: number, l4: number, m4: number, n4: number, o4: number, p4: number, q4: number): void; | ||
export function BroccoliNewBrotliFile(a: number): void; | ||
export function BroccoliConcatStream(a: number, b: number, c: number, d: number, e: number): number; | ||
export function BroccoliConcatStreaming(a: number, b: number, c: number, d: number, e: number): number; | ||
export function BroccoliConcatFinish(a: number, b: number, c: number): number; | ||
export function BroccoliConcatFinished(a: number, b: number, c: number): number; | ||
export function BrotliEncoderMaxCompressedSizeMulti(a: number, b: number): number; | ||
export function BrotliEncoderCreateWorkPool(a: number, b: number, c: number, d: number): number; | ||
export function BrotliEncoderDestroyWorkPool(a: number): void; | ||
export function BrotliEncoderCompressWorkPool(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number): number; | ||
export function __wbindgen_malloc(a: number): number; | ||
@@ -77,0 +77,0 @@ export function __wbindgen_realloc(a: number, b: number, c: number): number; |
@@ -46,2 +46,14 @@ /* tslint:disable */ | ||
export function BrotliEncoderCompressMulti(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number): number; | ||
export function BroccoliCreateInstance(a: number): void; | ||
export function BroccoliCreateInstanceWithWindowSize(a: number, b: number): void; | ||
export function BroccoliDestroyInstance(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: number, d1: number, e1: number, f1: number, g1: number, h1: number, i1: number, j1: number, k1: number, l1: number, m1: number, n1: number, o1: number, p1: number, q1: number, r1: number, s1: number, t1: number, u1: number, v1: number, w1: number, x1: number, y1: number, z1: number, a2: number, b2: number, c2: number, d2: number, e2: number, f2: number, g2: number, h2: number, i2: number, j2: number, k2: number, l2: number, m2: number, n2: number, o2: number, p2: number, q2: number, r2: number, s2: number, t2: number, u2: number, v2: number, w2: number, x2: number, y2: number, z2: number, a3: number, b3: number, c3: number, d3: number, e3: number, f3: number, g3: number, h3: number, i3: number, j3: number, k3: number, l3: number, m3: number, n3: number, o3: number, p3: number, q3: number, r3: number, s3: number, t3: number, u3: number, v3: number, w3: number, x3: number, y3: number, z3: number, a4: number, b4: number, c4: number, d4: number, e4: number, f4: number, g4: number, h4: number, i4: number, j4: number, k4: number, l4: number, m4: number, n4: number, o4: number, p4: number, q4: number): void; | ||
export function BroccoliNewBrotliFile(a: number): void; | ||
export function BroccoliConcatStream(a: number, b: number, c: number, d: number, e: number): number; | ||
export function BroccoliConcatStreaming(a: number, b: number, c: number, d: number, e: number): number; | ||
export function BroccoliConcatFinish(a: number, b: number, c: number): number; | ||
export function BroccoliConcatFinished(a: number, b: number, c: number): number; | ||
export function BrotliEncoderMaxCompressedSizeMulti(a: number, b: number): number; | ||
export function BrotliEncoderCreateWorkPool(a: number, b: number, c: number, d: number): number; | ||
export function BrotliEncoderDestroyWorkPool(a: number): void; | ||
export function BrotliEncoderCompressWorkPool(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number): number; | ||
export function BrotliEncoderCreateInstance(a: number, b: number, c: number): number; | ||
@@ -63,14 +75,2 @@ export function BrotliEncoderSetParameter(a: number, b: number, c: number): number; | ||
export function BrotliEncoderFreeUsize(a: number, b: number, c: number): void; | ||
export function BroccoliCreateInstance(a: number): void; | ||
export function BroccoliCreateInstanceWithWindowSize(a: number, b: number): void; | ||
export function BroccoliDestroyInstance(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: number, d1: number, e1: number, f1: number, g1: number, h1: number, i1: number, j1: number, k1: number, l1: number, m1: number, n1: number, o1: number, p1: number, q1: number, r1: number, s1: number, t1: number, u1: number, v1: number, w1: number, x1: number, y1: number, z1: number, a2: number, b2: number, c2: number, d2: number, e2: number, f2: number, g2: number, h2: number, i2: number, j2: number, k2: number, l2: number, m2: number, n2: number, o2: number, p2: number, q2: number, r2: number, s2: number, t2: number, u2: number, v2: number, w2: number, x2: number, y2: number, z2: number, a3: number, b3: number, c3: number, d3: number, e3: number, f3: number, g3: number, h3: number, i3: number, j3: number, k3: number, l3: number, m3: number, n3: number, o3: number, p3: number, q3: number, r3: number, s3: number, t3: number, u3: number, v3: number, w3: number, x3: number, y3: number, z3: number, a4: number, b4: number, c4: number, d4: number, e4: number, f4: number, g4: number, h4: number, i4: number, j4: number, k4: number, l4: number, m4: number, n4: number, o4: number, p4: number, q4: number): void; | ||
export function BroccoliNewBrotliFile(a: number): void; | ||
export function BroccoliConcatStream(a: number, b: number, c: number, d: number, e: number): number; | ||
export function BroccoliConcatStreaming(a: number, b: number, c: number, d: number, e: number): number; | ||
export function BroccoliConcatFinish(a: number, b: number, c: number): number; | ||
export function BroccoliConcatFinished(a: number, b: number, c: number): number; | ||
export function BrotliEncoderMaxCompressedSizeMulti(a: number, b: number): number; | ||
export function BrotliEncoderCreateWorkPool(a: number, b: number, c: number, d: number): number; | ||
export function BrotliEncoderDestroyWorkPool(a: number): void; | ||
export function BrotliEncoderCompressWorkPool(a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number): number; | ||
export function __wbindgen_malloc(a: number): number; | ||
@@ -77,0 +77,0 @@ export function __wbindgen_realloc(a: number, b: number, c: number): number; |
@@ -131,2 +131,14 @@ /* tslint:disable */ | ||
readonly BrotliEncoderCompressMulti: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => number; | ||
readonly BroccoliCreateInstance: (a: number) => void; | ||
readonly BroccoliCreateInstanceWithWindowSize: (a: number, b: number) => void; | ||
readonly BroccoliDestroyInstance: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: number, d1: number, e1: number, f1: number, g1: number, h1: number, i1: number, j1: number, k1: number, l1: number, m1: number, n1: number, o1: number, p1: number, q1: number, r1: number, s1: number, t1: number, u1: number, v1: number, w1: number, x1: number, y1: number, z1: number, a2: number, b2: number, c2: number, d2: number, e2: number, f2: number, g2: number, h2: number, i2: number, j2: number, k2: number, l2: number, m2: number, n2: number, o2: number, p2: number, q2: number, r2: number, s2: number, t2: number, u2: number, v2: number, w2: number, x2: number, y2: number, z2: number, a3: number, b3: number, c3: number, d3: number, e3: number, f3: number, g3: number, h3: number, i3: number, j3: number, k3: number, l3: number, m3: number, n3: number, o3: number, p3: number, q3: number, r3: number, s3: number, t3: number, u3: number, v3: number, w3: number, x3: number, y3: number, z3: number, a4: number, b4: number, c4: number, d4: number, e4: number, f4: number, g4: number, h4: number, i4: number, j4: number, k4: number, l4: number, m4: number, n4: number, o4: number, p4: number, q4: number) => void; | ||
readonly BroccoliNewBrotliFile: (a: number) => void; | ||
readonly BroccoliConcatStream: (a: number, b: number, c: number, d: number, e: number) => number; | ||
readonly BroccoliConcatStreaming: (a: number, b: number, c: number, d: number, e: number) => number; | ||
readonly BroccoliConcatFinish: (a: number, b: number, c: number) => number; | ||
readonly BroccoliConcatFinished: (a: number, b: number, c: number) => number; | ||
readonly BrotliEncoderMaxCompressedSizeMulti: (a: number, b: number) => number; | ||
readonly BrotliEncoderCreateWorkPool: (a: number, b: number, c: number, d: number) => number; | ||
readonly BrotliEncoderDestroyWorkPool: (a: number) => void; | ||
readonly BrotliEncoderCompressWorkPool: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number) => number; | ||
readonly BrotliEncoderCreateInstance: (a: number, b: number, c: number) => number; | ||
@@ -148,14 +160,2 @@ readonly BrotliEncoderSetParameter: (a: number, b: number, c: number) => number; | ||
readonly BrotliEncoderFreeUsize: (a: number, b: number, c: number) => void; | ||
readonly BroccoliCreateInstance: (a: number) => void; | ||
readonly BroccoliCreateInstanceWithWindowSize: (a: number, b: number) => void; | ||
readonly BroccoliDestroyInstance: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: number, d1: number, e1: number, f1: number, g1: number, h1: number, i1: number, j1: number, k1: number, l1: number, m1: number, n1: number, o1: number, p1: number, q1: number, r1: number, s1: number, t1: number, u1: number, v1: number, w1: number, x1: number, y1: number, z1: number, a2: number, b2: number, c2: number, d2: number, e2: number, f2: number, g2: number, h2: number, i2: number, j2: number, k2: number, l2: number, m2: number, n2: number, o2: number, p2: number, q2: number, r2: number, s2: number, t2: number, u2: number, v2: number, w2: number, x2: number, y2: number, z2: number, a3: number, b3: number, c3: number, d3: number, e3: number, f3: number, g3: number, h3: number, i3: number, j3: number, k3: number, l3: number, m3: number, n3: number, o3: number, p3: number, q3: number, r3: number, s3: number, t3: number, u3: number, v3: number, w3: number, x3: number, y3: number, z3: number, a4: number, b4: number, c4: number, d4: number, e4: number, f4: number, g4: number, h4: number, i4: number, j4: number, k4: number, l4: number, m4: number, n4: number, o4: number, p4: number, q4: number) => void; | ||
readonly BroccoliNewBrotliFile: (a: number) => void; | ||
readonly BroccoliConcatStream: (a: number, b: number, c: number, d: number, e: number) => number; | ||
readonly BroccoliConcatStreaming: (a: number, b: number, c: number, d: number, e: number) => number; | ||
readonly BroccoliConcatFinish: (a: number, b: number, c: number) => number; | ||
readonly BroccoliConcatFinished: (a: number, b: number, c: number) => number; | ||
readonly BrotliEncoderMaxCompressedSizeMulti: (a: number, b: number) => number; | ||
readonly BrotliEncoderCreateWorkPool: (a: number, b: number, c: number, d: number) => number; | ||
readonly BrotliEncoderDestroyWorkPool: (a: number) => void; | ||
readonly BrotliEncoderCompressWorkPool: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number) => number; | ||
readonly __wbindgen_malloc: (a: number) => number; | ||
@@ -162,0 +162,0 @@ readonly __wbindgen_realloc: (a: number, b: number, c: number) => number; |
@@ -32,6 +32,8 @@ # brotli-wasm [![Build Status](https://github.com/httptoolkit/brotli-wasm/workflows/CI/badge.svg)](https://github.com/httptoolkit/brotli-wasm/actions) [![Available on NPM](https://img.shields.io/npm/v/brotli-wasm.svg)](https://npmjs.com/package/brotli-wasm) | ||
In node.js: | ||
If you want to support node & browsers with the same code, you can use the `await` browser-compatible form with the default export everywhere. | ||
#### In node.js: | ||
```javascript | ||
const * as brotli = require('brotli-wasm'); | ||
const brotli = require('brotli-wasm'); | ||
@@ -44,3 +46,3 @@ const compressedData = brotli.compress(Buffer.from('some input')); | ||
In browsers: | ||
#### In browsers: | ||
@@ -52,12 +54,80 @@ ```javascript | ||
const compressedData = brotli.compress(Buffer.from('some input')); | ||
const textEncoder = new TextEncoder(); | ||
const textDecoder = new TextDecoder(); | ||
const input = 'some input'; | ||
const uncompressedData = textEncoder.encode('some input'); | ||
const compressedData = brotli.compress(uncompressedData); | ||
const decompressedData = brotli.decompress(compressedData); | ||
console.log(Buffer.from(decompressedData).toString('utf8')); // Prints 'some input' | ||
console.log(textDecoder.decode(decompressedData)); // Prints 'some input' | ||
``` | ||
The package itself has no runtime dependencies, but you will need a [browser Buffer polyfill](https://www.npmjs.com/package/browserify-zlib) for the above example code, or you can do the same using TextEncoder/Decoder instead if you prefer. | ||
The package itself has no runtime dependencies, although if you prefer using `Buffer` over using `TextEncoder/TextDecoder` you may want a [browser Buffer polyfill](https://www.npmjs.com/package/browserify-zlib). | ||
If you want to support node & browsers with the same code, you can use the `await` form with the default export everywhere. | ||
#### In browser with streams: | ||
```javascript | ||
import brotliPromise from 'brotli-wasm'; // Import the default export | ||
const brotli = await brotliPromise; // Import is async in browsers due to wasm requirements! | ||
const input = 'some input'; | ||
const inputStream = new ReadableStream({ | ||
start (controller) { | ||
controller.enqueue(input); | ||
controller.close(); | ||
} | ||
}); | ||
const textEncoderStream = new TextEncoderStream(); | ||
const compressStream = new brotli.CompressStream(); | ||
const compressionStream = new TransformStream({ | ||
start () {}, | ||
transform (chunk, controller) { | ||
controller.enqueue(compressStream.compress(chunk, 100)); | ||
}, | ||
flush (controller) { | ||
if (compressStream.result() === brotli.BrotliStreamResult.NeedsMoreInput) { | ||
controller.enqueue(compressStream.compress(undefined, 100)); | ||
} | ||
controller.terminate(); | ||
} | ||
}); | ||
const decompressStream = new brotli.DecompressStream(); | ||
const decompressionStream = new TransformStream({ | ||
start () {}, | ||
transform (chunk, controller) { | ||
controller.enqueue(decompressStream.decompress(chunk, 100)); | ||
}, | ||
flush (controller) { | ||
if (decompressStream.result() === brotli.BrotliStreamResult.NeedsMoreInput) { | ||
controller.enqueue(decompressStream.decompress(undefined, 100)); | ||
} | ||
controller.terminate(); | ||
} | ||
}); | ||
const textDecoderStream = new TextDecoderStream() | ||
const outputStream = new WritableStream({ | ||
write (chunk) { | ||
output += chunk; | ||
} | ||
}); | ||
let output = ''; | ||
await inputStream | ||
.pipeThrough(textEncoderStream) | ||
.pipeThrough(compressionStream) | ||
.pipeThrough(decompressionStream) | ||
.pipeThrough(textDecoderStream) | ||
.pipeTo(outputStream); | ||
console.log(output); // Prints 'some input' | ||
``` | ||
Note that `TransformStream` has become available in all browsers as of mid-2022. https://caniuse.com/mdn-api_transformstream | ||
## Alternatives | ||
@@ -64,0 +134,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
4289988
137