A wrapper class to create persistent javascript objects, relying on harmony proxies.
JavaScript Shell
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
.gitignore
Makefile
README.md
index.js
mongoc
mongod
package.json
tests.js

README.md

persistent-harmony

A node.js wrapper class to create persistent javascript objects, relying on harmony proxies.

Rationale / use case

I developed this module because:

  • I was generating big hashmaps / associative arrays in node.js, indexing data computed from my MongoDB database
  • I wanted to store the resulting javascript objects to my database so that I could load them back to memory, instead of re-computing the indices at every restart of my node.js app.
  • I didn't want to update and query these indices using asynchronous mongodb calls, but use native javascript structures instead (sychronous and fast).

Installation

npm install persistent-harmony

Usage

var ph = require("persistent-harmony");
new ph.MongoPH({/* default mongodb args */}, function(mongoPH){
	var mymap = mongoPH.wrap("mymap", {/* empty object instance */}, function(){
		console.log("mymap is now synchronized to its mongodb collection");
		mymap.first = "coucou"; // => stored as {_id:"first", v:"coucou"} in mongodb
		console.log("myapp", mymap);
	});
});

Don't forget to add the --harmony-proxies when starting node!

node --harmony-proxies tests.js

Analytics