0.1.0 • Published 11 years ago

factorify v0.1.0

Weekly downloads
1
License
-
Repository
github
Last release
11 years ago

factory

Better object factories.

Installation

Install with component(1):

$ component install mikanda/factory

Usage

var factory = require('factory');

// build factory

var User = factory()
  .sequence('seq', 'id-')
  .attr('name', function(){
    return randomName();
  });

// build object using factory

var object = new User();
console.log(object.name);  // -> 'generated random name'

API

Factory#sequence(name, prefix)

Makes this attribute a sequence number. Optional prefix is prepended to the number.

Factory#attr(name, fn)

Defines a new attribute for which the value is calculated using fn.

Object(defs)

Initialize new object. defs is an optional map to override attributes.

var User = factory()
  .attr('name', function(){
    return 'my-name';
  });
var user = new User({ name: 'my-other-name' });
console.log(user.name)  // -> 'my-other-name'

License

MIT