node.js - Hva bør typen til createReadStream være i TypeScript?
Jeg prøver å bruke TypeScript. Hva bør typen til createReadStream være? Jeg har funnet typedeklarasjonen fra fs.d.ts-filen fra denne DefinitelyTyped-lenken på GitHub
OPPDATER
det jeg prøver å gjøre er å laste opp en fil fra frontend. På backend (basert på node), mottar jeg et filobjekt. Ved å destrukturere filobjektet, får jeg følgende.
const { createReadStream, filename, mimetype, encoding } = await file;
Er det noen måte jeg kan bruke denne typen på?
oppdatert spørsmål
Nå, hvordan bør jeg legge til typen til fil-objektet som jeg mottar i funksjonsparameteren til funksjonen gitt nedenfor?
export const processUpload = async (file, DestinationDir) {
}
Type funnet i den offisielle node/fs.d.ts-filen
function createReadStream(path: PathLike, options?: string | {
flags?: string;
encoding?: string;
fd?: number;
mode?: number;
autoClose?: boolean;
/**
* @default false
*/
emitClose?: boolean;
start?: number;
end?: number;
highWaterMark?: number;
}): ReadStream;
Kodeeksempel
export const processUpload = async (
file:
| PromiseLike<{
createReadStream: /** WHAT SHOULD BE THE TYPE */;
filename: string;
mimetype: string;
encoding: string;
}>
| {
createReadStream: /** WHAT SHOULD BE THE TYPE */;
filename: string;
mimetype: string;
encoding: string;
},
{ DestinationDir = "default" }: { DestinationDir: string }
) => {
const { createReadStream, filename, mimetype, encoding } = await file;
const stream = createReadStream();
/** SOME CODE */
return /*SOME RETURN TYPE*/
};
Svar #1
Jeg tror du kan bruke dette:
import { ReadStream } from "fs-capacitor";
export interface FileUpload {
createReadStream(): ReadStream;
filename: string;
mimetype: string;
encoding: string;
}
Svar #2
fs.createReadStream returnerer et ReadStream-objekt. I tillegg forventer ikke TypeScript at du oppgir en type for fs.createReadStream.
