7z-iterator 2.0.4 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/cjs/FileEntry.js +2 -2
  2. package/dist/cjs/FileEntry.js.map +1 -1
  3. package/dist/cjs/SevenZipIterator.js +18 -13
  4. package/dist/cjs/SevenZipIterator.js.map +1 -1
  5. package/dist/cjs/lib/runDecode.d.cts +5 -0
  6. package/dist/cjs/lib/runDecode.d.ts +5 -0
  7. package/dist/cjs/lib/runDecode.js +55 -0
  8. package/dist/cjs/lib/runDecode.js.map +1 -0
  9. package/dist/cjs/lib/streamToSource.js +5 -5
  10. package/dist/cjs/lib/streamToSource.js.map +1 -1
  11. package/dist/cjs/sevenz/SevenZipParser.d.cts +12 -1
  12. package/dist/cjs/sevenz/SevenZipParser.d.ts +12 -1
  13. package/dist/cjs/sevenz/SevenZipParser.js +325 -217
  14. package/dist/cjs/sevenz/SevenZipParser.js.map +1 -1
  15. package/dist/cjs/sevenz/codecs/createBufferingDecoder.d.cts +2 -1
  16. package/dist/cjs/sevenz/codecs/createBufferingDecoder.d.ts +2 -1
  17. package/dist/cjs/sevenz/codecs/createBufferingDecoder.js +24 -4
  18. package/dist/cjs/sevenz/codecs/createBufferingDecoder.js.map +1 -1
  19. package/dist/cjs/sevenz/codecs/index.d.cts +2 -1
  20. package/dist/cjs/sevenz/codecs/index.d.ts +2 -1
  21. package/dist/cjs/sevenz/codecs/index.js +28 -16
  22. package/dist/cjs/sevenz/codecs/index.js.map +1 -1
  23. package/dist/cjs/sevenz/index.d.cts +1 -1
  24. package/dist/cjs/sevenz/index.d.ts +1 -1
  25. package/dist/cjs/sevenz/index.js.map +1 -1
  26. package/dist/esm/FileEntry.js +1 -1
  27. package/dist/esm/FileEntry.js.map +1 -1
  28. package/dist/esm/SevenZipIterator.js +14 -9
  29. package/dist/esm/SevenZipIterator.js.map +1 -1
  30. package/dist/esm/lib/runDecode.d.ts +5 -0
  31. package/dist/esm/lib/runDecode.js +29 -0
  32. package/dist/esm/lib/runDecode.js.map +1 -0
  33. package/dist/esm/lib/streamToSource.js +1 -1
  34. package/dist/esm/lib/streamToSource.js.map +1 -1
  35. package/dist/esm/sevenz/SevenZipParser.d.ts +12 -1
  36. package/dist/esm/sevenz/SevenZipParser.js +308 -218
  37. package/dist/esm/sevenz/SevenZipParser.js.map +1 -1
  38. package/dist/esm/sevenz/codecs/createBufferingDecoder.d.ts +2 -1
  39. package/dist/esm/sevenz/codecs/createBufferingDecoder.js +19 -4
  40. package/dist/esm/sevenz/codecs/createBufferingDecoder.js.map +1 -1
  41. package/dist/esm/sevenz/codecs/index.d.ts +2 -1
  42. package/dist/esm/sevenz/codecs/index.js +28 -16
  43. package/dist/esm/sevenz/codecs/index.js.map +1 -1
  44. package/dist/esm/sevenz/index.d.ts +1 -1
  45. package/dist/esm/sevenz/index.js.map +1 -1
  46. package/package.json +3 -2
