7z-iterator 1.3.1 → 2.0.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.
Files changed (135) hide show
  1. package/dist/cjs/index.d.cts +3 -1
  2. package/dist/cjs/index.d.ts +3 -1
  3. package/dist/cjs/index.js +7 -28
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/nextEntry.js +1 -2
  6. package/dist/cjs/nextEntry.js.map +1 -1
  7. package/dist/cjs/sevenz/codecs/index.js +52 -30
  8. package/dist/cjs/sevenz/codecs/index.js.map +1 -1
  9. package/dist/esm/index.d.ts +3 -1
  10. package/dist/esm/index.js +4 -2
  11. package/dist/esm/index.js.map +1 -1
  12. package/dist/esm/nextEntry.js +1 -2
  13. package/dist/esm/nextEntry.js.map +1 -1
  14. package/dist/esm/sevenz/codecs/index.js +32 -10
  15. package/dist/esm/sevenz/codecs/index.js.map +1 -1
  16. package/package.json +10 -4
  17. package/dist/cjs/lzma/Lzma2ChunkParser.d.cts +0 -73
  18. package/dist/cjs/lzma/Lzma2ChunkParser.d.ts +0 -73
  19. package/dist/cjs/lzma/Lzma2ChunkParser.js +0 -148
  20. package/dist/cjs/lzma/Lzma2ChunkParser.js.map +0 -1
  21. package/dist/cjs/lzma/index.d.cts +0 -13
  22. package/dist/cjs/lzma/index.d.ts +0 -13
  23. package/dist/cjs/lzma/index.js +0 -63
  24. package/dist/cjs/lzma/index.js.map +0 -1
  25. package/dist/cjs/lzma/stream/transforms.d.cts +0 -38
  26. package/dist/cjs/lzma/stream/transforms.d.ts +0 -38
  27. package/dist/cjs/lzma/stream/transforms.js +0 -149
  28. package/dist/cjs/lzma/stream/transforms.js.map +0 -1
  29. package/dist/cjs/lzma/sync/Lzma2Decoder.d.cts +0 -30
  30. package/dist/cjs/lzma/sync/Lzma2Decoder.d.ts +0 -30
  31. package/dist/cjs/lzma/sync/Lzma2Decoder.js +0 -135
  32. package/dist/cjs/lzma/sync/Lzma2Decoder.js.map +0 -1
  33. package/dist/cjs/lzma/sync/LzmaDecoder.d.cts +0 -82
  34. package/dist/cjs/lzma/sync/LzmaDecoder.d.ts +0 -82
  35. package/dist/cjs/lzma/sync/LzmaDecoder.js +0 -440
  36. package/dist/cjs/lzma/sync/LzmaDecoder.js.map +0 -1
  37. package/dist/cjs/lzma/sync/RangeDecoder.d.cts +0 -69
  38. package/dist/cjs/lzma/sync/RangeDecoder.d.ts +0 -69
  39. package/dist/cjs/lzma/sync/RangeDecoder.js +0 -162
  40. package/dist/cjs/lzma/sync/RangeDecoder.js.map +0 -1
  41. package/dist/cjs/lzma/types.d.cts +0 -110
  42. package/dist/cjs/lzma/types.d.ts +0 -110
  43. package/dist/cjs/lzma/types.js +0 -264
  44. package/dist/cjs/lzma/types.js.map +0 -1
  45. package/dist/cjs/sevenz/codecs/Bcj.d.cts +0 -16
  46. package/dist/cjs/sevenz/codecs/Bcj.d.ts +0 -16
  47. package/dist/cjs/sevenz/codecs/Bcj.js +0 -183
  48. package/dist/cjs/sevenz/codecs/Bcj.js.map +0 -1
  49. package/dist/cjs/sevenz/codecs/BcjArm.d.cts +0 -21
  50. package/dist/cjs/sevenz/codecs/BcjArm.d.ts +0 -21
  51. package/dist/cjs/sevenz/codecs/BcjArm.js +0 -104
  52. package/dist/cjs/sevenz/codecs/BcjArm.js.map +0 -1
  53. package/dist/cjs/sevenz/codecs/BcjArm64.d.cts +0 -21
  54. package/dist/cjs/sevenz/codecs/BcjArm64.d.ts +0 -21
  55. package/dist/cjs/sevenz/codecs/BcjArm64.js +0 -65
  56. package/dist/cjs/sevenz/codecs/BcjArm64.js.map +0 -1
  57. package/dist/cjs/sevenz/codecs/BcjArmt.d.cts +0 -19
  58. package/dist/cjs/sevenz/codecs/BcjArmt.d.ts +0 -19
  59. package/dist/cjs/sevenz/codecs/BcjArmt.js +0 -76
  60. package/dist/cjs/sevenz/codecs/BcjArmt.js.map +0 -1
  61. package/dist/cjs/sevenz/codecs/BcjIa64.d.cts +0 -15
  62. package/dist/cjs/sevenz/codecs/BcjIa64.d.ts +0 -15
  63. package/dist/cjs/sevenz/codecs/BcjIa64.js +0 -141
  64. package/dist/cjs/sevenz/codecs/BcjIa64.js.map +0 -1
  65. package/dist/cjs/sevenz/codecs/BcjPpc.d.cts +0 -20
  66. package/dist/cjs/sevenz/codecs/BcjPpc.d.ts +0 -20
  67. package/dist/cjs/sevenz/codecs/BcjPpc.js +0 -64
  68. package/dist/cjs/sevenz/codecs/BcjPpc.js.map +0 -1
  69. package/dist/cjs/sevenz/codecs/BcjSparc.d.cts +0 -19
  70. package/dist/cjs/sevenz/codecs/BcjSparc.d.ts +0 -19
  71. package/dist/cjs/sevenz/codecs/BcjSparc.js +0 -69
  72. package/dist/cjs/sevenz/codecs/BcjSparc.js.map +0 -1
  73. package/dist/cjs/sevenz/codecs/Delta.d.cts +0 -16
  74. package/dist/cjs/sevenz/codecs/Delta.d.ts +0 -16
  75. package/dist/cjs/sevenz/codecs/Delta.js +0 -74
  76. package/dist/cjs/sevenz/codecs/Delta.js.map +0 -1
  77. package/dist/cjs/sevenz/codecs/Lzma.d.cts +0 -17
  78. package/dist/cjs/sevenz/codecs/Lzma.d.ts +0 -17
  79. package/dist/cjs/sevenz/codecs/Lzma.js +0 -40
  80. package/dist/cjs/sevenz/codecs/Lzma.js.map +0 -1
  81. package/dist/cjs/sevenz/codecs/Lzma2.d.cts +0 -20
  82. package/dist/cjs/sevenz/codecs/Lzma2.d.ts +0 -20
  83. package/dist/cjs/sevenz/codecs/Lzma2.js +0 -42
  84. package/dist/cjs/sevenz/codecs/Lzma2.js.map +0 -1
  85. package/dist/esm/lzma/Lzma2ChunkParser.d.ts +0 -73
  86. package/dist/esm/lzma/Lzma2ChunkParser.js +0 -137
  87. package/dist/esm/lzma/Lzma2ChunkParser.js.map +0 -1
  88. package/dist/esm/lzma/index.d.ts +0 -13
  89. package/dist/esm/lzma/index.js +0 -15
  90. package/dist/esm/lzma/index.js.map +0 -1
  91. package/dist/esm/lzma/stream/transforms.d.ts +0 -38
  92. package/dist/esm/lzma/stream/transforms.js +0 -150
  93. package/dist/esm/lzma/stream/transforms.js.map +0 -1
  94. package/dist/esm/lzma/sync/Lzma2Decoder.d.ts +0 -30
  95. package/dist/esm/lzma/sync/Lzma2Decoder.js +0 -115
  96. package/dist/esm/lzma/sync/Lzma2Decoder.js.map +0 -1
  97. package/dist/esm/lzma/sync/LzmaDecoder.d.ts +0 -82
  98. package/dist/esm/lzma/sync/LzmaDecoder.js +0 -403
  99. package/dist/esm/lzma/sync/LzmaDecoder.js.map +0 -1
  100. package/dist/esm/lzma/sync/RangeDecoder.d.ts +0 -69
  101. package/dist/esm/lzma/sync/RangeDecoder.js +0 -132
  102. package/dist/esm/lzma/sync/RangeDecoder.js.map +0 -1
  103. package/dist/esm/lzma/types.d.ts +0 -110
  104. package/dist/esm/lzma/types.js +0 -154
  105. package/dist/esm/lzma/types.js.map +0 -1
  106. package/dist/esm/sevenz/codecs/Bcj.d.ts +0 -16
  107. package/dist/esm/sevenz/codecs/Bcj.js +0 -175
  108. package/dist/esm/sevenz/codecs/Bcj.js.map +0 -1
  109. package/dist/esm/sevenz/codecs/BcjArm.d.ts +0 -21
  110. package/dist/esm/sevenz/codecs/BcjArm.js +0 -101
  111. package/dist/esm/sevenz/codecs/BcjArm.js.map +0 -1
  112. package/dist/esm/sevenz/codecs/BcjArm64.d.ts +0 -21
  113. package/dist/esm/sevenz/codecs/BcjArm64.js +0 -57
  114. package/dist/esm/sevenz/codecs/BcjArm64.js.map +0 -1
  115. package/dist/esm/sevenz/codecs/BcjArmt.d.ts +0 -19
  116. package/dist/esm/sevenz/codecs/BcjArmt.js +0 -66
  117. package/dist/esm/sevenz/codecs/BcjArmt.js.map +0 -1
  118. package/dist/esm/sevenz/codecs/BcjIa64.d.ts +0 -15
  119. package/dist/esm/sevenz/codecs/BcjIa64.js +0 -127
  120. package/dist/esm/sevenz/codecs/BcjIa64.js.map +0 -1
  121. package/dist/esm/sevenz/codecs/BcjPpc.d.ts +0 -20
  122. package/dist/esm/sevenz/codecs/BcjPpc.js +0 -55
  123. package/dist/esm/sevenz/codecs/BcjPpc.js.map +0 -1
  124. package/dist/esm/sevenz/codecs/BcjSparc.d.ts +0 -19
  125. package/dist/esm/sevenz/codecs/BcjSparc.js +0 -59
  126. package/dist/esm/sevenz/codecs/BcjSparc.js.map +0 -1
  127. package/dist/esm/sevenz/codecs/Delta.d.ts +0 -16
  128. package/dist/esm/sevenz/codecs/Delta.js +0 -66
  129. package/dist/esm/sevenz/codecs/Delta.js.map +0 -1
  130. package/dist/esm/sevenz/codecs/Lzma.d.ts +0 -17
  131. package/dist/esm/sevenz/codecs/Lzma.js +0 -33
  132. package/dist/esm/sevenz/codecs/Lzma.js.map +0 -1
  133. package/dist/esm/sevenz/codecs/Lzma2.d.ts +0 -20
  134. package/dist/esm/sevenz/codecs/Lzma2.js +0 -38
  135. package/dist/esm/sevenz/codecs/Lzma2.js.map +0 -1
