UNPKG

mobile-cli-lib

Version:
44 lines (43 loc) 2.33 kB
"use strict"; var npm_plugins_source_1 = require("./npm-plugins-source"); var npm_registry_plugins_source_1 = require("./npm-registry-plugins-source"); var npmjs_plugins_source_1 = require("./npmjs-plugins-source"); var NpmPluginsService = (function () { function NpmPluginsService($injector) { this.$injector = $injector; } NpmPluginsService.prototype.search = function (projectDir, keywords, modifySearchQuery) { var _this = this; return (function () { var query = modifySearchQuery ? modifySearchQuery(keywords) : keywords; var pluginsSource = _this.searchCore(npmjs_plugins_source_1.NpmjsPluginsSource, projectDir, keywords).wait() || _this.searchCore(npm_registry_plugins_source_1.NpmRegistryPluginsSource, projectDir, keywords).wait() || _this.preparePluginsSource(npm_plugins_source_1.NpmPluginsSource, projectDir, query).wait(); return pluginsSource; }).future()(); }; NpmPluginsService.prototype.optimizedSearch = function (projectDir, keywords, modifySearchQuery) { var _this = this; return (function () { return _this.searchCore(npm_registry_plugins_source_1.NpmRegistryPluginsSource, projectDir, keywords).wait() || _this.search(projectDir, keywords, modifySearchQuery).wait(); }).future()(); }; NpmPluginsService.prototype.searchCore = function (pluginsSourceConstructor, projectDir, keywords) { var _this = this; return (function () { var npmPluginsSource = _this.preparePluginsSource(pluginsSourceConstructor, projectDir, keywords).wait(); return npmPluginsSource.hasPlugins() ? npmPluginsSource : null; }).future()(); }; NpmPluginsService.prototype.preparePluginsSource = function (pluginsSourceConstructor, projectDir, keywords) { var _this = this; return (function () { var pluginsSource = _this.$injector.resolve(pluginsSourceConstructor, { projectDir: projectDir, keywords: keywords }); pluginsSource.initialize(projectDir, keywords).wait(); return pluginsSource; }).future()(); }; return NpmPluginsService; }()); exports.NpmPluginsService = NpmPluginsService; $injector.register("npmPluginsService", NpmPluginsService);