This commit is contained in:
Manav Rathi
2024-07-31 12:34:30 +05:30
parent 5a3838be34
commit 3a5843f532
2 changed files with 10 additions and 10 deletions

View File

@@ -1,4 +1,5 @@
import { basename } from "@/base/file";
import type { ElectronMLWorker } from "@/base/types/ipc";
import { FileType } from "@/media/file-type";
import { decodeLivePhoto } from "@/media/live-photo";
import { ensure } from "@/utils/ensure";
@@ -7,7 +8,6 @@ import { renderableImageBlob } from "../../utils/file";
import { readStream } from "../../utils/native-stream";
import DownloadManager from "../download";
import type { UploadItem } from "../upload/types";
import type { MLWorkerElectron } from "./worker-types";
/**
* A pair of blobs - the original, and a possibly converted "renderable" one -
@@ -103,13 +103,14 @@ export const imageBitmapAndData = async (
* be set to the {@link UploadItem} that was uploaded. This way, we can directly
* use the on-disk file instead of needing to download the original from remote.
*
* @param electron The {@link MLWorkerElectron} instance that allows us to call
* our Node.js layer for various functionality.
* @param electron The {@link ElectronMLWorker} instance that stands as a
* witness that we're actually running in our desktop app (and thus can safely
* call our Node.js layer for various functionality).
*/
export const indexableBlobs = async (
enteFile: EnteFile,
uploadItem: UploadItem | undefined,
electron: MLWorkerElectron,
electron: ElectronMLWorker,
): Promise<IndexableBlobs> =>
uploadItem
? await indexableUploadItemBlobs(enteFile, uploadItem, electron)
@@ -118,7 +119,7 @@ export const indexableBlobs = async (
const indexableUploadItemBlobs = async (
enteFile: EnteFile,
uploadItem: UploadItem,
electron: MLWorkerElectron,
electron: ElectronMLWorker,
) => {
const fileType = enteFile.metadata.fileType;
let originalImageBlob: Blob | undefined;
@@ -149,7 +150,7 @@ const indexableUploadItemBlobs = async (
*/
const readNonVideoUploadItem = async (
uploadItem: UploadItem,
electron: MLWorkerElectron,
electron: ElectronMLWorker,
): Promise<File> => {
if (typeof uploadItem == "string" || Array.isArray(uploadItem)) {
const { response, lastModifiedMs } = await readStream(

View File

@@ -6,8 +6,7 @@
* See: [Note: IPC streams].
*/
import type { Electron, ZipItem } from "@/base/types/ipc";
import type { MLWorkerElectron } from "../services/ml/worker-types";
import type { Electron, ElectronMLWorker, ZipItem } from "@/base/types/ipc";
/**
* Stream the given file or zip entry from the user's local file system.
@@ -18,7 +17,7 @@ import type { MLWorkerElectron } from "../services/ml/worker-types";
*
* To avoid accidentally invoking it in a non-desktop app context, it requires
* the {@link Electron} (or a functionally similar) object as a parameter (even
* though it doesn't use it).
* though it doesn't need or use it).
*
* @param pathOrZipItem Either the path on the file on the user's local file
* system whose contents we want to stream. Or a tuple containing the path to a
@@ -36,7 +35,7 @@ import type { MLWorkerElectron } from "../services/ml/worker-types";
* reading, expressed as epoch milliseconds.
*/
export const readStream = async (
_: Electron | MLWorkerElectron,
_: Electron | ElectronMLWorker,
pathOrZipItem: string | ZipItem,
): Promise<{ response: Response; size: number; lastModifiedMs: number }> => {
let url: URL;