node-dependency-injection
Version:
The NodeDependencyInjection component allows you to standardize and centralize the way objects are constructed in your application.
1 lines • 4.75 kB
JavaScript
;var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var _n=0,F=function F(){};return{s:F,n:function n(){return _n>=r.length?{done:!0}:{done:!1,value:r[_n++]};},e:function e(r){throw r;},f:F};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var o,a=!0,u=!1;return{s:function s(){t=t.call(r);},n:function n(){var r=t.next();return a=r.done,r;},e:function e(r){u=!0,o=r;},f:function f(){try{a||null==t["return"]||t["return"]();}finally{if(u)throw o;}}};}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}var DecoratePass=exports["default"]=function(){function DecoratePass(){(0,_classCallCheck2["default"])(this,DecoratePass);}return(0,_createClass2["default"])(DecoratePass,[{key:"_processDefinitionKeys",value:(function(){var _processDefinitionKeys2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(name){var definition;return _regenerator["default"].wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:definition=this._container.definitions.get(name);if(definition.decorationPriority){this._priority[definition.decorationPriority]={name:name,definition:definition};}else if(definition.decoratedService&&!name.includes(DecoratePass.POSTFIX_INNER)){this._priority.push({name:name,definition:definition});}case 2:case"end":return _context.stop();}},_callee,this);}));function _processDefinitionKeys(_x){return _processDefinitionKeys2.apply(this,arguments);}return _processDefinitionKeys;}())},{key:"_processDecorates",value:(function(){var _processDecorates2=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(decorate){return _regenerator["default"].wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:this._container.loggerHelper.debug("Applying decoration: ".concat(decorate.name," decorates ").concat(decorate.definition.decoratedService));this._container.setDefinition("".concat(decorate.name,".").concat(DecoratePass.POSTFIX_INNER),this._container.definitions.get(decorate.definition.decoratedService));decorate.definition["public"]=true;this._container.setDefinition(decorate.definition.decoratedService,decorate.definition);case 4:case"end":return _context2.stop();}},_callee2,this);}));function _processDecorates(_x2){return _processDecorates2.apply(this,arguments);}return _processDecorates;}())},{key:"process",value:(function(){var _process=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3(container){var promises,_iterator,_step,definitionId,decorates,_iterator2,_step2,decorate;return _regenerator["default"].wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:this._container=container;this._priority=[];promises=[];_iterator=_createForOfIteratorHelper(container.definitions.keys());try{for(_iterator.s();!(_step=_iterator.n()).done;){definitionId=_step.value;promises.push(this._processDefinitionKeys(definitionId));}}catch(err){_iterator.e(err);}finally{_iterator.f();}decorates=this._priority.filter(function(item){return item!==null;});_iterator2=_createForOfIteratorHelper(decorates);try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){decorate=_step2.value;promises.push(this._processDecorates(decorate));}}catch(err){_iterator2.e(err);}finally{_iterator2.f();}_context3.next=10;return Promise.all(promises);case 10:case"end":return _context3.stop();}},_callee3,this);}));function process(_x3){return _process.apply(this,arguments);}return process;}())}],[{key:"POSTFIX_INNER",get:function get(){return'inner';}}]);}();