@itrocks/route
Version:
Domain-driven route manager with automatic generation, decorators, and static routes
24 lines • 855 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Route = Route;
exports.routeOf = routeOf;
exports.routeOfDependsOn = routeOfDependsOn;
const class_type_1 = require("@itrocks/class-type");
const class_1 = require("@itrocks/decorator/class");
const class_2 = require("@itrocks/decorator/class");
const depends = {
calculate: () => ''
};
const ROUTE = Symbol('route');
function Route(route) {
return (0, class_1.decorate)(ROUTE, route);
}
function routeOf(target, action) {
return (0, class_2.decoratorOfCallback)(target, ROUTE, depends.calculate)
+ (((0, class_type_1.isObject)(target) && ('id' in target)) ? ('/' + target.id) : '')
+ (action ? ('/' + action) : '');
}
function routeOfDependsOn(dependencies) {
Object.assign(depends, dependencies);
}
//# sourceMappingURL=decorator.js.map