brotli-lib 0.0.1

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.
Files changed (74) hide show
  1. package/LICENSE +22 -0
  2. package/LICENSE_THIRD_PARTY +88 -0
  3. package/README.md +112 -0
  4. package/dist/decode/bit-reader.d.ts +31 -0
  5. package/dist/decode/bit-reader.d.ts.map +1 -0
  6. package/dist/decode/decode.d.ts +7 -0
  7. package/dist/decode/decode.d.ts.map +1 -0
  8. package/dist/decode/dictionary-bin.d.ts +2 -0
  9. package/dist/decode/dictionary-bin.d.ts.map +1 -0
  10. package/dist/decode/dictionary.d.ts +8 -0
  11. package/dist/decode/dictionary.d.ts.map +1 -0
  12. package/dist/decode/engine.d.ts +93 -0
  13. package/dist/decode/engine.d.ts.map +1 -0
  14. package/dist/decode/index.d.ts +3 -0
  15. package/dist/decode/index.d.ts.map +1 -0
  16. package/dist/decode/streams.d.ts +13 -0
  17. package/dist/decode/streams.d.ts.map +1 -0
  18. package/dist/decode.cjs +2138 -0
  19. package/dist/decode.d.ts +3 -0
  20. package/dist/decode.d.ts.map +1 -0
  21. package/dist/decode.js +2135 -0
  22. package/dist/encode/backward-references-hq.d.ts +13 -0
  23. package/dist/encode/backward-references-hq.d.ts.map +1 -0
  24. package/dist/encode/backward-references.d.ts +14 -0
  25. package/dist/encode/backward-references.d.ts.map +1 -0
  26. package/dist/encode/bit-cost.d.ts +11 -0
  27. package/dist/encode/bit-cost.d.ts.map +1 -0
  28. package/dist/encode/bit-writer.d.ts +25 -0
  29. package/dist/encode/bit-writer.d.ts.map +1 -0
  30. package/dist/encode/block-splitter.d.ts +12 -0
  31. package/dist/encode/block-splitter.d.ts.map +1 -0
  32. package/dist/encode/cluster.d.ts +25 -0
  33. package/dist/encode/cluster.d.ts.map +1 -0
  34. package/dist/encode/command.d.ts +28 -0
  35. package/dist/encode/command.d.ts.map +1 -0
  36. package/dist/encode/context-map.d.ts +13 -0
  37. package/dist/encode/context-map.d.ts.map +1 -0
  38. package/dist/encode/context.d.ts +14 -0
  39. package/dist/encode/context.d.ts.map +1 -0
  40. package/dist/encode/enc-constants.d.ts +92 -0
  41. package/dist/encode/enc-constants.d.ts.map +1 -0
  42. package/dist/encode/encode.d.ts +39 -0
  43. package/dist/encode/encode.d.ts.map +1 -0
  44. package/dist/encode/entropy-encode.d.ts +20 -0
  45. package/dist/encode/entropy-encode.d.ts.map +1 -0
  46. package/dist/encode/fast-log.d.ts +7 -0
  47. package/dist/encode/fast-log.d.ts.map +1 -0
  48. package/dist/encode/hash-binary-tree.d.ts +23 -0
  49. package/dist/encode/hash-binary-tree.d.ts.map +1 -0
  50. package/dist/encode/hash-chains.d.ts +20 -0
  51. package/dist/encode/hash-chains.d.ts.map +1 -0
  52. package/dist/encode/hash-simple.d.ts +19 -0
  53. package/dist/encode/hash-simple.d.ts.map +1 -0
  54. package/dist/encode/histogram.d.ts +61 -0
  55. package/dist/encode/histogram.d.ts.map +1 -0
  56. package/dist/encode/index.d.ts +4 -0
  57. package/dist/encode/index.d.ts.map +1 -0
  58. package/dist/encode/match.d.ts +31 -0
  59. package/dist/encode/match.d.ts.map +1 -0
  60. package/dist/encode/metablock.d.ts +48 -0
  61. package/dist/encode/metablock.d.ts.map +1 -0
  62. package/dist/encode/static-dict.d.ts +26 -0
  63. package/dist/encode/static-dict.d.ts.map +1 -0
  64. package/dist/encode/zopfli-cost-model.d.ts +21 -0
  65. package/dist/encode/zopfli-cost-model.d.ts.map +1 -0
  66. package/dist/encode.cjs +2426 -0
  67. package/dist/encode.d.ts +4 -0
  68. package/dist/encode.d.ts.map +1 -0
  69. package/dist/encode.js +2422 -0
  70. package/dist/index.cjs +4562 -0
  71. package/dist/index.d.ts +6 -0
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +4556 -0
  74. package/package.json +66 -0
