node-dependency-injection
Version:
The NodeDependencyInjection component allows you to standardize and centralize the way objects are constructed in your application.
2 lines • 4.38 kB
JavaScript
;var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _chalk=_interopRequireDefault(require("chalk"));var _path=_interopRequireDefault(require("path"));var _commander=_interopRequireDefault(require("commander"));var _util=_interopRequireDefault(require("util"));var _lib=require("../lib/");var _JsAdapter=_interopRequireDefault(require("./Services/File/JsAdapter"));var _JsonAdapter=_interopRequireDefault(require("./Services/File/JsonAdapter"));var _XmlAdapter=_interopRequireDefault(require("./Services/File/XmlAdapter"));var _JsFileLoader=_interopRequireDefault(require("../lib/Loader/JsFileLoader"));var _JsonFileLoader=_interopRequireDefault(require("../lib/Loader/JsonFileLoader"));var _XmlFileLoader=_interopRequireDefault(require("../lib/Loader/XmlFileLoader"));require("console.table");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;}_commander["default"].arguments('<path> <service>').action(function(dir,service){var container=new _lib.ContainerBuilder();dir=_path["default"].isAbsolute(dir)?dir:_path["default"].join(process.cwd(),dir);var loader;switch(_path["default"].extname(dir).split('.').pop()){case _JsAdapter["default"].FORMAT:loader=new _JsFileLoader["default"](container);break;case _JsonAdapter["default"].FORMAT:loader=new _JsonFileLoader["default"](container);break;case _XmlAdapter["default"].FORMAT:loader=new _XmlFileLoader["default"](container);break;default:loader=new _lib.YamlFileLoader(container);}console.info(_chalk["default"].blue("Checking ".concat(dir,"...\n")));try{loader.load(dir);}catch(e){console.info(_chalk["default"].bold.red("ERROR! ".concat(e.message)));process.exit(1);}var def=container.definitions.get(service);if(!def){console.info(_chalk["default"].bold.red("Service `".concat(service,"` not found")));process.exit(1);}var argumentText='';var _iterator=_createForOfIteratorHelper(def.args),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var argument=_step.value;argumentText+="\n\t- ".concat(argument.constructor.name,":\t").concat(_chalk["default"].green(argument.id));}}catch(err){_iterator.e(err);}finally{_iterator.f();}console.table([{Attribute:'Key',Value:service},{Attribute:'Class Name',Value:def.Object.name},{Attribute:'Arguments',Value:argumentText},{Attribute:'Public',Value:def["public"].toString()},{Attribute:'Calls',Value:def.calls.length>0?_util["default"].inspect(def.calls,false,null):'[]'},{Attribute:'Tags',Value:def.tags.length>0?_util["default"].inspect(def.tags,false,null):'[]'},{Attribute:'Properties',Value:def.properties.size>0?_util["default"].inspect(def.properties,false,null):'[]'},{Attribute:'Laziness',Value:def.lazy.toString()},{Attribute:'Deprecated Message',Value:def.deprecated},{Attribute:'Factory',Value:_util["default"].inspect(def.factory)},{Attribute:'Synthetic',Value:def.synthetic.toString()},{Attribute:'Decoration',Value:def.decoratedService?"".concat(def.decoratedService," ").concat(def.decorationPriority):'null'},{Attribute:'Shared',Value:def.shared},{Attribute:'Parent',Value:def.parent}]);process.exit(0);}).parse(process.argv);if(!process.argv.slice(2).length){_commander["default"].outputHelp(function(helpText){return _chalk["default"].bold.red(helpText);});}