@tsed/schema 7.10.0-rc.6 → 7.10.0-rc.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! For license information please see schema.umd.min.js.LICENSE.txt */
|
|
2
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@tsed/core")):"function"==typeof define&&define.amd?define(["@tsed/core"],t):"object"==typeof exports?exports.schema=t(require("@tsed/core")):e.schema=t(e["@tsed/core"])}(self,(e=>(()=>{"use strict";var t={379:e=>{const t="\\\\/",r=`[^${t}]`,s="\\.",n="\\/",i="[^/]",o=`(?:${n}|$)`,a=`(?:^|${n})`,c=`${s}{1,2}${o}`,u={DOT_LITERAL:s,PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:n,ONE_CHAR:"(?=.)",QMARK:i,END_ANCHOR:o,DOTS_SLASH:c,NO_DOT:`(?!${s})`,NO_DOTS:`(?!${a}${c})`,NO_DOT_SLASH:`(?!${s}{0,1}${o})`,NO_DOTS_SLASH:`(?!${c})`,QMARK_NO_DOT:`[^.${n}]`,STAR:`${i}*?`,START_ANCHOR:a,SEP:"/"},p={...u,SLASH_LITERAL:`[${t}]`,QMARK:r,STAR:`${r}*?`,DOTS_SLASH:`${s}{1,2}(?:[${t}]|$)`,NO_DOT:`(?!${s})`,NO_DOTS:`(?!(?:^|[${t}])${s}{1,2}(?:[${t}]|$))`,NO_DOT_SLASH:`(?!${s}{0,1}(?:[${t}]|$))`,NO_DOTS_SLASH:`(?!${s}{1,2}(?:[${t}]|$))`,QMARK_NO_DOT:`[^.${t}]`,START_ANCHOR:`(?:^|[${t}])`,END_ANCHOR:`(?:[${t}]|$)`,SEP:"\\"};e.exports={MAX_LENGTH:65536,POSIX_REGEX_SOURCE:{alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"},REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars:e=>({"!":{type:"negate",open:"(?:(?!(?:",close:`))${e.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}),globChars:e=>!0===e?p:u}},390:(e,t,r)=>{const s=r(379),n=r(290),{MAX_LENGTH:i,POSIX_REGEX_SOURCE:o,REGEX_NON_SPECIAL_CHARS:a,REGEX_SPECIAL_CHARS_BACKREF:c,REPLACEMENTS:u}=s,p=(e,t)=>{if("function"==typeof t.expandRange)return t.expandRange(...e,t);e.sort();const r=`[${e.join("-")}]`;try{new RegExp(r)}catch(t){return e.map((e=>n.escapeRegex(e))).join("..")}return r},h=(e,t)=>`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`,l=(e,t)=>{if("string"!=typeof e)throw new TypeError("Expected a string");e=u[e]||e;const r={...t},l="number"==typeof r.maxLength?Math.min(i,r.maxLength):i;let m=e.length;if(m>l)throw new SyntaxError(`Input length: ${m}, exceeds maximum allowed length: ${l}`);const d={type:"bos",value:"",output:r.prepend||""},f=[d],y=r.capture?"":"?:",g=s.globChars(r.windows),O=s.extglobChars(g),{DOT_LITERAL:S,PLUS_LITERAL:b,SLASH_LITERAL:R,ONE_CHAR:T,DOTS_SLASH:A,NO_DOT:E,NO_DOT_SLASH:v,NO_DOTS_SLASH:x,QMARK:C,QMARK_NO_DOT:P,STAR:w,START_ANCHOR:$}=g,_=e=>`(${y}(?:(?!${$}${e.dot?A:S}).)*?)`,M=r.dot?"":E,N=r.dot?C:P;let D=!0===r.bash?_(r):w;r.capture&&(D=`(${D})`),"boolean"==typeof r.noext&&(r.noextglob=r.noext);const L={input:e,index:-1,start:0,dot:!0===r.dot,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:f};e=n.removePrefix(e,L),m=e.length;const k=[],I=[],H=[];let j,G=d;const q=()=>L.index===m-1,U=L.peek=(t=1)=>e[L.index+t],K=L.advance=()=>e[++L.index],J=()=>e.slice(L.index+1),B=(e="",t=0)=>{L.consumed+=e,L.index+=t},F=e=>{L.output+=null!=e.output?e.output:e.value,B(e.value)},W=()=>{let e=1;for(;"!"===U()&&("("!==U(2)||"?"===U(3));)K(),L.start++,e++;return e%2!=0&&(L.negated=!0,L.start++,!0)},V=e=>{L[e]++,H.push(e)},X=e=>{L[e]--,H.pop()},z=e=>{if("globstar"===G.type){const t=L.braces>0&&("comma"===e.type||"brace"===e.type),r=!0===e.extglob||k.length&&("pipe"===e.type||"paren"===e.type);"slash"===e.type||"paren"===e.type||t||r||(L.output=L.output.slice(0,-G.output.length),G.type="star",G.value="*",G.output=D,L.output+=G.output)}if(k.length&&"paren"!==e.type&&!O[e.value]&&(k[k.length-1].inner+=e.value),(e.value||e.output)&&F(e),G&&"text"===G.type&&"text"===e.type)return G.value+=e.value,void(G.output=(G.output||"")+e.value);e.prev=G,f.push(e),G=e},Q=(e,t)=>{const s={...O[t],conditions:1,inner:""};s.prev=G,s.parens=L.parens,s.output=L.output;const n=(r.capture?"(":"")+s.open;V("parens"),z({type:e,value:t,output:L.output?"":T}),z({type:"paren",extglob:!0,value:K(),output:n}),k.push(s)},Z=e=>{let t=e.close+(r.capture?")":"");if("negate"===e.type){let s=D;e.inner&&e.inner.length>1&&e.inner.includes("/")&&(s=_(r)),(s!==D||q()||/^\)+$/.test(J()))&&(t=e.close=`)$))${s}`),"bos"===e.prev.type&&q()&&(L.negatedExtglob=!0)}z({type:"paren",extglob:!0,value:j,output:t}),X("parens")};if(!1!==r.fastpaths&&!/(^[*!]|[/()[\]{}"])/.test(e)){let s=!1,i=e.replace(c,((e,t,r,n,i,o)=>"\\"===n?(s=!0,e):"?"===n?t?t+n+(i?C.repeat(i.length):""):0===o?N+(i?C.repeat(i.length):""):C.repeat(r.length):"."===n?S.repeat(r.length):"*"===n?t?t+n+(i?D:""):D:t?e:`\\${e}`));return!0===s&&(i=!0===r.unescape?i.replace(/\\/g,""):i.replace(/\\+/g,(e=>e.length%2==0?"\\\\":e?"\\":""))),i===e&&!0===r.contains?(L.output=e,L):(L.output=n.wrapOutput(i,L,t),L)}for(;!q();){if(j=K(),"\0"===j)continue;if("\\"===j){const e=U();if("/"===e&&!0!==r.bash)continue;if("."===e||";"===e)continue;if(!e){j+="\\",z({type:"text",value:j});continue}const t=/^\\+/.exec(J());let s=0;if(t&&t[0].length>2&&(s=t[0].length,L.index+=s,s%2!=0&&(j+="\\")),!0===r.unescape?j=K()||"":j+=K()||"",0===L.brackets){z({type:"text",value:j});continue}}if(L.brackets>0&&("]"!==j||"["===G.value||"[^"===G.value)){if(!1!==r.posix&&":"===j){const e=G.value.slice(1);if(e.includes("[")&&(G.posix=!0,e.includes(":"))){const e=G.value.lastIndexOf("["),t=G.value.slice(0,e),r=G.value.slice(e+2),s=o[r];if(s){G.value=t+s,L.backtrack=!0,K(),d.output||1!==f.indexOf(G)||(d.output=T);continue}}}("["===j&&":"!==U()||"-"===j&&"]"===U())&&(j=`\\${j}`),"]"!==j||"["!==G.value&&"[^"!==G.value||(j=`\\${j}`),!0===r.posix&&"!"===j&&"["===G.value&&(j="^"),G.value+=j,F({value:j});continue}if(1===L.quotes&&'"'!==j){j=n.escapeRegex(j),G.value+=j,F({value:j});continue}if('"'===j){L.quotes=1===L.quotes?0:1,!0===r.keepQuotes&&z({type:"text",value:j});continue}if("("===j){V("parens"),z({type:"paren",value:j});continue}if(")"===j){if(0===L.parens&&!0===r.strictBrackets)throw new SyntaxError(h("opening","("));const e=k[k.length-1];if(e&&L.parens===e.parens+1){Z(k.pop());continue}z({type:"paren",value:j,output:L.parens?")":"\\)"}),X("parens");continue}if("["===j){if(!0!==r.nobracket&&J().includes("]"))V("brackets");else{if(!0!==r.nobracket&&!0===r.strictBrackets)throw new SyntaxError(h("closing","]"));j=`\\${j}`}z({type:"bracket",value:j});continue}if("]"===j){if(!0===r.nobracket||G&&"bracket"===G.type&&1===G.value.length){z({type:"text",value:j,output:`\\${j}`});continue}if(0===L.brackets){if(!0===r.strictBrackets)throw new SyntaxError(h("opening","["));z({type:"text",value:j,output:`\\${j}`});continue}X("brackets");const e=G.value.slice(1);if(!0===G.posix||"^"!==e[0]||e.includes("/")||(j=`/${j}`),G.value+=j,F({value:j}),!1===r.literalBrackets||n.hasRegexChars(e))continue;const t=n.escapeRegex(G.value);if(L.output=L.output.slice(0,-G.value.length),!0===r.literalBrackets){L.output+=t,G.value=t;continue}G.value=`(${y}${t}|${G.value})`,L.output+=G.value;continue}if("{"===j&&!0!==r.nobrace){V("braces");const e={type:"brace",value:j,output:"(",outputIndex:L.output.length,tokensIndex:L.tokens.length};I.push(e),z(e);continue}if("}"===j){const e=I[I.length-1];if(!0===r.nobrace||!e){z({type:"text",value:j,output:j});continue}let t=")";if(!0===e.dots){const e=f.slice(),s=[];for(let t=e.length-1;t>=0&&(f.pop(),"brace"!==e[t].type);t--)"dots"!==e[t].type&&s.unshift(e[t].value);t=p(s,r),L.backtrack=!0}if(!0!==e.comma&&!0!==e.dots){const r=L.output.slice(0,e.outputIndex),s=L.tokens.slice(e.tokensIndex);e.value=e.output="\\{",j=t="\\}",L.output=r;for(const e of s)L.output+=e.output||e.value}z({type:"brace",value:j,output:t}),X("braces"),I.pop();continue}if("|"===j){k.length>0&&k[k.length-1].conditions++,z({type:"text",value:j});continue}if(","===j){let e=j;const t=I[I.length-1];t&&"braces"===H[H.length-1]&&(t.comma=!0,e="|"),z({type:"comma",value:j,output:e});continue}if("/"===j){if("dot"===G.type&&L.index===L.start+1){L.start=L.index+1,L.consumed="",L.output="",f.pop(),G=d;continue}z({type:"slash",value:j,output:R});continue}if("."===j){if(L.braces>0&&"dot"===G.type){"."===G.value&&(G.output=S);const e=I[I.length-1];G.type="dots",G.output+=j,G.value+=j,e.dots=!0;continue}if(L.braces+L.parens===0&&"bos"!==G.type&&"slash"!==G.type){z({type:"text",value:j,output:S});continue}z({type:"dot",value:j,output:S});continue}if("?"===j){if((!G||"("!==G.value)&&!0!==r.noextglob&&"("===U()&&"?"!==U(2)){Q("qmark",j);continue}if(G&&"paren"===G.type){const e=U();let t=j;if("<"===e&&!n.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");("("===G.value&&!/[!=<:]/.test(e)||"<"===e&&!/<([!=]|\w+>)/.test(J()))&&(t=`\\${j}`),z({type:"text",value:j,output:t});continue}if(!0!==r.dot&&("slash"===G.type||"bos"===G.type)){z({type:"qmark",value:j,output:P});continue}z({type:"qmark",value:j,output:C});continue}if("!"===j){if(!0!==r.noextglob&&"("===U()&&("?"!==U(2)||!/[!=<:]/.test(U(3)))){Q("negate",j);continue}if(!0!==r.nonegate&&0===L.index){W();continue}}if("+"===j){if(!0!==r.noextglob&&"("===U()&&"?"!==U(2)){Q("plus",j);continue}if(G&&"("===G.value||!1===r.regex){z({type:"plus",value:j,output:b});continue}if(G&&("bracket"===G.type||"paren"===G.type||"brace"===G.type)||L.parens>0){z({type:"plus",value:j});continue}z({type:"plus",value:b});continue}if("@"===j){if(!0!==r.noextglob&&"("===U()&&"?"!==U(2)){z({type:"at",extglob:!0,value:j,output:""});continue}z({type:"text",value:j});continue}if("*"!==j){"$"!==j&&"^"!==j||(j=`\\${j}`);const e=a.exec(J());e&&(j+=e[0],L.index+=e[0].length),z({type:"text",value:j});continue}if(G&&("globstar"===G.type||!0===G.star)){G.type="star",G.star=!0,G.value+=j,G.output=D,L.backtrack=!0,L.globstar=!0,B(j);continue}let t=J();if(!0!==r.noextglob&&/^\([^?]/.test(t)){Q("star",j);continue}if("star"===G.type){if(!0===r.noglobstar){B(j);continue}const s=G.prev,n=s.prev,i="slash"===s.type||"bos"===s.type,o=n&&("star"===n.type||"globstar"===n.type);if(!0===r.bash&&(!i||t[0]&&"/"!==t[0])){z({type:"star",value:j,output:""});continue}const a=L.braces>0&&("comma"===s.type||"brace"===s.type),c=k.length&&("pipe"===s.type||"paren"===s.type);if(!i&&"paren"!==s.type&&!a&&!c){z({type:"star",value:j,output:""});continue}for(;"/**"===t.slice(0,3);){const r=e[L.index+4];if(r&&"/"!==r)break;t=t.slice(3),B("/**",3)}if("bos"===s.type&&q()){G.type="globstar",G.value+=j,G.output=_(r),L.output=G.output,L.globstar=!0,B(j);continue}if("slash"===s.type&&"bos"!==s.prev.type&&!o&&q()){L.output=L.output.slice(0,-(s.output+G.output).length),s.output=`(?:${s.output}`,G.type="globstar",G.output=_(r)+(r.strictSlashes?")":"|$)"),G.value+=j,L.globstar=!0,L.output+=s.output+G.output,B(j);continue}if("slash"===s.type&&"bos"!==s.prev.type&&"/"===t[0]){const e=void 0!==t[1]?"|$":"";L.output=L.output.slice(0,-(s.output+G.output).length),s.output=`(?:${s.output}`,G.type="globstar",G.output=`${_(r)}${R}|${R}${e})`,G.value+=j,L.output+=s.output+G.output,L.globstar=!0,B(j+K()),z({type:"slash",value:"/",output:""});continue}if("bos"===s.type&&"/"===t[0]){G.type="globstar",G.value+=j,G.output=`(?:^|${R}|${_(r)}${R})`,L.output=G.output,L.globstar=!0,B(j+K()),z({type:"slash",value:"/",output:""});continue}L.output=L.output.slice(0,-G.output.length),G.type="globstar",G.output=_(r),G.value+=j,L.output+=G.output,L.globstar=!0,B(j);continue}const s={type:"star",value:j,output:D};!0!==r.bash?!G||"bracket"!==G.type&&"paren"!==G.type||!0!==r.regex?(L.index!==L.start&&"slash"!==G.type&&"dot"!==G.type||("dot"===G.type?(L.output+=v,G.output+=v):!0===r.dot?(L.output+=x,G.output+=x):(L.output+=M,G.output+=M),"*"!==U()&&(L.output+=T,G.output+=T)),z(s)):(s.output=j,z(s)):(s.output=".*?","bos"!==G.type&&"slash"!==G.type||(s.output=M+s.output),z(s))}for(;L.brackets>0;){if(!0===r.strictBrackets)throw new SyntaxError(h("closing","]"));L.output=n.escapeLast(L.output,"["),X("brackets")}for(;L.parens>0;){if(!0===r.strictBrackets)throw new SyntaxError(h("closing",")"));L.output=n.escapeLast(L.output,"("),X("parens")}for(;L.braces>0;){if(!0===r.strictBrackets)throw new SyntaxError(h("closing","}"));L.output=n.escapeLast(L.output,"{"),X("braces")}if(!0===r.strictSlashes||"star"!==G.type&&"bracket"!==G.type||z({type:"maybe_slash",value:"",output:`${R}?`}),!0===L.backtrack){L.output="";for(const e of L.tokens)L.output+=null!=e.output?e.output:e.value,e.suffix&&(L.output+=e.suffix)}return L};l.fastpaths=(e,t)=>{const r={...t},o="number"==typeof r.maxLength?Math.min(i,r.maxLength):i,a=e.length;if(a>o)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${o}`);e=u[e]||e;const{DOT_LITERAL:c,SLASH_LITERAL:p,ONE_CHAR:h,DOTS_SLASH:l,NO_DOT:m,NO_DOTS:d,NO_DOTS_SLASH:f,STAR:y,START_ANCHOR:g}=s.globChars(r.windows),O=r.dot?d:m,S=r.dot?f:m,b=r.capture?"":"?:";let R=!0===r.bash?".*?":y;r.capture&&(R=`(${R})`);const T=e=>!0===e.noglobstar?R:`(${b}(?:(?!${g}${e.dot?l:c}).)*?)`,A=e=>{switch(e){case"*":return`${O}${h}${R}`;case".*":return`${c}${h}${R}`;case"*.*":return`${O}${R}${c}${h}${R}`;case"*/*":return`${O}${R}${p}${h}${S}${R}`;case"**":return O+T(r);case"**/*":return`(?:${O}${T(r)}${p})?${S}${h}${R}`;case"**/*.*":return`(?:${O}${T(r)}${p})?${S}${R}${c}${h}${R}`;case"**/.*":return`(?:${O}${T(r)}${p})?${c}${h}${R}`;default:{const t=/^(.*?)\.(\w+)$/.exec(e);if(!t)return;const r=A(t[1]);if(!r)return;return r+c+t[2]}}},E=n.removePrefix(e,{negated:!1,prefix:""});let v=A(E);return v&&!0!==r.strictSlashes&&(v+=`${p}?`),v},e.exports=l},555:(e,t,r)=>{const s=r(270),n=r(390),i=r(290),o=r(379),a=(e,t,r=!1)=>{if(Array.isArray(e)){const s=e.map((e=>a(e,t,r))),n=e=>{for(const t of s){const r=t(e);if(r)return r}return!1};return n}const s=(n=e)&&"object"==typeof n&&!Array.isArray(n)&&e.tokens&&e.input;var n;if(""===e||"string"!=typeof e&&!s)throw new TypeError("Expected pattern to be a non-empty string");const i=t||{},o=i.windows,c=s?a.compileRe(e,t):a.makeRe(e,t,!1,!0),u=c.state;delete c.state;let p=()=>!1;if(i.ignore){const e={...t,ignore:null,onMatch:null,onResult:null};p=a(i.ignore,e,r)}const h=(r,s=!1)=>{const{isMatch:n,match:h,output:l}=a.test(r,c,t,{glob:e,posix:o}),m={glob:e,state:u,regex:c,posix:o,input:r,output:l,match:h,isMatch:n};return"function"==typeof i.onResult&&i.onResult(m),!1===n?(m.isMatch=!1,!!s&&m):p(r)?("function"==typeof i.onIgnore&&i.onIgnore(m),m.isMatch=!1,!!s&&m):("function"==typeof i.onMatch&&i.onMatch(m),!s||m)};return r&&(h.state=u),h};a.test=(e,t,r,{glob:s,posix:n}={})=>{if("string"!=typeof e)throw new TypeError("Expected input to be a string");if(""===e)return{isMatch:!1,output:""};const o=r||{},c=o.format||(n?i.toPosixSlashes:null);let u=e===s,p=u&&c?c(e):e;return!1===u&&(p=c?c(e):e,u=p===s),!1!==u&&!0!==o.capture||(u=!0===o.matchBase||!0===o.basename?a.matchBase(e,t,r,n):t.exec(p)),{isMatch:Boolean(u),match:u,output:p}},a.matchBase=(e,t,r)=>(t instanceof RegExp?t:a.makeRe(t,r)).test(i.basename(e)),a.isMatch=(e,t,r)=>a(t,r)(e),a.parse=(e,t)=>Array.isArray(e)?e.map((e=>a.parse(e,t))):n(e,{...t,fastpaths:!1}),a.scan=(e,t)=>s(e,t),a.compileRe=(e,t,r=!1,s=!1)=>{if(!0===r)return e.output;const n=t||{},i=n.contains?"":"^",o=n.contains?"":"$";let c=`${i}(?:${e.output})${o}`;e&&!0===e.negated&&(c=`^(?!${c}).*$`);const u=a.toRegex(c,t);return!0===s&&(u.state=e),u},a.makeRe=(e,t,r=!1,s=!1)=>{if(!e||"string"!=typeof e)throw new TypeError("Expected a non-empty string");const i=t||{};let o,c={negated:!1,fastpaths:!0},u="";return e.startsWith("./")&&(e=e.slice(2),u=c.prefix="./"),!1===i.fastpaths||"."!==e[0]&&"*"!==e[0]||(o=n.fastpaths(e,t)),void 0===o?(c=n(e,t),c.prefix=u+(c.prefix||"")):c.output=o,a.compileRe(c,t,r,s)},a.toRegex=(e,t)=>{try{const r=t||{};return new RegExp(e,r.flags||(r.nocase?"i":""))}catch(e){if(t&&!0===t.debug)throw e;return/$^/}},a.constants=o,e.exports=a},270:(e,t,r)=>{const s=r(290),{CHAR_ASTERISK:n,CHAR_AT:i,CHAR_BACKWARD_SLASH:o,CHAR_COMMA:a,CHAR_DOT:c,CHAR_EXCLAMATION_MARK:u,CHAR_FORWARD_SLASH:p,CHAR_LEFT_CURLY_BRACE:h,CHAR_LEFT_PARENTHESES:l,CHAR_LEFT_SQUARE_BRACKET:m,CHAR_PLUS:d,CHAR_QUESTION_MARK:f,CHAR_RIGHT_CURLY_BRACE:y,CHAR_RIGHT_PARENTHESES:g,CHAR_RIGHT_SQUARE_BRACKET:O}=r(379),S=e=>e===p||e===o,b=e=>{!0!==e.isPrefix&&(e.depth=e.isGlobstar?1/0:1)};e.exports=(e,t)=>{const r=t||{},R=e.length-1,T=!0===r.parts||!0===r.scanToEnd,A=[],E=[],v=[];let x,C,P=e,w=-1,$=0,_=0,M=!1,N=!1,D=!1,L=!1,k=!1,I=!1,H=!1,j=!1,G=!1,q=0,U={value:"",depth:0,isGlob:!1};const K=()=>w>=R,J=()=>(x=C,P.charCodeAt(++w));for(;w<R;){let e;if(C=J(),C!==o){if(!0===I||C===h){for(q++;!0!==K()&&(C=J());)if(C!==o)if(C!==h){if(!0!==I&&C===c&&(C=J())===c){if(M=U.isBrace=!0,D=U.isGlob=!0,G=!0,!0===T)continue;break}if(!0!==I&&C===a){if(M=U.isBrace=!0,D=U.isGlob=!0,G=!0,!0===T)continue;break}if(C===y&&(q--,0===q)){I=!1,M=U.isBrace=!0,G=!0;break}}else q++;else H=U.backslashes=!0,J();if(!0===T)continue;break}if(C!==p){if(!0!==r.noext&&!0==(C===d||C===i||C===n||C===f||C===u)&&P.charCodeAt(w+1)===l){if(D=U.isGlob=!0,L=U.isExtglob=!0,G=!0,!0===T){for(;!0!==K()&&(C=J());)if(C!==o){if(C===g){D=U.isGlob=!0,G=!0;break}}else H=U.backslashes=!0,C=J();continue}break}if(C===n){if(x===n&&(k=U.isGlobstar=!0),D=U.isGlob=!0,G=!0,!0===T)continue;break}if(C===f){if(D=U.isGlob=!0,G=!0,!0===T)continue;break}if(C===m)for(;!0!==K()&&(e=J());)if(e!==o){if(e===O){if(N=U.isBracket=!0,D=U.isGlob=!0,G=!0,!0===T)continue;break}}else H=U.backslashes=!0,J();if(!0===r.nonegate||C!==u||w!==$){if(!0!==r.noparen&&C===l){if(D=U.isGlob=!0,!0===T){for(;!0!==K()&&(C=J());)if(C!==l){if(C===g){G=!0;break}}else H=U.backslashes=!0,C=J();continue}break}if(!0===D){if(G=!0,!0===T)continue;break}}else j=U.negated=!0,$++}else{if(A.push(w),E.push(U),U={value:"",depth:0,isGlob:!1},!0===G)continue;if(x===c&&w===$+1){$+=2;continue}_=w+1}}else H=U.backslashes=!0,C=J(),C===h&&(I=!0)}!0===r.noext&&(L=!1,D=!1);let B=P,F="",W="";$>0&&(F=P.slice(0,$),P=P.slice($),_-=$),B&&!0===D&&_>0?(B=P.slice(0,_),W=P.slice(_)):!0===D?(B="",W=P):B=P,B&&""!==B&&"/"!==B&&B!==P&&S(B.charCodeAt(B.length-1))&&(B=B.slice(0,-1)),!0===r.unescape&&(W&&(W=s.removeBackslashes(W)),B&&!0===H&&(B=s.removeBackslashes(B)));const V={prefix:F,input:e,start:$,base:B,glob:W,isBrace:M,isBracket:N,isGlob:D,isExtglob:L,isGlobstar:k,negated:j};if(!0===r.tokens&&(V.maxDepth=0,S(C)||E.push(U),V.tokens=E),!0===r.parts||!0===r.tokens){let t;for(let s=0;s<A.length;s++){const n=t?t+1:$,i=A[s],o=e.slice(n,i);r.tokens&&(0===s&&0!==$?(E[s].isPrefix=!0,E[s].value=F):E[s].value=o,b(E[s]),V.maxDepth+=E[s].depth),0===s&&""===o||v.push(o),t=i}if(t&&t+1<e.length){const s=e.slice(t+1);v.push(s),r.tokens&&(E[E.length-1].value=s,b(E[E.length-1]),V.maxDepth+=E[E.length-1].depth)}V.slashes=A,V.parts=v}return V}},290:(e,t,r)=>{const{REGEX_BACKSLASH:s,REGEX_REMOVE_BACKSLASH:n,REGEX_SPECIAL_CHARS:i,REGEX_SPECIAL_CHARS_GLOBAL:o}=r(379);t.isObject=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),t.hasRegexChars=e=>i.test(e),t.isRegexChar=e=>1===e.length&&t.hasRegexChars(e),t.escapeRegex=e=>e.replace(o,"\\$1"),t.toPosixSlashes=e=>e.replace(s,"/"),t.removeBackslashes=e=>e.replace(n,(e=>"\\"===e?"":e)),t.supportsLookbehinds=()=>{const e=process.version.slice(1).split(".").map(Number);return 3===e.length&&e[0]>=9||8===e[0]&&e[1]>=10},t.escapeLast=(e,r,s)=>{const n=e.lastIndexOf(r,s);return-1===n?e:"\\"===e[n-1]?t.escapeLast(e,r,n-1):`${e.slice(0,n)}\\${e.slice(n)}`},t.removePrefix=(e,t={})=>{let r=e;return r.startsWith("./")&&(r=r.slice(2),t.prefix="./"),r},t.wrapOutput=(e,t={},r={})=>{let s=`${r.contains?"":"^"}(?:${e})${r.contains?"":"$"}`;return!0===t.negated&&(s=`(?:^(?!${s}).*$)`),s},t.basename=(e,{windows:t}={})=>t?e.replace(/[\\/]$/,"").replace(/.*[\\/]/,""):e.replace(/\/$/,"").replace(/.*\//,"")},870:(e,t,r)=>{e.exports=r(555)},203:(e,t,r)=>{var s=r(739);function n(e){if(!Object.prototype.hasOwnProperty.call(i.message,e))throw new Error("invalid status code: "+e);return i.message[e]}function i(e){if("number"==typeof e)return n(e);if("string"!=typeof e)throw new TypeError("code must be a number or string");var t=parseInt(e,10);return isNaN(t)?function(e){var t=e.toLowerCase();if(!Object.prototype.hasOwnProperty.call(i.code,t))throw new Error('invalid status message: "'+e+'"');return i.code[t]}(e):n(t)}e.exports=i,i.message=s,i.code=function(e){var t={};return Object.keys(e).forEach((function(r){var s=e[r],n=Number(r);t[s.toLowerCase()]=n})),t}(s),i.codes=function(e){return Object.keys(e).map((function(e){return Number(e)}))}(s),i.redirect={300:!0,301:!0,302:!0,303:!0,305:!0,307:!0,308:!0},i.empty={204:!0,205:!0,304:!0},i.retry={502:!0,503:!0,504:!0}},803:t=>{t.exports=e},739:e=>{e.exports=JSON.parse('{"100":"Continue","101":"Switching Protocols","102":"Processing","103":"Early Hints","200":"OK","201":"Created","202":"Accepted","203":"Non-Authoritative Information","204":"No Content","205":"Reset Content","206":"Partial Content","207":"Multi-Status","208":"Already Reported","226":"IM Used","300":"Multiple Choices","301":"Moved Permanently","302":"Found","303":"See Other","304":"Not Modified","305":"Use Proxy","307":"Temporary Redirect","308":"Permanent Redirect","400":"Bad Request","401":"Unauthorized","402":"Payment Required","403":"Forbidden","404":"Not Found","405":"Method Not Allowed","406":"Not Acceptable","407":"Proxy Authentication Required","408":"Request Timeout","409":"Conflict","410":"Gone","411":"Length Required","412":"Precondition Failed","413":"Payload Too Large","414":"URI Too Long","415":"Unsupported Media Type","416":"Range Not Satisfiable","417":"Expectation Failed","418":"I\'m a Teapot","421":"Misdirected Request","422":"Unprocessable Entity","423":"Locked","424":"Failed Dependency","425":"Too Early","426":"Upgrade Required","428":"Precondition Required","429":"Too Many Requests","431":"Request Header Fields Too Large","451":"Unavailable For Legal Reasons","500":"Internal Server Error","501":"Not Implemented","502":"Bad Gateway","503":"Service Unavailable","504":"Gateway Timeout","505":"HTTP Version Not Supported","506":"Variant Also Negotiates","507":"Insufficient Storage","508":"Loop Detected","509":"Bandwidth Limit Exceeded","510":"Not Extended","511":"Network Authentication Required"}')}},r={};function s(e){var n=r[e];if(void 0!==n)return n.exports;var i=r[e]={exports:{}};return t[e](i,i.exports,s),i.exports}s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{s.r(n),s.d(n,{AcceptMime:()=>yr,AdditionalProperties:()=>We,All:()=>jr,AllOf:()=>Ve,Allow:()=>ze,Any:()=>Qe,AnyOf:()=>Ze,ArrayOf:()=>je,Children:()=>ke,CollectionContains:()=>qe,CollectionOf:()=>He,Const:()=>Ye,Consumes:()=>gr,ContentType:()=>vr,Converter:()=>Ns,CustomKey:()=>et,CustomKeys:()=>tt,DateFormat:()=>gt,DateTime:()=>yt,DecoratorContext:()=>Or,Default:()=>rt,Delete:()=>Kr,Deprecated:()=>xr,Description:()=>st,Discriminator:()=>S,DiscriminatorKey:()=>nt,DiscriminatorValue:()=>Ie,Email:()=>ft,EndpointMetadata:()=>ue,Enum:()=>it,Example:()=>ot,Examples:()=>at,ExclusiveMaximum:()=>pt,ExclusiveMinimum:()=>mt,For:()=>qt,Format:()=>dt,ForwardGroups:()=>Rt,GenericOf:()=>mr,Generics:()=>dr,Get:()=>Gr,Groups:()=>xt,HTTP_METHODS:()=>Me,HTTP_STATUS_MESSAGES:()=>Q,Head:()=>Jr,Header:()=>Cr,Hidden:()=>Ct,Ignore:()=>wt,In:()=>Pr,InFile:()=>wr,Integer:()=>$t,JSON_TYPES:()=>d,JsonClassStore:()=>E,JsonEntitiesContainer:()=>c,JsonEntityComponent:()=>A,JsonEntityFn:()=>Le,JsonEntityStore:()=>u,JsonFormatTypes:()=>De,JsonLazyRef:()=>he,JsonMap:()=>$,JsonMedia:()=>ie,JsonMethodStore:()=>ce,JsonOperation:()=>ae,JsonOperationPathsMap:()=>Zr,JsonOperationRoute:()=>es,JsonParameter:()=>B,JsonParameterStore:()=>F,JsonParameterTypes:()=>_,JsonPropertyStore:()=>v,JsonRequestBody:()=>se,JsonResponse:()=>oe,JsonSchema:()=>T,Location:()=>$r,MapOf:()=>Ge,Max:()=>ut,MaxItems:()=>Ue,MaxLength:()=>_t,MaxProperties:()=>Ke,Maximum:()=>ct,Min:()=>lt,MinItems:()=>Je,MinLength:()=>Mt,MinProperties:()=>Be,Minimum:()=>ht,MultipleOf:()=>Nt,Name:()=>Dt,Nullable:()=>Lt,OneOf:()=>kt,OperationId:()=>_r,OperationMethods:()=>Ne,OperationPath:()=>Mr,Optional:()=>It,Options:()=>Fr,ParamMetadata:()=>W,Partial:()=>Nr,Patch:()=>Br,Path:()=>Dr,Pattern:()=>Ht,Post:()=>qr,Produces:()=>fr,Property:()=>Xe,PropertyMetadata:()=>x,Put:()=>Ur,ReadOnly:()=>jt,RecordOf:()=>Ut,Redirect:()=>Lr,Required:()=>Kt,RequiredGroups:()=>Jt,Returns:()=>Er,Route:()=>Hr,Schema:()=>Gt,Security:()=>Wr,SpecTypes:()=>L,Status:()=>Vr,Summary:()=>Xr,Tags:()=>zr,TimeFormat:()=>Ot,Title:()=>Bt,UniqueItems:()=>Fe,Uri:()=>St,Url:()=>bt,View:()=>Qr,WriteOnly:()=>Ft,allOf:()=>hr,alterIgnore:()=>be,alterOneOf:()=>Pe,alterRequiredGroups:()=>xe,any:()=>cr,anyMapper:()=>le,anyOf:()=>ur,array:()=>nr,boolean:()=>Qt,buildPath:()=>ts,classMapper:()=>me,concatParameters:()=>rs,concatPath:()=>Yr,createRef:()=>K,createRefName:()=>U,date:()=>Zt,datetime:()=>Yt,defineStatusModel:()=>br,email:()=>tr,execMapper:()=>o,formatParameterType:()=>M,from:()=>Wt,generateSpec:()=>Ls,genericsMapper:()=>de,getComputedType:()=>m,getGenericsMap:()=>C,getInheritedStores:()=>fe,getJsonEntityStore:()=>pe,getJsonPathParameters:()=>ns,getJsonSchema:()=>Is,getJsonSchemaMapper:()=>i,getJsonType:()=>f,getOperationsRoutes:()=>Hs,getOperationsStores:()=>ss,getProperties:()=>Gs,getPropertiesStores:()=>js,getRequiredProperties:()=>Ce,getSpec:()=>ys,getSpecType:()=>gs,getSpecTypeFromSpec:()=>Os,getStatusConstant:()=>Z,getStatusMessage:()=>Y,getStatusModel:()=>Rr,hasMapper:()=>a,inheritedClassMapper:()=>ye,integer:()=>Xt,isParameterType:()=>N,isRedirectionStatus:()=>te,isSuccessStatus:()=>ee,itemMapper:()=>ge,lazyRef:()=>lr,lazyRefMapper:()=>Oe,map:()=>ir,mapAliasedProperties:()=>ve,mapGenericsOptions:()=>P,mapHeaders:()=>ne,mapMapper:()=>Se,mapNullableType:()=>Re,mapOpenSpec:()=>Ts,mapOpenSpec2:()=>bs,mapOpenSpec3:()=>Rs,mapOpenSpecInfo:()=>Ss,mapRouteOptions:()=>kr,matchGroups:()=>vt,mergeOperation:()=>is,mergeSpec:()=>ds,number:()=>Vt,object:()=>ar,objectMapper:()=>Te,ofMapper:()=>Ae,oneOf:()=>pr,operationIdFormatter:()=>cs,parameters:()=>ps,popGenerics:()=>w,propertiesMapper:()=>Ee,registerJsonSchemaMapper:()=>r,schemaMapper:()=>_e,schemesReducer:()=>us,security:()=>hs,serializeEnum:()=>y,serializeEnumValues:()=>g,set:()=>or,string:()=>zt,tagsReducer:()=>ls,time:()=>er,toJsonMapCollection:()=>re,toJsonRegex:()=>O,toRef:()=>J,transformInformation:()=>Ms,transformSecurity:()=>_s,transformToOS2:()=>Ds,uri:()=>rr,url:()=>sr});var e=s(803);const t=new Map;function r(e,r){return t.set(e,r)}function i(e){if(!t.has(e))throw new Error(`JsonSchema ${e} mapper doesn't exists`);return t.get(e)}function o(e,t,r,s){return i(e)(t,r,s)}function a(e){return t.has(e)}const c=new Map;class u{propertyKey;propertyName;index;descriptor;decoratorType;collectionType;token;store;isStore=!0;parent;target;_type;_schema;constructor(e){const{target:t,propertyKey:r,descriptor:s,index:n,decoratorType:i}=e;this.target=t,this.propertyKey=r,this.propertyName=String(r),this.descriptor=s,this.index=n,this.decoratorType=i,this.token=t,this.store=e.store,this.parent=this}get targetName(){return(0,e.nameOf)(this.token)}get isCollection(){return!!this.collectionType}get isArray(){return(0,e.isArrayOrArrayClass)(this.collectionType)}get discriminatorAncestor(){const t=(0,e.ancestorsOf)(this.target).find((e=>u.from(e).schema.isDiscriminator));return t&&u.from(t)}get isPrimitive(){return(0,e.isPrimitiveOrPrimitiveClass)(this._type)}get isDate(){return(0,e.isDate)(this.computedType)}get isObject(){return(0,e.isObject)(this.computedType)}get isClass(){return(0,e.isClass)(this.computedType)}get schema(){return this._schema}get nestedGenerics(){return this.schema.nestedGenerics}set nestedGenerics(e){this.schema.nestedGenerics=e}get type(){return this._type}set type(e){this._type=e,this.build()}get computedType(){return this.itemSchema.getComputedType()}get itemSchema(){return this.isCollection?this.schema.itemSchema():this.schema}get parentSchema(){return this.parent.schema}get isDiscriminatorChild(){return this.schema.isDiscriminator&&this.discriminatorAncestor?.schema.discriminator().base!==this.target}static from(...t){if(t[0].isStore)return t[0];const r=t[0];t.length>1&&(t[0]=(0,e.prototypeOf)(t[0]));const s=e.Store.from(...t);if(!s.has("JsonEntityStore")){const n=(0,e.decoratorTypeOf)(t),i=c.get(n);if(!i)throw Error("Unsupported json entity type");const o=new i({store:s,decoratorType:n,target:(0,e.classOf)(r),propertyKey:t[1],index:"number"==typeof t[2]?t[2]:void 0,descriptor:"object"==typeof t[2]?t[2]:void 0});o.build(),s.set("JsonEntityStore",o)}return s.get("JsonEntityStore")}static fromMethod(t,r){return this.from(t,r,(0,e.descriptorOf)(t,r))}static get(t,r,s){return u.from((0,e.prototypeOf)(t),r,s)}isGetterOnly(){return(0,e.isObject)(this.descriptor)&&!this.descriptor.value&&this.descriptor.get&&!this.descriptor.set}get(e,t){return this.store.get(e,t)}set(e,t){return this.store.set(e,t)}toString(){return[this.targetName,this.propertyName,this.index].filter((e=>void 0!==e)).join(":")}buildType(t){(0,e.isCollection)(t)?this.collectionType=t:(this._type=t,this._type&&(0,e.isPlainObject)(this._type)&&(this._type=String))}}var p=function(){return p=Object.assign||function(e){for(var t,r=1,s=arguments.length;r<s;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},p.apply(this,arguments)};function h(e,t,r,s){var n,i=arguments.length,o=i<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,r):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,s);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(o=(i<3?n(o):i>3?n(t,r,o):n(t,r))||o);return i>3&&o&&Object.defineProperty(t,r,o),o}function l(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function m(t){return(0,e.isPromise)(t)?Object:(0,e.isClass)(t)||(0,e.isSymbol)(t)||(0,e.isPrimitiveOrPrimitiveClass)(t)||(0,e.isClassObject)(t)||(0,e.isDate)(t)||(0,e.isCollection)(t)?(0,e.classOf)(t):(0,e.isArrowFn)(t)?t():t}Object.create,Object.create;const d=["string","number","integer","boolean","object","array","null","any"];function f(t){return null===t?"null":(0,e.isPrimitiveOrPrimitiveClass)(t)?d.indexOf(t)>-1?t:"string"==typeof t?"file"===t?"file":"generic":(0,e.primitiveOf)(t):t===Array?"array":(0,e.isArray)(t)?t.map(f):t===Set?"array":(0,e.isDate)(t)||(0,e.isBuffer)(t)?"string":"object"}const y=t=>(0,e.isObject)(t)&&null!==t?Object.entries(t).reduce(((e,[t,r])=>isNaN(+t)?e.concat(r):e),[]):t;function g(t){const r=t.reduce(((e,t)=>e.concat(y(t))),[]),s=r.reduce(((e,t)=>e.add((e=>null===e?"null":typeof e)(t))),new Set);return{values:(0,e.uniq)(r),types:s}}function O(e){return String(e).replace(/^(\/)(.*)(\/)$/,"$2")}class S{propertyName;base;values=new Map;types=new Map;constructor({base:t,propertyName:r,types:s,values:n}={}){Object.assign(this,(0,e.cleanObject)({base:t,propertyName:r,types:s?new Map(s):void 0,values:n?new Map(n):void 0}))}add(e,t){return t.forEach((t=>{this.values.set(t,e)})),this.types.set(e,t),this}getType(e){return this.values.get(e)||this.base}getValues(e){return this.types.get(e)}getDefaultValue(e){const t=this.types.get(e);return t?t[0]:void 0}children(){return[...new Set([...this.types.keys()])]}}function b(e){return e instanceof T?e:Object.entries(e).reduce(((e,[t,r])=>(e[O(t)]=R(r),e)),{})}function R(t){return(0,e.isArray)(t)?t.map(R):t.isStore||t.isJsonSchema||t.isLazyRef?t:(0,e.classOf)(t)!==Object&&(0,e.isClass)(t)?u.from(t).schema:(0,e.isObject)(t)?T.from(t):(0,e.isPrimitiveClass)(t)?T.from({type:t}):t}class T extends Map{isJsonSchema=!0;$hooks=new e.Hooks;$required=new Set;$allow=[];$selfRequired;$forwardGroups=!1;isDiscriminatorKey=!1;isDiscriminator=!1;#e=!1;#t=null;#r;#s=[];#n=new Map;#i;#o;#a=!1;#c=!1;#u=!1;constructor(e={}){super(),e&&this.assign(e)}get alias(){return this.#n}get nestedGenerics(){return this.#s}set nestedGenerics(e){this.#s=e}get genericLabels(){return this.#r}set genericLabels(e){this.#r=e}get isClass(){return(0,e.isClass)(this.class)&&![Map,Array,Set,Object,Date,Boolean,Number,String].includes(this.#o)}get isCollection(){return this.#c}get isGeneric(){return this.#a}get discriminatorAncestor(){const t=(0,e.ancestorsOf)(this.#o).find((e=>u.from(e).schema.isDiscriminator));return t&&u.from(t).schema}get hasGenerics(){return!(!this.nestedGenerics||!this.nestedGenerics.length)}get genericType(){return this.get("$ref")}get class(){return this.getComputedType()}get canRef(){return this.#u}get isNullable(){return this.#e||this.$allow.includes(null)}get isReadOnly(){return this.get("readOnly")}get isWriteOnly(){return this.get("writeOnly")}static from(e={}){return new T(e)}nullable(e){this.#e=e}itemSchema(e={}){return this.#i=this.#i||R(e),this.#i.assign(e),this.#i}getAliasOf(e){return this.#n.get(e)}addAlias(e,t){return this.#n.set(e,t),this.#n.set(t,e),this}removeAlias(e){const t=this.#n.get(e);return t&&this.#n.delete(t),this.#n.delete(e),this}$id(e){return super.set("$id",e),this}$ref(e){return super.set("$ref",e),this}$schema(e){return super.set("$schema",e),this}label(e){return this.#u=!0,super.set("name",e),this}name(e){return super.set("name",e),this}ignore(e){if("boolean"==typeof e){const t=e;e=()=>t}return this.$hooks.on("ignore",e),this}default(e){return super.set("default",e),this}const(e){return super.set("const",e),this}description(e){return super.set("description",e),this}discriminator(){return this.isDiscriminator=!0,this.#t=this.#t||new S({base:this.#o})}discriminatorKey(e){return this.discriminator().propertyName=e,this.isDiscriminator=!0,this}discriminatorValue(...e){const t=this.discriminatorAncestor.discriminator();t.add(this.#o,e),this.isDiscriminator=!0;const r=this.get("properties"),s=r[t.propertyName]||new T({type:"string"});return 1===e.length?(s.const(e[0]),s.examples([e[0]])):(s.enum(...e),s.examples(e)),r[t.propertyName]=s,this.set("properties",r),this}additionalItems(e){return super.set("additionalItems",R(e)),this}contains(e){return super.set("contains",R(e)),this}examples(e){return super.set("examples",e),this}example(...e){return this.examples(e)}items(e){return super.set("items",this.#i=R(e)),this}maxItems(e){return super.set("maxItems",e),this}minItems(e){return super.set("minItems",e),this}uniqueItems(e){return super.set("uniqueItems",e),this}maxProperties(e){return super.set("maxProperties",e),this}minProperties(e){return super.set("minProperties",e),this}allow(...e){return this.$allow.push(...e),this}required(t=!0){if(!(0,e.isArray)(t)){const e=this.clone();return e.$selfRequired=t,e}return this.$required.clear(),t.forEach((e=>this.$required.add(e))),this}addRequired(e){return this.$required.add(e),this}removeRequired(e){return this.$required.delete(e),this}isRequired(e){return this.$required.has(e)}properties(e){return super.set("properties",b(e)),this}addProperty(e,t){const r=this.get("properties")||{};return r[e]=t,super.set("properties",b(r)),this}patternProperties(e){return super.set("patternProperties",b(e)),this}additionalProperties(e){return super.set("additionalProperties",R(e)),this}unknown(e=!0){return this.additionalProperties(e)}dependencies(e){return super.set("dependencies",b(e)),this}propertyNames(e){return super.set("propertyNames",R(e)),this}enum(e,...t){const{values:r,types:s}=g([e,t].flat());return super.set("enum",r).any(...s),this}definitions(e){return super.set("definitions",b(e)),this}allOf(e){return super.set("allOf",e.map(R)),this}anyOf(e){return super.set("anyOf",e.map(R)),this}oneOf(e){let t=e.map(R);if(1===t.length&&!(e[0]instanceof T)){if(!t[0].#t)return this.type(e[0]);const r=t[0].discriminator().children();t=r.map(R)}super.set("oneOf",t);const r=t[0];if(r.isDiscriminator){const e=r.discriminatorAncestor.discriminator(),{propertyName:t}=e;super.set("discriminator",{propertyName:t}),this.isDiscriminator=!0,this.#t=e}return this}not(e){return super.set("not",R(e)),this}multipleOf(e){return super.set("multipleOf",e),this}maximum(e){return super.set("maximum",e),this}exclusiveMaximum(e){return super.set("exclusiveMaximum",e),this}minimum(e){return super.set("minimum",e),this}exclusiveMinimum(e){return super.set("exclusiveMinimum",e),this}maxLength(e){return super.set("maxLength",e),this}minLength(e){return super.set("minLength",e),this}pattern(e){return super.set("pattern",O(e)),this}format(e){return super.set("format",e),this}type(t){switch(t){case Map:super.set("type",f(t)),this.#o=t,this.#c=!0,this.has("additionalProperties")||super.set("additionalProperties",this.itemSchema({}));break;case Array:super.set("type",f(t)),this.#o=t,this.#c=!0,this.has("items")||super.set("items",this.itemSchema({}));break;case Set:super.set("type",f(t)),this.#o=t,this.#c=!0,this.uniqueItems(!0),this.has("items")||super.set("items",this.itemSchema({}));break;case"integer":super.set("type",f(t)),this.integer();break;case Object:case Date:case Boolean:case Number:case String:super.set("type",f(t)),this.#o=t,this.has("properties")||super.set("properties",{});break;default:if((0,e.isClass)(t)||(0,e.isFunction)(t))super.set("type",void 0),this.#o=t,this.has("properties")||super.set("properties",{});else{const e=f(t);"generic"===e?(this.#a=!0,super.set("$ref",t)):super.set("type",e)}}return this}any(...t){return t.filter((t=>(0,e.isClass)(t))).length>=2?this.oneOf(t.filter((e=>null!==e&&(this.nullable(!0),!0)))):(t.length?(t=(0,e.uniq)(t).map(f)).includes("null")&&(this.nullable(!0),t=t.filter((e=>"null"!==e))):(t=["integer","number","string","boolean","array","object"],this.nullable(!0)),this.type(1===t.length?t[0]:t)),this}integer(){return super.set("type","integer"),super.set("multipleOf",1),this}title(e){return super.set("title",e),this}readOnly(e){return super.set("readOnly",e),this}writeOnly(e){return super.set("writeOnly",e),this}customKey(e,t){return super.set(`#${e}`,t),this}toObject(e){return this.toJSON(e)}toJSON(e){let t=!1;e||(t=!0,e={schemas:{}});const r=o("schema",this,e);return t&&e.schemas&&Object.keys(e.schemas).length&&(r.definitions=e.schemas),r}assign(e={}){return(e instanceof T?[...e.entries()]:Object.entries(e)).forEach((([e,t])=>{this.set(e,t)})),e instanceof T&&(this.$selfRequired=e.$selfRequired,this.$allow.push(...e.$allow),e.$required.forEach((e=>{this.$required.add(e)})),this.#t=this.#t?new S(this.#t):null,this.isDiscriminator=e.isDiscriminator,this.isDiscriminatorKey=e.isDiscriminatorKey,this.#u=e.#u,this.#n=new Map(this.#n.entries()),e.#r&&(this.#r=[...e.#r]),this.#s=e.#s.map((e=>[...e])),this.#o=e.#o,this.#a=e.#a,this.#c=e.#c,this.#u=e.#u,super.set("type",e.get("type"))),this}set(t,r){return t in this?(0,e.isFunction)(this[t])&&this[t](r):super.set(t,r),this}getComputedType(){return m(this.#o)}getComputedItemType(){return this.#i?this.#i.getComputedType():this.getComputedType()}getJsonType(){return this.get("type")||f(this.getComputedType())}getTarget(){return this.#o}getName(){return this.get("name")||(this.#o?(0,e.nameOf)((0,e.classOf)(this.getComputedType())):"")}clone(){return new T(this)}}function A(e){return t=>{c.set(e,t)}}let E=class extends u{children=new Map;get path(){return this.store.get("path","/")}set path(e){this.store.set("path",e)}build(){this._type||this.buildType(this.target),this._type=this._type||Object,this._schema=T.from({type:this.type})}};E=h([A(e.DecoratorTypes.CLASS)],E);let v=class extends u{parent=u.from(this.target);get required(){return this.parent.schema.isRequired(this.propertyKey)}set required(e){e?this.parent.schema.addRequired(this.propertyKey):this.parent.schema.removeRequired(this.propertyKey)}get allowedRequiredValues(){return this.schema.$allow}discriminatorKey(){return this.parent.schema.discriminatorKey(String(this.propertyKey)),this.itemSchema.isDiscriminatorKey=!0,this}isDiscriminatorKey(){return this.itemSchema.isDiscriminatorKey}isRequired(e){return this.required&&[void 0,null,""].includes(e)&&!this.allowedRequiredValues.includes(e)}build(){this._type||this.buildType(e.Metadata.getType((0,e.prototypeOf)(this.target),this.propertyKey)),this._type=this._type||Object;let t=this.parent.schema.get("properties")[this.propertyName];t||(this.parent.children.set(this.propertyName,this),t=T.from({type:this.collectionType||this.type}),this.collectionType&&t.itemSchema(this.type)),this.parent.schema.addProperty(this.propertyName,t),this._schema=t}static get(t,r){return u.from((0,e.prototypeOf)(t),r)}};v=h([A(e.DecoratorTypes.PROP)],v);const x=v;function C(e,t){return e.reduce(((e,r,s)=>e.set(r,t[s])),new Map)}function P(e){if(e.genericLabels&&e.genericTypes){const{genericLabels:t,genericTypes:r,...s}=e;return{...s,generics:C(t,r)}}return e}function w(e){const[t,...r]=e.nestedGenerics;return{genericTypes:t,nestedGenerics:r}}class $ extends Map{constructor(e={}){super(),this.assign(e)}assign(t={}){return Object.entries(t).forEach((([t,r])=>{(0,e.isFunction)(this[t])?this[t](r):this.set(t,r)})),this}toJSON(e={}){return o("map",this,e)}}var _;function M(e){return String(e).toLowerCase().replace("raw_","").replace("cookies","cookie")}function N(e){return Object.values(_).includes(M(e))}function D(e){return e.toLowerCase()}!function(e){e.BODY="body",e.PATH="path",e.QUERY="query",e.HEADER="header",e.COOKIES="cookie",e.FILES="files"}(_||(_={}));var L,k=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],I=/[^A-Z0-9]+/gi;function H(e,t){void 0===t&&(t={});for(var r=t.splitRegexp,s=void 0===r?k:r,n=t.stripRegexp,i=void 0===n?I:n,o=t.transform,a=void 0===o?D:o,c=t.delimiter,u=void 0===c?" ":c,p=j(j(e,s,"$1\0$2"),i,"\0"),h=0,l=p.length;"\0"===p.charAt(h);)h++;for(;"\0"===p.charAt(l-1);)l--;return p.slice(h,l).split("\0").map(a).join(u)}function j(e,t,r){return t instanceof RegExp?e.replace(t,r):t.reduce((function(e,t){return e.replace(t,r)}),e)}function G(e,t){var r=e.charAt(0),s=e.substr(1).toLowerCase();return t>0&&r>="0"&&r<="9"?"_"+r+s:""+r.toUpperCase()+s}function q(e,t){return void 0===t&&(t={}),H(e,p({delimiter:"",transform:G},t))}function U(e,t){return t.groups&&t.groups.length?q(`${e} ${t.groups.join(" ")}`):e}function K(t,r,s){const n=function(e){const{host:t="#/"+("openapi3"===e.specType?"components/schemas":"definitions")}=e;return t}(s),i={$ref:`${n}/${t}`},o=r.isNullable,a=r.isReadOnly,c=r.isWriteOnly;if(o||a||c)switch(s.specType){case L.OPENAPI:return(0,e.cleanObject)({nullable:!!o||void 0,readOnly:!!a||void 0,writeOnly:!!c||void 0,oneOf:[i]});case L.JSON:return(0,e.cleanObject)({readOnly:a,writeOnly:c,oneOf:[i]})}return i}function J(e,t,r){const s=U(e.getName(),r);return r.schemas[e.getName()]=t,K(s,e,r)}!function(e){e.JSON="jsonschema",e.SWAGGER="swagger2",e.OPENAPI="openapi3"}(L||(L={}));class B extends ${nestedGenerics=[];groups;$schema;expression;getName(){const e=this.get("name");return"files"===this.get("in")?e.split(".")[0]:e}name(e){return this.set("name",e),this}examples(e){return super.set("examples",e),this}description(e){return this.set("description",e),this}in(e,t=""){return this.set("in",M(e)),this.expression=t,this}required(e){return this.set("required",e),this}schema(e){return this.$schema=e,this}toJSON(t={}){if(!N(this.get("in")))return null;const r=(0,e.toMap)(t.schemas||{});return this.build({...t,groups:this.groups},r)}build(e,t){const{type:r,schema:s,...n}=super.toJSON(e),i=o("item",this.$schema,{...e,...w(this)});switch(n.required=n.required||this.get("in")===_.PATH,this.get("in")){case _.FILES:return this.getFileSchema(i,n);case _.QUERY:if(i.$ref){if(!n.name)return this.refToParameters(n,e,t);n.style="deepObject"}}return n.schema=i,n}getFileSchema(t,r){const s={type:"string",format:"binary",oneOf:void 0};return"array"===t.type?(t.items=(0,e.cleanObject)({...t.items,...s}),r.schema=t):r.schema=(0,e.cleanObject)({...t,...s}),r}refToParameters(t,r,s){const n=U(this.$schema.getName(),r),i=r.schemas[n];return r.schemas[n]&&!s.has(n)&&delete r.schemas[this.$schema.getName()],Object.entries(i.properties||{}).reduce(((r,[s,{description:n,...o}])=>[...r,(0,e.cleanObject)({...t,name:s,required:(i.required||[]).includes(s),description:n,schema:o,style:o.$ref?"deepObject":void 0})]),[])}}let F=class extends u{paramType;expression;dataPath;pipes;parameter=new B;parent=u.fromMethod(this.target,this.propertyKey);constructor(e){super(e),this.pipes=e.pipes||[],this.paramType=e.paramType||this.paramType,this.expression=e.expression||this.expression,this.dataPath=e.dataPath||this.dataPath}get nestedGenerics(){return this.parameter.nestedGenerics}set nestedGenerics(e){this.parameter.nestedGenerics=e}get required(){return!!this.parameter.get("required")}set required(e){this.parameter.required(e)}get allowedRequiredValues(){return this.schema.$allow}static getParams(t,r){const s=[],n=(0,e.ancestorsOf)(t).reverse().find((t=>(0,e.isMethodDescriptor)(t,r)&&u.fromMethod(t,r).children.size));return n?(u.fromMethod(n,r).children.forEach(((e,t)=>{s[+t]=e})),s):[]}static get(t,r,s){return u.from((0,e.prototypeOf)(t),r,s)}isRequired(e){return this.required&&[void 0,null,""].includes(e)&&!this.allowedRequiredValues.includes(e)}getSchema(t){return(0,e.isCollection)(t)||!(0,e.isClass)(t)?T.from({type:t}):u.from(t).schema}build(){if(!this._type){const t=e.Metadata.getParamTypes((0,e.prototypeOf)(this.target),this.propertyKey)[this.index];this.buildType(t)}this._type=this._type||Object,this._schema||(this.parent.children.set(this.index,this),this._schema=this.getSchema(this.collectionType||this.type),this.parameter.schema(this._schema),this.collectionType&&this._schema.itemSchema(this.getSchema(this.type)),this.parent.operation.addParameter(this.index,this.parameter))}};F=h([A(e.DecoratorTypes.PARAM),l("design:paramtypes",[Object])],F);const W=F;var V=s(203),X=s.n(V);function z(e){return e.toUpperCase()}const Q=X().codes.reduce(((e,t)=>{const r=String(X()(t));return{...e,[String(t)]:{label:r,code:(s=r,void 0===n&&(n={}),H(s,p({delimiter:"_",transform:z},n)))}};var s,n}),{});function Z(e){return Q[e]?.code}function Y(e){return Q[e]?.label}Q[200].label="Success",Q[200].code="SUCCESS";const ee=e=>Number(e)&&200<=Number(e)&&Number(e)<300,te=e=>Number(e)&&300<=Number(e)&&Number(e)<400;function re(e,t=$){return Object.entries(e).reduce(((e,[r,s])=>(e.set(r,new t(s)),e)),new $)}class se extends ${constructor(e={}){super(e),this.content(e.content||{})}description(e){return this.set("description",e),this}content(e){return this.set("content",re(e)),this}addContent(e,t,r){const s=this.get("content"),n=new $;return n.set("schema",t),r&&n.set("examples",r),s.set(e,n),this}required(e){return this.set("required",e),this}}function ne(t){return Object.keys(t).reduce(((r,s)=>{const n=t[s];let i=typeof n,o={example:n};return"object"===i&&(o=n,o.example=void 0===o.value?o.example:o.value,delete o.value,i=typeof o.example),o.type=o.type||i,r[s]=(0,e.cleanObject)(o),r}),{})}class ie extends ${groups=[];allowedGroups;schema(e){return this.set("schema",e),this}examples(e){return this.set("examples",e),this}toJSON(e={}){let t=[...this.groups||[]];return super.toJSON({...e,groups:t})}}class oe extends ${status;constructor(e={}){super(e),this.content(e.content||{})}description(e){return this.set("description",e),this}headers(e){return this.set("headers",ne(e)),this}content(e){return this.set("content",re(e,ie)),this}getContent(){return this.get("content")}getMedia(e,t=!0){return t&&this.addMedia(e),this.getContent()?.get(e)}addMedia(e){const t=this.get("content");return t.has(e)||t.set(e,new ie),this}toJSON(e={}){const t=super.toJSON(e);return 204===this.status&&delete t.content,t.headers&&Object.entries(t.headers).forEach((([e,{type:r,...s}])=>{t.headers[e]={...s,schema:{type:r}}})),t}}class ae extends ${operationPaths=new Map;#p;#h=!1;constructor(e={}){super({parameters:[],responses:new $,...e})}get response(){return this.getResponses().get(this.getStatus().toString())}get status(){return this.#p}tags(e){return super.set("tags",e),this}addTags(t){return t=(0,e.uniqBy)([...this.get("tags")||[],...t],"name"),this.tags(t)}summary(e){return super.set("summary",e),this}operationId(e){return this.set("operationId",e),this}responses(e){return this.set("responses",e),this}defaultStatus(e){return this.#p=e,this}getStatus(){return this.#p||200}setRedirection(e=302){return this.#h=!0,this.#p=e,this}isRedirection(e){return this.#h&&e?te(e):this.#h}addResponse(t,r){if((ee(t)||te(t))&&!this.#p){const e=this.getResponseOf(200);this.getResponses().set(t.toString(),e).delete("200"),this.defaultStatus(Number(t))}const s="default"===t?this.getStatus().toString():t.toString(),n=this.getResponses().get(s);return n?(r.forEach(((t,r)=>{["content"].includes(r)||n.set(r,(0,e.deepMerge)(n.get(r),t))})),n.status=Number(s)):(r.status=Number(s),this.getResponses().set(s,r)),this}getResponses(){return this.get("responses")}getResponseOf(e){return("default"===e?this.response:this.getResponses().get(String(e)))||new oe}ensureResponseOf(e){return this.addResponse(e,this.getResponseOf(e)),this.getResponseOf(e)}getHeadersOf(e){return this.getResponseOf(e).get("headers")||{}}getContentTypeOf(e){return[...this.getResponseOf(e).get("content").keys()].slice(-1)[0]}security(e){return this.set("security",e),this}addSecurityScopes(t,r){const s=this.get("security")||{};return s[t]=(0,e.uniq)([...s[t]||[],...r]),this.security(s)}description(e){return super.set("description",e),this}deprecated(e){return super.set("deprecated",e),this}parameters(e){return super.set("parameters",e),this}addParameter(e,t){-1===e&&(e=this.get("parameters").length),this.get("parameters")[e]=t}consumes(e){return super.set("consumes",e),this}produces(e){return super.set("produces",e),this}addProduce(t){const r=(0,e.uniq)([].concat(this.get("produces"),t)).filter(Boolean);this.set("produces",r)}addOperationPath(e,t,r={}){return this.operationPaths.set(String(e)+String(t),{...r,method:e,path:t}),this}toJSON(e={}){const t=super.toJSON({...e,ignore:["parameters"]}),r=[],s=[];if(t.security&&(t.security=[].concat(t.security)),this.get("parameters").forEach((t=>{N(this.get("in"))||t.get("in")&&([_.BODY,_.FILES].includes(t.get("in"))?r.push(t):s.push(...[].concat(t.toJSON(e))))})),t.parameters=s.filter(Boolean),0===this.get("responses").size&&(t.responses={200:{description:Y(200)}}),r.length){const s=function(e,t){let r=new T;const s={},n=[];let i=0;return e.forEach((e=>{const o=e.getName();Array.from(e.entries()).filter((([e])=>!["in","name"].includes(e))).forEach((([e,t])=>{void 0===s[e]&&(s[e]=t)}));const a=e.toJSON(t);o?(r.addProperty(o,a.schema||{type:a.type}),e.get("required")&&r.addRequired(o),i++):n.push(a)})),i||1!==n.length?(r.type("object"),{schema:r.toJSON(t),required:!1,...s}):n[0]}(r,e);t.requestBody=function(e,{schema:t,examples:r,in:s,...n}){const i=new se(n);return(e.get("consumes")?.length?e.get("consumes"):["application/json"]).forEach((e=>{i.addContent(e,t,r)})),i}(this,s).toJSON(e)}return delete t.consumes,delete t.produces,t}}let ce=class extends u{parent=u.from(this.target);middlewares=[];beforeMiddlewares=[];afterMiddlewares=[];operation=new ae;children=new Map;constructor(t){super({store:e.Store.fromMethod(t.target,t.propertyKey),descriptor:(0,e.descriptorOf)(t.target,t.propertyKey),...t});const{beforeMiddlewares:r=[],middlewares:s=[],afterMiddlewares:n=[]}=t;this.after(n),this.before(r),this.use(s)}get params(){return this.parameters}get view(){return this.store.get("view")}set view(e){this.store.set("view",e)}get acceptMimes(){return this.store.get("acceptMimes",[])}set acceptMimes(e){this.store.set("acceptMimes",e)}get parameters(){return[...this.children.values()]}get operationPaths(){return this.operation.operationPaths}static get(t,r,s){return s=s||(0,e.descriptorOf)((0,e.prototypeOf)(t),r),u.from((0,e.prototypeOf)(t),r,s)}getResponseOptions(e,{contentType:t="application/json",includes:r}={}){const s=this.operation.getResponseOf(e).getMedia(t,!1);if(s&&s.has("schema")){const e=s.get("schema");let t=s.groups;return r&&s.allowedGroups?.size&&(t=[...t||[],...r.filter((e=>s.allowedGroups.has(e)))]),{type:e.getComputedItemType(),groups:t}}return{type:this.type}}before(t){return this.beforeMiddlewares=this.beforeMiddlewares.concat(t).filter(e.isFunction),this}after(t){return this.afterMiddlewares=this.afterMiddlewares.concat(t).filter(e.isFunction),this}use(t){return this.middlewares=this.middlewares.concat(t).filter(e.isFunction),this}get(t){const r=e.Store.from(this.target).get(t);return(0,e.deepMerge)(r,this.store.get(t))}getParamTypes(){return[...this.children.values()].reduce(((e,t)=>({...e,[t.paramType]:!0})),{})}build(){if(!this._type){let t=e.Metadata.getReturnType(this.target,this.propertyKey);t=(0,e.isPromise)(t)?void 0:t,this.buildType(t)}this._type=this._type||Object,this.parent.children.set(this.propertyName,this),(0,e.isCollection)(this._type)&&(this.collectionType=this._type,delete this._type),this._schema=T.from({type:this.collectionType||this.type}),this.collectionType&&this._schema.itemSchema(this.type),this.parent.schema.addProperty(this.propertyName,this.schema)}};ce=h([A(e.DecoratorTypes.METHOD),l("design:paramtypes",[Object])],ce);const ue=ce;function pe(...e){return u.from(...e)}c.set(e.DecoratorTypes.CLASS,E),c.set(e.DecoratorTypes.PROP,v),c.set(e.DecoratorTypes.PARAM,F),c.set(e.DecoratorTypes.METHOD,ce);class he{getType;isLazyRef=!0;constructor(e){this.getType=e}get target(){return this.getType()}get schema(){return pe(this.getType()).schema}get name(){return(0,e.nameOf)(this.getType())}toJSON(e){return this.getType()&&o("schema",this.schema,e)}}function le(e,t={}){if("object"!=typeof e||null===e)return e;if(e instanceof he)return o("lazyRef",e,t);if("toJSON"in e){const r=e.toJSON(P(t));return e.canRef?J(e,r,t):r}return o("object",e,t)}function me(e,t){const r=u.from(e.class),s=U(r.schema.getName()||e.getName(),t);if(e.hasGenerics){const{type:s,properties:n,additionalProperties:i,items:a,...c}=e.toJSON(t),u={...o("any",r.schema,{...t,...w(e),root:!1}),...c};if(u.title){const r=U(u.title,t);return t.schemas[r]=u,delete u.title,K(r,e,t)}return u}return t.schemas&&!t.schemas[s]&&(t.schemas[s]={},t.schemas[s]=o("any",r.schema,P({...t,root:!1}))),K(s,e,t)}function de(t,r){const{generics:s}=r;if(s&&t.$ref&&s.has(t.$ref)){let n=s.get(t.$ref);if((0,e.isPrimitiveClass)(n))return{type:f(n)};if(n===Date)return{type:"string",format:"date-time"};if(n.toJSON)return n.toJSON({...r,generics:void 0});if(n===Object)return{type:"object"};if((0,e.isClass)(n)){const e={class:n};return 0===r.nestedGenerics.length?o("class",e,{...r,generics:void 0}):o("schema",u.from(e.class).schema,{...r,...w(r),root:!1})}}return t}function fe(t){const r=t.isStore?t:pe(t);return r.$inherited||(r.$inherited=(0,e.ancestorsOf)(r.target).reverse().reduce(((e,t)=>e.set(t,pe(t))),new Map)),r.$inherited}function ye(t,{target:r,...s}){const n=Array.from(fe(r).entries()).filter((([t])=>(0,e.classOf)(t)!==(0,e.classOf)(r)));if(n.length){const r=n.reduce(((t,[,r])=>(0,e.deepMerge)(t,o("schema",r.schema,s))),{});t=(0,e.deepMerge)(r,t)}return t}function ge(e,t){return e&&e.isClass?o("class",e,t):o("any",e,t)}function Oe(e,t){const r=e.name;if(t.$refs?.find((t=>t===e.target)))return K(r,e.schema,t);t.$refs=[...t.$refs||[],e.target];const s=e.toJSON(P(t));return J(e.schema,s,t)}function Se(e,{ignore:t=[],...r}){return r=P(r),Array.from(e.entries()).reduce(((e,[s,n])=>(t.includes(s)||(e[s]=o("item",n,r)),e)),{})}function be(e,t){let r=e?.$hooks?.alter("ignore",!1,[t]);return r||(!1!==t.groups?e?.$hooks?.alter("groups",!1,[t.groups]):r)}function Re(t,r,s){if(!r?.isNullable)return t;let n=[].concat(t.type).filter(Boolean);switch(s.specType){default:case L.JSON:t.discriminator||(t.oneOf?function(e){return e.oneOf.find((e=>"null"===e.type))}(t)||t.oneOf.unshift({type:"null"}):t.type=(0,e.uniq)(["null",...n]));break;case L.OPENAPI:t.nullable=!0,t.oneOf||(n.length>1?(t.oneOf=n.map((e=>({type:e}))),delete t.type):t.type=n[0])}return t}function Te(t,r){const{specType:s,operationIdFormatter:n,root:i,schemas:a,genericTypes:c,nestedGenerics:u,useAlias:p,genericLabels:h,...l}=r;return Object.entries(t).reduce(((e,[s,n])=>{if(!1!==r.withIgnoredProps&&!be(n,l)){const i={...r,groups:t?.$forwardGroups||n?.$forwardGroups?r.groups:void 0};e[s]=o("item",n,i),e[s]=Re(e[s],n,i)}return e}),(0,e.isArray)(t)?[]:{})}function Ae(e,t,r){return e.map((e=>o("item",e,{...t,genericLabels:r.genericLabels})))}function Ee(e,t,r){return e.isClass?o("class",e,t):o("any",e,{...t,genericLabels:r.genericLabels})}function ve(e,t){return Object.entries(e).reduce(((e,[r,s])=>(e[r=t.get(r)||r]=s,e)),{})}function xe(e,t,r){return!1!==r.groups?t?.$hooks?.alter("requiredGroups",e,[r.groups]):e}function Ce(t,r,s){if(s.groups&&s.groups.includes("partial"))return t;let n=function(t,r,s){let n=t.required||[];return n=[...n,...r.$required],r.get("properties")&&(n=Object.entries(r.get("properties")).reduce(((e,[t,r])=>r&&void 0!==r.$selfRequired?r.$selfRequired?e.concat(t):e.filter((e=>e===t)):e),n)),xe((0,e.uniq)(n),r,s)}(t,r,s);return n=(0,e.uniq)(n).reduce(function(e,t,r={}){const{useAlias:s}=r,n=Object.keys(e.properties||{});return(r,i)=>{const o=s&&t.alias.get(i)||i;if(n.includes(o)){const s=t.get("properties")[i],n=e.properties[o];return e.properties[o]=function(e,t){if(!t?.$allow.includes("")&&[].concat(t?.get("type")).includes("string")){const t=e?.minLength;if(void 0===t)return{...e,minLength:1}}return e}(n,s),r.concat(o)}return r}}(t,r,s),[]),t.discriminator&&n.push(t.discriminator.propertyName),n.length?{...t,required:n}:t}function Pe(e,t,r){return e.oneOf&&!1!==r.groups&&(e={...e,oneOf:t.$hooks.alter("oneOf",e.oneOf,[r.groups])}),!(e.oneOf||e.allOf||e.anyOf)||e.items||e.properties||delete e.type,e}r("any",le),r("class",me),r("generics",de),r("inheritedClass",ye),r("item",ge),r("lazyRef",Oe),r("map",Se),r("object",Te),r("anyOf",Ae),r("allOf",Ae),r("oneOf",Ae),r("properties",Ee),r("items",Ee),r("additionalProperties",Ee),r("propertyNames",Ee),r("contains",Ee),r("dependencies",Ee),r("patternProperties",Ee),r("additionalItems",Ee),r("not",Ee),r("definitions",Ee);const we=["name","$required","$hooks","_nestedGenerics",L.OPENAPI,L.SWAGGER,L.JSON],$e=["const"];function _e(t,r){const{useAlias:s=!0,schemas:n={}}=r;r={...r,useAlias:s,schemas:n};let i=[...t.keys()].filter((e=>!function(e,{specType:t=L.JSON,customKeys:r=!1}){return we.includes(e)||e.startsWith("#")&&(!1===r||t!==L.JSON)||t!==L.JSON&&$e.includes(e)}(e,r))).reduce(((n,i)=>{let c=t.get(i);if("type"===(i=i.replace(/^#/,"")))return{...n,[i]:t.getJsonType()};if(function(t,r,s){return"examples"===t&&(0,e.isObject)(r)&&L.OPENAPI===s.specType}(i,c,r)&&(i="example",c=Object.values(c)[0]),c&&"object"==typeof c&&a(i)){if(c=o(i,c,r,t),function(e,t){return"object"==typeof t&&["items","properties","additionalProperties"].includes(e)&&0===Object.keys(t).length}(i,c))return n;(function(e,t,r){return"object"==typeof t&&r&&["properties","additionalProperties"].includes(e)})(i,c,s)&&(c=ve(c,t.alias))}return{...n,[i]:c}}),{});return t.isClass&&(i=o("inheritedClass",i,{...r,root:!1,schemas:n,target:t.getComputedType()})),i=o("generics",i,{...r,root:!1,schemas:n}),t.has(r.specType)&&(i={...i,...t.get(r.specType).toJSON(r)}),i=Ce(i,t,{...r,useAlias:s}),i=Re(i,t,r),i=Pe(i,t,r),i}r("schema",_e);const Me=["all","checkout","connect","copy","delete","get","head","lock","merge","mkactivity","mkcol","move","m-search","notify","options","param","patch","post","propfind","propatch","purge","put","report","search","subscribe","trace","unlock","unsuscribe"];var Ne,De;function Le(e){return(...t)=>{const r=e(pe(...t),t);"function"==typeof r&&r(...t)}}function ke(...t){return Le((r=>{r.store.set("childrenControllers",t),t.forEach((t=>{e.Store.from(t).set("parentController",r.token)}))}))}function Ie(e,...t){return Le((r=>{var s,n;e=e||(s=r.targetName,void 0===n&&(n={}),function(e,t){return void 0===t&&(t={}),H(e,p({delimiter:"."},t))}(s,p({delimiter:"_"},n))),r.discriminatorAncestor&&r.schema.discriminatorValue(e,...t)}))}function He(e,t){if(!e)throw new Error("A type is required on `@CollectionOf(type)` decorator. Please give a type or wrap it inside an arrow function if you have a circular reference.");const r={};let s=!1;const n=(...n)=>{const i=u.from(...n);t&&(i.collectionType=t,i.schema.type(t)),i.type=e,i.itemSchema.type(e),i.schema.assign(r),i.isArray&&s&&(i.schema.set("contains",i.schema.get("items")),i.schema.delete("items"))};return n.MinItems=e=>(r.minItems=e,n),n.MaxItems=e=>(r.maxItems=e,n),n.MinProperties=e=>(r.minProperties=e,n),n.MaxProperties=e=>(r.maxProperties=e,n),n.Contains=()=>(s=!0,n),n.UniqueItems=(e=!0)=>(r.uniqueItems=e,n),n}function je(e){return He(e,Array)}function Ge(e){return He(e,Map)}function qe(e){return He(e).Contains()}function Ue(e){if(e<0)throw new Error("The value of maxItems MUST be a non-negative integer.");return Le((t=>{t.schema.maxItems(e)}))}function Ke(e){if(e<0)throw new Error("The value of maxProperties MUST be a non-negative integer.");return Le((t=>{t.isCollection?t.schema.maxProperties(e):t.itemSchema.maxProperties(e)}))}function Je(e){if(e<0)throw new Error("The value of minItems MUST be a non-negative integer.");return Le((t=>{t.schema.minItems(e)}))}function Be(e){if(e<0)throw new Error("The value of minProperties MUST be a non-negative integer.");return Le((t=>{t.isCollection?t.schema.minProperties(e):t.itemSchema.minProperties(e)}))}function Fe(e=!0){return Le((t=>{t.schema.uniqueItems(e)}))}function We(e){return Le(((t,r)=>{t.itemSchema.additionalProperties(e)}))}function Ve(...e){return Le((t=>{t.itemSchema.allOf(e)}))}function Xe(t){return Le((r=>{t&&((0,e.isClass)(t)&&(r.type=t),r.itemSchema.type(t))}))}function ze(...t){const r=t.find((t=>(0,e.isClass)(t)));return(0,e.useDecorators)(r&&Xe(r),Le(((r,s)=>{r.schema.allow(...t),r.decoratorType===e.DecoratorTypes.PARAM&&(r.required=!0),r.decoratorType===e.DecoratorTypes.PROP&&r.parentSchema.addRequired(r.propertyName)})))}function Qe(...e){return Le((t=>{t.itemSchema.any(...e)}))}function Ze(...e){return Le((t=>{t.itemSchema.anyOf(e)}))}function Ye(e){return Le((t=>{t.itemSchema.const(e)}))}function et(e,t){return Le((r=>{r.itemSchema.customKey(e,t)}))}function tt(e){return Le((t=>{Object.entries(e).forEach((([e,r])=>{t.itemSchema.customKey(e,r)}))}))}function rt(e){return Le((t=>{t.itemSchema.default(e)}))}function st(t){return Le(((r,s)=>{switch((0,e.decoratorTypeOf)(s)){case e.DecoratorTypes.PROP:case e.DecoratorTypes.CLASS:r.schema.description(t);break;case e.DecoratorTypes.PARAM:r.parameter.description(t);break;case e.DecoratorTypes.METHOD:r.operation?.description(t)}}))}function nt(){return(0,e.useDecorators)(Xe(),Le((e=>{e.discriminatorKey()})))}function it(e,...t){return Le((r=>{r.itemSchema.enum(e,...t)}))}function ot(...e){return Le((t=>{t.schema.examples(e)}))}function at(e){return Le((t=>{t.parameter.examples(e)}))}function ct(e,t=!1){return Le((r=>{t?r.itemSchema.exclusiveMaximum(e):r.itemSchema.maximum(e)}))}function ut(e,t=!1){return ct(e,t)}function pt(e,t=!0){return ct(e,t)}function ht(e,t=!1){return Le((r=>{t?r.itemSchema.exclusiveMinimum(e):r.itemSchema.minimum(e)}))}function lt(e,t=!1){return ht(e,t)}function mt(e,t=!0){return ht(e,t)}function dt(e){return Le((t=>{t.itemSchema.format(e)}))}function ft(){return dt(De.EMAIL)}function yt(){return dt(De.DATE_TIME)}function gt(){return dt(De.DATE)}function Ot(){return dt(De.TIME)}function St(){return dt(De.URI)}function bt(){return dt(De.URL)}function Rt(e=!0){return Le((t=>{t.schema.$forwardGroups=e}))}!function(e){e.ALL="ALL",e.GET="GET",e.POST="POST",e.PUT="PUT",e.PATCH="PATCH",e.HEAD="HEAD",e.DELETE="DELETE",e.OPTIONS="OPTIONS",e.CUSTOM="CUSTOM"}(Ne||(Ne={})),function(e){e.DATE_TIME="date-time",e.DATE="date",e.TIME="time",e.EMAIL="email",e.HOSTNAME="hostname",e.IPV4="ipv4",e.IPV6="ipv6",e.URI="uri",e.URL="url",e.URI_REF="uri-reference",e.URI_TEMPLATE="uri-template",e.JSON_POINTER="json-pointer",e.RELATIVE_JSON_POINTER="relative-json-pointer",e.UUID="uuid",e.REGEX="regex"}(De||(De={}));var Tt=s(870),At=s.n(Tt);function Et(e,t){t=[].concat(t),e=[].concat(e);let r=new Set,s=new Set,n=new Set,i=0,o=e=>{n.add(e.output)};for(let n=0;n<t.length;n++){let a=At()(String(t[n]),{onResult:o},!0),c=a.state.negated||a.state.negatedExtglob;c&&i++;for(let t of e){let e=a(t,!0);(c?!e.isMatch:e.isMatch)&&(c?r.add(e.output):(r.delete(e.output),s.add(e.output)))}}return!!(i===t.length?[...n]:[...s]).filter((e=>!r.has(e))).length}function vt(e,t=[]){const r=e.filter((e=>e.startsWith("!"))).map((e=>e.replace("!",""))),s=e.filter((e=>!e.startsWith("!")));return!!(r.length&&t.length&&Et(r,t))||!!s.length&&!Et(e.filter((e=>!e.startsWith("!"))),t)}function xt(...t){return Le((r=>{switch(r.decoratorType){case e.DecoratorTypes.CLASS:!function(e,t){const r=Object.entries(e[0]);t.children.forEach((e=>{xt(...r.filter((([,t])=>t.includes(e.propertyName))).map((([e])=>e)))(e.target,e.propertyKey)}))}(t,r);break;case e.DecoratorTypes.PROP:r.schema.$hooks.on("groups",((e,r)=>!(e||!vt(t,r))||e));break;case e.DecoratorTypes.PARAM:r.parameter.groups=t}}))}function Ct(){return(0,e.StoreSet)("hidden",!0)}const Pt=(e,t)=>!0!==t.mongoose;function wt(e=Pt){return Le((t=>{t.schema.ignore(e)}))}function $t(){return Le((e=>{e.itemSchema.type("integer")}))}function _t(e){if(e<0)throw new Error("The value of maxLength MUST be a non-negative integer.");return Le((t=>{t.itemSchema.maxLength(e)}))}function Mt(e){if(e<0)throw new Error("The value of minLength MUST be a non-negative integer.");return Le((t=>{t.itemSchema.minLength(e)}))}function Nt(e){if(e<=0)throw new Error("The value of multipleOf MUST be a number, strictly greater than 0.");return Le((t=>{t.itemSchema.multipleOf(e)}))}function Dt(t){return Le(((r,s)=>{switch((0,e.decoratorTypeOf)(s)){case e.DecoratorTypes.CLASS:r.schema.name(t);break;case e.DecoratorTypes.PARAM:r.parameter.name(t);break;default:r.parent.schema.addAlias(s[1],t)}}))}function Lt(t,...r){return r=[t,...r],(0,e.useDecorators)(1===r.length&&Xe(r[0]),Qe(null,...r))}function kt(...e){return Le((t=>{t.itemSchema.oneOf(e),t.type=Object}))}function It(){return Le((t=>{switch(t.decoratorType){case e.DecoratorTypes.PARAM:t.required=!1;break;case e.DecoratorTypes.PROP:t.parentSchema.removeRequired(t.propertyName)}}))}function Ht(e){return Le((t=>{t.itemSchema.pattern(e)}))}function jt(e=!0){return Le((t=>{t.itemSchema.readOnly(e)}))}function Gt(e){return Le((t=>{Object.entries(e).forEach((([e,r])=>{t.schema.set(e,r)}))}))}function qt(e,t){return Le((r=>{r.schema.set(e,t)}))}function Ut(e,...t){return Gt({properties:{...t.reduce(((t,r)=>({...t,[r]:e})),{})}})}function Kt(e=!0,...t){return e?ze(...t):It()}function Jt(...e){return Le((t=>{t.parent.schema.$hooks.on("requiredGroups",((r,s)=>vt(e,s)?r.filter((e=>e!==t.propertyKey)):r))}))}function Bt(e){return Le((t=>{t.schema.title(e)}))}function Ft(e=!0){return Le((t=>{t.itemSchema.writeOnly(e)}))}function Wt(t=Object){if((0,e.isClass)(t)){const{schema:e}=pe(t);return e.properties=function(e){return Object.entries(e).forEach((([e,r])=>{pe(t.prototype,e).schema.assign(r)})),this},e}return T.from({type:t})}function Vt(){return Wt(Number)}function Xt(){return Wt(Number).integer()}function zt(){return Wt(String)}function Qt(){return Wt(Boolean)}function Zt(){return Wt(Date).format(De.DATE)}function Yt(){return Wt(Date).format(De.DATE_TIME)}function er(){return Wt(Date).format(De.TIME)}function tr(){return Wt(String).format(De.EMAIL)}function rr(){return Wt(String).format(De.URI)}function sr(){return Wt(String).format(De.URL)}function nr(){return Wt(Array)}function ir(){return Wt(Map).unknown(!0)}function or(){return Wt(Array).uniqueItems(!0)}function ar(e={}){return Wt(Object).properties(e)}function cr(...e){return Wt().any(...e)}function ur(...e){return Wt().anyOf(e)}function pr(...e){return Wt().oneOf(e)}function hr(...e){return Wt().allOf(e)}function lr(e){try{if(e())return u.from(e()).schema}catch(e){}return new he(e)}function mr(...t){const r=[t.map((t=>function(t){return(0,e.isObject)(t)&&!("toJSON"in t)}(t)?zt().enum(Object.values(t)):t))],s=(...e)=>{u.from(...e).nestedGenerics=r};return s.Nested=(...e)=>(r.push(e),s),s}function dr(...e){return t=>{u.from(t).schema.genericLabels=e}}function fr(...t){return Le(((r,s)=>{switch(r.decoratorType){case e.DecoratorTypes.METHOD:r.operation.produces(t);break;case e.DecoratorTypes.CLASS:(0,e.decorateMethodsOf)(s[0],fr(...t));break;default:throw new e.UnsupportedDecoratorType(fr,s)}}))}function yr(...t){return(0,e.useDecorators)(fr(...t),(0,e.StoreSet)("acceptMimes",t))}function gr(...t){return Le(((r,s)=>{switch(r.decoratorType){case e.DecoratorTypes.METHOD:r.operation.consumes(t);break;case e.DecoratorTypes.CLASS:(0,e.decorateMethodsOf)(s[0],gr(...t));break;default:throw new e.UnsupportedDecoratorType(gr,s)}}))}class Or extends Map{methods;decoratorType;entity;actions=[];constructor(e={}){super(),Object.entries(e).forEach((([e,t])=>{this.set(e,t)}))}addAction(e){return this.actions.push(e),this}build(){const e=(...t)=>this.bind(t,e),t=t=>{return r=(...e)=>{t in this?this[t](...e):this.set(t,e[0])},(...t)=>(r(...t),e);var r};return this.methods.forEach((r=>{e[q(r)]=t(r)})),e}toObject(){return[...this.entries()].reduce(((e,[t,r])=>({...e,[t]:r})),{})}getMergedKey(t,r){let s=this.get(t)||r;if(s)return this.decoratorType===e.DecoratorTypes.CLASS&&(s={...s,...r||{}}),{...r||{},...s}}bind(e,t){this.entity=u.from(...e),this.beforeInit(),this.onInit(e,t),this.afterInit()}onInit(e,t){this.forEach(((e,t)=>{this.onMapKey(t,e)}))}onMapKey(e,t){this.entity.set(e,t)}runActions(){return this.actions.forEach((e=>{e(this)})),this}beforeInit(){}afterInit(){}}const Sr=new Map;function br(e,t){Sr.set(e,t)}function Rr(e){return Sr.get(e)}function Tr(t){return t.map((t=>function(t){return(0,e.isObject)(t)&&!("toJSON"in t)}(t)?zt().enum(Object.values(t)):t))}class Ar extends Or{methods=["contentType","description","examples","type","status","of","ofInteger","oneOf","allOf","anyOf","nested","header","headers","schema","title","groups","allowedGroups","location"];constructor({status:e,model:t}){super(),this.model(t),this.status(e)}type(e){return this.model(e)}model(e){return e&&this.set("model",e),this}status(e){return this.set("status",e),e&&Y(e)&&!this.get("description")&&(this.set("description",Y(e)),this.get("model")||this.model(Rr(+e))),this}headers(e){return this.set("headers",{...this.get("headers")||{},...ne(e)}),this}header(e,t){return this.headers({[e]:t})}location(e,t={}){return this.headers({Location:{...t,value:e}}),this}groups(...e){return this.set("groups",e),this}allowedGroups(...e){return this.set("allowedGroups",new Set(e)),this}nested(...e){const t=this.get("model");return this.checkPrimitive(t),this.checkCollection(t),this.addAction((t=>{this.get("schema").nestedGenerics.push(Tr(e))})),this}of(...t){const r=this.get("model");return this.checkPrimitive(r),this.addAction((()=>{const s=this.get("schema");(0,e.isCollection)(r)?s?.itemSchema({type:t[0]}):s?.nestedGenerics.push(Tr(t))})),this}ofInteger(){return this.of("integer")}oneOf(...e){return this.manyOf("oneOf",e)}allOf(...e){return this.manyOf("allOf",e)}anyOf(...e){return this.manyOf("anyOf",e)}schema(e){return this.addAction((()=>{this.get("schema").assign(e)})),this}examples(t){return this.set("examples",(0,e.isString)(t)?[t]:t),this}title(e){return this.schema({title:e})}checkPrimitive(t){if((0,e.isPrimitiveOrPrimitiveClass)(t))throw new Error("Returns.Of cannot be used with the following primitive classes: String, Number, Boolean")}checkCollection(t){if((0,e.isCollection)(t))throw new Error("Returns.Nested cannot be used with the following classes: Map, Set, Array, String, Number, Boolean")}getContentType(){const t=this.get("model");let r=this.get("contentType");return!t||(0,e.isPlainObject)(t)||(0,e.isPrimitiveOrPrimitiveClass)(t)||(r=r||"application/json"),r}getStatus(){return this.get("status")||"default"}onInit(t,r){switch((0,e.decoratorTypeOf)(t)){case e.DecoratorTypes.METHOD:this.entity=u.from(...t),this.entity.operation&&this.map();break;case e.DecoratorTypes.CLASS:this.decoratorType=e.DecoratorTypes.CLASS,(0,e.decorateMethodsOf)(t[0],r)}}map(){const t=this.get("model"),{entity:r,decoratorType:s}=this,n=this.entity.operation,i=this.getStatus(),o=n.ensureResponseOf(i),a=this.getContentType();let{description:c=o.get("description")}=this.toObject();c&&(c=s===e.DecoratorTypes.CLASS&&o.get("description")||c,o.description(c));const u=this.getMergedKey("headers",o.get("headers"));return u&&o.headers(u),this.mapMedia(o),(ee(this.get("status"))||"default"===i)&&t&&(r.type=t),a&&n.addProduce(a),this.runActions()}mapMedia(t){const r=this.getContentType(),s=this.get("model"),n=t.getMedia(r||"*/*"),i=n.get("schema")||new T({type:s}),o=this.get("groups"),a=this.get("allowedGroups"),c=this.entity.operation;if(s&&((0,e.isArray)(s)?i.oneOf(s.map((e=>({type:e})))):i.type(s)),this.set("schema",i),n.schema(i),n.groups=o,a){n.allowedGroups=a;const e=new B;e.in("query").name("includes"),e.schema(T.from({type:"array",items:{type:"string",enum:[...a]}})),c.addParameter(-1,e)}const u=this.get("examples");return u&&n.examples(u),n}manyOf(t,r){const s=this.get("model");return this.addAction((()=>{const n=this.get("schema");(0,e.isCollection)(s)?(n.type(s||Object),n.itemSchema().set(t,r)):n.set(t,r)})),this}}function Er(e,t){return new Ar({status:e,model:t}).build()}function vr(e){return Er().ContentType(e)}function xr(t=!0){return Le(((r,s)=>{switch((0,e.decoratorTypeOf)(s)){case e.DecoratorTypes.METHOD:r.operation.deprecated(t);break;case e.DecoratorTypes.CLASS:(0,e.decorateMethodsOf)(s[0],xr(t));break;case e.DecoratorTypes.PARAM:r.parameter.set("deprecated",t);break;case e.DecoratorTypes.PROP:r.schema.set("deprecated",t);break;default:throw new e.UnsupportedDecoratorType(xr,s)}}))}function Cr(e,t){return void 0!==t&&(e={[e]:t}),Er().Headers(e)}function Pr(t){const r=new B,s={},n=(i,o,a)=>{const c=u.from(i,o,a);switch(c.decoratorType){case e.DecoratorTypes.PARAM:c.parameter.in(t);break;case e.DecoratorTypes.METHOD:r.in(t),c.operation.addParameter(-1,r),r.schema(T.from(s));break;case e.DecoratorTypes.CLASS:(0,e.decorateMethodsOf)(i,n);break;default:throw new e.UnsupportedDecoratorType(Pr,[i,o,a])}};return n.Type=e=>(s.type=e,n),n.Name=e=>(r.name(e),n),n.Description=e=>(r.description(e),n),n.Required=(e=!0)=>(r.required(e),n),n.Pattern=e=>n.Schema({pattern:e.toString()}),n.Schema=e=>(Object.assign(s,e),n),n}function wr(t){return(...r)=>{const[s,n,i]=r,o=e.Metadata.getParamTypes(s,n)[i]===Array,a=[t="object"==typeof t?void 0:t,!o&&"0"].filter(Boolean).join(".");(0,e.useDecorators)(Pr(_.FILES),Dt(a),(0,e.useMethodDecorators)(Er(400).Description("<File too long | Too many parts | Too many files | Field name too long | Field value too long | Too many fields | Unexpected field> [fieldName] Example: File too long file1"),gr("multipart/form-data")))(...r)}}function $r(e,t){return Er().Location(e,t)}function _r(t){return Le(((r,s)=>{if(r.decoratorType!==e.DecoratorTypes.METHOD)throw new e.UnsupportedDecoratorType(_r,s);r.operation.operationId(t)}))}function Mr(t,r="/"){return Le(((s,n)=>{if(s.decoratorType!==e.DecoratorTypes.METHOD)throw new e.UnsupportedDecoratorType(Mr,n);s.operation.addOperationPath(t.toUpperCase(),r)}))}function Nr(){return xt("partial")}function Dr(t){return Le(((r,s)=>{if(r.decoratorType!==e.DecoratorTypes.CLASS)throw new e.UnsupportedDecoratorType(Dr,s);r.path=t}))}function Lr(...t){const{status:r,url:s,meta:n}=t.reduce(((t,r)=>(0,e.isNumber)(r)?(t.status=r,t):(0,e.isString)(r)?(t.url=r,t):(t.meta=r,t)),{status:302,url:"",meta:{}});return(0,e.useDecorators)(Er(r).Location(s,n),Le((e=>{e.operation?.setRedirection(r)})))}function kr(e){let t,r;const s=e.filter((e=>"string"==typeof e&&Me.includes(e.toLowerCase())?(t=e.toLocaleUpperCase(),!1):"string"==typeof e||e instanceof RegExp?(r=e||"/",!1):!!e));return{path:r,method:t,use:s}}class Ir extends Or{methods=["name","description","summary","method","id","use","useAfter","useBefore"];beforeInit(){const e=this.get("path"),t=Ne[this.get("method")]||Ne.CUSTOM;e&&this.entity.operation.addOperationPath(t,e)}onMapKey(e,t){switch(e){case"name":case"id":return void this.entity.operation.operationId(t);case"summary":return void this.entity.operation.summary(t);case"description":return void this.entity.operation.description(t);case"use":return void this.entity.use(t);case"useAfter":return void this.entity.after(t);case"useBefore":return void this.entity.before(t)}return super.onMapKey(e,t)}}function Hr(...e){const t=kr(e);return new Ir(t).build()}function jr(e="/",...t){return Hr(...[Ne.ALL,e].concat(t))}function Gr(e="/",...t){return Hr(...[Ne.GET,e].concat(t))}function qr(e="/",...t){return Hr(...[Ne.POST,e].concat(t))}function Ur(e="/",...t){return Hr(...[Ne.PUT,e].concat(t))}function Kr(e="/",...t){return Hr(...[Ne.DELETE,e].concat(t))}function Jr(e="/",...t){return Hr(...[Ne.HEAD,e].concat(t))}function Br(e="/",...t){return Hr(...[Ne.PATCH,e].concat(t))}function Fr(e="/",...t){return Hr(...[Ne.OPTIONS,e].concat(t))}function Wr(t,...r){return Le(((s,n)=>{switch(s.decoratorType){case e.DecoratorTypes.METHOD:s.operation.addSecurityScopes(t,r);break;case e.DecoratorTypes.CLASS:(0,e.decorateMethodsOf)(n[0],Wr(t,...r));break;default:throw new e.UnsupportedDecoratorType(Wr,n)}}))}function Vr(e,t){return Er(e,t)}function Xr(t){return Le(((r,s)=>{if(r.decoratorType!==e.DecoratorTypes.METHOD)throw new e.UnsupportedDecoratorType(Xr,s);r.operation.summary(t)}))}function zr(...t){return Le(((r,s)=>{switch(r.decoratorType){case e.DecoratorTypes.METHOD:r.operation.addTags(function(e){return e.map((e=>"string"==typeof e?{name:e}:e))}(t));break;case e.DecoratorTypes.CLASS:(0,e.decorateMethodsOf)(s[0],zr(...t));break;default:throw new e.UnsupportedDecoratorType(zr,s)}}))}function Qr(t,r){return(0,e.StoreSet)("view",{path:t,options:r})}class Zr extends Map{setOperationPath(e){if(e.method!==Ne.CUSTOM){const t=this.getKey(e.method,e.path);this.set(t,e)}}getKey=(e,t)=>`${e}-${t}`}function Yr(e,t){if(e instanceof RegExp||t instanceof RegExp){if(!e)return t;if(!t)return e;const r=e instanceof RegExp?e:new RegExp(e,"gi"),s=t instanceof RegExp?t:new RegExp(t,"gi");return new RegExp(r.source+s.source,(r.global?"g":"")+(r.ignoreCase?"i":"")+(r.multiline?"m":""))}e&&t&&e.endsWith("/")&&t.startsWith("/")&&(t=t.slice(1));const r=(e||"")+(t||"");return r.endsWith("/")&&r.length>1?r.slice(0,-1):r}class es{token;endpoint;operationPath;basePath;paramsTypes;constructor(e){Object.assign(this,e),this.paramsTypes=this.endpoint.getParamTypes()}get url(){return this.fullPath}get path(){return this.operationPath?.path}get fullPath(){return Yr(this.basePath,this.path)}get method(){return this.operationPath?.method||"USE"}get name(){return`${this.endpoint.targetName}.${this.methodClassName}()`}get className(){return this.endpoint.targetName}get methodClassName(){return this.propertyKey}get parameters(){return this.endpoint.parameters}get propertyKey(){return String(this.endpoint.propertyKey)}get propertyName(){return this.endpoint.propertyName}get store(){return this.endpoint.store}get operation(){return this.endpoint.operation}get operationId(){return this.operation.get("operationId")||this.endpoint.propertyKey}has(e){return this.paramsTypes[e]}}function ts(e){return e.split("/").filter(Boolean).join("/")}function rs(e,t){return e.map((e=>t.parameters.find((t=>t.in===e.in&&t.name===e.name))||e)).concat(...t.parameters.filter((e=>"path"!==e.in)))}function ss(e){const t=e.isStore?e:pe(e);if(!t.$operations){const e=new Zr;t.$operations=new Map,fe(t).forEach((e=>{e.children.forEach((e=>{e instanceof ce&&!t.$operations.has(e.propertyKey)&&t.$operations.set(e.propertyKey,e)}))})),t.$operations.forEach((t=>{t.operation.operationPaths.forEach((t=>{e.setOperationPath(t)}))})),e.clear()}return t.$operations}function ns(e,t=""){t instanceof RegExp&&(t=t.toString().replace(/^\//g,"").replace(/\/$/g,"").replace(/\\/g,""));const r=[],s=[];let n=!1,i="";return function(e){let t=0;return e.split("").filter((e=>{"("===e&&t++;const r=0===t;return")"===e&&t--,r})).join("").split("/").filter((e=>!!e))}(`${e}${t}`).map((e=>{const t=e.replace(":","").replace("?","");if(e.includes(":")){const o=e.includes("?");o&&!n&&(n=!0,s.push({path:i,parameters:[].concat(r)}));const{prefix:a,name:c,postfix:u}=function(e){const[t,r]=e.split("="),s=(r||t).split(".");return{prefix:r&&t?`${t}=`:"",name:s.splice(0,1)[0],postfix:s.length?`.${s.join(".")}`:""}}(t);i+=`/${a}{${c}}${u}`,r.push({in:"path",name:c,type:"string",required:!0}),o&&n&&s.push({path:i,parameters:[].concat(r)})}else i+=`/${e}`})),s.length?s:[{path:i,parameters:[].concat(r)}]}function is(e,t,{rootPath:r,specType:s,operationId:n,defaultTags:i,tags:o,path:a,method:c}){const u=ns(r,a).map((({path:e,parameters:t})=>(e=e||"/",s===L.OPENAPI&&(t=t.map((({type:e,...t})=>({...t,schema:{type:e}})))),{path:e,parameters:t})));return u.reduce(((e,{path:r,parameters:s})=>{s=rs(s,t),r=r||"/";const a=t.tags?.length?t.tags:[i];return e.paths[r]={...e.paths[r],[c.toLowerCase()]:{operationId:t.operationId||n(r),...t,tags:a.map((({name:e})=>e)),parameters:s}},o.push(...a),e}),e)}function os(e,t){return 0===t?e.toLowerCase():G(e,t)}function as(e,t){return void 0===t&&(t={}),q(e,p({transform:os},t))}function cs(e=""){const t=new Map;return(r,s,n="")=>{const i=((t,r)=>{const s=(e||"%c.%m").replace(/%c/,t).replace(/%m/,r);return""===e?as(s):s})(r,s),o=r+s;if(!t.has(o))return t.set(o,0),i;const a=n.match(/{(\w+)}/gi);if(a){const e=r+s+a[0];if(!t.has(e))return t.set(e,0),as(`${i} By ${a}`)}const c=t.get(o)+1;return t.set(o,c),`${i}_${c}`}}const us=(0,e.mergeReducerBuilder)(((e,t)=>e.type&&e.type===t.type||e.$ref&&e.$ref===t.$ref)),ps=(0,e.mergeReducerBuilder)(((e,t)=>e.in===t.in&&e.name===t.name)),hs=(0,e.mergeReducerBuilder)(((e,t)=>!!Object.keys(t).find((t=>!!e[t])))),ls=(0,e.mergeReducerBuilder)(((e,t)=>e.name===t.name)),ms={security:hs,parameters:ps,oneOf:us,anyOf:us,allOf:us,tags:ls};function ds(t,r){return(0,e.deepMerge)(t,r,{reducers:ms,cleanUndefinedProps:!0})}const fs=new Map;function ys(t,r={}){if(r={...r,operationIdFormatter:r.operationIdFormatter||cs(r.operationIdPattern),root:!1},(0,e.isArray)(t)){let e={};return r={...r,specType:L.OPENAPI,paths:{},tags:[],schemas:{},append(t){e=ds(e,t)}},t.forEach((({token:e,...t})=>{const s=ys(e,{...r,...t});r.append(s)})),e}return function(e,t,r){fs.has(e)||fs.set(e,new Map);const s=fs.get(e),n=JSON.stringify(t);return s.has(n)||s.set(n,r()),s.get(n)}(t,r,(()=>function(t,r){const s=pe(t),{schemas:n={},paths:i={},rootPath:o="/",tags:a=[]}=r,c=L.OPENAPI,u=s.path,p=(0,e.cleanObject)({name:s.schema.getName(),description:s.schema.get("description")}),h={paths:i};return ss(t).forEach((e=>{if(e.store.get("hidden"))return;const t=e.operation.toJSON({...r,specType:c,schemas:n});e.operation.operationPaths.forEach((({path:s,method:n})=>{n&&is(h,t,{rootPath:ts(o+u),path:s,method:n,defaultTags:p,tags:a,specType:c,operationId:t=>r.operationIdFormatter(e.parent.schema.get("name")||e.parent.targetName,e.propertyName,t)})}))})),h.tags=(0,e.uniqBy)(a,"name"),Object.keys(n).length&&(h.components={schemas:n}),h}(t,r)))}function gs(e){return e.startsWith("3.")?L.OPENAPI:L.SWAGGER}function Os(e){return"openapi"in e?L.OPENAPI:L.SWAGGER}function Ss(t){const{title:r,description:s,version:n,termsOfService:i,contact:o,license:a}=t;return(0,e.cleanObject)({version:n,title:r,description:s,termsOfService:i,contact:o,license:a})}function bs(t,{version:r,specVersion:s,acceptMimes:n=["application/json"]}){const{paths:i,security:o,tags:a,host:c,basePath:u,schemes:p,consumes:h=[],produces:l=["application/json"],definitions:m,parameters:d,responses:f,securityDefinitions:y,externalDocs:g}=t;return{swagger:s,consumes:(0,e.uniq)([...n,...h]),produces:(0,e.uniq)([...l]),info:Ss((0,e.getValue)(t,"info",{})),paths:i,host:c,basePath:u,schemes:p,definitions:m,parameters:d,responses:f,security:o,securityDefinitions:y,tags:a,externalDocs:g}}function Rs(t,{specVersion:r}){const{servers:s,paths:n,components:i,security:o,tags:a,externalDocs:c}=t;return{openapi:r,info:Ss((0,e.getValue)(t,"info",{})),servers:s,paths:n,components:i,security:o,tags:a,externalDocs:c}}function Ts(t,{fileSpec:r,acceptMimes:s,specVersion:n,version:i}){const o={specVersion:n=n||(0,e.getValue)(t,"openapi",(0,e.getValue)(t,"swagger","2.0")),acceptMimes:s};switch(gs(n)){case L.OPENAPI:t=Rs(t,o),r=r?Rs(r,o):r;break;default:case L.SWAGGER:t=bs(t,o),r=r?bs(r,o):r}return t=ds(t,r),(0,e.setValue)(t,"info.title",(0,e.getValue)(t,"info.title","Api documentation")),(0,e.setValue)(t,"info.version",(0,e.getValue)(t,"info.version",i)),t}const As=["get","put","post","delete","options","head","patch","trace"],Es=["format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","minLength","maxLength","multipleOf","minItems","maxItems","uniqueItems","minProperties","maxProperties","additionalProperties","pattern","enum","default"],vs=["type","items"],xs=/^(application\/json|[^;\/ \t]+\/[^;\/ \t]+[+]json)[ \t]*(;.*)?$/,Cs={APPLICATION_X_WWW_URLENCODED:"application/x-www-form-urlencoded",MULTIPART_FORM_DATA:"multipart/form-data"};function Ps(e){if(Array.isArray(e))e.forEach(Ps);else if("object"==typeof e)for(let t in e)"$ref"===t?e.$ref=e.$ref.replace("#/components/schemas/","#/definitions/").replace("#/components/","#/x-components/"):Ps(e[t])}function ws(e){return new RegExp(xs,"i").test(e)}function $s(e){const t=Object.keys(Cs).map((e=>Cs[e]));return Object.keys(e).filter((e=>t.indexOf(e)>-1||ws(e)))}function _s(e){function t(e){const{scheme:t,type:r,name:s,bearerFormat:n,flows:i,...o}=e;switch(r){case"http":if("basic"===t)return{...o,type:t};if("bearer"===t)return{...o,type:"apiKey",name:"Authorization",in:"header"};break;case"oauth2":const e=Object.keys(i)[0],s=i[e];let n=e;return"clientCredentials"===n?n="application":"authorizationCode"===n&&(n="accessCode"),{type:r,flow:n,authorizationUrl:s.authorizationUrl,tokenUrl:s.tokenUrl,scopes:s.scopes}}}return Object.entries(e).reduce(((e,[r,s])=>({...e,[r]:t(s)})),{})}function Ms(e){let t=e.url;const r=e.variables||{};for(const e in r){const s=r[e]||{};if(s.default){const r=RegExp(`{${e}}`,"g");t=t.replace(r,s.default)}}const s=new URL(t);return{host:s.host?s.host:void 0,basePath:s.pathname,schemes:null!==s.protocol?[s.protocol.substring(0,s.protocol.length-1)]:void 0}}class Ns{spec;constructor(e){this.spec=JSON.parse(JSON.stringify(e))}convertInfos(){const e=this.spec.servers&&this.spec.servers[0];return e?Ms(e):{}}resolveReference(e,t,r){if(!t||!t.$ref)return t;const s=t.$ref;if(s.startsWith("#")){const t=s.split("/").map((e=>e.replace(/~1/g,"/").replace(/~0/g,"~")));t.shift();let n=e;return t.forEach((e=>{n=n[e]})),r?JSON.parse(JSON.stringify(n)):n}}convert(){const t={swagger:"2.0",...this.convertInfos(),paths:this.spec.paths?this.convertOperations(this.spec.paths,this.spec):void 0};return this.spec.components&&(this.convertSchemas(),this.convertSecurityDefinitions(),this.spec["x-components"]=this.spec.components,delete this.spec.components,Ps(this.spec)),delete this.spec.servers,delete this.spec.openapi,delete this.spec["x-components"],(0,e.cleanObject)({...t,...this.spec})}convertOperations(e,t){return Object.entries(e).reduce(((e,[r,s])=>{const n=e[r]=this.resolveReference({...t,paths:e},s,!0);return this.convertParameters(n),Object.keys(n).forEach((r=>{if(As.indexOf(r)>=0){const s=n[r]=this.resolveReference({...t,paths:e},n[r],!0);this.convertOperationParameters(s),this.convertResponses(s)}})),e}),e)}convertOperationParameters(e){let t,r,s,n;if(e.parameters=e.parameters||[],e.requestBody){let i=this.resolveReference(this.spec,e.requestBody,!0);if(e.requestBody.content){const t=$s(e.requestBody.content)[0],r={content:{}},s=e.requestBody.content[t];s&&s.schema&&s.schema.$ref&&!s.schema.$ref.startsWith("#")&&(i=this.resolveReference(this.spec,s.schema,!0),r.content[`${t}`]={schema:i},i=r)}if(i.name="body",t=i.content,t&&Object.keys(t).length){if(s=Object.keys(t).filter((e=>e.indexOf("/")>0)),n=s.filter((e=>e.indexOf("*")<0)),r=$s(t)[0],delete i.content,[Cs.APPLICATION_X_WWW_URLENCODED,Cs.MULTIPART_FORM_DATA].includes(r))if(e.consumes=n,i.in="formData",i.schema=t[r].schema,i.schema=this.resolveReference(this.spec,i.schema,!0),"object"===i.schema.type&&i.schema.properties){const t=i.schema.required||[];Object.keys(i.schema.properties).forEach((r=>{const s=i.schema.properties[r];if(!s.readOnly){const n={name:r,in:"formData",schema:s};t.indexOf(r)>=0&&(n.required=!0),e.parameters?.push(n)}}))}else e.parameters.push(i);else r?(e.consumes=n,i.in="body",i.schema=t[r].schema,e.parameters.push(i)):s&&(e.consumes=n||["application/octet-stream"],i.in="body",i.name=i.name||"file",delete i.type,i.schema=t[s[0]].schema||{type:"string",format:"binary"},e.parameters.push(i));i.schema&&this.convertSchema(i.schema,"request")}delete e.requestBody}this.convertParameters(e)}convertParameters(e){void 0!==e.parameters&&(e.parameters=e.parameters||[],(e.parameters||[]).forEach(((t,r)=>{if("body"!==(t=e.parameters[r]=this.resolveReference(this.spec,t,!1)).in){if(this.copySchemaProperties(t,Es),this.copySchemaProperties(t,vs),this.copySchemaXProperties(t),!t.description){const e=this.resolveReference(this.spec,t.schema,!1);e&&e.description&&(t.description=e.description)}void 0!==t.example&&(t["x-example"]=t.example),delete t.schema,delete t.allowReserved,delete t.example}if("array"===t.type)switch(t.style||("query"===t.in||"cookie"===t.in?"form":"simple")){case"matrix":t.collectionFormat=t.explode?void 0:"csv";break;case"label":t.collectionFormat=void 0;break;case"simple":t.collectionFormat="csv";break;case"spaceDelimited":t.collectionFormat="ssv";break;case"pipeDelimited":t.collectionFormat="pipes";break;case"deepOpbject":t.collectionFormat="multi";break;case"form":t.collectionFormat=!1===t.explode?"csv":"multi"}delete t.style,delete t.explode})))}copySchemaProperties(e,t){let r=this.resolveReference(this.spec,e.schema,!0);r&&t.forEach((t=>{const s=r[t];"additionalProperties"===t&&"boolean"==typeof s||void 0!==s&&(e[t]=s)}))}copySchemaXProperties(e){let t=this.resolveReference(this.spec,e.schema,!0);t&&Object.keys(t).forEach((r=>{Reflect.hasOwnProperty.call(t,r)&&!Reflect.hasOwnProperty.call(e,r)&&r.startsWith("x-")&&(e[r]=t[r])}))}convertResponses(e){Object.keys(e.responses||{}).forEach((t=>{const r=e.responses[t]=this.resolveReference(this.spec,e.responses[t],!0);if(r.content){let t=null,s=null;if(Object.keys(r.content).forEach((n=>{const i=n.indexOf("*")<0?n:"application/octet-stream";e.produces?e.produces.indexOf(i)<0&&e.produces.push(i):e.produces=[i];const o=r.content[n];t=t||o.schema,!s&&ws(i)&&(s=o.schema),o.example&&(r.examples=r.examples||{},r.examples[i]=o.example)})),t){r.schema=s||t;const e=this.resolveReference(this.spec,r.schema,!0);e&&r.schema.$ref&&!r.schema.$ref.startsWith("#")&&(r.schema=e),this.convertSchema(r.schema,"response")}}Object.keys(r.headers||{}).forEach((e=>{const t=this.resolveReference(this.spec,r.headers[e],!0);t.schema&&(t.type=t.schema.type,t.format=t.schema.format,delete t.schema),r.headers[e]=t})),delete r.content}))}convertSchema(e,t){if(e.oneOf&&(delete e.oneOf,e.discriminator&&delete e.discriminator),e.anyOf&&(delete e.anyOf,e.discriminator&&delete e.discriminator),e.allOf)for(const r in e.allOf)this.convertSchema(e.allOf[r],t);switch(e.discriminator&&(e.discriminator.mapping&&this.convertDiscriminatorMapping(e.discriminator.mapping),e.discriminator=e.discriminator.propertyName),e.type){case"object":e.properties&&Object.keys(e.properties).forEach((r=>{!0===e.properties[r].writeOnly&&"response"===t?delete e.properties[r]:(this.convertSchema(e.properties[r],t),delete e.properties[r].writeOnly)}));break;case"array":e.items&&this.convertSchema(e.items,t)}e.nullable&&(e["x-nullable"]=!0,delete e.nullable),void 0!==e.deprecated&&(void 0===e["x-deprecated"]&&(e["x-deprecated"]=e.deprecated),delete e.deprecated)}convertSchemas(){this.spec.definitions=this.spec.components.schemas,Object.keys(this.spec.definitions||{}).forEach((e=>{this.convertSchema(this.spec.definitions[e])})),delete this.spec.components.schemas}convertDiscriminatorMapping(e){Object.keys(e).forEach((t=>{const r=e[t];if("string"!=typeof r)return void console.warn(`Ignoring ${r} for ${t} in discriminator.mapping.`);let s;if(/^[a-zA-Z0-9._-]+$/.test(r))try{s=this.resolveReference(this.spec,{$ref:`#/components/schemas/${r}`},!1)}catch(e){console.debug(`Error resolving ${r} for ${t} as schema name in discriminator.mapping: ${e}`)}if(!s)try{s=this.resolveReference(this.spec,{$ref:r},!1)}catch(e){console.debug(`Error resolving ${r} for ${t} in discriminator.mapping: ${e}`)}s?(s["x-discriminator-value"]=t,s["x-ms-discriminator-value"]=t):console.warn(`Unable to resolve ${r} for ${t} in discriminator.mapping.`)}))}convertSecurityDefinitions(){this.spec.components.securitySchemes&&(this.spec.securityDefinitions=_s(this.spec.components.securitySchemes),delete this.spec.components.securitySchemes)}}function Ds(e){return new Ns(e).convert()}async function Ls({tokens:t,...r}){const{version:s="1.0.0",acceptMimes:n,specPath:i,specVersion:o}=r,a=Ts((0,e.getValue)(r,"spec",{}),{fileSpec:{},version:s,specVersion:o,acceptMimes:n}),c=Os(a),u=ds(a,ys(t,r));return c===L.SWAGGER?Ds(u):u}const ks="$cache:schemes";function Is(e,t={}){const r=pe(e);return t={endpoint:!0,groups:[],...t,specType:t.specType||L.JSON,schemas:{}},"parameter"===r.decoratorType&&(t={...t,genericTypes:r.nestedGenerics[0],nestedGenerics:r.nestedGenerics,groups:r.parameter?.groups}),function(e,t){const r=e.store.get(ks)||new Map,s=function(e){return JSON.stringify(e)}(t);if(!r.has(s)){const n=o("schema",e.schema,t);Object.keys(t.schemas).length&&(n.definitions=t.schemas),r.set(s,n)}return e.store.set(ks,r),r.get(s)}(r,t)}function Hs(e,t={}){const r=e.isStore?e:pe(e),s=Yr(t.basePath,r.path);let n=[];return t.withChildren&&(n=r.get("childrenControllers",[]).reduce(((e,r)=>e.concat(Hs(r,{...t,basePath:s}))),n)),[...ss(e).values()].reduce(((t,r)=>{const{operation:n}=r;return n&&n.operationPaths.forEach((n=>{t.push(new es({basePath:s,token:e,endpoint:r,operationPath:n}))})),t}),n)}function js(e){const t=e.isStore?e:pe(e);if(!t.$properties){const e=fe(t);t.$properties=new Map,e.forEach((e=>{e.children.forEach((e=>{t.$properties.has(e.propertyKey)||t.$properties.set(e.propertyKey,e)}))}))}return t.$properties}function Gs(e,t={}){const r=js(e),s=new Map;return r.forEach(((e,r)=>{!t.withIgnoredProps&&be(e.itemSchema,t)||s.set(r,e)})),s}})(),n})()));
|
|
2
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@tsed/core"),require("change-case")):"function"==typeof define&&define.amd?define(["@tsed/core","change-case"],t):"object"==typeof exports?exports.schema=t(require("@tsed/core"),require("change-case")):e.schema=t(e["@tsed/core"],e["change-case"])}(self,((e,t)=>(()=>{"use strict";var r={379:e=>{const t="\\\\/",r=`[^${t}]`,s="\\.",n="\\/",i="[^/]",o=`(?:${n}|$)`,a=`(?:^|${n})`,c=`${s}{1,2}${o}`,u={DOT_LITERAL:s,PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:n,ONE_CHAR:"(?=.)",QMARK:i,END_ANCHOR:o,DOTS_SLASH:c,NO_DOT:`(?!${s})`,NO_DOTS:`(?!${a}${c})`,NO_DOT_SLASH:`(?!${s}{0,1}${o})`,NO_DOTS_SLASH:`(?!${c})`,QMARK_NO_DOT:`[^.${n}]`,STAR:`${i}*?`,START_ANCHOR:a,SEP:"/"},p={...u,SLASH_LITERAL:`[${t}]`,QMARK:r,STAR:`${r}*?`,DOTS_SLASH:`${s}{1,2}(?:[${t}]|$)`,NO_DOT:`(?!${s})`,NO_DOTS:`(?!(?:^|[${t}])${s}{1,2}(?:[${t}]|$))`,NO_DOT_SLASH:`(?!${s}{0,1}(?:[${t}]|$))`,NO_DOTS_SLASH:`(?!${s}{1,2}(?:[${t}]|$))`,QMARK_NO_DOT:`[^.${t}]`,START_ANCHOR:`(?:^|[${t}])`,END_ANCHOR:`(?:[${t}]|$)`,SEP:"\\"};e.exports={MAX_LENGTH:65536,POSIX_REGEX_SOURCE:{alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"},REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars:e=>({"!":{type:"negate",open:"(?:(?!(?:",close:`))${e.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}),globChars:e=>!0===e?p:u}},390:(e,t,r)=>{const s=r(379),n=r(290),{MAX_LENGTH:i,POSIX_REGEX_SOURCE:o,REGEX_NON_SPECIAL_CHARS:a,REGEX_SPECIAL_CHARS_BACKREF:c,REPLACEMENTS:u}=s,p=(e,t)=>{if("function"==typeof t.expandRange)return t.expandRange(...e,t);e.sort();const r=`[${e.join("-")}]`;try{new RegExp(r)}catch(t){return e.map((e=>n.escapeRegex(e))).join("..")}return r},h=(e,t)=>`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`,l=(e,t)=>{if("string"!=typeof e)throw new TypeError("Expected a string");e=u[e]||e;const r={...t},l="number"==typeof r.maxLength?Math.min(i,r.maxLength):i;let m=e.length;if(m>l)throw new SyntaxError(`Input length: ${m}, exceeds maximum allowed length: ${l}`);const d={type:"bos",value:"",output:r.prepend||""},f=[d],y=r.capture?"":"?:",g=s.globChars(r.windows),O=s.extglobChars(g),{DOT_LITERAL:S,PLUS_LITERAL:b,SLASH_LITERAL:R,ONE_CHAR:T,DOTS_SLASH:A,NO_DOT:E,NO_DOT_SLASH:v,NO_DOTS_SLASH:x,QMARK:C,QMARK_NO_DOT:P,STAR:w,START_ANCHOR:$}=g,_=e=>`(${y}(?:(?!${$}${e.dot?A:S}).)*?)`,M=r.dot?"":E,N=r.dot?C:P;let D=!0===r.bash?_(r):w;r.capture&&(D=`(${D})`),"boolean"==typeof r.noext&&(r.noextglob=r.noext);const L={input:e,index:-1,start:0,dot:!0===r.dot,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:f};e=n.removePrefix(e,L),m=e.length;const k=[],I=[],H=[];let j,G=d;const q=()=>L.index===m-1,U=L.peek=(t=1)=>e[L.index+t],K=L.advance=()=>e[++L.index],J=()=>e.slice(L.index+1),B=(e="",t=0)=>{L.consumed+=e,L.index+=t},F=e=>{L.output+=null!=e.output?e.output:e.value,B(e.value)},W=()=>{let e=1;for(;"!"===U()&&("("!==U(2)||"?"===U(3));)K(),L.start++,e++;return e%2!=0&&(L.negated=!0,L.start++,!0)},V=e=>{L[e]++,H.push(e)},X=e=>{L[e]--,H.pop()},z=e=>{if("globstar"===G.type){const t=L.braces>0&&("comma"===e.type||"brace"===e.type),r=!0===e.extglob||k.length&&("pipe"===e.type||"paren"===e.type);"slash"===e.type||"paren"===e.type||t||r||(L.output=L.output.slice(0,-G.output.length),G.type="star",G.value="*",G.output=D,L.output+=G.output)}if(k.length&&"paren"!==e.type&&!O[e.value]&&(k[k.length-1].inner+=e.value),(e.value||e.output)&&F(e),G&&"text"===G.type&&"text"===e.type)return G.value+=e.value,void(G.output=(G.output||"")+e.value);e.prev=G,f.push(e),G=e},Q=(e,t)=>{const s={...O[t],conditions:1,inner:""};s.prev=G,s.parens=L.parens,s.output=L.output;const n=(r.capture?"(":"")+s.open;V("parens"),z({type:e,value:t,output:L.output?"":T}),z({type:"paren",extglob:!0,value:K(),output:n}),k.push(s)},Y=e=>{let t=e.close+(r.capture?")":"");if("negate"===e.type){let s=D;e.inner&&e.inner.length>1&&e.inner.includes("/")&&(s=_(r)),(s!==D||q()||/^\)+$/.test(J()))&&(t=e.close=`)$))${s}`),"bos"===e.prev.type&&q()&&(L.negatedExtglob=!0)}z({type:"paren",extglob:!0,value:j,output:t}),X("parens")};if(!1!==r.fastpaths&&!/(^[*!]|[/()[\]{}"])/.test(e)){let s=!1,i=e.replace(c,((e,t,r,n,i,o)=>"\\"===n?(s=!0,e):"?"===n?t?t+n+(i?C.repeat(i.length):""):0===o?N+(i?C.repeat(i.length):""):C.repeat(r.length):"."===n?S.repeat(r.length):"*"===n?t?t+n+(i?D:""):D:t?e:`\\${e}`));return!0===s&&(i=!0===r.unescape?i.replace(/\\/g,""):i.replace(/\\+/g,(e=>e.length%2==0?"\\\\":e?"\\":""))),i===e&&!0===r.contains?(L.output=e,L):(L.output=n.wrapOutput(i,L,t),L)}for(;!q();){if(j=K(),"\0"===j)continue;if("\\"===j){const e=U();if("/"===e&&!0!==r.bash)continue;if("."===e||";"===e)continue;if(!e){j+="\\",z({type:"text",value:j});continue}const t=/^\\+/.exec(J());let s=0;if(t&&t[0].length>2&&(s=t[0].length,L.index+=s,s%2!=0&&(j+="\\")),!0===r.unescape?j=K()||"":j+=K()||"",0===L.brackets){z({type:"text",value:j});continue}}if(L.brackets>0&&("]"!==j||"["===G.value||"[^"===G.value)){if(!1!==r.posix&&":"===j){const e=G.value.slice(1);if(e.includes("[")&&(G.posix=!0,e.includes(":"))){const e=G.value.lastIndexOf("["),t=G.value.slice(0,e),r=G.value.slice(e+2),s=o[r];if(s){G.value=t+s,L.backtrack=!0,K(),d.output||1!==f.indexOf(G)||(d.output=T);continue}}}("["===j&&":"!==U()||"-"===j&&"]"===U())&&(j=`\\${j}`),"]"!==j||"["!==G.value&&"[^"!==G.value||(j=`\\${j}`),!0===r.posix&&"!"===j&&"["===G.value&&(j="^"),G.value+=j,F({value:j});continue}if(1===L.quotes&&'"'!==j){j=n.escapeRegex(j),G.value+=j,F({value:j});continue}if('"'===j){L.quotes=1===L.quotes?0:1,!0===r.keepQuotes&&z({type:"text",value:j});continue}if("("===j){V("parens"),z({type:"paren",value:j});continue}if(")"===j){if(0===L.parens&&!0===r.strictBrackets)throw new SyntaxError(h("opening","("));const e=k[k.length-1];if(e&&L.parens===e.parens+1){Y(k.pop());continue}z({type:"paren",value:j,output:L.parens?")":"\\)"}),X("parens");continue}if("["===j){if(!0!==r.nobracket&&J().includes("]"))V("brackets");else{if(!0!==r.nobracket&&!0===r.strictBrackets)throw new SyntaxError(h("closing","]"));j=`\\${j}`}z({type:"bracket",value:j});continue}if("]"===j){if(!0===r.nobracket||G&&"bracket"===G.type&&1===G.value.length){z({type:"text",value:j,output:`\\${j}`});continue}if(0===L.brackets){if(!0===r.strictBrackets)throw new SyntaxError(h("opening","["));z({type:"text",value:j,output:`\\${j}`});continue}X("brackets");const e=G.value.slice(1);if(!0===G.posix||"^"!==e[0]||e.includes("/")||(j=`/${j}`),G.value+=j,F({value:j}),!1===r.literalBrackets||n.hasRegexChars(e))continue;const t=n.escapeRegex(G.value);if(L.output=L.output.slice(0,-G.value.length),!0===r.literalBrackets){L.output+=t,G.value=t;continue}G.value=`(${y}${t}|${G.value})`,L.output+=G.value;continue}if("{"===j&&!0!==r.nobrace){V("braces");const e={type:"brace",value:j,output:"(",outputIndex:L.output.length,tokensIndex:L.tokens.length};I.push(e),z(e);continue}if("}"===j){const e=I[I.length-1];if(!0===r.nobrace||!e){z({type:"text",value:j,output:j});continue}let t=")";if(!0===e.dots){const e=f.slice(),s=[];for(let t=e.length-1;t>=0&&(f.pop(),"brace"!==e[t].type);t--)"dots"!==e[t].type&&s.unshift(e[t].value);t=p(s,r),L.backtrack=!0}if(!0!==e.comma&&!0!==e.dots){const r=L.output.slice(0,e.outputIndex),s=L.tokens.slice(e.tokensIndex);e.value=e.output="\\{",j=t="\\}",L.output=r;for(const e of s)L.output+=e.output||e.value}z({type:"brace",value:j,output:t}),X("braces"),I.pop();continue}if("|"===j){k.length>0&&k[k.length-1].conditions++,z({type:"text",value:j});continue}if(","===j){let e=j;const t=I[I.length-1];t&&"braces"===H[H.length-1]&&(t.comma=!0,e="|"),z({type:"comma",value:j,output:e});continue}if("/"===j){if("dot"===G.type&&L.index===L.start+1){L.start=L.index+1,L.consumed="",L.output="",f.pop(),G=d;continue}z({type:"slash",value:j,output:R});continue}if("."===j){if(L.braces>0&&"dot"===G.type){"."===G.value&&(G.output=S);const e=I[I.length-1];G.type="dots",G.output+=j,G.value+=j,e.dots=!0;continue}if(L.braces+L.parens===0&&"bos"!==G.type&&"slash"!==G.type){z({type:"text",value:j,output:S});continue}z({type:"dot",value:j,output:S});continue}if("?"===j){if((!G||"("!==G.value)&&!0!==r.noextglob&&"("===U()&&"?"!==U(2)){Q("qmark",j);continue}if(G&&"paren"===G.type){const e=U();let t=j;if("<"===e&&!n.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");("("===G.value&&!/[!=<:]/.test(e)||"<"===e&&!/<([!=]|\w+>)/.test(J()))&&(t=`\\${j}`),z({type:"text",value:j,output:t});continue}if(!0!==r.dot&&("slash"===G.type||"bos"===G.type)){z({type:"qmark",value:j,output:P});continue}z({type:"qmark",value:j,output:C});continue}if("!"===j){if(!0!==r.noextglob&&"("===U()&&("?"!==U(2)||!/[!=<:]/.test(U(3)))){Q("negate",j);continue}if(!0!==r.nonegate&&0===L.index){W();continue}}if("+"===j){if(!0!==r.noextglob&&"("===U()&&"?"!==U(2)){Q("plus",j);continue}if(G&&"("===G.value||!1===r.regex){z({type:"plus",value:j,output:b});continue}if(G&&("bracket"===G.type||"paren"===G.type||"brace"===G.type)||L.parens>0){z({type:"plus",value:j});continue}z({type:"plus",value:b});continue}if("@"===j){if(!0!==r.noextglob&&"("===U()&&"?"!==U(2)){z({type:"at",extglob:!0,value:j,output:""});continue}z({type:"text",value:j});continue}if("*"!==j){"$"!==j&&"^"!==j||(j=`\\${j}`);const e=a.exec(J());e&&(j+=e[0],L.index+=e[0].length),z({type:"text",value:j});continue}if(G&&("globstar"===G.type||!0===G.star)){G.type="star",G.star=!0,G.value+=j,G.output=D,L.backtrack=!0,L.globstar=!0,B(j);continue}let t=J();if(!0!==r.noextglob&&/^\([^?]/.test(t)){Q("star",j);continue}if("star"===G.type){if(!0===r.noglobstar){B(j);continue}const s=G.prev,n=s.prev,i="slash"===s.type||"bos"===s.type,o=n&&("star"===n.type||"globstar"===n.type);if(!0===r.bash&&(!i||t[0]&&"/"!==t[0])){z({type:"star",value:j,output:""});continue}const a=L.braces>0&&("comma"===s.type||"brace"===s.type),c=k.length&&("pipe"===s.type||"paren"===s.type);if(!i&&"paren"!==s.type&&!a&&!c){z({type:"star",value:j,output:""});continue}for(;"/**"===t.slice(0,3);){const r=e[L.index+4];if(r&&"/"!==r)break;t=t.slice(3),B("/**",3)}if("bos"===s.type&&q()){G.type="globstar",G.value+=j,G.output=_(r),L.output=G.output,L.globstar=!0,B(j);continue}if("slash"===s.type&&"bos"!==s.prev.type&&!o&&q()){L.output=L.output.slice(0,-(s.output+G.output).length),s.output=`(?:${s.output}`,G.type="globstar",G.output=_(r)+(r.strictSlashes?")":"|$)"),G.value+=j,L.globstar=!0,L.output+=s.output+G.output,B(j);continue}if("slash"===s.type&&"bos"!==s.prev.type&&"/"===t[0]){const e=void 0!==t[1]?"|$":"";L.output=L.output.slice(0,-(s.output+G.output).length),s.output=`(?:${s.output}`,G.type="globstar",G.output=`${_(r)}${R}|${R}${e})`,G.value+=j,L.output+=s.output+G.output,L.globstar=!0,B(j+K()),z({type:"slash",value:"/",output:""});continue}if("bos"===s.type&&"/"===t[0]){G.type="globstar",G.value+=j,G.output=`(?:^|${R}|${_(r)}${R})`,L.output=G.output,L.globstar=!0,B(j+K()),z({type:"slash",value:"/",output:""});continue}L.output=L.output.slice(0,-G.output.length),G.type="globstar",G.output=_(r),G.value+=j,L.output+=G.output,L.globstar=!0,B(j);continue}const s={type:"star",value:j,output:D};!0!==r.bash?!G||"bracket"!==G.type&&"paren"!==G.type||!0!==r.regex?(L.index!==L.start&&"slash"!==G.type&&"dot"!==G.type||("dot"===G.type?(L.output+=v,G.output+=v):!0===r.dot?(L.output+=x,G.output+=x):(L.output+=M,G.output+=M),"*"!==U()&&(L.output+=T,G.output+=T)),z(s)):(s.output=j,z(s)):(s.output=".*?","bos"!==G.type&&"slash"!==G.type||(s.output=M+s.output),z(s))}for(;L.brackets>0;){if(!0===r.strictBrackets)throw new SyntaxError(h("closing","]"));L.output=n.escapeLast(L.output,"["),X("brackets")}for(;L.parens>0;){if(!0===r.strictBrackets)throw new SyntaxError(h("closing",")"));L.output=n.escapeLast(L.output,"("),X("parens")}for(;L.braces>0;){if(!0===r.strictBrackets)throw new SyntaxError(h("closing","}"));L.output=n.escapeLast(L.output,"{"),X("braces")}if(!0===r.strictSlashes||"star"!==G.type&&"bracket"!==G.type||z({type:"maybe_slash",value:"",output:`${R}?`}),!0===L.backtrack){L.output="";for(const e of L.tokens)L.output+=null!=e.output?e.output:e.value,e.suffix&&(L.output+=e.suffix)}return L};l.fastpaths=(e,t)=>{const r={...t},o="number"==typeof r.maxLength?Math.min(i,r.maxLength):i,a=e.length;if(a>o)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${o}`);e=u[e]||e;const{DOT_LITERAL:c,SLASH_LITERAL:p,ONE_CHAR:h,DOTS_SLASH:l,NO_DOT:m,NO_DOTS:d,NO_DOTS_SLASH:f,STAR:y,START_ANCHOR:g}=s.globChars(r.windows),O=r.dot?d:m,S=r.dot?f:m,b=r.capture?"":"?:";let R=!0===r.bash?".*?":y;r.capture&&(R=`(${R})`);const T=e=>!0===e.noglobstar?R:`(${b}(?:(?!${g}${e.dot?l:c}).)*?)`,A=e=>{switch(e){case"*":return`${O}${h}${R}`;case".*":return`${c}${h}${R}`;case"*.*":return`${O}${R}${c}${h}${R}`;case"*/*":return`${O}${R}${p}${h}${S}${R}`;case"**":return O+T(r);case"**/*":return`(?:${O}${T(r)}${p})?${S}${h}${R}`;case"**/*.*":return`(?:${O}${T(r)}${p})?${S}${R}${c}${h}${R}`;case"**/.*":return`(?:${O}${T(r)}${p})?${c}${h}${R}`;default:{const t=/^(.*?)\.(\w+)$/.exec(e);if(!t)return;const r=A(t[1]);if(!r)return;return r+c+t[2]}}},E=n.removePrefix(e,{negated:!1,prefix:""});let v=A(E);return v&&!0!==r.strictSlashes&&(v+=`${p}?`),v},e.exports=l},555:(e,t,r)=>{const s=r(270),n=r(390),i=r(290),o=r(379),a=(e,t,r=!1)=>{if(Array.isArray(e)){const s=e.map((e=>a(e,t,r))),n=e=>{for(const t of s){const r=t(e);if(r)return r}return!1};return n}const s=(n=e)&&"object"==typeof n&&!Array.isArray(n)&&e.tokens&&e.input;var n;if(""===e||"string"!=typeof e&&!s)throw new TypeError("Expected pattern to be a non-empty string");const i=t||{},o=i.windows,c=s?a.compileRe(e,t):a.makeRe(e,t,!1,!0),u=c.state;delete c.state;let p=()=>!1;if(i.ignore){const e={...t,ignore:null,onMatch:null,onResult:null};p=a(i.ignore,e,r)}const h=(r,s=!1)=>{const{isMatch:n,match:h,output:l}=a.test(r,c,t,{glob:e,posix:o}),m={glob:e,state:u,regex:c,posix:o,input:r,output:l,match:h,isMatch:n};return"function"==typeof i.onResult&&i.onResult(m),!1===n?(m.isMatch=!1,!!s&&m):p(r)?("function"==typeof i.onIgnore&&i.onIgnore(m),m.isMatch=!1,!!s&&m):("function"==typeof i.onMatch&&i.onMatch(m),!s||m)};return r&&(h.state=u),h};a.test=(e,t,r,{glob:s,posix:n}={})=>{if("string"!=typeof e)throw new TypeError("Expected input to be a string");if(""===e)return{isMatch:!1,output:""};const o=r||{},c=o.format||(n?i.toPosixSlashes:null);let u=e===s,p=u&&c?c(e):e;return!1===u&&(p=c?c(e):e,u=p===s),!1!==u&&!0!==o.capture||(u=!0===o.matchBase||!0===o.basename?a.matchBase(e,t,r,n):t.exec(p)),{isMatch:Boolean(u),match:u,output:p}},a.matchBase=(e,t,r)=>(t instanceof RegExp?t:a.makeRe(t,r)).test(i.basename(e)),a.isMatch=(e,t,r)=>a(t,r)(e),a.parse=(e,t)=>Array.isArray(e)?e.map((e=>a.parse(e,t))):n(e,{...t,fastpaths:!1}),a.scan=(e,t)=>s(e,t),a.compileRe=(e,t,r=!1,s=!1)=>{if(!0===r)return e.output;const n=t||{},i=n.contains?"":"^",o=n.contains?"":"$";let c=`${i}(?:${e.output})${o}`;e&&!0===e.negated&&(c=`^(?!${c}).*$`);const u=a.toRegex(c,t);return!0===s&&(u.state=e),u},a.makeRe=(e,t,r=!1,s=!1)=>{if(!e||"string"!=typeof e)throw new TypeError("Expected a non-empty string");const i=t||{};let o,c={negated:!1,fastpaths:!0},u="";return e.startsWith("./")&&(e=e.slice(2),u=c.prefix="./"),!1===i.fastpaths||"."!==e[0]&&"*"!==e[0]||(o=n.fastpaths(e,t)),void 0===o?(c=n(e,t),c.prefix=u+(c.prefix||"")):c.output=o,a.compileRe(c,t,r,s)},a.toRegex=(e,t)=>{try{const r=t||{};return new RegExp(e,r.flags||(r.nocase?"i":""))}catch(e){if(t&&!0===t.debug)throw e;return/$^/}},a.constants=o,e.exports=a},270:(e,t,r)=>{const s=r(290),{CHAR_ASTERISK:n,CHAR_AT:i,CHAR_BACKWARD_SLASH:o,CHAR_COMMA:a,CHAR_DOT:c,CHAR_EXCLAMATION_MARK:u,CHAR_FORWARD_SLASH:p,CHAR_LEFT_CURLY_BRACE:h,CHAR_LEFT_PARENTHESES:l,CHAR_LEFT_SQUARE_BRACKET:m,CHAR_PLUS:d,CHAR_QUESTION_MARK:f,CHAR_RIGHT_CURLY_BRACE:y,CHAR_RIGHT_PARENTHESES:g,CHAR_RIGHT_SQUARE_BRACKET:O}=r(379),S=e=>e===p||e===o,b=e=>{!0!==e.isPrefix&&(e.depth=e.isGlobstar?1/0:1)};e.exports=(e,t)=>{const r=t||{},R=e.length-1,T=!0===r.parts||!0===r.scanToEnd,A=[],E=[],v=[];let x,C,P=e,w=-1,$=0,_=0,M=!1,N=!1,D=!1,L=!1,k=!1,I=!1,H=!1,j=!1,G=!1,q=0,U={value:"",depth:0,isGlob:!1};const K=()=>w>=R,J=()=>(x=C,P.charCodeAt(++w));for(;w<R;){let e;if(C=J(),C!==o){if(!0===I||C===h){for(q++;!0!==K()&&(C=J());)if(C!==o)if(C!==h){if(!0!==I&&C===c&&(C=J())===c){if(M=U.isBrace=!0,D=U.isGlob=!0,G=!0,!0===T)continue;break}if(!0!==I&&C===a){if(M=U.isBrace=!0,D=U.isGlob=!0,G=!0,!0===T)continue;break}if(C===y&&(q--,0===q)){I=!1,M=U.isBrace=!0,G=!0;break}}else q++;else H=U.backslashes=!0,J();if(!0===T)continue;break}if(C!==p){if(!0!==r.noext&&!0==(C===d||C===i||C===n||C===f||C===u)&&P.charCodeAt(w+1)===l){if(D=U.isGlob=!0,L=U.isExtglob=!0,G=!0,!0===T){for(;!0!==K()&&(C=J());)if(C!==o){if(C===g){D=U.isGlob=!0,G=!0;break}}else H=U.backslashes=!0,C=J();continue}break}if(C===n){if(x===n&&(k=U.isGlobstar=!0),D=U.isGlob=!0,G=!0,!0===T)continue;break}if(C===f){if(D=U.isGlob=!0,G=!0,!0===T)continue;break}if(C===m)for(;!0!==K()&&(e=J());)if(e!==o){if(e===O){if(N=U.isBracket=!0,D=U.isGlob=!0,G=!0,!0===T)continue;break}}else H=U.backslashes=!0,J();if(!0===r.nonegate||C!==u||w!==$){if(!0!==r.noparen&&C===l){if(D=U.isGlob=!0,!0===T){for(;!0!==K()&&(C=J());)if(C!==l){if(C===g){G=!0;break}}else H=U.backslashes=!0,C=J();continue}break}if(!0===D){if(G=!0,!0===T)continue;break}}else j=U.negated=!0,$++}else{if(A.push(w),E.push(U),U={value:"",depth:0,isGlob:!1},!0===G)continue;if(x===c&&w===$+1){$+=2;continue}_=w+1}}else H=U.backslashes=!0,C=J(),C===h&&(I=!0)}!0===r.noext&&(L=!1,D=!1);let B=P,F="",W="";$>0&&(F=P.slice(0,$),P=P.slice($),_-=$),B&&!0===D&&_>0?(B=P.slice(0,_),W=P.slice(_)):!0===D?(B="",W=P):B=P,B&&""!==B&&"/"!==B&&B!==P&&S(B.charCodeAt(B.length-1))&&(B=B.slice(0,-1)),!0===r.unescape&&(W&&(W=s.removeBackslashes(W)),B&&!0===H&&(B=s.removeBackslashes(B)));const V={prefix:F,input:e,start:$,base:B,glob:W,isBrace:M,isBracket:N,isGlob:D,isExtglob:L,isGlobstar:k,negated:j};if(!0===r.tokens&&(V.maxDepth=0,S(C)||E.push(U),V.tokens=E),!0===r.parts||!0===r.tokens){let t;for(let s=0;s<A.length;s++){const n=t?t+1:$,i=A[s],o=e.slice(n,i);r.tokens&&(0===s&&0!==$?(E[s].isPrefix=!0,E[s].value=F):E[s].value=o,b(E[s]),V.maxDepth+=E[s].depth),0===s&&""===o||v.push(o),t=i}if(t&&t+1<e.length){const s=e.slice(t+1);v.push(s),r.tokens&&(E[E.length-1].value=s,b(E[E.length-1]),V.maxDepth+=E[E.length-1].depth)}V.slashes=A,V.parts=v}return V}},290:(e,t,r)=>{const{REGEX_BACKSLASH:s,REGEX_REMOVE_BACKSLASH:n,REGEX_SPECIAL_CHARS:i,REGEX_SPECIAL_CHARS_GLOBAL:o}=r(379);t.isObject=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),t.hasRegexChars=e=>i.test(e),t.isRegexChar=e=>1===e.length&&t.hasRegexChars(e),t.escapeRegex=e=>e.replace(o,"\\$1"),t.toPosixSlashes=e=>e.replace(s,"/"),t.removeBackslashes=e=>e.replace(n,(e=>"\\"===e?"":e)),t.supportsLookbehinds=()=>{const e=process.version.slice(1).split(".").map(Number);return 3===e.length&&e[0]>=9||8===e[0]&&e[1]>=10},t.escapeLast=(e,r,s)=>{const n=e.lastIndexOf(r,s);return-1===n?e:"\\"===e[n-1]?t.escapeLast(e,r,n-1):`${e.slice(0,n)}\\${e.slice(n)}`},t.removePrefix=(e,t={})=>{let r=e;return r.startsWith("./")&&(r=r.slice(2),t.prefix="./"),r},t.wrapOutput=(e,t={},r={})=>{let s=`${r.contains?"":"^"}(?:${e})${r.contains?"":"$"}`;return!0===t.negated&&(s=`(?:^(?!${s}).*$)`),s},t.basename=(e,{windows:t}={})=>t?e.replace(/[\\/]$/,"").replace(/.*[\\/]/,""):e.replace(/\/$/,"").replace(/.*\//,"")},870:(e,t,r)=>{e.exports=r(555)},203:(e,t,r)=>{var s=r(739);function n(e){if(!Object.prototype.hasOwnProperty.call(i.message,e))throw new Error("invalid status code: "+e);return i.message[e]}function i(e){if("number"==typeof e)return n(e);if("string"!=typeof e)throw new TypeError("code must be a number or string");var t=parseInt(e,10);return isNaN(t)?function(e){var t=e.toLowerCase();if(!Object.prototype.hasOwnProperty.call(i.code,t))throw new Error('invalid status message: "'+e+'"');return i.code[t]}(e):n(t)}e.exports=i,i.message=s,i.code=function(e){var t={};return Object.keys(e).forEach((function(r){var s=e[r],n=Number(r);t[s.toLowerCase()]=n})),t}(s),i.codes=function(e){return Object.keys(e).map((function(e){return Number(e)}))}(s),i.redirect={300:!0,301:!0,302:!0,303:!0,305:!0,307:!0,308:!0},i.empty={204:!0,205:!0,304:!0},i.retry={502:!0,503:!0,504:!0}},803:t=>{t.exports=e},598:e=>{e.exports=t},739:e=>{e.exports=JSON.parse('{"100":"Continue","101":"Switching Protocols","102":"Processing","103":"Early Hints","200":"OK","201":"Created","202":"Accepted","203":"Non-Authoritative Information","204":"No Content","205":"Reset Content","206":"Partial Content","207":"Multi-Status","208":"Already Reported","226":"IM Used","300":"Multiple Choices","301":"Moved Permanently","302":"Found","303":"See Other","304":"Not Modified","305":"Use Proxy","307":"Temporary Redirect","308":"Permanent Redirect","400":"Bad Request","401":"Unauthorized","402":"Payment Required","403":"Forbidden","404":"Not Found","405":"Method Not Allowed","406":"Not Acceptable","407":"Proxy Authentication Required","408":"Request Timeout","409":"Conflict","410":"Gone","411":"Length Required","412":"Precondition Failed","413":"Payload Too Large","414":"URI Too Long","415":"Unsupported Media Type","416":"Range Not Satisfiable","417":"Expectation Failed","418":"I\'m a Teapot","421":"Misdirected Request","422":"Unprocessable Entity","423":"Locked","424":"Failed Dependency","425":"Too Early","426":"Upgrade Required","428":"Precondition Required","429":"Too Many Requests","431":"Request Header Fields Too Large","451":"Unavailable For Legal Reasons","500":"Internal Server Error","501":"Not Implemented","502":"Bad Gateway","503":"Service Unavailable","504":"Gateway Timeout","505":"HTTP Version Not Supported","506":"Variant Also Negotiates","507":"Insufficient Storage","508":"Loop Detected","509":"Bandwidth Limit Exceeded","510":"Not Extended","511":"Network Authentication Required"}')}},s={};function n(e){var t=s[e];if(void 0!==t)return t.exports;var i=s[e]={exports:{}};return r[e](i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return(()=>{n.r(i),n.d(i,{AcceptMime:()=>cr,AdditionalProperties:()=>je,All:()=>_r,AllOf:()=>Ge,Allow:()=>Ue,Any:()=>Ke,AnyOf:()=>Je,ArrayOf:()=>_e,Children:()=>Pe,CollectionContains:()=>Ne,CollectionOf:()=>$e,Const:()=>Be,Consumes:()=>ur,ContentType:()=>gr,Converter:()=>As,CustomKey:()=>Fe,CustomKeys:()=>We,DateFormat:()=>ut,DateTime:()=>ct,DecoratorContext:()=>pr,Default:()=>Ve,Delete:()=>Lr,Deprecated:()=>Or,Description:()=>Xe,Discriminator:()=>O,DiscriminatorKey:()=>ze,DiscriminatorValue:()=>we,Email:()=>at,EndpointMetadata:()=>te,Enum:()=>Qe,Example:()=>Ye,Examples:()=>Ze,ExclusiveMaximum:()=>rt,ExclusiveMinimum:()=>it,For:()=>Nt,Format:()=>ot,ForwardGroups:()=>mt,GenericOf:()=>ir,Generics:()=>or,Get:()=>Mr,Groups:()=>Ot,HTTP_METHODS:()=>Ee,HTTP_STATUS_MESSAGES:()=>K,Head:()=>kr,Header:()=>Sr,Hidden:()=>St,Ignore:()=>Rt,In:()=>br,InFile:()=>Rr,Integer:()=>Tt,JSON_TYPES:()=>m,JsonClassStore:()=>A,JsonEntitiesContainer:()=>c,JsonEntityComponent:()=>T,JsonEntityFn:()=>Ce,JsonEntityStore:()=>u,JsonFormatTypes:()=>xe,JsonLazyRef:()=>se,JsonMap:()=>w,JsonMedia:()=>Q,JsonMethodStore:()=>ee,JsonOperation:()=>Z,JsonOperationPathsMap:()=>Jr,JsonOperationRoute:()=>Fr,JsonParameter:()=>H,JsonParameterStore:()=>j,JsonParameterTypes:()=>$,JsonPropertyStore:()=>E,JsonRequestBody:()=>X,JsonResponse:()=>Y,JsonSchema:()=>R,Location:()=>Tr,MapOf:()=>Me,Max:()=>tt,MaxItems:()=>De,MaxLength:()=>At,MaxProperties:()=>Le,Maximum:()=>et,Min:()=>nt,MinItems:()=>ke,MinLength:()=>Et,MinProperties:()=>Ie,Minimum:()=>st,MultipleOf:()=>vt,Name:()=>xt,Nullable:()=>Ct,OneOf:()=>Pt,OperationId:()=>Ar,OperationMethods:()=>ve,OperationPath:()=>Er,Optional:()=>wt,Options:()=>Hr,ParamMetadata:()=>G,Partial:()=>vr,Patch:()=>Ir,Path:()=>xr,Pattern:()=>$t,Post:()=>Nr,Produces:()=>ar,Property:()=>qe,PropertyMetadata:()=>v,Put:()=>Dr,ReadOnly:()=>_t,RecordOf:()=>Dt,Redirect:()=>Cr,Required:()=>Lt,RequiredGroups:()=>kt,Returns:()=>yr,Route:()=>$r,Schema:()=>Mt,Security:()=>jr,SpecTypes:()=>N,Status:()=>Gr,Summary:()=>qr,Tags:()=>Ur,TimeFormat:()=>pt,Title:()=>It,UniqueItems:()=>He,Uri:()=>ht,Url:()=>lt,View:()=>Kr,WriteOnly:()=>Ht,allOf:()=>sr,alterIgnore:()=>le,alterOneOf:()=>be,alterRequiredGroups:()=>Oe,any:()=>er,anyMapper:()=>ne,anyOf:()=>tr,array:()=>zt,boolean:()=>Kt,buildPath:()=>Wr,classMapper:()=>ie,concatParameters:()=>Vr,concatPath:()=>Br,createRef:()=>k,createRefName:()=>L,date:()=>Jt,datetime:()=>Bt,defineStatusModel:()=>lr,email:()=>Wt,execMapper:()=>o,formatParameterType:()=>_,from:()=>jt,generateSpec:()=>vs,genericsMapper:()=>oe,getComputedType:()=>l,getGenericsMap:()=>x,getInheritedStores:()=>ae,getJsonEntityStore:()=>re,getJsonPathParameters:()=>zr,getJsonSchema:()=>Cs,getJsonSchemaMapper:()=>s,getJsonType:()=>d,getOperationsRoutes:()=>Ps,getOperationsStores:()=>Xr,getProperties:()=>$s,getPropertiesStores:()=>ws,getRequiredProperties:()=>Se,getSpec:()=>os,getSpecType:()=>as,getSpecTypeFromSpec:()=>cs,getStatusConstant:()=>J,getStatusMessage:()=>B,getStatusModel:()=>mr,hasMapper:()=>a,inheritedClassMapper:()=>ce,integer:()=>qt,isParameterType:()=>M,isRedirectionStatus:()=>W,isSuccessStatus:()=>F,itemMapper:()=>ue,lazyRef:()=>nr,lazyRefMapper:()=>pe,map:()=>Qt,mapAliasedProperties:()=>ge,mapGenericsOptions:()=>C,mapHeaders:()=>z,mapMapper:()=>he,mapNullableType:()=>me,mapOpenSpec:()=>ls,mapOpenSpec2:()=>ps,mapOpenSpec3:()=>hs,mapOpenSpecInfo:()=>us,mapRouteOptions:()=>Pr,matchGroups:()=>gt,mergeOperation:()=>Qr,mergeSpec:()=>ns,number:()=>Gt,object:()=>Zt,objectMapper:()=>de,ofMapper:()=>fe,oneOf:()=>rr,operationIdFormatter:()=>Yr,parameters:()=>es,popGenerics:()=>P,propertiesMapper:()=>ye,registerJsonSchemaMapper:()=>r,schemaMapper:()=>Ae,schemesReducer:()=>Zr,security:()=>ts,serializeEnum:()=>f,serializeEnumValues:()=>y,set:()=>Yt,string:()=>Ut,tagsReducer:()=>rs,time:()=>Ft,toJsonMapCollection:()=>V,toJsonRegex:()=>g,toRef:()=>I,transformInformation:()=>Ts,transformSecurity:()=>Rs,transformToOS2:()=>Es,uri:()=>Vt,url:()=>Xt});var e=n(803);const t=new Map;function r(e,r){return t.set(e,r)}function s(e){if(!t.has(e))throw new Error(`JsonSchema ${e} mapper doesn't exists`);return t.get(e)}function o(e,t,r,n){return s(e)(t,r,n)}function a(e){return t.has(e)}const c=new Map;class u{propertyKey;propertyName;index;descriptor;decoratorType;collectionType;token;store;isStore=!0;parent;target;_type;_schema;constructor(e){const{target:t,propertyKey:r,descriptor:s,index:n,decoratorType:i}=e;this.target=t,this.propertyKey=r,this.propertyName=String(r),this.descriptor=s,this.index=n,this.decoratorType=i,this.token=t,this.store=e.store,this.parent=this}get targetName(){return(0,e.nameOf)(this.token)}get isCollection(){return!!this.collectionType}get isArray(){return(0,e.isArrayOrArrayClass)(this.collectionType)}get discriminatorAncestor(){const t=(0,e.ancestorsOf)(this.target).find((e=>u.from(e).schema.isDiscriminator));return t&&u.from(t)}get isPrimitive(){return(0,e.isPrimitiveOrPrimitiveClass)(this._type)}get isDate(){return(0,e.isDate)(this.computedType)}get isObject(){return(0,e.isObject)(this.computedType)}get isClass(){return(0,e.isClass)(this.computedType)}get schema(){return this._schema}get nestedGenerics(){return this.schema.nestedGenerics}set nestedGenerics(e){this.schema.nestedGenerics=e}get type(){return this._type}set type(e){this._type=e,this.build()}get computedType(){return this.itemSchema.getComputedType()}get itemSchema(){return this.isCollection?this.schema.itemSchema():this.schema}get parentSchema(){return this.parent.schema}get isDiscriminatorChild(){return this.schema.isDiscriminator&&this.discriminatorAncestor?.schema.discriminator().base!==this.target}static from(...t){if(t[0].isStore)return t[0];const r=t[0];t.length>1&&(t[0]=(0,e.prototypeOf)(t[0]));const s=e.Store.from(...t);if(!s.has("JsonEntityStore")){const n=(0,e.decoratorTypeOf)(t),i=c.get(n);if(!i)throw Error("Unsupported json entity type");const o=new i({store:s,decoratorType:n,target:(0,e.classOf)(r),propertyKey:t[1],index:"number"==typeof t[2]?t[2]:void 0,descriptor:"object"==typeof t[2]?t[2]:void 0});o.build(),s.set("JsonEntityStore",o)}return s.get("JsonEntityStore")}static fromMethod(t,r){return this.from(t,r,(0,e.descriptorOf)(t,r))}static get(t,r,s){return u.from((0,e.prototypeOf)(t),r,s)}isGetterOnly(){return(0,e.isObject)(this.descriptor)&&!this.descriptor.value&&this.descriptor.get&&!this.descriptor.set}get(e,t){return this.store.get(e,t)}set(e,t){return this.store.set(e,t)}toString(){return[this.targetName,this.propertyName,this.index].filter((e=>void 0!==e)).join(":")}buildType(t){(0,e.isCollection)(t)?this.collectionType=t:(this._type=t,this._type&&(0,e.isPlainObject)(this._type)&&(this._type=String))}}function p(e,t,r,s){var n,i=arguments.length,o=i<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,r):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,s);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(o=(i<3?n(o):i>3?n(t,r,o):n(t,r))||o);return i>3&&o&&Object.defineProperty(t,r,o),o}function h(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function l(t){return(0,e.isPromise)(t)?Object:(0,e.isClass)(t)||(0,e.isSymbol)(t)||(0,e.isPrimitiveOrPrimitiveClass)(t)||(0,e.isClassObject)(t)||(0,e.isDate)(t)||(0,e.isCollection)(t)?(0,e.classOf)(t):(0,e.isArrowFn)(t)?t():t}Object.create,Object.create;const m=["string","number","integer","boolean","object","array","null","any"];function d(t){return null===t?"null":(0,e.isPrimitiveOrPrimitiveClass)(t)?m.indexOf(t)>-1?t:"string"==typeof t?"file"===t?"file":"generic":(0,e.primitiveOf)(t):t===Array?"array":(0,e.isArray)(t)?t.map(d):t===Set?"array":(0,e.isDate)(t)||(0,e.isBuffer)(t)?"string":"object"}const f=t=>(0,e.isObject)(t)&&null!==t?Object.entries(t).reduce(((e,[t,r])=>isNaN(+t)?e.concat(r):e),[]):t;function y(t){const r=t.reduce(((e,t)=>e.concat(f(t))),[]),s=r.reduce(((e,t)=>e.add((e=>null===e?"null":typeof e)(t))),new Set);return{values:(0,e.uniq)(r),types:s}}function g(e){return String(e).replace(/^(\/)(.*)(\/)$/,"$2")}class O{propertyName;base;values=new Map;types=new Map;constructor({base:t,propertyName:r,types:s,values:n}={}){Object.assign(this,(0,e.cleanObject)({base:t,propertyName:r,types:s?new Map(s):void 0,values:n?new Map(n):void 0}))}add(e,t){return t.forEach((t=>{this.values.set(t,e)})),this.types.set(e,t),this}getType(e){return this.values.get(e)||this.base}getValues(e){return this.types.get(e)}getDefaultValue(e){const t=this.types.get(e);return t?t[0]:void 0}children(){return[...new Set([...this.types.keys()])]}}function S(e){return e instanceof R?e:Object.entries(e).reduce(((e,[t,r])=>(e[g(t)]=b(r),e)),{})}function b(t){return(0,e.isArray)(t)?t.map(b):t.isStore||t.isJsonSchema||t.isLazyRef?t:(0,e.classOf)(t)!==Object&&(0,e.isClass)(t)?u.from(t).schema:(0,e.isObject)(t)?R.from(t):(0,e.isPrimitiveClass)(t)?R.from({type:t}):t}class R extends Map{isJsonSchema=!0;$hooks=new e.Hooks;$required=new Set;$allow=[];$selfRequired;$forwardGroups=!1;isDiscriminatorKey=!1;isDiscriminator=!1;#e=!1;#t=null;#r;#s=[];#n=new Map;#i;#o;#a=!1;#c=!1;#u=!1;constructor(e={}){super(),e&&this.assign(e)}get alias(){return this.#n}get nestedGenerics(){return this.#s}set nestedGenerics(e){this.#s=e}get genericLabels(){return this.#r}set genericLabels(e){this.#r=e}get isClass(){return(0,e.isClass)(this.class)&&![Map,Array,Set,Object,Date,Boolean,Number,String].includes(this.#o)}get isCollection(){return this.#c}get isGeneric(){return this.#a}get discriminatorAncestor(){const t=(0,e.ancestorsOf)(this.#o).find((e=>u.from(e).schema.isDiscriminator));return t&&u.from(t).schema}get hasGenerics(){return!(!this.nestedGenerics||!this.nestedGenerics.length)}get genericType(){return this.get("$ref")}get class(){return this.getComputedType()}get canRef(){return this.#u}get isNullable(){return this.#e||this.$allow.includes(null)}get isReadOnly(){return this.get("readOnly")}get isWriteOnly(){return this.get("writeOnly")}static from(e={}){return new R(e)}nullable(e){this.#e=e}itemSchema(e={}){return this.#i=this.#i||b(e),this.#i.assign(e),this.#i}getAliasOf(e){return this.#n.get(e)}addAlias(e,t){return this.#n.set(e,t),this.#n.set(t,e),this}removeAlias(e){const t=this.#n.get(e);return t&&this.#n.delete(t),this.#n.delete(e),this}$id(e){return super.set("$id",e),this}$ref(e){return super.set("$ref",e),this}$schema(e){return super.set("$schema",e),this}label(e){return this.#u=!0,super.set("name",e),this}name(e){return super.set("name",e),this}ignore(e){if("boolean"==typeof e){const t=e;e=()=>t}return this.$hooks.on("ignore",e),this}default(e){return super.set("default",e),this}const(e){return super.set("const",e),this}description(e){return super.set("description",e),this}discriminator(){return this.isDiscriminator=!0,this.#t=this.#t||new O({base:this.#o})}discriminatorKey(e){return this.discriminator().propertyName=e,this.isDiscriminator=!0,this}discriminatorValue(...e){const t=this.discriminatorAncestor.discriminator();t.add(this.#o,e),this.isDiscriminator=!0;const r=this.get("properties"),s=r[t.propertyName]||new R({type:"string"});return 1===e.length?(s.const(e[0]),s.examples([e[0]])):(s.enum(...e),s.examples(e)),r[t.propertyName]=s,this.set("properties",r),this}additionalItems(e){return super.set("additionalItems",b(e)),this}contains(e){return super.set("contains",b(e)),this}examples(e){return super.set("examples",e),this}example(...e){return this.examples(e)}items(e){return super.set("items",this.#i=b(e)),this}maxItems(e){return super.set("maxItems",e),this}minItems(e){return super.set("minItems",e),this}uniqueItems(e){return super.set("uniqueItems",e),this}maxProperties(e){return super.set("maxProperties",e),this}minProperties(e){return super.set("minProperties",e),this}allow(...e){return this.$allow.push(...e),this}required(t=!0){if(!(0,e.isArray)(t)){const e=this.clone();return e.$selfRequired=t,e}return this.$required.clear(),t.forEach((e=>this.$required.add(e))),this}addRequired(e){return this.$required.add(e),this}removeRequired(e){return this.$required.delete(e),this}isRequired(e){return this.$required.has(e)}properties(e){return super.set("properties",S(e)),this}addProperty(e,t){const r=this.get("properties")||{};return r[e]=t,super.set("properties",S(r)),this}patternProperties(e){return super.set("patternProperties",S(e)),this}additionalProperties(e){return super.set("additionalProperties",b(e)),this}unknown(e=!0){return this.additionalProperties(e)}dependencies(e){return super.set("dependencies",S(e)),this}propertyNames(e){return super.set("propertyNames",b(e)),this}enum(e,...t){const{values:r,types:s}=y([e,t].flat());return super.set("enum",r).any(...s),this}definitions(e){return super.set("definitions",S(e)),this}allOf(e){return super.set("allOf",e.map(b)),this}anyOf(e){return super.set("anyOf",e.map(b)),this}oneOf(e){let t=e.map(b);if(1===t.length&&!(e[0]instanceof R)){if(!t[0].#t)return this.type(e[0]);const r=t[0].discriminator().children();t=r.map(b)}super.set("oneOf",t);const r=t[0];if(r.isDiscriminator){const e=r.discriminatorAncestor.discriminator(),{propertyName:t}=e;super.set("discriminator",{propertyName:t}),this.isDiscriminator=!0,this.#t=e}return this}not(e){return super.set("not",b(e)),this}multipleOf(e){return super.set("multipleOf",e),this}maximum(e){return super.set("maximum",e),this}exclusiveMaximum(e){return super.set("exclusiveMaximum",e),this}minimum(e){return super.set("minimum",e),this}exclusiveMinimum(e){return super.set("exclusiveMinimum",e),this}maxLength(e){return super.set("maxLength",e),this}minLength(e){return super.set("minLength",e),this}pattern(e){return super.set("pattern",g(e)),this}format(e){return super.set("format",e),this}type(t){switch(t){case Map:super.set("type",d(t)),this.#o=t,this.#c=!0,this.has("additionalProperties")||super.set("additionalProperties",this.itemSchema({}));break;case Array:super.set("type",d(t)),this.#o=t,this.#c=!0,this.has("items")||super.set("items",this.itemSchema({}));break;case Set:super.set("type",d(t)),this.#o=t,this.#c=!0,this.uniqueItems(!0),this.has("items")||super.set("items",this.itemSchema({}));break;case"integer":super.set("type",d(t)),this.integer();break;case Object:case Date:case Boolean:case Number:case String:super.set("type",d(t)),this.#o=t,this.has("properties")||super.set("properties",{});break;default:if((0,e.isClass)(t)||(0,e.isFunction)(t))super.set("type",void 0),this.#o=t,this.has("properties")||super.set("properties",{});else{const e=d(t);"generic"===e?(this.#a=!0,super.set("$ref",t)):super.set("type",e)}}return this}any(...t){return t.filter((t=>(0,e.isClass)(t))).length>=2?this.oneOf(t.filter((e=>null!==e&&(this.nullable(!0),!0)))):(t.length?(t=(0,e.uniq)(t).map(d)).includes("null")&&(this.nullable(!0),t=t.filter((e=>"null"!==e))):(t=["integer","number","string","boolean","array","object"],this.nullable(!0)),this.type(1===t.length?t[0]:t)),this}integer(){return super.set("type","integer"),super.set("multipleOf",1),this}title(e){return super.set("title",e),this}readOnly(e){return super.set("readOnly",e),this}writeOnly(e){return super.set("writeOnly",e),this}customKey(e,t){return super.set(`#${e}`,t),this}toObject(e){return this.toJSON(e)}toJSON(e){let t=!1;e||(t=!0,e={schemas:{}});const r=o("schema",this,e);return t&&e.schemas&&Object.keys(e.schemas).length&&(r.definitions=e.schemas),r}assign(e={}){return(e instanceof R?[...e.entries()]:Object.entries(e)).forEach((([e,t])=>{this.set(e,t)})),e instanceof R&&(this.$selfRequired=e.$selfRequired,this.$allow.push(...e.$allow),e.$required.forEach((e=>{this.$required.add(e)})),this.#t=this.#t?new O(this.#t):null,this.isDiscriminator=e.isDiscriminator,this.isDiscriminatorKey=e.isDiscriminatorKey,this.#u=e.#u,this.#n=new Map(this.#n.entries()),e.#r&&(this.#r=[...e.#r]),this.#s=e.#s.map((e=>[...e])),this.#o=e.#o,this.#a=e.#a,this.#c=e.#c,this.#u=e.#u,super.set("type",e.get("type"))),this}set(t,r){return t in this?(0,e.isFunction)(this[t])&&this[t](r):super.set(t,r),this}getComputedType(){return l(this.#o)}getComputedItemType(){return this.#i?this.#i.getComputedType():this.getComputedType()}getJsonType(){return this.get("type")||d(this.getComputedType())}getTarget(){return this.#o}getName(){return this.get("name")||(this.#o?(0,e.nameOf)((0,e.classOf)(this.getComputedType())):"")}clone(){return new R(this)}}function T(e){return t=>{c.set(e,t)}}let A=class extends u{children=new Map;get path(){return this.store.get("path","/")}set path(e){this.store.set("path",e)}build(){this._type||this.buildType(this.target),this._type=this._type||Object,this._schema=R.from({type:this.type})}};A=p([T(e.DecoratorTypes.CLASS)],A);let E=class extends u{parent=u.from(this.target);get required(){return this.parent.schema.isRequired(this.propertyKey)}set required(e){e?this.parent.schema.addRequired(this.propertyKey):this.parent.schema.removeRequired(this.propertyKey)}get allowedRequiredValues(){return this.schema.$allow}discriminatorKey(){return this.parent.schema.discriminatorKey(String(this.propertyKey)),this.itemSchema.isDiscriminatorKey=!0,this}isDiscriminatorKey(){return this.itemSchema.isDiscriminatorKey}isRequired(e){return this.required&&[void 0,null,""].includes(e)&&!this.allowedRequiredValues.includes(e)}build(){this._type||this.buildType(e.Metadata.getType((0,e.prototypeOf)(this.target),this.propertyKey)),this._type=this._type||Object;let t=this.parent.schema.get("properties")[this.propertyName];t||(this.parent.children.set(this.propertyName,this),t=R.from({type:this.collectionType||this.type}),this.collectionType&&t.itemSchema(this.type)),this.parent.schema.addProperty(this.propertyName,t),this._schema=t}static get(t,r){return u.from((0,e.prototypeOf)(t),r)}};E=p([T(e.DecoratorTypes.PROP)],E);const v=E;function x(e,t){return e.reduce(((e,r,s)=>e.set(r,t[s])),new Map)}function C(e){if(e.genericLabels&&e.genericTypes){const{genericLabels:t,genericTypes:r,...s}=e;return{...s,generics:x(t,r)}}return e}function P(e){const[t,...r]=e.nestedGenerics;return{genericTypes:t,nestedGenerics:r}}class w extends Map{constructor(e={}){super(),this.assign(e)}assign(t={}){return Object.entries(t).forEach((([t,r])=>{(0,e.isFunction)(this[t])?this[t](r):this.set(t,r)})),this}toJSON(e={}){return o("map",this,e)}}var $;function _(e){return String(e).toLowerCase().replace("raw_","").replace("cookies","cookie")}function M(e){return Object.values($).includes(_(e))}!function(e){e.BODY="body",e.PATH="path",e.QUERY="query",e.HEADER="header",e.COOKIES="cookie",e.FILES="files"}($||($={}));var N,D=n(598);function L(e,t){return t.groups&&t.groups.length?(0,D.pascalCase)(`${e} ${t.groups.join(" ")}`):e}function k(t,r,s){const n=function(e){const{host:t="#/"+("openapi3"===e.specType?"components/schemas":"definitions")}=e;return t}(s),i={$ref:`${n}/${t}`},o=r.isNullable,a=r.isReadOnly,c=r.isWriteOnly;if(o||a||c)switch(s.specType){case N.OPENAPI:return(0,e.cleanObject)({nullable:!!o||void 0,readOnly:!!a||void 0,writeOnly:!!c||void 0,oneOf:[i]});case N.JSON:return(0,e.cleanObject)({readOnly:a,writeOnly:c,oneOf:[i]})}return i}function I(e,t,r){const s=L(e.getName(),r);return r.schemas[e.getName()]=t,k(s,e,r)}!function(e){e.JSON="jsonschema",e.SWAGGER="swagger2",e.OPENAPI="openapi3"}(N||(N={}));class H extends w{nestedGenerics=[];groups;$schema;expression;getName(){const e=this.get("name");return"files"===this.get("in")?e.split(".")[0]:e}name(e){return this.set("name",e),this}examples(e){return super.set("examples",e),this}description(e){return this.set("description",e),this}in(e,t=""){return this.set("in",_(e)),this.expression=t,this}required(e){return this.set("required",e),this}schema(e){return this.$schema=e,this}toJSON(t={}){if(!M(this.get("in")))return null;const r=(0,e.toMap)(t.schemas||{});return this.build({...t,groups:this.groups},r)}build(e,t){const{type:r,schema:s,...n}=super.toJSON(e),i=o("item",this.$schema,{...e,...P(this)});switch(n.required=n.required||this.get("in")===$.PATH,this.get("in")){case $.FILES:return this.getFileSchema(i,n);case $.QUERY:if(i.$ref){if(!n.name)return this.refToParameters(n,e,t);n.style="deepObject"}}return n.schema=i,n}getFileSchema(t,r){const s={type:"string",format:"binary",oneOf:void 0};return"array"===t.type?(t.items=(0,e.cleanObject)({...t.items,...s}),r.schema=t):r.schema=(0,e.cleanObject)({...t,...s}),r}refToParameters(t,r,s){const n=L(this.$schema.getName(),r),i=r.schemas[n];return r.schemas[n]&&!s.has(n)&&delete r.schemas[this.$schema.getName()],Object.entries(i.properties||{}).reduce(((r,[s,{description:n,...o}])=>[...r,(0,e.cleanObject)({...t,name:s,required:(i.required||[]).includes(s),description:n,schema:o,style:o.$ref?"deepObject":void 0})]),[])}}let j=class extends u{paramType;expression;dataPath;pipes;parameter=new H;parent=u.fromMethod(this.target,this.propertyKey);constructor(e){super(e),this.pipes=e.pipes||[],this.paramType=e.paramType||this.paramType,this.expression=e.expression||this.expression,this.dataPath=e.dataPath||this.dataPath}get nestedGenerics(){return this.parameter.nestedGenerics}set nestedGenerics(e){this.parameter.nestedGenerics=e}get required(){return!!this.parameter.get("required")}set required(e){this.parameter.required(e)}get allowedRequiredValues(){return this.schema.$allow}static getParams(t,r){const s=[],n=(0,e.ancestorsOf)(t).reverse().find((t=>(0,e.isMethodDescriptor)(t,r)&&u.fromMethod(t,r).children.size));return n?(u.fromMethod(n,r).children.forEach(((e,t)=>{s[+t]=e})),s):[]}static get(t,r,s){return u.from((0,e.prototypeOf)(t),r,s)}isRequired(e){return this.required&&[void 0,null,""].includes(e)&&!this.allowedRequiredValues.includes(e)}getSchema(t){return(0,e.isCollection)(t)||!(0,e.isClass)(t)?R.from({type:t}):u.from(t).schema}build(){if(!this._type){const t=e.Metadata.getParamTypes((0,e.prototypeOf)(this.target),this.propertyKey)[this.index];this.buildType(t)}this._type=this._type||Object,this._schema||(this.parent.children.set(this.index,this),this._schema=this.getSchema(this.collectionType||this.type),this.parameter.schema(this._schema),this.collectionType&&this._schema.itemSchema(this.getSchema(this.type)),this.parent.operation.addParameter(this.index,this.parameter))}};j=p([T(e.DecoratorTypes.PARAM),h("design:paramtypes",[Object])],j);const G=j;var q=n(203),U=n.n(q);const K=U().codes.reduce(((e,t)=>{const r=String(U()(t));return{...e,[String(t)]:{label:r,code:(0,D.constantCase)(r)}}}),{});function J(e){return K[e]?.code}function B(e){return K[e]?.label}K[200].label="Success",K[200].code="SUCCESS";const F=e=>Number(e)&&200<=Number(e)&&Number(e)<300,W=e=>Number(e)&&300<=Number(e)&&Number(e)<400;function V(e,t=w){return Object.entries(e).reduce(((e,[r,s])=>(e.set(r,new t(s)),e)),new w)}class X extends w{constructor(e={}){super(e),this.content(e.content||{})}description(e){return this.set("description",e),this}content(e){return this.set("content",V(e)),this}addContent(e,t,r){const s=this.get("content"),n=new w;return n.set("schema",t),r&&n.set("examples",r),s.set(e,n),this}required(e){return this.set("required",e),this}}function z(t){return Object.keys(t).reduce(((r,s)=>{const n=t[s];let i=typeof n,o={example:n};return"object"===i&&(o=n,o.example=void 0===o.value?o.example:o.value,delete o.value,i=typeof o.example),o.type=o.type||i,r[s]=(0,e.cleanObject)(o),r}),{})}class Q extends w{groups=[];allowedGroups;schema(e){return this.set("schema",e),this}examples(e){return this.set("examples",e),this}toJSON(e={}){let t=[...this.groups||[]];return super.toJSON({...e,groups:t})}}class Y extends w{status;constructor(e={}){super(e),this.content(e.content||{})}description(e){return this.set("description",e),this}headers(e){return this.set("headers",z(e)),this}content(e){return this.set("content",V(e,Q)),this}getContent(){return this.get("content")}getMedia(e,t=!0){return t&&this.addMedia(e),this.getContent()?.get(e)}addMedia(e){const t=this.get("content");return t.has(e)||t.set(e,new Q),this}toJSON(e={}){const t=super.toJSON(e);return 204===this.status&&delete t.content,t.headers&&Object.entries(t.headers).forEach((([e,{type:r,...s}])=>{t.headers[e]={...s,schema:{type:r}}})),t}}class Z extends w{operationPaths=new Map;#p;#h=!1;constructor(e={}){super({parameters:[],responses:new w,...e})}get response(){return this.getResponses().get(this.getStatus().toString())}get status(){return this.#p}tags(e){return super.set("tags",e),this}addTags(t){return t=(0,e.uniqBy)([...this.get("tags")||[],...t],"name"),this.tags(t)}summary(e){return super.set("summary",e),this}operationId(e){return this.set("operationId",e),this}responses(e){return this.set("responses",e),this}defaultStatus(e){return this.#p=e,this}getStatus(){return this.#p||200}setRedirection(e=302){return this.#h=!0,this.#p=e,this}isRedirection(e){return this.#h&&e?W(e):this.#h}addResponse(t,r){if((F(t)||W(t))&&!this.#p){const e=this.getResponseOf(200);this.getResponses().set(t.toString(),e).delete("200"),this.defaultStatus(Number(t))}const s="default"===t?this.getStatus().toString():t.toString(),n=this.getResponses().get(s);return n?(r.forEach(((t,r)=>{["content"].includes(r)||n.set(r,(0,e.deepMerge)(n.get(r),t))})),n.status=Number(s)):(r.status=Number(s),this.getResponses().set(s,r)),this}getResponses(){return this.get("responses")}getResponseOf(e){return("default"===e?this.response:this.getResponses().get(String(e)))||new Y}ensureResponseOf(e){return this.addResponse(e,this.getResponseOf(e)),this.getResponseOf(e)}getHeadersOf(e){return this.getResponseOf(e).get("headers")||{}}getContentTypeOf(e){return[...this.getResponseOf(e).get("content").keys()].slice(-1)[0]}security(e){return this.set("security",e),this}addSecurityScopes(t,r){const s=this.get("security")||{};return s[t]=(0,e.uniq)([...s[t]||[],...r]),this.security(s)}description(e){return super.set("description",e),this}deprecated(e){return super.set("deprecated",e),this}parameters(e){return super.set("parameters",e),this}addParameter(e,t){-1===e&&(e=this.get("parameters").length),this.get("parameters")[e]=t}consumes(e){return super.set("consumes",e),this}produces(e){return super.set("produces",e),this}addProduce(t){const r=(0,e.uniq)([].concat(this.get("produces"),t)).filter(Boolean);this.set("produces",r)}addOperationPath(e,t,r={}){return this.operationPaths.set(String(e)+String(t),{...r,method:e,path:t}),this}toJSON(e={}){const t=super.toJSON({...e,ignore:["parameters"]}),r=[],s=[];if(t.security&&(t.security=[].concat(t.security)),this.get("parameters").forEach((t=>{M(this.get("in"))||t.get("in")&&([$.BODY,$.FILES].includes(t.get("in"))?r.push(t):s.push(...[].concat(t.toJSON(e))))})),t.parameters=s.filter(Boolean),0===this.get("responses").size&&(t.responses={200:{description:B(200)}}),r.length){const s=function(e,t){let r=new R;const s={},n=[];let i=0;return e.forEach((e=>{const o=e.getName();Array.from(e.entries()).filter((([e])=>!["in","name"].includes(e))).forEach((([e,t])=>{void 0===s[e]&&(s[e]=t)}));const a=e.toJSON(t);o?(r.addProperty(o,a.schema||{type:a.type}),e.get("required")&&r.addRequired(o),i++):n.push(a)})),i||1!==n.length?(r.type("object"),{schema:r.toJSON(t),required:!1,...s}):n[0]}(r,e);t.requestBody=function(e,{schema:t,examples:r,in:s,...n}){const i=new X(n);return(e.get("consumes")?.length?e.get("consumes"):["application/json"]).forEach((e=>{i.addContent(e,t,r)})),i}(this,s).toJSON(e)}return delete t.consumes,delete t.produces,t}}let ee=class extends u{parent=u.from(this.target);middlewares=[];beforeMiddlewares=[];afterMiddlewares=[];operation=new Z;children=new Map;constructor(t){super({store:e.Store.fromMethod(t.target,t.propertyKey),descriptor:(0,e.descriptorOf)(t.target,t.propertyKey),...t});const{beforeMiddlewares:r=[],middlewares:s=[],afterMiddlewares:n=[]}=t;this.after(n),this.before(r),this.use(s)}get params(){return this.parameters}get view(){return this.store.get("view")}set view(e){this.store.set("view",e)}get acceptMimes(){return this.store.get("acceptMimes",[])}set acceptMimes(e){this.store.set("acceptMimes",e)}get parameters(){return[...this.children.values()]}get operationPaths(){return this.operation.operationPaths}static get(t,r,s){return s=s||(0,e.descriptorOf)((0,e.prototypeOf)(t),r),u.from((0,e.prototypeOf)(t),r,s)}getResponseOptions(e,{contentType:t="application/json",includes:r}={}){const s=this.operation.getResponseOf(e).getMedia(t,!1);if(s&&s.has("schema")){const e=s.get("schema");let t=s.groups;return r&&s.allowedGroups?.size&&(t=[...t||[],...r.filter((e=>s.allowedGroups.has(e)))]),{type:e.getComputedItemType(),groups:t}}return{type:this.type}}before(t){return this.beforeMiddlewares=this.beforeMiddlewares.concat(t).filter(e.isFunction),this}after(t){return this.afterMiddlewares=this.afterMiddlewares.concat(t).filter(e.isFunction),this}use(t){return this.middlewares=this.middlewares.concat(t).filter(e.isFunction),this}get(t){const r=e.Store.from(this.target).get(t);return(0,e.deepMerge)(r,this.store.get(t))}getParamTypes(){return[...this.children.values()].reduce(((e,t)=>({...e,[t.paramType]:!0})),{})}build(){if(!this._type){let t=e.Metadata.getReturnType(this.target,this.propertyKey);t=(0,e.isPromise)(t)?void 0:t,this.buildType(t)}this._type=this._type||Object,this.parent.children.set(this.propertyName,this),(0,e.isCollection)(this._type)&&(this.collectionType=this._type,delete this._type),this._schema=R.from({type:this.collectionType||this.type}),this.collectionType&&this._schema.itemSchema(this.type),this.parent.schema.addProperty(this.propertyName,this.schema)}};ee=p([T(e.DecoratorTypes.METHOD),h("design:paramtypes",[Object])],ee);const te=ee;function re(...e){return u.from(...e)}c.set(e.DecoratorTypes.CLASS,A),c.set(e.DecoratorTypes.PROP,E),c.set(e.DecoratorTypes.PARAM,j),c.set(e.DecoratorTypes.METHOD,ee);class se{getType;isLazyRef=!0;constructor(e){this.getType=e}get target(){return this.getType()}get schema(){return re(this.getType()).schema}get name(){return(0,e.nameOf)(this.getType())}toJSON(e){return this.getType()&&o("schema",this.schema,e)}}function ne(e,t={}){if("object"!=typeof e||null===e)return e;if(e instanceof se)return o("lazyRef",e,t);if("toJSON"in e){const r=e.toJSON(C(t));return e.canRef?I(e,r,t):r}return o("object",e,t)}function ie(e,t){const r=u.from(e.class),s=L(r.schema.getName()||e.getName(),t);if(e.hasGenerics){const{type:s,properties:n,additionalProperties:i,items:a,...c}=e.toJSON(t),u={...o("any",r.schema,{...t,...P(e),root:!1}),...c};if(u.title){const r=L(u.title,t);return t.schemas[r]=u,delete u.title,k(r,e,t)}return u}return t.schemas&&!t.schemas[s]&&(t.schemas[s]={},t.schemas[s]=o("any",r.schema,C({...t,root:!1}))),k(s,e,t)}function oe(t,r){const{generics:s}=r;if(s&&t.$ref&&s.has(t.$ref)){let n=s.get(t.$ref);if((0,e.isPrimitiveClass)(n))return{type:d(n)};if(n===Date)return{type:"string",format:"date-time"};if(n.toJSON)return n.toJSON({...r,generics:void 0});if(n===Object)return{type:"object"};if((0,e.isClass)(n)){const e={class:n};return 0===r.nestedGenerics.length?o("class",e,{...r,generics:void 0}):o("schema",u.from(e.class).schema,{...r,...P(r),root:!1})}}return t}function ae(t){const r=t.isStore?t:re(t);return r.$inherited||(r.$inherited=(0,e.ancestorsOf)(r.target).reverse().reduce(((e,t)=>e.set(t,re(t))),new Map)),r.$inherited}function ce(t,{target:r,...s}){const n=Array.from(ae(r).entries()).filter((([t])=>(0,e.classOf)(t)!==(0,e.classOf)(r)));if(n.length){const r=n.reduce(((t,[,r])=>(0,e.deepMerge)(t,o("schema",r.schema,s))),{});t=(0,e.deepMerge)(r,t)}return t}function ue(e,t){return e&&e.isClass?o("class",e,t):o("any",e,t)}function pe(e,t){const r=e.name;if(t.$refs?.find((t=>t===e.target)))return k(r,e.schema,t);t.$refs=[...t.$refs||[],e.target];const s=e.toJSON(C(t));return I(e.schema,s,t)}function he(e,{ignore:t=[],...r}){return r=C(r),Array.from(e.entries()).reduce(((e,[s,n])=>(t.includes(s)||(e[s]=o("item",n,r)),e)),{})}function le(e,t){let r=e?.$hooks?.alter("ignore",!1,[t]);return r||(!1!==t.groups?e?.$hooks?.alter("groups",!1,[t.groups]):r)}function me(t,r,s){if(!r?.isNullable)return t;let n=[].concat(t.type).filter(Boolean);switch(s.specType){default:case N.JSON:t.discriminator||(t.oneOf?function(e){return e.oneOf.find((e=>"null"===e.type))}(t)||t.oneOf.unshift({type:"null"}):t.type=(0,e.uniq)(["null",...n]));break;case N.OPENAPI:t.nullable=!0,t.oneOf||(n.length>1?(t.oneOf=n.map((e=>({type:e}))),delete t.type):t.type=n[0])}return t}function de(t,r){const{specType:s,operationIdFormatter:n,root:i,schemas:a,genericTypes:c,nestedGenerics:u,useAlias:p,genericLabels:h,...l}=r;return Object.entries(t).reduce(((e,[s,n])=>{if(!1!==r.withIgnoredProps&&!le(n,l)){const i={...r,groups:t?.$forwardGroups||n?.$forwardGroups?r.groups:void 0};e[s]=o("item",n,i),e[s]=me(e[s],n,i)}return e}),(0,e.isArray)(t)?[]:{})}function fe(e,t,r){return e.map((e=>o("item",e,{...t,genericLabels:r.genericLabels})))}function ye(e,t,r){return e.isClass?o("class",e,t):o("any",e,{...t,genericLabels:r.genericLabels})}function ge(e,t){return Object.entries(e).reduce(((e,[r,s])=>(e[r=t.get(r)||r]=s,e)),{})}function Oe(e,t,r){return!1!==r.groups?t?.$hooks?.alter("requiredGroups",e,[r.groups]):e}function Se(t,r,s){if(s.groups&&s.groups.includes("partial"))return t;let n=function(t,r,s){let n=t.required||[];return n=[...n,...r.$required],r.get("properties")&&(n=Object.entries(r.get("properties")).reduce(((e,[t,r])=>r&&void 0!==r.$selfRequired?r.$selfRequired?e.concat(t):e.filter((e=>e===t)):e),n)),Oe((0,e.uniq)(n),r,s)}(t,r,s);return n=(0,e.uniq)(n).reduce(function(e,t,r={}){const{useAlias:s}=r,n=Object.keys(e.properties||{});return(r,i)=>{const o=s&&t.alias.get(i)||i;if(n.includes(o)){const s=t.get("properties")[i],n=e.properties[o];return e.properties[o]=function(e,t){if(!t?.$allow.includes("")&&[].concat(t?.get("type")).includes("string")){const t=e?.minLength;if(void 0===t)return{...e,minLength:1}}return e}(n,s),r.concat(o)}return r}}(t,r,s),[]),t.discriminator&&n.push(t.discriminator.propertyName),n.length?{...t,required:n}:t}function be(e,t,r){return e.oneOf&&!1!==r.groups&&(e={...e,oneOf:t.$hooks.alter("oneOf",e.oneOf,[r.groups])}),!(e.oneOf||e.allOf||e.anyOf)||e.items||e.properties||delete e.type,e}r("any",ne),r("class",ie),r("generics",oe),r("inheritedClass",ce),r("item",ue),r("lazyRef",pe),r("map",he),r("object",de),r("anyOf",fe),r("allOf",fe),r("oneOf",fe),r("properties",ye),r("items",ye),r("additionalProperties",ye),r("propertyNames",ye),r("contains",ye),r("dependencies",ye),r("patternProperties",ye),r("additionalItems",ye),r("not",ye),r("definitions",ye);const Re=["name","$required","$hooks","_nestedGenerics",N.OPENAPI,N.SWAGGER,N.JSON],Te=["const"];function Ae(t,r){const{useAlias:s=!0,schemas:n={}}=r;r={...r,useAlias:s,schemas:n};let i=[...t.keys()].filter((e=>!function(e,{specType:t=N.JSON,customKeys:r=!1}){return Re.includes(e)||e.startsWith("#")&&(!1===r||t!==N.JSON)||t!==N.JSON&&Te.includes(e)}(e,r))).reduce(((n,i)=>{let c=t.get(i);if("type"===(i=i.replace(/^#/,"")))return{...n,[i]:t.getJsonType()};if(function(t,r,s){return"examples"===t&&(0,e.isObject)(r)&&N.OPENAPI===s.specType}(i,c,r)&&(i="example",c=Object.values(c)[0]),c&&"object"==typeof c&&a(i)){if(c=o(i,c,r,t),function(e,t){return"object"==typeof t&&["items","properties","additionalProperties"].includes(e)&&0===Object.keys(t).length}(i,c))return n;(function(e,t,r){return"object"==typeof t&&r&&["properties","additionalProperties"].includes(e)})(i,c,s)&&(c=ge(c,t.alias))}return{...n,[i]:c}}),{});return t.isClass&&(i=o("inheritedClass",i,{...r,root:!1,schemas:n,target:t.getComputedType()})),i=o("generics",i,{...r,root:!1,schemas:n}),t.has(r.specType)&&(i={...i,...t.get(r.specType).toJSON(r)}),i=Se(i,t,{...r,useAlias:s}),i=me(i,t,r),i=be(i,t,r),i}r("schema",Ae);const Ee=["all","checkout","connect","copy","delete","get","head","lock","merge","mkactivity","mkcol","move","m-search","notify","options","param","patch","post","propfind","propatch","purge","put","report","search","subscribe","trace","unlock","unsuscribe"];var ve,xe;function Ce(e){return(...t)=>{const r=e(re(...t),t);"function"==typeof r&&r(...t)}}function Pe(...t){return Ce((r=>{r.store.set("childrenControllers",t),t.forEach((t=>{e.Store.from(t).set("parentController",r.token)}))}))}function we(e,...t){return Ce((r=>{e=e||(0,D.snakeCase)(r.targetName),r.discriminatorAncestor&&r.schema.discriminatorValue(e,...t)}))}function $e(e,t){if(!e)throw new Error("A type is required on `@CollectionOf(type)` decorator. Please give a type or wrap it inside an arrow function if you have a circular reference.");const r={};let s=!1;const n=(...n)=>{const i=u.from(...n);t&&(i.collectionType=t,i.schema.type(t)),i.type=e,i.itemSchema.type(e),i.schema.assign(r),i.isArray&&s&&(i.schema.set("contains",i.schema.get("items")),i.schema.delete("items"))};return n.MinItems=e=>(r.minItems=e,n),n.MaxItems=e=>(r.maxItems=e,n),n.MinProperties=e=>(r.minProperties=e,n),n.MaxProperties=e=>(r.maxProperties=e,n),n.Contains=()=>(s=!0,n),n.UniqueItems=(e=!0)=>(r.uniqueItems=e,n),n}function _e(e){return $e(e,Array)}function Me(e){return $e(e,Map)}function Ne(e){return $e(e).Contains()}function De(e){if(e<0)throw new Error("The value of maxItems MUST be a non-negative integer.");return Ce((t=>{t.schema.maxItems(e)}))}function Le(e){if(e<0)throw new Error("The value of maxProperties MUST be a non-negative integer.");return Ce((t=>{t.isCollection?t.schema.maxProperties(e):t.itemSchema.maxProperties(e)}))}function ke(e){if(e<0)throw new Error("The value of minItems MUST be a non-negative integer.");return Ce((t=>{t.schema.minItems(e)}))}function Ie(e){if(e<0)throw new Error("The value of minProperties MUST be a non-negative integer.");return Ce((t=>{t.isCollection?t.schema.minProperties(e):t.itemSchema.minProperties(e)}))}function He(e=!0){return Ce((t=>{t.schema.uniqueItems(e)}))}function je(e){return Ce(((t,r)=>{t.itemSchema.additionalProperties(e)}))}function Ge(...e){return Ce((t=>{t.itemSchema.allOf(e)}))}function qe(t){return Ce((r=>{t&&((0,e.isClass)(t)&&(r.type=t),r.itemSchema.type(t))}))}function Ue(...t){const r=t.find((t=>(0,e.isClass)(t)));return(0,e.useDecorators)(r&&qe(r),Ce(((r,s)=>{r.schema.allow(...t),r.decoratorType===e.DecoratorTypes.PARAM&&(r.required=!0),r.decoratorType===e.DecoratorTypes.PROP&&r.parentSchema.addRequired(r.propertyName)})))}function Ke(...e){return Ce((t=>{t.itemSchema.any(...e)}))}function Je(...e){return Ce((t=>{t.itemSchema.anyOf(e)}))}function Be(e){return Ce((t=>{t.itemSchema.const(e)}))}function Fe(e,t){return Ce((r=>{r.itemSchema.customKey(e,t)}))}function We(e){return Ce((t=>{Object.entries(e).forEach((([e,r])=>{t.itemSchema.customKey(e,r)}))}))}function Ve(e){return Ce((t=>{t.itemSchema.default(e)}))}function Xe(t){return Ce(((r,s)=>{switch((0,e.decoratorTypeOf)(s)){case e.DecoratorTypes.PROP:case e.DecoratorTypes.CLASS:r.schema.description(t);break;case e.DecoratorTypes.PARAM:r.parameter.description(t);break;case e.DecoratorTypes.METHOD:r.operation?.description(t)}}))}function ze(){return(0,e.useDecorators)(qe(),Ce((e=>{e.discriminatorKey()})))}function Qe(e,...t){return Ce((r=>{r.itemSchema.enum(e,...t)}))}function Ye(...e){return Ce((t=>{t.schema.examples(e)}))}function Ze(e){return Ce((t=>{t.parameter.examples(e)}))}function et(e,t=!1){return Ce((r=>{t?r.itemSchema.exclusiveMaximum(e):r.itemSchema.maximum(e)}))}function tt(e,t=!1){return et(e,t)}function rt(e,t=!0){return et(e,t)}function st(e,t=!1){return Ce((r=>{t?r.itemSchema.exclusiveMinimum(e):r.itemSchema.minimum(e)}))}function nt(e,t=!1){return st(e,t)}function it(e,t=!0){return st(e,t)}function ot(e){return Ce((t=>{t.itemSchema.format(e)}))}function at(){return ot(xe.EMAIL)}function ct(){return ot(xe.DATE_TIME)}function ut(){return ot(xe.DATE)}function pt(){return ot(xe.TIME)}function ht(){return ot(xe.URI)}function lt(){return ot(xe.URL)}function mt(e=!0){return Ce((t=>{t.schema.$forwardGroups=e}))}!function(e){e.ALL="ALL",e.GET="GET",e.POST="POST",e.PUT="PUT",e.PATCH="PATCH",e.HEAD="HEAD",e.DELETE="DELETE",e.OPTIONS="OPTIONS",e.CUSTOM="CUSTOM"}(ve||(ve={})),function(e){e.DATE_TIME="date-time",e.DATE="date",e.TIME="time",e.EMAIL="email",e.HOSTNAME="hostname",e.IPV4="ipv4",e.IPV6="ipv6",e.URI="uri",e.URL="url",e.URI_REF="uri-reference",e.URI_TEMPLATE="uri-template",e.JSON_POINTER="json-pointer",e.RELATIVE_JSON_POINTER="relative-json-pointer",e.UUID="uuid",e.REGEX="regex"}(xe||(xe={}));var dt=n(870),ft=n.n(dt);function yt(e,t){t=[].concat(t),e=[].concat(e);let r=new Set,s=new Set,n=new Set,i=0,o=e=>{n.add(e.output)};for(let n=0;n<t.length;n++){let a=ft()(String(t[n]),{onResult:o},!0),c=a.state.negated||a.state.negatedExtglob;c&&i++;for(let t of e){let e=a(t,!0);(c?!e.isMatch:e.isMatch)&&(c?r.add(e.output):(r.delete(e.output),s.add(e.output)))}}return!!(i===t.length?[...n]:[...s]).filter((e=>!r.has(e))).length}function gt(e,t=[]){const r=e.filter((e=>e.startsWith("!"))).map((e=>e.replace("!",""))),s=e.filter((e=>!e.startsWith("!")));return!!(r.length&&t.length&&yt(r,t))||!!s.length&&!yt(e.filter((e=>!e.startsWith("!"))),t)}function Ot(...t){return Ce((r=>{switch(r.decoratorType){case e.DecoratorTypes.CLASS:!function(e,t){const r=Object.entries(e[0]);t.children.forEach((e=>{Ot(...r.filter((([,t])=>t.includes(e.propertyName))).map((([e])=>e)))(e.target,e.propertyKey)}))}(t,r);break;case e.DecoratorTypes.PROP:r.schema.$hooks.on("groups",((e,r)=>!(e||!gt(t,r))||e));break;case e.DecoratorTypes.PARAM:r.parameter.groups=t}}))}function St(){return(0,e.StoreSet)("hidden",!0)}const bt=(e,t)=>!0!==t.mongoose;function Rt(e=bt){return Ce((t=>{t.schema.ignore(e)}))}function Tt(){return Ce((e=>{e.itemSchema.type("integer")}))}function At(e){if(e<0)throw new Error("The value of maxLength MUST be a non-negative integer.");return Ce((t=>{t.itemSchema.maxLength(e)}))}function Et(e){if(e<0)throw new Error("The value of minLength MUST be a non-negative integer.");return Ce((t=>{t.itemSchema.minLength(e)}))}function vt(e){if(e<=0)throw new Error("The value of multipleOf MUST be a number, strictly greater than 0.");return Ce((t=>{t.itemSchema.multipleOf(e)}))}function xt(t){return Ce(((r,s)=>{switch((0,e.decoratorTypeOf)(s)){case e.DecoratorTypes.CLASS:r.schema.name(t);break;case e.DecoratorTypes.PARAM:r.parameter.name(t);break;default:r.parent.schema.addAlias(s[1],t)}}))}function Ct(t,...r){return r=[t,...r],(0,e.useDecorators)(1===r.length&&qe(r[0]),Ke(null,...r))}function Pt(...e){return Ce((t=>{t.itemSchema.oneOf(e),t.type=Object}))}function wt(){return Ce((t=>{switch(t.decoratorType){case e.DecoratorTypes.PARAM:t.required=!1;break;case e.DecoratorTypes.PROP:t.parentSchema.removeRequired(t.propertyName)}}))}function $t(e){return Ce((t=>{t.itemSchema.pattern(e)}))}function _t(e=!0){return Ce((t=>{t.itemSchema.readOnly(e)}))}function Mt(e){return Ce((t=>{Object.entries(e).forEach((([e,r])=>{t.schema.set(e,r)}))}))}function Nt(e,t){return Ce((r=>{r.schema.set(e,t)}))}function Dt(e,...t){return Mt({properties:{...t.reduce(((t,r)=>({...t,[r]:e})),{})}})}function Lt(e=!0,...t){return e?Ue(...t):wt()}function kt(...e){return Ce((t=>{t.parent.schema.$hooks.on("requiredGroups",((r,s)=>gt(e,s)?r.filter((e=>e!==t.propertyKey)):r))}))}function It(e){return Ce((t=>{t.schema.title(e)}))}function Ht(e=!0){return Ce((t=>{t.itemSchema.writeOnly(e)}))}function jt(t=Object){if((0,e.isClass)(t)){const{schema:e}=re(t);return e.properties=function(e){return Object.entries(e).forEach((([e,r])=>{re(t.prototype,e).schema.assign(r)})),this},e}return R.from({type:t})}function Gt(){return jt(Number)}function qt(){return jt(Number).integer()}function Ut(){return jt(String)}function Kt(){return jt(Boolean)}function Jt(){return jt(Date).format(xe.DATE)}function Bt(){return jt(Date).format(xe.DATE_TIME)}function Ft(){return jt(Date).format(xe.TIME)}function Wt(){return jt(String).format(xe.EMAIL)}function Vt(){return jt(String).format(xe.URI)}function Xt(){return jt(String).format(xe.URL)}function zt(){return jt(Array)}function Qt(){return jt(Map).unknown(!0)}function Yt(){return jt(Array).uniqueItems(!0)}function Zt(e={}){return jt(Object).properties(e)}function er(...e){return jt().any(...e)}function tr(...e){return jt().anyOf(e)}function rr(...e){return jt().oneOf(e)}function sr(...e){return jt().allOf(e)}function nr(e){try{if(e())return u.from(e()).schema}catch(e){}return new se(e)}function ir(...t){const r=[t.map((t=>function(t){return(0,e.isObject)(t)&&!("toJSON"in t)}(t)?Ut().enum(Object.values(t)):t))],s=(...e)=>{u.from(...e).nestedGenerics=r};return s.Nested=(...e)=>(r.push(e),s),s}function or(...e){return t=>{u.from(t).schema.genericLabels=e}}function ar(...t){return Ce(((r,s)=>{switch(r.decoratorType){case e.DecoratorTypes.METHOD:r.operation.produces(t);break;case e.DecoratorTypes.CLASS:(0,e.decorateMethodsOf)(s[0],ar(...t));break;default:throw new e.UnsupportedDecoratorType(ar,s)}}))}function cr(...t){return(0,e.useDecorators)(ar(...t),(0,e.StoreSet)("acceptMimes",t))}function ur(...t){return Ce(((r,s)=>{switch(r.decoratorType){case e.DecoratorTypes.METHOD:r.operation.consumes(t);break;case e.DecoratorTypes.CLASS:(0,e.decorateMethodsOf)(s[0],ur(...t));break;default:throw new e.UnsupportedDecoratorType(ur,s)}}))}class pr extends Map{methods;decoratorType;entity;actions=[];constructor(e={}){super(),Object.entries(e).forEach((([e,t])=>{this.set(e,t)}))}addAction(e){return this.actions.push(e),this}build(){const e=(...t)=>this.bind(t,e),t=t=>{return r=(...e)=>{t in this?this[t](...e):this.set(t,e[0])},(...t)=>(r(...t),e);var r};return this.methods.forEach((r=>{e[(0,D.pascalCase)(r)]=t(r)})),e}toObject(){return[...this.entries()].reduce(((e,[t,r])=>({...e,[t]:r})),{})}getMergedKey(t,r){let s=this.get(t)||r;if(s)return this.decoratorType===e.DecoratorTypes.CLASS&&(s={...s,...r||{}}),{...r||{},...s}}bind(e,t){this.entity=u.from(...e),this.beforeInit(),this.onInit(e,t),this.afterInit()}onInit(e,t){this.forEach(((e,t)=>{this.onMapKey(t,e)}))}onMapKey(e,t){this.entity.set(e,t)}runActions(){return this.actions.forEach((e=>{e(this)})),this}beforeInit(){}afterInit(){}}const hr=new Map;function lr(e,t){hr.set(e,t)}function mr(e){return hr.get(e)}function dr(t){return t.map((t=>function(t){return(0,e.isObject)(t)&&!("toJSON"in t)}(t)?Ut().enum(Object.values(t)):t))}class fr extends pr{methods=["contentType","description","examples","type","status","of","ofInteger","oneOf","allOf","anyOf","nested","header","headers","schema","title","groups","allowedGroups","location"];constructor({status:e,model:t}){super(),this.model(t),this.status(e)}type(e){return this.model(e)}model(e){return e&&this.set("model",e),this}status(e){return this.set("status",e),e&&B(e)&&!this.get("description")&&(this.set("description",B(e)),this.get("model")||this.model(mr(+e))),this}headers(e){return this.set("headers",{...this.get("headers")||{},...z(e)}),this}header(e,t){return this.headers({[e]:t})}location(e,t={}){return this.headers({Location:{...t,value:e}}),this}groups(...e){return this.set("groups",e),this}allowedGroups(...e){return this.set("allowedGroups",new Set(e)),this}nested(...e){const t=this.get("model");return this.checkPrimitive(t),this.checkCollection(t),this.addAction((t=>{this.get("schema").nestedGenerics.push(dr(e))})),this}of(...t){const r=this.get("model");return this.checkPrimitive(r),this.addAction((()=>{const s=this.get("schema");(0,e.isCollection)(r)?s?.itemSchema({type:t[0]}):s?.nestedGenerics.push(dr(t))})),this}ofInteger(){return this.of("integer")}oneOf(...e){return this.manyOf("oneOf",e)}allOf(...e){return this.manyOf("allOf",e)}anyOf(...e){return this.manyOf("anyOf",e)}schema(e){return this.addAction((()=>{this.get("schema").assign(e)})),this}examples(t){return this.set("examples",(0,e.isString)(t)?[t]:t),this}title(e){return this.schema({title:e})}checkPrimitive(t){if((0,e.isPrimitiveOrPrimitiveClass)(t))throw new Error("Returns.Of cannot be used with the following primitive classes: String, Number, Boolean")}checkCollection(t){if((0,e.isCollection)(t))throw new Error("Returns.Nested cannot be used with the following classes: Map, Set, Array, String, Number, Boolean")}getContentType(){const t=this.get("model");let r=this.get("contentType");return!t||(0,e.isPlainObject)(t)||(0,e.isPrimitiveOrPrimitiveClass)(t)||(r=r||"application/json"),r}getStatus(){return this.get("status")||"default"}onInit(t,r){switch((0,e.decoratorTypeOf)(t)){case e.DecoratorTypes.METHOD:this.entity=u.from(...t),this.entity.operation&&this.map();break;case e.DecoratorTypes.CLASS:this.decoratorType=e.DecoratorTypes.CLASS,(0,e.decorateMethodsOf)(t[0],r)}}map(){const t=this.get("model"),{entity:r,decoratorType:s}=this,n=this.entity.operation,i=this.getStatus(),o=n.ensureResponseOf(i),a=this.getContentType();let{description:c=o.get("description")}=this.toObject();c&&(c=s===e.DecoratorTypes.CLASS&&o.get("description")||c,o.description(c));const u=this.getMergedKey("headers",o.get("headers"));return u&&o.headers(u),this.mapMedia(o),(F(this.get("status"))||"default"===i)&&t&&(r.type=t),a&&n.addProduce(a),this.runActions()}mapMedia(t){const r=this.getContentType(),s=this.get("model"),n=t.getMedia(r||"*/*"),i=n.get("schema")||new R({type:s}),o=this.get("groups"),a=this.get("allowedGroups"),c=this.entity.operation;if(s&&((0,e.isArray)(s)?i.oneOf(s.map((e=>({type:e})))):i.type(s)),this.set("schema",i),n.schema(i),n.groups=o,a){n.allowedGroups=a;const e=new H;e.in("query").name("includes"),e.schema(R.from({type:"array",items:{type:"string",enum:[...a]}})),c.addParameter(-1,e)}const u=this.get("examples");return u&&n.examples(u),n}manyOf(t,r){const s=this.get("model");return this.addAction((()=>{const n=this.get("schema");(0,e.isCollection)(s)?(n.type(s||Object),n.itemSchema().set(t,r)):n.set(t,r)})),this}}function yr(e,t){return new fr({status:e,model:t}).build()}function gr(e){return yr().ContentType(e)}function Or(t=!0){return Ce(((r,s)=>{switch((0,e.decoratorTypeOf)(s)){case e.DecoratorTypes.METHOD:r.operation.deprecated(t);break;case e.DecoratorTypes.CLASS:(0,e.decorateMethodsOf)(s[0],Or(t));break;case e.DecoratorTypes.PARAM:r.parameter.set("deprecated",t);break;case e.DecoratorTypes.PROP:r.schema.set("deprecated",t);break;default:throw new e.UnsupportedDecoratorType(Or,s)}}))}function Sr(e,t){return void 0!==t&&(e={[e]:t}),yr().Headers(e)}function br(t){const r=new H,s={},n=(i,o,a)=>{const c=u.from(i,o,a);switch(c.decoratorType){case e.DecoratorTypes.PARAM:c.parameter.in(t);break;case e.DecoratorTypes.METHOD:r.in(t),c.operation.addParameter(-1,r),r.schema(R.from(s));break;case e.DecoratorTypes.CLASS:(0,e.decorateMethodsOf)(i,n);break;default:throw new e.UnsupportedDecoratorType(br,[i,o,a])}};return n.Type=e=>(s.type=e,n),n.Name=e=>(r.name(e),n),n.Description=e=>(r.description(e),n),n.Required=(e=!0)=>(r.required(e),n),n.Pattern=e=>n.Schema({pattern:e.toString()}),n.Schema=e=>(Object.assign(s,e),n),n}function Rr(t){return(...r)=>{const[s,n,i]=r,o=e.Metadata.getParamTypes(s,n)[i]===Array,a=[t="object"==typeof t?void 0:t,!o&&"0"].filter(Boolean).join(".");(0,e.useDecorators)(br($.FILES),xt(a),(0,e.useMethodDecorators)(yr(400).Description("<File too long | Too many parts | Too many files | Field name too long | Field value too long | Too many fields | Unexpected field> [fieldName] Example: File too long file1"),ur("multipart/form-data")))(...r)}}function Tr(e,t){return yr().Location(e,t)}function Ar(t){return Ce(((r,s)=>{if(r.decoratorType!==e.DecoratorTypes.METHOD)throw new e.UnsupportedDecoratorType(Ar,s);r.operation.operationId(t)}))}function Er(t,r="/"){return Ce(((s,n)=>{if(s.decoratorType!==e.DecoratorTypes.METHOD)throw new e.UnsupportedDecoratorType(Er,n);s.operation.addOperationPath(t.toUpperCase(),r)}))}function vr(){return Ot("partial")}function xr(t){return Ce(((r,s)=>{if(r.decoratorType!==e.DecoratorTypes.CLASS)throw new e.UnsupportedDecoratorType(xr,s);r.path=t}))}function Cr(...t){const{status:r,url:s,meta:n}=t.reduce(((t,r)=>(0,e.isNumber)(r)?(t.status=r,t):(0,e.isString)(r)?(t.url=r,t):(t.meta=r,t)),{status:302,url:"",meta:{}});return(0,e.useDecorators)(yr(r).Location(s,n),Ce((e=>{e.operation?.setRedirection(r)})))}function Pr(e){let t,r;const s=e.filter((e=>"string"==typeof e&&Ee.includes(e.toLowerCase())?(t=e.toLocaleUpperCase(),!1):"string"==typeof e||e instanceof RegExp?(r=e||"/",!1):!!e));return{path:r,method:t,use:s}}class wr extends pr{methods=["name","description","summary","method","id","use","useAfter","useBefore"];beforeInit(){const e=this.get("path"),t=ve[this.get("method")]||ve.CUSTOM;e&&this.entity.operation.addOperationPath(t,e)}onMapKey(e,t){switch(e){case"name":case"id":return void this.entity.operation.operationId(t);case"summary":return void this.entity.operation.summary(t);case"description":return void this.entity.operation.description(t);case"use":return void this.entity.use(t);case"useAfter":return void this.entity.after(t);case"useBefore":return void this.entity.before(t)}return super.onMapKey(e,t)}}function $r(...e){const t=Pr(e);return new wr(t).build()}function _r(e="/",...t){return $r(...[ve.ALL,e].concat(t))}function Mr(e="/",...t){return $r(...[ve.GET,e].concat(t))}function Nr(e="/",...t){return $r(...[ve.POST,e].concat(t))}function Dr(e="/",...t){return $r(...[ve.PUT,e].concat(t))}function Lr(e="/",...t){return $r(...[ve.DELETE,e].concat(t))}function kr(e="/",...t){return $r(...[ve.HEAD,e].concat(t))}function Ir(e="/",...t){return $r(...[ve.PATCH,e].concat(t))}function Hr(e="/",...t){return $r(...[ve.OPTIONS,e].concat(t))}function jr(t,...r){return Ce(((s,n)=>{switch(s.decoratorType){case e.DecoratorTypes.METHOD:s.operation.addSecurityScopes(t,r);break;case e.DecoratorTypes.CLASS:(0,e.decorateMethodsOf)(n[0],jr(t,...r));break;default:throw new e.UnsupportedDecoratorType(jr,n)}}))}function Gr(e,t){return yr(e,t)}function qr(t){return Ce(((r,s)=>{if(r.decoratorType!==e.DecoratorTypes.METHOD)throw new e.UnsupportedDecoratorType(qr,s);r.operation.summary(t)}))}function Ur(...t){return Ce(((r,s)=>{switch(r.decoratorType){case e.DecoratorTypes.METHOD:r.operation.addTags(function(e){return e.map((e=>"string"==typeof e?{name:e}:e))}(t));break;case e.DecoratorTypes.CLASS:(0,e.decorateMethodsOf)(s[0],Ur(...t));break;default:throw new e.UnsupportedDecoratorType(Ur,s)}}))}function Kr(t,r){return(0,e.StoreSet)("view",{path:t,options:r})}class Jr extends Map{setOperationPath(e){if(e.method!==ve.CUSTOM){const t=this.getKey(e.method,e.path);this.set(t,e)}}getKey=(e,t)=>`${e}-${t}`}function Br(e,t){if(e instanceof RegExp||t instanceof RegExp){if(!e)return t;if(!t)return e;const r=e instanceof RegExp?e:new RegExp(e,"gi"),s=t instanceof RegExp?t:new RegExp(t,"gi");return new RegExp(r.source+s.source,(r.global?"g":"")+(r.ignoreCase?"i":"")+(r.multiline?"m":""))}e&&t&&e.endsWith("/")&&t.startsWith("/")&&(t=t.slice(1));const r=(e||"")+(t||"");return r.endsWith("/")&&r.length>1?r.slice(0,-1):r}class Fr{token;endpoint;operationPath;basePath;paramsTypes;constructor(e){Object.assign(this,e),this.paramsTypes=this.endpoint.getParamTypes()}get url(){return this.fullPath}get path(){return this.operationPath?.path}get fullPath(){return Br(this.basePath,this.path)}get method(){return this.operationPath?.method||"USE"}get name(){return`${this.endpoint.targetName}.${this.methodClassName}()`}get className(){return this.endpoint.targetName}get methodClassName(){return this.propertyKey}get parameters(){return this.endpoint.parameters}get propertyKey(){return String(this.endpoint.propertyKey)}get propertyName(){return this.endpoint.propertyName}get store(){return this.endpoint.store}get operation(){return this.endpoint.operation}get operationId(){return this.operation.get("operationId")||this.endpoint.propertyKey}has(e){return this.paramsTypes[e]}}function Wr(e){return e.split("/").filter(Boolean).join("/")}function Vr(e,t){return e.map((e=>t.parameters.find((t=>t.in===e.in&&t.name===e.name))||e)).concat(...t.parameters.filter((e=>"path"!==e.in)))}function Xr(e){const t=e.isStore?e:re(e);if(!t.$operations){const e=new Jr;t.$operations=new Map,ae(t).forEach((e=>{e.children.forEach((e=>{e instanceof ee&&!t.$operations.has(e.propertyKey)&&t.$operations.set(e.propertyKey,e)}))})),t.$operations.forEach((t=>{t.operation.operationPaths.forEach((t=>{e.setOperationPath(t)}))})),e.clear()}return t.$operations}function zr(e,t=""){t instanceof RegExp&&(t=t.toString().replace(/^\//g,"").replace(/\/$/g,"").replace(/\\/g,""));const r=[],s=[];let n=!1,i="";return function(e){let t=0;return e.split("").filter((e=>{"("===e&&t++;const r=0===t;return")"===e&&t--,r})).join("").split("/").filter((e=>!!e))}(`${e}${t}`).map((e=>{const t=e.replace(":","").replace("?","");if(e.includes(":")){const o=e.includes("?");o&&!n&&(n=!0,s.push({path:i,parameters:[].concat(r)}));const{prefix:a,name:c,postfix:u}=function(e){const[t,r]=e.split("="),s=(r||t).split(".");return{prefix:r&&t?`${t}=`:"",name:s.splice(0,1)[0],postfix:s.length?`.${s.join(".")}`:""}}(t);i+=`/${a}{${c}}${u}`,r.push({in:"path",name:c,type:"string",required:!0}),o&&n&&s.push({path:i,parameters:[].concat(r)})}else i+=`/${e}`})),s.length?s:[{path:i,parameters:[].concat(r)}]}function Qr(e,t,{rootPath:r,specType:s,operationId:n,defaultTags:i,tags:o,path:a,method:c}){const u=zr(r,a).map((({path:e,parameters:t})=>(e=e||"/",s===N.OPENAPI&&(t=t.map((({type:e,...t})=>({...t,schema:{type:e}})))),{path:e,parameters:t})));return u.reduce(((e,{path:r,parameters:s})=>{s=Vr(s,t),r=r||"/";const a=t.tags?.length?t.tags:[i];return e.paths[r]={...e.paths[r],[c.toLowerCase()]:{operationId:t.operationId||n(r),...t,tags:a.map((({name:e})=>e)),parameters:s}},o.push(...a),e}),e)}function Yr(e=""){const t=new Map;return(r,s,n="")=>{const i=((t,r)=>{const s=(e||"%c.%m").replace(/%c/,t).replace(/%m/,r);return""===e?(0,D.camelCase)(s):s})(r,s),o=r+s;if(!t.has(o))return t.set(o,0),i;const a=n.match(/{(\w+)}/gi);if(a){const e=r+s+a[0];if(!t.has(e))return t.set(e,0),(0,D.camelCase)(`${i} By ${a}`)}const c=t.get(o)+1;return t.set(o,c),`${i}_${c}`}}const Zr=(0,e.mergeReducerBuilder)(((e,t)=>e.type&&e.type===t.type||e.$ref&&e.$ref===t.$ref)),es=(0,e.mergeReducerBuilder)(((e,t)=>e.in===t.in&&e.name===t.name)),ts=(0,e.mergeReducerBuilder)(((e,t)=>!!Object.keys(t).find((t=>!!e[t])))),rs=(0,e.mergeReducerBuilder)(((e,t)=>e.name===t.name)),ss={security:ts,parameters:es,oneOf:Zr,anyOf:Zr,allOf:Zr,tags:rs};function ns(t,r){return(0,e.deepMerge)(t,r,{reducers:ss,cleanUndefinedProps:!0})}const is=new Map;function os(t,r={}){if(r={...r,operationIdFormatter:r.operationIdFormatter||Yr(r.operationIdPattern),root:!1},(0,e.isArray)(t)){let e={};return r={...r,specType:N.OPENAPI,paths:{},tags:[],schemas:{},append(t){e=ns(e,t)}},t.forEach((({token:e,...t})=>{const s=os(e,{...r,...t});r.append(s)})),e}return function(e,t,r){is.has(e)||is.set(e,new Map);const s=is.get(e),n=JSON.stringify(t);return s.has(n)||s.set(n,r()),s.get(n)}(t,r,(()=>function(t,r){const s=re(t),{schemas:n={},paths:i={},rootPath:o="/",tags:a=[]}=r,c=N.OPENAPI,u=s.path,p=(0,e.cleanObject)({name:s.schema.getName(),description:s.schema.get("description")}),h={paths:i};return Xr(t).forEach((e=>{if(e.store.get("hidden"))return;const t=e.operation.toJSON({...r,specType:c,schemas:n});e.operation.operationPaths.forEach((({path:s,method:n})=>{n&&Qr(h,t,{rootPath:Wr(o+u),path:s,method:n,defaultTags:p,tags:a,specType:c,operationId:t=>r.operationIdFormatter(e.parent.schema.get("name")||e.parent.targetName,e.propertyName,t)})}))})),h.tags=(0,e.uniqBy)(a,"name"),Object.keys(n).length&&(h.components={schemas:n}),h}(t,r)))}function as(e){return e.startsWith("3.")?N.OPENAPI:N.SWAGGER}function cs(e){return"openapi"in e?N.OPENAPI:N.SWAGGER}function us(t){const{title:r,description:s,version:n,termsOfService:i,contact:o,license:a}=t;return(0,e.cleanObject)({version:n,title:r,description:s,termsOfService:i,contact:o,license:a})}function ps(t,{version:r,specVersion:s,acceptMimes:n=["application/json"]}){const{paths:i,security:o,tags:a,host:c,basePath:u,schemes:p,consumes:h=[],produces:l=["application/json"],definitions:m,parameters:d,responses:f,securityDefinitions:y,externalDocs:g}=t;return{swagger:s,consumes:(0,e.uniq)([...n,...h]),produces:(0,e.uniq)([...l]),info:us((0,e.getValue)(t,"info",{})),paths:i,host:c,basePath:u,schemes:p,definitions:m,parameters:d,responses:f,security:o,securityDefinitions:y,tags:a,externalDocs:g}}function hs(t,{specVersion:r}){const{servers:s,paths:n,components:i,security:o,tags:a,externalDocs:c}=t;return{openapi:r,info:us((0,e.getValue)(t,"info",{})),servers:s,paths:n,components:i,security:o,tags:a,externalDocs:c}}function ls(t,{fileSpec:r,acceptMimes:s,specVersion:n,version:i}){const o={specVersion:n=n||(0,e.getValue)(t,"openapi",(0,e.getValue)(t,"swagger","2.0")),acceptMimes:s};switch(as(n)){case N.OPENAPI:t=hs(t,o),r=r?hs(r,o):r;break;default:case N.SWAGGER:t=ps(t,o),r=r?ps(r,o):r}return t=ns(t,r),(0,e.setValue)(t,"info.title",(0,e.getValue)(t,"info.title","Api documentation")),(0,e.setValue)(t,"info.version",(0,e.getValue)(t,"info.version",i)),t}const ms=["get","put","post","delete","options","head","patch","trace"],ds=["format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","minLength","maxLength","multipleOf","minItems","maxItems","uniqueItems","minProperties","maxProperties","additionalProperties","pattern","enum","default"],fs=["type","items"],ys=/^(application\/json|[^;\/ \t]+\/[^;\/ \t]+[+]json)[ \t]*(;.*)?$/,gs={APPLICATION_X_WWW_URLENCODED:"application/x-www-form-urlencoded",MULTIPART_FORM_DATA:"multipart/form-data"};function Os(e){if(Array.isArray(e))e.forEach(Os);else if("object"==typeof e)for(let t in e)"$ref"===t?e.$ref=e.$ref.replace("#/components/schemas/","#/definitions/").replace("#/components/","#/x-components/"):Os(e[t])}function Ss(e){return new RegExp(ys,"i").test(e)}function bs(e){const t=Object.keys(gs).map((e=>gs[e]));return Object.keys(e).filter((e=>t.indexOf(e)>-1||Ss(e)))}function Rs(e){function t(e){const{scheme:t,type:r,name:s,bearerFormat:n,flows:i,...o}=e;switch(r){case"http":if("basic"===t)return{...o,type:t};if("bearer"===t)return{...o,type:"apiKey",name:"Authorization",in:"header"};break;case"oauth2":const e=Object.keys(i)[0],s=i[e];let n=e;return"clientCredentials"===n?n="application":"authorizationCode"===n&&(n="accessCode"),{type:r,flow:n,authorizationUrl:s.authorizationUrl,tokenUrl:s.tokenUrl,scopes:s.scopes}}}return Object.entries(e).reduce(((e,[r,s])=>({...e,[r]:t(s)})),{})}function Ts(e){let t=e.url;const r=e.variables||{};for(const e in r){const s=r[e]||{};if(s.default){const r=RegExp(`{${e}}`,"g");t=t.replace(r,s.default)}}const s=new URL(t);return{host:s.host?s.host:void 0,basePath:s.pathname,schemes:null!==s.protocol?[s.protocol.substring(0,s.protocol.length-1)]:void 0}}class As{spec;constructor(e){this.spec=JSON.parse(JSON.stringify(e))}convertInfos(){const e=this.spec.servers&&this.spec.servers[0];return e?Ts(e):{}}resolveReference(e,t,r){if(!t||!t.$ref)return t;const s=t.$ref;if(s.startsWith("#")){const t=s.split("/").map((e=>e.replace(/~1/g,"/").replace(/~0/g,"~")));t.shift();let n=e;return t.forEach((e=>{n=n[e]})),r?JSON.parse(JSON.stringify(n)):n}}convert(){const t={swagger:"2.0",...this.convertInfos(),paths:this.spec.paths?this.convertOperations(this.spec.paths,this.spec):void 0};return this.spec.components&&(this.convertSchemas(),this.convertSecurityDefinitions(),this.spec["x-components"]=this.spec.components,delete this.spec.components,Os(this.spec)),delete this.spec.servers,delete this.spec.openapi,delete this.spec["x-components"],(0,e.cleanObject)({...t,...this.spec})}convertOperations(e,t){return Object.entries(e).reduce(((e,[r,s])=>{const n=e[r]=this.resolveReference({...t,paths:e},s,!0);return this.convertParameters(n),Object.keys(n).forEach((r=>{if(ms.indexOf(r)>=0){const s=n[r]=this.resolveReference({...t,paths:e},n[r],!0);this.convertOperationParameters(s),this.convertResponses(s)}})),e}),e)}convertOperationParameters(e){let t,r,s,n;if(e.parameters=e.parameters||[],e.requestBody){let i=this.resolveReference(this.spec,e.requestBody,!0);if(e.requestBody.content){const t=bs(e.requestBody.content)[0],r={content:{}},s=e.requestBody.content[t];s&&s.schema&&s.schema.$ref&&!s.schema.$ref.startsWith("#")&&(i=this.resolveReference(this.spec,s.schema,!0),r.content[`${t}`]={schema:i},i=r)}if(i.name="body",t=i.content,t&&Object.keys(t).length){if(s=Object.keys(t).filter((e=>e.indexOf("/")>0)),n=s.filter((e=>e.indexOf("*")<0)),r=bs(t)[0],delete i.content,[gs.APPLICATION_X_WWW_URLENCODED,gs.MULTIPART_FORM_DATA].includes(r))if(e.consumes=n,i.in="formData",i.schema=t[r].schema,i.schema=this.resolveReference(this.spec,i.schema,!0),"object"===i.schema.type&&i.schema.properties){const t=i.schema.required||[];Object.keys(i.schema.properties).forEach((r=>{const s=i.schema.properties[r];if(!s.readOnly){const n={name:r,in:"formData",schema:s};t.indexOf(r)>=0&&(n.required=!0),e.parameters?.push(n)}}))}else e.parameters.push(i);else r?(e.consumes=n,i.in="body",i.schema=t[r].schema,e.parameters.push(i)):s&&(e.consumes=n||["application/octet-stream"],i.in="body",i.name=i.name||"file",delete i.type,i.schema=t[s[0]].schema||{type:"string",format:"binary"},e.parameters.push(i));i.schema&&this.convertSchema(i.schema,"request")}delete e.requestBody}this.convertParameters(e)}convertParameters(e){void 0!==e.parameters&&(e.parameters=e.parameters||[],(e.parameters||[]).forEach(((t,r)=>{if("body"!==(t=e.parameters[r]=this.resolveReference(this.spec,t,!1)).in){if(this.copySchemaProperties(t,ds),this.copySchemaProperties(t,fs),this.copySchemaXProperties(t),!t.description){const e=this.resolveReference(this.spec,t.schema,!1);e&&e.description&&(t.description=e.description)}void 0!==t.example&&(t["x-example"]=t.example),delete t.schema,delete t.allowReserved,delete t.example}if("array"===t.type)switch(t.style||("query"===t.in||"cookie"===t.in?"form":"simple")){case"matrix":t.collectionFormat=t.explode?void 0:"csv";break;case"label":t.collectionFormat=void 0;break;case"simple":t.collectionFormat="csv";break;case"spaceDelimited":t.collectionFormat="ssv";break;case"pipeDelimited":t.collectionFormat="pipes";break;case"deepOpbject":t.collectionFormat="multi";break;case"form":t.collectionFormat=!1===t.explode?"csv":"multi"}delete t.style,delete t.explode})))}copySchemaProperties(e,t){let r=this.resolveReference(this.spec,e.schema,!0);r&&t.forEach((t=>{const s=r[t];"additionalProperties"===t&&"boolean"==typeof s||void 0!==s&&(e[t]=s)}))}copySchemaXProperties(e){let t=this.resolveReference(this.spec,e.schema,!0);t&&Object.keys(t).forEach((r=>{Reflect.hasOwnProperty.call(t,r)&&!Reflect.hasOwnProperty.call(e,r)&&r.startsWith("x-")&&(e[r]=t[r])}))}convertResponses(e){Object.keys(e.responses||{}).forEach((t=>{const r=e.responses[t]=this.resolveReference(this.spec,e.responses[t],!0);if(r.content){let t=null,s=null;if(Object.keys(r.content).forEach((n=>{const i=n.indexOf("*")<0?n:"application/octet-stream";e.produces?e.produces.indexOf(i)<0&&e.produces.push(i):e.produces=[i];const o=r.content[n];t=t||o.schema,!s&&Ss(i)&&(s=o.schema),o.example&&(r.examples=r.examples||{},r.examples[i]=o.example)})),t){r.schema=s||t;const e=this.resolveReference(this.spec,r.schema,!0);e&&r.schema.$ref&&!r.schema.$ref.startsWith("#")&&(r.schema=e),this.convertSchema(r.schema,"response")}}Object.keys(r.headers||{}).forEach((e=>{const t=this.resolveReference(this.spec,r.headers[e],!0);t.schema&&(t.type=t.schema.type,t.format=t.schema.format,delete t.schema),r.headers[e]=t})),delete r.content}))}convertSchema(e,t){if(e.oneOf&&(delete e.oneOf,e.discriminator&&delete e.discriminator),e.anyOf&&(delete e.anyOf,e.discriminator&&delete e.discriminator),e.allOf)for(const r in e.allOf)this.convertSchema(e.allOf[r],t);switch(e.discriminator&&(e.discriminator.mapping&&this.convertDiscriminatorMapping(e.discriminator.mapping),e.discriminator=e.discriminator.propertyName),e.type){case"object":e.properties&&Object.keys(e.properties).forEach((r=>{!0===e.properties[r].writeOnly&&"response"===t?delete e.properties[r]:(this.convertSchema(e.properties[r],t),delete e.properties[r].writeOnly)}));break;case"array":e.items&&this.convertSchema(e.items,t)}e.nullable&&(e["x-nullable"]=!0,delete e.nullable),void 0!==e.deprecated&&(void 0===e["x-deprecated"]&&(e["x-deprecated"]=e.deprecated),delete e.deprecated)}convertSchemas(){this.spec.definitions=this.spec.components.schemas,Object.keys(this.spec.definitions||{}).forEach((e=>{this.convertSchema(this.spec.definitions[e])})),delete this.spec.components.schemas}convertDiscriminatorMapping(e){Object.keys(e).forEach((t=>{const r=e[t];if("string"!=typeof r)return void console.warn(`Ignoring ${r} for ${t} in discriminator.mapping.`);let s;if(/^[a-zA-Z0-9._-]+$/.test(r))try{s=this.resolveReference(this.spec,{$ref:`#/components/schemas/${r}`},!1)}catch(e){console.debug(`Error resolving ${r} for ${t} as schema name in discriminator.mapping: ${e}`)}if(!s)try{s=this.resolveReference(this.spec,{$ref:r},!1)}catch(e){console.debug(`Error resolving ${r} for ${t} in discriminator.mapping: ${e}`)}s?(s["x-discriminator-value"]=t,s["x-ms-discriminator-value"]=t):console.warn(`Unable to resolve ${r} for ${t} in discriminator.mapping.`)}))}convertSecurityDefinitions(){this.spec.components.securitySchemes&&(this.spec.securityDefinitions=Rs(this.spec.components.securitySchemes),delete this.spec.components.securitySchemes)}}function Es(e){return new As(e).convert()}async function vs({tokens:t,...r}){const{version:s="1.0.0",acceptMimes:n,specPath:i,specVersion:o}=r,a=ls((0,e.getValue)(r,"spec",{}),{fileSpec:{},version:s,specVersion:o,acceptMimes:n}),c=cs(a),u=ns(a,os(t,r));return c===N.SWAGGER?Es(u):u}const xs="$cache:schemes";function Cs(e,t={}){const r=re(e);return t={endpoint:!0,groups:[],...t,specType:t.specType||N.JSON,schemas:{}},"parameter"===r.decoratorType&&(t={...t,genericTypes:r.nestedGenerics[0],nestedGenerics:r.nestedGenerics,groups:r.parameter?.groups}),function(e,t){const r=e.store.get(xs)||new Map,s=function(e){return JSON.stringify(e)}(t);if(!r.has(s)){const n=o("schema",e.schema,t);Object.keys(t.schemas).length&&(n.definitions=t.schemas),r.set(s,n)}return e.store.set(xs,r),r.get(s)}(r,t)}function Ps(e,t={}){const r=e.isStore?e:re(e),s=Br(t.basePath,r.path);let n=[];return t.withChildren&&(n=r.get("childrenControllers",[]).reduce(((e,r)=>e.concat(Ps(r,{...t,basePath:s}))),n)),[...Xr(e).values()].reduce(((t,r)=>{const{operation:n}=r;return n&&n.operationPaths.forEach((n=>{t.push(new Fr({basePath:s,token:e,endpoint:r,operationPath:n}))})),t}),n)}function ws(e){const t=e.isStore?e:re(e);if(!t.$properties){const e=ae(t);t.$properties=new Map,e.forEach((e=>{e.children.forEach((e=>{t.$properties.has(e.propertyKey)||t.$properties.set(e.propertyKey,e)}))}))}return t.$properties}function $s(e,t={}){const r=ws(e),s=new Map;return r.forEach(((e,r)=>{!t.withIgnoredProps&&le(e.itemSchema,t)||s.set(r,e)})),s}})(),i})()));
|
|
3
3
|
//# sourceMappingURL=schema.umd.min.js.map
|