3.0.1 • Published 7 years ago

fsep v3.0.1

Weekly downloads
2
License
MPL-2.0
Repository
github
Last release
7 years ago

FSEP

Is a library that promisifies the native node FS operation and brings extras into the mix. Fsep has No Dependency.

Features

  • Native node.js Fs methods (promisified)
  • Only Promises

TODO

  • copy
  • ensureLink
  • move
  • outputJson
  • readJson
  • remove
  • writeJson

API

  • walk
  • exist

  • mkdirs

  • emptyFolder

  • outputFile

  • outputFolder

  • ensureFile

  • ensureFolder
  • ensureSymlink

  • scaffold

  • readFiles
  • readWriteLine

  • readFolder

  • removeFile
  • removeFolder
  • writeFolder

walk(path, options)

  • options: Object - path: String Path to directory - filters: Array RegExp strings - relative: Boolean Return paths relative or absolute. Default is false - ignoreDot: Boolean Ignores files beginning with a dot. Default is true
const Fsep = require('fsep');
const path = '/home/user/directory';
const options = {
	relative: false,
	ignoreDot: true,
	filters: ['.DS_Store']
};

Fsep.walk(path, options).then(function (files) {
	console.log(files);
}).catch(function (error) {
	console.error(error);
});

exist(path)

Checks if a path exists. Returns true or false. Uses Fs.stat.

const Fsep = require('fsep');

Fsep.exist(path).then(function (exist) {
	console.log(exist); // true || false
}).catch(function (error) {
	console.error(error);
});

mkdirs(path ,mode)

Creates the path folders if they do not exist. Accepts a mode parameter.

const Fsep = require('fsep');
const path = '/non/existing/dir';

Fsep.mkdirs(path).then(function () {
	console.log('done');
}).catch(function (error) {
	console.error(error);
});

outputFile(path, data, options)

Creates a file and also directories if non existent. Overwrites file if it exists.

const Fsep = require('fsep');

var path = '/non/existing/path/file.js';
var data = 'hello';

Fsep.outputFile(path, data).then(function () {
	console.log('done');
}).catch(function (error) {
	console.error(error);
});

outputFolder(path ,mode, cwd)

Creates folders in path if they do not exist.

const Fsep = require('fsep');
const path = '/non/existing/dir';

Fsep.outputFolder(path).then(function () {
	console.log('done');
}).catch(function (error) {
	console.error(error);
});

ensureFolder(path, ,mode, cwd)

Creates folders in path if they do not exist.

const Fsep = require('fsep');
const path = '/non/existing/dir';

Fsep.ensureFolder(path).then(function () {
	console.log('done');
}).catch(function (error) {
	console.error(error);
});

ensureFile(path, data, options, mode || cwd)

Ensures that the file and its directory structure exists. If the file already exists it is not modified.

const Fsep = require('fsep');

var path = '/non/existing/dirs/and/file.txt';

Fsep.ensureFile(path).then(function () {
	console.log('done');
}).catch(function (error) {
	console.error(error);
});

ensureSymlink(source, target, type, mode || cwd)

Ensures that the symlink and its directory structure exists. If the file already exists it is not modified.

const Fsep = require('fsep');
const src = '/existing/folders/file.txt';
const dst = '/non/existing/folders/file.txt';

Fsep.ensureSymlink(source, target).then(function () {
	console.log('symlink created');
}).catch(function (error) {
	console.error(error);
});

emptyFolder(path, safe)

Deletes the contents of a directory if it exists and is not empty. This is recursive so be careful. Same as rm -r.

  • path: String Path to the direcotry to empty.
  • safe: Boolean Default is true which throws an error if you try to empty the root of the file system.
const Fsep = require('fsep');

var path = '/home/username/dirs'; // contains folders and files

Fsep.emptyFolder(path).then(function () {
	console.log('done');
}).catch(function (error) {
	console.error(error);
});

scaffold(path, data)

Requires a path and an object or array. Makes files and folders based on object or array. End points are assumed to be file names.

const Fsep = require('fsep');

const data = {
	one: 'one.txt',
	two: 'two.txt',
	array: [
		'three.txt',
		'four.txt'
	]
};

Fsep.scaffold(path, data).then(function () {
	console.log('done');
	/* output
		one
			one.txt
		two
			two.txt
		array
			three.txt
			four.txt
	*/
}).catch(function (error) {
	console.error(error);
});

readFiles(paths, options)

Reads an array of files asynchronously. The result is an array of files.

const Fsep = require('fsep');

var paths = [
	'/one.txt',
	'two.txt'
];

Fsep.readFiles(paths).then(function (files) {
	console.log(files);
}).catch(function (error) {
	console.error(error);
});

readWriteLine(options)

Reads and writes a file line by line. The line function allows line manipulation.

const Fsep = require('fsep');

var options = {
	read: { // node stream options
		path: './rw/one.txt'
	},
	write: { // node stream options
		path: './rw/two.txt',
		flags: 'a'

	},
	line: function (line) {
		return line.toUpperCase();
	}
};

Fsep.readWriteLine(options).then(function () {
	console.log('done');
}).catch(function (error) {
	console.error(error);
});

readFolder

Alias for Fs.readdir.

removeFile

Alias for Fs.unlink.

removeFolder

Alias for Fs.rmdir.

writeFolder

Alias for Fs.mkdir.

Authors

AlexanderElias

License

Why You Should Choose MPL-2.0 This project is licensed under the MPL-2.0 License

3.0.1

7 years ago

3.0.0

7 years ago

2.0.1

7 years ago

2.0.0

7 years ago

1.4.7

7 years ago

1.4.6

7 years ago

1.4.5

7 years ago

1.4.2

8 years ago

1.4.0

8 years ago

1.3.0

8 years ago

1.2.7

8 years ago

1.2.6

8 years ago

1.2.5

8 years ago

1.2.4

8 years ago

1.2.1

8 years ago

1.2.0

8 years ago

1.9.9

8 years ago

1.9.7

8 years ago

1.9.6

8 years ago

1.8.6

8 years ago

1.7.6

8 years ago

1.6.5

8 years ago

1.5.5

8 years ago

1.5.4

8 years ago

1.4.4

8 years ago

1.4.3

8 years ago

1.3.3

8 years ago

1.2.3

8 years ago

1.2.2

8 years ago

1.1.2

8 years ago

1.1.1

8 years ago

1.0.0

8 years ago