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.

Relaterte artikler