UNPKG

nyx_server

Version:

Node内容发布

38 lines (34 loc) 1.23 kB
var Promise = require("bluebird"); var EmptyContext = require("./EmptyContext"); var projectFn = require("./Project"); /** * 装载碎片 * @param {String}chipType 碎片类型 */ function loadChip(chipType) { var context = this.log ? this : EmptyContext; var splits = chipType.split('.'); var projectName = splits[0]; var _chipType = splits[1]; var projectLoader = require('./ProjectLoader'); return projectLoader.loadProjects.bind(context)({ name: projectName }).then(function (projects) { if (projects && projects.length > 0) { //一个项目名只可能找到一个项目 return projectFn.loadChips.bind(context)(projects[0]).then(function (chips) { var ret = null; if (chips && chips.length > 0) { for (var i = 0; i < chips.length; i++) { var chip = chips[i]; if (chip.getName() == _chipType) { ret = chip; break; } } } return ret; }); } else { return null; } }); } module.exports.loadChip = loadChip;