Filesystem abstraction layer and common function wrappers.
import {
HileSystemLocal,
absolutePathFrom, pathFrom,
createDirectory, createFile,
readFileToBase64, readFileToBuffer, readFileToString,
dirIsEmpty, dirIsExecutable, dirIsReadable, dirIsVisible, dirIsWritable,
fileIsExecutable, fileIsReadable, fileIsVisible, fileIsWritable,
getStatus, isDirExists, isFileExists, isPathExists,
fileExtension, fileName, fileNameExt, filePath,
listContents, listDirectories, listFiles,
move,
remove, removeNonBlocking, removeSilent,
fileTruncate, writeFile, writeFileTail, writeJSON,
hash, hashCrc32, hashMd5, hashSha1, hashSha256, hashSha512, size,
} from "@hilesystem/local";
import * as hileSystem from "@hilesystem/local";
const isDirectoryCreated = await hileSystem.createDirectory("./test/");
If you prefer object-oriented style.
import { HileSystemLocal } from "@hilesystem/local";
const hileSystem = new HileSystemLocal();
const isDirectoryCreated = await hileSystem.createDirectory("./test/");
absolutePathFrom(paths, ...morePaths)
Join all arguments together and normalize the resulting path.const paths = ["path", "to", "file.txt"];
const str = absolutePathFrom(paths) // "/user/me/path/to/file.txt"
fileExtension(path)
Get file extension.const str = fileExtension("path/to/file.txt"); // "txt"
fileName(path)
Return the file name without extension.const str = fileName("path/to/file.txt"); // "file"
fileNameExt(path)
Return the last portion of a path.const str = fileNameExt("path/to/file.txt"); // "file.txt"
filePath(path)
Return the directory name of a path.const str = filePath("path/to/file.txt"); // "path/to"
pathFrom(paths, ...morePaths)
Join all arguments together and normalize the resulting path.const str = pathFrom(["path", "to", "file.txt"]) // "path/to/file.txt"
createDirectory(dirPath, mode, recursive)
Asynchronous create a directory.const trueOrError = await createDirectory("path/to/dir", "0777", true);
createFile(pathLike, mode)
Asynchronous create a file.const trueOrError = await createFile("path/to/dir", "0777");
readFileToBase64(pathLike)
Reads the file into a string.const stringOrError = await readFileToBase64("path/to/img.png");
readFileToBuffer(pathLike)
Reads the file into a buffer.const bufferOrError = await readFileToBuffer("path/to/file.txt");
readFileToString(pathLike)
Reads the file into a string.const stringOrError = await readFileToString("path/to/file.txt");
move(pathFrom, pathTo)
Change the name or location of a file or directory.const trueOrError = await move("path/to/file.ext", "path/to-another/file.ext");
fileTruncate(pathToFile, length)
Truncate a file to a specified length.const trueOrError = await fileTruncate("path/to/file.ext");
writeFile(filePath, data, options)
Asynchronously writes data to a file, replacing the file if it already exists.const filePath = "./file.txt";
const data = "Text";
const options = { encoding: "utf8" };
const trueOrError = await writeFile(filePath, data, options);
writeFileTail(filePath, data, options)
Asynchronously writes data to the end of a file.const filePath = "./file.txt";
const data = "Text to add to the end of the file.";
const options = { encoding: "utf8" };
const trueOrError = await writeFileTail(filePath, data, options);
writeJSON(filePath, data, options, configuration)
Asynchronously writes data to a file, replacing the file if it already exists.const filePath = "./file.json";
const data = { key: "value" };
const options = { encoding: "utf8" };
const config = {
sort: true,
space: "\t"
};
const trueOrError = await writeJSON(filePath, data, options, config);
remove(pathLike)
Removes a file or directory.const voidOrError = await remove("path/to/file.txt");
removeNonBlocking(pathLike)
Non-blocking remove of a file or directory.removeNonBlocking("path/to/file.txt");
removeSilent(pathLike, options)
Removes files and directories (modeled on the standard POSIX rm utility).removeSilent("path/to/file.txt");
getStatus(path)
Get file status.const [status, error] = await getStatus("path/to/file.ext");
isDirExists(path)
Get directory status.const trueOrFalse = await isDirExists("path/to/");
isFileExists(path)
Get file status.const trueOrFalse = await isFileExists("path/to/file.ext");
isPathExists(path)
Get path status.const trueOrFalse = await isPathExists("path/to/file_or_directory");
dirIsEmpty(pathToDir, excludeSystemFiles)
Check if a directory is empty.const booleanOrError = await dirIsEmpty("path/to/dir", true);
dirIsExecutable(pathToDir)
Is directory executable.const trueOrError = await dirIsExecutable("path/to/dir");
dirIsReadable(pathToDir)
Is directory readable.const trueOrError = await dirIsReadable("path/to/dir");
dirIsVisible(pathToDir)
Is directory visible.const trueOrError = await dirIsVisible("path/to/dir");
dirIsWritable(pathToDir)
Is directory writable.const trueOrError = await dirIsWritable("path/to/dir");
fileIsExecutable(pathToFile)
Is file executable.const trueOrError = await fileIsExecutable("path/to/file.ext");
fileIsReadable(pathToFile)
Is file readable.const trueOrError = await fileIsReadable("path/to/file.ext");
fileIsVisible(pathToFile)
Is file visible.const trueOrError = await fileIsVisible("path/to/file.ext");
fileIsWritable(pathToFile)
Is file writable.const trueOrError = await fileIsWritable("path/to/file.ext");
listContents(pathToDir, ignoreJunkOrSystem?)
Lists files and directories in path.const arrayOfStringsOrError = await listContents("path/to/dir");
listDirectories(pathToDir)
Lists files and directories in path.const arrayOfStringsOrError = await listDirectories("path/to/dir");
listFiles(pathToDir)
Lists files in path.const arrayOfStringsOrError = await listFiles("path/to/dir");
hash(pathToFile, algorithm)
Calculate hash.const hash = await hash("path/to/file", "md5");
hashCrc32(pathToFile)
CRC32.const hash = await hashCrc32("path/to/file");
hashMd5(pathToFile)
MD5.const hash = await hashMd5("path/to/file");
hashSha1(pathToFile)
SHA-1.const hash = await hashSha1("path/to/file");
hashSha256(pathToFile)
SHA-256.const hash = await hashSha256("path/to/file");
hashSha512(pathToFile)
SHA-512.const hash = await hashSha512("path/to/file");
size(pathToFile)
File size in bytes.const sizeInBytes = await size("path/to/file");
const sizeAsString = await size("path/to/file", true);