@push.rocks/smartarchive 5.0.1 → 5.2.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 (80) hide show
  1. package/dist_ts/00_commitinfo_data.js +2 -2
  2. package/dist_ts/classes.archiveanalyzer.d.ts +1 -1
  3. package/dist_ts/classes.archiveanalyzer.js +34 -4
  4. package/dist_ts/classes.smartarchive.d.ts +4 -4
  5. package/dist_ts/classes.smartarchive.js +45 -26
  6. package/dist_ts/classes.tartools.d.ts +74 -23
  7. package/dist_ts/classes.tartools.js +190 -139
  8. package/dist_ts/index.d.ts +2 -6
  9. package/dist_ts/index.js +7 -11
  10. package/dist_ts/paths.js +1 -1
  11. package/dist_ts/plugins.d.ts +4 -9
  12. package/dist_ts/plugins.js +9 -13
  13. package/{dist_ts → dist_ts_shared}/bzip2/bititerator.d.ts +1 -1
  14. package/dist_ts_shared/bzip2/bititerator.js +50 -0
  15. package/{dist_ts → dist_ts_shared}/bzip2/bzip2.d.ts +2 -2
  16. package/{dist_ts → dist_ts_shared}/bzip2/bzip2.js +1 -1
  17. package/{dist_ts → dist_ts_shared}/bzip2/index.d.ts +1 -1
  18. package/dist_ts_shared/bzip2/index.js +92 -0
  19. package/dist_ts_shared/classes.bzip2tools.d.ts +10 -0
  20. package/dist_ts_shared/classes.bzip2tools.js +14 -0
  21. package/dist_ts_shared/classes.gziptools.d.ts +26 -0
  22. package/dist_ts_shared/classes.gziptools.js +38 -0
  23. package/dist_ts_shared/classes.tartools.d.ts +30 -0
  24. package/dist_ts_shared/classes.tartools.js +78 -0
  25. package/dist_ts_shared/classes.ziptools.d.ts +31 -0
  26. package/dist_ts_shared/classes.ziptools.js +103 -0
  27. package/{dist_ts → dist_ts_shared}/errors.js +1 -1
  28. package/dist_ts_shared/index.d.ts +8 -0
  29. package/dist_ts_shared/index.js +14 -0
  30. package/{dist_ts → dist_ts_shared}/interfaces.d.ts +17 -7
  31. package/{dist_ts → dist_ts_shared}/interfaces.js +1 -1
  32. package/dist_ts_shared/plugins.d.ts +9 -0
  33. package/dist_ts_shared/plugins.js +14 -0
  34. package/dist_ts_web/00_commitinfo_data.d.ts +8 -0
  35. package/dist_ts_web/00_commitinfo_data.js +9 -0
  36. package/dist_ts_web/index.d.ts +1 -0
  37. package/dist_ts_web/index.js +4 -0
  38. package/dist_ts_web/plugins.d.ts +1 -0
  39. package/dist_ts_web/plugins.js +4 -0
  40. package/npmextra.json +13 -7
  41. package/package.json +24 -13
  42. package/readme.md +154 -46
  43. package/ts/00_commitinfo_data.ts +1 -1
  44. package/ts/classes.archiveanalyzer.ts +33 -5
  45. package/ts/classes.smartarchive.ts +48 -27
  46. package/ts/classes.tartools.ts +217 -153
  47. package/ts/index.ts +7 -11
  48. package/ts/plugins.ts +8 -16
  49. package/{ts → ts_shared}/bzip2/bititerator.ts +1 -1
  50. package/{ts → ts_shared}/bzip2/bzip2.ts +2 -2
  51. package/{ts → ts_shared}/bzip2/index.ts +6 -6
  52. package/ts_shared/classes.bzip2tools.ts +14 -0
  53. package/ts_shared/classes.gziptools.ts +42 -0
  54. package/ts_shared/classes.tartools.ts +89 -0
  55. package/ts_shared/classes.ziptools.ts +107 -0
  56. package/ts_shared/index.ts +17 -0
  57. package/{ts → ts_shared}/interfaces.ts +18 -7
  58. package/ts_shared/plugins.ts +22 -0
  59. package/ts_web/00_commitinfo_data.ts +8 -0
  60. package/ts_web/index.ts +4 -0
  61. package/ts_web/plugins.ts +3 -0
  62. package/dist_ts/bzip2/bititerator.js +0 -50
  63. package/dist_ts/bzip2/index.js +0 -92
  64. package/dist_ts/classes.bzip2tools.d.ts +0 -7
  65. package/dist_ts/classes.bzip2tools.js +0 -11
  66. package/dist_ts/classes.gziptools.d.ts +0 -53
  67. package/dist_ts/classes.gziptools.js +0 -116
  68. package/dist_ts/classes.ziptools.d.ts +0 -56
  69. package/dist_ts/classes.ziptools.js +0 -171
  70. package/dist_ts/smartarchive.classes.smartarchive.d.ts +0 -34
  71. package/dist_ts/smartarchive.classes.smartarchive.js +0 -116
  72. package/dist_ts/smartarchive.paths.d.ts +0 -2
  73. package/dist_ts/smartarchive.paths.js +0 -4
  74. package/dist_ts/smartarchive.plugins.d.ts +0 -14
  75. package/dist_ts/smartarchive.plugins.js +0 -19
  76. package/ts/classes.bzip2tools.ts +0 -16
  77. package/ts/classes.gziptools.ts +0 -138
  78. package/ts/classes.ziptools.ts +0 -196
  79. /package/{dist_ts → dist_ts_shared}/errors.d.ts +0 -0
  80. /package/{ts → ts_shared}/errors.ts +0 -0
