arc-fs
Wrap a filesystem to provide a read-only fs
api that adapts files according to an active flagset
API
new AdaptiveFS(options);
options.fs
(optional): a filesystem that conforms to the node.js fs
api. Defaults to the built-in fs
moduleoptions.flags
(required): an Object
where each key represents a flag and the value is a boolean indicating whether that flag is active or Array
of strings that represent the active flags
Instance methods
resolveSync(path)
Returns the resolved path based on the active flagset
getMatchesSync(path)
Returns a MatchSet
for the path
isAdaptiveSync(path)
Returns a boolean indicating if the path can be adapted
clearCache()
Clears the adaptive resolver's cache
Read methods from fs
stat
statSync
readdir
readdirSync
readFile
readFileSync
readlink
readlinkSync
exists
existsSync
Examples
Default filesystem
import fs from 'fs';
import AdaptiveFS from 'arc-fs';
const afs = new AdaptiveFS({ flags:['test'] });
fs.writeFileSync('message[test].txt', 'Hello Test');
afs.readFileSync('message.txt');
In-Memory filesystem
import MemoryFS from 'memory-fs';
import AdaptiveFS from 'arc-fs';
const mfs = new MemoryFS();
const afs = new AdaptiveFS({ fs:mfs, flags:['test'] });
mfs.writeFileSync('message[test].txt', 'Hello Test');
afs.readFileSync('message.txt');