mirror of
https://github.com/Hopiu/postal.js.git
synced 2026-03-17 06:30:23 +00:00
52 lines
849 B
JavaScript
52 lines
849 B
JavaScript
/*!
|
|
* Express - router - Collection
|
|
* Copyright(c) 2010 TJ Holowaychuk <tj@vision-media.ca>
|
|
* MIT Licensed
|
|
*/
|
|
|
|
/**
|
|
* Expose `Collection`.
|
|
*/
|
|
|
|
module.exports = Collection;
|
|
|
|
/**
|
|
* Initialize a new route `Collection`
|
|
* with the given `router`.
|
|
*
|
|
* @param {Router} router
|
|
* @api private
|
|
*/
|
|
|
|
function Collection( router ) {
|
|
Array.apply( this, arguments );
|
|
this.router = router;
|
|
}
|
|
|
|
/**
|
|
* Inherit from `Array.prototype`.
|
|
*/
|
|
|
|
Collection.prototype.__proto__ = Array.prototype;
|
|
|
|
/**
|
|
* Remove the routes in this collection.
|
|
*
|
|
* @return {Collection} of routes removed
|
|
* @api public
|
|
*/
|
|
|
|
Collection.prototype.remove = function () {
|
|
var router = this.router
|
|
, len = this.length
|
|
, ret = new Collection( this.router );
|
|
|
|
for ( var i = 0; i < len; ++i ) {
|
|
if ( router.remove( this[i] ) ) {
|
|
ret.push( this[i] );
|
|
}
|
|
}
|
|
|
|
return ret;
|
|
};
|
|
|