From 67ee15c40e2d3c8ade9d5ea70cfa62ba77d015aa Mon Sep 17 00:00:00 2001 From: Jeremy Kahn Date: Sat, 18 Feb 2023 13:45:52 -0600 Subject: [PATCH] refactor: type readable-stream-node-to-web --- src/react-app-env.d.ts | 8 ++++++++ src/services/FileTransfer/FileTransfer.ts | 6 ++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/react-app-env.d.ts b/src/react-app-env.d.ts index 73b8adf..85775b7 100644 --- a/src/react-app-env.d.ts +++ b/src/react-app-env.d.ts @@ -206,3 +206,11 @@ declare module 'idb-chunk-store' { TorrentOptions.store ): ChunkStore } + +declare module 'readable-stream-node-to-web' { + export const WEBSTREAM_SUPPORT: boolean + + export default function nodeToWeb( + readableStream: NodeJS.ReadableStream + ): ReadableStream +} diff --git a/src/services/FileTransfer/FileTransfer.ts b/src/services/FileTransfer/FileTransfer.ts index ebed0c4..b016b5a 100644 --- a/src/services/FileTransfer/FileTransfer.ts +++ b/src/services/FileTransfer/FileTransfer.ts @@ -3,13 +3,11 @@ import streamSaver from 'streamsaver' import { Keychain, plaintextSize, encryptedSize } from 'wormhole-crypto' import idbChunkStore from 'idb-chunk-store' import { detectIncognito } from 'detectincognitojs' +import nodeToWebStream from 'readable-stream-node-to-web' import { trackerUrls } from 'config/trackerUrls' import { streamSaverUrl } from 'config/streamSaverUrl' -// @ts-ignore -import nodeToWebStream from 'readable-stream-node-to-web' - streamSaver.mitm = streamSaverUrl const getKeychain = (password: string) => { @@ -59,7 +57,7 @@ export class FileTransfer { const keychain = getKeychain(password) const decryptedStream: ReadableStream = await keychain.decryptStream( - new nodeToWebStream(file.createReadStream()) + nodeToWebStream(file.createReadStream()) ) return decryptedStream