README
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.jsfs
api. Defaults to the built-infs
moduleoptions.flags
(required): anObject
where each key represents a flag and the value is a boolean indicating whether that flag is active orArray
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
fs
Read methods from 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'); // Hello Test
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'); // Hello Test