nyx_server
Version:
Node内容发布
38 lines (34 loc) • 1.23 kB
JavaScript
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;