0.3.7 • Published 9 months ago
@javarome/fileutil v0.3.7
fileutil
File utilities.
Data types
FileContents
Represents a file with contents, either instantiated programmatically:
new FileContents()or from the file system
FileContents.read("path/someFile.xxx")classDiagram
class FileContents {
name: string
lastModified: Date
contents: string
encoding: BufferEncoding
write(): Promise<void>
read(fileName, declaredEncoding)$: FileContents
readOrNew(fileName, declaredEncoding)$: FileContents
getLang(filePath)$: FileContentsLang
getContents(fileName, declaredEncoding)$
}
class FileContentsLang {
lang: string | undefined
variants: string[]
}
FileContents --> FileContentsLang: langstatic read(fileName, declaredEncoding)creates FileContents from a file path.static readOrNew(fileName, declaredEncoding)reads a file or instantiate a brand new SsgFile if it doesn't exist.static getLang(filePath): SsgFileLangguesses a file language and its language file variants in the same directory.static getContents(fileName, declaredEncoding)gets the text contents of a file, and how it is encoded.write()writes the file contents according to its encoding.
FileContentsLang represents a file language and the detected file variants.
An HtmlFileContents is available from ssg-api.
Functions
toBufferEncoding (encoding)ccnverts encoding names to Node's buffer encoding names.detectEncoding (filePath)detects the encoding of some file contents.detectContentsEncoding (buffer)detects the encoding of some contents.ensureDirectoryOf (filePath)checks if a directory exists and, if not, creates it.writeFile (filePath, contents, encoding)writes a file. If the file directory doesn't exit, it is created.subDirs (fromDir): Promise<Dirent[]gets a list of subdirectories.subDirsNames (fromDir): Promise<string[]>gets a list of subdirectories' names.findDirs (fromDirs, excludedDirs): Promise<string[]>finds directories under a set of dirs.findDirsContaining (fileName, exclude?): Promise<string[]>finds directories containing a file (but other).findSubDirs (ofDir, excludedDirs = []): Promise<string[]>finds subdirectories of a dir.copy (toDir, sourcePatterns, options): Promise<string[]>copies files to a destination directory.copyFiles (sourceFiles, toDir) {): string[]copies multiple files to a directory.copyFile (sourceFilePath, destDir): stringcopies a file to a directory.
Import
For instance:
import { FileContents, copy } from "@javarome/fileutil"