brotli-lib 0.0.3 → 0.0.6

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 CHANGED
@@ -1,5 +1,7 @@
1
1
  # brotli-lib
2
2
 
3
+ [![npm version](https://img.shields.io/npm/v/brotli-lib)](https://www.npmjs.com/package/brotli-lib)
4
+
3
5
  TypeScript Brotli encoder and decoder
4
6
 
5
7
  ## Install
@@ -66,7 +68,7 @@ FONT mode uses distance coding parameters optimized for transformed font data. I
66
68
 
67
69
  | | brotli-lib | brotli.js | Google decode.ts |
68
70
  |--|------------|-----------|---------------|
69
- | Speed (vs Google) | 1.0x | 0.5-0.6x | 1x |
71
+ | Speed (vs Google) | 1.1-1.12x | 0.5-0.6x | 1x |
70
72
  | Custom dictionary | yes | no | yes |
71
73
  | Compressed static dict | yes | yes | no |
72
74
 
@@ -74,12 +76,12 @@ Decode times (Apple M2 Max, Node 22):
74
76
 
75
77
  | File | brotli-lib | brotli.js | Google decode.ts |
76
78
  |------|------------|-----------|---------------|
77
- | enc-ttf (305 KB) | 3.0 ms | 5.2 ms | 3.1 ms |
78
- | enc-otf (253 KB) | 3.0 ms | 5.2 ms | 3.1 ms |
79
- | enc-var-ttf (788 KB) | 7.5 ms | 13.8 ms | 7.8 ms |
80
- | noto-tc (7 MB) | 61 ms | 106 ms | 63 ms |
79
+ | enc-ttf (305 KB) | 2.4 ms | 4.4 ms | 2.7 ms |
80
+ | enc-otf (253 KB) | 2.4 ms | 4.3 ms | 2.6 ms |
81
+ | enc-var-ttf (788 KB) | 6.4 ms | 11.6 ms | 7.0 ms |
82
+ | noto-tc (7 MB) | 52 ms | 90 ms | 57 ms |
81
83
 
82
- 1.7x faster than brotli.js, on par with or slightly faster than Google's JS decoder
84
+ 1.8x faster than brotli.js, 1.1x faster than Google's JS decoder
83
85
 
84
86
  ### Encode
85
87
 
@@ -1 +1 @@
1
- {"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../src/decode/decode.ts"],"names":[],"mappings":"AAuFA,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAW5D;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gBAAgB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;CAC1C;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,UAAU,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,GACrC,UAAU,CA4CZ"}
1
+ {"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../src/decode/decode.ts"],"names":[],"mappings":"AAQA,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAE5D;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gBAAgB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;CAC1C;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,UAAU,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,GACrC,UAAU,CA4CZ"}
@@ -85,6 +85,12 @@ declare class InputStream {
85
85
  offset: number;
86
86
  constructor(data: Uint8Array | Int8Array);
87
87
  }
