@lottojs/lotto
Version:
Simple, lightweight and dependency-free NodeJS web application framework.
40 lines • 1.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildRouteParameters = exports.handlerUtils = void 0;
const utils_1 = require("../utils/utils");
function handlerUtils(req, res) {
res.json = function (body) {
res.setHeader('Content-Type', 'application/json');
res.end((0, utils_1.toString)(body));
return this;
};
res.status = function (code) {
res.statusCode = code;
return this;
};
res.text = function (body) {
res.setHeader('Content-Type', 'text/plain');
res.end(String(body));
return this;
};
req.file = function (field) {
var _a;
return (_a = req.files) === null || _a === void 0 ? void 0 : _a.find((file) => file.name === field);
};
req.get = function (query) {
return req.query[query];
};
req.param = function (param) {
return req.params[param];
};
}
exports.handlerUtils = handlerUtils;
function buildRouteParameters(path) {
const escapedPath = path.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
const pathRegExp = escapedPath.replace(/:([^\/?]+)/g, '(?<$1>[^/?]+)');
const queryRegExp = '(\\?(?<query>.*)?)?$';
const fullRegExp = new RegExp(`^${pathRegExp}${queryRegExp}`);
return fullRegExp;
}
exports.buildRouteParameters = buildRouteParameters;
//# sourceMappingURL=router.utils.js.map