UNPKG

@lottojs/lotto

Version:

Simple, lightweight and dependency-free NodeJS web application framework.

40 lines 1.39 kB
"use strict"; 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