Skip to content

audinue/neonjs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

NeonJS

NeonJS Logo

Yet another ODM for NeDB inspired by Mongorito.

npm install neonjs

Tested on:

let neonjs = require('neonjs')
let Model = neonjs.Model

// Define your models
class UserModel extends Model {

  sayHello () {
    return 'Hello ' + this.name
  }
}

// Assign your models to NeDB instances
let Nedb = require('nedb')
let User = UserModel.for(new Nedb({ filename: 'users.db', autoload: true }))

// Use your models
let run = neonjs.run // Batteries included

run(function * () {
  let user = new User({
    name: 'John Doe'
  })

  // No callbacks required :)
  yield user.save()

  let users = yield User.find().limit(7).exec()
})

API

Expressed in TypeScript (though I don't use one).

class Model {

  save (): Promise<Model> {}

  remove (): Promise<Model> {}

  static for <T extends Model> (db: Nedb): T {}

  static find (query?: Object): ModelCursor {}

  static findOne (query?: Object): ModelCursor {}

  static count (query?: Object): ModelCursor {}

  static save (models: Array<Model>): Promise<Array<Model>> {}

  static remove (models: Array<Model>): Promise<Array<Model>> {}
}

class ModelCursor {

  sort (value): ModelCursor {}

  limit (value): ModelCursor {}

  skip (value): ModelCursor {}

  populate (property, model): ModelCursor {}

  exec(): Promise<any> {}
}

function run (generator: Function): Promise<any> {}

run.for = function (array: Array<any>, generator: Function): Promise<Array<any>> {}

More information later. Stay tuned.

About

Yet another ODM for NeDB inspired by Mongorito.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published