ffos-fs v0.0.7
ffos-fs
File System (fs) module for the Firefox OS
Provides file system functions for the Firefox OS and devices supporting device storage.
It tries to mimic node's fs module where possible.
By the very nature of the device storage it only implements a subset of node's fs module.
Usage
Higher level functions
var fs = require('ffos-fs');Get files within a directory. Returned files are of type File.
fs.readdir(path, callback(error, files) { ... });Read contents of a file.
options
- format
String | Nulldefault = 'text', can be 'text', 'binary', 'dataURL', 'buffer' - encoding
String | Nulldefault = null, text encoding if format is 'text' - flag
Stringdefault = 'r', can be 'r' or 'w'
fs.readFile(path, [options], callback(error, data) { ... });Write contents to a file.
Will create the file if it does not exist and overwrite an existing file.
options
- encoding
String | Nulldefault = 'utf8' - mimetype
String | Nulldefault = 'text/plain' - flag
Stringdefault = 'w'
fs.writeFile(path, data, [options], callback(error) { ... });Check if a file exists.
You cannot check for the existance of a directory on Firefox OS.
fs.exists(path, callback(error, exists) { ... });Remove a file or directory.
fs.unlink(path, callback(error) { ... });Lower level functions
Open a File handle.
flag can be one of 'r' or 'w'.
fd is either of type File (read)
or of type FileHandle (write).
fs.open(path, flag, callback(error, fd) { ... });Read from a file to a Blob.
fd must be of type FileHandle or File or LockedFile.
blob is the blog that the data will be written to.
offset is the offset in the blob to start writing at.
length is an integer specifying the number of bytes to read.
position is an integer specifying where to begin reading from in the file.
If position is null, data will be read from the start.
fs.read(fd, blob, offset, length, position, callback(error, bytesRead, blob) { ... });Write from a blob to a file Blob.
fd must be of type FileHandle or File or LockedFile.
blob is the blog that the data will be written to.
offset is the offset in the blob to start writing at.
length is an integer specifying the number of bytes to read.
position is an integer specifying where to begin reading from in the file.
If position is null, data will be read from the start.
fs.read(fd, blob, offset, length, position, callback(error, bytesRead, blob) { ... });Mocking the filesystem
It's possible to mock the filesystem to an in-memory filesystem.
fs.mock();Currently there is no support for the Lower level functions in mock mode.
You can however use:
- fs.writeFile
- fs.exists
- fs.readFile
- fs.readdir
- fs.unlink
If you need to prepopulate your mocked filesystem with files just use fs.writeFile to create some files.