arc-fs

2.0.6 • Public • Published

arc-fs

ebay open source MIT licensed travisci build Codecov npm version downloads

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 module
  • options.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'); // 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

Readme

Keywords

none

Package Sidebar

Install

npm i arc-fs

Weekly Downloads

1

Version

2.0.6

License

MIT

Unpacked Size

5.03 kB

Total Files

4

Last publish

Collaborators

  • dylanpiercey
  • mlrawlings