UNPKG

@itrocks/route

Version:

Domain-driven route manager with automatic generation, decorators, and static routes

19 lines 666 B
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