Infuse.js provides a uniform API for accessing Javascript-native objects and arrays, as well as defining futures, signals, inversions, invariants, and other types of its own. Like jQuery, it maintains a separate prototype for shared methods and does not monkey-patch any builtin prototypes.
Infuse is quite simply the best Javascript library that could ever possibly exist, ever. I realize you don't believe me, but that's probably because you haven't yet checked out the totally epic builtin types:
- arrays
- objects
- multiobjects
- buffers
- functions (warning: unfathomably awesome)
- futures
- signals
- the
get
method - edges
- sorting
- awaiting
Also useful:
And the low-level stuff:
Annotated source (you should read this if you want to extend Infuse):
- array
- buffer
- cache
- cell
- edge
- fn
- funnel
- future
- heapmap
- infuse
- keygate
- methods
- mixin-linear
- mixin-pull
- mixin-push
- multiobject
- object
- signal
- tail
- util
You'll need a fairly recent node.js build, as well as
UglifyJS to build infuse.min.js
. If you don't have or want Uglify, you can
export UGLIFY=no
.
Building is usually as simple as running make
:
$ make
[test output]
$