lokijs
Version:
Fast document oriented javascript in-memory database
72 lines (67 loc) • 1.37 kB
JavaScript
var loki = require('../src/lokijs.js'),
db,
users,
gordian = require('gordian'),
suite = new gordian('testTyped');
db = new loki('test.json');
function User(n) {
this.name = n || '';
this.log = function () {
console.log('Name: ' + this.name);
};
}
var json = {
"filename": "test.json",
"collections": [{
"name": "users",
"data": [{
"name": "joe",
"objType": "users",
"meta": {
"version": 0,
"created": 1415467401386,
"revision": 0
},
"$loki": 1
}, {
"name": "jack",
"objType": "users",
"meta": {
"version": 0,
"created": 1415467401388,
"revision": 0
},
"$loki": 2
}],
"idIndex": [1, 2],
"binaryIndices": {},
"objType": "users",
"transactional": false,
"cachedIndex": null,
"cachedBinaryIndex": null,
"cachedData": null,
"maxId": 2,
"DynamicViews": [],
"events": {
"insert": [null],
"update": [null],
"close": [],
"flushbuffer": [],
"error": [],
"delete": []
}
}],
"events": {
"close": []
},
"ENV": "NODEJS",
"fs": {}
};
db.loadJSON(JSON.stringify(json), {
users: {
proto: User
}
});
users = db.getCollection('users');
suite.assertEqual('Inflated object prototype', users.get(1) instanceof User, true);
suite.report();