@@ -0,0 +1,48 @@
1
+ import { BitWriter } from './bit-writer';
2
+ import { BlockSplit } from './block-splitter';
3
+ import { HistogramLiteral, HistogramCommand, HistogramDistance } from './histogram';
4
+ import { Command } from './command';
5
+ export declare const NUM_BLOCK_LEN_SYMBOLS = 26;
6
+ export declare const MAX_BLOCK_TYPE_SYMBOLS = 258;
7
+ export declare const LITERAL_CONTEXT_BITS = 6;
8
+ export declare const DISTANCE_CONTEXT_BITS = 2;
9
+ export interface MetaBlockSplit {
10
+ literalSplit: BlockSplit;
11
+ commandSplit: BlockSplit;
12
+ distanceSplit: BlockSplit;
13
+ literalContextMap: Uint32Array | null;
14
+ literalContextMapSize: number;
15
+ distanceContextMap: Uint32Array | null;
16
+ distanceContextMapSize: number;
17
+ literalHistograms: HistogramLiteral[];
18
+ commandHistograms: HistogramCommand[];
19
+ distanceHistograms: HistogramDistance[];
20
+ }
21
+ export declare function createMetaBlockSplit(): MetaBlockSplit;
22
+ export declare function blockLengthPrefixCode(len: number): number;
23
+ export declare function getBlockLengthPrefixCode(len: number): [number, number, number];
24
+ export declare class BlockTypeCodeCalculator {
25
+ lastType: number;
26
+ secondLastType: number;
27
+ nextCode(type: number): number;
28
+ }
29
+ export interface BlockSplitCode {
30
+ typeDepths: Uint8Array;
31
+ typeBits: Uint16Array;
32
+ lengthDepths: Uint8Array;
33
+ lengthBits: Uint16Array;
34
+ typeCalculator: BlockTypeCodeCalculator;
35
+ }
36
+ export declare function buildAndStoreBlockSplitCode(writer: BitWriter, types: Uint8Array, lengths: Uint32Array, numBlocks: number, numTypes: number): BlockSplitCode;
37
+ export declare function storeBlockSwitch(writer: BitWriter, code: BlockSplitCode, blockLen: number, blockType: number, isFirstBlock: boolean): void;
38
+ export declare function encodeMlen(length: number): {
39
+ bits: bigint;
40
+ numBits: number;
41
+ nibblesBits: number;
42
+ };
43
+ export declare function storeCompressedMetaBlockHeader(writer: BitWriter, isLast: boolean, length: number): void;
44
+ export declare function storeUncompressedMetaBlockHeader(writer: BitWriter, length: number): void;
45
+ export declare function storeCommandExtra(writer: BitWriter, cmd: Command): void;
46
+ export declare function storeMetaBlockTrivial(writer: BitWriter, input: Uint8Array, startPos: number, length: number, mask: number, isLast: boolean, commands: Command[], distanceAlphabetSize: number): void;
47
+ export declare function storeUncompressedMetaBlock(writer: BitWriter, input: Uint8Array, position: number, mask: number, length: number, isFinal: boolean): void;
48
+ //# sourceMappingURL=metablock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metablock.d.ts","sourceRoot":"","sources":["../../src/encode/metablock.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { BackwardMatch } from './match';
2
+ export declare const MIN_DICTIONARY_WORD_LENGTH = 4;
3
+ export declare const MAX_DICTIONARY_WORD_LENGTH = 24;
4
+ export declare const MAX_STATIC_DICTIONARY_MATCH_LEN = 37;
5
+ export declare const INVALID_MATCH = 4294967295;
6
+ export declare const OFFSETS_BY_LENGTH: Uint32Array<ArrayBuffer>;
7
+ export declare const SIZE_BITS_BY_LENGTH: Uint8Array<ArrayBuffer>;
8
+ export interface StaticDictionary {
9
+ getData(): Uint8Array;
10
+ }
11
+ export declare function setStaticDictionary(data: Uint8Array): void;
12
+ export declare function getStaticDictionary(): Uint8Array | null;
13
+ export declare function findStaticDictionaryMatches(dictionary: Uint8Array, data: Uint8Array, pos: number, minLength: number, maxLength: number, maxDistance: number): BackwardMatch[];
14
+ export declare function findBestStaticDictionaryMatch(dictionary: Uint8Array, data: Uint8Array, pos: number, minLength: number, maxLength: number, maxDistance: number): BackwardMatch | null;
15
+ export declare const NUM_TRANSFORMS = 121;
16
+ export declare const enum TransformType {
17
+ IDENTITY = 0,
18
+ OMIT_LAST_1 = 12,
19
+ OMIT_LAST_2 = 13,
20
+ OMIT_LAST_3 = 14,
21
+ UPPERCASE_FIRST = 10,
22
+ UPPERCASE_ALL = 44
23
+ }
24
+ export declare function getOmitLastTransform(omitCount: number): number;
25
+ export declare function encodeDictionaryDistance(wordIndex: number, transformId: number, wordLength: number): number;
26
+ //# sourceMappingURL=static-dict.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static-dict.d.ts","sourceRoot":"","sources":["../../src/encode/static-dict.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAiD,MAAM,SAAS,CAAA;AAEtF,eAAO,MAAM,0BAA0B,IAAI,CAAA;AAC3C,eAAO,MAAM,0BAA0B,KAAK,CAAA;AAC5C,eAAO,MAAM,+BAA+B,KAAK,CAAA;AACjD,eAAO,MAAM,aAAa,aAAa,CAAA;AAEvC,eAAO,MAAM,iBAAiB,0BAI5B,CAAA;AAEF,eAAO,MAAM,mBAAmB,yBAI9B,CAAA;AAGF,MAAM,WAAW,gBAAgB;IAC/B,OAAO,IAAI,UAAU,CAAA;CACtB;AAID,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAE1D;AAED,wBAAgB,mBAAmB,IAAI,UAAU,GAAG,IAAI,CAEvD;AAQD,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,aAAa,EAAE,CAgDjB;AAED,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,aAAa,GAAG,IAAI,CAyCtB;AAED,eAAO,MAAM,cAAc,MAAM,CAAA;AAEjC,0BAAkB,aAAa;IAC7B,QAAQ,IAAI;IACZ,WAAW,KAAK;IAChB,WAAW,KAAK;IAChB,WAAW,KAAK;IAChB,eAAe,KAAK;IACpB,aAAa,KAAK;CACnB;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAG9D;AAED,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,MAAM,CAGR"}
@@ -0,0 +1,21 @@
1
+ import { Command } from './command';
2
+ export declare const MAX_EFFECTIVE_DISTANCE_ALPHABET_SIZE = 544;
3
+ export declare const INFINITY_COST = 1.7e+38;
4
+ export declare class ZopfliCostModel {
5
+ private costCmd;
6
+ private costDist;
7
+ private literalCosts;
8
+ private minCostCmd;
9
+ private numBytes;
10
+ private distanceHistogramSize;
11
+ constructor(numBytes: number, distanceAlphabetSize: number);
12
+ setFromLiteralCosts(position: number, ringbuffer: Uint8Array, ringbufferMask: number): void;
13
+ setFromCommands(position: number, ringbuffer: Uint8Array, ringbufferMask: number, commands: Command[], lastInsertLen: number): void;
14
+ private setCostFromHistogram;
15
+ private estimateBitCostsForLiterals;
16
+ getCommandCost(cmdCode: number): number;
17
+ getDistanceCost(distCode: number): number;
18
+ getLiteralCosts(from: number, to: number): number;
19
+ getMinCostCmd(): number;
20
+ }
21
+ //# sourceMappingURL=zopfli-cost-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zopfli-cost-model.d.ts","sourceRoot":"","sources":["../../src/encode/zopfli-cost-model.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAA;AAEnD,eAAO,MAAM,oCAAoC,MAAM,CAAA;AACvD,eAAO,MAAM,aAAa,UAAS,CAAA;AAGnC,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,qBAAqB,CAAQ;gBAEzB,QAAQ,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM;IAS1D,mBAAmB,CACjB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,MAAM,GACrB,IAAI;IAmCP,eAAe,CACb,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,OAAO,EAAE,EACnB,aAAa,EAAE,MAAM,GACpB,IAAI;IAoDP,OAAO,CAAC,oBAAoB;IAqC5B,OAAO,CAAC,2BAA2B;IA4BnC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIvC,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAIzC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAIjD,aAAa,IAAI,MAAM;CAGxB"}