diff --git a/test/test.ts b/test/test.ts index d4178a5..49cdc7c 100644 --- a/test/test.ts +++ b/test/test.ts @@ -60,23 +60,35 @@ tap.test('should extract a package using tarStream', async (tools) => { const extractionFileObservable = await testSmartarchive.extractArchiveFromBufferToObservable( testTgzBuffer ); - const subscription = extractionFileObservable.subscribe(file => { - console.log(file.path); - }); - await tools.delayFor(2000); - done.resolve(); + const subscription = extractionFileObservable.subscribe( + (file) => { + console.log(file.path); + }, + (err) => { + console.log(err); + }, + () => { + done.resolve(); + } + ); await done.promise; }); tap.test('should extract a file from url to replaySubject', async (tools) => { const done = tools.defer(); const testSmartarchive = new smartarchive.SmartArchive(); - const extractionFileObservable = await testSmartarchive.extractArchiveFromUrlToObservable('https://verdaccio.lossless.one/@pushrocks%2fwebsetup/-/websetup-2.0.14.tgz'); - const subscription = extractionFileObservable.subscribe(file => { + const extractionFileObservable = await testSmartarchive.extractArchiveFromUrlToObservable( + 'https://verdaccio.lossless.one/@pushrocks%2fwebsetup/-/websetup-2.0.14.tgz' + ); + const subscription = extractionFileObservable.subscribe((file) => { console.log(file.path); + }, + (err) => { + console.log(err); + }, + () => { + done.resolve(); }); - await tools.delayFor(2000); - done.resolve(); await done.promise; }); diff --git a/ts/smartarchive.classes.smartarchive.ts b/ts/smartarchive.classes.smartarchive.ts index 7009903..d8cce50 100644 --- a/ts/smartarchive.classes.smartarchive.ts +++ b/ts/smartarchive.classes.smartarchive.ts @@ -68,7 +68,7 @@ export class SmartArchive { stream.resume(); }); extractPipeStop.on('finish', () => { - replaySubject.unsubscribe(); + replaySubject.complete(); }); // lets run the stream readableStream