/*! * Express - router - Collection * Copyright(c) 2010 TJ Holowaychuk * 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; };