curated-node
Version:
Not a framework. Not a module. Just a bunch of Node.js packages you most likely familiar with and probably already use, bundled together in a modular fashion.
55 lines • 5.84 kB
JavaScript
;
var __spreadArrays = (this && this.__spreadArrays) || function () {
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
for (var r = Array(s), k = 0, i = 0; i < il; i++)
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
r[k] = a[j];
return r;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ExpressRouterWrapper = void 0;
var express_1 = __importDefault(require("express"));
var normalize_path_1 = __importDefault(require("normalize-path"));
var ExpressRouterWrapper = (function () {
function ExpressRouterWrapper(_basePath, routes, _routerOptions) {
var _a;
var _b, _c, _d, _e, _f;
this._basePath = _basePath;
this._routerOptions = _routerOptions;
this._routes = [];
this._router = express_1.default.Router((_b = this._routerOptions) !== null && _b !== void 0 ? _b : {});
for (var _i = 0, routes_1 = routes; _i < routes_1.length; _i++) {
var route = routes_1[_i];
this._routes.push(route);
(_a = this._router
.route(normalize_path_1.default("/" + this._basePath + "/" + route.path)))[route.method].apply(_a, __spreadArrays(((_d = (_c = route.middleware) === null || _c === void 0 ? void 0 : _c.preRoute) !== null && _d !== void 0 ? _d : []), [route.handler], ((_f = (_e = route.middleware) === null || _e === void 0 ? void 0 : _e.postRoute) !== null && _f !== void 0 ? _f : [])));
}
}
Object.defineProperty(ExpressRouterWrapper.prototype, "basePath", {
get: function () {
return this._basePath;
},
enumerable: false,
configurable: true
});
Object.defineProperty(ExpressRouterWrapper.prototype, "router", {
get: function () {
return this._router;
},
enumerable: false,
configurable: true
});
Object.defineProperty(ExpressRouterWrapper.prototype, "routerOptions", {
get: function () {
return this._routerOptions;
},
enumerable: false,
configurable: true
});
return ExpressRouterWrapper;
}());
exports.ExpressRouterWrapper = ExpressRouterWrapper;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhwcmVzc1JvdXRlcldyYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9FeHByZXNzUm91dGVyV3JhcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEsb0RBR2dCO0FBQ2hCLGtFQUEwQztBQXdCMUM7SUFJRSw4QkFDbUIsU0FBaUIsRUFDbEMsTUFBc0IsRUFDTCxjQUFxQzs7O1FBRnJDLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFFakIsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBTnZDLFlBQU8sR0FBbUIsRUFBRSxDQUFBO1FBUTNDLElBQUksQ0FBQyxPQUFPLEdBQUcsaUJBQU8sQ0FBQyxNQUFNLE9BQUMsSUFBSSxDQUFDLGNBQWMsbUNBQUksRUFBRSxDQUFDLENBQUE7UUFFeEQsS0FBb0IsVUFBTSxFQUFOLGlCQUFNLEVBQU4sb0JBQU0sRUFBTixJQUFNLEVBQUU7WUFBdkIsSUFBTSxLQUFLLGVBQUE7WUFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUV4QixDQUFBLEtBQUEsSUFBSSxDQUFDLE9BQU87aUJBQ1QsS0FBSyxDQUFDLHdCQUFhLENBQUMsTUFBSSxJQUFJLENBQUMsU0FBUyxTQUFJLEtBQUssQ0FBQyxJQUFNLENBQUMsQ0FBQyxDQUFBLENBQ3hELEtBQUssQ0FBQyxNQUFNLENBQUMsMEJBQ1QsYUFBQyxLQUFLLENBQUMsVUFBVSwwQ0FBRSxRQUFRLG1DQUFJLEVBQUUsQ0FBQyxHQUNyQyxLQUFLLENBQUMsT0FBTyxHQUNWLGFBQUMsS0FBSyxDQUFDLFVBQVUsMENBQUUsU0FBUyxtQ0FBSSxFQUFFLENBQUMsR0FDdkM7U0FDSjtJQUNILENBQUM7SUFFRCxzQkFBSSwwQ0FBUTthQUFaO1lBQ0UsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFBO1FBQ3ZCLENBQUM7OztPQUFBO0lBRUQsc0JBQUksd0NBQU07YUFBVjtZQUNFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQTtRQUNyQixDQUFDOzs7T0FBQTtJQUVELHNCQUFJLCtDQUFhO2FBQWpCO1lBQ0UsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFBO1FBQzVCLENBQUM7OztPQUFBO0lBQ0gsMkJBQUM7QUFBRCxDQUFDLEFBbkNELElBbUNDO0FBbkNZLG9EQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBleHByZXNzLCB7XG4gIFJvdXRlciBhcyBFeHByZXNzUm91dGVyLFxuICBSb3V0ZXJPcHRpb25zIGFzIEV4cHJlc3NSb3V0ZXJPcHRpb25zXG59IGZyb20gXCJleHByZXNzXCJcbmltcG9ydCBub3JtYWxpemVQYXRoIGZyb20gXCJub3JtYWxpemUtcGF0aFwiXG5cbmludGVyZmFjZSBFeHByZXNzUm91dGUge1xuICBwYXRoOiBzdHJpbmdcbiAgbWV0aG9kOiBFeHByZXNzUm91dGVyUmVxdWVzdE1ldGhvZFxuICBoYW5kbGVyOiBFeHByZXNzUm91dGVyUmVxdWVzdEhhbmRsZXJcbiAgbWlkZGxld2FyZT86IHtcbiAgICBwcmVSb3V0ZT86IEV4cHJlc3NSb3V0ZXJSZXF1ZXN0SGFuZGxlcltdXG4gICAgcG9zdFJvdXRlPzogRXhwcmVzc1JvdXRlclJlcXVlc3RIYW5kbGVyW11cbiAgfVxufVxuXG50eXBlIEV4cHJlc3NSb3V0ZXJSZXF1ZXN0TWV0aG9kID1cbiAgfCBcImdldFwiXG4gIHwgXCJoZWFkXCJcbiAgfCBcInBvc3RcIlxuICB8IFwicHV0XCJcbiAgfCBcInBhdGNoXCJcbiAgfCBcImRlbGV0ZVwiXG4gIHwgXCJvcHRpb25zXCJcbiAgfCBcInRyYWNlXCJcblxudHlwZSBFeHByZXNzUm91dGVyUmVxdWVzdEhhbmRsZXIgPSAoLi4uYXJnczogYW55W10pID0+IGFueVxuXG5leHBvcnQgY2xhc3MgRXhwcmVzc1JvdXRlcldyYXBwZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IF9yb3V0ZXM6IEV4cHJlc3NSb3V0ZVtdID0gW11cbiAgcHJpdmF0ZSByZWFkb25seSBfcm91dGVyOiBFeHByZXNzUm91dGVyXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfYmFzZVBhdGg6IHN0cmluZyxcbiAgICByb3V0ZXM6IEV4cHJlc3NSb3V0ZVtdLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3JvdXRlck9wdGlvbnM/OiBFeHByZXNzUm91dGVyT3B0aW9uc1xuICApIHtcbiAgICB0aGlzLl9yb3V0ZXIgPSBleHByZXNzLlJvdXRlcih0aGlzLl9yb3V0ZXJPcHRpb25zID8/IHt9KVxuXG4gICAgZm9yIChjb25zdCByb3V0ZSBvZiByb3V0ZXMpIHtcbiAgICAgIHRoaXMuX3JvdXRlcy5wdXNoKHJvdXRlKVxuXG4gICAgICB0aGlzLl9yb3V0ZXJcbiAgICAgICAgLnJvdXRlKG5vcm1hbGl6ZVBhdGgoYC8ke3RoaXMuX2Jhc2VQYXRofS8ke3JvdXRlLnBhdGh9YCkpXG4gICAgICAgIFtyb3V0ZS5tZXRob2RdKFxuICAgICAgICAgIC4uLihyb3V0ZS5taWRkbGV3YXJlPy5wcmVSb3V0ZSA/PyBbXSksXG4gICAgICAgICAgcm91dGUuaGFuZGxlcixcbiAgICAgICAgICAuLi4ocm91dGUubWlkZGxld2FyZT8ucG9zdFJvdXRlID8/IFtdKVxuICAgICAgICApXG4gICAgfVxuICB9XG5cbiAgZ2V0IGJhc2VQYXRoKCkge1xuICAgIHJldHVybiB0aGlzLl9iYXNlUGF0aFxuICB9XG5cbiAgZ2V0IHJvdXRlcigpIHtcbiAgICByZXR1cm4gdGhpcy5fcm91dGVyXG4gIH1cblxuICBnZXQgcm91dGVyT3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fcm91dGVyT3B0aW9uc1xuICB9XG59XG4iXX0=