rexuws
Version:
An express-like framework built on top of uWebsocket.js aims at simple codebase and high performance
30 lines (29 loc) • 1.08 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const prefix_1 = require("../prefix");
const base_1 = __importDefault(require("../base"));
class DefaultRouter extends base_1.default {
// eslint-disable-next-line class-methods-use-this
transform(args) {
if (!args || !Array.isArray(args) || args.length < 2)
throw new TypeError('Invalid routing pattern');
const [path, ...middlewares] = args;
if (middlewares.some((e) => typeof e !== 'function'))
throw new TypeError('Middleware must be a function');
return [path, middlewares];
}
route(prefix) {
if (!prefix) {
throw new TypeError('Prefix must be a string');
}
this.prefixRouter = new prefix_1.PrefixRouter(prefix);
return this.prefixRouter;
}
getPrefixRouter() {
return this.prefixRouter;
}
}
exports.default = DefaultRouter;