fs-funcs v0.3.0
fs-funcs
A very limited subset of fs functions I use every day
Install
npm i fs-funcs
Package on npm
API
- exec-file
- exec
- exist
- first-bytes
- get-filesize
- is-directory
- is-file
- is-symlink
- mkdir
- read-json
- rm
- stat
- write-json
exec-file(file, args, options)
Execute the file
Argument | Action |
---|---|
file | the executed file |
args | the list of string arguments |
options | optional options , default to { maxBuffer: 20971520 } |
args
can be an Array
or a String
The default maxBuffer
is 20 Mo instead of 200 ko
result
is an object with two properties { stdout, stderr }
The EOF chars \n
or \r\n
are removed from the returned strings stdout
and stderr
const execfile = require('fs-funcs/exec-file')
execfile('echo', ['one', 'two']).then(result => {
// one two
console.log(result.stdout)
})
execfile('echo', 'abc def').then(result => {
// abc def
console.log(result.stdout)
})
exec(command, options)
Execute the command
Argument | Action |
---|---|
command | the executed command |
options | optional options , default to { maxBuffer: 20971520 } |
The default maxBuffer
is 20 Mo instead of 200 ko
result
is an object with two properties { stdout, stderr }
The EOF chars \n
or \r\n
are removed from the returned strings stdout
and stderr
const exec = require('fs-funcs/exec')
exec('echo one two').then(result => {
// one two
console.log(result.stdout)
})
exist(path, nofollow)
Check if path
exists
Argument | Action |
---|---|
path | the tested path |
nofollow | optional nofollow , default to false . If true , test the symlink and not is target |
const exist = require('fs-funcs/exist')
exist(__filename).then(result => {
// true
console.log(result)
})
first-bytes(path, length)
Get a Buffer with the first bytes of a file
Argument | Action |
---|---|
path | the file path |
length | optional length , default to 15 |
const firstbytes = require('fs-funcs/first-bytes')
firstbytes('/path/to/file').then(result => {
// <Buffer 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44>
console.log(result)
})
get-filesize(path)
Get the size of a file
Argument | Action |
---|---|
path | the file path |
const getfilesize = require('fs-funcs/get-filesize')
getfilesize('/path/to/file').then(result => {
// 54318
console.log(result)
})
is-directory(path, nothrow)
Check if path
is a directory
Argument | Action |
---|---|
path | the tested path |
nothrow | optional nothrow , default to false . If true , resolve to false instead of throw an error |
const isdirectory = require('fs-funcs/is-directory')
isdirectory('/path/to/directory').then(result => {
// true
console.log(result)
})
isdirectory('/path/to/file')
.then(result => {})
.catch(err => {
// "path" argument must target a directory
console.log(err.message)
})
isdirectory('/path/to/file', true).then(result => {
// false
console.log(result)
})
is-file(path, nothrow)
Check if path
is a file
Argument | Action |
---|---|
path | the tested path |
nothrow | optional nothrow , default to false . If true , resolve to false instead of throw an error |
const isfile = require('fs-funcs/is-file')
isfile('/path/to/file').then(result => {
// true
console.log(result)
})
isfile('/path/to/directory')
.then(result => {})
.catch(err => {
// "path" argument must target a file
console.log(err.message)
})
isfile('/path/to/directory', true).then(result => {
// false
console.log(result)
})
is-symlink(path, nothrow)
Check if path
is a symlink
Argument | Action |
---|---|
path | the tested path |
nothrow | optional nothrow , default to false . If true , resolve to false instead of throw an error |
const issymlink = require('fs-funcs/is-symlink')
issymlink('/path/to/symlink').then(result => {
// true
console.log(result)
})
issymlink('/path/to/file')
.then(result => {}).catch(err => {
// "path" argument must target a symlink
console.log(err.message)
})
issymlink('/path/to/file', true).then(result => {
// false
console.log(result)
})
mkdir(path, pop)
Recursively mkdir
Argument | Action |
---|---|
path | the created path |
pop | optional pop , default to false . If true , remove the last part of the path |
const mkdir = require('fs-funcs/mkdir')
mkdir('/path/to/directory').then(result => {
// /path/to/directory
console.log(result)
})
mkdir('/path/to/file', true).then(result => {
// /path/to
console.log(result)
})
read-json(path)
Read and serialize a JSON file
Argument | Action |
---|---|
path | the file path |
const readjson = require('fs-funcs/read-json')
readjson('/path/to/json').then(result => {
// {a:123, b:"abc"}
console.log(result)
})
rm(path)
Remove a path
Argument | Action |
---|---|
path | the removed path |
const rm = require('fs-funcs/rm')
rm('/path/to/directory').then(result => {
// /path/to/directory
console.log(result)
})
stat(path, nofollow)
Get some data about path
Argument | Action |
---|---|
path | the tested path |
nofollow | optional nofollow , default to false . If true , test the symlink and not is target |
The booleans readable
, writable
and executable
are related to the user privileges
const stat = require('fs-funcs/stat')
stat('/path/to/file').then(result => {
/*
{
file: true,
directory: false,
symlink: false,
path: '/path/to/file',
dirname: '/path/to',
basename: 'file',
size: 123,
readable: true,
writable: true,
executable: false
}
*/
console.log(result)
})
stat('/path/to/directory').then(result => {
/*
{
file: false,
directory: true,
symlink: false,
path: '/path/to/directory',
dirname: '/path/to',
basename: 'directory',
size: 7,
readable: true,
writable: true,
executable: true
}
*/
console.log(result)
})
write-json(path, data, minify)
Write a prettified JSON file. The directory tree is created if needed
Argument | Action |
---|---|
path | the created path |
data | the stringified data |
minify | optional minify , default to false . If true , the JSON will not be beautified |
const writejson = require('fs-funcs/write-json')
writejson('/path/to/json', {a:123, b:"abc"}).then(result => {
// {a:123, b:"abc"}
console.log(result)
})
License
MIT