7z-iterator 0.1.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/LICENSE +42 -0
- package/README.md +142 -0
- package/dist/cjs/FileEntry.d.cts +12 -0
- package/dist/cjs/FileEntry.d.ts +12 -0
- package/dist/cjs/FileEntry.js +147 -0
- package/dist/cjs/FileEntry.js.map +1 -0
- package/dist/cjs/SevenZipIterator.d.cts +8 -0
- package/dist/cjs/SevenZipIterator.d.ts +8 -0
- package/dist/cjs/SevenZipIterator.js +204 -0
- package/dist/cjs/SevenZipIterator.js.map +1 -0
- package/dist/cjs/index.d.cts +4 -0
- package/dist/cjs/index.d.ts +4 -0
- package/dist/cjs/index.js +40 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/lib/Lock.d.cts +11 -0
- package/dist/cjs/lib/Lock.d.ts +11 -0
- package/dist/cjs/lib/Lock.js +65 -0
- package/dist/cjs/lib/Lock.js.map +1 -0
- package/dist/cjs/lib/streamToSource.d.cts +20 -0
- package/dist/cjs/lib/streamToSource.d.ts +20 -0
- package/dist/cjs/lib/streamToSource.js +116 -0
- package/dist/cjs/lib/streamToSource.js.map +1 -0
- package/dist/cjs/nextEntry.d.cts +4 -0
- package/dist/cjs/nextEntry.d.ts +4 -0
- package/dist/cjs/nextEntry.js +102 -0
- package/dist/cjs/nextEntry.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/sevenz/NumberCodec.d.cts +58 -0
- package/dist/cjs/sevenz/NumberCodec.d.ts +58 -0
- package/dist/cjs/sevenz/NumberCodec.js +133 -0
- package/dist/cjs/sevenz/NumberCodec.js.map +1 -0
- package/dist/cjs/sevenz/SevenZipParser.d.cts +96 -0
- package/dist/cjs/sevenz/SevenZipParser.d.ts +96 -0
- package/dist/cjs/sevenz/SevenZipParser.js +457 -0
- package/dist/cjs/sevenz/SevenZipParser.js.map +1 -0
- package/dist/cjs/sevenz/codecs/Aes.d.cts +22 -0
- package/dist/cjs/sevenz/codecs/Aes.d.ts +22 -0
- package/dist/cjs/sevenz/codecs/Aes.js +179 -0
- package/dist/cjs/sevenz/codecs/Aes.js.map +1 -0
- package/dist/cjs/sevenz/codecs/BZip2.d.cts +14 -0
- package/dist/cjs/sevenz/codecs/BZip2.d.ts +14 -0
- package/dist/cjs/sevenz/codecs/BZip2.js +37 -0
- package/dist/cjs/sevenz/codecs/BZip2.js.map +1 -0
- package/dist/cjs/sevenz/codecs/Bcj.d.cts +15 -0
- package/dist/cjs/sevenz/codecs/Bcj.d.ts +15 -0
- package/dist/cjs/sevenz/codecs/Bcj.js +89 -0
- package/dist/cjs/sevenz/codecs/Bcj.js.map +1 -0
- package/dist/cjs/sevenz/codecs/Copy.d.cts +14 -0
- package/dist/cjs/sevenz/codecs/Copy.d.ts +14 -0
- package/dist/cjs/sevenz/codecs/Copy.js +28 -0
- package/dist/cjs/sevenz/codecs/Copy.js.map +1 -0
- package/dist/cjs/sevenz/codecs/Deflate.d.cts +14 -0
- package/dist/cjs/sevenz/codecs/Deflate.d.ts +14 -0
- package/dist/cjs/sevenz/codecs/Deflate.js +39 -0
- package/dist/cjs/sevenz/codecs/Deflate.js.map +1 -0
- package/dist/cjs/sevenz/codecs/Delta.d.cts +15 -0
- package/dist/cjs/sevenz/codecs/Delta.d.ts +15 -0
- package/dist/cjs/sevenz/codecs/Delta.js +55 -0
- package/dist/cjs/sevenz/codecs/Delta.js.map +1 -0
- package/dist/cjs/sevenz/codecs/Lzma.d.cts +14 -0
- package/dist/cjs/sevenz/codecs/Lzma.d.ts +14 -0
- package/dist/cjs/sevenz/codecs/Lzma.js +53 -0
- package/dist/cjs/sevenz/codecs/Lzma.js.map +1 -0
- package/dist/cjs/sevenz/codecs/Lzma2.d.cts +14 -0
- package/dist/cjs/sevenz/codecs/Lzma2.d.ts +14 -0
- package/dist/cjs/sevenz/codecs/Lzma2.js +160 -0
- package/dist/cjs/sevenz/codecs/Lzma2.js.map +1 -0
- package/dist/cjs/sevenz/codecs/createBufferingDecoder.d.cts +7 -0
- package/dist/cjs/sevenz/codecs/createBufferingDecoder.d.ts +7 -0
- package/dist/cjs/sevenz/codecs/createBufferingDecoder.js +36 -0
- package/dist/cjs/sevenz/codecs/createBufferingDecoder.js.map +1 -0
- package/dist/cjs/sevenz/codecs/index.d.cts +24 -0
- package/dist/cjs/sevenz/codecs/index.d.ts +24 -0
- package/dist/cjs/sevenz/codecs/index.js +128 -0
- package/dist/cjs/sevenz/codecs/index.js.map +1 -0
- package/dist/cjs/sevenz/codecs/streams.d.cts +18 -0
- package/dist/cjs/sevenz/codecs/streams.d.ts +18 -0
- package/dist/cjs/sevenz/codecs/streams.js +79 -0
- package/dist/cjs/sevenz/codecs/streams.js.map +1 -0
- package/dist/cjs/sevenz/constants.d.cts +86 -0
- package/dist/cjs/sevenz/constants.d.ts +86 -0
- package/dist/cjs/sevenz/constants.js +162 -0
- package/dist/cjs/sevenz/constants.js.map +1 -0
- package/dist/cjs/sevenz/headers.d.cts +70 -0
- package/dist/cjs/sevenz/headers.d.ts +70 -0
- package/dist/cjs/sevenz/headers.js +661 -0
- package/dist/cjs/sevenz/headers.js.map +1 -0
- package/dist/cjs/sevenz/index.d.cts +4 -0
- package/dist/cjs/sevenz/index.d.ts +4 -0
- package/dist/cjs/sevenz/index.js +33 -0
- package/dist/cjs/sevenz/index.js.map +1 -0
- package/dist/cjs/types.d.cts +37 -0
- package/dist/cjs/types.d.ts +37 -0
- package/dist/cjs/types.js +32 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/esm/FileEntry.d.ts +12 -0
- package/dist/esm/FileEntry.js +63 -0
- package/dist/esm/FileEntry.js.map +1 -0
- package/dist/esm/SevenZipIterator.d.ts +8 -0
- package/dist/esm/SevenZipIterator.js +116 -0
- package/dist/esm/SevenZipIterator.js.map +1 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/Lock.d.ts +11 -0
- package/dist/esm/lib/Lock.js +41 -0
- package/dist/esm/lib/Lock.js.map +1 -0
- package/dist/esm/lib/streamToSource.d.ts +20 -0
- package/dist/esm/lib/streamToSource.js +100 -0
- package/dist/esm/lib/streamToSource.js.map +1 -0
- package/dist/esm/nextEntry.d.ts +4 -0
- package/dist/esm/nextEntry.js +86 -0
- package/dist/esm/nextEntry.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/sevenz/NumberCodec.d.ts +58 -0
- package/dist/esm/sevenz/NumberCodec.js +138 -0
- package/dist/esm/sevenz/NumberCodec.js.map +1 -0
- package/dist/esm/sevenz/SevenZipParser.d.ts +96 -0
- package/dist/esm/sevenz/SevenZipParser.js +419 -0
- package/dist/esm/sevenz/SevenZipParser.js.map +1 -0
- package/dist/esm/sevenz/codecs/Aes.d.ts +22 -0
- package/dist/esm/sevenz/codecs/Aes.js +162 -0
- package/dist/esm/sevenz/codecs/Aes.js.map +1 -0
- package/dist/esm/sevenz/codecs/BZip2.d.ts +14 -0
- package/dist/esm/sevenz/codecs/BZip2.js +22 -0
- package/dist/esm/sevenz/codecs/BZip2.js.map +1 -0
- package/dist/esm/sevenz/codecs/Bcj.d.ts +15 -0
- package/dist/esm/sevenz/codecs/Bcj.js +75 -0
- package/dist/esm/sevenz/codecs/Bcj.js.map +1 -0
- package/dist/esm/sevenz/codecs/Copy.d.ts +14 -0
- package/dist/esm/sevenz/codecs/Copy.js +18 -0
- package/dist/esm/sevenz/codecs/Copy.js.map +1 -0
- package/dist/esm/sevenz/codecs/Deflate.d.ts +14 -0
- package/dist/esm/sevenz/codecs/Deflate.js +24 -0
- package/dist/esm/sevenz/codecs/Deflate.js.map +1 -0
- package/dist/esm/sevenz/codecs/Delta.d.ts +15 -0
- package/dist/esm/sevenz/codecs/Delta.js +41 -0
- package/dist/esm/sevenz/codecs/Delta.js.map +1 -0
- package/dist/esm/sevenz/codecs/Lzma.d.ts +14 -0
- package/dist/esm/sevenz/codecs/Lzma.js +38 -0
- package/dist/esm/sevenz/codecs/Lzma.js.map +1 -0
- package/dist/esm/sevenz/codecs/Lzma2.d.ts +14 -0
- package/dist/esm/sevenz/codecs/Lzma2.js +145 -0
- package/dist/esm/sevenz/codecs/Lzma2.js.map +1 -0
- package/dist/esm/sevenz/codecs/createBufferingDecoder.d.ts +7 -0
- package/dist/esm/sevenz/codecs/createBufferingDecoder.js +25 -0
- package/dist/esm/sevenz/codecs/createBufferingDecoder.js.map +1 -0
- package/dist/esm/sevenz/codecs/index.d.ts +24 -0
- package/dist/esm/sevenz/codecs/index.js +108 -0
- package/dist/esm/sevenz/codecs/index.js.map +1 -0
- package/dist/esm/sevenz/codecs/streams.d.ts +18 -0
- package/dist/esm/sevenz/codecs/streams.js +66 -0
- package/dist/esm/sevenz/codecs/streams.js.map +1 -0
- package/dist/esm/sevenz/constants.d.ts +86 -0
- package/dist/esm/sevenz/constants.js +131 -0
- package/dist/esm/sevenz/constants.js.map +1 -0
- package/dist/esm/sevenz/headers.d.ts +70 -0
- package/dist/esm/sevenz/headers.js +646 -0
- package/dist/esm/sevenz/headers.js.map +1 -0
- package/dist/esm/sevenz/index.d.ts +4 -0
- package/dist/esm/sevenz/index.js +5 -0
- package/dist/esm/sevenz/index.js.map +1 -0
- package/dist/esm/types.d.ts +37 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/package.json +77 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
// Codec registry for 7z decompression
|
|
2
|
+
// Each codec provides a decode function and optionally a streaming decoder
|
|
3
|
+
"use strict";
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
function _export(target, all) {
|
|
8
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
_export(exports, {
|
|
14
|
+
get getCodec () {
|
|
15
|
+
return getCodec;
|
|
16
|
+
},
|
|
17
|
+
get getCodecName () {
|
|
18
|
+
return getCodecName;
|
|
19
|
+
},
|
|
20
|
+
get getPassword () {
|
|
21
|
+
return _Aests.getPassword;
|
|
22
|
+
},
|
|
23
|
+
get isCodecSupported () {
|
|
24
|
+
return isCodecSupported;
|
|
25
|
+
},
|
|
26
|
+
get registerCodec () {
|
|
27
|
+
return registerCodec;
|
|
28
|
+
},
|
|
29
|
+
get setPassword () {
|
|
30
|
+
return _Aests.setPassword;
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
var _constantsts = require("../constants.js");
|
|
34
|
+
var _Aests = require("./Aes.js");
|
|
35
|
+
var _Bcjts = require("./Bcj.js");
|
|
36
|
+
var _BZip2ts = require("./BZip2.js");
|
|
37
|
+
var _Copyts = require("./Copy.js");
|
|
38
|
+
var _Deflatets = require("./Deflate.js");
|
|
39
|
+
var _Deltats = require("./Delta.js");
|
|
40
|
+
var _Lzmats = require("./Lzma.js");
|
|
41
|
+
var _Lzma2ts = require("./Lzma2.js");
|
|
42
|
+
// Registry of supported codecs
|
|
43
|
+
var codecs = {};
|
|
44
|
+
/**
|
|
45
|
+
* Convert codec ID bytes to a string key
|
|
46
|
+
*/ function codecIdToKey(id) {
|
|
47
|
+
var parts = [];
|
|
48
|
+
for(var i = 0; i < id.length; i++){
|
|
49
|
+
parts.push(id[i].toString(16).toUpperCase());
|
|
50
|
+
}
|
|
51
|
+
return parts.join('-');
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Check if two codec IDs match
|
|
55
|
+
*/ function codecIdEquals(a, b) {
|
|
56
|
+
if (a.length !== b.length) return false;
|
|
57
|
+
for(var i = 0; i < a.length; i++){
|
|
58
|
+
if (a[i] !== b[i]) return false;
|
|
59
|
+
}
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
function registerCodec(id, codec) {
|
|
63
|
+
codecs[codecIdToKey(id)] = codec;
|
|
64
|
+
}
|
|
65
|
+
function getCodec(id) {
|
|
66
|
+
var key = codecIdToKey(id);
|
|
67
|
+
var codec = codecs[key];
|
|
68
|
+
if (!codec) {
|
|
69
|
+
throw (0, _constantsts.createCodedError)("Unsupported codec: ".concat(key), _constantsts.ErrorCode.UNSUPPORTED_CODEC);
|
|
70
|
+
}
|
|
71
|
+
return codec;
|
|
72
|
+
}
|
|
73
|
+
function isCodecSupported(id) {
|
|
74
|
+
return codecs[codecIdToKey(id)] !== undefined;
|
|
75
|
+
}
|
|
76
|
+
function getCodecName(id) {
|
|
77
|
+
if (codecIdEquals(id, _constantsts.CodecId.COPY)) return 'Copy';
|
|
78
|
+
if (codecIdEquals(id, _constantsts.CodecId.LZMA)) return 'LZMA';
|
|
79
|
+
if (codecIdEquals(id, _constantsts.CodecId.LZMA2)) return 'LZMA2';
|
|
80
|
+
if (codecIdEquals(id, _constantsts.CodecId.BCJ_X86)) return 'BCJ (x86)';
|
|
81
|
+
if (codecIdEquals(id, _constantsts.CodecId.DELTA)) return 'Delta';
|
|
82
|
+
if (codecIdEquals(id, _constantsts.CodecId.DEFLATE)) return 'Deflate';
|
|
83
|
+
if (codecIdEquals(id, _constantsts.CodecId.BZIP2)) return 'BZip2';
|
|
84
|
+
if (codecIdEquals(id, _constantsts.CodecId.AES)) return 'AES-256';
|
|
85
|
+
return "Unknown (".concat(codecIdToKey(id), ")");
|
|
86
|
+
}
|
|
87
|
+
// Register built-in codecs
|
|
88
|
+
// Copy codec (no compression)
|
|
89
|
+
registerCodec(_constantsts.CodecId.COPY, {
|
|
90
|
+
decode: _Copyts.decodeCopy,
|
|
91
|
+
createDecoder: _Copyts.createCopyDecoder
|
|
92
|
+
});
|
|
93
|
+
// LZMA codec
|
|
94
|
+
registerCodec(_constantsts.CodecId.LZMA, {
|
|
95
|
+
decode: _Lzmats.decodeLzma,
|
|
96
|
+
createDecoder: _Lzmats.createLzmaDecoder
|
|
97
|
+
});
|
|
98
|
+
// LZMA2 codec
|
|
99
|
+
registerCodec(_constantsts.CodecId.LZMA2, {
|
|
100
|
+
decode: _Lzma2ts.decodeLzma2,
|
|
101
|
+
createDecoder: _Lzma2ts.createLzma2Decoder
|
|
102
|
+
});
|
|
103
|
+
// BCJ (x86) filter
|
|
104
|
+
registerCodec(_constantsts.CodecId.BCJ_X86, {
|
|
105
|
+
decode: _Bcjts.decodeBcj,
|
|
106
|
+
createDecoder: _Bcjts.createBcjDecoder
|
|
107
|
+
});
|
|
108
|
+
// Delta filter
|
|
109
|
+
registerCodec(_constantsts.CodecId.DELTA, {
|
|
110
|
+
decode: _Deltats.decodeDelta,
|
|
111
|
+
createDecoder: _Deltats.createDeltaDecoder
|
|
112
|
+
});
|
|
113
|
+
// Deflate codec
|
|
114
|
+
registerCodec(_constantsts.CodecId.DEFLATE, {
|
|
115
|
+
decode: _Deflatets.decodeDeflate,
|
|
116
|
+
createDecoder: _Deflatets.createDeflateDecoder
|
|
117
|
+
});
|
|
118
|
+
// BZip2 codec
|
|
119
|
+
registerCodec(_constantsts.CodecId.BZIP2, {
|
|
120
|
+
decode: _BZip2ts.decodeBzip2,
|
|
121
|
+
createDecoder: _BZip2ts.createBzip2Decoder
|
|
122
|
+
});
|
|
123
|
+
// AES-256-CBC codec (encryption)
|
|
124
|
+
registerCodec(_constantsts.CodecId.AES, {
|
|
125
|
+
decode: _Aests.decodeAes,
|
|
126
|
+
createDecoder: _Aests.createAesDecoder
|
|
127
|
+
});
|
|
128
|
+
/* 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; }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/7z-iterator/src/sevenz/codecs/index.ts"],"sourcesContent":["// Codec registry for 7z decompression\n// Each codec provides a decode function and optionally a streaming decoder\n\nimport type { Transform } from 'readable-stream';\nimport { CodecId, createCodedError, ErrorCode } from '../constants.ts';\nimport { createAesDecoder, decodeAes, getPassword, setPassword } from './Aes.ts';\nimport { createBcjDecoder, decodeBcj } from './Bcj.ts';\nimport { createBzip2Decoder, decodeBzip2 } from './BZip2.ts';\nimport { createCopyDecoder, decodeCopy } from './Copy.ts';\nimport { createDeflateDecoder, decodeDeflate } from './Deflate.ts';\nimport { createDeltaDecoder, decodeDelta } from './Delta.ts';\nimport { createLzmaDecoder, decodeLzma } from './Lzma.ts';\nimport { createLzma2Decoder, decodeLzma2 } from './Lzma2.ts';\n\n// Re-export password functions for API access\nexport { getPassword, setPassword };\n\nexport interface Codec {\n decode: (input: Buffer, properties?: Buffer, unpackSize?: number) => Buffer;\n createDecoder: (properties?: Buffer, unpackSize?: number) => Transform;\n}\n\n// Registry of supported codecs\nvar codecs: { [key: string]: Codec } = {};\n\n/**\n * Convert codec ID bytes to a string key\n */\nfunction codecIdToKey(id: number[]): string {\n var parts: string[] = [];\n for (var i = 0; i < id.length; i++) {\n parts.push(id[i].toString(16).toUpperCase());\n }\n return parts.join('-');\n}\n\n/**\n * Check if two codec IDs match\n */\nfunction codecIdEquals(a: number[], b: number[]): boolean {\n if (a.length !== b.length) return false;\n for (var i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n}\n\n/**\n * Register a codec\n */\nexport function registerCodec(id: number[], codec: Codec): void {\n codecs[codecIdToKey(id)] = codec;\n}\n\n/**\n * Get a codec by ID\n * @throws Error if codec is not supported\n */\nexport function getCodec(id: number[]): Codec {\n var key = codecIdToKey(id);\n var codec = codecs[key];\n if (!codec) {\n throw createCodedError(`Unsupported codec: ${key}`, ErrorCode.UNSUPPORTED_CODEC);\n }\n return codec;\n}\n\n/**\n * Check if a codec is supported\n */\nexport function isCodecSupported(id: number[]): boolean {\n return codecs[codecIdToKey(id)] !== undefined;\n}\n\n/**\n * Get human-readable codec name\n */\nexport function getCodecName(id: number[]): string {\n if (codecIdEquals(id, CodecId.COPY)) return 'Copy';\n if (codecIdEquals(id, CodecId.LZMA)) return 'LZMA';\n if (codecIdEquals(id, CodecId.LZMA2)) return 'LZMA2';\n if (codecIdEquals(id, CodecId.BCJ_X86)) return 'BCJ (x86)';\n if (codecIdEquals(id, CodecId.DELTA)) return 'Delta';\n if (codecIdEquals(id, CodecId.DEFLATE)) return 'Deflate';\n if (codecIdEquals(id, CodecId.BZIP2)) return 'BZip2';\n if (codecIdEquals(id, CodecId.AES)) return 'AES-256';\n return `Unknown (${codecIdToKey(id)})`;\n}\n\n// Register built-in codecs\n\n// Copy codec (no compression)\nregisterCodec(CodecId.COPY, {\n decode: decodeCopy,\n createDecoder: createCopyDecoder,\n});\n\n// LZMA codec\nregisterCodec(CodecId.LZMA, {\n decode: decodeLzma,\n createDecoder: createLzmaDecoder,\n});\n\n// LZMA2 codec\nregisterCodec(CodecId.LZMA2, {\n decode: decodeLzma2,\n createDecoder: createLzma2Decoder,\n});\n\n// BCJ (x86) filter\nregisterCodec(CodecId.BCJ_X86, {\n decode: decodeBcj,\n createDecoder: createBcjDecoder,\n});\n\n// Delta filter\nregisterCodec(CodecId.DELTA, {\n decode: decodeDelta,\n createDecoder: createDeltaDecoder,\n});\n\n// Deflate codec\nregisterCodec(CodecId.DEFLATE, {\n decode: decodeDeflate,\n createDecoder: createDeflateDecoder,\n});\n\n// BZip2 codec\nregisterCodec(CodecId.BZIP2, {\n decode: decodeBzip2,\n createDecoder: createBzip2Decoder,\n});\n\n// AES-256-CBC codec (encryption)\nregisterCodec(CodecId.AES, {\n decode: decodeAes,\n createDecoder: createAesDecoder,\n});\n"],"names":["getCodec","getCodecName","getPassword","isCodecSupported","registerCodec","setPassword","codecs","codecIdToKey","id","parts","i","length","push","toString","toUpperCase","join","codecIdEquals","a","b","codec","key","createCodedError","ErrorCode","UNSUPPORTED_CODEC","undefined","CodecId","COPY","LZMA","LZMA2","BCJ_X86","DELTA","DEFLATE","BZIP2","AES","decode","decodeCopy","createDecoder","createCopyDecoder","decodeLzma","createLzmaDecoder","decodeLzma2","createLzma2Decoder","decodeBcj","createBcjDecoder","decodeDelta","createDeltaDecoder","decodeDeflate","createDeflateDecoder","decodeBzip2","createBzip2Decoder","decodeAes","createAesDecoder"],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Input stream wrapper for lzma-purejs
|
|
3
|
+
* Wraps a Buffer region as a readable stream interface
|
|
4
|
+
*/
|
|
5
|
+
export declare function createInputStream(buffer: Buffer, offset: number, length: number): {
|
|
6
|
+
readByte: () => number;
|
|
7
|
+
read: (buf: number[], bufOffset: number, len: number) => number;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Output stream wrapper for lzma-purejs
|
|
11
|
+
* Collects output bytes into Buffer chunks
|
|
12
|
+
*/
|
|
13
|
+
export declare function createOutputStream(): {
|
|
14
|
+
writeByte: (b: number) => void;
|
|
15
|
+
write: (buf: number[], bufOffset: number, len: number) => number;
|
|
16
|
+
flush: () => void;
|
|
17
|
+
toBuffer: () => Buffer;
|
|
18
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Input stream wrapper for lzma-purejs
|
|
3
|
+
* Wraps a Buffer region as a readable stream interface
|
|
4
|
+
*/
|
|
5
|
+
export declare function createInputStream(buffer: Buffer, offset: number, length: number): {
|
|
6
|
+
readByte: () => number;
|
|
7
|
+
read: (buf: number[], bufOffset: number, len: number) => number;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Output stream wrapper for lzma-purejs
|
|
11
|
+
* Collects output bytes into Buffer chunks
|
|
12
|
+
*/
|
|
13
|
+
export declare function createOutputStream(): {
|
|
14
|
+
writeByte: (b: number) => void;
|
|
15
|
+
write: (buf: number[], bufOffset: number, len: number) => number;
|
|
16
|
+
flush: () => void;
|
|
17
|
+
toBuffer: () => Buffer;
|
|
18
|
+
};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
// Shared stream wrappers for lzma-purejs codec interface
|
|
2
|
+
// These adapters convert between Buffer/lzma-purejs stream interfaces
|
|
3
|
+
"use strict";
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
function _export(target, all) {
|
|
8
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
_export(exports, {
|
|
14
|
+
get createInputStream () {
|
|
15
|
+
return createInputStream;
|
|
16
|
+
},
|
|
17
|
+
get createOutputStream () {
|
|
18
|
+
return createOutputStream;
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
var _extractbaseiterator = require("extract-base-iterator");
|
|
22
|
+
function createInputStream(buffer, offset, length) {
|
|
23
|
+
var pos = 0;
|
|
24
|
+
var end = Math.min(offset + length, buffer.length);
|
|
25
|
+
var start = offset;
|
|
26
|
+
return {
|
|
27
|
+
readByte: function() {
|
|
28
|
+
if (start + pos >= end) return -1;
|
|
29
|
+
return buffer[start + pos++];
|
|
30
|
+
},
|
|
31
|
+
read: function(buf, bufOffset, len) {
|
|
32
|
+
var bytesRead = 0;
|
|
33
|
+
while(bytesRead < len && start + pos < end){
|
|
34
|
+
buf[bufOffset + bytesRead] = buffer[start + pos];
|
|
35
|
+
pos++;
|
|
36
|
+
bytesRead++;
|
|
37
|
+
}
|
|
38
|
+
return bytesRead === 0 ? -1 : bytesRead;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function createOutputStream() {
|
|
43
|
+
var chunks = [];
|
|
44
|
+
var currentChunk = [];
|
|
45
|
+
var CHUNK_SIZE = 16384;
|
|
46
|
+
return {
|
|
47
|
+
writeByte: function(b) {
|
|
48
|
+
currentChunk.push(b);
|
|
49
|
+
if (currentChunk.length >= CHUNK_SIZE) {
|
|
50
|
+
chunks.push((0, _extractbaseiterator.allocBufferUnsafe)(currentChunk.length));
|
|
51
|
+
for(var i = 0; i < currentChunk.length; i++){
|
|
52
|
+
chunks[chunks.length - 1][i] = currentChunk[i];
|
|
53
|
+
}
|
|
54
|
+
currentChunk = [];
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
write: function write(buf, bufOffset, len) {
|
|
58
|
+
for(var i = 0; i < len; i++){
|
|
59
|
+
this.writeByte(buf[bufOffset + i]);
|
|
60
|
+
}
|
|
61
|
+
return len;
|
|
62
|
+
},
|
|
63
|
+
flush: function() {
|
|
64
|
+
if (currentChunk.length > 0) {
|
|
65
|
+
var finalChunk = (0, _extractbaseiterator.allocBufferUnsafe)(currentChunk.length);
|
|
66
|
+
for(var i = 0; i < currentChunk.length; i++){
|
|
67
|
+
finalChunk[i] = currentChunk[i];
|
|
68
|
+
}
|
|
69
|
+
chunks.push(finalChunk);
|
|
70
|
+
currentChunk = [];
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
toBuffer: function toBuffer() {
|
|
74
|
+
this.flush();
|
|
75
|
+
return Buffer.concat(chunks);
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/* 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; }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/7z-iterator/src/sevenz/codecs/streams.ts"],"sourcesContent":["// Shared stream wrappers for lzma-purejs codec interface\n// These adapters convert between Buffer/lzma-purejs stream interfaces\n\nimport { allocBufferUnsafe } from 'extract-base-iterator';\n\n/**\n * Input stream wrapper for lzma-purejs\n * Wraps a Buffer region as a readable stream interface\n */\nexport function createInputStream(buffer: Buffer, offset: number, length: number) {\n var pos = 0;\n var end = Math.min(offset + length, buffer.length);\n var start = offset;\n\n return {\n readByte: (): number => {\n if (start + pos >= end) return -1;\n return buffer[start + pos++];\n },\n read: (buf: number[], bufOffset: number, len: number): number => {\n var bytesRead = 0;\n while (bytesRead < len && start + pos < end) {\n buf[bufOffset + bytesRead] = buffer[start + pos];\n pos++;\n bytesRead++;\n }\n return bytesRead === 0 ? -1 : bytesRead;\n },\n };\n}\n\n/**\n * Output stream wrapper for lzma-purejs\n * Collects output bytes into Buffer chunks\n */\nexport function createOutputStream() {\n var chunks: Buffer[] = [];\n var currentChunk: number[] = [];\n var CHUNK_SIZE = 16384;\n\n return {\n writeByte: (b: number): void => {\n currentChunk.push(b);\n if (currentChunk.length >= CHUNK_SIZE) {\n chunks.push(allocBufferUnsafe(currentChunk.length));\n for (var i = 0; i < currentChunk.length; i++) {\n chunks[chunks.length - 1][i] = currentChunk[i];\n }\n currentChunk = [];\n }\n },\n write: function (buf: number[], bufOffset: number, len: number): number {\n for (var i = 0; i < len; i++) {\n this.writeByte(buf[bufOffset + i]);\n }\n return len;\n },\n flush: (): void => {\n if (currentChunk.length > 0) {\n var finalChunk = allocBufferUnsafe(currentChunk.length);\n for (var i = 0; i < currentChunk.length; i++) {\n finalChunk[i] = currentChunk[i];\n }\n chunks.push(finalChunk);\n currentChunk = [];\n }\n },\n toBuffer: function (): Buffer {\n this.flush();\n return Buffer.concat(chunks);\n },\n };\n}\n"],"names":["createInputStream","createOutputStream","buffer","offset","length","pos","end","Math","min","start","readByte","read","buf","bufOffset","len","bytesRead","chunks","currentChunk","CHUNK_SIZE","writeByte","b","push","allocBufferUnsafe","i","write","flush","finalChunk","toBuffer","Buffer","concat"],"mappings":"AAAA,yDAAyD;AACzD,sEAAsE;;;;;;;;;;;;QAQtDA;eAAAA;;QA0BAC;eAAAA;;;mCAhCkB;AAM3B,SAASD,kBAAkBE,MAAc,EAAEC,MAAc,EAAEC,MAAc;IAC9E,IAAIC,MAAM;IACV,IAAIC,MAAMC,KAAKC,GAAG,CAACL,SAASC,QAAQF,OAAOE,MAAM;IACjD,IAAIK,QAAQN;IAEZ,OAAO;QACLO,UAAU;YACR,IAAID,QAAQJ,OAAOC,KAAK,OAAO,CAAC;YAChC,OAAOJ,MAAM,CAACO,QAAQJ,MAAM;QAC9B;QACAM,MAAM,SAACC,KAAeC,WAAmBC;YACvC,IAAIC,YAAY;YAChB,MAAOA,YAAYD,OAAOL,QAAQJ,MAAMC,IAAK;gBAC3CM,GAAG,CAACC,YAAYE,UAAU,GAAGb,MAAM,CAACO,QAAQJ,IAAI;gBAChDA;gBACAU;YACF;YACA,OAAOA,cAAc,IAAI,CAAC,IAAIA;QAChC;IACF;AACF;AAMO,SAASd;IACd,IAAIe,SAAmB,EAAE;IACzB,IAAIC,eAAyB,EAAE;IAC/B,IAAIC,aAAa;IAEjB,OAAO;QACLC,WAAW,SAACC;YACVH,aAAaI,IAAI,CAACD;YAClB,IAAIH,aAAab,MAAM,IAAIc,YAAY;gBACrCF,OAAOK,IAAI,CAACC,IAAAA,sCAAiB,EAACL,aAAab,MAAM;gBACjD,IAAK,IAAImB,IAAI,GAAGA,IAAIN,aAAab,MAAM,EAAEmB,IAAK;oBAC5CP,MAAM,CAACA,OAAOZ,MAAM,GAAG,EAAE,CAACmB,EAAE,GAAGN,YAAY,CAACM,EAAE;gBAChD;gBACAN,eAAe,EAAE;YACnB;QACF;QACAO,OAAO,SAAPA,MAAiBZ,GAAa,EAAEC,SAAiB,EAAEC,GAAW;YAC5D,IAAK,IAAIS,IAAI,GAAGA,IAAIT,KAAKS,IAAK;gBAC5B,IAAI,CAACJ,SAAS,CAACP,GAAG,CAACC,YAAYU,EAAE;YACnC;YACA,OAAOT;QACT;QACAW,OAAO;YACL,IAAIR,aAAab,MAAM,GAAG,GAAG;gBAC3B,IAAIsB,aAAaJ,IAAAA,sCAAiB,EAACL,aAAab,MAAM;gBACtD,IAAK,IAAImB,IAAI,GAAGA,IAAIN,aAAab,MAAM,EAAEmB,IAAK;oBAC5CG,UAAU,CAACH,EAAE,GAAGN,YAAY,CAACM,EAAE;gBACjC;gBACAP,OAAOK,IAAI,CAACK;gBACZT,eAAe,EAAE;YACnB;QACF;QACAU,UAAU,SAAVA;YACE,IAAI,CAACF,KAAK;YACV,OAAOG,OAAOC,MAAM,CAACb;QACvB;IACF;AACF"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
export declare var SEVENZ_MAGIC: number[];
|
|
2
|
+
export declare var SIGNATURE_HEADER_SIZE: number;
|
|
3
|
+
export declare var START_HEADER_SIZE: number;
|
|
4
|
+
export declare var PropertyId: {
|
|
5
|
+
kEnd: number;
|
|
6
|
+
kHeader: number;
|
|
7
|
+
kArchiveProperties: number;
|
|
8
|
+
kAdditionalStreamsInfo: number;
|
|
9
|
+
kMainStreamsInfo: number;
|
|
10
|
+
kFilesInfo: number;
|
|
11
|
+
kPackInfo: number;
|
|
12
|
+
kUnpackInfo: number;
|
|
13
|
+
kSubStreamsInfo: number;
|
|
14
|
+
kSize: number;
|
|
15
|
+
kCRC: number;
|
|
16
|
+
kFolder: number;
|
|
17
|
+
kCodersUnpackSize: number;
|
|
18
|
+
kNumUnpackStream: number;
|
|
19
|
+
kEmptyStream: number;
|
|
20
|
+
kEmptyFile: number;
|
|
21
|
+
kAnti: number;
|
|
22
|
+
kName: number;
|
|
23
|
+
kCTime: number;
|
|
24
|
+
kATime: number;
|
|
25
|
+
kMTime: number;
|
|
26
|
+
kWinAttributes: number;
|
|
27
|
+
kComment: number;
|
|
28
|
+
kEncodedHeader: number;
|
|
29
|
+
kStartPos: number;
|
|
30
|
+
kDummy: number;
|
|
31
|
+
};
|
|
32
|
+
export declare var CodecId: {
|
|
33
|
+
COPY: number[];
|
|
34
|
+
DELTA: number[];
|
|
35
|
+
LZMA: number[];
|
|
36
|
+
LZMA2: number[];
|
|
37
|
+
BCJ_X86: number[];
|
|
38
|
+
DEFLATE: number[];
|
|
39
|
+
BZIP2: number[];
|
|
40
|
+
AES: number[];
|
|
41
|
+
};
|
|
42
|
+
export declare var FileAttribute: {
|
|
43
|
+
READONLY: number;
|
|
44
|
+
HIDDEN: number;
|
|
45
|
+
SYSTEM: number;
|
|
46
|
+
DIRECTORY: number;
|
|
47
|
+
ARCHIVE: number;
|
|
48
|
+
DEVICE: number;
|
|
49
|
+
NORMAL: number;
|
|
50
|
+
TEMPORARY: number;
|
|
51
|
+
SPARSE_FILE: number;
|
|
52
|
+
REPARSE_POINT: number;
|
|
53
|
+
COMPRESSED: number;
|
|
54
|
+
OFFLINE: number;
|
|
55
|
+
NOT_CONTENT_INDEXED: number;
|
|
56
|
+
ENCRYPTED: number;
|
|
57
|
+
UNIX_EXTENSION: number;
|
|
58
|
+
};
|
|
59
|
+
export declare var UnixMode: {
|
|
60
|
+
DIR: number;
|
|
61
|
+
FILE: number;
|
|
62
|
+
SYMLINK: number;
|
|
63
|
+
RWXRWXRWX: number;
|
|
64
|
+
RWXRXRX: number;
|
|
65
|
+
RWRR: number;
|
|
66
|
+
DEFAULT_DIR: number;
|
|
67
|
+
DEFAULT_FILE: number;
|
|
68
|
+
};
|
|
69
|
+
export declare var ErrorCode: {
|
|
70
|
+
INVALID_SIGNATURE: string;
|
|
71
|
+
CRC_MISMATCH: string;
|
|
72
|
+
UNSUPPORTED_CODEC: string;
|
|
73
|
+
UNSUPPORTED_VERSION: string;
|
|
74
|
+
UNSUPPORTED_FEATURE: string;
|
|
75
|
+
TRUNCATED_ARCHIVE: string;
|
|
76
|
+
CORRUPT_HEADER: string;
|
|
77
|
+
ENCRYPTED_ARCHIVE: string;
|
|
78
|
+
COMPRESSED_HEADER: string;
|
|
79
|
+
};
|
|
80
|
+
export interface CodedError extends Error {
|
|
81
|
+
code: string;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Create an error with a code property
|
|
85
|
+
*/
|
|
86
|
+
export declare function createCodedError(message: string, code: string): CodedError;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
export declare var SEVENZ_MAGIC: number[];
|
|
2
|
+
export declare var SIGNATURE_HEADER_SIZE: number;
|
|
3
|
+
export declare var START_HEADER_SIZE: number;
|
|
4
|
+
export declare var PropertyId: {
|
|
5
|
+
kEnd: number;
|
|
6
|
+
kHeader: number;
|
|
7
|
+
kArchiveProperties: number;
|
|
8
|
+
kAdditionalStreamsInfo: number;
|
|
9
|
+
kMainStreamsInfo: number;
|
|
10
|
+
kFilesInfo: number;
|
|
11
|
+
kPackInfo: number;
|
|
12
|
+
kUnpackInfo: number;
|
|
13
|
+
kSubStreamsInfo: number;
|
|
14
|
+
kSize: number;
|
|
15
|
+
kCRC: number;
|
|
16
|
+
kFolder: number;
|
|
17
|
+
kCodersUnpackSize: number;
|
|
18
|
+
kNumUnpackStream: number;
|
|
19
|
+
kEmptyStream: number;
|
|
20
|
+
kEmptyFile: number;
|
|
21
|
+
kAnti: number;
|
|
22
|
+
kName: number;
|
|
23
|
+
kCTime: number;
|
|
24
|
+
kATime: number;
|
|
25
|
+
kMTime: number;
|
|
26
|
+
kWinAttributes: number;
|
|
27
|
+
kComment: number;
|
|
28
|
+
kEncodedHeader: number;
|
|
29
|
+
kStartPos: number;
|
|
30
|
+
kDummy: number;
|
|
31
|
+
};
|
|
32
|
+
export declare var CodecId: {
|
|
33
|
+
COPY: number[];
|
|
34
|
+
DELTA: number[];
|
|
35
|
+
LZMA: number[];
|
|
36
|
+
LZMA2: number[];
|
|
37
|
+
BCJ_X86: number[];
|
|
38
|
+
DEFLATE: number[];
|
|
39
|
+
BZIP2: number[];
|
|
40
|
+
AES: number[];
|
|
41
|
+
};
|
|
42
|
+
export declare var FileAttribute: {
|
|
43
|
+
READONLY: number;
|
|
44
|
+
HIDDEN: number;
|
|
45
|
+
SYSTEM: number;
|
|
46
|
+
DIRECTORY: number;
|
|
47
|
+
ARCHIVE: number;
|
|
48
|
+
DEVICE: number;
|
|
49
|
+
NORMAL: number;
|
|
50
|
+
TEMPORARY: number;
|
|
51
|
+
SPARSE_FILE: number;
|
|
52
|
+
REPARSE_POINT: number;
|
|
53
|
+
COMPRESSED: number;
|
|
54
|
+
OFFLINE: number;
|
|
55
|
+
NOT_CONTENT_INDEXED: number;
|
|
56
|
+
ENCRYPTED: number;
|
|
57
|
+
UNIX_EXTENSION: number;
|
|
58
|
+
};
|
|
59
|
+
export declare var UnixMode: {
|
|
60
|
+
DIR: number;
|
|
61
|
+
FILE: number;
|
|
62
|
+
SYMLINK: number;
|
|
63
|
+
RWXRWXRWX: number;
|
|
64
|
+
RWXRXRX: number;
|
|
65
|
+
RWRR: number;
|
|
66
|
+
DEFAULT_DIR: number;
|
|
67
|
+
DEFAULT_FILE: number;
|
|
68
|
+
};
|
|
69
|
+
export declare var ErrorCode: {
|
|
70
|
+
INVALID_SIGNATURE: string;
|
|
71
|
+
CRC_MISMATCH: string;
|
|
72
|
+
UNSUPPORTED_CODEC: string;
|
|
73
|
+
UNSUPPORTED_VERSION: string;
|
|
74
|
+
UNSUPPORTED_FEATURE: string;
|
|
75
|
+
TRUNCATED_ARCHIVE: string;
|
|
76
|
+
CORRUPT_HEADER: string;
|
|
77
|
+
ENCRYPTED_ARCHIVE: string;
|
|
78
|
+
COMPRESSED_HEADER: string;
|
|
79
|
+
};
|
|
80
|
+
export interface CodedError extends Error {
|
|
81
|
+
code: string;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Create an error with a code property
|
|
85
|
+
*/
|
|
86
|
+
export declare function createCodedError(message: string, code: string): CodedError;
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
// 7z format constants
|
|
2
|
+
// Reference: https://py7zr.readthedocs.io/en/latest/archive_format.html
|
|
3
|
+
// 7z signature: '7z' + magic bytes
|
|
4
|
+
"use strict";
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
function _export(target, all) {
|
|
9
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
_export(exports, {
|
|
15
|
+
get CodecId () {
|
|
16
|
+
return CodecId;
|
|
17
|
+
},
|
|
18
|
+
get ErrorCode () {
|
|
19
|
+
return ErrorCode;
|
|
20
|
+
},
|
|
21
|
+
get FileAttribute () {
|
|
22
|
+
return FileAttribute;
|
|
23
|
+
},
|
|
24
|
+
get PropertyId () {
|
|
25
|
+
return PropertyId;
|
|
26
|
+
},
|
|
27
|
+
get SEVENZ_MAGIC () {
|
|
28
|
+
return SEVENZ_MAGIC;
|
|
29
|
+
},
|
|
30
|
+
get SIGNATURE_HEADER_SIZE () {
|
|
31
|
+
return SIGNATURE_HEADER_SIZE;
|
|
32
|
+
},
|
|
33
|
+
get START_HEADER_SIZE () {
|
|
34
|
+
return START_HEADER_SIZE;
|
|
35
|
+
},
|
|
36
|
+
get UnixMode () {
|
|
37
|
+
return UnixMode;
|
|
38
|
+
},
|
|
39
|
+
get createCodedError () {
|
|
40
|
+
return createCodedError;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
var SEVENZ_MAGIC = [
|
|
44
|
+
0x37,
|
|
45
|
+
0x7a,
|
|
46
|
+
0xbc,
|
|
47
|
+
0xaf,
|
|
48
|
+
0x27,
|
|
49
|
+
0x1c
|
|
50
|
+
];
|
|
51
|
+
var SIGNATURE_HEADER_SIZE = 32;
|
|
52
|
+
var START_HEADER_SIZE = 20; // Part of signature header after magic + version
|
|
53
|
+
var PropertyId = {
|
|
54
|
+
kEnd: 0x00,
|
|
55
|
+
kHeader: 0x01,
|
|
56
|
+
kArchiveProperties: 0x02,
|
|
57
|
+
kAdditionalStreamsInfo: 0x03,
|
|
58
|
+
kMainStreamsInfo: 0x04,
|
|
59
|
+
kFilesInfo: 0x05,
|
|
60
|
+
kPackInfo: 0x06,
|
|
61
|
+
kUnpackInfo: 0x07,
|
|
62
|
+
kSubStreamsInfo: 0x08,
|
|
63
|
+
kSize: 0x09,
|
|
64
|
+
kCRC: 0x0a,
|
|
65
|
+
kFolder: 0x0b,
|
|
66
|
+
kCodersUnpackSize: 0x0c,
|
|
67
|
+
kNumUnpackStream: 0x0d,
|
|
68
|
+
kEmptyStream: 0x0e,
|
|
69
|
+
kEmptyFile: 0x0f,
|
|
70
|
+
kAnti: 0x10,
|
|
71
|
+
kName: 0x11,
|
|
72
|
+
kCTime: 0x12,
|
|
73
|
+
kATime: 0x13,
|
|
74
|
+
kMTime: 0x14,
|
|
75
|
+
kWinAttributes: 0x15,
|
|
76
|
+
kComment: 0x16,
|
|
77
|
+
kEncodedHeader: 0x17,
|
|
78
|
+
kStartPos: 0x18,
|
|
79
|
+
kDummy: 0x19
|
|
80
|
+
};
|
|
81
|
+
var CodecId = {
|
|
82
|
+
COPY: [
|
|
83
|
+
0x00
|
|
84
|
+
],
|
|
85
|
+
DELTA: [
|
|
86
|
+
0x03
|
|
87
|
+
],
|
|
88
|
+
LZMA: [
|
|
89
|
+
0x03,
|
|
90
|
+
0x01,
|
|
91
|
+
0x01
|
|
92
|
+
],
|
|
93
|
+
LZMA2: [
|
|
94
|
+
0x21
|
|
95
|
+
],
|
|
96
|
+
BCJ_X86: [
|
|
97
|
+
0x03,
|
|
98
|
+
0x03,
|
|
99
|
+
0x01,
|
|
100
|
+
0x03
|
|
101
|
+
],
|
|
102
|
+
DEFLATE: [
|
|
103
|
+
0x04,
|
|
104
|
+
0x01,
|
|
105
|
+
0x08
|
|
106
|
+
],
|
|
107
|
+
BZIP2: [
|
|
108
|
+
0x04,
|
|
109
|
+
0x02,
|
|
110
|
+
0x02
|
|
111
|
+
],
|
|
112
|
+
AES: [
|
|
113
|
+
0x06,
|
|
114
|
+
0xf1,
|
|
115
|
+
0x07,
|
|
116
|
+
0x01
|
|
117
|
+
]
|
|
118
|
+
};
|
|
119
|
+
var FileAttribute = {
|
|
120
|
+
READONLY: 0x01,
|
|
121
|
+
HIDDEN: 0x02,
|
|
122
|
+
SYSTEM: 0x04,
|
|
123
|
+
DIRECTORY: 0x10,
|
|
124
|
+
ARCHIVE: 0x20,
|
|
125
|
+
DEVICE: 0x40,
|
|
126
|
+
NORMAL: 0x80,
|
|
127
|
+
TEMPORARY: 0x100,
|
|
128
|
+
SPARSE_FILE: 0x200,
|
|
129
|
+
REPARSE_POINT: 0x400,
|
|
130
|
+
COMPRESSED: 0x800,
|
|
131
|
+
OFFLINE: 0x1000,
|
|
132
|
+
NOT_CONTENT_INDEXED: 0x2000,
|
|
133
|
+
ENCRYPTED: 0x4000,
|
|
134
|
+
UNIX_EXTENSION: 0x8000
|
|
135
|
+
};
|
|
136
|
+
var UnixMode = {
|
|
137
|
+
DIR: 16384,
|
|
138
|
+
FILE: 32768,
|
|
139
|
+
SYMLINK: 40960,
|
|
140
|
+
RWXRWXRWX: 511,
|
|
141
|
+
RWXRXRX: 493,
|
|
142
|
+
RWRR: 420,
|
|
143
|
+
DEFAULT_DIR: 493,
|
|
144
|
+
DEFAULT_FILE: 420
|
|
145
|
+
};
|
|
146
|
+
var ErrorCode = {
|
|
147
|
+
INVALID_SIGNATURE: 'INVALID_SIGNATURE',
|
|
148
|
+
CRC_MISMATCH: 'CRC_MISMATCH',
|
|
149
|
+
UNSUPPORTED_CODEC: 'UNSUPPORTED_CODEC',
|
|
150
|
+
UNSUPPORTED_VERSION: 'UNSUPPORTED_VERSION',
|
|
151
|
+
UNSUPPORTED_FEATURE: 'UNSUPPORTED_FEATURE',
|
|
152
|
+
TRUNCATED_ARCHIVE: 'TRUNCATED_ARCHIVE',
|
|
153
|
+
CORRUPT_HEADER: 'CORRUPT_HEADER',
|
|
154
|
+
ENCRYPTED_ARCHIVE: 'ENCRYPTED_ARCHIVE',
|
|
155
|
+
COMPRESSED_HEADER: 'COMPRESSED_HEADER'
|
|
156
|
+
};
|
|
157
|
+
function createCodedError(message, code) {
|
|
158
|
+
var err = new Error(message);
|
|
159
|
+
err.code = code;
|
|
160
|
+
return err;
|
|
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; }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/7z-iterator/src/sevenz/constants.ts"],"sourcesContent":["// 7z format constants\n// Reference: https://py7zr.readthedocs.io/en/latest/archive_format.html\n\n// 7z signature: '7z' + magic bytes\nexport var SEVENZ_MAGIC = [0x37, 0x7a, 0xbc, 0xaf, 0x27, 0x1c];\n\n// Header sizes\nexport var SIGNATURE_HEADER_SIZE = 32;\nexport var START_HEADER_SIZE = 20; // Part of signature header after magic + version\n\n// Property IDs for encoded header\nexport var PropertyId = {\n kEnd: 0x00,\n kHeader: 0x01,\n kArchiveProperties: 0x02,\n kAdditionalStreamsInfo: 0x03,\n kMainStreamsInfo: 0x04,\n kFilesInfo: 0x05,\n kPackInfo: 0x06,\n kUnpackInfo: 0x07,\n kSubStreamsInfo: 0x08,\n kSize: 0x09,\n kCRC: 0x0a,\n kFolder: 0x0b,\n kCodersUnpackSize: 0x0c,\n kNumUnpackStream: 0x0d,\n kEmptyStream: 0x0e,\n kEmptyFile: 0x0f,\n kAnti: 0x10,\n kName: 0x11,\n kCTime: 0x12,\n kATime: 0x13,\n kMTime: 0x14,\n kWinAttributes: 0x15,\n kComment: 0x16,\n kEncodedHeader: 0x17,\n kStartPos: 0x18,\n kDummy: 0x19,\n};\n\n// Codec IDs\n// 7z uses variable-length codec IDs\nexport var CodecId = {\n COPY: [0x00],\n DELTA: [0x03],\n LZMA: [0x03, 0x01, 0x01],\n LZMA2: [0x21],\n BCJ_X86: [0x03, 0x03, 0x01, 0x03],\n DEFLATE: [0x04, 0x01, 0x08],\n BZIP2: [0x04, 0x02, 0x02],\n AES: [0x06, 0xf1, 0x07, 0x01],\n};\n\n// File attribute flags (Windows style, stored in FilesInfo)\nexport var FileAttribute = {\n READONLY: 0x01,\n HIDDEN: 0x02,\n SYSTEM: 0x04,\n DIRECTORY: 0x10,\n ARCHIVE: 0x20,\n DEVICE: 0x40,\n NORMAL: 0x80,\n TEMPORARY: 0x100,\n SPARSE_FILE: 0x200,\n REPARSE_POINT: 0x400,\n COMPRESSED: 0x800,\n OFFLINE: 0x1000,\n NOT_CONTENT_INDEXED: 0x2000,\n ENCRYPTED: 0x4000,\n UNIX_EXTENSION: 0x8000,\n};\n\n// Unix permission modes (decimal values for Node 0.8 compatibility)\nexport var UnixMode = {\n DIR: 16384, // 0o40000 - directory\n FILE: 32768, // 0o100000 - regular file\n SYMLINK: 40960, // 0o120000 - symbolic link\n RWXRWXRWX: 511, // 0o777\n RWXRXRX: 493, // 0o755\n RWRR: 420, // 0o644\n DEFAULT_DIR: 493, // 0o755 - rwxr-xr-x\n DEFAULT_FILE: 420, // 0o644 - rw-r--r--\n};\n\n// Error codes\nexport var ErrorCode = {\n INVALID_SIGNATURE: 'INVALID_SIGNATURE',\n CRC_MISMATCH: 'CRC_MISMATCH',\n UNSUPPORTED_CODEC: 'UNSUPPORTED_CODEC',\n UNSUPPORTED_VERSION: 'UNSUPPORTED_VERSION',\n UNSUPPORTED_FEATURE: 'UNSUPPORTED_FEATURE',\n TRUNCATED_ARCHIVE: 'TRUNCATED_ARCHIVE',\n CORRUPT_HEADER: 'CORRUPT_HEADER',\n ENCRYPTED_ARCHIVE: 'ENCRYPTED_ARCHIVE',\n COMPRESSED_HEADER: 'COMPRESSED_HEADER',\n};\n\n// Error with code property\nexport interface CodedError extends Error {\n code: string;\n}\n\n/**\n * Create an error with a code property\n */\nexport function createCodedError(message: string, code: string): CodedError {\n var err = new Error(message) as CodedError;\n err.code = code;\n return err;\n}\n"],"names":["CodecId","ErrorCode","FileAttribute","PropertyId","SEVENZ_MAGIC","SIGNATURE_HEADER_SIZE","START_HEADER_SIZE","UnixMode","createCodedError","kEnd","kHeader","kArchiveProperties","kAdditionalStreamsInfo","kMainStreamsInfo","kFilesInfo","kPackInfo","kUnpackInfo","kSubStreamsInfo","kSize","kCRC","kFolder","kCodersUnpackSize","kNumUnpackStream","kEmptyStream","kEmptyFile","kAnti","kName","kCTime","kATime","kMTime","kWinAttributes","kComment","kEncodedHeader","kStartPos","kDummy","COPY","DELTA","LZMA","LZMA2","BCJ_X86","DEFLATE","BZIP2","AES","READONLY","HIDDEN","SYSTEM","DIRECTORY","ARCHIVE","DEVICE","NORMAL","TEMPORARY","SPARSE_FILE","REPARSE_POINT","COMPRESSED","OFFLINE","NOT_CONTENT_INDEXED","ENCRYPTED","UNIX_EXTENSION","DIR","FILE","SYMLINK","RWXRWXRWX","RWXRXRX","RWRR","DEFAULT_DIR","DEFAULT_FILE","INVALID_SIGNATURE","CRC_MISMATCH","UNSUPPORTED_CODEC","UNSUPPORTED_VERSION","UNSUPPORTED_FEATURE","TRUNCATED_ARCHIVE","CORRUPT_HEADER","ENCRYPTED_ARCHIVE","COMPRESSED_HEADER","message","code","err","Error"],"mappings":"AAAA,sBAAsB;AACtB,wEAAwE;AAExE,mCAAmC;;;;;;;;;;;;QAuCxBA;eAAAA;;QA2CAC;eAAAA;;QA/BAC;eAAAA;;QA3CAC;eAAAA;;QAPAC;eAAAA;;QAGAC;eAAAA;;QACAC;eAAAA;;QAiEAC;eAAAA;;QAgCKC;eAAAA;;;AArGT,IAAIJ,eAAe;IAAC;IAAM;IAAM;IAAM;IAAM;IAAM;CAAK;AAGvD,IAAIC,wBAAwB;AAC5B,IAAIC,oBAAoB,IAAI,iDAAiD;AAG7E,IAAIH,aAAa;IACtBM,MAAM;IACNC,SAAS;IACTC,oBAAoB;IACpBC,wBAAwB;IACxBC,kBAAkB;IAClBC,YAAY;IACZC,WAAW;IACXC,aAAa;IACbC,iBAAiB;IACjBC,OAAO;IACPC,MAAM;IACNC,SAAS;IACTC,mBAAmB;IACnBC,kBAAkB;IAClBC,cAAc;IACdC,YAAY;IACZC,OAAO;IACPC,OAAO;IACPC,QAAQ;IACRC,QAAQ;IACRC,QAAQ;IACRC,gBAAgB;IAChBC,UAAU;IACVC,gBAAgB;IAChBC,WAAW;IACXC,QAAQ;AACV;AAIO,IAAIlC,UAAU;IACnBmC,MAAM;QAAC;KAAK;IACZC,OAAO;QAAC;KAAK;IACbC,MAAM;QAAC;QAAM;QAAM;KAAK;IACxBC,OAAO;QAAC;KAAK;IACbC,SAAS;QAAC;QAAM;QAAM;QAAM;KAAK;IACjCC,SAAS;QAAC;QAAM;QAAM;KAAK;IAC3BC,OAAO;QAAC;QAAM;QAAM;KAAK;IACzBC,KAAK;QAAC;QAAM;QAAM;QAAM;KAAK;AAC/B;AAGO,IAAIxC,gBAAgB;IACzByC,UAAU;IACVC,QAAQ;IACRC,QAAQ;IACRC,WAAW;IACXC,SAAS;IACTC,QAAQ;IACRC,QAAQ;IACRC,WAAW;IACXC,aAAa;IACbC,eAAe;IACfC,YAAY;IACZC,SAAS;IACTC,qBAAqB;IACrBC,WAAW;IACXC,gBAAgB;AAClB;AAGO,IAAIlD,WAAW;IACpBmD,KAAK;IACLC,MAAM;IACNC,SAAS;IACTC,WAAW;IACXC,SAAS;IACTC,MAAM;IACNC,aAAa;IACbC,cAAc;AAChB;AAGO,IAAIhE,YAAY;IACrBiE,mBAAmB;IACnBC,cAAc;IACdC,mBAAmB;IACnBC,qBAAqB;IACrBC,qBAAqB;IACrBC,mBAAmB;IACnBC,gBAAgB;IAChBC,mBAAmB;IACnBC,mBAAmB;AACrB;AAUO,SAASlE,iBAAiBmE,OAAe,EAAEC,IAAY;IAC5D,IAAIC,MAAM,IAAIC,MAAMH;IACpBE,IAAID,IAAI,GAAGA;IACX,OAAOC;AACT"}
|