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.
Files changed (166) hide show
  1. package/LICENSE +42 -0
  2. package/README.md +142 -0
  3. package/dist/cjs/FileEntry.d.cts +12 -0
  4. package/dist/cjs/FileEntry.d.ts +12 -0
  5. package/dist/cjs/FileEntry.js +147 -0
  6. package/dist/cjs/FileEntry.js.map +1 -0
  7. package/dist/cjs/SevenZipIterator.d.cts +8 -0
  8. package/dist/cjs/SevenZipIterator.d.ts +8 -0
  9. package/dist/cjs/SevenZipIterator.js +204 -0
  10. package/dist/cjs/SevenZipIterator.js.map +1 -0
  11. package/dist/cjs/index.d.cts +4 -0
  12. package/dist/cjs/index.d.ts +4 -0
  13. package/dist/cjs/index.js +40 -0
  14. package/dist/cjs/index.js.map +1 -0
  15. package/dist/cjs/lib/Lock.d.cts +11 -0
  16. package/dist/cjs/lib/Lock.d.ts +11 -0
  17. package/dist/cjs/lib/Lock.js +65 -0
  18. package/dist/cjs/lib/Lock.js.map +1 -0
  19. package/dist/cjs/lib/streamToSource.d.cts +20 -0
  20. package/dist/cjs/lib/streamToSource.d.ts +20 -0
  21. package/dist/cjs/lib/streamToSource.js +116 -0
  22. package/dist/cjs/lib/streamToSource.js.map +1 -0
  23. package/dist/cjs/nextEntry.d.cts +4 -0
  24. package/dist/cjs/nextEntry.d.ts +4 -0
  25. package/dist/cjs/nextEntry.js +102 -0
  26. package/dist/cjs/nextEntry.js.map +1 -0
  27. package/dist/cjs/package.json +1 -0
  28. package/dist/cjs/sevenz/NumberCodec.d.cts +58 -0
  29. package/dist/cjs/sevenz/NumberCodec.d.ts +58 -0
  30. package/dist/cjs/sevenz/NumberCodec.js +133 -0
  31. package/dist/cjs/sevenz/NumberCodec.js.map +1 -0
  32. package/dist/cjs/sevenz/SevenZipParser.d.cts +96 -0
  33. package/dist/cjs/sevenz/SevenZipParser.d.ts +96 -0
  34. package/dist/cjs/sevenz/SevenZipParser.js +457 -0
  35. package/dist/cjs/sevenz/SevenZipParser.js.map +1 -0
  36. package/dist/cjs/sevenz/codecs/Aes.d.cts +22 -0
  37. package/dist/cjs/sevenz/codecs/Aes.d.ts +22 -0
  38. package/dist/cjs/sevenz/codecs/Aes.js +179 -0
  39. package/dist/cjs/sevenz/codecs/Aes.js.map +1 -0
  40. package/dist/cjs/sevenz/codecs/BZip2.d.cts +14 -0
  41. package/dist/cjs/sevenz/codecs/BZip2.d.ts +14 -0
  42. package/dist/cjs/sevenz/codecs/BZip2.js +37 -0
  43. package/dist/cjs/sevenz/codecs/BZip2.js.map +1 -0
  44. package/dist/cjs/sevenz/codecs/Bcj.d.cts +15 -0
  45. package/dist/cjs/sevenz/codecs/Bcj.d.ts +15 -0
  46. package/dist/cjs/sevenz/codecs/Bcj.js +89 -0
  47. package/dist/cjs/sevenz/codecs/Bcj.js.map +1 -0
  48. package/dist/cjs/sevenz/codecs/Copy.d.cts +14 -0
  49. package/dist/cjs/sevenz/codecs/Copy.d.ts +14 -0
  50. package/dist/cjs/sevenz/codecs/Copy.js +28 -0
  51. package/dist/cjs/sevenz/codecs/Copy.js.map +1 -0
  52. package/dist/cjs/sevenz/codecs/Deflate.d.cts +14 -0
  53. package/dist/cjs/sevenz/codecs/Deflate.d.ts +14 -0
  54. package/dist/cjs/sevenz/codecs/Deflate.js +39 -0
  55. package/dist/cjs/sevenz/codecs/Deflate.js.map +1 -0
  56. package/dist/cjs/sevenz/codecs/Delta.d.cts +15 -0
  57. package/dist/cjs/sevenz/codecs/Delta.d.ts +15 -0
  58. package/dist/cjs/sevenz/codecs/Delta.js +55 -0
  59. package/dist/cjs/sevenz/codecs/Delta.js.map +1 -0
  60. package/dist/cjs/sevenz/codecs/Lzma.d.cts +14 -0
  61. package/dist/cjs/sevenz/codecs/Lzma.d.ts +14 -0
  62. package/dist/cjs/sevenz/codecs/Lzma.js +53 -0
  63. package/dist/cjs/sevenz/codecs/Lzma.js.map +1 -0
  64. package/dist/cjs/sevenz/codecs/Lzma2.d.cts +14 -0
  65. package/dist/cjs/sevenz/codecs/Lzma2.d.ts +14 -0
  66. package/dist/cjs/sevenz/codecs/Lzma2.js +160 -0
  67. package/dist/cjs/sevenz/codecs/Lzma2.js.map +1 -0
  68. package/dist/cjs/sevenz/codecs/createBufferingDecoder.d.cts +7 -0
  69. package/dist/cjs/sevenz/codecs/createBufferingDecoder.d.ts +7 -0
  70. package/dist/cjs/sevenz/codecs/createBufferingDecoder.js +36 -0
  71. package/dist/cjs/sevenz/codecs/createBufferingDecoder.js.map +1 -0
  72. package/dist/cjs/sevenz/codecs/index.d.cts +24 -0
  73. package/dist/cjs/sevenz/codecs/index.d.ts +24 -0
  74. package/dist/cjs/sevenz/codecs/index.js +128 -0
  75. package/dist/cjs/sevenz/codecs/index.js.map +1 -0
  76. package/dist/cjs/sevenz/codecs/streams.d.cts +18 -0
  77. package/dist/cjs/sevenz/codecs/streams.d.ts +18 -0
  78. package/dist/cjs/sevenz/codecs/streams.js +79 -0
  79. package/dist/cjs/sevenz/codecs/streams.js.map +1 -0
  80. package/dist/cjs/sevenz/constants.d.cts +86 -0
  81. package/dist/cjs/sevenz/constants.d.ts +86 -0
  82. package/dist/cjs/sevenz/constants.js +162 -0
  83. package/dist/cjs/sevenz/constants.js.map +1 -0
  84. package/dist/cjs/sevenz/headers.d.cts +70 -0
  85. package/dist/cjs/sevenz/headers.d.ts +70 -0
  86. package/dist/cjs/sevenz/headers.js +661 -0
  87. package/dist/cjs/sevenz/headers.js.map +1 -0
  88. package/dist/cjs/sevenz/index.d.cts +4 -0
  89. package/dist/cjs/sevenz/index.d.ts +4 -0
  90. package/dist/cjs/sevenz/index.js +33 -0
  91. package/dist/cjs/sevenz/index.js.map +1 -0
  92. package/dist/cjs/types.d.cts +37 -0
  93. package/dist/cjs/types.d.ts +37 -0
  94. package/dist/cjs/types.js +32 -0
  95. package/dist/cjs/types.js.map +1 -0
  96. package/dist/esm/FileEntry.d.ts +12 -0
  97. package/dist/esm/FileEntry.js +63 -0
  98. package/dist/esm/FileEntry.js.map +1 -0
  99. package/dist/esm/SevenZipIterator.d.ts +8 -0
  100. package/dist/esm/SevenZipIterator.js +116 -0
  101. package/dist/esm/SevenZipIterator.js.map +1 -0
  102. package/dist/esm/index.d.ts +4 -0
  103. package/dist/esm/index.js +3 -0
  104. package/dist/esm/index.js.map +1 -0
  105. package/dist/esm/lib/Lock.d.ts +11 -0
  106. package/dist/esm/lib/Lock.js +41 -0
  107. package/dist/esm/lib/Lock.js.map +1 -0
  108. package/dist/esm/lib/streamToSource.d.ts +20 -0
  109. package/dist/esm/lib/streamToSource.js +100 -0
  110. package/dist/esm/lib/streamToSource.js.map +1 -0
  111. package/dist/esm/nextEntry.d.ts +4 -0
  112. package/dist/esm/nextEntry.js +86 -0
  113. package/dist/esm/nextEntry.js.map +1 -0
  114. package/dist/esm/package.json +1 -0
  115. package/dist/esm/sevenz/NumberCodec.d.ts +58 -0
  116. package/dist/esm/sevenz/NumberCodec.js +138 -0
  117. package/dist/esm/sevenz/NumberCodec.js.map +1 -0
  118. package/dist/esm/sevenz/SevenZipParser.d.ts +96 -0
  119. package/dist/esm/sevenz/SevenZipParser.js +419 -0
  120. package/dist/esm/sevenz/SevenZipParser.js.map +1 -0
  121. package/dist/esm/sevenz/codecs/Aes.d.ts +22 -0
  122. package/dist/esm/sevenz/codecs/Aes.js +162 -0
  123. package/dist/esm/sevenz/codecs/Aes.js.map +1 -0
  124. package/dist/esm/sevenz/codecs/BZip2.d.ts +14 -0
  125. package/dist/esm/sevenz/codecs/BZip2.js +22 -0
  126. package/dist/esm/sevenz/codecs/BZip2.js.map +1 -0
  127. package/dist/esm/sevenz/codecs/Bcj.d.ts +15 -0
  128. package/dist/esm/sevenz/codecs/Bcj.js +75 -0
  129. package/dist/esm/sevenz/codecs/Bcj.js.map +1 -0
  130. package/dist/esm/sevenz/codecs/Copy.d.ts +14 -0
  131. package/dist/esm/sevenz/codecs/Copy.js +18 -0
  132. package/dist/esm/sevenz/codecs/Copy.js.map +1 -0
  133. package/dist/esm/sevenz/codecs/Deflate.d.ts +14 -0
  134. package/dist/esm/sevenz/codecs/Deflate.js +24 -0
  135. package/dist/esm/sevenz/codecs/Deflate.js.map +1 -0
  136. package/dist/esm/sevenz/codecs/Delta.d.ts +15 -0
  137. package/dist/esm/sevenz/codecs/Delta.js +41 -0
  138. package/dist/esm/sevenz/codecs/Delta.js.map +1 -0
  139. package/dist/esm/sevenz/codecs/Lzma.d.ts +14 -0
  140. package/dist/esm/sevenz/codecs/Lzma.js +38 -0
  141. package/dist/esm/sevenz/codecs/Lzma.js.map +1 -0
  142. package/dist/esm/sevenz/codecs/Lzma2.d.ts +14 -0
  143. package/dist/esm/sevenz/codecs/Lzma2.js +145 -0
  144. package/dist/esm/sevenz/codecs/Lzma2.js.map +1 -0
  145. package/dist/esm/sevenz/codecs/createBufferingDecoder.d.ts +7 -0
  146. package/dist/esm/sevenz/codecs/createBufferingDecoder.js +25 -0
  147. package/dist/esm/sevenz/codecs/createBufferingDecoder.js.map +1 -0
  148. package/dist/esm/sevenz/codecs/index.d.ts +24 -0
  149. package/dist/esm/sevenz/codecs/index.js +108 -0
  150. package/dist/esm/sevenz/codecs/index.js.map +1 -0
  151. package/dist/esm/sevenz/codecs/streams.d.ts +18 -0
  152. package/dist/esm/sevenz/codecs/streams.js +66 -0
  153. package/dist/esm/sevenz/codecs/streams.js.map +1 -0
  154. package/dist/esm/sevenz/constants.d.ts +86 -0
  155. package/dist/esm/sevenz/constants.js +131 -0
  156. package/dist/esm/sevenz/constants.js.map +1 -0
  157. package/dist/esm/sevenz/headers.d.ts +70 -0
  158. package/dist/esm/sevenz/headers.js +646 -0
  159. package/dist/esm/sevenz/headers.js.map +1 -0
  160. package/dist/esm/sevenz/index.d.ts +4 -0
  161. package/dist/esm/sevenz/index.js +5 -0
  162. package/dist/esm/sevenz/index.js.map +1 -0
  163. package/dist/esm/types.d.ts +37 -0
  164. package/dist/esm/types.js +2 -0
  165. package/dist/esm/types.js.map +1 -0
  166. 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"}