Skip to content
A super lightweight and storage agnostic data abstraction layer.
JavaScript
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib
test
.gitignore
.travis.yml
LICENSE
README.md
package.json

README.md

Trapper Keeper

A super lightweight and storage agnostic data abstraction layer.

Build Status

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.

Example

var trapper_keeper = require('trapperkeeper');

// Create a connection to a data store
var db = trapper_keeper.connect('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 = db.resource('namespace');

db.connection.on('ready', function() {
  resource.get(id, callback);
  resource.create(attrs, callback);
});

Engines

Trapper Keeper currently has engines for:

  • Memory
  • MongoDB

Function Signatures

resource.get(id, callback);

resource.create(attrs, callback);

resource.save(id, attrs, callback);

resource.destroy(id, callback);

resource.update(id, attrs, callback);

resouce.find(conditions, callback);

resouce.all(callback);

Installation

Installing trapper-keeper

  $ [sudo] npm install trapperkeeper

Tests

All tests are written with mocha and should be run with npm:

  $ npm test
Something went wrong with that request. Please try again.