@stacksjs/dtsx
Version:
A modern, fast .d.ts generation tool, powered by Bun.
28 lines (27 loc) • 41 kB
JavaScript
// @bun
import{af as $J,cf as dj}from"./chunk-s2fpbr98.js";var s=32,t=9,C=10,p=13,T=47,r=42,H=39,_=34,e=96,Fj=92,y=123,B=125,u=40,l=41,x=91,n=93,m=60,A=62,k=59,Vj=58,d=61,qj=44,gj=46,Wj=63,Lj=35,yJ=64,zJ=36,fJ=95;function o(v){return v===s||v===t||v===C||v===p}function Pj(v){return v>=65&&v<=90||v>=97&&v<=122||v===fJ||v===zJ||v>127}function Yj(v){return Pj(v)||v>=48&&v<=57}function IJ(v){let c=!0;for(let I=0;I<v.length;I++){let S=v.charCodeAt(I);if(S===gj){if(c)return!1;c=!0}else if(c){if(!Pj(S))return!1;c=!1}else if(!Yj(S))return!1}return v.length>0&&!c}function Tj(v,c,I){let S=c+1;while(S<v.length){let z=v.charCodeAt(S);if(z===Fj){S+=2;continue}if(S++,z===I)break}return S}function BJ(v){if(v==="any"||v==="object"||v==="unknown")return!0;if(v.startsWith("Record<")||v.startsWith("Array<"))return!0;return v.charCodeAt(0)===y&&v.includes("[")&&v.includes("]:")}var Cj=["public","protected","private","readonly","override"];function uJ(v,c,I=!0,S=!1){return S?kJ(v,c,I):WJ(v,c,I)}function kJ(v,c,I=!0){return VJ(v,c,I,!0)}function WJ(v,c,I=!0){return VJ(v,c,I,!1)}function VJ(v,c,I,S){let z=v,Zj=I,W=S,U=z.length,P=[],L=new Map,Jj=new Set,j=0;if(j<U&&z.charCodeAt(j)===65279)j++;function E(X,J){if(X<J){let Y=z.charCodeAt(X),Z=z.charCodeAt(J-1);if(Y!==s&&Y!==t&&Y!==C&&Y!==p&&Z!==s&&Z!==t&&Z!==C&&Z!==p)return z.slice(X,J)}while(X<J&&o(z.charCodeAt(X)))X++;while(J>X&&o(z.charCodeAt(J-1)))J--;return z.slice(X,J)}function K(){if(j>=U)return;let X=z.charCodeAt(j);if(X!==s&&X!==t&&X!==C&&X!==p&&X!==T)return;while(j<U){let J=z.charCodeAt(j);if(J===s||J===t||J===C||J===p){j++;continue}if(J===T&&j+1<U){let Y=z.charCodeAt(j+1);if(Y===T){let Z=z.indexOf(`
`,j+2);j=Z===-1?U:Z+1;continue}if(Y===r){let Z=z.indexOf("*/",j+2);j=Z===-1?U:Z+2;continue}}break}}function qJ(X){let J=X.length,Y=0,Z=J;for(let $=0;$<J;$++){let V=X.charCodeAt($);if(Y){if(V===Fj){$++;continue}if(V===Y)Y=0;continue}if(V===H||V===_||V===e){Y=V;continue}if(V===T&&$+1<J){let Q=X.charCodeAt($+1);if(Q===T){Z=$;while(Z>0&&(X.charCodeAt(Z-1)===s||X.charCodeAt(Z-1)===t))Z--;return X.slice(0,Z)}if(Q===r){let O=X.indexOf("*/",$+2);if(O!==-1){X=`${X.slice(0,$)} ${X.slice(O+2)}`,$--;continue}}}}Z=J;while(Z>0&&(X.charCodeAt(Z-1)===s||X.charCodeAt(Z-1)===t||X.charCodeAt(Z-1)===p))Z--;return Z<J?X.slice(0,Z):X}function Qj(X){j++;let J=X===H?"'":'"';while(j<U){let Y=z.indexOf(J,j);if(Y===-1){j=U;return}let Z=0,$=Y-1;while($>=0&&z.charCodeAt($)===Fj)Z++,$--;if(Z%2===0){j=Y+1;return}j=Y+1}}function yj(){j++;let X=[];while(j<U){let J=z.charCodeAt(j);if(X.length===0){if(J===Fj){j+=2;continue}if(J===e){j++;return}if(J===zJ&&j+1<U&&z.charCodeAt(j+1)===y){j+=2,X.push(0);continue}j++;continue}if(J===H||J===_){Qj(J);continue}if(J===e){yj();continue}if(J===T&&j+1<U){let Y=z.charCodeAt(j+1);if(Y===T){let Z=z.indexOf(`
`,j+2);j=Z===-1?U:Z+1;continue}if(Y===r){let Z=z.indexOf("*/",j+2);j=Z===-1?U:Z+2;continue}if(pj()){cj();continue}j++;continue}if(J===y){X[X.length-1]++,j++;continue}if(J===B){let Y=X[X.length-1];if(Y===0){X.pop(),j++;continue}X[X.length-1]=Y-1,j++;continue}j++}}function i(){let X=z.charCodeAt(j);if(X===H||X===_)return Qj(X),!0;if(X===e)return yj(),!0;if(X===T&&j+1<U){let J=z.charCodeAt(j+1);if(J===T){let Y=z.indexOf(`
`,j+2);return j=Y===-1?U:Y+1,!0}if(J===r){let Y=z.indexOf("*/",j+2);return j=Y===-1?U:Y+2,!0}if(pj())return cj(),!0}return!1}function pj(){let X=j-1;while(X>=0&&(z.charCodeAt(X)===s||z.charCodeAt(X)===t||z.charCodeAt(X)===C||z.charCodeAt(X)===p))X--;if(X<0)return!0;let J=z.charCodeAt(X);if(J===d||J===u||J===x||J===33||J===38||J===124||J===Wj||J===Vj||J===qj||J===k||J===y||J===B||J===94||J===126||J===43||J===45||J===r||J===37||J===m||J===A)return!0;if(Yj(J)){let Y=X;while(Y>=0&&Yj(z.charCodeAt(Y)))Y--;let Z=z.slice(Y+1,X+1);if(Z==="return"||Z==="typeof"||Z==="void"||Z==="delete"||Z==="throw"||Z==="new"||Z==="in"||Z==="of"||Z==="case"||Z==="instanceof"||Z==="yield"||Z==="await")return!0}return!1}function cj(){j++;let X=!1;while(j<U){let J=z.charCodeAt(j);if(J===Fj){j+=2;continue}if(X){if(J===n)X=!1;j++;continue}if(J===x){X=!0,j++;continue}if(J===T){j++;break}if(J===C||J===p)break;j++}while(j<U&&Yj(z.charCodeAt(j)))j++}function a(){let X=j;while(j<U&&Yj(z.charCodeAt(j)))j++;return z.slice(X,j)}function G(X){if(j+X.length>U)return!1;for(let J=0;J<X.length;J++)if(z.charCodeAt(j+J)!==X.charCodeAt(J))return!1;if(j+X.length<U&&Yj(z.charCodeAt(j+X.length)))return!1;return!0}function Bj(X){let J=j+X;while(J<U){let Y=z.charCodeAt(J);if(Y===s||Y===t||Y===C||Y===p){J++;continue}return Y!==gj&&Y!==d}return!1}function FJ(){if(j>=U)return!1;switch(z.charCodeAt(j)){case 101:return G("export")||G("enum");case 105:return G("import")||G("interface");case 102:return G("function");case 99:return G("class")||G("const");case 116:return G("type");case 108:return G("let");case 118:return G("var");case 100:return G("declare")||G("default");case 109:return G("module");case 110:return G("namespace");case 97:return G("abstract")||G("async");default:return!1}}function wj(){let X=z.charCodeAt(j);if(X!==C&&X!==p)return!1;let J=j;if(j++,X===p&&j<U&&z.charCodeAt(j)===C)j++;while(j<U){let Z=z.charCodeAt(j);if(Z===s||Z===t||Z===p||Z===C){j++;continue}if(Z===T&&j+1<U){let $=z.charCodeAt(j+1);if($===T){let V=z.indexOf(`
`,j+2);j=V===-1?U:V+1;continue}if($===r){let V=z.indexOf("*/",j+2);j=V===-1?U:V+2;continue}}break}let Y=j>=U||FJ()||z.charCodeAt(j)===B;return j=J,Y}function fj(){let X=z.charCodeAt(j);if(X!==C&&X!==p)return!1;let J=j;if(j++,X===p&&j<U&&z.charCodeAt(j)===C)j++;while(j<U){let Z=z.charCodeAt(j);if(Z===s||Z===t||Z===p||Z===C){j++;continue}if(Z===T&&j+1<U&&z.charCodeAt(j+1)===T){let $=z.indexOf(`
`,j+2);j=$===-1?U:$+1;continue}break}if(j>=U)return j=J,!0;let Y=z.charCodeAt(j);if(Y===124||Y===38||Y===gj||Y===Wj||Y===Vj)return j=J,!1;if(G("extends")||G("keyof")||G("typeof")||G("infer")||G("is")||G("as")||G("in"))return j=J,!1;return j=J,!0}let UJ=/[{}'"`\/]/g,QJ=/[()'"`\/]/g,gJ=/[[\]'"`\/]/g,GJ=/[<>'"`\/]/g;function jj(X,J){let Y=1;j++;let Z=X===y?UJ:X===u?QJ:X===x?gJ:GJ;Z.lastIndex=j;let $;while(($=Z.exec(z))!==null){let V=$.index,Q=z.charCodeAt(V);if(Q===H||Q===_){j=V,Qj(Q),Z.lastIndex=j;continue}if(Q===e){j=V,yj(),Z.lastIndex=j;continue}if(Q===T){if(j=V,i()){Z.lastIndex=j;continue}Z.lastIndex=V+1;continue}if(Q===X)Y++;else if(Q===J){if(J===A&&V>0&&z.charCodeAt(V-1)===d){Z.lastIndex=V+1;continue}if(Y--,Y===0)return j=V+1,j}Z.lastIndex=V+1}return j=U,j}function Xj(){return j>0&&z.charCodeAt(j-1)===d}function uj(){return j+1<U&&z.charCodeAt(j+1)===A}let $j=/[{};'"`\/\n\r()[\]]/g;function h(){let X=0,J=0,Y=0;$j.lastIndex=j;let Z;while((Z=$j.exec(z))!==null){let $=Z.index,V=z.charCodeAt($);if(V===H||V===_){j=$,Qj(V),$j.lastIndex=j;continue}if(V===e){j=$,yj(),$j.lastIndex=j;continue}if(V===T){if(j=$,i()){$j.lastIndex=j;continue}$j.lastIndex=$+1;continue}if(V===u){J++,$j.lastIndex=$+1;continue}if(V===l){J--,$j.lastIndex=$+1;continue}if(V===x){Y++,$j.lastIndex=$+1;continue}if(V===n){Y--,$j.lastIndex=$+1;continue}if(V===y){X++,$j.lastIndex=$+1;continue}if(V===B){if(X--,X<=0&&J<=0&&Y<=0){j=$+1;return}$j.lastIndex=$+1;continue}if(V===k&&X===0&&J===0&&Y===0){j=$+1;return}if((V===C||V===p)&&X===0&&J===0&&Y===0){if(j=$,wj())return}$j.lastIndex=$+1}j=U}function aj(){jj(y,B);while(j<U&&o(z.charCodeAt(j)))j++;if(G("from")){j+=4;while(j<U&&o(z.charCodeAt(j)))j++;if(j<U){let X=z.charCodeAt(j);if(X===H||X===_)Qj(X)}}while(j<U&&(z.charCodeAt(j)===s||z.charCodeAt(j)===t))j++;if(j<U&&z.charCodeAt(j)===k)j++}function nj(){j++;while(j<U&&o(z.charCodeAt(j)))j++;if(G("as")){j+=2;while(j<U&&o(z.charCodeAt(j)))j++;a();while(j<U&&o(z.charCodeAt(j)))j++}if(G("from")){j+=4;while(j<U&&o(z.charCodeAt(j)))j++;if(j<U){let X=z.charCodeAt(j);if(X===H||X===_)Qj(X)}}while(j<U&&(z.charCodeAt(j)===s||z.charCodeAt(j)===t))j++;if(j<U&&z.charCodeAt(j)===k)j++}function kj(X){let J=X.indexOf("from ");if(J===-1)return;let Y=J+5;while(Y<X.length&&(X.charCodeAt(Y)===32||X.charCodeAt(Y)===9))Y++;if(Y>=X.length)return;let Z=X.charCodeAt(Y);if(Z!==39&&Z!==34)return;let $=X.indexOf(X[Y],Y+1);if($===-1)return;return X.slice(Y+1,$)}function zj(X){if(!Zj)return;let J=X-1;while(J>=0&&o(z.charCodeAt(J)))J--;if(J<0)return;let Y=[],Z=!1;while(J>=0){if(J>=1&&z.charCodeAt(J)===T&&z.charCodeAt(J-1)===r){let Q=z.lastIndexOf("/*",J-2);if(Q>=0){Y.push(z.slice(Q,J+1)),Z=!0,J=Q-1;while(J>=0&&o(z.charCodeAt(J)))J--;continue}break}let $=J;while($>0&&z.charCodeAt($-1)!==C)$--;let V=E($,J+1);if(V.startsWith("//")){if(Z)break;let Q=[V];J=$-1;while(J>=0&&(z.charCodeAt(J)===C||z.charCodeAt(J)===p))J--;while(J>=0){let O=J;while(O>0&&z.charCodeAt(O-1)!==C)O--;let q=E(O,J+1);if(q.startsWith("//")){Q.push(q),J=O-1;while(J>=0&&(z.charCodeAt(J)===C||z.charCodeAt(J)===p))J--}else if(q===""){J=O-1;while(J>=0&&(z.charCodeAt(J)===C||z.charCodeAt(J)===p))J--}else break}Q.reverse(),Y.push(Q.join(`
`));continue}break}if(Y.length===0)return;return Y.reverse(),Y}function KJ(X){let J=X,Y=!1;while(j<U){let q=z.charCodeAt(j);if(q===k){j++;break}if(q===H||q===_){Qj(q),Y=!0;while(j<U&&(z.charCodeAt(j)===s||z.charCodeAt(j)===t))j++;if(j<U&&z.charCodeAt(j)===k)j++;break}if(q===C&&Y)break;j++}let Z=E(J,j),$=Z.charCodeAt(7)===116&&(Z.startsWith("import type ")||Z.startsWith("import type{")),V=!1;{let q=6;while(q<Z.length&&(Z.charCodeAt(q)===s||Z.charCodeAt(q)===t))q++;if(q<Z.length&&Z.charCodeAt(q)===116&&Z.startsWith("type",q)){q+=4;while(q<Z.length&&(Z.charCodeAt(q)===s||Z.charCodeAt(q)===t))q++}if(q<Z.length){let F=Z.charCodeAt(q);V=F===H||F===_}}let Q="";{let q=Z.indexOf("from ");if(q!==-1){let F=q+5;while(F<Z.length&&(Z.charCodeAt(F)===s||Z.charCodeAt(F)===t))F++;if(F<Z.length){let g=Z.charCodeAt(F);if(g===H||g===_){let D=Z.indexOf(String.fromCharCode(g),F+1);if(D!==-1)Q=Z.slice(F+1,D)}}}else if(V){let F=6;while(F<Z.length&&Z.charCodeAt(F)!==H&&Z.charCodeAt(F)!==_)F++;if(F<Z.length){let g=Z.charCodeAt(F),D=Z.indexOf(String.fromCharCode(g),F+1);if(D!==-1)Q=Z.slice(F+1,D)}}}let O=zj(J);return{kind:"import",name:"",text:Z,isExported:!1,isTypeOnly:$,isSideEffect:V,source:Q,leadingComments:O,start:J,end:j}}function Rj(){let X=j;return jj(y,B),z.slice(X,j)}function rj(X){let J=X.indexOf("(");if(J===-1)return X;let Y=X.slice(J);if(Y.indexOf("=")===-1)return X;let Z=!1;for(let q=0;q<Y.length;q++)if(Y.charCodeAt(q)===61){let g=q>0?Y.charCodeAt(q-1):0,D=q+1<Y.length?Y.charCodeAt(q+1):0;if(g!==61&&g!==33&&g!==60&&g!==62&&D!==61&&D!==62){Z=!0;break}}if(!Z)return X;let $=0,V=-1;for(let q=J;q<X.length;q++){let F=X.charCodeAt(q);if(F===40)$++;else if(F===41){if($--,$===0){V=q;break}}}if(V===-1)return X;let Q=X.slice(J,V+1),O=Dj(Q);return X.slice(0,J)+O+X.slice(V+1)}function ij(X){let J=X.indexOf("//")!==-1||X.indexOf("/*")!==-1,Y=X.split(`
`),Z=[],$=[],V=[],Q=!1,O=1/0;for(let g=0;g<Y.length;g++){let D=Y[g];if(J){if(Q){if(D.includes("*/"))Q=!1;continue}let N=D.trim();if(N.length===0)continue;let M=N.charCodeAt(0);if(M===T){let R=N.charCodeAt(1);if(R===T)continue;if(R===r){if(!N.includes("*/"))Q=!0;continue}}if(M===r)continue;let b=qJ(D);if(b.charCodeAt(b.length-1)===k)b=b.slice(0,-1);b=rj(b);let w=b.trim();if(!w)continue;Z.push(b),$.push(w);let f=0;while(f<b.length&&o(b.charCodeAt(f)))f++;if(w!=="{"&&w!=="}"){if(f<O)O=f}V.push(f)}else{let N=D.length;while(N>0&&(D.charCodeAt(N-1)===s||D.charCodeAt(N-1)===t||D.charCodeAt(N-1)===p))N--;if(N===0)continue;let M=N<D.length?D.slice(0,N):D;if(M.charCodeAt(M.length-1)===k)M=M.slice(0,-1);M=rj(M);let b=M.trim();if(!b)continue;Z.push(M),$.push(b);let w=0;while(w<M.length&&o(M.charCodeAt(w)))w++;if(b!=="{"&&b!=="}"){if(w<O)O=w}V.push(w)}}if(Z.length===0)return"{}";if(O===1/0||O<=2)return Z.join(`
`);let q=O-2,F=Array(Z.length);for(let g=0;g<Z.length;g++){let D=$[g];if(D==="{"){F[g]=D;continue}let N=V[g];if(N>O)F[g]=Z[g];else if(N===O&&(D.charCodeAt(0)===B||D.charCodeAt(0)===n||D.charCodeAt(0)===l))F[g]=Z[g];else{let M=Math.max(0,N-q);F[g]=" ".repeat(M)+D}}return F.join(`
`)}function Uj(){if(j>=U||z.charCodeAt(j)!==m)return"";let X=j;jj(m,A);let J=z.slice(X,j);if(J.includes(`
`)){let Y="",Z=!1;for(let $=0;$<J.length;$++){let V=J.charCodeAt($);if(V===32||V===9||V===10||V===13){if(!Z&&Y.length>0)Y+=" ",Z=!0}else Y+=J[$],Z=!1}if(Y.charCodeAt(1)===32)Y=`<${Y.slice(2)}`;if(Y.charCodeAt(Y.length-2)===32)Y=`${Y.slice(0,-2)}>`;return Y}return J}function Gj(){if(j>=U||z.charCodeAt(j)!==u)return"()";let X=j;return jj(u,l),z.slice(X,j)}function Dj(X){let J=X.slice(1,-1).trim();if(!J)return"()";if(X.indexOf(`
`)===-1&&J.indexOf(":")!==-1&&J.indexOf("{")===-1&&J.indexOf("[")===-1&&J.indexOf("=")===-1&&J.indexOf("@")===-1&&J.indexOf("...")===-1){let q=0,F=0,g=0;for(let D=0;D<J.length;D++){let N=J.charCodeAt(D);if(N===u||N===m||N===y)g++;else if(N===l||N===A||N===B)g--;else if(g===0){if(N===Vj)q++;else if(N===qj)F++}}if(q>=F+1){let D=!1;for(let N=0;N<Cj.length;N++){let M=Cj[N],b=J.indexOf(M);if(b!==-1){let w=b+M.length;if((b===0||!Yj(J.charCodeAt(b-1)))&&(w>=J.length||!Yj(J.charCodeAt(w)))){D=!0;break}}}if(!D)return X}}let Y=[],Z=0,$=0,V=!1,Q=0;for(let q=0;q<=J.length;q++){if(q===J.length){Y.push(J.slice(Z).trim());break}let F=J.charCodeAt(q);if(V){if(F===Fj){q++;continue}if(F===Q)V=!1;continue}if(F===T&&q+1<J.length){let g=J.charCodeAt(q+1);if(g===r){q+=2;while(q+1<J.length&&!(J.charCodeAt(q)===r&&J.charCodeAt(q+1)===T))q++;q++;continue}if(g===T){while(q<J.length&&J.charCodeAt(q)!==10)q++;continue}}if(F===H||F===_||F===e){V=!0,Q=F;continue}if(F===u||F===y||F===x||F===m)$++;else if(F===l||F===B||F===n||F===A&&!(q>0&&J.charCodeAt(q-1)===d))$--;else if(F===qj&&$===0)Y.push(J.slice(Z,q).trim()),Z=q+1}let O=[];for(let q of Y){if(!q)continue;let F=q.trim();if(F.startsWith("//")||F.startsWith("/*"))continue;let g=q;{let D=!1,N=0,M=0,b=0;for(let w=0;w<g.length-1;w++){let f=g.charCodeAt(w);if(f===C){b=w+1;continue}if(D){if(f===Fj){w++;continue}if(f===N)D=!1;continue}if(f===H||f===_||f===e){D=!0,N=f;continue}if(f===y||f===x||f===u||f===m){M++;continue}if(f===B||f===n||f===l||f===A){if(M>0)M--;continue}if(f===T&&g.charCodeAt(w+1)===T){if(M===0){g=g.slice(0,w).trimEnd();break}let R=g.indexOf(`
`,w);if(R===-1){g=g.slice(0,b).trimEnd();break}let Oj=g.slice(0,b),PJ=g.slice(R+1);g=`${Oj}${PJ}`,w=b-1}}}if(!g.trim())continue;O.push(oj(g))}return`(${O.join(", ")})`}function bJ(X){if(!X.startsWith("{")&&!X.startsWith("["))return X;let J="",Y=0,Z=0,$=!1,V=0;while(Y<X.length){let Q=X.charCodeAt(Y);if($){if(Q===Fj&&Y+1<X.length){J+=X[Y]+X[Y+1],Y+=2;continue}if(Q===V)$=!1;J+=X[Y],Y++;continue}if(Q===T&&Y+1<X.length){let O=X.charCodeAt(Y+1);if(O===r){let q=Y;Y+=2;while(Y+1<X.length&&!(X.charCodeAt(Y)===r&&X.charCodeAt(Y+1)===T))Y++;Y=Math.min(Y+2,X.length),J+=X.slice(q,Y);continue}if(O===T){let q=Y;while(Y<X.length&&X.charCodeAt(Y)!==10)Y++;J+=X.slice(q,Y);continue}}if(Q===H||Q===_||Q===e){$=!0,V=Q,J+=X[Y],Y++;continue}if(Q===y||Q===x||Q===u)Z++;else if(Q===B||Q===n||Q===l)Z--;if(Z>=1&&Q===d&&(Y+1>=X.length||X.charCodeAt(Y+1)!==d&&X.charCodeAt(Y+1)!==A)){while(J.length>0&&(J[J.length-1]===" "||J[J.length-1]==="\t"||J[J.length-1]===`
`))J=J.slice(0,-1);Y++;let O=0;while(Y<X.length){let q=X.charCodeAt(Y);if(q===H||q===_||q===e){let F=q;Y++;while(Y<X.length){if(X.charCodeAt(Y)===Fj){Y+=2;continue}if(X.charCodeAt(Y)===F){Y++;break}Y++}continue}if(q===y||q===x||q===u)O++;else if(q===B||q===n||q===l){if(O===0)break;O--}else if(q===qj&&O===0)break;Y++}continue}if(Z===1&&Q===gj&&Y+2<X.length&&X.charCodeAt(Y+1)===gj&&X.charCodeAt(Y+2)===gj){Y+=3;continue}J+=X[Y],Y++}return J}function oj(X){let J=X.trim(),Y=J.startsWith("...");if(Y)J=J.slice(3).trim();while(J.startsWith("@")){let b=1;while(b<J.length&&Yj(J.charCodeAt(b)))b++;if(b<J.length&&J.charCodeAt(b)===u){let w=1;b++;while(b<J.length&&w>0){if(J.charCodeAt(b)===u)w++;else if(J.charCodeAt(b)===l)w--;b++}}J=J.slice(b).trim()}let Z=!0;while(Z){Z=!1;for(let b of Cj)if(J.startsWith(b)&&J.length>b.length&&!Yj(J.charCodeAt(b.length))){let w=J.slice(b.length).trim();if(w.charCodeAt(0)===Vj||w.charCodeAt(0)===Wj&&w.length>1&&w.charCodeAt(1)===Vj)break;J=w,Z=!0;break}}let $=-1,V=-1,Q=0,O=!1,q=0;for(let b=0;b<J.length;b++){let w=J.charCodeAt(b);if(O){if(w===Fj){b++;continue}if(w===q)O=!1;continue}if(w===T&&b+1<J.length){let f=J.charCodeAt(b+1);if(f===r){b+=2;while(b+1<J.length&&!(J.charCodeAt(b)===r&&J.charCodeAt(b+1)===T))b++;b++;continue}if(f===T){while(b<J.length&&J.charCodeAt(b)!==10)b++;continue}}if(w===H||w===_||w===e){O=!0,q=w;continue}if(w===u||w===y||w===x||w===m)Q++;else if(w===l||w===B||w===n||w===A&&!(b>0&&J.charCodeAt(b-1)===d))Q--;else if(Q===0){if(w===Vj&&$===-1)$=b;else if(w===d&&V===-1&&(b===0||J.charCodeAt(b-1)!==d)&&(b+1>=J.length||J.charCodeAt(b+1)!==d&&J.charCodeAt(b+1)!==A))V=b}}let F,g,D=V!==-1;if($!==-1&&(V===-1||$<V))if(F=J.slice(0,$).trim(),V!==-1)g=J.slice($+1,V).trim();else g=J.slice($+1).trim();else if(V!==-1)F=J.slice(0,V).trim(),g=Sj(J.slice(V+1).trim());else F=J,g="unknown";if(F=bJ(F),(F.startsWith("{")||F.startsWith("["))&&F.includes(`
`)){let b=F.replace(/\s*\n\s*/g," ").replace(/\s+/g," ");if(b.length<=40)F=b;else F=F.split(`
`).map((f)=>{let R=f.trim();if(!R)return"";if(R==="{"||R==="}"||R==="["||R==="]"||R.startsWith("}")||R.startsWith("]"))return R;return` ${R}`}).join(`
`)}let N=F.endsWith("?")||D;if(F.endsWith("?"))F=F.slice(0,-1).trim();let M=N&&!Y?"?":"";if(Y)return`...${F}: ${g}`;return`${F}${M}: ${g}`}function sj(X){let J=0;if(J<X.length&&X.charCodeAt(J)===45)J++;if(J>=X.length)return!1;let Y=X.charCodeAt(J);if(Y<48||Y>57)return!1;while(J<X.length&&X.charCodeAt(J)>=48&&X.charCodeAt(J)<=57)J++;if(J<X.length&&X.charCodeAt(J)===46){if(J++,J>=X.length||X.charCodeAt(J)<48||X.charCodeAt(J)>57)return!1;while(J<X.length&&X.charCodeAt(J)>=48&&X.charCodeAt(J)<=57)J++}return J===X.length}function Sj(X){let J=X.trim();if(J==="true"||J==="false")return"boolean";if(sj(J))return"number";if(J.startsWith("'")&&J.endsWith("'")||J.startsWith('"')&&J.endsWith('"'))return"string";if(J.startsWith("["))return"unknown[]";if(J.startsWith("{"))return"Record<string, unknown>";return"unknown"}function Ej(X){let J=X.trim();if(J.endsWith("as const"))J=J.slice(0,-8).trim();if(J==="true"||J==="false")return J;if(sj(J))return J;let Y=OJ(J);if(Y!==null)return Y;return"unknown"}function OJ(X){if(X==="")return null;if(X.charCodeAt(0)===H||X.charCodeAt(0)===_){if(Tj(X,0,X.charCodeAt(0))===X.length)return X}let J=wJ(X,"+");if(J.length>1){let Y=!1,Z=!0,$=[];for(let V of J){let Q=V.trim(),O=Q.charCodeAt(0);if((O===H||O===_)&&Tj(Q,0,O)===Q.length)Y=!0,$.push(DJ(Q));else Z=!1}if(Z)return MJ($.join(""));if(Y)return"string";return null}if(/^[\d\s()+*/%.\-]+$/.test(X)&&/\d/.test(X)&&/[+*/%\-\s]/.test(X))return"number";return null}function wJ(X,J){let Y=[],Z=0,$="",V=0;while(V<X.length){let Q=X.charCodeAt(V);if(Q===H||Q===_||Q===e){let O=Tj(X,V,Q);$+=X.slice(V,O),V=O;continue}if(Q===T&&(X.charCodeAt(V+1)===T||X.charCodeAt(V+1)===42)){if(X.charCodeAt(V+1)===T){let F=X.indexOf(`
`,V+2),g=F===-1?X.length:F;$+=X.slice(V,g),V=g;continue}let O=X.indexOf("*/",V+2),q=O===-1?X.length:O+2;$+=X.slice(V,q),V=q;continue}if(Q===u||Q===x||Q===y)Z++;else if(Q===l||Q===n||Q===B)Z--;if(X[V]===J&&Z===0){Y.push($),$="",V++;continue}$+=X[V],V++}return Y.push($),Y}function DJ(X){return X.slice(1,-1).replace(/\\(.)/g,(Y,Z)=>{if(Z==="n")return`
`;if(Z==="t")return"\t";if(Z==="r")return"\r";if(Z==="0")return"\x00";return Z})}function MJ(X){return`'${X.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t")}'`}function xj(X){if(X.endsWith("as const"))return null;let J=0,Y=-1;for(let $=0;$<X.length;$++){let V=X.charCodeAt($);if(V===H||V===_||V===e)$=Tj(X,$,V)-1;else if(V===123||V===91||V===40)J++;else if(V===125||V===93||V===41)J--;else if(J===0&&V===32&&$+4<=X.length&&X.substring($,$+4)===" as ")Y=$}if(Y===-1)return null;return X.slice(Y+4).trim()||null}function Ij(){if(K(),j<U&&z.charCodeAt(j)===Vj){j++,K();let X=j,J=0;while(j<U){if(i())continue;let Y=z.charCodeAt(j);if(Y===u||Y===x||Y===m)J++;else if(Y===l||Y===n||Y===A&&!Xj())J--;else if(Y===y)if(J>0)J++;else{let Z=E(X,j),$=(V)=>{let Q=Z.length-V.length;return Q>=0&&Z.endsWith(V)&&(Q===0||!Yj(Z.charCodeAt(Q-1)))};if(Z.length===0||Z.endsWith("|")||Z.endsWith("&")||$("is")||$("extends"))J++;else break}else if(Y===B){if(J===0)break;J--}else if(J===0&&Y===k)break;if(J===0&&fj())break;j++}return E(X,j)}return""}function Kj(X,J,Y,Z){j+=8,K();let $=j<U&&z.charCodeAt(j)===r;if($)j++,K();let V=a();if(!V&&!Z)return null;K();let Q=Uj();K();let O=Gj();K();let q=Ij(),F=q.length>0;if(!q)if(Y&&$)q="AsyncGenerator<unknown, void, unknown>";else if($)q="Generator<unknown, void, unknown>";else if(Y)q="Promise<void>";else q="void";K();let g=!1;if(j<U&&z.charCodeAt(j)===y){g=!0;let w=j+1;if(jj(y,B),!W&&!F&&!$)q=dj(z.slice(w,j-1),Y,O)}else if(j<U&&z.charCodeAt(j)===k)j++;let D=Dj(O),M=`${J?Z?"export default function ":"export declare function ":"declare function "}${V||"default"}${Q}${D}: ${q};`,b=zj(X);if(g)Jj.add(P.length);return{kind:"function",name:V||"default",text:M,isExported:J,isDefault:Z,isAsync:Y,isGenerator:$,returnType:q,generics:Q||void 0,leadingComments:b,start:X,end:j}}function Mj(X,J,Y){j+=J.length,K();let Z=[];do{if(K(),j>=U)break;let $=z.charCodeAt(j);if($===y||$===x)return h(),Z;let V=a();if(!V)return h(),Z;K();let Q,O,q=!1;if(j<U&&z.charCodeAt(j)===Vj){j++,K();let D=j,N=0;while(j<U){if(i())continue;let M=z.charCodeAt(j);if(M===u||M===y||M===x||M===m)N++;else if(M===l||M===B||M===n||M===A&&!Xj())N--;else if(N===0&&(M===k||M===qj))break;else if(N===0&&M===d&&!uj())break;if(N===0&&wj())break;j++}Q=E(D,j)}if(j<U&&z.charCodeAt(j)===d)if(W&&Q&&(!Zj||!BJ(Q)))h();else{j++,K();let D=j,N=0,M=0;while(j<U){if(i())continue;let b=z.charCodeAt(j);if(b===u||b===y||b===x)N++;else if(b===l||b===B||b===n)N--;else if(b===m&&N===0){if(j+1>=U||z.charCodeAt(j+1)!==d)M++}else if(b===A&&N===0&&!Xj()){if(M>0&&(j+1>=U||z.charCodeAt(j+1)!==d))M--}else if(N===0&&M===0&&(b===k||b===qj))break;if(N===0&&M===0&&wj())break;j++}if(O=E(D,j),O.endsWith(" as const")||O==="const"){if(q=!0,!Q){let b=O.endsWith(" as const")?O.slice(0,-9).trim():O,w=Ej(b);Q=w!=="unknown"?w:void 0}}else if(!Q){let b=xj(O);if(b)Q=b}}if(j<U){let D=z.charCodeAt(j);if(D===qj){j++;continue}if(D===k)j++}let F=zj(X),g=`${Y?"export ":""}declare ${J} ${V}: ${Q||"unknown"};`;Z.push({kind:"variable",name:V,text:g,isExported:Y,typeAnnotation:Q,value:O,modifiers:q?[J,"const assertion"]:[J],leadingComments:F,start:X,end:j});break}while(j<U);return Z}function Hj(X,J){j+=9,K();let Y=a();K();let Z=Uj();K();let $="";if(G("extends")){j+=7,K();let F=j,g=0;while(j<U){if(i())continue;let D=z.charCodeAt(j);if(D===m)g++;else if(D===A&&!Xj())g--;else if(D===y&&g===0)break;j++}$=E(F,j)}K();let V=j<U&&z.charCodeAt(j)===y?Rj():"{}",Q=ij(V),O=`${J?"export ":""}declare interface ${Y}${Z}${$?` extends ${$}`:""} ${Q}`,q=zj(X);return{kind:"interface",name:Y,text:O,isExported:J,extends:$||void 0,generics:Z||void 0,leadingComments:q,start:X,end:j}}function Aj(X,J){j+=4,K();let Y=a();K();let Z=Uj();if(K(),j<U&&z.charCodeAt(j)===d)j++;K();let $=j,V=0;while(j<U){if(i())continue;let F=z.charCodeAt(j);if(F===u||F===y||F===x||F===m)V++;else if(F===l||F===B||F===n||F===A&&!Xj())V--;else if(V===0&&F===k)break;if(V===0&&wj())break;j++}let Q=E($,j);if(j<U&&z.charCodeAt(j)===k)j++;let O=`${J?"export ":""}type ${Y}${Z} = ${Q}`,q=zj(X);return{kind:"type",name:Y,text:O,isExported:J,generics:Z||void 0,leadingComments:q,start:X,end:j}}function vj(X,J,Y){j+=4,K();let Z=a();K();let $=j;if(j<U&&z.charCodeAt(j)===y)jj(y,B);let V=E(X,j),Q=zj(X);return{kind:"enum",name:Z,text:V,isExported:J,modifiers:Y?["const"]:void 0,leadingComments:Q,start:X,end:j}}function bj(X,J,Y,Z=!1){j+=5,K();let $=a()||"AnonymousClass";K();let V=Uj();K();let Q="";if(G("extends")){j+=7,K();let N=j,M=0;while(j<U){if(i())continue;let b=z.charCodeAt(j);if(b===m)M++;else if(b===A&&!Xj())M--;else if(M===0&&(b===y||G("implements")))break;j++}Q=E(N,j)}let O;if(G("implements")){j+=10,K();let N=j,M=0;while(j<U){if(i())continue;let w=z.charCodeAt(j);if(w===m)M++;else if(w===A&&!Xj())M--;else if(M===0&&w===y)break;j++}let b=E(N,j);if(b)O=b.split(",").map((w)=>w.trim())}K();let q=_j(),g=`${J?Z?"export default ":"export declare ":"declare "}${Y?"abstract ":""}class ${$}${V}${Q?` extends ${Q}`:""}${O&&O.length>0?` implements ${O.join(", ")}`:""} ${q}`,D=zj(X);return{kind:"class",name:$,text:g,isExported:J,isDefault:Z,extends:Q||void 0,implements:O,generics:V||void 0,modifiers:Y?["abstract"]:void 0,leadingComments:D,start:X,end:j}}function _j(){if(j>=U||z.charCodeAt(j)!==y)return"{}";j++;let X=[];while(j<U){if(K(),j>=U)break;if(z.charCodeAt(j)===B){j++;break}if(z.charCodeAt(j)===k){j++;continue}if(G("static")&&tj("static")===y){j+=6,K(),jj(y,B);continue}let J=!1,Y=!1,Z=!1,$=!1,V=!1,Q=!1,O=!1,q=!1,F=!0;while(F){if(K(),G("private")){J=!0,j+=7;continue}if(G("protected")){Y=!0,j+=9;continue}if(G("public")){j+=6;continue}if(G("static")){Z=!0,j+=6;continue}if(G("abstract")){$=!0,j+=8;continue}if(G("readonly")){V=!0,j+=8;continue}if(G("override")){Q=!0,j+=8;continue}if(G("accessor")){O=!0,j+=8;continue}if(G("async")){q=!0,j+=5;continue}if(G("declare")){j+=7;continue}break}if(K(),j>=U||z.charCodeAt(j)===B)break;if(z.charCodeAt(j)===Lj)J=!0;if(J){lj();continue}let g=" ";if(Y)g+="protected ";if(Z)g+="static ";if($)g+="abstract ";if(V)g+="readonly ";if(G("constructor")){j+=11,K();let D=Gj();if(K(),vJ(D,X),j<U&&z.charCodeAt(j)===y)jj(y,B);else if(j<U&&z.charCodeAt(j)===k)j++;let N=Dj(D);X.push(` constructor${N};`)}else if(G("get"))if(j+=3,K(),j<U&&(Pj(z.charCodeAt(j))||z.charCodeAt(j)===x||z.charCodeAt(j)===Lj)){let D=hj();if(D.startsWith("#")){if(K(),j<U&&z.charCodeAt(j)===u)Gj();if(K(),Ij(),K(),j<U&&z.charCodeAt(j)===y)jj(y,B);else if(j<U&&z.charCodeAt(j)===k)j++;continue}K(),Gj(),K();let N=Ij()||"unknown";if(K(),j<U&&z.charCodeAt(j)===y)jj(y,B);else if(j<U&&z.charCodeAt(j)===k)j++;X.push(`${g}get ${D}(): ${N};`)}else ej("get",g,Z,V,q,X);else if(G("set"))if(j+=3,K(),j<U&&(Pj(z.charCodeAt(j))||z.charCodeAt(j)===x||z.charCodeAt(j)===Lj)){let D=hj();if(D.startsWith("#")){if(K(),j<U&&z.charCodeAt(j)===u)Gj();if(K(),j<U&&z.charCodeAt(j)===y)jj(y,B);else if(j<U&&z.charCodeAt(j)===k)j++;continue}K();let N=Gj();if(K(),j<U&&z.charCodeAt(j)===y)jj(y,B);else if(j<U&&z.charCodeAt(j)===k)j++;let M=Dj(N);X.push(`${g}set ${D}${M};`)}else ej("set",g,Z,V,q,X);else{let D=z.charCodeAt(j)===r;if(D)j++,K();let N=hj();if(!N){lj();continue}jJ(N,g,Z,V,D,$,q,X)}}return`{
${X.join(`
`)}
}`}function hj(){if(j>=U)return"";let X=z.charCodeAt(j);if(X===x){let J=j;return jj(x,n),z.slice(J,j)}if(X===Lj)return j++,`#${a()}`;return a()}function tj(X){let J=j+X.length;while(J<U&&o(z.charCodeAt(J)))J++;return J<U?z.charCodeAt(J):0}function lj(){let X=0;while(j<U){if(i())continue;let J=z.charCodeAt(j);if(J===y||J===u)X++;else if(J===B||J===l){if(X===0)return;X--}else if(J===k&&X===0){j++;return}if(X===0&&fj())return;j++}}function ej(X,J,Y,Z,$,V){jJ(X,J,Y,Z,!1,!1,$,V)}function jJ(X,J,Y,Z,$,V,Q,O){if(K(),j>=U)return;let q=z.charCodeAt(j),F=!1;if(q===Wj)F=!0,j++,K();if(j<U&&z.charCodeAt(j)===33)j++,K();let g=j<U?z.charCodeAt(j):0;if(g===u||g===m){let D=g===m?Uj():"";K();let N=Gj();K();let M=Ij(),b=M.length>0;if(!M)if(Q&&$)M="AsyncGenerator<unknown, void, unknown>";else if($)M="Generator<unknown, void, unknown>";else if(Q)M="Promise<void>";else M="void";if(K(),j<U&&z.charCodeAt(j)===y){let Oj=j+1;if(jj(y,B),!W&&!b&&!$)M=dj(z.slice(Oj,j-1),Q,N)}else if(j<U&&z.charCodeAt(j)===k)j++;let w=Dj(N),f=F?"?":"",R=$?"*":"";O.push(`${J}${R}${X}${f}${D}${w}: ${M};`)}else if(g===Vj||g===d||g===k||g===B||g===C||g===p){let D="";if(g===Vj){j++,K();let b=j,w=0;while(j<U){if(i())continue;let f=z.charCodeAt(j);if(f===u||f===y||f===x||f===m)w++;else if(f===l||f===B||f===n||f===A&&!Xj()){if(w===0)break;w--}else if(w===0&&(f===k||f===qj))break;else if(w===0&&f===d&&!uj())break;if(w===0&&fj())break;j++}D=E(b,j)}let N="";if(j<U&&z.charCodeAt(j)===d)if(W&&D){j++;let b=0;while(j<U){if(i())continue;let w=z.charCodeAt(j);if(w===u||w===y||w===x)b++;else if(w===l||w===B||w===n){if(b===0&&w===B)break;b--}else if(b===0&&w===k)break;if(b===0&&fj())break;j++}}else{j++,K();let b=j,w=0;while(j<U){if(i())continue;let f=z.charCodeAt(j);if(f===u||f===y||f===x)w++;else if(f===l||f===B||f===n){if(w===0&&f===B)break;w--}else if(w===0&&f===k)break;if(w===0&&fj())break;j++}N=E(b,j)}if(j<U&&z.charCodeAt(j)===k)j++;if(!D)if(N){let b=xj(N);if(b)D=b;else D=N.endsWith("as const")||Y&&Z?Ej(N):Sj(N)}else D="unknown";let M=F?"?":"";O.push(`${J}${X}${M}: ${D};`)}else lj()}function vJ(X,J){let Y=X.slice(1,-1).trim();if(!Y)return;let Z=[],$=0,V=0,Q=!1,O=0;for(let q=0;q<=Y.length;q++){if(q===Y.length){Z.push(Y.slice($).trim());break}let F=Y.charCodeAt(q);if(Q){if(F===Fj){q++;continue}if(F===O)Q=!1;continue}if(F===H||F===_||F===e){Q=!0,O=F;continue}if(F===u||F===y||F===x||F===m)V++;else if(F===l||F===B||F===n||F===A&&!(q>0&&Y.charCodeAt(q-1)===d))V--;else if(F===qj&&V===0)Z.push(Y.slice($,q).trim()),$=q+1}for(let q of Z){let F=q.startsWith("public ")||q.startsWith("public\t"),g=q.startsWith("protected ")||q.startsWith("protected\t"),D=q.startsWith("private ")||q.startsWith("private\t"),N=q.includes("readonly ");if(!F&&!g&&!D&&!N)continue;if(D)continue;let M=q,b=[];if(F){let R=6;while(R<M.length&&o(M.charCodeAt(R)))R++;M=M.slice(R),b.push("public")}if(g){let R=9;while(R<M.length&&o(M.charCodeAt(R)))R++;M=M.slice(R),b.push("protected")}if(N){let R=M.indexOf("readonly ");if(R!==-1){let Oj=R+8;while(Oj<M.length&&o(M.charCodeAt(Oj)))Oj++;M=M.slice(0,R)+M.slice(Oj)}b.push("readonly")}let w=b.length>0?`${b.join(" ")} `:"",f=oj(M);J.push(` ${w}${f};`)}}function mj(X=" "){if(j>=U||z.charCodeAt(j)!==y)return"{}";j++;let J=[];while(j<U){if(K(),j>=U)break;if(z.charCodeAt(j)===B){j++;break}if(z.charCodeAt(j)===k){j++;continue}let Y=!1;if(G("export"))Y=!0,j+=6,K();if(G("declare"))j+=7,K();let Z=Y?"export ":"";if(G("function")||G("async")&&NJ("async","function")){let $=!1;if(G("async"))$=!0,j+=5,K();if(j+=8,K(),j<U&&z.charCodeAt(j)===r)j++,K();let Q=a();K();let O=Uj();K();let q=Gj();K();let F=Ij();if(!F)F=$?"Promise<void>":"void";if(K(),j<U&&z.charCodeAt(j)===y)jj(y,B);else if(j<U&&z.charCodeAt(j)===k)j++;let g=Dj(q);J.push(`${X}${Z}function ${Q}${O}${g}: ${F};`)}else if(G("const")||G("let")||G("var")){let $=G("const")?"const":G("let")?"let":"var";j+=$.length,K();let V=a();if(!V){h();continue}K();let Q="";if(j<U&&z.charCodeAt(j)===Vj){j++,K();let q=j,F=0;while(j<U){if(i())continue;let g=z.charCodeAt(j);if(g===u||g===y||g===x||g===m)F++;else if(g===l||g===B||g===n||g===A&&!Xj())F--;else if(F===0&&(g===k||g===qj))break;else if(F===0&&g===d&&!uj())break;if(F===0&&wj())break;j++}Q=E(q,j)}let O="";if(j<U&&z.charCodeAt(j)===d){j++,K();let q=j,F=0;while(j<U){if(i())continue;let g=z.charCodeAt(j);if(g===u||g===y||g===x||g===m)F++;else if(g===l||g===B||g===n||g===A&&!Xj())F--;else if(F===0&&(g===k||g===qj))break;if(F===0&&wj())break;j++}O=E(q,j)}if(j<U&&z.charCodeAt(j)===k)j++;if(!Q&&O){let q=xj(O);if(q)Q=q;else if($==="const")Q=Ej(O);else Q=Sj(O)}if(!Q)Q="unknown";J.push(`${X}${Z}${$} ${V}: ${Q};`)}else if(G("interface")){j+=9,K();let $=a();K();let V=Uj();K();let Q="";if(G("extends")){j+=7,K();let q=j,F=0;while(j<U){if(i())continue;let g=z.charCodeAt(j);if(g===m)F++;else if(g===A&&!Xj())F--;else if(g===y&&F===0)break;j++}Q=E(q,j)}let O=ij(Rj());J.push(`${X}${Z}interface ${$}${V}${Q?` extends ${Q}`:""} ${O}`)}else if(G("type")){j+=4,K();let $=a();K();let V=Uj();if(K(),j<U&&z.charCodeAt(j)===d){j++,K();let Q=j,O=0;while(j<U){if(i())continue;let F=z.charCodeAt(j);if(F===u||F===y||F===x||F===m)O++;else if(F===l||F===B||F===n||F===A&&!Xj())O--;else if(O===0&&F===k)break;if(O===0&&wj())break;j++}let q=E(Q,j);if(j<U&&z.charCodeAt(j)===k)j++;J.push(`${X}${Z}type ${$}${V} = ${q}`)}}else if(G("class")){j+=5,K();let $=a();K();let V=Uj();K();let Q=j,O=0;while(j<U){if(i())continue;let D=z.charCodeAt(j);if(D===m)O++;else if(D===A&&!Xj())O--;else if(D===y&&O===0)break;j++}let q=E(Q,j),F=q?` ${q}`:"",g=_j();J.push(`${X}${Z}class ${$}${V}${F} ${g}`)}else if(G("enum")){j+=4,K();let $=a();K();let V=Rj();J.push(`${X}${Z}enum ${$} ${V}`)}else if(G("namespace")||G("module")){let $=G("namespace")?"namespace":"module";j+=$.length,K();let V=a();K();let Q=mj(X);J.push(`${X}${Z}${$} ${V} ${Q}`)}else if(G("abstract"))if(j+=8,K(),G("class")){j+=5,K();let $=a();K();let V=Uj();K();let Q=j,O=0;while(j<U){if(i())continue;let D=z.charCodeAt(j);if(D===m)O++;else if(D===A&&!Xj())O--;else if(D===y&&O===0)break;j++}let q=E(Q,j),F=q?` ${q}`:"",g=_j();J.push(`${X}${Z}abstract class ${$}${V}${F} ${g}`)}else h();else if(Y&&G("default")){j+=7,K();let $=j;h();let V=E($,j);if(V.charCodeAt(V.length-1)===k)V=V.slice(0,-1);if(V)J.push(`${X}export default ${V};`)}else if(!Y&&(z.charCodeAt(j)===H||z.charCodeAt(j)===_||z.charCodeAt(j)===e))h();else h()}if(J.length===0)return"{}";return`{
${J.join(`
`)}
}`}function NJ(X,J){let Y=j+X.length;while(Y<U&&o(z.charCodeAt(Y)))Y++;for(let Z=0;Z<J.length;Z++)if(Y+Z>=U||z.charCodeAt(Y+Z)!==J.charCodeAt(Z))return!1;return Y+J.length>=U||!Yj(z.charCodeAt(Y+J.length))}function Nj(X,J,Y){j+=Y.length,K();let Z="",$=z.charCodeAt(j);if($===H||$===_){let F=j;Qj($),Z=z.slice(F,j)}else{Z=a();while(j<U&&z.charCodeAt(j)===gj)j++,Z+=`.${a()}`}K();let V=j<U&&z.charCodeAt(j)===y?mj():"{}",Q=`${J?"export ":""}declare ${Y} ${Z} ${V}`,O=zj(X),q=Z.startsWith("'")||Z.startsWith('"');return{kind:"module",name:Z,text:Q,isExported:J,source:q?Z.slice(1,-1):void 0,leadingComments:O,start:X,end:j}}function JJ(X,J){h();let Y=E(J,j);if(Y.charCodeAt(Y.length-1)===k)Y=Y.slice(0,-1).trimEnd();if(!Y)return;let Z=Pj(Y.charCodeAt(0));for(let F=1;Z&&F<Y.length;F++)Z=Yj(Y.charCodeAt(F));let $=zj(X);if(Z){P.push({kind:"export",name:"default",text:`export default ${Y};`,isExported:!0,isTypeOnly:!1,leadingComments:$,start:X,end:j});return}let V="__dtsx_default_export__",Q=1;while(z.includes(V))V=`__dtsx_default_export_${Q++}__`;let O=$J(Y,!1),q=O==="unknown"&&IJ(Y)?`typeof ${Y}`:O;P.push({kind:"variable",name:V,text:`declare const ${V}: ${q};`,isExported:!1,typeAnnotation:q,modifiers:["const"],start:X,end:j}),P.push({kind:"export",name:"default",text:`export default ${V};`,isExported:!0,isTypeOnly:!1,leadingComments:$,start:X,end:j})}while(j<U){if(K(),j>=U)break;let X=j,J=z.charCodeAt(j);if(J===105&&G("import"))P.push(KJ(X));else if(J===101&&G("export")){j+=6,K();let Y=z.charCodeAt(j);if(Y===100&&G("default")){j+=7,K();let Z=j,$=z.charCodeAt(j);if($===102&&G("function")){let V=Kj(X,!0,!1,!0);if(V)P.push(V)}else if($===97&&G("async")&&tj("async")!==k)if(j+=5,K(),G("function")){let V=Kj(X,!0,!0,!0);if(V)P.push(V)}else JJ(X,Z);else if($===99&&G("class")){let V=bj(X,!0,!1,!0);P.push(V)}else if($===97&&G("abstract")){if(j+=8,K(),G("class")){let V=bj(X,!0,!0,!0);P.push(V)}}else JJ(X,Z)}else if(Y===116&&G("type")){let Z=j;if(j+=4,K(),j<U&&z.charCodeAt(j)===y){aj();let $=E(X,j),V=zj(X);P.push({kind:"export",name:"",text:$,isExported:!0,isTypeOnly:!0,source:kj($),leadingComments:V,start:X,end:j})}else if(j<U&&z.charCodeAt(j)===r){nj();let $=E(X,j);P.push({kind:"export",name:"",text:$,isExported:!0,isTypeOnly:!0,source:kj($),start:X,end:j})}else{j=Z;let $=Aj(X,!0);P.push($)}}else if(Y===105&&G("interface")){let Z=Hj(X,!0);P.push(Z)}else if(Y===102&&G("function")){let Z=Kj(X,!0,!1,!1);if(Z)P.push(Z)}else if(Y===97&&G("async"))if(j+=5,K(),G("function")){let Z=Kj(X,!0,!0,!1);if(Z)P.push(Z)}else h();else if(Y===99)if(G("class")){let Z=bj(X,!0,!1);P.push(Z)}else if(G("const")){let Z=j;if(j+=5,K(),G("enum")){j=Z+5,K();let $=vj(X,!0,!0);P.push($)}else{j=Z;let $=Mj(X,"const",!0);for(let V=0;V<$.length;V++)P.push($[V])}}else h();else if(Y===97&&G("abstract")){if(j+=8,K(),G("class")){let Z=bj(X,!0,!0);P.push(Z)}}else if(Y===108&&G("let")){let Z=Mj(X,"let",!0);for(let $=0;$<Z.length;$++)P.push(Z[$])}else if(Y===118&&G("var")){let Z=Mj(X,"var",!0);for(let $=0;$<Z.length;$++)P.push(Z[$])}else if(Y===101&&G("enum")){let Z=vj(X,!0,!1);P.push(Z)}else if(Y===100&&G("declare"))j+=7,K(),XJ(X,!0);else if(Y===110&&G("namespace")&&Bj(9)){let Z=Nj(X,!0,"namespace");P.push(Z)}else if(Y===109&&G("module")&&Bj(6)){let Z=Nj(X,!0,"module");P.push(Z)}else if(Y===y){aj();let Z=E(X,j),$=Z.includes("export type"),V=zj(X);P.push({kind:"export",name:"",text:Z,isExported:!0,isTypeOnly:$,source:kj(Z),leadingComments:V,start:X,end:j})}else if(Y===r){nj();let Z=E(X,j),$=zj(X);P.push({kind:"export",name:"",text:Z,isExported:!0,isTypeOnly:!1,source:kj(Z),leadingComments:$,start:X,end:j})}else{h();let Z=E(X,j);if(Z)P.push({kind:"export",name:"",text:Z,isExported:!0,start:X,end:j})}}else if(J===100&&G("declare"))j+=7,K(),XJ(X,!1);else if(J===105&&G("interface")){let Y=Hj(X,!1);L.set(Y.name,Y)}else if(J===116&&G("type")){let Y=Aj(X,!1);L.set(Y.name,Y),P.push(Y)}else if(J===102&&G("function")){let Y=Kj(X,!1,!1,!1);if(Y)L.set(Y.name,Y);else h()}else if(J===97)if(G("async")){let Y=j;if(j+=5,K(),G("function")){let Z=Kj(X,!1,!0,!1);if(Z)L.set(Z.name,Z);else j=Y,h()}else j=Y,h()}else if(G("abstract"))if(j+=8,K(),G("class")){let Y=bj(X,!1,!1);L.set(Y.name,Y),P.push(Y)}else h();else j++,h();else if(J===99)if(G("class")){let Y=bj(X,!1,!1);L.set(Y.name,Y),P.push(Y)}else if(G("const")){let Y=j;if(j+=5,K(),G("enum")){j=Y+5,K();let Z=vj(X,!1,!0);L.set(Z.name,Z),P.push(Z)}else{j=Y;let Z=Mj(X,"const",!1);for(let $=0;$<Z.length;$++)L.set(Z[$].name,Z[$])}}else j++,h();else if(J===101&&G("enum")){let Y=vj(X,!1,!1);L.set(Y.name,Y),P.push(Y)}else if(J===108&&G("let"))h();else if(J===118&&G("var"))h();else if(J===109&&G("module")&&Bj(6)){let Y=Nj(X,!1,"module");P.push(Y)}else if(J===110&&G("namespace")&&Bj(9)){let Y=Nj(X,!1,"namespace");P.push(Y)}else{let Y=z.charCodeAt(j);if(Y===H||Y===_){if(Qj(Y),j<U&&z.charCodeAt(j)===k)j++}else if(Y===e){if(yj(),j<U&&z.charCodeAt(j)===k)j++}else if(Y===yJ){if(j++,a(),K(),j<U&&z.charCodeAt(j)===gj)j++,a(),K();if(j<U&&z.charCodeAt(j)===u)jj(u,l)}else j++,h()}}if(L.size>0)LJ(P,L);if(Jj.size>0){let X=new Map;for(let Y of P)if(Y.kind==="function")X.set(Y.name,(X.get(Y.name)||0)+1);let J=new Set;for(let[Y,Z]of X)if(Z>1)J.add(Y);if(J.size>0){let Y=new Set;for(let Z of J)for(let $=P.length-1;$>=0;$--)if(P[$].kind==="function"&&P[$].name===Z&&Jj.has($)){Y.add($);break}if(Y.size>0){let Z=[...Y].sort(($,V)=>V-$);for(let $ of Z)P.splice($,1)}}}return P;function XJ(X,J){if(G("function")){let Y=Kj(X,J,!1,!1);if(Y)P.push(Y)}else if(G("async")){if(j+=5,K(),G("function")){let Y=Kj(X,J,!0,!1);if(Y)P.push(Y)}}else if(G("class")){let Y=bj(X,J,!1);P.push(Y)}else if(G("abstract")){if(j+=8,K(),G("class")){let Y=bj(X,J,!0);P.push(Y)}}else if(G("interface")){let Y=Hj(X,J);P.push(Y)}else if(G("type")){let Y=Aj(X,J);P.push(Y)}else if(G("enum")){let Y=vj(X,J,!1);P.push(Y)}else if(G("const")){let Y=j;if(j+=5,K(),G("enum")){j=Y+5,K();let Z=vj(X,J,!0);P.push(Z)}else if(J){j=Y;let Z=Mj(X,"const",!0);for(let $=0;$<Z.length;$++)P.push(Z[$])}else h()}else if(G("let")||G("var"))if(J){let Y=G("let")?"let":"var",Z=Mj(X,Y,!0);for(let $=0;$<Z.length;$++)P.push(Z[$])}else h();else if(G("module")){let Y=Nj(X,J,"module");P.push(Y)}else if(G("namespace")){let Y=Nj(X,J,"namespace");P.push(Y)}else if(G("global")){j+=6,K();let Z=`declare global ${j<U&&z.charCodeAt(j)===y?mj():"{}"}`,$=zj(X);P.push({kind:"module",name:"global",text:Z,isExported:!1,leadingComments:$,start:X,end:j})}else h()}}function YJ(v,c){let I=0,S=v.length;while(I<S){let z=v.charCodeAt(I);if(z>=65&&z<=90||z>=97&&z<=122||z===95||z===36||z>127){let Zj=I;I++;while(I<S){let W=v.charCodeAt(I);if(W>=65&&W<=90||W>=97&&W<=122||W>=48&&W<=57||W===95||W===36||W>127)I++;else break}c.add(v.substring(Zj,I))}else I++}}function ZJ(v,c){let I=0;while(I<v.length){let S=v.charCodeAt(I);if(S===H||S===_||S===e){let Jj=S;I++;while(I<v.length)if(v.charCodeAt(I)===Fj)I+=2;else if(v.charCodeAt(I++)===Jj)break;continue}if(S===T&&v.charCodeAt(I+1)===T){I+=2;while(I<v.length&&v.charCodeAt(I)!==C&&v.charCodeAt(I)!==p)I++;continue}if(S===T&&v.charCodeAt(I+1)===r){let Jj=v.indexOf("*/",I+2);I=Jj===-1?v.length:Jj+2;continue}if(!Pj(S)){I++;continue}let z=I++;while(I<v.length&&Yj(v.charCodeAt(I)))I++;let Zj=z-1,W=I;while(Zj>=0&&o(v.charCodeAt(Zj)))Zj--;while(W<v.length&&o(v.charCodeAt(W)))W++;let U=Zj>=0?v.charCodeAt(Zj):0,P=W<v.length?v.charCodeAt(W):0,L=z>=3&&v.slice(z-3,z)==="...";if(P===Vj||U===gj&&!L)continue;if(P===u&&(U===y||U===qj))continue;c.add(v.slice(z,I))}}function LJ(v,c){let I=new Set,S=new Set;for(let W of v)S.add(W.name);let z=new Set,Zj=[];for(let W=0;W<v.length;W++){let U=v[W];if(U.kind!=="import"){if(Zj.push(U.text),YJ(U.text,z),typeof U.value==="string")ZJ(U.value,z)}}for(;;){let W=[];for(let[L,Jj]of c){if(I.has(L))continue;if(z.has(L)){if(!S.has(L))W.push(Jj),S.add(L);I.add(L)}}if(W.length===0)break;W.sort((L,Jj)=>(L.start??1/0)-(Jj.start??1/0));let U=[],P=0;for(let L=0;L<v.length;L++){let Jj=v[L].start??1/0;while(P<W.length&&(W[P].start??1/0)<=Jj)U.push(W[P++]);U.push(v[L])}while(P<W.length)U.push(W[P++]);v.length=0;for(let L=0;L<U.length;L++)v.push(U[L]);for(let L of W)if(L.kind!=="import"){if(Zj.push(L.text),YJ(L.text,z),typeof L.value==="string")ZJ(L.value,z)}}}
export{uJ as Xe,kJ as Ye,WJ as Ze};