UNPKG

tsioc

Version:

tsioc is AOP, Ioc container, via typescript decorator

36 lines (34 loc) 1.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); require("reflect-metadata"); var DecoratorFactory_1 = require("./DecoratorFactory"); var DecoratorType_1 = require("./DecoratorType"); var index_1 = require("../../utils/index"); /** * create method decorator. * * @export * @template T metadata type. * @param {string} name decorator name. * @param {MetadataAdapter} [adapter] metadata adapter * @param {MetadataExtends<T>} [metadataExtends] add extents for metadata. * @returns */ function createMethodDecorator(name, adapter, metadataExtends) { var methodAdapter = function (args) { if (adapter) { adapter(args); } args.next({ match: function (arg) { return index_1.isArray(arg); }, setMetadata: function (metadata, arg) { metadata.providers = arg; } }); }; var decorator = DecoratorFactory_1.createDecorator(name, methodAdapter, metadataExtends); decorator.decoratorType = DecoratorType_1.DecoratorType.Method; return decorator; } exports.createMethodDecorator = createMethodDecorator; //# sourceMappingURL=../../sourcemaps/core/factories/MethodDecoratorFactory.js.map