37 lines
730 B
JavaScript
37 lines
730 B
JavaScript
'use strict'
|
|
|
|
module.exports = User;
|
|
|
|
// faux model
|
|
|
|
function User(name, age, species) {
|
|
this.name = name;
|
|
this.age = age;
|
|
this.species = species;
|
|
}
|
|
|
|
User.all = function(fn){
|
|
// process.nextTick makes sure this function API
|
|
// behaves in an asynchronous manner, like if it
|
|
// was a real DB query to read all users.
|
|
process.nextTick(function(){
|
|
fn(null, users);
|
|
});
|
|
};
|
|
|
|
User.count = function(fn){
|
|
process.nextTick(function(){
|
|
fn(null, users.length);
|
|
});
|
|
};
|
|
|
|
// faux database
|
|
|
|
var users = [];
|
|
|
|
users.push(new User('Tobi', 2, 'ferret'));
|
|
users.push(new User('Loki', 1, 'ferret'));
|
|
users.push(new User('Jane', 6, 'ferret'));
|
|
users.push(new User('Luna', 1, 'cat'));
|
|
users.push(new User('Manny', 1, 'cat'));
|