Skip to content

taufik-nurrohman/folder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Folder Utility

Utility functions of native folder system API in Node.js. Not to be used in the browser.

Usage

CommonJS

const {getContent} = require('@taufik-nurrohman/folder');

console.log(getContent('./node_modules', 1, true));

ECMAScript

import {getContent} from '@taufik-nurrohman/folder';

console.log(getContent('./node_modules', 1, true));

Methods

copy(from, to, name)

Copy a folder with its contents.

copy('./node_modules', './foo/bar/baz');
copy('./node_modules', './foo/bar/baz', 'node_modules.bak');

get(path)

Check if file/folder does exist.

if (false !== get('./node_modules')) {
    // …
}

getContent(path, x = null, deep = 0)

List all files and folders in a folder as object.

// List file(s) only
console.log(getContent('./node_modules', 1));

// List folder(s) only
console.log(getContent('./node_modules', 0));

// List file(s) only with extension `.js`
console.log(getContent('./node_modules', 'js'));

// List file(s) only with extension `.js` and `.mjs`
console.log(getContent('./node_modules', 'js,mjs'));

// List file(s) only with extension `.js` and `.mjs` recursively
console.log(getContent('./node_modules', 'js,mjs', true));

// List file(s)/folder(s) with custom filter
console.log(getContent('./node_modules', (value, key) => {
    return 1 === value && '.min.js' !== key.slice(-7);
}, true));

isFolder(path)

Check if path is a folder.

if (false !== isFolder('./foo/bar/baz')) {
    // …
}

move(from, to, name)

Delete or move a folder with its contents.

// Delete
move('./node_modules', false);

// Delete
move('./node_modules');

// Move
move('./node_modules', './foo/bar/baz');

// Move
move('./node_modules', './foo/bar/baz', 'node_modules.bak');

name(path)

Get folder name from folder path.

console.log(name('./foo/bar/baz'));
console.log(name('./foo/bar/baz.qux'));

parent(path)

Get parent path from folder path.

console.log(parent('./foo/bar/baz'));
console.log(parent('./'));
console.log(parent('.'));
console.log(parent(""));

set(path, deep = false)

Create an empty folder if it does not exist.

set('./foo/bar/baz', true);