@lattice/core
Version:
19 lines (18 loc) • 762 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var inject_1 = require("../../inject");
var inversify_1 = require("inversify");
var defaultWeight = 100;
exports.MIDDLEWARE_TOKEN = '__middleware__';
exports.MIDDLEWARE_META = '__middleware_meta__';
function Middleware(regExp, weight) {
weight = weight || ++defaultWeight;
return function (constructor) {
var targetContainer = inject_1.controllerContainer;
var target = inversify_1.injectable()(constructor);
Reflect.defineMetadata(exports.MIDDLEWARE_META, { regExp: regExp, weight: weight }, target);
targetContainer.bind(exports.MIDDLEWARE_TOKEN).to(target).inSingletonScope();
return target;
};
}
exports.Middleware = Middleware;