fobject
A simple promise-based wrapper for file operations that treats files as objects.
File = require 'fobject'
configFile = new File('config.json')
configFile.read().done((data) ->
console.log "contents of #{configFile.path}: #{data}"
)
why?
The default fs module has a really ugly interface (including sync and async copies of almost every function) and doesn't make it easy to work with files that may or may not actually be written to the file-system. fobject abstracts out interaction with the file system so if you want to implement caching, or work with files without writing them to the disk, or whatever else you want: you can do so easily.
docs
new File(path)
Parameters:
| Name | Type | Argument | Default | Description |
|---|---|---|---|---|
path |
String | The path to the file. This will be resolved to an absolute path, so even if you change your cwd you can still access the same file. |
||
options.base |
String |
<optional> |
./ | Used for relative pathing. This will not be resolved to an absolute path. Typically where a glob starts. |
-
append(data) → {Promise}
-
Append
datato the fileParameters:
Name Type Argument Default Description dataString | Buffer options.encodingString | null <optional>
'utf8' ignored if data is a buffer
options.modeNumber <optional>
438 default is 0666 in Octal
options.flagString <optional>
'w' Returns:
- Type
- Promise
-
dirname() → {String}
-
Get the dirname of the file
- Source:
Returns:
- Type
- String
-
extname() → {String}
-
Get the extension of a file
- Source:
Returns:
- Type
- String
-
read() → {Promise}
-
Read from the file
Parameters:
Name Type Argument Default Description options.encodingString | null <optional>
null options.flagString <optional>
'r' Returns:
- Type
- Promise
-
rename(newPath) → {Promise}
-
Rename the file
Parameters:
Name Type Description newPathString The new path for the file. Will be resolved relative to File.base.
- Source:
Returns:
- Type
- Promise
-
stat() → {Promise}
-
Return a Stat object for the file
- Source:
Returns:
- Type
- Promise
-
unlink() → {Promise}
-
Delete the file
- Source:
Returns:
- Type
- Promise
-
write(data) → {Promise}
-
Write
datato the fileParameters:
Name Type Argument Default Description dataString | Buffer options.encodingString | null <optional>
'utf8' ignored if data is a buffer
options.modeNumber <optional>
438 default is 0666 in Octal
options.flagString <optional>
'w' Returns:
- Type
- Promise
generated with docme