sdin
Version:
JavaScript package builder.
2 lines • 1.13 kB
JavaScript
Object.defineProperty(exports,"__esModule",{value:!0}),exports.input=r,exports.select=e;var v=require("enquirer"),c=require("lodash"),d=require("./print"),f=require("./errors");async function e(e){var{key:r,value:t,preset:i,title:a}=e,l=e.options.filter(e=>!0!==e.disabled);if(0==l.length)throw new f.EnquiringError(f.EnquiringError.SELECTING_OPTIONS_EMPTY,'Selecting options of enquiring "'.concat(r,'" is empty.'));if(1==l.length)return l[0].value;if(t)for(var n of l)if(n.value===t)return n.value;let u=void 0,o=void 0,s=0;for(let e=0;e<l.length;e++){var p=l[e];void 0===u&&(u=e),void 0===o&&p.value===i&&(o=e),p.label.length>s&&(s=p.label.length)}return(await(0,v.prompt)([{type:"select",name:r,message:a,required:!0,initial:null!=(e=o)?e:u,choices:l.map(e=>({name:e.label,value:e.value,message:e.desc?"".concat((0,d.blue)((0,c.padEnd)(e.label,s+2))," ").concat(e.desc):e.label}))}]))[r]}async function r(e){var{key:e,value:r,preset:t,title:i,output:a,validate:l}=e;return r?a?a(r):r:(await(0,v.prompt)([{type:"input",name:e,message:i,required:!0,initial:t,result:a,validate:l}]))[e]}
//# sourceMappingURL=enquire.js.map