create-bfe-cttq
Version:
CTTQ大前端脚手架项目
59 lines (58 loc) • 1.41 kB
JavaScript
/**
* 各插件交互式命令生成的API接口
*/
module.exports = class PromptorAPI {
/**
* 构造器
* @param {*} name 插件名称
* @param {*} promptor 交互命令生成器
*/
constructor(name, promptor) {
this._name = name;
this._promptor = promptor;
}
/**
* 获取已知结果
*/
get answers() {
return this._promptor.answers;
}
/**
* 插件名称
*/
get name() {
return this._name;
}
/**
* 添加交互命令
* @param {*} questions 交互命令配置参数
*/
addQuestions(questions) {
if (!questions || typeof questions != "object") {
return;
}
if (Array.isArray(questions)) {
this._promptor.questions.push(...questions);
} else {
this._promptor.questions.push(questions);
}
}
/**
* 预制初始值
* @param {*} value 默认值
*/
presetInitialValue(value) {
if (typeof value == "object" && Object.keys(value).length > 0) {
Object.assign(this._promptor.preset, value);
}
}
/**
* 注册事件:交互命令结束后
* @param {*} complete 回调函数
*/
onComplete(complete) {
if (complete && typeof complete == "function") {
this._promptor.completes.push(complete);
}
}
}