88
+ /**
89
+ * Peek at brotli header to determine decoded size without allocating State/BrotliBitReader.
90
+ * Returns the decoded size for single-metablock streams, or -1 if unknown.
91
+ * Zero-allocation: reads bits directly from raw bytes.
92
+ */
93
+ export declare function peekDecodedSize(bytes: Uint8Array | Int8Array): number;
88
94
  /**
89
95
  * Decodes brotli stream.
90
96
  */
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/decode/engine.ts"],"names":[],"mappings":"AASA,UAAU,mBAAmB;IAC3B,gBAAgB,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAuGD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAMlD;AAGD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAMlD;AAonDD,cAAM,KAAK;IACT,UAAU,EAAE,UAAU,CAAqB;IAC3C,YAAY,yBAAoB;IAChC,UAAU,yBAAoB;IAC9B,cAAc,yBAAoB;IAClC,aAAa,yBAAoB;IACjC,MAAM,EAAE,UAAU,CAAqB;IACvC,UAAU,yBAAoB;IAC9B,YAAY,2BAAsB;IAClC,WAAW,0BAAqB;IAChC,SAAS,0BAAqB;IAC9B,KAAK,0BAAqB;IAC1B,UAAU,0BAAqB;IAC/B,gBAAgB,0BAAqB;IACrC,gBAAgB,0BAAqB;IACrC,iBAAiB,0BAAqB;IACtC,UAAU,0BAAqB;IAC/B,aAAa,SAAK;IAClB,YAAY,SAAK;IACjB,gBAAgB,SAAK;IACrB,aAAa,SAAK;IAClB,SAAS,SAAK;IACd,UAAU,SAAK;IACf,SAAS,SAAK;IACd,kBAAkB,SAAK;IACvB,eAAe,SAAK;IACpB,QAAQ,SAAK;IACb,cAAc,SAAK;IACnB,UAAU,SAAK;IACf,kBAAkB,SAAK;IACvB,oBAAoB,SAAK;IACzB,kBAAkB,SAAK;IACvB,oBAAoB,SAAK;IACzB,mBAAmB,SAAK;IACxB,qBAAqB,SAAK;IAC1B,GAAG,SAAK;IACR,WAAW,SAAK;IAChB,SAAS,SAAK;IACd,qBAAqB,SAAK;IAC1B,cAAc,SAAK;IACnB,cAAc,SAAK;IACnB,CAAC,SAAK;IACN,YAAY,SAAK;IACjB,eAAe,SAAK;IACpB,mBAAmB,SAAK;IACxB,oBAAoB,SAAK;IACzB,oBAAoB,SAAK;IACzB,YAAY,SAAK;IACjB,sBAAsB,SAAK;IAC3B,mBAAmB,SAAK;IACxB,QAAQ,SAAK;IACb,UAAU,SAAK;IACf,mBAAmB,SAAK;IACxB,iBAAiB,SAAK;IACtB,cAAc,SAAK;IACnB,iBAAiB,SAAK;IACtB,YAAY,SAAK;IACjB,YAAY,SAAK;IACjB,UAAU,SAAK;IACf,sBAAsB,SAAK;IAC3B,oBAAoB,SAAK;IACzB,OAAO,SAAK;IACZ,aAAa,SAAK;IAClB,WAAW,SAAK;IAChB,WAAW,SAAK;IAChB,SAAS,SAAK;IACd,UAAU,SAAK;IACf,UAAU,SAAK;IACf,UAAU,SAAK;IACf,QAAQ,QAAgB;IACxB,cAAc,0BAAqB;IACnC,WAAW,SAAK;IAChB,UAAU,yBAAoB;IAC9B,KAAK,cAAqC;;CAS3C;AAmDD,cAAM,WAAW;IACf,IAAI,EAAE,UAAU,GAAG,SAAS,CAAqB;IACjD,MAAM,SAAK;gBACE,IAAI,EAAE,UAAU,GAAG,SAAS;CAG1C;AAuCD;;GAEG;AACH,wBAAgB,YAAY,CACxB,KAAK,EAAE,UAAU,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,UAAU,CAsD5E"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/decode/engine.ts"],"names":[],"mappings":"AASA,UAAU,mBAAmB;IAC3B,gBAAgB,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAiHD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAMlD;AAGD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAMlD;AAqsDD,cAAM,KAAK;IACT,UAAU,EAAE,UAAU,CAAqB;IAC3C,YAAY,yBAAoB;IAChC,UAAU,yBAAoB;IAC9B,cAAc,yBAAoB;IAClC,aAAa,yBAAoB;IACjC,MAAM,EAAE,UAAU,CAAqB;IACvC,UAAU,yBAAoB;IAC9B,YAAY,2BAAsB;IAClC,WAAW,0BAAqB;IAChC,SAAS,0BAAqB;IAC9B,KAAK,0BAAqB;IAC1B,UAAU,0BAAqB;IAC/B,gBAAgB,0BAAqB;IACrC,gBAAgB,0BAAqB;IACrC,iBAAiB,0BAAqB;IACtC,UAAU,0BAAqB;IAC/B,aAAa,SAAK;IAClB,YAAY,SAAK;IACjB,gBAAgB,SAAK;IACrB,aAAa,SAAK;IAClB,SAAS,SAAK;IACd,UAAU,SAAK;IACf,SAAS,SAAK;IACd,kBAAkB,SAAK;IACvB,eAAe,SAAK;IACpB,QAAQ,SAAK;IACb,cAAc,SAAK;IACnB,UAAU,SAAK;IACf,kBAAkB,SAAK;IACvB,oBAAoB,SAAK;IACzB,kBAAkB,SAAK;IACvB,oBAAoB,SAAK;IACzB,mBAAmB,SAAK;IACxB,qBAAqB,SAAK;IAC1B,GAAG,SAAK;IACR,WAAW,SAAK;IAChB,SAAS,SAAK;IACd,qBAAqB,SAAK;IAC1B,cAAc,SAAK;IACnB,cAAc,SAAK;IACnB,CAAC,SAAK;IACN,YAAY,SAAK;IACjB,eAAe,SAAK;IACpB,mBAAmB,SAAK;IACxB,oBAAoB,SAAK;IACzB,oBAAoB,SAAK;IACzB,YAAY,SAAK;IACjB,sBAAsB,SAAK;IAC3B,mBAAmB,SAAK;IACxB,QAAQ,SAAK;IACb,UAAU,SAAK;IACf,mBAAmB,SAAK;IACxB,iBAAiB,SAAK;IACtB,cAAc,SAAK;IACnB,iBAAiB,SAAK;IACtB,YAAY,SAAK;IACjB,YAAY,SAAK;IACjB,UAAU,SAAK;IACf,sBAAsB,SAAK;IAC3B,oBAAoB,SAAK;IACzB,OAAO,SAAK;IACZ,aAAa,SAAK;IAClB,WAAW,SAAK;IAChB,WAAW,SAAK;IAChB,SAAS,SAAK;IACd,UAAU,SAAK;IACf,UAAU,SAAK;IACf,UAAU,SAAK;IACf,QAAQ,QAAgB;IACxB,cAAc,0BAAqB;IACnC,WAAW,SAAK;IAChB,UAAU,yBAAoB;IAC9B,KAAK,cAAqC;;CAS3C;AAmDD,cAAM,WAAW;IACf,IAAI,EAAE,UAAU,GAAG,SAAS,CAAqB;IACjD,MAAM,SAAK;gBACE,IAAI,EAAE,UAAU,GAAG,SAAS;CAG1C;AAuCD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAqCrE;AAED;;GAEG;AACH,wBAAgB,YAAY,CACxB,KAAK,EAAE,UAAU,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,UAAU,CA2D5E"}