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
package/LICENSE ADDED
@@ -0,0 +1,42 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2020 Kevin Malakoff
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ wof this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
23
+ --------------------zip: https://github.com/kriskowal/zip/blob/master/LICENSE
24
+
25
+ Copyright 2009, 2010 Kristopher Michael Kowal. All rights reserved.
26
+ Permission is hereby granted, free of charge, to any person obtaining a copy
27
+ of this software and associated documentation files (the "Software"), to
28
+ deal in the Software without restriction, including without limitation the
29
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
30
+ sell copies of the Software, and to permit persons to whom the Software is
31
+ furnished to do so, subject to the following conditions:
32
+
33
+ The above copyright notice and this permission notice shall be included in
34
+ all copies or substantial portions of the Software.
35
+
36
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
37
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
38
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
39
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
40
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
42
+ IN THE SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,142 @@
1
+ ## 7z-iterator
2
+
3
+ Extract contents from zip archive type using an iterator API using streams or paths. Use stream interface and pipe transforms to add decompression algorithms.
4
+
5
+ // asyncIterator
6
+
7
+ ```js
8
+ var assert = require('assert');
9
+ var fs = require('fs');
10
+ var ZipIterator = require('7z-iterator'));
11
+
12
+ (async function() {
13
+ let iterator = new ZipIterator('/path/to/archive');
14
+
15
+ try {
16
+ const links = [];
17
+ for await (const entry of iterator) {
18
+ if (entry.type === 'link') links.unshift(entry);
19
+ else if (entry.type === 'symlink') links.push(entry);
20
+ else await entry.create(dest, options);
21
+ }
22
+
23
+ // create links after directories and files
24
+ for (const entry of links) await entry.create(dest, options);
25
+ } catch (err) {
26
+ }
27
+
28
+ iterator.destroy();
29
+ iterator = null;
30
+ })();
31
+
32
+ (async function() {
33
+ let iterator = new ZipIterator(fs.createReadStream('/path/to/archive'));
34
+
35
+ try {
36
+ const links = [];
37
+ for await (const entry of iterator) {
38
+ if (entry.type === 'link') links.unshift(entry);
39
+ else if (entry.type === 'symlink') links.push(entry);
40
+ else await entry.create(dest, options);
41
+ }
42
+
43
+ // create links after directories and files
44
+ for (const entry of links) await entry.create(dest, options);
45
+ } catch (err) {
46
+ }
47
+
48
+ iterator.destroy();
49
+ iterator = null;
50
+ })();
51
+ ```
52
+
53
+ // Async / Await
54
+
55
+ ```js
56
+ var assert = require('assert');
57
+ var ZipIterator = require('7z-iterator'));
58
+
59
+ // one by one
60
+ (async function() {
61
+ let iterator = new ZipIterator('/path/to/archive');
62
+
63
+ const links = [];
64
+ let entry = await iterator.next();
65
+ while (entry) {
66
+ if (entry.type === 'link') links.unshift(entry);
67
+ else if (entry.type === 'symlink') links.push(entry);
68
+ else await entry.create(dest, options);
69
+ entry = await iterator.next();
70
+ }
71
+
72
+ // create links after directories and files
73
+ for (entry of links) {
74
+ await entry.create(dest, options);
75
+ }
76
+ iterator.destroy();
77
+ iterator = null;
78
+ })();
79
+
80
+ // infinite concurrency
81
+ (async function() {
82
+ let iterator = new ZipIterator('/path/to/archive');
83
+
84
+ try {
85
+ const links = [];
86
+ await iterator.forEach(
87
+ async function (entry) {
88
+ if (entry.type === 'link') links.unshift(entry);
89
+ else if (entry.type === 'symlink') links.push(entry);
90
+ else await entry.create(dest, options);
91
+ },
92
+ { concurrency: Infinity }
93
+ );
94
+
95
+ // create links after directories and files
96
+ for (const entry of links) await entry.create(dest, options);
97
+ } catch (err) {
98
+ aseert.ok(!err);
99
+ }
100
+
101
+ iterator.destroy();
102
+ iterator = null;
103
+ })();
104
+ ```
105
+
106
+ // Callbacks
107
+
108
+ ```js
109
+ var assert = require('assert');
110
+ var Queue = require('queue-cb');
111
+ var ZipIterator = require('7z-iterator'));
112
+
113
+ var iterator = new ZipIterator('/path/to/archive');
114
+
115
+ // one by one
116
+ var links = [];
117
+ iterator.forEach(
118
+ function (entry, callback) {
119
+ if (entry.type === 'link') {
120
+ links.unshift(entry);
121
+ callback();
122
+ } else if (entry.type === 'symlink') {
123
+ links.push(entry);
124
+ callback();
125
+ } else entry.create(dest, options, callback);
126
+ },
127
+ { callbacks: true, concurrency: 1 },
128
+ function (err) {
129
+
130
+ // create links after directories and files
131
+ var queue = new Queue();
132
+ for (var index = 0; index < links.length; index++) {
133
+ var entry = links[index];
134
+ queue.defer(entry.create.bind(entry, dest, options));
135
+ }
136
+ queue.await(callback);
137
+
138
+ iterator.destroy();
139
+ iterator = null;
140
+ }
141
+ );
142
+ ```
@@ -0,0 +1,12 @@
1
+ import { type FileAttributes, FileEntry, type NoParamCallback } from 'extract-base-iterator';
2
+ import type { SevenZipEntry, SevenZipParser } from './sevenz/SevenZipParser.js';
3
+ import type { ExtractOptions, LockT } from './types.js';
4
+ export default class SevenZipFileEntry extends FileEntry {
5
+ private lock;
6
+ private entry;
7
+ private parser;
8
+ constructor(attributes: FileAttributes, entry: SevenZipEntry, parser: SevenZipParser, lock: LockT);
9
+ create(dest: string, options: ExtractOptions | NoParamCallback, callback: NoParamCallback): undefined | Promise<boolean>;
10
+ _writeFile(fullPath: string, _options: ExtractOptions, callback: NoParamCallback): undefined;
11
+ destroy(): void;
12
+ }
@@ -0,0 +1,12 @@
1
+ import { type FileAttributes, FileEntry, type NoParamCallback } from 'extract-base-iterator';
2
+ import type { SevenZipEntry, SevenZipParser } from './sevenz/SevenZipParser.js';
3
+ import type { ExtractOptions, LockT } from './types.js';
4
+ export default class SevenZipFileEntry extends FileEntry {
5
+ private lock;
6
+ private entry;
7
+ private parser;
8
+ constructor(attributes: FileAttributes, entry: SevenZipEntry, parser: SevenZipParser, lock: LockT);
9
+ create(dest: string, options: ExtractOptions | NoParamCallback, callback: NoParamCallback): undefined | Promise<boolean>;
10
+ _writeFile(fullPath: string, _options: ExtractOptions, callback: NoParamCallback): undefined;
11
+ destroy(): void;
12
+ }
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return SevenZipFileEntry;
9
+ }
10
+ });
11
+ var _extractbaseiterator = require("extract-base-iterator");
12
+ var _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
13
+ var _onone = /*#__PURE__*/ _interop_require_default(require("on-one"));
14
+ function _assert_this_initialized(self) {
15
+ if (self === void 0) {
16
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
17
+ }
18
+ return self;
19
+ }
20
+ function _call_super(_this, derived, args) {
21
+ derived = _get_prototype_of(derived);
22
+ return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
23
+ }
24
+ function _class_call_check(instance, Constructor) {
25
+ if (!(instance instanceof Constructor)) {
26
+ throw new TypeError("Cannot call a class as a function");
27
+ }
28
+ }
29
+ function _get_prototype_of(o) {
30
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
31
+ return o.__proto__ || Object.getPrototypeOf(o);
32
+ };
33
+ return _get_prototype_of(o);
34
+ }
35
+ function _inherits(subClass, superClass) {
36
+ if (typeof superClass !== "function" && superClass !== null) {
37
+ throw new TypeError("Super expression must either be null or a function");
38
+ }
39
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
40
+ constructor: {
41
+ value: subClass,
42
+ writable: true,
43
+ configurable: true
44
+ }
45
+ });
46
+ if (superClass) _set_prototype_of(subClass, superClass);
47
+ }
48
+ function _interop_require_default(obj) {
49
+ return obj && obj.__esModule ? obj : {
50
+ default: obj
51
+ };
52
+ }
53
+ function _possible_constructor_return(self, call) {
54
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
55
+ return call;
56
+ }
57
+ return _assert_this_initialized(self);
58
+ }
59
+ function _set_prototype_of(o, p) {
60
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
61
+ o.__proto__ = p;
62
+ return o;
63
+ };
64
+ return _set_prototype_of(o, p);
65
+ }
66
+ function _type_of(obj) {
67
+ "@swc/helpers - typeof";
68
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
69
+ }
70
+ function _is_native_reflect_construct() {
71
+ try {
72
+ var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
73
+ } catch (_) {}
74
+ return (_is_native_reflect_construct = function() {
75
+ return !!result;
76
+ })();
77
+ }
78
+ var SevenZipFileEntry = /*#__PURE__*/ function(FileEntry) {
79
+ "use strict";
80
+ _inherits(SevenZipFileEntry, FileEntry);
81
+ function SevenZipFileEntry(attributes, entry, parser, lock) {
82
+ _class_call_check(this, SevenZipFileEntry);
83
+ var _this;
84
+ _this = _call_super(this, SevenZipFileEntry, [
85
+ attributes
86
+ ]);
87
+ _this.entry = entry;
88
+ _this.parser = parser;
89
+ _this.lock = lock;
90
+ _this.lock.retain();
91
+ return _this;
92
+ }
93
+ var _proto = SevenZipFileEntry.prototype;
94
+ _proto.create = function create(dest, options, callback) {
95
+ var _this = this;
96
+ if (typeof options === 'function') {
97
+ callback = options;
98
+ options = null;
99
+ }
100
+ if (typeof callback === 'function') {
101
+ options = options || {};
102
+ return _extractbaseiterator.FileEntry.prototype.create.call(this, dest, options, function(err) {
103
+ callback(err);
104
+ if (_this.lock) {
105
+ _this.lock.release();
106
+ _this.lock = null;
107
+ }
108
+ });
109
+ }
110
+ return new Promise(function(resolve, reject) {
111
+ _this.create(dest, options, function(err, done) {
112
+ err ? reject(err) : resolve(done);
113
+ });
114
+ });
115
+ };
116
+ _proto._writeFile = function _writeFile(fullPath, _options, callback) {
117
+ if (!this.entry || !this.parser) {
118
+ callback(new Error('7z FileEntry missing entry. Check for calling create multiple times'));
119
+ return;
120
+ }
121
+ try {
122
+ var stream = this.parser.getEntryStream(this.entry);
123
+ var res = stream.pipe(_fs.default.createWriteStream(fullPath));
124
+ (0, _onone.default)(res, [
125
+ 'error',
126
+ 'end',
127
+ 'close',
128
+ 'finish'
129
+ ], function(err) {
130
+ err ? callback(err) : (0, _extractbaseiterator.waitForAccess)(fullPath, callback);
131
+ });
132
+ } catch (err) {
133
+ callback(err);
134
+ }
135
+ };
136
+ _proto.destroy = function destroy() {
137
+ _extractbaseiterator.FileEntry.prototype.destroy.call(this);
138
+ this.entry = null;
139
+ this.parser = null;
140
+ if (this.lock) {
141
+ this.lock.release();
142
+ this.lock = null;
143
+ }
144
+ };
145
+ return SevenZipFileEntry;
146
+ }(_extractbaseiterator.FileEntry);
147
+ /* 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/FileEntry.ts"],"sourcesContent":["import { type FileAttributes, FileEntry, type NoParamCallback, waitForAccess } from 'extract-base-iterator';\nimport fs from 'fs';\nimport oo from 'on-one';\nimport type { SevenZipEntry, SevenZipParser } from './sevenz/SevenZipParser.ts';\nimport type { ExtractOptions, LockT } from './types.ts';\n\nexport default class SevenZipFileEntry extends FileEntry {\n private lock: LockT;\n private entry: SevenZipEntry;\n private parser: SevenZipParser;\n\n constructor(attributes: FileAttributes, entry: SevenZipEntry, parser: SevenZipParser, lock: LockT) {\n super(attributes);\n this.entry = entry;\n this.parser = parser;\n this.lock = lock;\n this.lock.retain();\n }\n\n create(dest: string, options: ExtractOptions | NoParamCallback, callback: NoParamCallback): undefined | Promise<boolean> {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n\n if (typeof callback === 'function') {\n options = options || {};\n return FileEntry.prototype.create.call(this, dest, options, (err?: Error) => {\n callback(err);\n if (this.lock) {\n this.lock.release();\n this.lock = null;\n }\n });\n }\n return new Promise((resolve, reject) => {\n this.create(dest, options, (err?: Error, done?: boolean) => {\n err ? reject(err) : resolve(done);\n });\n });\n }\n\n _writeFile(fullPath: string, _options: ExtractOptions, callback: NoParamCallback): undefined {\n if (!this.entry || !this.parser) {\n callback(new Error('7z FileEntry missing entry. Check for calling create multiple times'));\n return;\n }\n\n try {\n var stream = this.parser.getEntryStream(this.entry);\n var res = stream.pipe(fs.createWriteStream(fullPath));\n oo(res, ['error', 'end', 'close', 'finish'], (err?: Error) => {\n err ? callback(err) : waitForAccess(fullPath, callback);\n });\n } catch (err) {\n callback(err);\n }\n }\n\n destroy() {\n FileEntry.prototype.destroy.call(this);\n this.entry = null;\n this.parser = null;\n if (this.lock) {\n this.lock.release();\n this.lock = null;\n }\n }\n}\n"],"names":["SevenZipFileEntry","attributes","entry","parser","lock","retain","create","dest","options","callback","FileEntry","prototype","call","err","release","Promise","resolve","reject","done","_writeFile","fullPath","_options","Error","stream","getEntryStream","res","pipe","fs","createWriteStream","oo","waitForAccess","destroy"],"mappings":";;;;;;;eAMqBA;;;mCAN+D;yDACrE;4DACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAA,AAAMA,kCAAN;;cAAMA;aAAAA,kBAKPC,UAA0B,EAAEC,KAAoB,EAAEC,MAAsB,EAAEC,IAAW;gCAL9EJ;;gBAMjB,kBANiBA;YAMXC;;QACN,MAAKC,KAAK,GAAGA;QACb,MAAKC,MAAM,GAAGA;QACd,MAAKC,IAAI,GAAGA;QACZ,MAAKA,IAAI,CAACC,MAAM;;;iBAVCL;IAanBM,OAAAA,MAqBC,GArBDA,SAAAA,OAAOC,IAAY,EAAEC,OAAyC,EAAEC,QAAyB;;QACvF,IAAI,OAAOD,YAAY,YAAY;YACjCC,WAAWD;YACXA,UAAU;QACZ;QAEA,IAAI,OAAOC,aAAa,YAAY;YAClCD,UAAUA,WAAW,CAAC;YACtB,OAAOE,8BAAS,CAACC,SAAS,CAACL,MAAM,CAACM,IAAI,CAAC,IAAI,EAAEL,MAAMC,SAAS,SAACK;gBAC3DJ,SAASI;gBACT,IAAI,MAAKT,IAAI,EAAE;oBACb,MAAKA,IAAI,CAACU,OAAO;oBACjB,MAAKV,IAAI,GAAG;gBACd;YACF;QACF;QACA,OAAO,IAAIW,QAAQ,SAACC,SAASC;YAC3B,MAAKX,MAAM,CAACC,MAAMC,SAAS,SAACK,KAAaK;gBACvCL,MAAMI,OAAOJ,OAAOG,QAAQE;YAC9B;QACF;IACF;IAEAC,OAAAA,UAeC,GAfDA,SAAAA,WAAWC,QAAgB,EAAEC,QAAwB,EAAEZ,QAAyB;QAC9E,IAAI,CAAC,IAAI,CAACP,KAAK,IAAI,CAAC,IAAI,CAACC,MAAM,EAAE;YAC/BM,SAAS,IAAIa,MAAM;YACnB;QACF;QAEA,IAAI;YACF,IAAIC,SAAS,IAAI,CAACpB,MAAM,CAACqB,cAAc,CAAC,IAAI,CAACtB,KAAK;YAClD,IAAIuB,MAAMF,OAAOG,IAAI,CAACC,WAAE,CAACC,iBAAiB,CAACR;YAC3CS,IAAAA,cAAE,EAACJ,KAAK;gBAAC;gBAAS;gBAAO;gBAAS;aAAS,EAAE,SAACZ;gBAC5CA,MAAMJ,SAASI,OAAOiB,IAAAA,kCAAa,EAACV,UAAUX;YAChD;QACF,EAAE,OAAOI,KAAK;YACZJ,SAASI;QACX;IACF;IAEAkB,OAAAA,OAQC,GARDA,SAAAA;QACErB,8BAAS,CAACC,SAAS,CAACoB,OAAO,CAACnB,IAAI,CAAC,IAAI;QACrC,IAAI,CAACV,KAAK,GAAG;QACb,IAAI,CAACC,MAAM,GAAG;QACd,IAAI,IAAI,CAACC,IAAI,EAAE;YACb,IAAI,CAACA,IAAI,CAACU,OAAO;YACjB,IAAI,CAACV,IAAI,GAAG;QACd;IACF;WA7DmBJ;EAA0BU,8BAAS"}
@@ -0,0 +1,8 @@
1
+ import BaseIterator from 'extract-base-iterator';
2
+ import type { ExtractOptions, LockT, SevenZipFileIterator } from './types.js';
3
+ export default class SevenZipIterator extends BaseIterator {
4
+ lock: LockT;
5
+ iterator: SevenZipFileIterator;
6
+ constructor(source: string | NodeJS.ReadableStream, options?: ExtractOptions);
7
+ end(err?: Error): void;
8
+ }
@@ -0,0 +1,8 @@
1
+ import BaseIterator from 'extract-base-iterator';
2
+ import type { ExtractOptions, LockT, SevenZipFileIterator } from './types.js';
3
+ export default class SevenZipIterator extends BaseIterator {
4
+ lock: LockT;
5
+ iterator: SevenZipFileIterator;
6
+ constructor(source: string | NodeJS.ReadableStream, options?: ExtractOptions);
7
+ end(err?: Error): void;
8
+ }
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return SevenZipIterator;
9
+ }
10
+ });
11
+ var _extractbaseiterator = /*#__PURE__*/ _interop_require_default(require("extract-base-iterator"));
12
+ var _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
13
+ var _os = /*#__PURE__*/ _interop_require_default(require("os"));
14
+ var _osshim = /*#__PURE__*/ _interop_require_default(require("os-shim"));
15
+ var _path = /*#__PURE__*/ _interop_require_default(require("path"));
16
+ var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
17
+ var _shorthash = /*#__PURE__*/ _interop_require_default(require("short-hash"));
18
+ var _tempsuffix = /*#__PURE__*/ _interop_require_default(require("temp-suffix"));
19
+ var _Lockts = /*#__PURE__*/ _interop_require_default(require("./lib/Lock.js"));
20
+ var _streamToSourcets = /*#__PURE__*/ _interop_require_default(require("./lib/streamToSource.js"));
21
+ var _nextEntryts = /*#__PURE__*/ _interop_require_default(require("./nextEntry.js"));
22
+ var _indexts = require("./sevenz/codecs/index.js");
23
+ var _SevenZipParserts = require("./sevenz/SevenZipParser.js");
24
+ function _assert_this_initialized(self) {
25
+ if (self === void 0) {
26
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
27
+ }
28
+ return self;
29
+ }
30
+ function _call_super(_this, derived, args) {
31
+ derived = _get_prototype_of(derived);
32
+ return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
33
+ }
34
+ function _class_call_check(instance, Constructor) {
35
+ if (!(instance instanceof Constructor)) {
36
+ throw new TypeError("Cannot call a class as a function");
37
+ }
38
+ }
39
+ function _get_prototype_of(o) {
40
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
41
+ return o.__proto__ || Object.getPrototypeOf(o);
42
+ };
43
+ return _get_prototype_of(o);
44
+ }
45
+ function _inherits(subClass, superClass) {
46
+ if (typeof superClass !== "function" && superClass !== null) {
47
+ throw new TypeError("Super expression must either be null or a function");
48
+ }
49
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
50
+ constructor: {
51
+ value: subClass,
52
+ writable: true,
53
+ configurable: true
54
+ }
55
+ });
56
+ if (superClass) _set_prototype_of(subClass, superClass);
57
+ }
58
+ function _interop_require_default(obj) {
59
+ return obj && obj.__esModule ? obj : {
60
+ default: obj
61
+ };
62
+ }
63
+ function _possible_constructor_return(self, call) {
64
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
65
+ return call;
66
+ }
67
+ return _assert_this_initialized(self);
68
+ }
69
+ function _set_prototype_of(o, p) {
70
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
71
+ o.__proto__ = p;
72
+ return o;
73
+ };
74
+ return _set_prototype_of(o, p);
75
+ }
76
+ function _type_of(obj) {
77
+ "@swc/helpers - typeof";
78
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
79
+ }
80
+ function _is_native_reflect_construct() {
81
+ try {
82
+ var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
83
+ } catch (_) {}
84
+ return (_is_native_reflect_construct = function() {
85
+ return !!result;
86
+ })();
87
+ }
88
+ var tmpdir = _os.default.tmpdir || _osshim.default.tmpdir;
89
+ /**
90
+ * Iterator wrapper around SevenZipParser entries
91
+ */ var EntryIterator = /*#__PURE__*/ function() {
92
+ "use strict";
93
+ function EntryIterator(parser) {
94
+ _class_call_check(this, EntryIterator);
95
+ this.index = 0;
96
+ this.parser = parser;
97
+ this.entries = parser.getEntries();
98
+ }
99
+ var _proto = EntryIterator.prototype;
100
+ _proto.next = function next() {
101
+ if (this.index >= this.entries.length) {
102
+ return null;
103
+ }
104
+ return this.entries[this.index++];
105
+ };
106
+ _proto.getParser = function getParser() {
107
+ return this.parser;
108
+ };
109
+ return EntryIterator;
110
+ }();
111
+ var SevenZipIterator = /*#__PURE__*/ function(BaseIterator) {
112
+ "use strict";
113
+ _inherits(SevenZipIterator, BaseIterator);
114
+ function SevenZipIterator(source) {
115
+ var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
116
+ _class_call_check(this, SevenZipIterator);
117
+ var _this;
118
+ _this = _call_super(this, SevenZipIterator, [
119
+ options
120
+ ]);
121
+ _this.lock = new _Lockts.default();
122
+ _this.lock.iterator = _this;
123
+ var queue = new _queuecb.default(1);
124
+ var cancelled = false;
125
+ var archiveSource = null;
126
+ var setup = function() {
127
+ cancelled = true;
128
+ return undefined;
129
+ };
130
+ _this.processing.push(setup);
131
+ // Set password (or clear if not provided)
132
+ (0, _indexts.setPassword)(options.password || null);
133
+ if (typeof source === 'string') {
134
+ // File path input - use FileSource directly
135
+ queue.defer(function(cb) {
136
+ _fs.default.stat(source, function(statErr, stats) {
137
+ if (_this.done || cancelled) return;
138
+ if (statErr) return cb(statErr);
139
+ _fs.default.open(source, 'r', function(err, fd) {
140
+ if (_this.done || cancelled) return;
141
+ if (err) return cb(err);
142
+ archiveSource = new _SevenZipParserts.FileSource(fd, stats.size);
143
+ _this.lock.fd = fd;
144
+ cb();
145
+ });
146
+ });
147
+ });
148
+ } else {
149
+ // Stream input - use hybrid memory/temp-file approach
150
+ var tempPath = _path.default.join(tmpdir(), '7z-iterator', (0, _shorthash.default)(process.cwd()), (0, _tempsuffix.default)('tmp.7z'));
151
+ queue.defer(function(cb) {
152
+ (0, _streamToSourcets.default)(source, {
153
+ memoryThreshold: options.memoryThreshold,
154
+ tempPath: tempPath
155
+ }, function(err, result) {
156
+ if (_this.done || cancelled) return;
157
+ if (err) return cb(err);
158
+ if (!result) return cb(new Error('No result from streamToSource'));
159
+ archiveSource = result.source;
160
+ if (result.fd !== undefined) {
161
+ _this.lock.fd = result.fd;
162
+ }
163
+ if (result.tempPath) {
164
+ _this.lock.tempPath = result.tempPath;
165
+ }
166
+ cb();
167
+ });
168
+ });
169
+ }
170
+ // Parse and build iterator
171
+ queue.defer(function(cb) {
172
+ if (_this.done || cancelled) return;
173
+ if (!archiveSource) return cb(new Error('No archive source'));
174
+ try {
175
+ var parser = new _SevenZipParserts.SevenZipParser(archiveSource);
176
+ parser.parse();
177
+ _this.iterator = new EntryIterator(parser);
178
+ cb();
179
+ } catch (parseErr) {
180
+ cb(parseErr);
181
+ }
182
+ });
183
+ // start processing
184
+ queue.await(function(err) {
185
+ _this.processing.remove(setup);
186
+ if (_this.done || cancelled) return;
187
+ err ? _this.end(err) : _this.push(_nextEntryts.default);
188
+ });
189
+ return _this;
190
+ }
191
+ var _proto = SevenZipIterator.prototype;
192
+ _proto.end = function end(err) {
193
+ if (this.lock) {
194
+ this.lock.err = err;
195
+ this.lock.release();
196
+ this.lock = null;
197
+ } else {
198
+ _extractbaseiterator.default.prototype.end.call(this, err); // call in lock release so end is properly handled
199
+ }
200
+ this.iterator = null;
201
+ };
202
+ return SevenZipIterator;
203
+ }(_extractbaseiterator.default);
204
+ /* 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/SevenZipIterator.ts"],"sourcesContent":["import BaseIterator from 'extract-base-iterator';\nimport fs from 'fs';\nimport os from 'os';\nimport osShim from 'os-shim';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport shortHash from 'short-hash';\nimport tempSuffix from 'temp-suffix';\nimport Lock from './lib/Lock.ts';\nimport streamToSource, { type SourceResult } from './lib/streamToSource.ts';\nimport nextEntry from './nextEntry.ts';\nimport { setPassword } from './sevenz/codecs/index.ts';\nimport { type ArchiveSource, FileSource, type SevenZipEntry, SevenZipParser } from './sevenz/SevenZipParser.ts';\n\nvar tmpdir = os.tmpdir || osShim.tmpdir;\n\nimport type { ExtractOptions, LockT, SevenZipFileIterator } from './types.ts';\n\n/**\n * Iterator wrapper around SevenZipParser entries\n */\nclass EntryIterator implements SevenZipFileIterator {\n private parser: SevenZipParser;\n private entries: SevenZipEntry[];\n private index = 0;\n\n constructor(parser: SevenZipParser) {\n this.parser = parser;\n this.entries = parser.getEntries();\n }\n\n next(): SevenZipEntry | null {\n if (this.index >= this.entries.length) {\n return null;\n }\n return this.entries[this.index++];\n }\n\n getParser(): SevenZipParser {\n return this.parser;\n }\n}\n\nexport default class SevenZipIterator extends BaseIterator {\n lock: LockT;\n iterator: SevenZipFileIterator;\n\n constructor(source: string | NodeJS.ReadableStream, options: ExtractOptions = {}) {\n super(options);\n this.lock = new Lock();\n this.lock.iterator = this;\n var queue = new Queue(1);\n var cancelled = false;\n var archiveSource: ArchiveSource | null = null;\n var setup = (): undefined => {\n cancelled = true;\n return undefined;\n };\n this.processing.push(setup);\n\n // Set password (or clear if not provided)\n setPassword(options.password || null);\n\n if (typeof source === 'string') {\n // File path input - use FileSource directly\n queue.defer((cb: (err?: Error) => void) => {\n fs.stat(source, (statErr, stats) => {\n if (this.done || cancelled) return;\n if (statErr) return cb(statErr);\n\n fs.open(source, 'r', (err, fd) => {\n if (this.done || cancelled) return;\n if (err) return cb(err);\n\n archiveSource = new FileSource(fd, stats.size);\n this.lock.fd = fd;\n cb();\n });\n });\n });\n } else {\n // Stream input - use hybrid memory/temp-file approach\n var tempPath = path.join(tmpdir(), '7z-iterator', shortHash(process.cwd()), tempSuffix('tmp.7z'));\n queue.defer((cb: (err?: Error) => void) => {\n streamToSource(\n source,\n {\n memoryThreshold: options.memoryThreshold,\n tempPath: tempPath,\n },\n (err?: Error, result?: SourceResult) => {\n if (this.done || cancelled) return;\n if (err) return cb(err);\n if (!result) return cb(new Error('No result from streamToSource'));\n\n archiveSource = result.source;\n if (result.fd !== undefined) {\n this.lock.fd = result.fd;\n }\n if (result.tempPath) {\n this.lock.tempPath = result.tempPath;\n }\n cb();\n }\n );\n });\n }\n\n // Parse and build iterator\n queue.defer((cb: (err?: Error) => void) => {\n if (this.done || cancelled) return;\n if (!archiveSource) return cb(new Error('No archive source'));\n\n try {\n var parser = new SevenZipParser(archiveSource);\n parser.parse();\n this.iterator = new EntryIterator(parser);\n cb();\n } catch (parseErr) {\n cb(parseErr as Error);\n }\n });\n\n // start processing\n queue.await((err?: Error) => {\n this.processing.remove(setup);\n if (this.done || cancelled) return;\n err ? this.end(err) : this.push(nextEntry);\n });\n }\n\n end(err?: Error) {\n if (this.lock) {\n this.lock.err = err;\n this.lock.release();\n this.lock = null;\n } else {\n BaseIterator.prototype.end.call(this, err); // call in lock release so end is properly handled\n }\n this.iterator = null;\n }\n}\n"],"names":["SevenZipIterator","tmpdir","os","osShim","EntryIterator","parser","index","entries","getEntries","next","length","getParser","source","options","lock","Lock","iterator","queue","Queue","cancelled","archiveSource","setup","undefined","processing","push","setPassword","password","defer","cb","fs","stat","statErr","stats","done","open","err","fd","FileSource","size","tempPath","path","join","shortHash","process","cwd","tempSuffix","streamToSource","memoryThreshold","result","Error","SevenZipParser","parse","parseErr","await","remove","end","nextEntry","release","BaseIterator","prototype","call"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { default } from './SevenZipIterator.js';
2
+ export type { ArchiveSource, SevenZipEntry } from './sevenz/index.js';
3
+ export { SevenZipParser } from './sevenz/index.js';
4
+ export * from './types.js';
@@ -0,0 +1,4 @@
1
+ export { default } from './SevenZipIterator.js';
2
+ export type { ArchiveSource, SevenZipEntry } from './sevenz/index.js';
3
+ export { SevenZipParser } from './sevenz/index.js';
4
+ export * from './types.js';
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get SevenZipParser () {
13
+ return _indexts.SevenZipParser;
14
+ },
15
+ get default () {
16
+ return _SevenZipIteratorts.default;
17
+ }
18
+ });
19
+ var _SevenZipIteratorts = /*#__PURE__*/ _interop_require_default(require("./SevenZipIterator.js"));
20
+ var _indexts = require("./sevenz/index.js");
21
+ _export_star(require("./types.js"), exports);
22
+ function _export_star(from, to) {
23
+ Object.keys(from).forEach(function(k) {
24
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
25
+ Object.defineProperty(to, k, {
26
+ enumerable: true,
27
+ get: function() {
28
+ return from[k];
29
+ }
30
+ });
31
+ }
32
+ });
33
+ return from;
34
+ }
35
+ function _interop_require_default(obj) {
36
+ return obj && obj.__esModule ? obj : {
37
+ default: obj
38
+ };
39
+ }
40
+ /* 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/index.ts"],"sourcesContent":["export { default } from './SevenZipIterator.ts';\nexport type { ArchiveSource, SevenZipEntry } from './sevenz/index.ts';\nexport { SevenZipParser } from './sevenz/index.ts';\nexport * from './types.ts';\n"],"names":["SevenZipParser","default"],"mappings":";;;;;;;;;;;QAESA;eAAAA,uBAAc;;QAFdC;eAAAA,2BAAO;;;yEAAQ;uBAEO;qBACjB"}