This module implements a flexible filesystem abstraction layer, allowing you to manage files across different storage backends (like local disk, cloud storage, etc.) using a consistent API.
The Filesystem type provides a multi-disk abstraction where you can define multiple "disks" (storage backends) and perform file operations on them using a unified interface.
The StorageDriver type is an abstract base for different storage implementations, and the LocalDriver is a concrete implementation that interacts with the local filesystem.
The Visibility enum defines file visibility options (public or private), which can be used to set permissions or access controls depending on the storage backend.
The FilesystemPolicy type is a security layer that wraps any driver and enforces a set of PolicyRules (read-only mode, size caps, extension/MIME allowlists, hidden-file denial, path limits) before delegating operations.
Exports
-
mimeType, exists, write, size, touch, lastModified, copy, visibility, move, read, metadata, list, checksum, readStream, StorageDriver, writeStream, delete, search, copyDir, visPrivate, FileMetadata, appendStream, setVisibility, LocalDriver, visPublic, moveDir, deleteDir, StorageError, Visibility, abstract, append, makeDir, newLocalDriver, mimeType, exists, checksum, writeStream, touch, lastModified, copy, move, read, metadata, readLines, list, chown, readStream, delete, makeDir, copyDir, appendStream, append, size, moveDir, readLink, deleteDir, createSymlink, chmod, write, visibility, isSymlink, diskUsage, setVisibility, withLock, search, mimeType, exists, checksum, writeStream, touch, lastModified, copy, move, read, metadata, list, newFilesystemPolicy, readStream, FilesystemPolicy, write, search, copyDir, PolicyError, appendStream, setVisibility, append, size, moveDir, deleteDir, PolicyRules, delete, visibility, makeDir, defaultPolicyRules, inner, rules, addDisk, addDisk, disk, parseJson, rawDisk, parseYaml, exists, read, parseToml, parseYaml, write, parseJson, newFilesystem, delete, Filesystem, parseCsv, diskPolicy