@@ -1 +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 'stream';\nimport {\n createLzma2Decoder as _createLzma2Decoder,\n createLzmaDecoder as _createLzmaDecoder,\n createBcjArm64Decoder,\n createBcjArmDecoder,\n createBcjArmtDecoder,\n createBcjDecoder,\n createBcjIa64Decoder,\n createBcjPpcDecoder,\n createBcjSparcDecoder,\n createDeltaDecoder,\n decode7zLzma,\n decode7zLzma2,\n decodeBcj,\n decodeBcjArm,\n decodeBcjArm64,\n decodeBcjArmt,\n decodeBcjIa64,\n decodeBcjPpc,\n decodeBcjSparc,\n decodeDelta,\n} from 'xz-compat';\nimport { CodecId, createCodedError, ErrorCode } from '../constants.ts';\nimport { createAesDecoder, decodeAes, getPassword, setPassword } from './Aes.ts';\nimport { createBcj2Decoder, decodeBcj2, decodeBcj2Multi } from './Bcj2.ts';\nimport { createBzip2Decoder, decodeBzip2 } from './BZip2.ts';\nimport { createCopyDecoder, decodeCopy } from './Copy.ts';\nimport { createDeflateDecoder, decodeDeflate } from './Deflate.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// Simple wrappers with validation that use xz-compat's optimized decode7zLjma/decode7zLzma2\nfunction decodeLzma(input: Buffer, properties?: Buffer, unpackSize?: number): Buffer {\n if (!properties || properties.length < 5) {\n throw new Error('LZMA requires 5-byte properties');\n }\n if (typeof unpackSize !== 'number' || unpackSize < 0) {\n throw new Error('LZMA requires known unpack size');\n }\n return decode7zLzma(input, properties, unpackSize);\n}\n\nfunction createLzmaDecoder(properties?: Buffer, unpackSize?: number): Transform {\n if (!properties || properties.length < 5) {\n throw new Error('LZMA requires 5-byte properties');\n }\n if (typeof unpackSize !== 'number' || unpackSize < 0) {\n throw new Error('LZMA requires known unpack size');\n }\n return _createLzmaDecoder(properties, unpackSize) as Transform;\n}\n\nfunction decodeLzma2(input: Buffer, properties?: Buffer, unpackSize?: number): Buffer {\n if (!properties || properties.length < 1) {\n throw new Error('LZMA2 requires properties byte');\n }\n return decode7zLzma2(input, properties, unpackSize);\n}\n\nfunction createLzma2Decoder(properties?: Buffer, _unpackSize?: number): Transform {\n if (!properties || properties.length < 1) {\n throw new Error('LZMA2 requires properties byte');\n }\n return _createLzma2Decoder(properties) as Transform;\n}\n\n// Registry of supported codecs\nconst codecs: { [key: string]: Codec } = {};\n\n/**\n * Convert codec ID bytes to a string key\n */\nfunction codecIdToKey(id: number[]): string {\n const parts: string[] = [];\n for (let 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 (let 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 const key = codecIdToKey(id);\n const 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.BCJ_ARM)) return 'BCJ (ARM)';\n if (codecIdEquals(id, CodecId.BCJ_ARMT)) return 'BCJ (ARM Thumb)';\n if (codecIdEquals(id, CodecId.BCJ_ARM64)) return 'BCJ (ARM64)';\n if (codecIdEquals(id, CodecId.BCJ_PPC)) return 'BCJ (PowerPC)';\n if (codecIdEquals(id, CodecId.BCJ_IA64)) return 'BCJ (IA64)';\n if (codecIdEquals(id, CodecId.BCJ_SPARC)) return 'BCJ (SPARC)';\n if (codecIdEquals(id, CodecId.BCJ2)) return 'BCJ2';\n if (codecIdEquals(id, CodecId.PPMD)) return 'PPMd';\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/**\n * Check if a codec ID matches BCJ2\n */\nexport function isBcj2Codec(id: number[]): boolean {\n return codecIdEquals(id, CodecId.BCJ2);\n}\n\n// Re-export BCJ2 multi-stream decoder for special handling\nexport { decodeBcj2Multi };\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// BCJ (ARM) filter\nregisterCodec(CodecId.BCJ_ARM, {\n decode: decodeBcjArm,\n createDecoder: createBcjArmDecoder,\n});\n\n// BCJ (ARM Thumb) filter\nregisterCodec(CodecId.BCJ_ARMT, {\n decode: decodeBcjArmt,\n createDecoder: createBcjArmtDecoder,\n});\n\n// BCJ (ARM64) filter\nregisterCodec(CodecId.BCJ_ARM64, {\n decode: decodeBcjArm64,\n createDecoder: createBcjArm64Decoder,\n});\n\n// BCJ (PowerPC) filter\nregisterCodec(CodecId.BCJ_PPC, {\n decode: decodeBcjPpc,\n createDecoder: createBcjPpcDecoder,\n});\n\n// BCJ (IA64) filter\nregisterCodec(CodecId.BCJ_IA64, {\n decode: decodeBcjIa64,\n createDecoder: createBcjIa64Decoder,\n});\n\n// BCJ (SPARC) filter\nregisterCodec(CodecId.BCJ_SPARC, {\n decode: decodeBcjSparc,\n createDecoder: createBcjSparcDecoder,\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\n// BCJ2 (x86-64) filter - multi-stream\n// Note: BCJ2 requires special handling in SevenZipParser due to 4-stream architecture\nregisterCodec(CodecId.BCJ2, {\n decode: decodeBcj2,\n createDecoder: createBcj2Decoder,\n});\n\n// Note: PPMd codec is not implemented. See FUTURE_ENHANCEMENTS.md\n"],"names":["createLzma2Decoder","_createLzma2Decoder","createLzmaDecoder","_createLzmaDecoder","createBcjArm64Decoder","createBcjArmDecoder","createBcjArmtDecoder","createBcjDecoder","createBcjIa64Decoder","createBcjPpcDecoder","createBcjSparcDecoder","createDeltaDecoder","decode7zLzma","decode7zLzma2","decodeBcj","decodeBcjArm","decodeBcjArm64","decodeBcjArmt","decodeBcjIa64","decodeBcjPpc","decodeBcjSparc","decodeDelta","CodecId","createCodedError","ErrorCode","createAesDecoder","decodeAes","getPassword","setPassword","createBcj2Decoder","decodeBcj2","decodeBcj2Multi","createBzip2Decoder","decodeBzip2","createCopyDecoder","decodeCopy","createDeflateDecoder","decodeDeflate","decodeLzma","input","properties","unpackSize","length","Error","decodeLzma2","_unpackSize","codecs","codecIdToKey","id","parts","i","push","toString","toUpperCase","join","codecIdEquals","a","b","registerCodec","codec","getCodec","key","UNSUPPORTED_CODEC","isCodecSupported","undefined","getCodecName","COPY","LZMA","LZMA2","BCJ_X86","BCJ_ARM","BCJ_ARMT","BCJ_ARM64","BCJ_PPC","BCJ_IA64","BCJ_SPARC","BCJ2","PPMD","DELTA","DEFLATE","BZIP2","AES","isBcj2Codec","decode","createDecoder"],"mappings":"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"}
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 'stream';\nimport {\n createLzma2Decoder as _createLzma2Decoder,\n createLzmaDecoder as _createLzmaDecoder,\n createBcjArm64Decoder,\n createBcjArmDecoder,\n createBcjArmtDecoder,\n createBcjDecoder,\n createBcjIa64Decoder,\n createBcjPpcDecoder,\n createBcjSparcDecoder,\n createDeltaDecoder,\n decode7zLzma,\n decode7zLzma2,\n decodeBcj,\n decodeBcjArm,\n decodeBcjArm64,\n decodeBcjArmt,\n decodeBcjIa64,\n decodeBcjPpc,\n decodeBcjSparc,\n decodeDelta,\n} from 'xz-compat';\nimport { type DecodeCallback as CodecDecodeCallback, runDecode } from '../../lib/runDecode.ts';\nimport { CodecId, createCodedError, ErrorCode } from '../constants.ts';\nimport { createAesDecoder, decodeAes, getPassword, setPassword } from './Aes.ts';\nimport { createBcj2Decoder, decodeBcj2, decodeBcj2Multi } from './Bcj2.ts';\nimport { createBzip2Decoder, decodeBzip2 } from './BZip2.ts';\nimport { createCopyDecoder, decodeCopy } from './Copy.ts';\nimport { createDeflateDecoder, decodeDeflate } from './Deflate.ts';\n\n// Re-export password functions for API access\nexport { getPassword, setPassword };\n\nfunction wrapSyncDecode(fn: (input: Buffer, properties?: Buffer, unpackSize?: number) => Buffer): Codec['decode'] {\n return (input, properties, unpackSize, callback) => {\n runDecode((done) => {\n done(null, fn(input, properties, unpackSize));\n }, callback);\n };\n}\n\nexport interface Codec {\n decode: (input: Buffer, properties: Buffer | undefined, unpackSize: number | undefined, callback: CodecDecodeCallback<Buffer>) => void;\n createDecoder: (properties?: Buffer, unpackSize?: number) => Transform;\n}\n\n// Simple wrappers with validation that use xz-compat's optimized decode7zLjma/decode7zLzma2\nfunction decodeLzma(input: Buffer, properties?: Buffer, unpackSize?: number, callback?: CodecDecodeCallback<Buffer>): void {\n if (!properties || properties.length < 5) {\n throw new Error('LZMA requires 5-byte properties');\n }\n if (typeof unpackSize !== 'number' || unpackSize < 0) {\n throw new Error('LZMA requires known unpack size');\n }\n runDecode((done) => {\n decode7zLzma(input, properties, unpackSize, done);\n }, callback);\n}\n\nfunction createLzmaDecoder(properties?: Buffer, unpackSize?: number): Transform {\n if (!properties || properties.length < 5) {\n throw new Error('LZMA requires 5-byte properties');\n }\n if (typeof unpackSize !== 'number' || unpackSize < 0) {\n throw new Error('LZMA requires known unpack size');\n }\n return _createLzmaDecoder(properties, unpackSize) as Transform;\n}\n\nfunction decodeLzma2(input: Buffer, properties?: Buffer, unpackSize?: number, callback?: CodecDecodeCallback<Buffer>): void {\n if (!properties || properties.length < 1) {\n throw new Error('LZMA2 requires properties byte');\n }\n runDecode((done) => {\n decode7zLzma2(input, properties, unpackSize, done);\n }, callback);\n}\n\nfunction createLzma2Decoder(properties?: Buffer, _unpackSize?: number): Transform {\n if (!properties || properties.length < 1) {\n throw new Error('LZMA2 requires properties byte');\n }\n return _createLzma2Decoder(properties) as Transform;\n}\n\n// Registry of supported codecs\nconst codecs: { [key: string]: Codec } = {};\n\n/**\n * Convert codec ID bytes to a string key\n */\nfunction codecIdToKey(id: number[]): string {\n const parts: string[] = [];\n for (let 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 (let 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 const key = codecIdToKey(id);\n const 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.BCJ_ARM)) return 'BCJ (ARM)';\n if (codecIdEquals(id, CodecId.BCJ_ARMT)) return 'BCJ (ARM Thumb)';\n if (codecIdEquals(id, CodecId.BCJ_ARM64)) return 'BCJ (ARM64)';\n if (codecIdEquals(id, CodecId.BCJ_PPC)) return 'BCJ (PowerPC)';\n if (codecIdEquals(id, CodecId.BCJ_IA64)) return 'BCJ (IA64)';\n if (codecIdEquals(id, CodecId.BCJ_SPARC)) return 'BCJ (SPARC)';\n if (codecIdEquals(id, CodecId.BCJ2)) return 'BCJ2';\n if (codecIdEquals(id, CodecId.PPMD)) return 'PPMd';\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/**\n * Check if a codec ID matches BCJ2\n */\nexport function isBcj2Codec(id: number[]): boolean {\n return codecIdEquals(id, CodecId.BCJ2);\n}\n\n// Re-export BCJ2 multi-stream decoder for special handling\nexport { decodeBcj2Multi };\n\n// Register built-in codecs\n\n// Copy codec (no compression)\nregisterCodec(CodecId.COPY, {\n decode: wrapSyncDecode(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: wrapSyncDecode(decodeBcj),\n createDecoder: createBcjDecoder,\n});\n\n// BCJ (ARM) filter\nregisterCodec(CodecId.BCJ_ARM, {\n decode: wrapSyncDecode(decodeBcjArm),\n createDecoder: createBcjArmDecoder,\n});\n\n// BCJ (ARM Thumb) filter\nregisterCodec(CodecId.BCJ_ARMT, {\n decode: wrapSyncDecode(decodeBcjArmt),\n createDecoder: createBcjArmtDecoder,\n});\n\n// BCJ (ARM64) filter\nregisterCodec(CodecId.BCJ_ARM64, {\n decode: wrapSyncDecode(decodeBcjArm64),\n createDecoder: createBcjArm64Decoder,\n});\n\n// BCJ (PowerPC) filter\nregisterCodec(CodecId.BCJ_PPC, {\n decode: wrapSyncDecode(decodeBcjPpc),\n createDecoder: createBcjPpcDecoder,\n});\n\n// BCJ (IA64) filter\nregisterCodec(CodecId.BCJ_IA64, {\n decode: wrapSyncDecode(decodeBcjIa64),\n createDecoder: createBcjIa64Decoder,\n});\n\n// BCJ (SPARC) filter\nregisterCodec(CodecId.BCJ_SPARC, {\n decode: wrapSyncDecode(decodeBcjSparc),\n createDecoder: createBcjSparcDecoder,\n});\n\n// Delta filter\nregisterCodec(CodecId.DELTA, {\n decode: wrapSyncDecode(decodeDelta),\n createDecoder: createDeltaDecoder,\n});\n\n// Deflate codec\nregisterCodec(CodecId.DEFLATE, {\n decode: wrapSyncDecode(decodeDeflate),\n createDecoder: createDeflateDecoder,\n});\n\n// BZip2 codec\nregisterCodec(CodecId.BZIP2, {\n decode: wrapSyncDecode(decodeBzip2),\n createDecoder: createBzip2Decoder,\n});\n\n// AES-256-CBC codec (encryption)\nregisterCodec(CodecId.AES, {\n decode: wrapSyncDecode(decodeAes),\n createDecoder: createAesDecoder,\n});\n\n// BCJ2 (x86-64) filter - multi-stream\n// Note: BCJ2 requires special handling in SevenZipParser due to 4-stream architecture\nregisterCodec(CodecId.BCJ2, {\n decode: decodeBcj2,\n createDecoder: createBcj2Decoder,\n});\n\n// Note: PPMd codec is not implemented. See FUTURE_ENHANCEMENTS.md\n"],"names":["createLzma2Decoder","_createLzma2Decoder","createLzmaDecoder","_createLzmaDecoder","createBcjArm64Decoder","createBcjArmDecoder","createBcjArmtDecoder","createBcjDecoder","createBcjIa64Decoder","createBcjPpcDecoder","createBcjSparcDecoder","createDeltaDecoder","decode7zLzma","decode7zLzma2","decodeBcj","decodeBcjArm","decodeBcjArm64","decodeBcjArmt","decodeBcjIa64","decodeBcjPpc","decodeBcjSparc","decodeDelta","runDecode","CodecId","createCodedError","ErrorCode","createAesDecoder","decodeAes","getPassword","setPassword","createBcj2Decoder","decodeBcj2","decodeBcj2Multi","createBzip2Decoder","decodeBzip2","createCopyDecoder","decodeCopy","createDeflateDecoder","decodeDeflate","wrapSyncDecode","fn","input","properties","unpackSize","callback","done","decodeLzma","length","Error","decodeLzma2","_unpackSize","codecs","codecIdToKey","id","parts","i","push","toString","toUpperCase","join","codecIdEquals","a","b","registerCodec","codec","getCodec","key","UNSUPPORTED_CODEC","isCodecSupported","undefined","getCodecName","COPY","LZMA","LZMA2","BCJ_X86","BCJ_ARM","BCJ_ARMT","BCJ_ARM64","BCJ_PPC","BCJ_IA64","BCJ_SPARC","BCJ2","PPMD","DELTA","DEFLATE","BZIP2","AES","isBcj2Codec","decode","createDecoder"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  export type { CodedError } from './constants.js';
2
2
  export { createCodedError, ErrorCode } from './constants.js';
