UNPKG

@lattice/core

Version:
19 lines (18 loc) 762 B
"use strict"; 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;