1.0.1 • Published 9 years ago

fabl v1.0.1

Weekly downloads
3
License
MIT
Repository
github
Last release
9 years ago

FABL - File Abstraction Layer

npm npm npm downloads build status

Install via npm

$ npm install --save fabl

Usage

Require it:

var File = require( 'fabl' )

Static methods on File

Creating a file:

// Synchronous
var file = File.create( 'README.md' )
// Sync, with mode
var file = File.create( 'README.md', 0666 )
// Async, with mode and callback (mode is optional)
var file = File.create( 'README.md', 0666, function( error ) {
  // ...
})

Checking existance of a file:

File.exists( 'schrödingers.cat' )
File.exists( 'schrödingers.cat', function( error, exists ) {
  // ...
})

Stat a file:

File.stat( 'schrödingers.cat' )
File.stat( 'schrödingers.cat', function( error, stats ) {
  // ...
})

Renaming a file:

// Rename and move are synonym
File.move( 'rain.txt', 'trash.txt' )
File.rename( 'junk.food', 'trash.txt', function( error ) {
  // ...
})

Truncating/Allocating a file:

// Truncate and allocate are aliases,
// Size is optional, defaults to zero
File.truncate( 'trash.txt' )
File.allocate( 'random.mp3', 0x5000, function( error ) {
  // ...
})

Deleting a file:

// Delete and unlink are aliases
File.delete( 'trash.txt' )
File.unlink( 'trash.txt', function( error ) {
  // ...
})

Methods on an instance of File

Creating a file:

// Create an instance with a given path
var file = new File( 'README.md' )
// Sync create
file.create() // OR
file.create( function( error ) {
  // ...
})

Opening a file:

// Sync open, with defaults
// Flags default to 'r+', or previously used flags
// Mode defaults to whatever node defaults to (0666)
file.open() // OR
file.open( 'w' ) // OR
file.open( 'rs+', 0700 ) // OR
file.open( function( error, fd ) {
  // ...
})

Closing a file:

file.close()
file.close( function( error ) {
  // ...
})

Deleting a file:

file.delete() // OR
file.delete( function( error ) {
  // ...
})

Renaming/Moving a file:

// Rename and Move are aliases
file.rename( 'READMORE.md' )
file.move( 'EVENMORE.md' )
file.rename( 'HAHAHA.md', function( error ) {
  // ...
})

Truncating/Allocating a file:

// Truncate and Allocate are aliases as well
// Size is optional, defaults to zero
file.allocate( 265 * 1024 )
file.truncate( function( error ) {
  // ...
})

Stat'ing a file:

var stat = file.stat()
file.stat( function( error, stats ) {
  // ...
})

Reading from a file:

// Read a chunk synchronously
var data = file.read( offset, length )
// Offset can be omitted, and defaults to zero
file.read( 3000, function( error, bytesRead, data ) {
  // ...
})
// Create a readable stream
var stream = file.readStream()
// With boundaries
var bound = file.readStream( start, end )
// And / or with options
var optstream = file.readStream( start, {
  highWaterMark: 0x2000
})

Writing to a file:

// Write data synchronously
var bytesWritten = file.write( 'NOOOOOOO!' )
// Add an offset (the length is determined by
// the bytelength of data (it's converted to a Buffer))
file.write( milk, 0xC0FFEE, function( error, bytesWritten, buffer ) {
  // ...
})
// Or create a writable stream, which has
// the same options as the readStream() above
var stream = file.writeStream()
1.0.1

9 years ago

1.0.0

9 years ago

0.6.2

10 years ago

0.6.1

12 years ago

0.6.0

12 years ago

0.5.0

12 years ago

0.4.0

12 years ago

0.3.0

12 years ago

0.2.0

12 years ago

0.1.0

12 years ago