3
- export type { ArchiveSource, SevenZipEntry } from './SevenZipParser.js';
3
+ export type { ArchiveSource, SevenZipEntry, VoidCallback } from './SevenZipParser.js';
4
4
  export { BufferSource, FileSource, SevenZipParser } from './SevenZipParser.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/7z-iterator/src/sevenz/index.ts"],"sourcesContent":["// 7z format parser exports\n// Only exports needed for public API - internal functions remain internal\n\n// Error types for handling specific error conditions\nexport type { CodedError } from './constants.ts';\nexport { createCodedError, ErrorCode } from './constants.ts';\n// Parser and sources for advanced users\nexport type { ArchiveSource, SevenZipEntry } from './SevenZipParser.ts';\nexport { BufferSource, FileSource, SevenZipParser } from './SevenZipParser.ts';\n"],"names":["createCodedError","ErrorCode","BufferSource","FileSource","SevenZipParser"],"mappings":"AAAA,2BAA2B;AAC3B,0EAA0E;AAE1E,qDAAqD;AAErD,SAASA,gBAAgB,EAAEC,SAAS,QAAQ,iBAAiB;AAG7D,SAASC,YAAY,EAAEC,UAAU,EAAEC,cAAc,QAAQ,sBAAsB"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/7z-iterator/src/sevenz/index.ts"],"sourcesContent":["// 7z format parser exports\n// Only exports needed for public API - internal functions remain internal\n\n// Error types for handling specific error conditions\nexport type { CodedError } from './constants.ts';\nexport { createCodedError, ErrorCode } from './constants.ts';\n// Parser and sources for advanced users\nexport type { ArchiveSource, SevenZipEntry, VoidCallback } from './SevenZipParser.ts';\nexport { BufferSource, FileSource, SevenZipParser } from './SevenZipParser.ts';\n"],"names":["createCodedError","ErrorCode","BufferSource","FileSource","SevenZipParser"],"mappings":"AAAA,2BAA2B;AAC3B,0EAA0E;AAE1E,qDAAqD;AAErD,SAASA,gBAAgB,EAAEC,SAAS,QAAQ,iBAAiB;AAG7D,SAASC,YAAY,EAAEC,UAAU,EAAEC,cAAc,QAAQ,sBAAsB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "7z-iterator",
3
- "version": "2.0.4",
3
+ "version": "2.1.1",
4
4
  "description": "Extract contents from 7z archives using an iterator API. Pure JavaScript, works on Node.js 0.8+",
5
5
  "keywords": [
6
6
  "extract",
@@ -56,6 +56,7 @@
56
56
  "call-once-fn": "^1.1.6",
57
57
  "extract-base-iterator": "^3.0.0",
58
58
  "fs-remove-compat": "^1.0.0",
59
+ "graceful-fs": "^4.2.11",
59
60
  "mkdirp-classic": "^0.5.2",
60
61
  "on-one": "^1.0.10",
61
62
  "os-shim": "^0.1.3",
@@ -63,7 +64,7 @@
63
64
  "short-hash": "^1.0.0",
64
65
  "temp-suffix": "^1.0.10",
65
66
  "unbzip2-stream": "1.0.8",
66
- "xz-compat": "^0.3.0"
67
+ "xz-compat": "^1.0.0"
67
68
  },
68
69
  "devDependencies": {
69
70
  "@types/mocha": "*",