chore(project) cleanup

This commit is contained in:
Benjamin Wegener
2023-12-25 01:52:41 +00:00
parent 785452cdea
commit bbac46c642
18 changed files with 199 additions and 67 deletions

84
lib/Routing/LayRouting.js Normal file
View File

@@ -0,0 +1,84 @@
export default class LayRouting {
router;
namespace;
constructor(router, namespace = null) {
this.router = router;
if (namespace !== null) this.namespace = namespace;
}
setNamespace(ns) {
if (!ns || typeof ns != 'string') this.namespace = null;
this.namespace = ns;
}
routes() {
return this.router.routes;
}
add(path, cb, method) {
if (this.namespace) {
if (!path.startsWith('/')) path = '/' + path;
path = this.namespace + path;
}
this.router.add(path, cb, method);
}
route(config = {}) {
if (typeof config != 'object')
throw new Error('route config is not an object');
const { path, handle, method = 'get' } = config;
if (typeof path != 'string')
throw new Error('route path is not a string');
if (typeof handle != 'function')
throw new Error('route handle is not a function');
this.add(path, handle, method);
return this;
}
any(path, cb) {
this.all(path, cb);
}
all(path, cb) {
this.add(path, cb, 'all');
return this;
}
get(path, cb) {
this.add(path, cb, 'get');
return this;
}
post(path, cb) {
this.add(path, cb, 'post');
return this;
}
put(path, cb) {
this.add(path, cb, 'put');
return this;
}
patch(path, cb) {
this.add(path, cb, 'patch');
return this;
}
delete(path, cb) {
this.add(path, cb, 'delete');
return this;
}
head(path, cb) {
this.add(path, cb, 'head');
return this;
}
options(path, cb) {
this.add(path, cb, 'options');
return this;
}
}