a lightweight, storage agnostic data abstraction based on Resourceful
A super lightweight and storage agnostic data abstraction layer.
When you don't want to use Resourceful throw it in Trapper Keeper. A lot of the underlying code and engine structure is based on Resouceful but all the hooks, events and relationships are stripped out.
var trapper_keeper = require'trapperkeeper';// Create a connection to a data storevar db = trapper_keeperconnect'mongodb' 'mongodb://127.0.0.1' 27017 database: 'awesome' ;// Create a namespaced resource// Namespace will correspond with data store key, collection, table, etc.var resource = dbresource'namespace';dbconnectionon'ready'resourcegetid callback;resourcecreateattrs callback;;
Trapper Keeper currently has engines for:
Using the cache feature is optional, current engines that support this feature:
An example of a resource with caching:
// Define a resource with cache functionalityvar resource = connection.resource('user').cache('memory');
resourcegetid callback;resourcecreateattrs callback;resourcesaveid attrs callback;resourcedestroyid callback;resourceupdateid attrs callback;resoucefindconditions callback;resouceallcallback;
$ [sudo] npm install trapperkeeper
$ npm test