@@ -1,162 +0,0 @@
1
- /**
2
- * Synchronous Range Decoder for LZMA
3
- *
4
- * Decodes arithmetic-coded bits from a buffer.
5
- * All operations are synchronous - for streaming use the async version.
6
- */ "use strict";
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- function _export(target, all) {
11
- for(var name in all)Object.defineProperty(target, name, {
12
- enumerable: true,
13
- get: Object.getOwnPropertyDescriptor(all, name).get
14
- });
15
- }
16
- _export(exports, {
17
- get BitTreeDecoder () {
18
- return BitTreeDecoder;
19
- },
20
- get RangeDecoder () {
21
- return RangeDecoder;
22
- },
23
- get reverseDecodeFromArray () {
24
- return reverseDecodeFromArray;
25
- }
26
- });
27
- var _extractbaseiterator = require("extract-base-iterator");
28
- function _class_call_check(instance, Constructor) {
29
- if (!(instance instanceof Constructor)) {
30
- throw new TypeError("Cannot call a class as a function");
31
- }
32
- }
33
- var RangeDecoder = /*#__PURE__*/ function() {
34
- "use strict";
35
- function RangeDecoder() {
36
- _class_call_check(this, RangeDecoder);
37
- this.input = (0, _extractbaseiterator.allocBuffer)(0); // Replaced by setInput() before use
38
- this.pos = 0;
39
- this.code = 0;
40
- this.range = 0;
41
- }
42
- var _proto = RangeDecoder.prototype;
43
- /**
44
- * Set input buffer and initialize decoder state
45
- */ _proto.setInput = function setInput(input) {
46
- var offset = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
47
- this.input = input;
48
- this.pos = offset;
49
- this.init();
50
- };
51
- /**
52
- * Initialize range decoder (reads first 5 bytes)
53
- */ _proto.init = function init() {
54
- this.code = 0;
55
- this.range = -1; // 0xFFFFFFFF as signed int
56
- // First byte is ignored (should be 0)
57
- this.pos++;
58
- // Read 4 bytes into code
59
- for(var i = 0; i < 4; i++){
60
- this.code = this.code << 8 | this.input[this.pos++];
61
- }
62
- };
63
- /**
64
- * Get current position in input buffer
65
- */ _proto.getPosition = function getPosition() {
66
- return this.pos;
67
- };
68
- /**
69
- * Normalize range if needed (read more bytes)
70
- */ _proto.normalize = function normalize() {
71
- if ((this.range & 0xff000000) === 0) {
72
- this.code = this.code << 8 | this.input[this.pos++];
73
- this.range <<= 8;
74
- }
75
- };
76
- /**
77
- * Decode a single bit using probability model
78
- * @param probs - Probability array
79
- * @param index - Index into probability array
80
- * @returns Decoded bit (0 or 1)
81
- */ _proto.decodeBit = function decodeBit(probs, index) {
82
- var prob = probs[index];
83
- var newBound = (this.range >>> 11) * prob;
84
- if ((this.code ^ 0x80000000) < (newBound ^ 0x80000000)) {
85
- this.range = newBound;
86
- probs[index] += 2048 - prob >>> 5;
87
- this.normalize();
88
- return 0;
89
- }
90
- this.range -= newBound;
91
- this.code -= newBound;
92
- probs[index] -= prob >>> 5;
93
- this.normalize();
94
- return 1;
95
- };
96
- /**
97
- * Decode direct bits (not probability-based)
98
- * @param numTotalBits - Number of bits to decode
99
- * @returns Decoded value
100
- */ _proto.decodeDirectBits = function decodeDirectBits(numTotalBits) {
101
- var result = 0;
102
- for(var i = numTotalBits; i > 0; i--){
103
- this.range >>>= 1;
104
- var t = this.code - this.range >>> 31;
105
- this.code -= this.range & t - 1;
106
- result = result << 1 | 1 - t;
107
- this.normalize();
108
- }
109
- return result;
110
- };
111
- return RangeDecoder;
112
- }();
113
- var BitTreeDecoder = /*#__PURE__*/ function() {
114
- "use strict";
115
- function BitTreeDecoder(numBitLevels) {
116
- _class_call_check(this, BitTreeDecoder);
117
- this.numBitLevels = numBitLevels;
118
- this.models = new Uint16Array(1 << numBitLevels);
119
- this.init();
120
- }
121
- var _proto = BitTreeDecoder.prototype;
122
- /**
123
- * Initialize probability models
124
- */ _proto.init = function init() {
125
- for(var i = 0; i < this.models.length; i++){
126
- this.models[i] = 1024; // kProbInitValue
127
- }
128
- };
129
- /**
130
- * Decode a symbol (forward bit order)
131
- */ _proto.decode = function decode(rangeDecoder) {
132
- var m = 1;
133
- for(var i = this.numBitLevels; i > 0; i--){
134
- m = m << 1 | rangeDecoder.decodeBit(this.models, m);
135
- }
136
- return m - (1 << this.numBitLevels);
137
- };
138
- /**
139
- * Decode a symbol (reverse bit order)
140
- */ _proto.reverseDecode = function reverseDecode(rangeDecoder) {
141
- var m = 1;
142
- var symbol = 0;
143
- for(var i = 0; i < this.numBitLevels; i++){
144
- var bit = rangeDecoder.decodeBit(this.models, m);
145
- m = m << 1 | bit;
146
- symbol |= bit << i;
147
- }
148
- return symbol;
149
- };
150
- return BitTreeDecoder;
151
- }();
152
- function reverseDecodeFromArray(models, startIndex, rangeDecoder, numBitLevels) {
153
- var m = 1;
154
- var symbol = 0;
155
- for(var i = 0; i < numBitLevels; i++){
156
- var bit = rangeDecoder.decodeBit(models, startIndex + m);
157
- m = m << 1 | bit;
158
- symbol |= bit << i;
159
- }
160
- return symbol;
161
- }
162
- /* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/7z-iterator/src/lzma/sync/RangeDecoder.ts"],"sourcesContent":["/**\n * Synchronous Range Decoder for LZMA\n *\n * Decodes arithmetic-coded bits from a buffer.\n * All operations are synchronous - for streaming use the async version.\n */\n\nimport { allocBuffer } from 'extract-base-iterator';\n\n/**\n * Range decoder for synchronous buffer-based LZMA decoding\n */\nexport class RangeDecoder {\n private input: Buffer;\n private pos: number;\n private code: number;\n private range: number;\n\n constructor() {\n this.input = allocBuffer(0); // Replaced by setInput() before use\n this.pos = 0;\n this.code = 0;\n this.range = 0;\n }\n\n /**\n * Set input buffer and initialize decoder state\n */\n setInput(input: Buffer, offset = 0): void {\n this.input = input;\n this.pos = offset;\n this.init();\n }\n\n /**\n * Initialize range decoder (reads first 5 bytes)\n */\n private init(): void {\n this.code = 0;\n this.range = -1; // 0xFFFFFFFF as signed int\n\n // First byte is ignored (should be 0)\n this.pos++;\n\n // Read 4 bytes into code\n for (let i = 0; i < 4; i++) {\n this.code = (this.code << 8) | this.input[this.pos++];\n }\n }\n\n /**\n * Get current position in input buffer\n */\n getPosition(): number {\n return this.pos;\n }\n\n /**\n * Normalize range if needed (read more bytes)\n */\n private normalize(): void {\n if ((this.range & 0xff000000) === 0) {\n this.code = (this.code << 8) | this.input[this.pos++];\n this.range <<= 8;\n }\n }\n\n /**\n * Decode a single bit using probability model\n * @param probs - Probability array\n * @param index - Index into probability array\n * @returns Decoded bit (0 or 1)\n */\n decodeBit(probs: Uint16Array, index: number): number {\n const prob = probs[index];\n const newBound = (this.range >>> 11) * prob;\n\n if ((this.code ^ 0x80000000) < (newBound ^ 0x80000000)) {\n this.range = newBound;\n probs[index] += (2048 - prob) >>> 5;\n this.normalize();\n return 0;\n }\n this.range -= newBound;\n this.code -= newBound;\n probs[index] -= prob >>> 5;\n this.normalize();\n return 1;\n }\n\n /**\n * Decode direct bits (not probability-based)\n * @param numTotalBits - Number of bits to decode\n * @returns Decoded value\n */\n decodeDirectBits(numTotalBits: number): number {\n let result = 0;\n for (let i = numTotalBits; i > 0; i--) {\n this.range >>>= 1;\n const t = (this.code - this.range) >>> 31;\n this.code -= this.range & (t - 1);\n result = (result << 1) | (1 - t);\n this.normalize();\n }\n return result;\n }\n}\n\n/**\n * Bit tree decoder for multi-bit symbols\n */\nexport class BitTreeDecoder {\n private numBitLevels: number;\n private models: Uint16Array;\n\n constructor(numBitLevels: number) {\n this.numBitLevels = numBitLevels;\n this.models = new Uint16Array(1 << numBitLevels);\n this.init();\n }\n\n /**\n * Initialize probability models\n */\n init(): void {\n for (let i = 0; i < this.models.length; i++) {\n this.models[i] = 1024; // kProbInitValue\n }\n }\n\n /**\n * Decode a symbol (forward bit order)\n */\n decode(rangeDecoder: RangeDecoder): number {\n let m = 1;\n for (let i = this.numBitLevels; i > 0; i--) {\n m = (m << 1) | rangeDecoder.decodeBit(this.models, m);\n }\n return m - (1 << this.numBitLevels);\n }\n\n /**\n * Decode a symbol (reverse bit order)\n */\n reverseDecode(rangeDecoder: RangeDecoder): number {\n let m = 1;\n let symbol = 0;\n for (let i = 0; i < this.numBitLevels; i++) {\n const bit = rangeDecoder.decodeBit(this.models, m);\n m = (m << 1) | bit;\n symbol |= bit << i;\n }\n return symbol;\n }\n}\n\n/**\n * Static reverse decode from external probability array\n */\nexport function reverseDecodeFromArray(models: Uint16Array, startIndex: number, rangeDecoder: RangeDecoder, numBitLevels: number): number {\n let m = 1;\n let symbol = 0;\n for (let i = 0; i < numBitLevels; i++) {\n const bit = rangeDecoder.decodeBit(models, startIndex + m);\n m = (m << 1) | bit;\n symbol |= bit << i;\n }\n return symbol;\n}\n"],"names":["BitTreeDecoder","RangeDecoder","reverseDecodeFromArray","input","allocBuffer","pos","code","range","setInput","offset","init","i","getPosition","normalize","decodeBit","probs","index","prob","newBound","decodeDirectBits","numTotalBits","result","t","numBitLevels","models","Uint16Array","length","decode","rangeDecoder","m","reverseDecode","symbol","bit","startIndex"],"mappings":"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"}
@@ -1,110 +0,0 @@
1
- /**
2
- * LZMA Types and Constants
3
- *
4
- * Shared types, constants, and state transition functions for LZMA decoding.
5
- * Based on the LZMA SDK specification.
6
- */
7
- export declare const kNumRepDistances = 4;
8
- export declare const kNumStates = 12;
9
- export declare const kNumPosSlotBits = 6;
10
- export declare const kDicLogSizeMin = 0;
11
- export declare const kNumLenToPosStatesBits = 2;
12
- export declare const kNumLenToPosStates: number;
13
- export declare const kMatchMinLen = 2;
14
- export declare const kNumLowLenBits = 3;
15
- export declare const kNumMidLenBits = 3;
16
- export declare const kNumHighLenBits = 8;
17
- export declare const kNumLowLenSymbols: number;
18
- export declare const kNumMidLenSymbols: number;
19
- export declare const kNumLenSymbols: number;
20
- export declare const kMatchMaxLen: number;
21
- export declare const kNumAlignBits = 4;
22
- export declare const kAlignTableSize: number;
23
- export declare const kAlignMask: number;
24
- export declare const kStartPosModelIndex = 4;
25
- export declare const kEndPosModelIndex = 14;
26
- export declare const kNumPosModels: number;
27
- export declare const kNumFullDistances: number;
28
- export declare const kNumLitPosStatesBitsEncodingMax = 4;
29
- export declare const kNumLitContextBitsMax = 8;
30
- export declare const kNumPosStatesBitsMax = 4;
31
- export declare const kNumPosStatesMax: number;
32
- export declare const kNumPosStatesBitsEncodingMax = 4;
33
- export declare const kNumPosStatesEncodingMax: number;
34
- export declare const kNumBitModelTotalBits = 11;
35
- export declare const kBitModelTotal: number;
36
- export declare const kNumMoveBits = 5;
37
- export declare const kProbInitValue: number;
38
- /**
39
- * State transition: after literal byte
40
- */
41
- export declare function stateUpdateChar(state: number): number;
42
- /**
43
- * State transition: after match
44
- */
45
- export declare function stateUpdateMatch(state: number): number;
46
- /**
47
- * State transition: after rep (repeated match)
48
- */
49
- export declare function stateUpdateRep(state: number): number;
50
- /**
51
- * State transition: after short rep
52
- */
53
- export declare function stateUpdateShortRep(state: number): number;
54
- /**
55
- * Check if state indicates previous symbol was a character (literal)
56
- */
57
- export declare function stateIsCharState(state: number): boolean;
58
- /**
59
- * Get length-to-position state index
60
- */
61
- export declare function getLenToPosState(len: number): number;
62
- /**
63
- * Initialize probability array with default values
64
- * @param probs - Array to initialize (or null to create new)
65
- * @param count - Number of probabilities
66
- * @returns Initialized probability array
67
- */
68
- export declare function initBitModels(probs: Uint16Array | null, count?: number): Uint16Array;
69
- /**
70
- * LZMA properties parsed from the 5-byte header
71
- */
72
- export interface LzmaProperties {
73
- /** Literal context bits (0-8) */
74
- lc: number;
75
- /** Literal pos bits (0-4) */
76
- lp: number;
77
- /** Pos bits (0-4) */
78
- pb: number;
79
- /** Dictionary size in bytes */
80
- dictionarySize: number;
81
- }
82
- /**
83
- * Parse LZMA properties from a 5-byte buffer
84
- */
85
- export declare function parseProperties(properties: Buffer | Uint8Array): LzmaProperties;
86
- /**
87
- * LZMA2 control byte meanings
88
- */
89
- export declare const LZMA2_CONTROL: {
90
- readonly END: 0;
91
- readonly UNCOMPRESSED_RESET_DIC: 1;
92
- readonly UNCOMPRESSED: 2;
93
- readonly LZMA_RESET_STATE_NEW_PROP: 224;
94
- };
95
- /**
96
- * Check if LZMA2 control byte indicates reset state (new properties)
97
- */
98
- export declare function lzma2NeedsNewProps(control: number): boolean;
99
- /**
100
- * Check if LZMA2 control byte indicates reset probabilities
101
- */
102
- export declare function lzma2NeedsResetProbs(control: number): boolean;
103
- /**
104
- * Check if LZMA2 control byte indicates uncompressed chunk
105
- */
106
- export declare function lzma2IsUncompressed(control: number): boolean;
107
- /**
108
- * Parse LZMA2 dictionary size from property byte
109
- */
110
- export declare function parseLzma2DictionarySize(prop: number): number;
@@ -1,110 +0,0 @@
1
- /**
2
- * LZMA Types and Constants
3
- *
4
- * Shared types, constants, and state transition functions for LZMA decoding.
5
- * Based on the LZMA SDK specification.
6
- */
7
- export declare const kNumRepDistances = 4;
8
- export declare const kNumStates = 12;
9
- export declare const kNumPosSlotBits = 6;
10
- export declare const kDicLogSizeMin = 0;
11
- export declare const kNumLenToPosStatesBits = 2;
12
- export declare const kNumLenToPosStates: number;
13
- export declare const kMatchMinLen = 2;
14
- export declare const kNumLowLenBits = 3;
15
- export declare const kNumMidLenBits = 3;
16
- export declare const kNumHighLenBits = 8;
17
- export declare const kNumLowLenSymbols: number;
18
- export declare const kNumMidLenSymbols: number;
19
- export declare const kNumLenSymbols: number;
20
- export declare const kMatchMaxLen: number;
21
- export declare const kNumAlignBits = 4;
22
- export declare const kAlignTableSize: number;
23
- export declare const kAlignMask: number;
24
- export declare const kStartPosModelIndex = 4;
25
- export declare const kEndPosModelIndex = 14;
26
- export declare const kNumPosModels: number;
27
- export declare const kNumFullDistances: number;
28
- export declare const kNumLitPosStatesBitsEncodingMax = 4;
29
- export declare const kNumLitContextBitsMax = 8;
30
- export declare const kNumPosStatesBitsMax = 4;
31
- export declare const kNumPosStatesMax: number;
32
- export declare const kNumPosStatesBitsEncodingMax = 4;
33
- export declare const kNumPosStatesEncodingMax: number;
34
- export declare const kNumBitModelTotalBits = 11;
35
- export declare const kBitModelTotal: number;
36
- export declare const kNumMoveBits = 5;
37
- export declare const kProbInitValue: number;
38
- /**
39
- * State transition: after literal byte
40
- */
41
- export declare function stateUpdateChar(state: number): number;
42
- /**
43
- * State transition: after match
44
- */
45
- export declare function stateUpdateMatch(state: number): number;
46
- /**
47
- * State transition: after rep (repeated match)
48
- */
49
- export declare function stateUpdateRep(state: number): number;
50
- /**
51
- * State transition: after short rep
52
- */
53
- export declare function stateUpdateShortRep(state: number): number;
54
- /**
55
- * Check if state indicates previous symbol was a character (literal)
56
- */
57
- export declare function stateIsCharState(state: number): boolean;
58
- /**
59
- * Get length-to-position state index
60
- */
61
- export declare function getLenToPosState(len: number): number;
62
- /**
63
- * Initialize probability array with default values
64
- * @param probs - Array to initialize (or null to create new)
65
- * @param count - Number of probabilities
66
- * @returns Initialized probability array
67
- */
68
- export declare function initBitModels(probs: Uint16Array | null, count?: number): Uint16Array;
69
- /**
70
- * LZMA properties parsed from the 5-byte header
71
- */
72
- export interface LzmaProperties {
73
- /** Literal context bits (0-8) */
74
- lc: number;
75
- /** Literal pos bits (0-4) */
76
- lp: number;
77
- /** Pos bits (0-4) */
78
- pb: number;
79
- /** Dictionary size in bytes */
80
- dictionarySize: number;
81
- }
82
- /**
83
- * Parse LZMA properties from a 5-byte buffer
84
- */
85
- export declare function parseProperties(properties: Buffer | Uint8Array): LzmaProperties;
86
- /**
87
- * LZMA2 control byte meanings
88
- */
89
- export declare const LZMA2_CONTROL: {
90
- readonly END: 0;
91
- readonly UNCOMPRESSED_RESET_DIC: 1;
92
- readonly UNCOMPRESSED: 2;
93
- readonly LZMA_RESET_STATE_NEW_PROP: 224;
94
- };
95
- /**
96
- * Check if LZMA2 control byte indicates reset state (new properties)
97
- */
98
- export declare function lzma2NeedsNewProps(control: number): boolean;
99
- /**
100
- * Check if LZMA2 control byte indicates reset probabilities
101
- */
102
- export declare function lzma2NeedsResetProbs(control: number): boolean;
103
- /**
104
- * Check if LZMA2 control byte indicates uncompressed chunk
105
- */
106
- export declare function lzma2IsUncompressed(control: number): boolean;
107
- /**
108
- * Parse LZMA2 dictionary size from property byte
109
- */
110
- export declare function parseLzma2DictionarySize(prop: number): number;
@@ -1,264 +0,0 @@
1
- /**
2
- * LZMA Types and Constants
3
- *
4
- * Shared types, constants, and state transition functions for LZMA decoding.
5
- * Based on the LZMA SDK specification.
6
- */ // LZMA State Machine Constants
7
- "use strict";
8
- Object.defineProperty(exports, "__esModule", {
9
- value: true
10
- });
11
- function _export(target, all) {
12
- for(var name in all)Object.defineProperty(target, name, {
13
- enumerable: true,
14
- get: Object.getOwnPropertyDescriptor(all, name).get
15
- });
16
- }
17
- _export(exports, {
18
- get LZMA2_CONTROL () {
19
- return LZMA2_CONTROL;
20
- },
21
- get getLenToPosState () {
22
- return getLenToPosState;
23
- },
24
- get initBitModels () {
25
- return initBitModels;
26
- },
27
- get kAlignMask () {
28
- return kAlignMask;
29
- },
30
- get kAlignTableSize () {
31
- return kAlignTableSize;
32
- },
33
- get kBitModelTotal () {
34
- return kBitModelTotal;
35
- },
36
- get kDicLogSizeMin () {
37
- return kDicLogSizeMin;
38
- },
39
- get kEndPosModelIndex () {
40
- return kEndPosModelIndex;
41
- },
42
- get kMatchMaxLen () {
43
- return kMatchMaxLen;
44
- },
45
- get kMatchMinLen () {
46
- return kMatchMinLen;
47
- },
48
- get kNumAlignBits () {
49
- return kNumAlignBits;
50
- },
51
- get kNumBitModelTotalBits () {
52
- return kNumBitModelTotalBits;
53
- },
54
- get kNumFullDistances () {
55
- return kNumFullDistances;
56
- },
57
- get kNumHighLenBits () {
58
- return kNumHighLenBits;
59
- },
60
- get kNumLenSymbols () {
61
- return kNumLenSymbols;
62
- },
63
- get kNumLenToPosStates () {
64
- return kNumLenToPosStates;
65
- },
66
- get kNumLenToPosStatesBits () {
67
- return kNumLenToPosStatesBits;
68
- },
69
- get kNumLitContextBitsMax () {
70
- return kNumLitContextBitsMax;
71
- },
72
- get kNumLitPosStatesBitsEncodingMax () {
73
- return kNumLitPosStatesBitsEncodingMax;
74
- },
75
- get kNumLowLenBits () {
76
- return kNumLowLenBits;
77
- },
78
- get kNumLowLenSymbols () {
79
- return kNumLowLenSymbols;
80
- },
81
- get kNumMidLenBits () {
82
- return kNumMidLenBits;
83
- },
84
- get kNumMidLenSymbols () {
85
- return kNumMidLenSymbols;
86
- },
87
- get kNumMoveBits () {
88
- return kNumMoveBits;
89
- },
90
- get kNumPosModels () {
91
- return kNumPosModels;
92
- },
93
- get kNumPosSlotBits () {
94
- return kNumPosSlotBits;
95
- },
96
- get kNumPosStatesBitsEncodingMax () {
97
- return kNumPosStatesBitsEncodingMax;
98
- },
99
- get kNumPosStatesBitsMax () {
100
- return kNumPosStatesBitsMax;
101
- },
102
- get kNumPosStatesEncodingMax () {
103
- return kNumPosStatesEncodingMax;
104
- },
105
- get kNumPosStatesMax () {
106
- return kNumPosStatesMax;
107
- },
108
- get kNumRepDistances () {
109
- return kNumRepDistances;
110
- },
111
- get kNumStates () {
112
- return kNumStates;
113
- },
114
- get kProbInitValue () {
115
- return kProbInitValue;
116
- },
117
- get kStartPosModelIndex () {
118
- return kStartPosModelIndex;
119
- },
120
- get lzma2IsUncompressed () {
121
- return lzma2IsUncompressed;
122
- },
123
- get lzma2NeedsNewProps () {
124
- return lzma2NeedsNewProps;
125
- },
126
- get lzma2NeedsResetProbs () {
127
- return lzma2NeedsResetProbs;
128
- },
129
- get parseLzma2DictionarySize () {
130
- return parseLzma2DictionarySize;
131
- },
132
- get parseProperties () {
133
- return parseProperties;
134
- },
135
- get stateIsCharState () {
136
- return stateIsCharState;
137
- },
138
- get stateUpdateChar () {
139
- return stateUpdateChar;
140
- },
141
- get stateUpdateMatch () {
142
- return stateUpdateMatch;
143
- },
144
- get stateUpdateRep () {
145
- return stateUpdateRep;
146
- },
147
- get stateUpdateShortRep () {
148
- return stateUpdateShortRep;
149
- }
150
- });
151
- var kNumRepDistances = 4;
152
- var kNumStates = 12;
153
- var kNumPosSlotBits = 6;
154
- var kDicLogSizeMin = 0;
155
- var kNumLenToPosStatesBits = 2;
156
- var kNumLenToPosStates = 1 << kNumLenToPosStatesBits; // 4
157
- var kMatchMinLen = 2;
158
- var kNumLowLenBits = 3;
159
- var kNumMidLenBits = 3;
160
- var kNumHighLenBits = 8;
161
- var kNumLowLenSymbols = 1 << kNumLowLenBits; // 8
162
- var kNumMidLenSymbols = 1 << kNumMidLenBits; // 8
163
- var kNumLenSymbols = kNumLowLenSymbols + kNumMidLenSymbols + (1 << kNumHighLenBits); // 272
164
- var kMatchMaxLen = kMatchMinLen + kNumLenSymbols - 1; // 273
165
- var kNumAlignBits = 4;
166
- var kAlignTableSize = 1 << kNumAlignBits; // 16
167
- var kAlignMask = kAlignTableSize - 1; // 15
168
- var kStartPosModelIndex = 4;
169
- var kEndPosModelIndex = 14;
170
- var kNumPosModels = kEndPosModelIndex - kStartPosModelIndex; // 10
171
- var kNumFullDistances = 1 << (kEndPosModelIndex >>> 1); // 128
172
- var kNumLitPosStatesBitsEncodingMax = 4;
173
- var kNumLitContextBitsMax = 8;
174
- var kNumPosStatesBitsMax = 4;
175
- var kNumPosStatesMax = 1 << kNumPosStatesBitsMax; // 16
176
- var kNumPosStatesBitsEncodingMax = 4;
177
- var kNumPosStatesEncodingMax = 1 << kNumPosStatesBitsEncodingMax; // 16
178
- var kNumBitModelTotalBits = 11;
179
- var kBitModelTotal = 1 << kNumBitModelTotalBits; // 2048
180
- var kNumMoveBits = 5;
181
- var kProbInitValue = kBitModelTotal >>> 1; // 1024
182
- function stateUpdateChar(state) {
183
- if (state < 4) return 0;
184
- if (state < 10) return state - 3;
185
- return state - 6;
186
- }
187
- function stateUpdateMatch(state) {
188
- return state < 7 ? 7 : 10;
189
- }
190
- function stateUpdateRep(state) {
191
- return state < 7 ? 8 : 11;
192
- }
193
- function stateUpdateShortRep(state) {
194
- return state < 7 ? 9 : 11;
195
- }
196
- function stateIsCharState(state) {
197
- return state < 7;
198
- }
199
- function getLenToPosState(len) {
200
- len -= kMatchMinLen;
201
- return len < kNumLenToPosStates ? len : kNumLenToPosStates - 1;
202
- }
203
- function initBitModels(probs, count) {
204
- if (probs === null) {
205
- if (count === undefined) {
206
- throw new Error('count required when probs is null');
207
- }
208
- probs = new Uint16Array(count);
209
- }
210
- for(var i = 0; i < probs.length; i++){
211
- probs[i] = kProbInitValue;
212
- }
213
- return probs;
214
- }
215
- function parseProperties(properties) {
216
- if (properties.length < 5) {
217
- throw new Error('LZMA properties must be at least 5 bytes');
218
- }
219
- var d = properties[0] & 0xff;
220
- var lc = d % 9;
221
- var remainder = ~~(d / 9);
222
- var lp = remainder % 5;
223
- var pb = ~~(remainder / 5);
224
- if (lc > kNumLitContextBitsMax || lp > 4 || pb > kNumPosStatesBitsMax) {
225
- throw new Error('Invalid LZMA properties');
226
- }
227
- var dictionarySize = 0;
228
- for(var i = 0; i < 4; i++){
229
- dictionarySize |= (properties[1 + i] & 0xff) << i * 8;
230
- }
231
- return {
232
- lc: lc,
233
- lp: lp,
234
- pb: pb,
235
- dictionarySize: dictionarySize
236
- };
237
- }
238
- var LZMA2_CONTROL = {
239
- END: 0x00,
240
- UNCOMPRESSED_RESET_DIC: 0x01,
241
- UNCOMPRESSED: 0x02,
242
- LZMA_RESET_STATE_NEW_PROP: 0xe0
243
- };
244
- function lzma2NeedsNewProps(control) {
245
- return control >= 0xe0;
246
- }
247
- function lzma2NeedsResetProbs(control) {
248
- return control >= 0xa0;
249
- }
250
- function lzma2IsUncompressed(control) {
251
- return control < 0x80;
252
- }
253
- function parseLzma2DictionarySize(prop) {
254
- if (prop > 40) {
255
- throw new Error('Invalid LZMA2 dictionary size property');
256
- }
257
- if (prop === 40) {
258
- return 0xffffffff;
259
- }
260
- var base = 2 | prop & 1;
261
- var exp = (prop >>> 1) + 11;
262
- return base << exp;
263
- }
264
- /* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/7z-iterator/src/lzma/types.ts"],"sourcesContent":["/**\n * LZMA Types and Constants\n *\n * Shared types, constants, and state transition functions for LZMA decoding.\n * Based on the LZMA SDK specification.\n */\n\n// LZMA State Machine Constants\nexport const kNumRepDistances = 4;\nexport const kNumStates = 12;\n\n// Position slot constants\nexport const kNumPosSlotBits = 6;\nexport const kDicLogSizeMin = 0;\nexport const kNumLenToPosStatesBits = 2;\nexport const kNumLenToPosStates = 1 << kNumLenToPosStatesBits; // 4\n\n// Match length constants\nexport const kMatchMinLen = 2;\nexport const kNumLowLenBits = 3;\nexport const kNumMidLenBits = 3;\nexport const kNumHighLenBits = 8;\nexport const kNumLowLenSymbols = 1 << kNumLowLenBits; // 8\nexport const kNumMidLenSymbols = 1 << kNumMidLenBits; // 8\nexport const kNumLenSymbols = kNumLowLenSymbols + kNumMidLenSymbols + (1 << kNumHighLenBits); // 272\nexport const kMatchMaxLen = kMatchMinLen + kNumLenSymbols - 1; // 273\n\n// Alignment constants\nexport const kNumAlignBits = 4;\nexport const kAlignTableSize = 1 << kNumAlignBits; // 16\nexport const kAlignMask = kAlignTableSize - 1; // 15\n\n// Position model constants\nexport const kStartPosModelIndex = 4;\nexport const kEndPosModelIndex = 14;\nexport const kNumPosModels = kEndPosModelIndex - kStartPosModelIndex; // 10\nexport const kNumFullDistances = 1 << (kEndPosModelIndex >>> 1); // 128\n\n// Literal/pos state constants\nexport const kNumLitPosStatesBitsEncodingMax = 4;\nexport const kNumLitContextBitsMax = 8;\nexport const kNumPosStatesBitsMax = 4;\nexport const kNumPosStatesMax = 1 << kNumPosStatesBitsMax; // 16\nexport const kNumPosStatesBitsEncodingMax = 4;\nexport const kNumPosStatesEncodingMax = 1 << kNumPosStatesBitsEncodingMax; // 16\n\n// Range coder probability constants\nexport const kNumBitModelTotalBits = 11;\nexport const kBitModelTotal = 1 << kNumBitModelTotalBits; // 2048\nexport const kNumMoveBits = 5;\nexport const kProbInitValue = kBitModelTotal >>> 1; // 1024\n\n/**\n * State transition: after literal byte\n */\nexport function stateUpdateChar(state: number): number {\n if (state < 4) return 0;\n if (state < 10) return state - 3;\n return state - 6;\n}\n\n/**\n * State transition: after match\n */\nexport function stateUpdateMatch(state: number): number {\n return state < 7 ? 7 : 10;\n}\n\n/**\n * State transition: after rep (repeated match)\n */\nexport function stateUpdateRep(state: number): number {\n return state < 7 ? 8 : 11;\n}\n\n/**\n * State transition: after short rep\n */\nexport function stateUpdateShortRep(state: number): number {\n return state < 7 ? 9 : 11;\n}\n\n/**\n * Check if state indicates previous symbol was a character (literal)\n */\nexport function stateIsCharState(state: number): boolean {\n return state < 7;\n}\n\n/**\n * Get length-to-position state index\n */\nexport function getLenToPosState(len: number): number {\n len -= kMatchMinLen;\n return len < kNumLenToPosStates ? len : kNumLenToPosStates - 1;\n}\n\n/**\n * Initialize probability array with default values\n * @param probs - Array to initialize (or null to create new)\n * @param count - Number of probabilities\n * @returns Initialized probability array\n */\nexport function initBitModels(probs: Uint16Array | null, count?: number): Uint16Array {\n if (probs === null) {\n if (count === undefined) {\n throw new Error('count required when probs is null');\n }\n probs = new Uint16Array(count);\n }\n for (let i = 0; i < probs.length; i++) {\n probs[i] = kProbInitValue;\n }\n return probs;\n}\n\n/**\n * LZMA properties parsed from the 5-byte header\n */\nexport interface LzmaProperties {\n /** Literal context bits (0-8) */\n lc: number;\n /** Literal pos bits (0-4) */\n lp: number;\n /** Pos bits (0-4) */\n pb: number;\n /** Dictionary size in bytes */\n dictionarySize: number;\n}\n\n/**\n * Parse LZMA properties from a 5-byte buffer\n */\nexport function parseProperties(properties: Buffer | Uint8Array): LzmaProperties {\n if (properties.length < 5) {\n throw new Error('LZMA properties must be at least 5 bytes');\n }\n\n const d = properties[0] & 0xff;\n const lc = d % 9;\n const remainder = ~~(d / 9);\n const lp = remainder % 5;\n const pb = ~~(remainder / 5);\n\n if (lc > kNumLitContextBitsMax || lp > 4 || pb > kNumPosStatesBitsMax) {\n throw new Error('Invalid LZMA properties');\n }\n\n let dictionarySize = 0;\n for (let i = 0; i < 4; i++) {\n dictionarySize |= (properties[1 + i] & 0xff) << (i * 8);\n }\n\n return { lc, lp, pb, dictionarySize };\n}\n\n/**\n * LZMA2 control byte meanings\n */\nexport const LZMA2_CONTROL = {\n END: 0x00,\n UNCOMPRESSED_RESET_DIC: 0x01,\n UNCOMPRESSED: 0x02,\n LZMA_RESET_STATE_NEW_PROP: 0xe0,\n} as const;\n\n/**\n * Check if LZMA2 control byte indicates reset state (new properties)\n */\nexport function lzma2NeedsNewProps(control: number): boolean {\n return control >= 0xe0;\n}\n\n/**\n * Check if LZMA2 control byte indicates reset probabilities\n */\nexport function lzma2NeedsResetProbs(control: number): boolean {\n return control >= 0xa0;\n}\n\n/**\n * Check if LZMA2 control byte indicates uncompressed chunk\n */\nexport function lzma2IsUncompressed(control: number): boolean {\n return control < 0x80;\n}\n\n/**\n * Parse LZMA2 dictionary size from property byte\n */\nexport function parseLzma2DictionarySize(prop: number): number {\n if (prop > 40) {\n throw new Error('Invalid LZMA2 dictionary size property');\n }\n if (prop === 40) {\n return 0xffffffff;\n }\n const base = 2 | (prop & 1);\n const exp = (prop >>> 1) + 11;\n return base << exp;\n}\n"],"names":["LZMA2_CONTROL","getLenToPosState","initBitModels","kAlignMask","kAlignTableSize","kBitModelTotal","kDicLogSizeMin","kEndPosModelIndex","kMatchMaxLen","kMatchMinLen","kNumAlignBits","kNumBitModelTotalBits","kNumFullDistances","kNumHighLenBits","kNumLenSymbols","kNumLenToPosStates","kNumLenToPosStatesBits","kNumLitContextBitsMax","kNumLitPosStatesBitsEncodingMax","kNumLowLenBits","kNumLowLenSymbols","kNumMidLenBits","kNumMidLenSymbols","kNumMoveBits","kNumPosModels","kNumPosSlotBits","kNumPosStatesBitsEncodingMax","kNumPosStatesBitsMax","kNumPosStatesEncodingMax","kNumPosStatesMax","kNumRepDistances","kNumStates","kProbInitValue","kStartPosModelIndex","lzma2IsUncompressed","lzma2NeedsNewProps","lzma2NeedsResetProbs","parseLzma2DictionarySize","parseProperties","stateIsCharState","stateUpdateChar","stateUpdateMatch","stateUpdateRep","stateUpdateShortRep","state","len","probs","count","undefined","Error","Uint16Array","i","length","properties","d","lc","remainder","lp","pb","dictionarySize","END","UNCOMPRESSED_RESET_DIC","UNCOMPRESSED","LZMA_RESET_STATE_NEW_PROP","control","prop","base","exp"],"mappings":"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"}