UNPKG

tsioc

Version:

tsioc is AOP, Ioc container, via typescript decorator

43 lines (41 loc) 1.58 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 parameter or property decorator * * @export * @template T * @param {string} name * @param {MetadataAdapter} [adapter] metadata adapter * @param {MetadataExtends<T>} [metadataExtends] add extents for metadata. * @returns {IParamPropDecorator<T>} */ function createParamPropDecorator(name, adapter, metadataExtends) { var paramPropAdapter = (function (args) { if (adapter) { adapter(args); } args.next({ isMetadata: function (arg) { return index_1.isParamPropMetadata(arg); }, match: function (arg) { return index_1.isToken(arg); }, setMetadata: function (metadata, arg) { metadata.provider = arg; } }); // args.next<T>({ // match: (arg) => isString(arg), // setMetadata: (metadata, arg) => { // metadata.alias = arg; // } // }); }); var decorator = DecoratorFactory_1.createDecorator(name, paramPropAdapter, metadataExtends); decorator.decoratorType = DecoratorType_1.DecoratorType.Property | DecoratorType_1.DecoratorType.Parameter; return decorator; } exports.createParamPropDecorator = createParamPropDecorator; //# sourceMappingURL=../../sourcemaps/core/factories/ParamPropDecoratorFactory.js.map