/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/pretty-swag@0.2.4/pretty-swag.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
var esprima=require("esprima"),livedoc=require("livedoc"),marked=require("marked"),pluralize=require("pluralize"),$RefParser=require("json-schema-ref-parser"),indent_num=3;function format(e,t){var r=[""," ".repeat(t)," ".repeat(2*t)," ".repeat(3*t)," ".repeat(4*t)," ".repeat(5*t)];result="";for(var a,n,i=0,o="\n",s=!1,p=0,l=[],m=2;m<e.length;m++)if(i===r.length&&r.push(" ".repeat(t*i)),"{"===e[m].value||"["===e[m].value)s?(result+=e[m].value,p+=e[m].value.length):(a=r[i],result+=a+e[m].value),"BlockComment"!==e[m+1].type&&(result+=o,p=0),i+=1,s=!1,l.push(e[m].value);else if("}"===e[m].value||"]"===e[m].value)a=r[i-=1],result+=a+e[m].value,m+1<e.length&&","!==e[m+1].value&&(result+=o,p=0),l.pop();else if("BlockComment"===e[m].type){if(m+1<e.length-1&&"String"===e[m+1].type&&"Punctuator"!==e[m-1].type&&(result+=",",p+=1),1==(n=e[m].value.split("\n")).length)result+="     /* "+n[0]+" */"+o;else{result+="     /* "+n[0]+o,a=" ".repeat(p+(i-(e[m-1]&&"Punctuator"===e[m-1].type?1:0))*t);for(var c=1;c<n.length;c++)result+=a+"      * "+n[c]+o;result+=a+"      */"+o}p=0}else":"===e[m].value?(result+=": ",s=!0,p+=2):","===e[m].value?(result+=",","BlockComment"!==e[m+1].type?(result+=o,p=0):p+=1):(a=s?"":r[i],result+=a+e[m].value,m<e.length-1&&(s&&"BlockComment"!==e[m+1].type&&","!==e[m+1].value||","!==e[m+1].value&&"["===l[l.length-1]?(result+=o,p=0):p+=e[m].value.length),s=!1);return result}function computeSchema(e,t,r,a){if(a||(a=[]),"string"==typeof e){if(a.push(!!r.required),"array"===e){if(r.items){if(r.items.enum){if("string"===r.items.type){let e=r.items.enum.length<4?",":",\n";return"["+r.items.enum.map((function(e){return'"'+e+'"'})).join(e)+"]"}return"["+r.items.enum+"]"}return'["'+r.items.type+'"]'}return"[]"}return e}var n="a="+resolveNested(e,t,a),i=esprima.tokenize(n,{comment:!0});return tmp=format(i,indent_num),unEscapeComment(tmp)}function sortTags(e,t){return e[0]===e[0].toUpperCase()&&t[0]!==t[0].toUpperCase()?1:e[0]!==e[0].toUpperCase()&&t[0]===t[0].toUpperCase()?-1:e<t}function replace(e,t,r){for(var a=0;a<r.length;a++)-1!=r[a].indexOf(e)&&(r[a]=r[a].split(e).join(t));return r}function joinObjectVals(e){if(!e||0==e.length)return"";for(var t="",r=0;r<e.length;r++)e[r].endsWith("*/")?t+=e[r]:t+=e[r]+",";return t.endsWith(",")?t.substr(0,t.length-1):t}function escapeComment(e){return e.replace(/\*\//g,"END-COMMENT-TOKEN")}function unEscapeComment(e){return e.replace(/END-COMMENT-TOKEN/g,"*/")}function resolveNested(e,t,r){var a="";try{var n;if("allOf"in e?n="allOf":"anyOf"in e?n="anyOf":"oneOf"in e&&(n="oneOf"),"additionalProperties"in e&&"object"===e.type){e.properties||(e.properties={});let t={},r=e.additionalProperties["__pretty-swag-name__"]?e.additionalProperties["__pretty-swag-name__"]+"_1":"additionalProperty_1";"object"===e.additionalProperties.type?t[r]={type:"object",properties:e.additionalProperties.properties}:t.additionalProperties_1=e.additionalProperties,Object.assign(e.properties,t)}if(n){for(var i=[],o=e[n]||[],s=0;s<o.length;s++)i.push(resolveNested(o[s],t,r));if("properties"in e){var p=JSON.parse(JSON.stringify(e));delete p[n],i.push(resolveNested(p,t,r))}return 1==i.length?i[0]:merge(i)}if("type"in e||"properties"in e){if("array"===e.type){var l=[];if(a=e.description?"/*"+escapeComment(e.description)+"*/":"",r.push(!1),Array.isArray(e.items))for(var m in e.items)l.push(resolveNested(e.items[m],t,r));else"object"!==e.items.type&&r.push(!1),l.push(resolveNested(e.items,t,r));return r.push(!1),"["+a+l.join(",")+"]"}if("object"===e.type||"properties"in e){var c=[];for(var u in r.push(!1),e.properties)if(Array.isArray(e.required)?r.push(-1!==e.required.indexOf(u)):r.push(!1),"array"===e.properties[u].type||"object"===e.properties[u].type||"properties"in e.properties[u]||"allOf"in e.properties[u]||"anyOf"in e.properties[u]||"oneOf"in e.properties[u]){let a=[];if(c.push('"'+u+'":'+resolveNested(e.properties[u],t,a)),a.length>0)for(let e=1;e<a.length;e++)r.push(a[e])}else if(a=e.properties[u].description?"/*"+escapeComment(e.properties[u].description)+"*/":"",e.properties[u].type){let t;t=e.properties[u].format&&"string"!==e.properties[u].type?e.properties[u].format:e.properties[u].type,c.push('"'+u+'":"'+t+'"'+a)}else c.push('"'+u+'":""'+a);return a=e.description?a="/*"+escapeComment(e.description)+"*/":"",r.push(!1),"{"+a+joinObjectVals(c)+"}"}return a=e.description?a="/*"+escapeComment(e.description)+"*/":"",'"'+e.type+'"'+a}return JSON.stringify(e)}catch(t){return e.type?'"'+e.type+'"':JSON.stringify(e,null,indent_num)}}function merge(e){for(var t,r=[],a=0;a<e.length;a++)t=(t=e[a].trim()).startsWith("{")?t.substr(1,t.length-2):t,r.push(t);return"{"+r.join("")+"}"}function isEmail(e){return/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)}function addAnnotation(e){for(var t=Object.keys(e.definitions),r=0;r<t.length;r++)e.definitions[t[r]]["__pretty-swag-name__"]=t[r]}function parse(e,t,r,a){"object"==typeof e?(addAnnotation(e),parseV2(e,t,r,a)):$RefParser.parse(e,(function(e,n){if(e)return a(e);try{addAnnotation(n),parseV2(n,t,r,a)}catch(e){return a(e)}}))}function parseV2(e,t,r,a){$RefParser.dereference(e,(function(e,n){if(e)return a(e);try{var i={renderer:new marked.Renderer,gfm:!0,tables:!0,breaks:!1,pedantic:!1,sanitize:!0,smartLists:!0,smartypants:!1},o=!1;i.renderer.code=function(e,t){return o=!0,t?'<pre class="hljs"><code class="'+t+'">'+require("highlight.js").highlight(t,e,!0).value+"</code></pre>":'<pre class="hljs"><code>'+require("highlight.js").highlightAuto(e).value+"</code></pre>"},marked.setOptions(i),indent_num=r.indent_num||indent_num;var s=livedoc.initContainer();if(s.name=n.info.title,s.summary=r.markdown?marked(n.info.description||""):n.info.description||"",n.info.version&&(s.metadata.Version=n.info.version),n.info.contact&&(n.info.contact.email&&n.info.contact.url?s.metadata.Contact='<a href="mailto:'+n.info.contact.email+'">'+n.info.contact.email+'</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="'+n.info.contact.url+'" target="_blank">'+n.info.contact.url+"</a>":n.info.contact.email?s.metadata.Contact='<a href="mailto:'+n.info.contact.email+'">'+n.info.contact.name?n.info.contact.name:n.info.contact.email+"</a>":n.info.contact.url?isEmail(n.info.contact.name)?s.metadata.Contact='<a href="mailto:'+n.info.contact.name+'">'+n.info.contact.name+'</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="'+n.info.contact.url+'" target="_blank">'+n.info.contact.url+"</a>":s.metadata.Contact='<a href="'+n.info.contact.url+'" target="_blank">'+n.info.contact.name?n.info.contact.name:n.info.contact.url+"</a>":n.info.contact.name&&(n.info.contact.name.toLowerCase().startsWith("http")?s.metadata.Contact='<a href="'+n.info.contact.name+'" target="_blank">'+n.info.contact.name+"</a>":isEmail(n.info.contact.name)?s.metadata.Contact='<a href="mailto:'+n.info.contact.name+'">'+n.info.contact.name+"</a>":s.metadata.Contact=n.info.contact.name)),n.info.license&&(n.info.license.url?s.metadata.License='<a href="'+n.info.license.url+'" target="_blank">'+n.info.license.name+"</a>":s.metadata.License=n.info.license.name),n.info.termsOfService&&(n.info.termsOfService.toUpperCase().startsWith("HTTP")?s.metadata["Terms of service"]='<a href="'+n.info.termsOfService+'" target="_blank">'+n.info.termsOfService+"</a>":s.metadata["Terms of service"]=n.info.termsOfService),s.host=n.host||"",s.basePath=(n.basePath||"").replace(/\/$/,""),!r.noBaseUrl){var p=(s.host+s.basePath).trim();p&&(s.metadata["Base URL"]=p)}for(var l in s.appConfig.showNav=!r.noNav,r.theme&&("default"===r.theme?s.bgColor={default:"blue",GET:"blue",HEAD:"cyan",POST:"teal",PUT:"deep-purple",DELETE:"red",CONNECT:"purple",OPTIONS:"light-blue",TRACE:"blue-grey",PATCH:"deep-purple"}:"string"==typeof r.theme?s.appConfig.bgColor={default:r.theme}:s.appConfig.bgColor=r.theme),s.appConfig.fixedNav=r.fixedNav,s.appConfig.showDevPlayground=!r.noRequest,r.collapse||(r.collapse={}),n.paths){var m=livedoc.initApi();s.apis.push(m),m.path=l,m.showMe=!r.collapse.path;var c=[];if("parameters"in n.paths[l])for(var u=n.paths[l].parameters,f=0;f<u.length;f++){var h=livedoc.initParam(),d=u[f];"$ref"in d&&(d=n.parameters[d.$ref.substr(13)]),h.name=d.name,h.location=d.in,h.desc=d.description,h.required=d.required,d.schema?h.schema=computeSchema(d.schema,n.definitions,h.schemaRequired):d.type&&(h.schema=computeSchema(d.type,n.definitions,d,h.schemaRequired)),h.name&&h.location&&c.push(h)}for(var g in n.paths[l])if("parameters"!==g){var v=livedoc.initMethod();m.methods.push(v);var y=n.paths[l][g];if(v.name=g.toUpperCase(),v.tags=y.tags||[],v.showMe=!r.collapse.method,r.collapse.tool?v.showTool=!r.collapse.tool:v.showTool=!1,null==r.autoTags&&(r.autoTags=!0),r.autoTags){var C=v.tags.map((function(e){return pluralize.singular(e.replace(/[ -_]/g,"").toLowerCase())}));v.tags.push(v.name);var b=l.split("/");e:for(f=0;f<b.length;f++){var O=b[f].trim();if(!(!O||O.startsWith("{")&&O.endsWith("}"))){var _=O.trim(),k=pluralize.singular(_);if(_=pluralize.singular(_.toLowerCase().replace(/[ -_]/g,"")),!(C.indexOf(_)>-1)){for(var w=0;w<v.tags.length;w++){var T=v.tags[w].toLowerCase();if(T.startsWith(k)||T.startsWith(_))continue e}v.tags.push(k),C.push(_)}}}}if(v.tags=replace(" ","-",v.tags),v.tags.sort(sortTags),y.summary=y.summary||"",y.description=y.description||"",v.summary=r.markdown?marked(y.summary):y.summary,v.desc=r.markdown?marked(y.description):y.description,c.length>0&&(v.params=v.params.concat(c)),1===n.schemes.length&&("https"===n.schemes[0].toLowerCase()?(v.request.schemes.shift(),v.request.choosen.scheme="https"):v.request.schemes.pop()),y.parameters)for(f=0;f<y.parameters.length;f++){var j=livedoc.initParam();v.params.push(j);var N=y.parameters[f];j.name=N.name,j.location=N.in,j.desc=N.description?r.markdown?marked(N.description):N.description:"",j.required=N.required,j.value=N.default||"",j.type=N.type||"text",N.schema?j.schema=computeSchema(N.schema,n.definitions,N,j.schemaRequired):N.type&&(j.schema=computeSchema(N.type,n.definitions,N,j.schemaRequired))}for(var P in y.responses){var S=livedoc.initResponse();v.responses.push(S);var q=y.responses[P];if(S.code=P,q.examples&&Object.keys(q.examples).length>0){o=!0;var E="";for(var x in q.examples){var A=!1;E+="*"+x+"*\n```",lowered=x.toLowerCase(),lowered.includes("html")?E+="html\n":lowered.includes("xml")?E+="xml\n":lowered.includes("json")?(E+="json\n",A=!0):E+="\n",A&&"string"==typeof q.examples[x]?E+=q.examples[x]:E+=JSON.stringify(q.examples[x],null,indent_num),E+="\n```\n"}v.examples[P]=marked(E.trim())}S.desc=q.description?r.markdown?marked(q.description):q.description:"",q.schema&&(S.schema=computeSchema(q.schema,n.definitions))}}}var R={mode:r.format,pathParamLeftToken:"{",pathParamRightToken:"}",formDataToken:"formData",allowHtml:r.markdown,syntaxHighlight:o,customCSS:r.customCSS},L="";r.noDate||(L=" __GENERATED_DATE__"),r.noCredit||(L+=' by <a href="https://github.com/twskj/pretty-swag">pretty-swag</a>'),L?R.footer="Generated"+L:R.noFooter=!0,"offline"===r.format&&(R.outputFilename=t);try{"object"==typeof s.bgColor?R.mainColor=s.bgColor.default:R.mainColor=s.bgColor}catch(e){R.mainColor="blue"}r.home&&(R.home=r.home),livedoc.generateHTML(JSON.stringify(s,null,indent_num),R,(function(e,r){if(null===t)return a(e,r);if("offline"===R.mode)return a(e);return require("fs").writeFile(t,r,"utf8",(function(e){return a(e||null)}))}))}catch(e){a(e)}}))}map={run:parse},module.exports=map;
//# sourceMappingURL=/sm/e55d1a08365a5a2f23c6bc26a75dd5bf5574a884242bcf74d977ee1bcf4279cc.map