hexojs / Warehouse
Licence: mit
JSON database
Stars: ✭ 165
Programming Languages
javascript
184084 projects - #8 most used programming language
Warehouse
A JSON database with Models, Schemas, and a flexible querying interface. It powers the wildly successful static site generator Hexo.
Installation
$ npm install warehouse
3.0 BREAKING CHANGE
In [email protected]
, the constructor has been changed from function declaration to class
declaration or definition by class
expression.
Derived classes of classes defined by class
declarations and class
expressions must also be defined in class
declaration, class
expression.
Anyone who created their own SchemaType will need to change.
const SchemaType = require('warehouse/schematype');
class MySchemaType extends SchemaType {
constructor(name, options = {}) {
super(name, Object.assign({ foo: 'foo' }, options));
}
}
It changes to a class declaration or a class expression, but it does not need to deal with other than the definition of the constructor.
// It work!
MySchemaType.prototype.cast = function (value, data) {
let result = SchemaType.prototype.cast.call(this, value, data);
return result ? result : '';
}
Usage
var Database = require('warehouse');
var db = new Database();
var Post = db.model('posts', {
title: String,
created: {type: Date, default: Date.now}
});
Post.insert({
title: 'Hello world'
}).then(function(post){
console.log(post);
});
Test
$ npm test
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].