76 lines
2.1 KiB
TypeScript
76 lines
2.1 KiB
TypeScript
import type { Stats } from 'fs';
|
|
|
|
|
|
// (async) Reads a whole file to string, NOT A Buffer
|
|
export const read: (name: string) => Promise<string>;
|
|
|
|
|
|
// (async) Write a file
|
|
export const write: (name: string, text: string) => Promise<void>;
|
|
|
|
|
|
// (async) Copy a file
|
|
export const copy: (src: string, dest: string) => Promise<void>;
|
|
|
|
|
|
// (async) Check if a file/folder exists
|
|
export const exists: (name: string) => Promise<boolean>;
|
|
|
|
|
|
// (async) Create an empty folder
|
|
export const mkdir: (name: string) => Promise<void>;
|
|
|
|
|
|
// (async) Get status on a file
|
|
export const stat: (name: string) => Promise<Stats>;
|
|
|
|
|
|
// (async) Check if the path is a folder
|
|
export const isDir: (name: string) => Promise<boolean>;
|
|
|
|
|
|
// (async) Check if the path is a file
|
|
export const isFile: (name: string) => Promise<boolean>;
|
|
|
|
|
|
// Cut the path one folder up
|
|
export const dirUp: (dir: string) => string;
|
|
|
|
|
|
// (async) Like `mkdir -p`, makes sure a directory exists
|
|
export const ensuredir: (dir: string) => Promise<void>;
|
|
|
|
|
|
// (async) Copy a file, `dest` folder is created if needed
|
|
export const copysafe: (src: string, dest: string) => Promise<void>;
|
|
|
|
|
|
// (async) Get file/folder names of the 1st level
|
|
export const readdir: (src: string, dest: string) => Promise<ReadonlyArray<string>>;
|
|
|
|
|
|
// (async) Get folder paths (concatenated with input) of the 1st level
|
|
export const subdirs: (name: string) => Promise<ReadonlyArray<string>>;
|
|
|
|
|
|
// (async) Get file paths (concatenated with input) of the 1st level
|
|
export const subfiles: (name: string) => Promise<ReadonlyArray<string>>;
|
|
|
|
|
|
// (async) Get all nested files recursively
|
|
// Folder paths are omitted by default
|
|
// Order is: shallow-to-deep, each subdirectory lists dirs-then-files.
|
|
export const traverse: (name: string, showDirs?: boolean) => Promise<ReadonlyArray<string>>;
|
|
|
|
|
|
// (async) Copy a folder with all the contained files
|
|
export const copyall: (src: string, dest: string) => Promise<void>;
|
|
|
|
|
|
// (async) Like `rm -rf`, removes everything recursively
|
|
export const rmdir: (name: string) => Promise<void>;
|
|
|
|
|
|
// (async) Remove a file. Must be a file, not a folder. Just `fs.unlink`.
|
|
export const rm: (name: string) => Promise<void>;
|