tibi-starter/docs/md/server-javascript-kontext/packages/fs.md
2024-02-13 16:36:09 +00:00

2.6 KiB

fs

Das FsPackage-Interface bietet Funktionen zur Datei- und Verzeichnisverwaltung. Es beinhaltet folgende Methoden:

  • configDir(): string: Diese Methode gibt den Pfad zum Verzeichnis der API-Konfigurationsdatei zurück.

  • readFile(path: string, options?: {}): string | any: Diese Methode nimmt einen relativen Pfad zu einer Datei und optionale Leseoptionen entgegen und gibt den Inhalt dieser Datei zurück. Die Optionen können steuern, ob der Inhalt als Byte-Array oder als Zeichenkette zurückgegeben wird.

  • writeFile(path: string, data: string | any): null: Diese Methode nimmt einen relativen Pfad zu einer Datei und Daten entgegen und schreibt diese Daten in die Datei.

  • stat(path: string): {}: Diese Methode nimmt einen Pfad zu einer Datei oder einem Verzeichnis entgegen und gibt Informationen über diese Datei oder dieses Verzeichnis zurück.

  • readDir(path: string): {}[]: Diese Methode nimmt einen Pfad zu einem Verzeichnis entgegen und gibt eine Liste der darin enthaltenen Dateien und Verzeichnisse zurück.

  • mkDir(path: string): void: Diese Methode nimmt einen Pfad entgegen und erstellt an diesem Ort ein neues Verzeichnis.

  • remove(path: string): void: Diese Methode nimmt einen Pfad entgegen und löscht die Datei oder das leere Verzeichnis an diesem Pfad.

interface FsPackage {
    /**
     * get directory path of api config file
     *
     */
    configDir(): string

    /**
     * read a file relative to config dir and return its content
     *
     * @param path relative file path
     * @param options optional options
     */
    readFile(
        path: string,
        options?: {
            bytes: boolean // if true return []byte instead of string
        }
    ): string | any

    /**
     * write data to a file relative to config dir
     *
     * @param path relative file path
     * @param data string or []byte data
     */
    writeFile(path: string, data: string | any): null

    /**
     * stat file or directory
     *
     * @param path
     */
    stat(path: string): {
        name: string
        size: number
        isDir: boolean
        modTime: string
    }

    /**
     * list directory entries
     *
     * @param path
     */
    readDir(path: string): {
        name: string
        size: number
        isDir: boolean
        modTime: string
    }[]

    /**
     * make directory and all missing sub directories, no error if directory already exists
     *
     * @param path
     */
    mkDir(path: string): void

    /**
     * remove file or empty directory
     *
     * @param path
     */
    remove(path: string): void
}