/*! * 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; };