UNPKG

node-dependency-injection

Version:

The NodeDependencyInjection component allows you to standardize and centralize the way objects are constructed in your application.

1 lines 1.77 kB
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _PackageReference=_interopRequireDefault(require("../PackageReference"));var _Reference=_interopRequireDefault(require("../Reference"));var _TagReference=_interopRequireDefault(require("../TagReference"));var Argument=exports["default"]=function(){function Argument(container){(0,_classCallCheck2["default"])(this,Argument);this._container=container;}return(0,_createClass2["default"])(Argument,[{key:"parse",value:function parse(argument){if(typeof argument!=='boolean'&&argument.slice(0,1)==='@'){var referenceId=this._getReferenceIdFromArgument(argument);var referenceNullable=argument.slice(1,2)==='?';return new _Reference["default"](referenceId,referenceNullable);}if(typeof argument!=='boolean'&&argument.slice(0,1)==='%'){return this._getArgumentParameter(argument);}if(typeof argument!=='boolean'&&argument.slice(0,7)==='!tagged'){return new _TagReference["default"](argument.slice(8));}return argument;}},{key:"_getReferenceIdFromArgument",value:function _getReferenceIdFromArgument(argument){return argument.slice(1,2)==='?'?argument.slice(2):argument.slice(1);}},{key:"_getArgumentParameter",value:function _getArgumentParameter(argument){if(argument.slice(-1)!=='%'){return new _PackageReference["default"](argument.slice(1));}if(argument.slice(-1)==='%'&&argument.slice(1,4)==='env'){return process.env[argument.slice(5,-2)];}return this._container.getParameter(argument.slice(1,-1));}}]);}();