UNPKG

@stdlib/cli-ctor

Version:

Command-line interface.

20 lines (19 loc) 4.16 kB
"use strict";var o=function(r,e){return function(){return e||r((e={exports:{}}).exports,e),e.exports}};var j=o(function(ue,H){H.exports={pkg:{},help:"",title:!0,version:"",updates:!0,argv:null,options:{}}});var C=o(function(le,I){ function J(r){return Math.floor(r)===r}I.exports=J });var A=o(function(pe,V){ var s=require('@stdlib/error-tools-fmtprodmsg/dist'),u=Object.prototype.hasOwnProperty,c=Array.isArray;function Q(r,e){return typeof e!="object"||e===null||c(e)?new TypeError(s('0GX2V',e)):u.call(e,"pkg")&&(r.pkg=e.pkg,typeof r.pkg!="object"||r.pkg===null||c(r.pkg))?new TypeError(s('0GXCd',"pkg",r.pkg)):u.call(e,"help")&&(r.help=e.help,typeof r.help!="string")?new TypeError(s('0GX2W',"help",r.help)):u.call(e,"version")&&(r.version=e.version,typeof r.version!="string")?new TypeError(s('0GX2W',"version",r.version)):u.call(e,"title")&&(r.title=e.title,typeof r.title!="string"&&typeof r.title!="boolean")?new TypeError(s("invalid option. `%s` option must be either a string or boolean primitive. Option: `%s`.","title",r.title)):u.call(e,"updates")&&(r.updates=e.updates,typeof r.updates!="boolean")?new TypeError(s('0GX2o',"updates",r.updates)):u.call(e,"argv")&&(r.argv=e.argv,!c(r.argv))?new TypeError(s('0GX8Z',"argv",r.argv)):u.call(e,"options")&&(r.options=e.options,typeof r.options!="object"||r.options===null||c(r.options))?new TypeError(s("invalid option. `%s` option must be a plain object. Option: `%s`.","options",r.options)):null;}V.exports=Q });var x=o(function(ve,M){ var W=require("process");M.exports=W });var N=o(function(fe,P){ P.exports=console });var _=o(function(ge,R){ var X=x(),Y=X.versions.node,Z=10;function $(r,e){var i;if(i=Y.split("."),i[0]=parseInt(i[0],10),i[1]=parseInt(i[1],10),i[0]>0){r.exitCode=e;return}if(i[1]>10){r.exitCode=e;return}r.exitCode=e,setTimeout(a,Z);function a(){r.exit(e)}}R.exports=$ });var S=o(function(ye,F){ var ee=require('@stdlib/utils-define-nonenumerable-read-only-property/dist'),re=require('@stdlib/utils-noop/dist');function h(){return this instanceof h?this:new h}ee(h.prototype,"notify",re);F.exports=h });var L=o(function(ce,K){ var te=require("minimist"),m=require('@stdlib/error-tools-fmtprodmsg/dist'),f=j(),T=C(),ie=A(),n=x(),E=N(),O=_(),ne=S(),ae=Object.defineProperty,D=Object.keys;function l(r,e,i){ae(r,e,{configurable:!1,enumerable:!1,writable:!1,value:i})}function p(r){var e,i,a,t,g,q,b,k;if(!(this instanceof p))return arguments.length?new p(r):new p;if(t={pkg:{},help:f.help,title:f.title,version:f.version,updates:f.updates,argv:f.argv,options:{}},arguments.length&&(k=ie(t,r),k))throw k;if(b=this,n.stdout.on("error",n.exit),n.stderr.on("error",n.exit),l(this,"args",U),l(this,"flags",z),l(this,"help",B),l(this,"version",G),t.title===!0&&t.pkg?typeof t.pkg.bin=="object"&&t.pkg.bin!==null?(a=D(t.pkg.bin),n.title=a[0]):t.pkg.name&&(n.title=t.pkg.name):t.title&&(n.title=t.title),t.updates&&t.pkg&&t.pkg.name&&t.pkg.version&&(e={pkg:t.pkg},ne(e).notify()),!t.version&&t.pkg&&t.pkg.version&&(t.version=t.pkg.version),t.argv?t.argv=t.argv.slice(2):t.argv=n.argv.slice(2),g=te(t.argv,t.options),q=g._,delete g._,i=g,i.help)return this.help(0);if(i.version)return this.version();return this;function U(){return q.slice()}function z(){var v,d,w,y;for(v=D(i),d={},y=0;y<v.length;y++)w=v[y],d[w]=i[w];return d}function B(v){E.error(t.help),b.close(v||0)}function G(){E.error(t.version),b.close()}}l(p.prototype,"close",function(e){if(arguments.length===0){O(n,0);return}if(typeof e!="number"||!T(e)||e<0)throw new TypeError(m('0GX2K',e));O(n,e)});l(p.prototype,"error",function(e,i){var a;if(!(e instanceof Error))throw new TypeError(m("invalid argument. First argument must be an error object. Value: `%s`.",e));if(arguments.length>1){if(typeof i!="number"||!T(i)||i<0)throw new TypeError(m('0GX3X',i));a=i}else a=1;E.error("Error: %s",e.message),O(n,a)});l(p.prototype,"exit",function(e){if(arguments.length===0)return n.exit(0);if(typeof e!="number"||!T(e)||e<0)throw new TypeError(m('0GX2K',e));n.exit(e)});K.exports=p });var oe=L();module.exports=oe; /** @license Apache-2.0 */ /** @license Apache-2.0 */ /** @license Apache-2.0 */ //# sourceMappingURL=index.js.map