@@ -1,116 +0,0 @@
1
- import * as plugins from './plugins.js';
2
- /**
3
- * Transform stream for GZIP compression using fflate
4
- */
5
- export class GzipCompressionTransform extends plugins.stream.Transform {
6
- constructor(level = 6) {
7
- super();
8
- // Create a streaming Gzip compressor
9
- this.gzip = new plugins.fflate.Gzip({ level }, (chunk, final) => {
10
- this.push(Buffer.from(chunk));
11
- if (final) {
12
- this.push(null);
13
- }
14
- });
15
- }
16
- _transform(chunk, encoding, callback) {
17
- try {
18
- this.gzip.push(chunk, false);
19
- callback();
20
- }
21
- catch (err) {
22
- callback(err);
23
- }
24
- }
25
- _flush(callback) {
26
- try {
27
- this.gzip.push(new Uint8Array(0), true);
28
- callback();
29
- }
30
- catch (err) {
31
- callback(err);
32
- }
33
- }
34
- }
35
- /**
36
- * Transform stream for GZIP decompression using fflate
37
- */
38
- export class GzipDecompressionTransform extends plugins.stream.Transform {
39
- constructor() {
40
- super();
41
- // Create a streaming Gunzip decompressor
42
- this.gunzip = new plugins.fflate.Gunzip((chunk, final) => {
43
- this.push(Buffer.from(chunk));
44
- if (final) {
45
- this.push(null);
46
- }
47
- });
48
- }
49
- _transform(chunk, encoding, callback) {
50
- try {
51
- this.gunzip.push(chunk, false);
52
- callback();
53
- }
54
- catch (err) {
55
- callback(err);
56
- }
57
- }
58
- _flush(callback) {
59
- try {
60
- this.gunzip.push(new Uint8Array(0), true);
61
- callback();
62
- }
63
- catch (err) {
64
- callback(err);
65
- }
66
- }
67
- }
68
- /**
69
- * GZIP compression and decompression utilities
70
- */
71
- export class GzipTools {
72
- /**
73
- * Get a streaming compression transform
74
- */
75
- getCompressionStream(level) {
76
- return new GzipCompressionTransform(level);
77
- }
78
- /**
79
- * Get a streaming decompression transform
80
- */
81
- getDecompressionStream() {
82
- return new GzipDecompressionTransform();
83
- }
84
- /**
85
- * Compress data synchronously
86
- */
87
- compressSync(data, level) {
88
- const options = level !== undefined ? { level } : undefined;
89
- return Buffer.from(plugins.fflate.gzipSync(data, options));
90
- }
91
- /**
92
- * Decompress data synchronously
93
- */
94
- decompressSync(data) {
95
- return Buffer.from(plugins.fflate.gunzipSync(data));
96
- }
97
- /**
98
- * Compress data asynchronously
99
- * Note: Uses sync version for Deno compatibility (fflate async uses Web Workers
100
- * which have issues in Deno)
101
- */
102
- async compress(data, level) {
103
- // Use sync version wrapped in Promise for cross-runtime compatibility
104
- return this.compressSync(data, level);
105
- }
106
- /**
107
- * Decompress data asynchronously
108
- * Note: Uses sync version for Deno compatibility (fflate async uses Web Workers
109
- * which have issues in Deno)
110
- */
111
- async decompress(data) {
112
- // Use sync version wrapped in Promise for cross-runtime compatibility
113
- return this.decompressSync(data);
114
- }
115
- }
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5nemlwdG9vbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jbGFzc2VzLmd6aXB0b29scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUd4Qzs7R0FFRztBQUNILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVM7SUFHcEUsWUFBWSxRQUEyQixDQUFDO1FBQ3RDLEtBQUssRUFBRSxDQUFDO1FBRVIscUNBQXFDO1FBQ3JDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQzlELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzlCLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUNSLEtBQWEsRUFDYixRQUF3QixFQUN4QixRQUEwQztRQUUxQyxJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDN0IsUUFBUSxFQUFFLENBQUM7UUFDYixDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLFFBQVEsQ0FBQyxHQUFZLENBQUMsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUEwQztRQUMvQyxJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMs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
@@ -1,56 +0,0 @@
1
- import * as plugins from './plugins.js';
2
- import type { IArchiveEntry, TCompressionLevel } from './interfaces.js';
3
- /**
4
- * Transform stream for ZIP decompression using fflate
5
- * Emits StreamFile objects for each file in the archive
6
- */
7
- export declare class ZipDecompressionTransform extends plugins.smartstream.SmartDuplex<Buffer, plugins.smartfile.StreamFile> {
8
- private streamtools;
9
- private unzipper;
10
- constructor();
11
- }
12
- /**
13
- * Streaming ZIP compression using fflate
14
- * Allows adding multiple entries before finalizing
15
- */
16
- export declare class ZipCompressionStream extends plugins.stream.Duplex {
17
- private files;
18
- private finalized;
19
- constructor();
20
- /**
21
- * Add a file entry to the ZIP archive
22
- */
23
- addEntry(fileName: string, content: Buffer | plugins.stream.Readable, options?: {
24
- compressionLevel?: TCompressionLevel;
25
- }): Promise<void>;
26
- /**
27
- * Finalize the ZIP archive and emit the compressed data
28
- */
29
- finalize(): Promise<void>;
30
- _read(): void;
31
- _write(_chunk: Buffer, _encoding: BufferEncoding, callback: (error?: Error | null) => void): void;
32
- }
33
- /**
34
- * ZIP compression and decompression utilities
35
- */
36
- export declare class ZipTools {
37
- /**
38
- * Get a streaming compression object for creating ZIP archives
39
- */
40
- getCompressionStream(): ZipCompressionStream;
41
- /**
42
- * Get a streaming decompression transform for extracting ZIP archives
43
- */
44
- getDecompressionStream(): ZipDecompressionTransform;
45
- /**
46
- * Create a ZIP archive from an array of entries
47
- */
48
- createZip(entries: IArchiveEntry[], compressionLevel?: TCompressionLevel): Promise<Buffer>;
49
- /**
50
- * Extract a ZIP buffer to an array of entries
51
- */
52
- extractZip(data: Buffer): Promise<Array<{
53
- path: string;
54
- content: Buffer;
55
- }>>;
56
- }
@@ -1,171 +0,0 @@
1
- import * as plugins from './plugins.js';
2
- /**
3
- * Transform stream for ZIP decompression using fflate
4
- * Emits StreamFile objects for each file in the archive
5
- */
6
- export class ZipDecompressionTransform extends plugins.smartstream.SmartDuplex {
7
- constructor() {
8
- super({
9
- objectMode: true,
10
- writeFunction: async (chunkArg, streamtoolsArg) => {
11
- this.streamtools ? null : (this.streamtools = streamtoolsArg);
12
- this.unzipper.push(Buffer.isBuffer(chunkArg) ? chunkArg : Buffer.from(chunkArg), false);
13
- return null;
14
- },
15
- finalFunction: async () => {
16
- this.unzipper.push(Buffer.from(''), true);
17
- await plugins.smartdelay.delayFor(0);
18
- await this.streamtools.push(null);
19
- return null;
20
- },
21
- });
22
- this.unzipper = new plugins.fflate.Unzip(async (fileArg) => {
23
- let resultBuffer;
24
- fileArg.ondata = async (_flateError, dat, final) => {
25
- resultBuffer
26
- ? (resultBuffer = Buffer.concat([resultBuffer, Buffer.from(dat)]))
27
- : (resultBuffer = Buffer.from(dat));
28
- if (final) {
29
- const streamFile = plugins.smartfile.StreamFile.fromBuffer(resultBuffer);
30
- streamFile.relativeFilePath = fileArg.name;
31
- this.streamtools.push(streamFile);
32
- }
33
- };
34
- fileArg.start();
35
- });
36
- this.unzipper.register(plugins.fflate.UnzipInflate);
37
- }
38
- }
39
- /**
40
- * Streaming ZIP compression using fflate
41
- * Allows adding multiple entries before finalizing
42
- */
43
- export class ZipCompressionStream extends plugins.stream.Duplex {
44
- constructor() {
45
- super();
46
- this.files = new Map();
47
- this.finalized = false;
48
- }
49
- /**
50
- * Add a file entry to the ZIP archive
51
- */
52
- async addEntry(fileName, content, options) {
53
- if (this.finalized) {
54
- throw new Error('Cannot add entries to a finalized ZIP archive');
55
- }
56
- let data;
57
- if (Buffer.isBuffer(content)) {
58
- data = content;
59
- }
60
- else {
61
- // Collect stream to buffer
62
- const chunks = [];
63
- for await (const chunk of content) {
64
- chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
65
- }
66
- data = Buffer.concat(chunks);
67
- }
68
- this.files.set(fileName, {
69
- data: new Uint8Array(data),
70
- options: options?.compressionLevel !== undefined ? { level: options.compressionLevel } : undefined,
71
- });
72
- }
73
- /**
74
- * Finalize the ZIP archive and emit the compressed data
75
- */
76
- async finalize() {
77
- if (this.finalized) {
78
- return;
79
- }
80
- this.finalized = true;
81
- const filesObj = {};
82
- for (const [name, { data, options }] of this.files) {
83
- filesObj[name] = options ? [data, options] : data;
84
- }
85
- // Use sync version for Deno compatibility (fflate async uses Web Workers)
86
- try {
87
- const result = plugins.fflate.zipSync(filesObj);
88
- this.push(Buffer.from(result));
89
- this.push(null);
90
- }
91
- catch (err) {
92
- throw err;
93
- }
94
- }
95
- _read() {
96
- // No-op: data is pushed when finalize() is called
97
- }
98
- _write(_chunk, _encoding, callback) {
99
- // Not used for ZIP creation - use addEntry() instead
100
- callback(new Error('Use addEntry() to add files to the ZIP archive'));
101
- }
102
- }
103
- /**
104
- * ZIP compression and decompression utilities
105
- */
106
- export class ZipTools {
107
- /**
108
- * Get a streaming compression object for creating ZIP archives
109
- */
110
- getCompressionStream() {
111
- return new ZipCompressionStream();
112
- }
113
- /**
114
- * Get a streaming decompression transform for extracting ZIP archives
115
- */
116
- getDecompressionStream() {
117
- return new ZipDecompressionTransform();
118
- }
119
- /**
120
- * Create a ZIP archive from an array of entries
121
- */
122
- async createZip(entries, compressionLevel) {
123
- const filesObj = {};
124
- for (const entry of entries) {
125
- let data;
126
- if (typeof entry.content === 'string') {
127
- data = new TextEncoder().encode(entry.content);
128
- }
129
- else if (Buffer.isBuffer(entry.content)) {
130
- data = new Uint8Array(entry.content);
131
- }
132
- else if (entry.content instanceof plugins.smartfile.SmartFile) {
133
- data = new Uint8Array(entry.content.contents);
134
- }
135
- else if (entry.content instanceof plugins.smartfile.StreamFile) {
136
- const buffer = await entry.content.getContentAsBuffer();
137
- data = new Uint8Array(buffer);
138
- }
139
- else {
140
- // Readable stream
141
- const chunks = [];
142
- for await (const chunk of entry.content) {
143
- chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
144
- }
145
- data = new Uint8Array(Buffer.concat(chunks));
146
- }
147
- if (compressionLevel !== undefined) {
148
- filesObj[entry.archivePath] = [data, { level: compressionLevel }];
149
- }
150
- else {
151
- filesObj[entry.archivePath] = data;
152
- }
153
- }
154
- // Use sync version for Deno compatibility (fflate async uses Web Workers)
155
- const result = plugins.fflate.zipSync(filesObj);
156
- return Buffer.from(result);
157
- }
158
- /**
159
- * Extract a ZIP buffer to an array of entries
160
- */
161
- async extractZip(data) {
162
- // Use sync version for Deno compatibility (fflate async uses Web Workers)
163
- const result = plugins.fflate.unzipSync(data);
164
- const entries = [];
165
- for (const [path, content] of Object.entries(result)) {
166
- entries.push({ path, content: Buffer.from(content) });
167
- }
168
- return entries;
169
- }
170
- }
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy56aXB0b29scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2NsYXNzZXMuemlwdG9vbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFHeEM7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHlCQUEwQixTQUFRLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBaUQ7SUFpQmxIO1FBQ0UsS0FBSyxDQUFDO1lBQ0osVUFBVSxFQUFFLElBQUk7WUFDaEIsYUFBYSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQyxDQUFDO2dCQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQWtDLENBQUMsRUFDdEYsS0FBSyxDQUNOLENBQUM7Z0JBQ0YsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1lBQ0QsYUFBYSxFQUFFLEtBQUssSUFBSSxFQUFFO2dCQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUMxQyxNQUFNLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyQyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNsQyxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7U0FDRixDQUFDLENBQUM7UUFoQ0csYUFBUSxHQUFHLElBQUksT0FB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
@@ -1,34 +0,0 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- import * as plugins from './smartarchive.plugins.js';
3
- export declare class SmartArchive {
4
- constructor();
5
- /**
6
- * extracts an archive from a given url
7
- */
8
- extractArchiveFromUrlToFs(urlArg: string, targetDir: string): Promise<void>;
9
- /**
10
- * extracts an archive from a given filePath on disk
11
- * @param filePathArg
12
- * @param targetDirArg
13
- */
14
- extractArchiveFromFilePathToFs(filePathArg: string, targetDirArg: string): Promise<void>;
15
- /**
16
- * extracts to Observable
17
- * where the Observable is emitting smartfiles
18
- */
19
- extractArchiveFromBufferToObservable(bufferArg: Buffer): Promise<plugins.smartrx.rxjs.ReplaySubject<plugins.smartfile.Smartfile>>;
20
- extractArchiveWithIntakeAndReplaySubject(): {
21
- intake: plugins.smartstream.StreamIntake<Buffer>;
22
- replaySubject: plugins.smartrx.rxjs.ReplaySubject<plugins.smartfile.Smartfile>;
23
- };
24
- /**
25
- * extracts to Observable
26
- */
27
- extractArchiveFromUrlToObservable(urlArg: string): Promise<plugins.smartrx.rxjs.ReplaySubject<plugins.smartfile.Smartfile>>;
28
- extractArchiveFromUrlToStream(): Promise<void>;
29
- extractArchiveFromFilePathToStream(): Promise<void>;
30
- extractArchiveFromStreamToStream(): Promise<void>;
31
- packFromStreamToStream(): Promise<void>;
32
- packFromDirPathToStream(): Promise<void>;
33
- packFromDirPathToFs(): Promise<void>;
34
- }
@@ -1,116 +0,0 @@
1
- import * as plugins from './smartarchive.plugins.js';
2
- import * as paths from './smartarchive.paths.js';
3
- export class SmartArchive {
4
- constructor() { }
5
- /**
6
- * extracts an archive from a given url
7
- */
8
- async extractArchiveFromUrlToFs(urlArg, targetDir) {
9
- const parsedPath = plugins.path.parse(urlArg);
10
- const uniqueFileName = plugins.smartunique.uni() + parsedPath.ext;
11
- plugins.smartfile.fs.ensureDir(paths.nogitDir); // TODO: totally remove caching needs
12
- const downloadPath = plugins.path.join(paths.nogitDir, uniqueFileName);
13
- const downloadedArchive = (await plugins.smartrequest.getBinary(urlArg)).body;
14
- await plugins.smartfile.memory.toFs(downloadedArchive, downloadPath);
15
- await this.extractArchiveFromFilePathToFs(downloadPath, targetDir);
16
- await plugins.smartfile.fs.remove(downloadPath);
17
- }
18
- /**
19
- * extracts an archive from a given filePath on disk
20
- * @param filePathArg
21
- * @param targetDirArg
22
- */
23
- async extractArchiveFromFilePathToFs(filePathArg, targetDirArg) {
24
- console.log(`extracting ${filePathArg}`);
25
- const done = plugins.smartpromise.defer();
26
- filePathArg = plugins.smartpath.transform.makeAbsolute(filePathArg);
27
- targetDirArg = plugins.smartpath.transform.makeAbsolute(targetDirArg);
28
- const readableStream = plugins.smartfile.fsStream.createReadStream(filePathArg);
29
- const extractPipeStop = plugins.tarStream.extract();
30
- extractPipeStop.on('entry', async (header, stream, next) => {
31
- const targetFilePath = plugins.path.join(targetDirArg, header.name);
32
- const parsedPath = plugins.path.parse(targetFilePath);
33
- await plugins.smartfile.fs.ensureDir(parsedPath.dir);
34
- const writeStream = plugins.smartfile.fsStream.createWriteStream(targetFilePath);
35
- stream.pipe(writeStream);
36
- stream.on('end', () => {
37
- console.log(`extracted ${header.name}`);
38
- next();
39
- });
40
- stream.resume();
41
- });
42
- extractPipeStop.on('finish', () => {
43
- console.log(`Sucessfully extracted ${filePathArg}!`);
44
- done.resolve();
45
- });
46
- // lets run the stream
47
- readableStream.pipe(plugins.gunzipMaybe()).pipe(extractPipeStop);
48
- await done.promise;
49
- }
50
- /**
51
- * extracts to Observable
52
- * where the Observable is emitting smartfiles
53
- */
54
- async extractArchiveFromBufferToObservable(bufferArg) {
55
- const { intake, replaySubject } = this.extractArchiveWithIntakeAndReplaySubject();
56
- intake.pushData(bufferArg);
57
- intake.signalEnd();
58
- return replaySubject;
59
- }
60
- extractArchiveWithIntakeAndReplaySubject() {
61
- const intake = new plugins.smartstream.StreamIntake();
62
- const replaySubject = new plugins.smartrx.rxjs.ReplaySubject();
63
- const readableStream = intake.getReadableStream();
64
- const extractPipeStop = plugins.tarStream.extract();
65
- extractPipeStop.on('entry', (header, stream, next) => {
66
- let fileBuffer;
67
- stream.on('data', (chunkArg) => {
68
- if (!fileBuffer) {
69
- fileBuffer = chunkArg;
70
- }
71
- else {
72
- fileBuffer = Buffer.concat([fileBuffer, chunkArg]);
73
- }
74
- });
75
- stream.on('end', () => {
76
- replaySubject.next(new plugins.smartfile.Smartfile({
77
- base: null,
78
- contentBuffer: fileBuffer,
79
- path: `${header.name}`,
80
- }));
81
- next();
82
- });
83
- stream.resume();
84
- });
85
- extractPipeStop.on('finish', () => {
86
- replaySubject.complete();
87
- });
88
- // lets run the stream
89
- readableStream.pipe(plugins.gunzipMaybe()).pipe(extractPipeStop);
90
- return {
91
- intake,
92
- replaySubject,
93
- };
94
- }
95
- /**
96
- * extracts to Observable
97
- */
98
- async extractArchiveFromUrlToObservable(urlArg) {
99
- const response = await plugins.smartrequest.getBinary(urlArg);
100
- const replaySubject = this.extractArchiveFromBufferToObservable(response.body);
101
- return replaySubject;
102
- }
103
- // TODO
104
- async extractArchiveFromUrlToStream() { }
105
- // TODO
106
- async extractArchiveFromFilePathToStream() { }
107
- // TODO
108
- async extractArchiveFromStreamToStream() { }
109
- // TODO
110
- async packFromStreamToStream() { }
111
- // TODO
112
- async packFromDirPathToStream() { }
113
- // TODO
114
- async packFromDirPathToFs() { }
115
- }
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRhcmNoaXZlLmNsYXNzZXMuc21hcnRhcmNoaXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRhcmNoaXZlLmNsYXNzZXMuc21hcnRhcmNoaXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxLQUFLLEtBQUssTUFBTSx5QkFBeUIsQ0FBQztBQUVqRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixnQkFBZSxDQUFDO0lBRWhCOztPQUVHO0lBQ0ksS0FBSyxDQUFDLHlCQUF5QixDQUFDLE1BQWMsRUFBRSxTQUFpQjtRQUN0RSxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QyxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFDbEUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLHFDQUFxQztRQUNyRixNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzlFLE1BQU0sT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sSUFBSSxDQUFDLDhCQUE4QixDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNuRSxNQUFNLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxD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
@@ -1,2 +0,0 @@
1
- export declare const packageDir: string;
2
- export declare const nogitDir: string;
@@ -1,4 +0,0 @@
1
- import * as plugins from './smartarchive.plugins.js';
2
- export const packageDir = plugins.path.join(plugins.smartpath.get.dirnameFromImportMetaUrl(import.meta.url), '../');
3
- export const nogitDir = plugins.path.join(packageDir, './.nogit');
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRhcmNoaXZlLnBhdGhzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRhcmNoaXZlLnBhdGhzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sMkJBQTJCLENBQUM7QUFFckQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUN6QyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUMvRCxLQUFLLENBQ04sQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUMifQ==
@@ -1,14 +0,0 @@
1
- import * as path from 'path';
2
- export { path };
3
- import * as smartfile from '@push.rocks/smartfile';
4
- import * as smartpath from '@push.rocks/smartpath';
5
- import * as smartpromise from '@push.rocks/smartpromise';
6
- import * as smartrequest from '@push.rocks/smartrequest';
7
- import * as smartunique from '@push.rocks/smartunique';
8
- import * as smartstream from '@push.rocks/smartstream';
9
- import * as smartrx from '@push.rocks/smartrx';
10
- export { smartfile, smartpath, smartpromise, smartrequest, smartunique, smartstream, smartrx };
11
- import gunzipMaybe from 'gunzip-maybe';
12
- import tar from 'tar';
13
- import tarStream from 'tar-stream';
14
- export { gunzipMaybe, tar, tarStream };
@@ -1,19 +0,0 @@
1
- // node native scope
2
- import * as path from 'path';
3
- export { path };
4
- // @pushrocks scope
5
- import * as smartfile from '@push.rocks/smartfile';
6
- import * as smartpath from '@push.rocks/smartpath';
7
- import * as smartpromise from '@push.rocks/smartpromise';
8
- import * as smartrequest from '@push.rocks/smartrequest';
9
- import * as smartunique from '@push.rocks/smartunique';
10
- import * as smartstream from '@push.rocks/smartstream';
11
- import * as smartrx from '@push.rocks/smartrx';
12
- export { smartfile, smartpath, smartpromise, smartrequest, smartunique, smartstream, smartrx };
13
- // third party scope
14
- import gunzipMaybe from 'gunzip-maybe';
15
- // @ts-ignore
16
- import tar from 'tar';
17
- import tarStream from 'tar-stream';
18
- export { gunzipMaybe, tar, tarStream };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRhcmNoaXZlLnBsdWdpbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9zbWFydGFyY2hpdmUucGx1Z2lucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQkFBb0I7QUFDcEIsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFFN0IsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO0FBRWhCLG1CQUFtQjtBQUNuQixPQUFPLEtBQUssU0FBUyxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sS0FBSyxTQUFTLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxLQUFLLFlBQVksTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEtBQUssWUFBWSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sS0FBSyxXQUFXLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxLQUFLLFdBQVcsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEtBQUssT0FBTyxNQUFNLHFCQUFxQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsQ0FBQztBQUUvRixvQkFBb0I7QUFDcEIsT0FBTyxXQUFXLE1BQU0sY0FBYyxDQUFDO0FBRXZDLGFBQWE7QUFDYixPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFDdEIsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBRW5DLE9BQU8sRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxDQUFDIn0=
@@ -1,16 +0,0 @@
1
- import type { SmartArchive } from './classes.smartarchive.js';
2
- import * as plugins from './plugins.js';
3
-
4
- import { unbzip2Stream } from './bzip2/index.js';
5
-
6
- export class Bzip2Tools {
7
- smartArchiveRef: SmartArchive;
8
-
9
- constructor(smartArchiveRefArg: SmartArchive) {
10
- this.smartArchiveRef = smartArchiveRefArg;
11
- }
12
-
13
- getDecompressionStream() {
14
- return unbzip2Stream();
15
- }
16
- }