@itrocks/route
Version:
Domain-driven route manager with automatic generation, decorators, and static routes
19 lines • 666 B
JavaScript
import { isObject } from '@itrocks/class-type';
import { decorate } from '@itrocks/decorator/class';
import { decoratorOfCallback } from '@itrocks/decorator/class';
const depends = {
calculate: () => ''
};
const ROUTE = Symbol('route');
export function Route(route) {
return decorate(ROUTE, route);
}
export function routeOf(target, action) {
return decoratorOfCallback(target, ROUTE, depends.calculate)
+ ((isObject(target) && ('id' in target)) ? ('/' + target.id) : '')
+ (action ? ('/' + action) : '');
}
export function routeOfDependsOn(dependencies) {
Object.assign(depends, dependencies);
}
//# sourceMappingURL=decorator.js.map