A LineReader, because this kind of stuff should just exist already. ;P

This commit is contained in:
Ryan McGrath 2011-09-19 00:13:16 -04:00
parent 2aa050b815
commit 5476c463c8
3 changed files with 57 additions and 14 deletions

View file

@ -1,8 +1,8 @@
wrench.js - Recursive file operations in Node.js
----------------------------------------------------------------------------
While I love Node.js, I've found myself missing some functions. Things like
recursively deleting/chmodding a directory (or even deep copying a directory)
shouldn't need to be re-invented time and time again.
recursively deleting/chmodding a directory (or even deep copying a directory),
or even a basic line reader, shouldn't need to be re-invented time and time again.
That said, here's my attempt at a re-usable solution, at least until something
more formalized gets integrated into Node.js (*hint hint*). wrench.js is fairly simple
@ -15,19 +15,25 @@ Installation
Usage
-----------------------------------------------------------------------------
var wrench = require("./wrench");
``` javascript
var wrench = require('./wrench'),
util = require('util');
// Recursively delete the entire sub-tree of a directory, then kill the directory
wrench.rmdirSyncRecursive("my_directory_name");
// Recursively delete the entire sub-tree of a directory, then kill the directory
wrench.rmdirSyncRecursive('my_directory_name');
// Recursively chmod the entire sub-tree of a directory
wrench.chmodSyncRecursive("my_directory_name", 0755);
// Recursively chmod the entire sub-tree of a directory
wrench.chmodSyncRecursive('my_directory_name', 0755);
// Deep-copy an existing directory
wrench.copyDirSyncRecursive("directory_to_copy", "location_where_copy_should_end_up");
// Deep-copy an existing directory
wrench.copyDirSyncRecursive('directory_to_copy', 'location_where_copy_should_end_up');
It should be noted that these are all currently synchronous operations. I'll be adding
asynchronous versions of chmod/copy in the near future, but rmdir is one that really can't
exist in an asynchronous fashion.
// Read lines in from a file until you hit the end
var f = new wrench.LineReader('x.txt');
while(f.hasNextLine()) {
util.puts(x.getNextLine());
}
```
It should be noted that these are all currently synchronous operations.
Questions, comments? Hit me up. (ryan [at] venodesigns.net | http://twitter.com/ryanmcgrath)