Skip to content

NHQ/nbfs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nota Bene

A partial clone of Node.j's fs module (including streams) for the browser File System API. Currently, only asynchronous methods are provided, per the File System API (sync is in the spec but not supported yet). All methods copy Node's FS module. Use with browserify.

Nota Bene uses through to expose read and write streams.

Methods

  • createWriteStream
  • createReadStream
  • writeFile
  • write
  • unlink
  • rename (aka mv)
  • read
  • readdir
  • mkdir
  • rmdir
  • stat

There is also a helper method for the File System API.

  • setStorage(size)

Call this method before any others if you don't want these defaults:

size = 1024 * 1024 * 1024 // in bytes

The default and standard for this module is persistent storage, to whatever extent the browser grants this.

usage

npm install nota-bene

Then use it as you would the FS module, from the example in /test.js

var fs = require('./nota-bene');

var buf = new Float32Array(1024 * 1024);
for(var x = 0; x < buf.length; x++){
	buf[x] = Math.sin((x / 1024 * 1024) * Math.PI * 2)
}
fs.mkdir('/tmp', function(err){
	if(err) console.log(err)
	else{
		fs.writeFile('/tmp/pipeTest', buf, function(err){
			if(err) console.log(err)
			var ws = fs.createWriteStream('/tmp/pip')
			var rs = fs.createReadStream('/tmp/pipeTest')
			rs.pipe(ws)
			ws.on('data', function(data){
				console.log(data)
			})
			setTimeout(function(){
				fs.readFile('/tmp/pip', 'arraybuffer', function(err, file){
					console.log('pipetest', err, file)
				})
			}, 1000)
		})		
	}
})

Tests

Currently the "test" is an incomplete example with some logging to the console. Real test forthcoming. It can be run like so:

First install browserify and opa

npm install -g browserify opa

Then:

git clone https://github.com/NHQ/nbfs
cd nbfs
opa -n -e test.js

you can pass a port number:

opa -n -e test.js -p 5000

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages