utile 
A drop-in replacement for util
with some additional advantageous functions
Motivation
Javascript is definitely a "batteries not included language" when compared to languages like Ruby or Python. Node.js has a simple utility library which exposes some basic (but important) functionality:
When one considers their own utility library, why ever bother requiring util
again? That is the approach taken by this module. To compare:
As you can see all of the original methods from util
are there, but there are several new methods specific to utile
. A note about implementation: no node.js native modules are modified by utile, it simply copies those methods.
Remark: The util.inspect
method is not exposed in utile
until this issue is resolved.
Methods
The utile
modules exposes some simple utility methods:
.each(obj, iterator)
: Iterate over the keys of an object..mixin(target [source0, source1, ...])
: Copies enumerable properties fromsource0 ... sourceN
ontotarget
and returns the resulting object..clone(obj)
: Shallow clones the specified object..capitalize(str)
: Capitalizes the specifiedstr
..randomString(length)
: randomString returns a pseudo-random ASCII string (subset) the return value is a string of length ⌈bits/6⌉ of characters from the base64 alphabet..filter(obj, test)
: return an object with the properties thattest
returns true on.
Packaged Dependencies
In addition to the methods that are built-in, utile includes a number of commonly used dependencies to reduce the number of includes in your package.json. These modules are not eagerly loaded to be respectful of startup time, but instead are lazy-loaded getters on the utile
object
.rimraf
: A rm -rf util for nodejs
Installation
Installing npm (node package manager)
Installing utile
Tests
All tests are written with vows and should be run with npm: