0.2.4 • Published 10 years ago

anchorjs v0.2.4

Weekly downloads
4
License
MIT
Repository
github
Last release
10 years ago

AnchorJS

Build Status

AnchorJS is a (express inspired) middleware layer for scaffolding asynchronous JavaScript methods.

Installation

Node.js

$ npm install anchorjs

Browser

Include the Anchor.js browser build in your pages.

<script src="anchor.js" type="text/javascript"></script>

This will provide anchor as a global object, or define it if you are using AMD.

##Example

Middleware

var anchor = require('anchorjs');

function Clock(){
  this._tick = 'tick';
  this._tock = 'tock';
}
anchor(Clock.prototype)
  .use(function(ctx, next){
    ctx.logs = ['clock',this._tick];
    next();
  })
  .use('tock',function(ctx, next){
    ctx.logs.push(this._tock);
    next();
  })
  .define(['tick','tock'],function(ctx, done){
    ctx.logs.push('done');
    done(null, ctx.logs);
  });

var clock1 = new Clock();
var clock2 = new Clock();

//middleware on prototypal instance
clock2.use('tick',function(ctx, next){
  ctx.logs.push('tick2');
  next();
});
clock2.use('tock',function(ctx, next){
  next('booooom'); //error
});

//Results
clock1.tick(console.log.bind(console)); //null [ 'clock', 'tick', 'done' ]
clock1.tock(console.log.bind(console)); //null ['clock','tick','tock','done']
clock2.tick(console.log.bind(console)); //null ['clock','tick','tick2','done']
clock2.tock(console.log.bind(console)); //'booooom'

Changelog

0.2.4

  • ADD array support for middleware arguments

0.2.3

  • ADD scope

0.2.2

  • ADD onEnd callback

0.2.1

  • Clean up unnecessary API methods

0.2.0

  • ADD params parser middleware

0.1.2

  • Simplify API

License

MIT

0.2.4

10 years ago

0.2.3

11 years ago

0.2.2

11 years ago

0.2.1

11 years ago

0.2.0

11 years ago

0.1.2

11 years ago

0.1.0

11 years ago