Compare commits

...

4 Commits

Author SHA1 Message Date
5d94efb9ee 4.0.22 2024-03-17 00:42:19 +01:00
c978ca107b fix(core): update 2024-03-17 00:42:19 +01:00
876c8ce9d8 4.0.21 2024-03-17 00:35:18 +01:00
7327bf1bd0 fix(core): update 2024-03-17 00:35:17 +01:00
4 changed files with 10 additions and 7 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "@push.rocks/smartarchive", "name": "@push.rocks/smartarchive",
"version": "4.0.20", "version": "4.0.22",
"description": "work with archives", "description": "work with archives",
"main": "dist_ts/index.js", "main": "dist_ts/index.js",
"typings": "dist_ts/index.d.ts", "typings": "dist_ts/index.d.ts",

View File

@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@push.rocks/smartarchive', name: '@push.rocks/smartarchive',
version: '4.0.20', version: '4.0.22',
description: 'work with archives' description: 'work with archives'
} }

View File

@ -82,10 +82,10 @@ export class SmartArchive {
streamFileStream.pipe( streamFileStream.pipe(
new plugins.smartstream.SmartDuplex({ new plugins.smartstream.SmartDuplex({
objectMode: true, objectMode: true,
writeFunction: async (chunkArg: plugins.smartfile.StreamFile, streamtools) => { writeFunction: async (streamFileArg: plugins.smartfile.StreamFile, streamtools) => {
const done = plugins.smartpromise.defer<void>(); const done = plugins.smartpromise.defer<void>();
console.log(chunkArg.relativeFilePath ? chunkArg.relativeFilePath : 'no relative path'); console.log(streamFileArg.relativeFilePath ? streamFileArg.relativeFilePath : 'no relative path');
const streamFile = chunkArg; const streamFile = streamFileArg;
const readStream = await streamFile.createReadStream(); const readStream = await streamFile.createReadStream();
await plugins.smartfile.fs.ensureDir(targetDir); await plugins.smartfile.fs.ensureDir(targetDir);
const writePath = plugins.path.join( const writePath = plugins.path.join(
@ -141,6 +141,9 @@ export class SmartArchive {
writeFunction: async (streamFileArg: plugins.smartfile.StreamFile, streamtools) => { writeFunction: async (streamFileArg: plugins.smartfile.StreamFile, streamtools) => {
streamFileIntake.push(streamFileArg); streamFileIntake.push(streamFileArg);
}, },
finalFunction: async () => {
streamFileIntake.signalEnd();
}
})); }));
} else if (analyzedResultChunk.isArchive && analyzedResultChunk.decompressionStream) { } else if (analyzedResultChunk.isArchive && analyzedResultChunk.decompressionStream) {
analyzedResultChunk.resultStream analyzedResultChunk.resultStream

View File

@ -11,7 +11,7 @@ class DecompressZipTransform extends plugins.smartstream.SmartDuplex<ArrayBuffer
if (final) { if (final) {
const streamFile = plugins.smartfile.StreamFile.fromBuffer(resultBuffer); const streamFile = plugins.smartfile.StreamFile.fromBuffer(resultBuffer);
streamFile.relativeFilePath = fileArg.name; streamFile.relativeFilePath = fileArg.name;
this.streamtools.push(fileArg); this.streamtools.push(streamFile);
} }
} }
fileArg.start(); fileArg.start();
@ -26,7 +26,7 @@ class DecompressZipTransform extends plugins.smartstream.SmartDuplex<ArrayBuffer
finalFunction: async () => { finalFunction: async () => {
this.unzipper.push(Buffer.from(''), true); this.unzipper.push(Buffer.from(''), true);
await plugins.smartdelay.delayFor(0); await plugins.smartdelay.delayFor(0);
this.streamtools.push(null); await this.streamtools.push(null);
} }
}); });
this.unzipper.register(plugins.fflate.UnzipInflate); this.unzipper.register(plugins.fflate.UnzipInflate);