oxc-codegen 0.147.0 → 0.149.0

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,81 +1,81 @@
1
- const e=Uint8Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,e=>e.charCodeAt(0)),t=/\r\n|[\r\n\u2028\u2029]/g,n=new TextDecoder,r=(e,t)=>{let{output:r,mapPositions:d,mapNames:f,sourceText:p}=e,m=d.length>>1;if(m===0)return{version:3,mappings:``,names:[],sources:[t.sourceFilename??``],sourcesContent:[p]};let h=new Uint8Array(Math.max(64,m*6)),g=0,_=[],ee,v=0,y=f[0]??1/0,b,x=0,S=0,C=0,w=0,T=0,E=m>=64&&r.length<=m*256&&!l(r),D=m>=64&&p.length<=m*256&&d[d.length-1]*2>=p.length,te=D&&u(p),ne=c(r,0,E),O=D?c(p,0,te):1/0,re=!1,k=0,A=0,ie=0,ae=0;for(let e=0,t=0;e<m;e++,t+=2){let n=d[t];for(;n>=ne;)T=ne,ne=c(r,T,E),k=0,re=!1,g===h.length&&(h=s(h,g)),h[g++]=59;let l=n-T,u=d[t+1];if(u>0){let e=p.charCodeAt(u);e>=56320&&e<=57343&&p.charCodeAt(u-1)>=55296&&p.charCodeAt(u-1)<=56319&&u--}let m,j;if(b===void 0){if(u>=x){if(D){for(;u>=O;)C=O,O=c(p,C,te),S++;x=u}else for(;x<u;){let e=p.charCodeAt(x);if(e===13&&p.charCodeAt(x+1)===10){if(x+1===u)break;x+=2,S++,C=x}else e===10||e===13||e===8232||e===8233?(x++,S++,C=x):x++}}else if(u>=C||x-u<=4096&&w+x-u<=Math.max(16384,p.length)){if(u<C){for(w+=x-u;u<C;){let e=C-1;for(p.charCodeAt(e)===10&&p.charCodeAt(e-1)===13?e-=2:e--;e>=0;){let t=p.charCodeAt(e);if(t===10||t===13||t===8232||t===8233)break;e--}C=e+1,S--}x=u,D&&(O=c(p,C,te))}}else b=i(p),S=a(b,u,A),C=b[S],x=u;m=S,j=u-C}else m=a(b,u,A),j=u-b[m];if(g+64>h.length&&(h=s(h,g)),re&&(h[g++]=44),g=o(h,g,l-k),h[g++]=65,g=o(h,g,m-A),g=o(h,g,j-ie),e===y){ee??=new Map;let e=f[v+1],t=ee.get(e);t===void 0&&(t=_.length,_.push(e),ee.set(e,t)),g=o(h,g,t-ae),ae=t,v+=2,y=f[v]??1/0}re=!0,k=l,A=m,ie=j}return{version:3,mappings:n.decode(h.subarray(0,g)),names:_,sources:[t.sourceFilename??``],sourcesContent:[p]}},i=e=>{let t=[0];for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);(r===10||r===13||r===8232||r===8233)&&(r===13&&e.charCodeAt(n+1)===10&&n++,t.push(n+1))}return t},a=(e,t,n)=>{if(t>=e[n]){let r=Math.min(n+16+1,e.length);for(let i=n+1;i<r;i++)if(e[i]>t)return i-1;if(r===e.length)return e.length-1}else{let r=Math.max(n-16,0);for(let i=n-1;i>=r;i--)if(e[i]<=t)return i}let r=0,i=e.length;for(;r<i;){let n=r+i>>1;e[n]<=t?r=n+1:i=n}return r-1},o=(t,n,r)=>{let i=r<0?-r*2+1:r*2;if(i<=2147483647){do{let r=i&31;i>>>=5,i>0&&(r|=32),t[n++]=e[r]}while(i>0);return n}do{let r=i%32;i=Math.floor(i/32),i>0&&(r+=32),t[n++]=e[r]}while(i>0);return n},s=(e,t)=>{let n=new Uint8Array(e.length*2);return n.set(e.subarray(0,t)),n},c=(e,n,r)=>{if(r){let t=e.indexOf(`
2
- `,n);return t===-1?1/0:t+1}t.lastIndex=n;let i=t.exec(e);return i===null?1/0:i.index+i[0].length},l=e=>e.indexOf(`\r`)!==-1||e.indexOf(`\u2028`)!==-1||e.indexOf(`\u2029`)!==-1,u=e=>{if(e.indexOf(`\u2028`)!==-1||e.indexOf(`\u2029`)!==-1)return!1;let t=e.indexOf(`\r`);for(;t!==-1;){if(e.charCodeAt(t+1)!==10)return!1;t=e.indexOf(`\r`,t+1)}return!0},d=(e,t,n)=>{e.last=n,e.output+=t},f=(e,t)=>{e.last=0,e.output+=t},p=(e,t,n,r,i)=>{b(e,r,i),e.last=n,e.output+=t},m=(e,t,n,r)=>{w(e,t,!1,0,n,r),e.last=0,e.output+=t},h=(e,t,n,r)=>{w(e,t,!1,1,n,r),e.last=0,e.output+=`#`,e.output+=t},g=(e,t)=>{e.output+=t},_=(e,t,n,r)=>{b(e,n,r),e.output+=t},ee=(e,t,n,r)=>{w(e,t,!1,0,n,r),e.output+=t},v=(e,t,n,r)=>{w(e,t,!0,0,n,r),e.output+=t},y=(e,t,n,r,i)=>{C(e,r,i),e.last=n,e.output+=t},b=(e,t,n)=>{T(t,n)&&E(e,t)},x=(e,t,n)=>{T(t,n)&&E(e,n)},S=(e,t,n,r)=>{T(n,r)&&E(e,n+t)},C=(e,t,n)=>{T(t,n)&&E(e,n-1)},w=(e,t,n,r,i,a)=>{if(!T(i,a))return;let{sourceText:o}=e;if(i>o.length)return;let{mapPositions:s}=e;if(s[s.length-1]===i)return;let c=i+r,l=c+t.length;if(!(a<=o.length&&l<=a&&(r===0||o.charCodeAt(i)===35)&&o.startsWith(t,c)&&(l===a||A(o.charCodeAt(l))))){let c=n?ne(o,i,a):te(o,i,a);(c===void 0||!D(c,t,r))&&e.mapNames.push(s.length>>1,c===void 0?t:c)}s.push(e.output.length,i)},T=(e,t)=>typeof e==`number`&&typeof t==`number`&&Number.isSafeInteger(e)&&Number.isSafeInteger(t)&&e>=0&&t>e,E=(e,t)=>{if(t>e.sourceText.length)return;let{mapPositions:n}=e;n[n.length-1]!==t&&n.push(e.output.length,t)},D=(e,t,n)=>n===0?e===t:e.length===t.length+1&&e.charCodeAt(0)===35&&e.endsWith(t),te=(e,t,n)=>{if(n>e.length)return;let r=t;r<n&&e.charCodeAt(r)===35&&r++;let i=r;for(;r<n;){let t=r===i?ae:ie;if(e.charCodeAt(r)===92){let i=O(e,r,n);if(i===0)break;let a=re(e,r,i);if(a>1114111||!t.test(String.fromCodePoint(a)))break;r+=i;continue}let a=e.codePointAt(r),o=String.fromCodePoint(a);if(!t.test(o))break;r+=o.length}return r===i?void 0:e.slice(t,r)},ne=(e,t,n)=>{if(n>e.length)return;let r=e.slice(t,n);return j.test(r)?r:void 0},O=(e,t,n)=>{if(e.charCodeAt(t+1)!==117)return 0;let r=t+2;if(e.charCodeAt(r)===123){let i=r+1,a=i;for(;i<n&&k(e.charCodeAt(i));)i++;return i>a&&e.charCodeAt(i)===125?i-t+1:0}let i=r+4;if(i>n)return 0;for(let t=r;t<i;t++)if(!k(e.charCodeAt(t)))return 0;return i-t},re=(e,t,n)=>{let r=e.charCodeAt(t+2)===123,i=t+(r?3:2),a=t+n-+!!r;return Number.parseInt(e.slice(i,a),16)},k=e=>e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102,A=e=>e<=127&&!(e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122)&&e!==36&&e!==45&&e!==92&&e!==95,ie=/[\p{ID_Continue}$\u200C\u200D]/u,ae=/[\p{ID_Start}$_]/u,j=/^[\p{ID_Start}$_](?:[\p{ID_Continue}$-]|\u200C|\u200D)*$/u,oe={__proto__:null,"**":17,"*":16,"/":16,"%":16,"+":15,"-":15,"<<":14,">>":14,">>>":14,"<":13,">":13,"<=":13,">=":13,instanceof:13,in:13,"==":12,"!=":12,"===":12,"!==":12,"&":11,"^":10,"|":9,"&&":8,"||":7,"??":6},se={__proto__:null,"**":` ** `,"*":` * `,"/":` / `,"%":` % `,"+":` + `,"-":` - `,"<<":` << `,">>":` >> `,">>>":` >>> `,"<":` < `,">":` > `,"<=":` <= `,">=":` >= `,instanceof:` instanceof `,in:` in `,"==":` == `,"!=":` != `,"===":` === `,"!==":` !== `,"&":` & `,"^":` ^ `,"|":` | `,"&&":` && `,"||":` || `,"??":` ?? `},ce={__proto__:null,"=":` = `,"+=":` += `,"-=":` -= `,"*=":` *= `,"/=":` /= `,"%=":` %= `,"**=":` **= `,"<<=":` <<= `,">>=":` >>= `,">>>=":` >>>= `,"&=":` &= `,"^=":` ^= `,"|=":` |= `,"&&=":` &&= `,"||=":` ||= `,"??=":` ??= `},le=e=>{switch(e){case`+`:return 12;case`-`:return 14;case`!`:return 10;default:return 3}},ue=e=>e===`++`?13:15,M=e=>{for(;e.type===`ParenthesizedExpression`;)e=e.expression;return e},de=(e,t,n,r)=>{let i={e,precedence:n,ctx:r,leftPrecedence:0,operator:e.operator,wrap:!1,rightPrecedence:0,parent:null};for(;;){fe(i,t);let e=M(i.e.left);if(e.type===`BinaryExpression`||e.type===`LogicalExpression`){if(e.type===`BinaryExpression`&&e.left.type===`PrivateIdentifier`){Tt(e,t,0),me(i,t);break}i={e,precedence:i.leftPrecedence,ctx:i.ctx,leftPrecedence:0,operator:i.operator,wrap:!1,rightPrecedence:0,parent:i}}else{K(i.e.left,t,i.leftPrecedence,i.ctx),me(i,t);break}}for(;(i=i.parent)!==null;)me(i,t)},fe=(e,t)=>{let{e:n}=e,r=n.operator,i=oe[r],a=e.precedence>=i&&(!pe(e.operator)||e.precedence!==oe[e.operator]);e.operator=r,e.wrap=a||r===`in`&&!!(e.ctx&1),e.wrap&&(d(t,`(`,3),e.ctx&=-2);let o=i-1;if(e.leftPrecedence=o,e.rightPrecedence=o,i===17?e.leftPrecedence=i:e.rightPrecedence=i,r===`??`){let t=M(n.left);t.type===`LogicalExpression`&&t.operator!==`??`&&(e.leftPrecedence=18);let r=M(n.right);r.type===`LogicalExpression`&&r.operator!==`??`&&(e.rightPrecedence=18)}else if(r===`**`){let t=M(n.left);(t.type===`UnaryExpression`||t.type===`AwaitExpression`||t.type===`TSTypeAssertion`||t.type===`Literal`&&(typeof t.value==`number`||t.bigint!=null))&&(e.leftPrecedence=21)}},pe=e=>e===`&&`||e===`||`||e===`??`,me=(e,t)=>{d(t,se[e.operator],3),K(e.e.right,t,e.rightPrecedence,e.ctx),e.wrap&&d(t,`)`,9)},N=e=>{e.last<=2&&d(e,` `,3)},P=(e,t)=>{let n=e.last;n>=11&&he(e,n,t)},he=(e,t,n)=>{(t===12&&(n===12||n===13)||t===14&&(n===14||n===15)||t===11&&n===15)&&d(e,` `,3)},F=e=>{if(e.pendingIndentAsSpace){d(e,` `,3),e.pendingIndentAsSpace=!1;return}let t=e.indentLevel;if(t>0){let{indents:n}=e;d(e,t<n.length?n[t]:ge(e,t),3)}},ge=(e,t)=>{let{indents:n,indentString:r}=e,{length:i}=n,a=n[i-1];for(;i<=t;i++)a+=r,a.charCodeAt(0),n.push(a);return a},_e=(e,t,n,r)=>{b(e,n,r),Number.isInteger(t)?t<1e3?d(e,String(t),1):ve(e,t):ye(e,t)},ve=(e,t)=>{let n=String(t);if(t>=1e21){if(xe(e,t,n.length-1))return;be(e,n,n.indexOf(`e`));return}let{length:r}=n;if(!xe(e,t,r)){if(n.charCodeAt(r-1)===48){let t=1;for(;n.charCodeAt(r-1-t)===48;)t++;let i=String(t);if(i.length+1<t){g(e,n.slice(0,r-t)),g(e,`e`),f(e,i);return}}d(e,n,1)}},ye=(e,t)=>{let n=String(t);if(n.charCodeAt(0)===48){if(n.charCodeAt(2)===48){let t=3;for(;n.charCodeAt(t)===48;)t++;let r=String(n.length-2);if(r.length+2<t-1){g(e,n.slice(t)),g(e,`e-`),f(e,r);return}}f(e,n.slice(1));return}let r=n.indexOf(`e`);if(r===-1){f(e,n);return}be(e,n,r)},be=(e,t,n)=>{let r=t.charCodeAt(n+1)===43?t.slice(n+2):t.slice(n+1);if(n>1){let i=String(Number(r)-(n-2));if(i.length<=r.length){g(e,t[0]),g(e,t.slice(2,n)),g(e,`e`),f(e,i);return}}g(e,t.slice(0,n+1)),f(e,r)},xe=(e,t,n)=>{if(n<13)return!1;let r=BigInt(t).toString(16);return r.length+2>=n?!1:(g(e,`0x`),f(e,r),!0)},Se=/[\0\x07\b\v\f\n\r\x1B\\"\u2028\u2029\xA0\uD800-\uDFFF]|<\/script/i,I=(e,t,n,r)=>{_(e,`"`,n,r),Se.test(t)?Ce(e,t):g(e,t),d(e,`"`,3)},Ce=(e,t)=>{let n=0,{length:r}=t;for(let i=0;i<r;i++){let a=null,o=t.charCodeAt(i);switch(o){case 0:if(i+1<r){let e=t.charCodeAt(i+1);if(e>=48&&e<=57){a=`\\x00`;break}}a=`\\0`;break;case 7:a=`\\x07`;break;case 8:a=`\\b`;break;case 11:a=`\\v`;break;case 12:a=`\\f`;break;case 10:a=`\\n`;break;case 13:a=`\\r`;break;case 27:a=`\\x1B`;break;case 92:a=`\\\\`;break;case 34:a=`\\"`;break;case 60:if(/^<\/script/i.test(t.slice(i,i+8))){a=`<\\`;break}continue;case 8232:a=`\\u2028`;break;case 8233:a=`\\u2029`;break;case 160:a=`\\xA0`;break;default:if(o>=55296&&o<=57343){if(o<=56319&&i+1<r){let e=t.charCodeAt(i+1);if(e>=56320&&e<=57343){i++;continue}}a=`\\u`+o.toString(16);break}continue}g(e,t.slice(n,i)),g(e,a),n=i+1}g(e,t.slice(n))},we=e=>e.includes(`</`)?e.replace(/<\/(script)/gi,`<\\/$1`):e,Te=(e,t,n,r)=>{let{value:i}=e;switch(typeof i){case`string`:I(t,i,e.start,e.end);break;case`number`:Ee(e,t,n,r);break;case`boolean`:N(t),p(t,i?`true`:`false`,0,e.start,e.end);break;default:e.regex==null?e.bigint==null?(N(t),p(t,`null`,0,e.start,e.end)):Oe(e,t,n):De(e,t)}},Ee=(e,t,n,r)=>{let{value:i}=e;if(r&4&&e.raw!=null){let{raw:n}=e;p(t,n,n[n.length-1]===`.`?3:0,e.start,e.end);return}if(i>0&&i<1/0)N(t),_e(t,i,e.start,e.end);else if(Number.isNaN(i))N(t),p(t,`NaN`,0,e.start,e.end);else if(Number.isFinite(i))Object.is(i,0)?(N(t),p(t,`0`,1,e.start,e.end)):n>=18?(g(t,`(-`),_e(t,-i,e.start,e.end),d(t,`)`,9)):(P(t,14),g(t,`-`),_e(t,-i,e.start,e.end));else{let r=i<0,a=r&&n>=18;a&&d(t,`(`,3),r?(P(t,14),g(t,`-`)):N(t),p(t,`Infinity`,0,e.start,e.end),a&&d(t,`)`,9)}},De=(e,t)=>{_(t,`/`,e.start,e.end),g(t,e.regex.pattern);let{flags:n}=e.regex;n===``?d(t,`/`,2):(g(t,`/`),f(t,n))},Oe=(e,t,n)=>{N(t);let r=e.bigint;r.startsWith(`-`)&&n>=18?(_(t,`(`,e.start,e.end),g(t,r),d(t,`n)`,9)):(_(t,r,e.start,e.end),f(t,`n`))},ke=(e,t,n,r)=>{let i=n>=13;i&&d(t,`(`,3),K(e.expression,t,17,r),d(t,e.type===`TSAsExpression`?` as `:` satisfies `,3),L(e.typeAnnotation,t),i&&d(t,`)`,9)},L=(e,t)=>{switch(e.type){case`TSTypeReference`:R(e.typeName,t),z(e.typeArguments,t);break;case`TSStringKeyword`:N(t),f(t,`string`);break;case`TSNumberKeyword`:N(t),f(t,`number`);break;case`TSBooleanKeyword`:N(t),f(t,`boolean`);break;case`TSAnyKeyword`:N(t),f(t,`any`);break;case`TSVoidKeyword`:N(t),f(t,`void`);break;case`TSUnknownKeyword`:N(t),f(t,`unknown`);break;case`TSNeverKeyword`:N(t),f(t,`never`);break;case`TSUndefinedKeyword`:N(t),f(t,`undefined`);break;case`TSNullKeyword`:N(t),f(t,`null`);break;case`TSObjectKeyword`:N(t),f(t,`object`);break;case`TSSymbolKeyword`:N(t),f(t,`symbol`);break;case`TSBigIntKeyword`:N(t),f(t,`bigint`);break;case`TSIntrinsicKeyword`:N(t),f(t,`intrinsic`);break;case`TSThisType`:N(t),f(t,`this`);break;case`TSLiteralType`:Ae(e.literal,t);break;case`TSUnionType`:je(e,t);break;case`TSIntersectionType`:Ne(e,t);break;case`TSArrayType`:{let n=Fe(e.elementType);n&&d(t,`(`,3),L(e.elementType,t),n&&g(t,`)`),d(t,`[]`,9);break}case`TSTypeLiteral`:Ie(e,t);break;case`TSFunctionType`:Ve(e,t);break;case`TSConstructorType`:e.abstract&&d(t,`abstract `,3),d(t,`new `,3),H(e.typeParameters,t),st(e.params,t),L(V(e.returnType),t);break;case`TSTupleType`:{d(t,`[`,3);let{elementTypes:n}=e,{length:r}=n;for(let e=0;e<r;e++)e>0&&d(t,`, `,3),He(n[e],t);d(t,`]`,9);break}case`TSConditionalType`:Ue(e,t);break;case`TSInferType`:d(t,`infer `,3),Be(e.typeParameter,t);break;case`TSIndexedAccessType`:{let n=Fe(e.objectType);n&&d(t,`(`,3),L(e.objectType,t),n&&d(t,`)`,9),d(t,`[`,3),L(e.indexType,t),d(t,`]`,9);break}case`TSMappedType`:We(e,t);break;case`TSTypeOperator`:Ge(e,t);break;case`TSTypePredicate`:Ke(e,t);break;case`TSTypeQuery`:d(t,`typeof `,3),qe(e.exprName,t),z(e.typeArguments,t);break;case`TSImportType`:Je(e,t);break;case`TSTemplateLiteralType`:{g(t,"`");let{quasis:n,types:r}=e,{length:i}=n;for(let e=0;e<i;e++)e!==0&&(d(t,"${",3),L(r[e-1],t),g(t,`}`)),g(t,n[e].value.raw);d(t,"`",3);break}case`TSParenthesizedType`:d(t,`(`,3),L(e.typeAnnotation,t),d(t,`)`,9);break;case`TSNamedTupleMember`:He(e,t);break;case`TSQualifiedName`:R(e,t);break;case`TSOptionalType`:case`TSRestType`:He(e,t);break;case`TSJSDocUnknownType`:N(t),f(t,`unknown`);break;case`TSJSDocNullableType`:e.postfix?(L(V(e.typeAnnotation),t),d(t,`?`,5)):(t.last===5&&d(t,` `,3),d(t,`?`,5),L(V(e.typeAnnotation),t));break;case`TSJSDocNonNullableType`:e.postfix?(L(V(e.typeAnnotation),t),d(t,`!`,10)):(d(t,`!`,10),L(V(e.typeAnnotation),t));break;default:throw Error(`Unknown type node: ${e.type}`)}},R=(e,t)=>{e.type===`TSQualifiedName`?(R(e.left,t),d(t,`.`,3),m(t,e.right.name,e.right.start,e.right.end)):e.type===`ThisExpression`?(N(t),p(t,`this`,0,e.start,e.end)):(N(t),m(t,e.name,e.start,e.end))},z=(e,t)=>{if(e==null)return;d(t,`<`,4);let{params:n}=e,{length:r}=n;for(let e=0;e<r;e++)e>0&&d(t,`, `,3),L(n[e],t);d(t,`>`,3)},Ae=(e,t)=>{e.type===`Literal`?Te(e,t,0,4):K(e,t,+(e.type===`UnaryExpression`),4)},je=(e,t)=>{let{types:n}=e,{length:r}=n;for(let e=0;e<r;e++){e>0&&d(t,` | `,3);let r=Me(n[e]);r&&d(t,`(`,3),L(n[e],t),r&&d(t,`)`,9)}},Me=e=>{switch(e.type){case`TSUnionType`:return e.types.length>1;case`TSFunctionType`:case`TSConstructorType`:case`TSConditionalType`:case`TSInferType`:return!0;default:return!1}},Ne=(e,t)=>{let{types:n}=e,{length:r}=n;for(let e=0;e<r;e++){e>0&&d(t,` & `,3);let r=Pe(n[e]);r&&d(t,`(`,3),L(n[e],t),r&&d(t,`)`,9)}},Pe=e=>e.type===`TSIntersectionType`?e.types.length>1:Me(e),Fe=e=>{switch(e.type){case`TSUnionType`:case`TSIntersectionType`:case`TSFunctionType`:case`TSConstructorType`:case`TSConditionalType`:case`TSInferType`:case`TSTypeOperator`:return!0;default:return!1}},Ie=(e,t)=>{let{members:n}=e,{length:r}=n;if(r===0){_(t,`{`,e.start,e.end),y(t,`}`,3,e.start,e.end);return}p(t,`{
3
- `,3,e.start,e.end),t.indentLevel++;for(let e=0;e<r;e++)F(t),Le(n[e],t,4),d(t,`;
4
- `,3);t.indentLevel--,F(t),y(t,`}`,3,e.start,e.end)},Le=(e,t,n)=>{switch(e.type){case`TSPropertySignature`:e.readonly&&d(t,`readonly `,3),e.computed?(d(t,`[`,3),K(e.key,t,1,n),d(t,`]`,9)):Re(e.key,t,n),e.optional&&d(t,`?`,5),e.typeAnnotation!=null&&B(e.typeAnnotation,t);break;case`TSIndexSignature`:ze(e,t);break;case`TSMethodSignature`:e.kind===`get`?d(t,`get `,3):e.kind===`set`&&d(t,`set `,3),e.computed?(d(t,`[`,3),K(e.key,t,1,n),d(t,`]`,9)):Re(e.key,t,n),e.optional&&d(t,`?`,5),H(e.typeParameters,t),W(e.params,t),e.returnType!=null&&B(e.returnType,t);break;case`TSCallSignatureDeclaration`:H(e.typeParameters,t),W(e.params,t),e.returnType!=null&&B(e.returnType,t);break;case`TSConstructSignatureDeclaration`:d(t,`new `,3),H(e.typeParameters,t),W(e.params,t),e.returnType!=null&&B(e.returnType,t);break;default:throw Error(`Unknown signature type: ${e.type}`)}},Re=(e,t,n)=>{switch(e.type){case`Identifier`:N(t),m(t,e.name,e.start,e.end);break;case`PrivateIdentifier`:h(t,e.name,e.start,e.end);break;case`Literal`:typeof e.value==`string`?I(t,e.value,e.start,e.end):Te(e,t,1,n);break;default:K(e,t,1,n)}},B=(e,t)=>{d(t,`: `,3),L(V(e),t)},V=e=>e.type===`TSTypeAnnotation`?e.typeAnnotation:e,ze=(e,t)=>{e.static&&d(t,`static `,3),e.readonly&&d(t,`readonly `,3),d(t,`[`,3);let n=e.parameters[0];f(t,n.name),d(t,`: `,3),L(V(n.typeAnnotation),t),d(t,`]: `,3),L(V(e.typeAnnotation),t)},H=(e,t)=>{if(e==null)return;let{params:n}=e,{length:r}=n,i=r>=2;if(d(t,`<`,4),i){t.indentLevel++;for(let e=0;e<r;e++)d(t,e===0?`
1
+ const e={dummy:0},t=t=>{e.dummy^=t.indexOf(` `)},n=e=>{let{output:n}=e;e.output=``,e.spilledOutputLength+=n.length,t(n);let{outputChunks:r}=e;r===null?e.outputChunks=[n]:r.push(n)},r=Uint8Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,e=>e.charCodeAt(0)),i=/\r\n|[\r\n\u2028\u2029]/g,a=new TextDecoder,o=(e,t,n)=>{let{mapPositions:r,mapPositionsLen:i,mapNames:o,sourceText:m}=e,h=i>>1;if(h===0)return{version:3,mappings:``,names:[],sources:[n.sourceFilename??``],sourcesContent:[m]};let g=new Uint8Array(Math.max(64,h*6)),_=0,v=[],y,b=0,ee=o[0]??1/0,x,S=0,C=0,w=0,te=0,ne=0,T=h>=64&&t.length<=h*256&&!f(t),E=h>=64&&m.length<=h*256&&r[i-1]*2>=m.length,D=E&&p(m),O=d(t,0,T),k=E?d(m,0,D):1/0,A=!1,re=0,j=0,ie=0,ae=0;for(let e=0,n=0;e<h;e++,n+=2){let i=r[n];for(;i>=O;)ne=O,O=d(t,ne,T),re=0,A=!1,_===g.length&&(g=u(g,_)),g[_++]=59;let a=i-ne,f=r[n+1];if(f>0){let e=m.charCodeAt(f);e>=56320&&e<=57343&&m.charCodeAt(f-1)>=55296&&m.charCodeAt(f-1)<=56319&&f--}let p,h;if(x===void 0){if(f>=S){if(E){for(;f>=k;)w=k,k=d(m,w,D),C++;S=f}else for(;S<f;){let e=m.charCodeAt(S);if(e===13&&m.charCodeAt(S+1)===10){if(S+1===f)break;S+=2,C++,w=S}else e===10||e===13||e===8232||e===8233?(S++,C++,w=S):S++}}else if(f>=w||S-f<=4096&&te+S-f<=Math.max(16384,m.length)){if(f<w){for(te+=S-f;f<w;){let e=w-1;for(m.charCodeAt(e)===10&&m.charCodeAt(e-1)===13?e-=2:e--;e>=0;){let t=m.charCodeAt(e);if(t===10||t===13||t===8232||t===8233)break;e--}w=e+1,C--}S=f,E&&(k=d(m,w,D))}}else x=s(m),C=c(x,f,j),w=x[C],S=f;p=C,h=f-w}else p=c(x,f,j),h=f-x[p];if(_+64>g.length&&(g=u(g,_)),A&&(g[_++]=44),_=l(g,_,a-re),g[_++]=65,_=l(g,_,p-j),_=l(g,_,h-ie),e===ee){y??=new Map;let e=o[b+1],t=y.get(e);t===void 0&&(t=v.length,v.push(e),y.set(e,t)),_=l(g,_,t-ae),ae=t,b+=2,ee=o[b]??1/0}A=!0,re=a,j=p,ie=h}return{version:3,mappings:a.decode(g.subarray(0,_)),names:v,sources:[n.sourceFilename??``],sourcesContent:[m]}},s=e=>{let t=[0];for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);(r===10||r===13||r===8232||r===8233)&&(r===13&&e.charCodeAt(n+1)===10&&n++,t.push(n+1))}return t},c=(e,t,n)=>{if(t>=e[n]){let r=Math.min(n+16+1,e.length);for(let i=n+1;i<r;i++)if(e[i]>t)return i-1;if(r===e.length)return e.length-1}else{let r=Math.max(n-16,0);for(let i=n-1;i>=r;i--)if(e[i]<=t)return i}let r=0,i=e.length;for(;r<i;){let n=r+i>>1;e[n]<=t?r=n+1:i=n}return r-1},l=(e,t,n)=>{let i=n<0?-n*2+1:n*2;if(i<=2147483647){do{let n=i&31;i>>>=5,i>0&&(n|=32),e[t++]=r[n]}while(i>0);return t}do{let n=i%32;i=Math.floor(i/32),i>0&&(n+=32),e[t++]=r[n]}while(i>0);return t},u=(e,t)=>{let n=new Uint8Array(e.length*2);return n.set(e.subarray(0,t)),n},d=(e,t,n)=>{if(n){let n=e.indexOf(`
2
+ `,t);return n===-1?1/0:n+1}i.lastIndex=t;let r=i.exec(e);return r===null?1/0:r.index+r[0].length},f=e=>e.indexOf(`\r`)!==-1||e.indexOf(`\u2028`)!==-1||e.indexOf(`\u2029`)!==-1,p=e=>{if(e.indexOf(`\u2028`)!==-1||e.indexOf(`\u2029`)!==-1)return!1;let t=e.indexOf(`\r`);for(;t!==-1;){if(e.charCodeAt(t+1)!==10)return!1;t=e.indexOf(`\r`,t+1)}return!0},m=(e,t,n)=>{e.last=n,e.output+=t},h=(e,t)=>{e.last=0,e.output+=t},g=(e,t,n,r,i)=>{C(e,r,i),e.last=n,e.output+=t},_=(e,t,n,r)=>{T(e,t,!1,0,n,r),e.last=0,e.output+=t},v=(e,t,n,r)=>{T(e,t,!1,1,n,r),e.last=0,e.output+=`#`,e.output+=t},y=(e,t)=>{e.output+=t},b=(e,t,n,r)=>{C(e,n,r),e.output+=t},ee=(e,t,n,r)=>{T(e,t,!1,0,n,r),e.output+=t},x=(e,t,n,r)=>{T(e,t,!0,0,n,r),e.output+=t},S=(e,t,n,r,i)=>{ne(e,r,i),e.last=n,e.output+=t},C=(e,t,n)=>{E(t,n)&&D(e,t)},w=(e,t,n)=>{E(t,n)&&D(e,n)},te=(e,t,n,r)=>{E(n,r)&&D(e,n+t)},ne=(e,t,n)=>{E(t,n)&&D(e,n-1)},T=(e,t,n,r,i,a)=>{if(!E(i,a))return;let{sourceText:o}=e;if(i>o.length)return;let{mapPositions:s}=e,{mapPositionsLen:c}=e;if(s[c-1]===i)return;let l=i+r,u=l+t.length;if(!(a<=o.length&&u<=a&&(r===0||o.charCodeAt(i)===35)&&o.startsWith(t,l)&&(u===a||ae(o.charCodeAt(u))))){let s=n?A(o,i,a):k(o,i,a);(s===void 0||!O(s,t,r))&&e.mapNames.push(c>>1,s===void 0?t:s)}c===s.length&&(s=e.growMapPositions()),s[c]=e.spilledOutputLength+e.output.length,s[c+1]=i,e.mapPositionsLen=c+2},E=(e,t)=>typeof e==`number`&&typeof t==`number`&&Number.isSafeInteger(e)&&Number.isSafeInteger(t)&&e>=0&&t>e,D=(e,t)=>{if(t>e.sourceText.length)return;let{mapPositions:n}=e,{mapPositionsLen:r}=e;n[r-1]!==t&&(r===n.length&&(n=e.growMapPositions()),n[r]=e.spilledOutputLength+e.output.length,n[r+1]=t,e.mapPositionsLen=r+2)},O=(e,t,n)=>n===0?e===t:e.length===t.length+1&&e.charCodeAt(0)===35&&e.endsWith(t),k=(e,t,n)=>{if(n>e.length)return;let r=t;r<n&&e.charCodeAt(r)===35&&r++;let i=r;for(;r<n;){let t=r===i?se:oe;if(e.charCodeAt(r)===92){let i=re(e,r,n);if(i===0)break;let a=j(e,r,i);if(a>1114111||!t.test(String.fromCodePoint(a)))break;r+=i;continue}let a=e.codePointAt(r),o=String.fromCodePoint(a);if(!t.test(o))break;r+=o.length}return r===i?void 0:e.slice(t,r)},A=(e,t,n)=>{if(n>e.length)return;let r=e.slice(t,n);return ce.test(r)?r:void 0},re=(e,t,n)=>{if(e.charCodeAt(t+1)!==117)return 0;let r=t+2;if(e.charCodeAt(r)===123){let i=r+1,a=i;for(;i<n&&ie(e.charCodeAt(i));)i++;return i>a&&e.charCodeAt(i)===125?i-t+1:0}let i=r+4;if(i>n)return 0;for(let t=r;t<i;t++)if(!ie(e.charCodeAt(t)))return 0;return i-t},j=(e,t,n)=>{let r=e.charCodeAt(t+2)===123,i=t+(r?3:2),a=t+n-+!!r;return Number.parseInt(e.slice(i,a),16)},ie=e=>e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102,ae=e=>e<=127&&!(e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122)&&e!==36&&e!==45&&e!==92&&e!==95,oe=/[\p{ID_Continue}$\u200C\u200D]/u,se=/[\p{ID_Start}$_]/u,ce=/^[\p{ID_Start}$_](?:[\p{ID_Continue}$-]|\u200C|\u200D)*$/u,le={__proto__:null,"**":17,"*":16,"/":16,"%":16,"+":15,"-":15,"<<":14,">>":14,">>>":14,"<":13,">":13,"<=":13,">=":13,instanceof:13,in:13,"==":12,"!=":12,"===":12,"!==":12,"&":11,"^":10,"|":9,"&&":8,"||":7,"??":6},ue={__proto__:null,"**":` ** `,"*":` * `,"/":` / `,"%":` % `,"+":` + `,"-":` - `,"<<":` << `,">>":` >> `,">>>":` >>> `,"<":` < `,">":` > `,"<=":` <= `,">=":` >= `,instanceof:` instanceof `,in:` in `,"==":` == `,"!=":` != `,"===":` === `,"!==":` !== `,"&":` & `,"^":` ^ `,"|":` | `,"&&":` && `,"||":` || `,"??":` ?? `},de={__proto__:null,"=":` = `,"+=":` += `,"-=":` -= `,"*=":` *= `,"/=":` /= `,"%=":` %= `,"**=":` **= `,"<<=":` <<= `,">>=":` >>= `,">>>=":` >>>= `,"&=":` &= `,"^=":` ^= `,"|=":` |= `,"&&=":` &&= `,"||=":` ||= `,"??=":` ??= `},fe=e=>{switch(e){case`+`:return 12;case`-`:return 14;case`!`:return 10;default:return 3}},pe=e=>e===`++`?13:15,M=e=>{for(;e.type===`ParenthesizedExpression`;)e=e.expression;return e},me=(e,t,n,r)=>{let i={e,precedence:n,ctx:r,leftPrecedence:0,operator:e.operator,wrap:!1,rightPrecedence:0,parent:null};for(;;){he(i,t);let e=M(i.e.left);if(e.type===`BinaryExpression`||e.type===`LogicalExpression`){if(e.type===`BinaryExpression`&&e.left.type===`PrivateIdentifier`){Ot(e,t,0),_e(i,t);break}i={e,precedence:i.leftPrecedence,ctx:i.ctx,leftPrecedence:0,operator:i.operator,wrap:!1,rightPrecedence:0,parent:i}}else{K(i.e.left,t,i.leftPrecedence,i.ctx),_e(i,t);break}}for(;(i=i.parent)!==null;)_e(i,t)},he=(e,t)=>{let{e:n}=e,r=n.operator,i=le[r],a=e.precedence>=i&&(!ge(e.operator)||e.precedence!==le[e.operator]);e.operator=r,e.wrap=a||r===`in`&&!!(e.ctx&1),e.wrap&&(m(t,`(`,3),e.ctx&=-2);let o=i-1;if(e.leftPrecedence=o,e.rightPrecedence=o,i===17?e.leftPrecedence=i:e.rightPrecedence=i,r===`??`){let t=M(n.left);t.type===`LogicalExpression`&&t.operator!==`??`&&(e.leftPrecedence=18);let r=M(n.right);r.type===`LogicalExpression`&&r.operator!==`??`&&(e.rightPrecedence=18)}else if(r===`**`){let t=M(n.left);(t.type===`UnaryExpression`||t.type===`AwaitExpression`||t.type===`TSTypeAssertion`||t.type===`Literal`&&(typeof t.value==`number`||t.bigint!=null))&&(e.leftPrecedence=21)}},ge=e=>e===`&&`||e===`||`||e===`??`,_e=(e,t)=>{m(t,ue[e.operator],3),K(e.e.right,t,e.rightPrecedence,e.ctx),e.wrap&&m(t,`)`,9)},N=e=>{e.last<=2&&m(e,` `,3)},P=(e,t)=>{let n=e.last;n>=11&&ve(e,n,t)},ve=(e,t,n)=>{(t===12&&(n===12||n===13)||t===14&&(n===14||n===15)||t===11&&n===15)&&m(e,` `,3)},F=e=>{if(e.output.length>=16384&&n(e),e.pendingIndentAsSpace){m(e,` `,3),e.pendingIndentAsSpace=!1;return}let t=e.indentLevel;if(t>0){let{indents:n}=e;m(e,t<n.length?n[t]:ye(e,t),3)}},ye=(e,t)=>{let{indents:n,indentString:r}=e,{length:i}=n,a=n[i-1];for(;i<=t;i++)a=[a,r].join(``),n.push(a);return a},be=(e,t,n,r)=>{C(e,n,r),Number.isInteger(t)?t<1e3?m(e,String(t),1):xe(e,t):Se(e,t)},xe=(e,t)=>{let n=String(t);if(t>=1e21){if(we(e,t,n.length-1))return;Ce(e,n,n.indexOf(`e`));return}let{length:r}=n;if(!we(e,t,r)){if(n.charCodeAt(r-1)===48){let t=1;for(;n.charCodeAt(r-1-t)===48;)t++;let i=String(t);if(i.length+1<t){y(e,n.slice(0,r-t)),y(e,`e`),h(e,i);return}}m(e,n,1)}},Se=(e,t)=>{let n=String(t);if(n.charCodeAt(0)===48){if(n.charCodeAt(2)===48){let t=3;for(;n.charCodeAt(t)===48;)t++;let r=String(n.length-2);if(r.length+2<t-1){y(e,n.slice(t)),y(e,`e-`),h(e,r);return}}h(e,n.slice(1));return}let r=n.indexOf(`e`);if(r===-1){h(e,n);return}Ce(e,n,r)},Ce=(e,t,n)=>{let r=t.charCodeAt(n+1)===43?t.slice(n+2):t.slice(n+1);if(n>1){let i=String(Number(r)-(n-2));if(i.length<=r.length){y(e,t[0]),y(e,t.slice(2,n)),y(e,`e`),h(e,i);return}}y(e,t.slice(0,n+1)),h(e,r)},we=(e,t,n)=>{if(n<13)return!1;let r=BigInt(t).toString(16);return r.length+2>=n?!1:(y(e,`0x`),h(e,r),!0)},Te=/[\0\x07\b\v\f\n\r\x1B\\"\u2028\u2029\xA0\uD800-\uDFFF]|<\/script/i,I=(e,t,n,r)=>{b(e,`"`,n,r),Te.test(t)?Ee(e,t):y(e,t),m(e,`"`,3)},Ee=(e,t)=>{let n=0,{length:r}=t;for(let i=0;i<r;i++){let a=null,o=t.charCodeAt(i);switch(o){case 0:if(i+1<r){let e=t.charCodeAt(i+1);if(e>=48&&e<=57){a=`\\x00`;break}}a=`\\0`;break;case 7:a=`\\x07`;break;case 8:a=`\\b`;break;case 11:a=`\\v`;break;case 12:a=`\\f`;break;case 10:a=`\\n`;break;case 13:a=`\\r`;break;case 27:a=`\\x1B`;break;case 92:a=`\\\\`;break;case 34:a=`\\"`;break;case 60:if(/^<\/script/i.test(t.slice(i,i+8))){a=`<\\`;break}continue;case 8232:a=`\\u2028`;break;case 8233:a=`\\u2029`;break;case 160:a=`\\xA0`;break;default:if(o>=55296&&o<=57343){if(o<=56319&&i+1<r){let e=t.charCodeAt(i+1);if(e>=56320&&e<=57343){i++;continue}}a=`\\u`+o.toString(16);break}continue}y(e,t.slice(n,i)),y(e,a),n=i+1}y(e,t.slice(n))},De=e=>e.includes(`</`)?e.replace(/<\/(script)/gi,`<\\/$1`):e,Oe=(e,t,n,r)=>{let{value:i}=e;switch(typeof i){case`string`:I(t,i,e.start,e.end);break;case`number`:ke(e,t,n,r);break;case`boolean`:N(t),g(t,i?`true`:`false`,0,e.start,e.end);break;default:e.regex==null?e.bigint==null?(N(t),g(t,`null`,0,e.start,e.end)):je(e,t,n):Ae(e,t)}},ke=(e,t,n,r)=>{let{value:i}=e;if(r&4&&e.raw!=null){let{raw:n}=e;g(t,n,n[n.length-1]===`.`?3:0,e.start,e.end);return}if(i>0&&i<1/0)N(t),be(t,i,e.start,e.end);else if(Number.isNaN(i))N(t),g(t,`NaN`,0,e.start,e.end);else if(Number.isFinite(i))Object.is(i,0)?(N(t),g(t,`0`,1,e.start,e.end)):n>=18?(y(t,`(-`),be(t,-i,e.start,e.end),m(t,`)`,9)):(P(t,14),y(t,`-`),be(t,-i,e.start,e.end));else{let r=i<0,a=r&&n>=18;a&&m(t,`(`,3),r?(P(t,14),y(t,`-`)):N(t),g(t,`Infinity`,0,e.start,e.end),a&&m(t,`)`,9)}},Ae=(e,t)=>{b(t,`/`,e.start,e.end),y(t,e.regex.pattern);let{flags:n}=e.regex;n===``?m(t,`/`,2):(y(t,`/`),h(t,n))},je=(e,t,n)=>{N(t);let r=e.bigint;r.startsWith(`-`)&&n>=18?(b(t,`(`,e.start,e.end),y(t,r),m(t,`n)`,9)):(b(t,r,e.start,e.end),h(t,`n`))},Me=(e,t,n,r)=>{let i=n>=13;i&&m(t,`(`,3),K(e.expression,t,17,r),m(t,e.type===`TSAsExpression`?` as `:` satisfies `,3),L(e.typeAnnotation,t),i&&m(t,`)`,9)},L=(e,t)=>{switch(e.type){case`TSTypeReference`:R(e.typeName,t),z(e.typeArguments,t);break;case`TSStringKeyword`:N(t),h(t,`string`);break;case`TSNumberKeyword`:N(t),h(t,`number`);break;case`TSBooleanKeyword`:N(t),h(t,`boolean`);break;case`TSAnyKeyword`:N(t),h(t,`any`);break;case`TSVoidKeyword`:N(t),h(t,`void`);break;case`TSUnknownKeyword`:N(t),h(t,`unknown`);break;case`TSNeverKeyword`:N(t),h(t,`never`);break;case`TSUndefinedKeyword`:N(t),h(t,`undefined`);break;case`TSNullKeyword`:N(t),h(t,`null`);break;case`TSObjectKeyword`:N(t),h(t,`object`);break;case`TSSymbolKeyword`:N(t),h(t,`symbol`);break;case`TSBigIntKeyword`:N(t),h(t,`bigint`);break;case`TSIntrinsicKeyword`:N(t),h(t,`intrinsic`);break;case`TSThisType`:N(t),h(t,`this`);break;case`TSLiteralType`:Ne(e.literal,t);break;case`TSUnionType`:Pe(e,t);break;case`TSIntersectionType`:Ie(e,t);break;case`TSArrayType`:{let n=Re(e.elementType);n&&m(t,`(`,3),L(e.elementType,t),n&&y(t,`)`),m(t,`[]`,9);break}case`TSTypeLiteral`:ze(e,t);break;case`TSFunctionType`:We(e,t);break;case`TSConstructorType`:e.abstract&&m(t,`abstract `,3),m(t,`new `,3),H(e.typeParameters,t),ut(e.params,t),L(V(e.returnType),t);break;case`TSTupleType`:{m(t,`[`,3);let{elementTypes:n}=e,{length:r}=n;for(let e=0;e<r;e++)e>0&&m(t,`, `,3),Ge(n[e],t);m(t,`]`,9);break}case`TSConditionalType`:Ke(e,t);break;case`TSInferType`:m(t,`infer `,3),Ue(e.typeParameter,t);break;case`TSIndexedAccessType`:{let n=Re(e.objectType);n&&m(t,`(`,3),L(e.objectType,t),n&&m(t,`)`,9),m(t,`[`,3),L(e.indexType,t),m(t,`]`,9);break}case`TSMappedType`:qe(e,t);break;case`TSTypeOperator`:Je(e,t);break;case`TSTypePredicate`:Ye(e,t);break;case`TSTypeQuery`:m(t,`typeof `,3),Xe(e.exprName,t),z(e.typeArguments,t);break;case`TSImportType`:Ze(e,t);break;case`TSTemplateLiteralType`:{y(t,"`");let{quasis:n,types:r}=e,{length:i}=n;for(let e=0;e<i;e++)e!==0&&(m(t,"${",3),L(r[e-1],t),y(t,`}`)),y(t,n[e].value.raw);m(t,"`",3);break}case`TSParenthesizedType`:m(t,`(`,3),L(e.typeAnnotation,t),m(t,`)`,9);break;case`TSNamedTupleMember`:Ge(e,t);break;case`TSQualifiedName`:R(e,t);break;case`TSOptionalType`:case`TSRestType`:Ge(e,t);break;case`TSJSDocUnknownType`:N(t),h(t,`unknown`);break;case`TSJSDocNullableType`:e.postfix?(L(V(e.typeAnnotation),t),m(t,`?`,5)):(t.last===5&&m(t,` `,3),m(t,`?`,5),L(V(e.typeAnnotation),t));break;case`TSJSDocNonNullableType`:e.postfix?(L(V(e.typeAnnotation),t),m(t,`!`,10)):(m(t,`!`,10),L(V(e.typeAnnotation),t));break;default:throw Error(`Unknown type node: ${e.type}`)}},R=(e,t)=>{e.type===`TSQualifiedName`?(R(e.left,t),m(t,`.`,3),_(t,e.right.name,e.right.start,e.right.end)):e.type===`ThisExpression`?(N(t),g(t,`this`,0,e.start,e.end)):(N(t),_(t,e.name,e.start,e.end))},z=(e,t)=>{if(e==null)return;m(t,`<`,4);let{params:n}=e,{length:r}=n;for(let e=0;e<r;e++)e>0&&m(t,`, `,3),L(n[e],t);m(t,`>`,3)},Ne=(e,t)=>{e.type===`Literal`?Oe(e,t,0,4):K(e,t,+(e.type===`UnaryExpression`),4)},Pe=(e,t)=>{let{types:n}=e,{length:r}=n;for(let e=0;e<r;e++){e>0&&m(t,` | `,3);let r=Fe(n[e]);r&&m(t,`(`,3),L(n[e],t),r&&m(t,`)`,9)}},Fe=e=>{switch(e.type){case`TSUnionType`:return e.types.length>1;case`TSFunctionType`:case`TSConstructorType`:case`TSConditionalType`:case`TSInferType`:return!0;default:return!1}},Ie=(e,t)=>{let{types:n}=e,{length:r}=n;for(let e=0;e<r;e++){e>0&&m(t,` & `,3);let r=Le(n[e]);r&&m(t,`(`,3),L(n[e],t),r&&m(t,`)`,9)}},Le=e=>e.type===`TSIntersectionType`?e.types.length>1:Fe(e),Re=e=>{switch(e.type){case`TSUnionType`:case`TSIntersectionType`:case`TSFunctionType`:case`TSConstructorType`:case`TSConditionalType`:case`TSInferType`:case`TSTypeOperator`:return!0;default:return!1}},ze=(e,t)=>{let{members:n}=e,{length:r}=n;if(r===0){b(t,`{`,e.start,e.end),S(t,`}`,3,e.start,e.end);return}g(t,`{
3
+ `,3,e.start,e.end),t.indentLevel++;for(let e=0;e<r;e++)F(t),Be(n[e],t,4),m(t,`;
4
+ `,3);t.indentLevel--,F(t),S(t,`}`,3,e.start,e.end)},Be=(e,t,n)=>{switch(e.type){case`TSPropertySignature`:e.readonly&&m(t,`readonly `,3),e.computed?(m(t,`[`,3),K(e.key,t,1,n),m(t,`]`,9)):Ve(e.key,t,n),e.optional&&m(t,`?`,5),e.typeAnnotation!=null&&B(e.typeAnnotation,t);break;case`TSIndexSignature`:He(e,t);break;case`TSMethodSignature`:e.kind===`get`?m(t,`get `,3):e.kind===`set`&&m(t,`set `,3),e.computed?(m(t,`[`,3),K(e.key,t,1,n),m(t,`]`,9)):Ve(e.key,t,n),e.optional&&m(t,`?`,5),H(e.typeParameters,t),W(e.params,t),e.returnType!=null&&B(e.returnType,t);break;case`TSCallSignatureDeclaration`:H(e.typeParameters,t),W(e.params,t),e.returnType!=null&&B(e.returnType,t);break;case`TSConstructSignatureDeclaration`:m(t,`new `,3),H(e.typeParameters,t),W(e.params,t),e.returnType!=null&&B(e.returnType,t);break;default:throw Error(`Unknown signature type: ${e.type}`)}},Ve=(e,t,n)=>{switch(e.type){case`Identifier`:N(t),_(t,e.name,e.start,e.end);break;case`PrivateIdentifier`:v(t,e.name,e.start,e.end);break;case`Literal`:typeof e.value==`string`?I(t,e.value,e.start,e.end):Oe(e,t,1,n);break;default:K(e,t,1,n)}},B=(e,t)=>{m(t,`: `,3),L(V(e),t)},V=e=>e.type===`TSTypeAnnotation`?e.typeAnnotation:e,He=(e,t)=>{e.static&&m(t,`static `,3),e.readonly&&m(t,`readonly `,3),m(t,`[`,3);let n=e.parameters[0];h(t,n.name),m(t,`: `,3),L(V(n.typeAnnotation),t),m(t,`]: `,3),L(V(e.typeAnnotation),t)},H=(e,t)=>{if(e==null)return;let{params:n}=e,{length:r}=n,i=r>=2;if(m(t,`<`,4),i){t.indentLevel++;for(let e=0;e<r;e++)m(t,e===0?`
5
5
  `:`,
6
- `,3),F(t),Be(n[e],t);d(t,`
7
- `,3),t.indentLevel--,F(t)}else{for(let e=0;e<r;e++)e>0&&d(t,`, `,3),Be(n[e],t);t.isJsx&&d(t,`,`,3)}d(t,`>`,3)},Be=(e,t)=>{e.const&&g(t,`const `),e.in&&g(t,`in `),e.out&&g(t,`out `),m(t,e.name.name,e.name.start,e.name.end),e.constraint!=null&&(d(t,` extends `,3),L(e.constraint,t)),e.default!=null&&(d(t,` = `,3),L(e.default,t))},Ve=(e,t)=>{H(e.typeParameters,t),st(e.params,t),L(V(e.returnType),t)},He=(e,t)=>{switch(e.type){case`TSOptionalType`:{let n=Fe(e.typeAnnotation);n&&d(t,`(`,3),L(e.typeAnnotation,t),n&&d(t,`)`,9),d(t,`?`,5);break}case`TSRestType`:d(t,`...`,3),L(e.typeAnnotation,t);break;case`TSNamedTupleMember`:m(t,e.label.name,e.label.start,e.label.end),e.optional&&d(t,`?`,5),d(t,`: `,3),L(e.elementType,t);break;default:L(e,t)}},Ue=(e,t)=>{let{checkType:n,extendsType:r}=e,i=n.type===`TSFunctionType`||n.type===`TSConstructorType`||n.type===`TSConditionalType`;i&&d(t,`(`,3),L(n,t),i&&d(t,`)`,9),d(t,` extends `,3);let a=r.type===`TSConditionalType`;a&&d(t,`(`,3),L(r,t),a&&d(t,`)`,9),d(t,` ? `,3),L(e.trueType,t),d(t,` : `,3),L(e.falseType,t)},We=(e,t)=>{g(t,`{ `);let{readonly:n}=e;n===!0?g(t,`readonly `):n===`+`?g(t,`+readonly `):n===`-`&&g(t,`-readonly `),g(t,`[`),ee(t,e.key.name,e.key.start,e.key.end),d(t,` in `,3),L(e.constraint,t),e.nameType!=null&&(d(t,` as `,3),L(e.nameType,t)),g(t,`]`);let{optional:r}=e;r===!0?g(t,`?`):r===`+`?g(t,`+?`):r===`-`&&g(t,`-?`),e.typeAnnotation!=null&&(d(t,`: `,3),L(V(e.typeAnnotation),t)),d(t,` }`,3)},Ge=(e,t)=>{f(t,e.operator),d(t,` `,3);let n=V(e.typeAnnotation),r=n.type,i=r===`TSUnionType`||r===`TSIntersectionType`||r===`TSFunctionType`||r===`TSConstructorType`||r===`TSConditionalType`;i&&d(t,`(`,3),L(n,t),i&&d(t,`)`,9)},Ke=(e,t)=>{e.asserts&&d(t,`asserts `,3);let{parameterName:n}=e;n.type===`TSThisType`?f(t,`this`):(N(t),m(t,n.name,n.start,n.end)),e.typeAnnotation!=null&&(d(t,` is `,3),L(V(e.typeAnnotation),t))},qe=(e,t)=>{e.type===`TSImportType`?Je(e,t):R(e,t)},Je=(e,t)=>{d(t,`import(`,3),I(t,e.source.value,e.source.start,e.source.end),e.options!=null&&(d(t,`, `,3),K(e.options,t,0,4)),d(t,`)`,9),e.qualifier!=null&&(d(t,`.`,3),Ye(e.qualifier,t)),z(e.typeArguments,t)},Ye=(e,t)=>{e.type===`TSQualifiedName`?(Ye(e.left,t),d(t,`.`,3),f(t,e.right.name)):f(t,e.name)},Xe=(e,t,n,r)=>{let i=n>=18;i&&d(t,`(`,3),t.last===4&&d(t,` `,3),d(t,`<`,4),e.typeAnnotation.type===`TSFunctionType`&&d(t,` `,3),L(e.typeAnnotation,t),d(t,`>`,3),K(e.expression,t,17,r),i&&d(t,`)`,9)},Ze=(e,t)=>{e.declare&&d(t,`declare `,3);let{kind:n}=e;if(f(t,n),n!==`global`){d(t,` `,3);let{id:n}=e;n.type===`Literal`?I(t,n.value,n.start,n.end):R(n,t)}let{body:r}=e;if(r==null){d(t,`;`,3);return}d(t,` `,3),Qe(r,t)},Qe=(e,t)=>{let n=e.body;if(n.length===0){_(t,`{`,e.start,e.end),y(t,`}`,3,e.start,e.end);return}p(t,`{
8
- `,3,e.start,e.end),t.indentLevel++,nn(n,t),t.indentLevel--,F(t),y(t,`}`,3,e.start,e.end)},$e=(e,t)=>{N(t),e.declare&&d(t,`declare `,3),d(t,`interface `,3),m(t,e.id.name,e.id.start,e.id.end),H(e.typeParameters,t);let n=e.extends;if(n!=null&&n.length>0){d(t,` extends `,3);let{length:e}=n;for(let r=0;r<e;r++){r>0&&d(t,`, `,3);let e=n[r];K(e.expression,t,21,0),z(e.typeArguments,t)}}d(t,` `,3);let r=e.body.body,{length:i}=r;if(i===0){_(t,`{`,e.body.start,e.body.end),y(t,`}`,3,e.body.start,e.body.end);return}p(t,`{
9
- `,3,e.body.start,e.body.end),t.indentLevel++;for(let e=0;e<i;e++)F(t),Le(r[e],t,0),d(t,`;
10
- `,3);t.indentLevel--,F(t),y(t,`}`,3,e.body.start,e.body.end)},et=(e,t)=>{e.declare&&d(t,`declare `,3),d(t,`type `,3),m(t,e.id.name,e.id.start,e.id.end),H(e.typeParameters,t),d(t,` = `,3);let n=tt(e.typeAnnotation);n&&d(t,`(`,3),L(e.typeAnnotation,t),n&&d(t,`)`,9)},tt=e=>{for(;;)switch(e.type){case`TSTypeReference`:return e.typeArguments==null&&e.typeName.type===`Identifier`&&e.typeName.name===`intrinsic`;case`TSArrayType`:e=e.elementType;break;case`TSIndexedAccessType`:e=e.objectType;break;case`TSUnionType`:case`TSIntersectionType`:if(e.types.length===0)return!1;e=e.types[0];break;case`TSConditionalType`:e=e.checkType;break;default:return!1}},nt=(e,t)=>{N(t),e.declare&&d(t,`declare `,3),e.const&&d(t,`const `,3),d(t,`enum `,3),m(t,e.id.name,e.id.start,e.id.end),d(t,` `,3);let{body:n}=e,{members:r}=n,{length:i}=r;if(i===0){_(t,`{`,n.start,n.end),y(t,`}`,3,n.start,n.end);return}p(t,`{
11
- `,3,n.start,n.end),t.indentLevel++;let a=i-1;for(let e=0;e<i;e++)F(t),rt(r[e],t),d(t,e===a?`
6
+ `,3),F(t),Ue(n[e],t);m(t,`
7
+ `,3),t.indentLevel--,F(t)}else{for(let e=0;e<r;e++)e>0&&m(t,`, `,3),Ue(n[e],t);t.isJsx&&m(t,`,`,3)}m(t,`>`,3)},Ue=(e,t)=>{e.const&&y(t,`const `),e.in&&y(t,`in `),e.out&&y(t,`out `),_(t,e.name.name,e.name.start,e.name.end),e.constraint!=null&&(m(t,` extends `,3),L(e.constraint,t)),e.default!=null&&(m(t,` = `,3),L(e.default,t))},We=(e,t)=>{H(e.typeParameters,t),ut(e.params,t),L(V(e.returnType),t)},Ge=(e,t)=>{switch(e.type){case`TSOptionalType`:{let n=Re(e.typeAnnotation);n&&m(t,`(`,3),L(e.typeAnnotation,t),n&&m(t,`)`,9),m(t,`?`,5);break}case`TSRestType`:m(t,`...`,3),L(e.typeAnnotation,t);break;case`TSNamedTupleMember`:_(t,e.label.name,e.label.start,e.label.end),e.optional&&m(t,`?`,5),m(t,`: `,3),L(e.elementType,t);break;default:L(e,t)}},Ke=(e,t)=>{let{checkType:n,extendsType:r}=e,i=n.type===`TSFunctionType`||n.type===`TSConstructorType`||n.type===`TSConditionalType`;i&&m(t,`(`,3),L(n,t),i&&m(t,`)`,9),m(t,` extends `,3);let a=r.type===`TSConditionalType`;a&&m(t,`(`,3),L(r,t),a&&m(t,`)`,9),m(t,` ? `,3),L(e.trueType,t),m(t,` : `,3),L(e.falseType,t)},qe=(e,t)=>{y(t,`{ `);let{readonly:n}=e;n===!0?y(t,`readonly `):n===`+`?y(t,`+readonly `):n===`-`&&y(t,`-readonly `),y(t,`[`),ee(t,e.key.name,e.key.start,e.key.end),m(t,` in `,3),L(e.constraint,t),e.nameType!=null&&(m(t,` as `,3),L(e.nameType,t)),y(t,`]`);let{optional:r}=e;r===!0?y(t,`?`):r===`+`?y(t,`+?`):r===`-`&&y(t,`-?`),e.typeAnnotation!=null&&(m(t,`: `,3),L(V(e.typeAnnotation),t)),m(t,` }`,3)},Je=(e,t)=>{h(t,e.operator),m(t,` `,3);let n=V(e.typeAnnotation),r=n.type,i=r===`TSUnionType`||r===`TSIntersectionType`||r===`TSFunctionType`||r===`TSConstructorType`||r===`TSConditionalType`;i&&m(t,`(`,3),L(n,t),i&&m(t,`)`,9)},Ye=(e,t)=>{e.asserts&&m(t,`asserts `,3);let{parameterName:n}=e;n.type===`TSThisType`?h(t,`this`):(N(t),_(t,n.name,n.start,n.end)),e.typeAnnotation!=null&&(m(t,` is `,3),L(V(e.typeAnnotation),t))},Xe=(e,t)=>{e.type===`TSImportType`?Ze(e,t):R(e,t)},Ze=(e,t)=>{m(t,`import(`,3),I(t,e.source.value,e.source.start,e.source.end),e.options!=null&&(m(t,`, `,3),K(e.options,t,0,4)),m(t,`)`,9),e.qualifier!=null&&(m(t,`.`,3),Qe(e.qualifier,t)),z(e.typeArguments,t)},Qe=(e,t)=>{e.type===`TSQualifiedName`?(Qe(e.left,t),m(t,`.`,3),h(t,e.right.name)):h(t,e.name)},$e=(e,t,n,r)=>{let i=n>=18;i&&m(t,`(`,3),t.last===4&&m(t,` `,3),m(t,`<`,4),e.typeAnnotation.type===`TSFunctionType`&&m(t,` `,3),L(e.typeAnnotation,t),m(t,`>`,3),K(e.expression,t,17,r),i&&m(t,`)`,9)},et=(e,t)=>{e.declare&&m(t,`declare `,3);let{kind:n}=e;if(h(t,n),n!==`global`){m(t,` `,3);let{id:n}=e;n.type===`Literal`?I(t,n.value,n.start,n.end):R(n,t)}let{body:r}=e;if(r==null){m(t,`;`,3);return}m(t,` `,3),tt(r,t)},tt=(e,t)=>{let n=e.body;if(n.length===0){b(t,`{`,e.start,e.end),S(t,`}`,3,e.start,e.end);return}g(t,`{
8
+ `,3,e.start,e.end),t.indentLevel++,on(n,t),t.indentLevel--,F(t),S(t,`}`,3,e.start,e.end)},nt=(e,t)=>{N(t),e.declare&&m(t,`declare `,3),m(t,`interface `,3),_(t,e.id.name,e.id.start,e.id.end),H(e.typeParameters,t);let n=e.extends;if(n!=null&&n.length>0){m(t,` extends `,3);let{length:e}=n;for(let r=0;r<e;r++){r>0&&m(t,`, `,3);let e=n[r];K(e.expression,t,21,0),z(e.typeArguments,t)}}m(t,` `,3);let r=e.body.body,{length:i}=r;if(i===0){b(t,`{`,e.body.start,e.body.end),S(t,`}`,3,e.body.start,e.body.end);return}g(t,`{
9
+ `,3,e.body.start,e.body.end),t.indentLevel++;for(let e=0;e<i;e++)F(t),Be(r[e],t,0),m(t,`;
10
+ `,3);t.indentLevel--,F(t),S(t,`}`,3,e.body.start,e.body.end)},rt=(e,t)=>{e.declare&&m(t,`declare `,3),m(t,`type `,3),_(t,e.id.name,e.id.start,e.id.end),H(e.typeParameters,t),m(t,` = `,3);let n=it(e.typeAnnotation);n&&m(t,`(`,3),L(e.typeAnnotation,t),n&&m(t,`)`,9)},it=e=>{for(;;)switch(e.type){case`TSTypeReference`:return e.typeArguments==null&&e.typeName.type===`Identifier`&&e.typeName.name===`intrinsic`;case`TSArrayType`:e=e.elementType;break;case`TSIndexedAccessType`:e=e.objectType;break;case`TSUnionType`:case`TSIntersectionType`:if(e.types.length===0)return!1;e=e.types[0];break;case`TSConditionalType`:e=e.checkType;break;default:return!1}},at=(e,t)=>{N(t),e.declare&&m(t,`declare `,3),e.const&&m(t,`const `,3),m(t,`enum `,3),_(t,e.id.name,e.id.start,e.id.end),m(t,` `,3);let{body:n}=e,{members:r}=n,{length:i}=r;if(i===0){b(t,`{`,n.start,n.end),S(t,`}`,3,n.start,n.end);return}g(t,`{
11
+ `,3,n.start,n.end),t.indentLevel++;let a=i-1;for(let e=0;e<i;e++)F(t),ot(r[e],t),m(t,e===a?`
12
12
  `:`,
13
- `,3);t.indentLevel--,F(t),y(t,`}`,3,n.start,n.end)},rt=(e,t)=>{let{id:n}=e;n.type===`Identifier`?(N(t),m(t,n.name,n.start,n.end)):n.type===`Literal`?I(t,n.value,n.start,n.end):(n.type===`TemplateLiteral`?(S(t,1,n.quasis[0].start,n.quasis[0].end),g(t,"[`"),g(t,n.quasis[0].value.raw),d(t,"`",3)):(d(t,`[`,3),K(n,t,1,0)),d(t,`]`,9)),e.initializer!=null&&(d(t,` = `,3),K(e.initializer,t,0,0))},it=(e,t)=>{d(t,`import `,3),e.importKind===`type`&&d(t,`type `,3),m(t,e.id.name,e.id.start,e.id.end),d(t,` = `,3);let n=e.moduleReference;n.type===`TSExternalModuleReference`?(d(t,`require(`,3),I(t,n.expression.value,n.expression.start,n.expression.end),d(t,`)`,9)):R(n,t)},U=(e,t)=>{let n=!1;e.type===`FunctionExpression`&&(n=(t.last|1)==7),n&&d(t,`(`,3),N(t),e.declare?(p(t,`declare `,3,e.start,e.end),f(t,e.async?`async function`:`function`)):p(t,e.async?`async function`:`function`,0,e.start,e.end),e.generator&&d(t,`* `,3);let{id:r}=e;r!=null&&(N(t),m(t,r.name,r.start,r.end)),H(e.typeParameters,t),W(e.params,t),e.returnType!=null&&B(e.returnType,t),e.body==null?d(t,`;`,3):(d(t,` `,3),ot(e.body,t)),n&&d(t,`)`,9)},W=(e,t)=>{if(e.length===0){d(t,`()`,9);return}d(t,`(`,3),at(e,t),d(t,`)`,9)},at=(e,t)=>{let{length:n}=e;for(let r=0;r<n;r++){r>0&&d(t,`, `,3);let n=e[r];if(n.type===`Identifier`&&n.name===`this`){f(t,`this`),n.typeAnnotation!=null&&B(n.typeAnnotation,t);continue}let{decorators:i}=n;i!=null&&i.length>0?G(i,t):b(t,n.start,n.end),n.type===`TSParameterProperty`?(n.accessibility!=null&&(N(t),g(t,n.accessibility),d(t,` `,3)),n.override&&(N(t),d(t,`override `,3)),n.readonly&&(N(t),d(t,`readonly `,3)),q(n.parameter,t)):q(n,t)}},ot=(e,t)=>{let n=e.body;if(n.length===0){_(t,`{`,e.start,e.end),y(t,`}`,3,e.start,e.end);return}p(t,`{
14
- `,3,e.start,e.end),t.indentLevel++,nn(n,t),t.indentLevel--,F(t),y(t,`}`,3,e.start,e.end)},st=(e,t)=>{if(e.length===0){d(t,`() => `,3);return}d(t,`(`,3),at(e,t),d(t,`) => `,3)},ct=(e,t)=>{let n=!1;e.type===`ClassExpression`&&(n=(t.last|1)==7),n&&d(t,`(`,3);let{decorators:r}=e;r!=null&&r.length>0&&G(r,t),N(t);let i=e.declare,a=e.abstract;i&&p(t,`declare `,3,e.start,e.end),a&&(i?d(t,`abstract `,3):p(t,`abstract `,3,e.start,e.end)),i||a?f(t,`class`):p(t,`class`,0,e.start,e.end),e.id!=null&&(d(t,` `,3),m(t,e.id.name,e.id.start,e.id.end)),H(e.typeParameters,t),e.superClass!=null&&(d(t,` extends `,3),K(e.superClass,t,19,0),z(e.superTypeArguments,t));let{implements:o}=e;if(o!=null&&o.length>0){d(t,` implements `,3);let{length:e}=o;for(let n=0;n<e;n++){n>0&&d(t,`, `,3);let e=o[n];K(e.expression,t,21,0),z(e.typeArguments,t)}}d(t,` `,3),ut(e.body,t),n&&d(t,`)`,9)},G=(e,t)=>{let{length:n}=e;for(let r=0;r<n;r++){let n=e[r];p(t,`@`,3,n.start,n.end);let{expression:i}=n,a=lt(i);a&&d(t,`(`,3),K(i,t,0,0),a&&d(t,`)`,9),d(t,` `,3)}},lt=e=>{for(;;)switch(e.type){case`Identifier`:return!1;case`MemberExpression`:return e.computed;case`CallExpression`:e=e.callee;break;default:return!0}},ut=(e,t)=>{let{body:n}=e,{length:r}=n;if(r===0){_(t,`{`,e.start,e.end),y(t,`}`,3,e.start,e.end);return}p(t,`{
15
- `,3,e.start,e.end),t.indentLevel++;for(let e=0;e<r;e++){F(t);let r=n[e];switch(r.type){case`MethodDefinition`:case`TSAbstractMethodDefinition`:dt(r,t),d(t,`
16
- `,3);break;case`PropertyDefinition`:case`TSAbstractPropertyDefinition`:ft(r,t),d(t,`;
17
- `,3);break;case`StaticBlock`:pt(r,t),d(t,`
18
- `,3);break;case`AccessorProperty`:case`TSAbstractAccessorProperty`:mt(r,t),d(t,`;
19
- `,3);break;case`TSIndexSignature`:ze(r,t),d(t,`;
20
- `,3);break;default:throw Error(`Unknown class element type: ${r.type}`)}}t.indentLevel--,F(t),y(t,`}`,3,e.start,e.end)},dt=(e,t)=>{b(t,e.start,e.end);let{decorators:n}=e;n!=null&&n.length>0&&G(n,t),e.accessibility!=null&&(N(t),g(t,e.accessibility),d(t,` `,3)),(e.type===`TSAbstractMethodDefinition`||e.abstract)&&(N(t),d(t,`abstract `,3)),e.static&&(N(t),d(t,`static `,3)),e.override&&(N(t),d(t,`override `,3));let{kind:r}=e;r===`get`?(N(t),d(t,`get `,3)):r===`set`&&(N(t),d(t,`set `,3));let i=e.value;i.async&&(N(t),d(t,`async `,3)),i.generator&&d(t,`*`,3),e.computed?(d(t,`[`,3),K(e.key,t,1,0),d(t,`]`,9)):J(e.key,t),e.optional&&d(t,`?`,5),H(i.typeParameters,t),W(i.params,t),i.returnType!=null&&B(i.returnType,t),i.body==null?d(t,`;`,3):(d(t,` `,3),ot(i.body,t))},ft=(e,t)=>{b(t,e.start,e.end);let{decorators:n}=e;n!=null&&n.length>0&&G(n,t),e.declare&&(N(t),d(t,`declare `,3)),e.accessibility!=null&&(N(t),g(t,e.accessibility),d(t,` `,3)),(e.type===`TSAbstractPropertyDefinition`||e.abstract)&&(N(t),d(t,`abstract `,3)),e.static&&(N(t),d(t,`static `,3)),e.override&&(N(t),d(t,`override `,3)),e.readonly&&(N(t),d(t,`readonly `,3)),e.computed?(d(t,`[`,3),K(e.key,t,1,0),d(t,`]`,9)):J(e.key,t),e.optional&&d(t,`?`,5),e.definite&&d(t,`!`,10),e.typeAnnotation!=null&&B(e.typeAnnotation,t),e.value!=null&&(d(t,` = `,3),K(e.value,t,1,0))},pt=(e,t)=>{N(t),p(t,`static `,3,e.start,e.end);let{body:n}=e,{length:r}=n;if(r===0){_(t,`{`,e.start,e.end),y(t,`}`,3,e.start,e.end);return}p(t,`{
21
- `,3,e.start,e.end),t.indentLevel++;for(let e=0;e<r;e++)X(n[e],t);t.indentLevel--,F(t),y(t,`}`,3,e.start,e.end)},mt=(e,t)=>{b(t,e.start,e.end);let{decorators:n}=e;n!=null&&n.length>0&&G(n,t),(e.type===`TSAbstractAccessorProperty`||e.abstract)&&(N(t),d(t,`abstract `,3)),e.accessibility!=null&&(N(t),g(t,e.accessibility),d(t,` `,3)),e.static&&(N(t),d(t,`static `,3)),e.override&&(N(t),d(t,`override `,3)),N(t),f(t,`accessor`),e.computed?(d(t,` [`,3),K(e.key,t,1,0),d(t,`]`,9)):(d(t,` `,3),J(e.key,t)),e.definite&&d(t,`!`,10),e.typeAnnotation!=null&&B(e.typeAnnotation,t),e.value!=null&&(d(t,` = `,3),K(e.value,t,1,0))},ht=(e,t)=>{let{openingElement:n}=e;_(t,`<`,n.start,n.end),gt(n.name,t),z(n.typeArguments,t);let{attributes:r}=n,{length:i}=r;for(let e=0;e<i;e++){g(t,` `);let n=r[e];n.type===`JSXSpreadAttribute`?(p(t,`{...`,3,n.start,n.end),K(n.argument,t,1,0),y(t,`}`,3,n.start,n.end)):_t(n,t)}let{closingElement:a}=e;if(a==null){d(t,` />`,3);return}g(t,`>`);let{children:o}=e,s=o.length;for(let e=0;e<s;e++)xt(o[e],t);_(t,`</`,a.start,a.end),gt(a.name,t),d(t,`>`,3)},gt=(e,t)=>{switch(e.type){case`JSXIdentifier`:v(t,e.name,e.start,e.end);break;case`JSXMemberExpression`:gt(e.object,t),g(t,`.`),gt(e.property,t);break;case`JSXNamespacedName`:v(t,e.namespace.name,e.namespace.start,e.namespace.end),g(t,`:`),v(t,e.name.name,e.name.start,e.name.end);break;case`ThisExpression`:_(t,`this`,e.start,e.end);break;default:throw Error(`Unknown JSX name type: ${e.type}`)}},_t=(e,t)=>{let{name:n}=e;n.type===`JSXNamespacedName`?(v(t,n.namespace.name,n.namespace.start,n.namespace.end),g(t,`:`),v(t,n.name.name,n.name.start,n.name.end)):v(t,n.name,n.start,n.end);let{value:r}=e;r!=null&&(g(t,`=`),vt(r,t))},vt=(e,t)=>{switch(e.type){case`Literal`:{let{raw:n}=e,r=n==null?String(e.value):n.slice(1,-1),i=r.includes(`"`)?`'`:`"`;g(t,i),g(t,r),g(t,i);break}case`JSXExpressionContainer`:yt(e,t);break;case`JSXElement`:ht(e,t);break;case`JSXFragment`:bt(e,t);break;default:throw Error(`Unknown JSX attribute value type: ${e.type}`)}},yt=(e,t)=>{d(t,`{`,3),e.expression.type!==`JSXEmptyExpression`&&K(e.expression,t,0,0),g(t,`}`)},bt=(e,t)=>{_(t,`<>`,e.openingFragment.start,e.openingFragment.end);let{children:n}=e,{length:r}=n;for(let e=0;e<r;e++)xt(n[e],t);p(t,`</>`,3,e.closingFragment.start,e.closingFragment.end)},xt=(e,t)=>{switch(e.type){case`JSXText`:_(t,e.raw==null?e.value:e.raw,e.start,e.end);break;case`JSXExpressionContainer`:yt(e,t);break;case`JSXElement`:ht(e,t);break;case`JSXFragment`:bt(e,t);break;case`JSXSpreadChild`:d(t,`{...`,3),K(e.expression,t,0,0),g(t,`}`);break;default:throw Error(`Unknown JSX child type: ${e.type}`)}},K=(e,t,n,r)=>{switch(e.type){case`Identifier`:N(t),m(t,e.name,e.start,e.end);break;case`MemberExpression`:St(e,t,r);break;case`CallExpression`:Ct(e,t,n,r);break;case`Literal`:Te(e,t,n,r);break;case`BinaryExpression`:e.left.type===`PrivateIdentifier`?Tt(e,t,n):de(e,t,n,r);break;case`LogicalExpression`:de(e,t,n,r);break;case`ObjectExpression`:Et(e,t);break;case`ArrayExpression`:Ot(e,t);break;case`AssignmentExpression`:kt(e,t,n,r);break;case`UpdateExpression`:At(e,t,n,r);break;case`UnaryExpression`:jt(e,t,n,r);break;case`ConditionalExpression`:Mt(e,t,n,r);break;case`SequenceExpression`:Nt(e,t,n,r);break;case`ArrowFunctionExpression`:Pt(e,t,n,r);break;case`FunctionExpression`:U(e,t);break;case`ThisExpression`:N(t),p(t,`this`,0,e.start,e.end);break;case`Super`:N(t),p(t,`super`,0,e.start,e.end);break;case`NewExpression`:Ft(e,t,n);break;case`TemplateLiteral`:It(e,t);break;case`TaggedTemplateExpression`:b(t,e.start,e.end),K(e.tag,t,19,r&2),z(e.typeArguments,t),It(e.quasi,t);break;case`ClassExpression`:ct(e,t);break;case`AwaitExpression`:Rt(e,t,n,r);break;case`YieldExpression`:zt(e,t,n);break;case`ImportExpression`:Bt(e,t,n,r);break;case`MetaProperty`:N(t),_(t,e.meta.name,e.start,e.end),g(t,`.`),f(t,e.property.name);break;case`ChainExpression`:Vt(e,t,n,r);break;case`ParenthesizedExpression`:{let{expression:i}=e,a=M(i);if(a.type===`FunctionExpression`||a.type===`ArrowFunctionExpression`){if(d(t,`(`,3),K(a,t,0,0),d(t,`)`,9),n===19){x(t,a.start,a.end);let e=[],n=i;for(;n.type===`ParenthesizedExpression`;)e.push(n),n=n.expression;for(let n=e.length-1;n>=0;n--){let r=e[n];x(t,r.start,r.end)}}}else K(i,t,n,r);break}case`JSXElement`:ht(e,t);break;case`JSXFragment`:bt(e,t);break;case`TSAsExpression`:case`TSSatisfiesExpression`:ke(e,t,n,r);break;case`TSNonNullExpression`:K(e.expression,t,19,r),d(t,`!`,10);break;case`TSInstantiationExpression`:K(e.expression,t,18,r),z(e.typeArguments,t);break;case`TSTypeAssertion`:Xe(e,t,n,r);break;default:throw Error(`Unknown expression type: ${e.type}`)}n===19&&t.last===9&&x(t,e.start,e.end)},St=(e,t,n)=>{let{object:r}=e;if(e.computed){let i=M(r),a=i.type===`Identifier`&&i.name===`let`;a&&d(t,`(`,3),K(r,t,19,n&2),a&&d(t,`)`,9),e.optional&&d(t,`?.`,3),d(t,`[`,3),K(e.property,t,0,0),d(t,`]`,9)}else{K(r,t,19,n&2),e.optional?d(t,`?`,5):t.last===1&&d(t,` `,3),d(t,`.`,3);let{property:i}=e;i.type===`PrivateIdentifier`?h(t,i.name,i.start,i.end):m(t,i.name,i.start,i.end)}},Ct=(e,t,n,r)=>{let i=n>=20||!!(r&2);i&&(g(t,`(`),(t.last|1)!=7&&(t.last=3)),K(e.callee,t,19,0),e.optional&&d(t,`?.`,3),z(e.typeArguments,t),wt(e,e.arguments,t),i&&d(t,`)`,9)},wt=(e,t,n)=>{let{length:r}=t;if(r===0){g(n,`(`),y(n,`)`,9,e.start,e.end);return}d(n,`(`,3);for(let e=0;e<r;e++){e>0&&d(n,`, `,3);let r=t[e];r.type===`SpreadElement`?(p(n,`...`,3,r.start,r.end),K(r.argument,n,1,0)):K(r,n,1,0)}y(n,`)`,9,e.start,e.end)},Tt=(e,t,n)=>{let r=n>=13;r&&d(t,`(`,3),b(t,e.start,e.end),h(t,e.left.name,e.left.start,e.left.end),d(t,` in `,3),K(e.right,t,12,1),r&&d(t,`)`,9)},Et=(e,t)=>{let n=(t.last-1|1)==7;n&&d(t,`(`,3);let{properties:r}=e,{length:i}=r,a=i>1;if(p(t,`{`,3,e.start,e.end),a){t.indentLevel++;for(let e=0;e<i;e++)d(t,e>0?`,
13
+ `,3);t.indentLevel--,F(t),S(t,`}`,3,n.start,n.end)},ot=(e,t)=>{let{id:n}=e;n.type===`Identifier`?(N(t),_(t,n.name,n.start,n.end)):n.type===`Literal`?I(t,n.value,n.start,n.end):(n.type===`TemplateLiteral`?(te(t,1,n.quasis[0].start,n.quasis[0].end),y(t,"[`"),y(t,n.quasis[0].value.raw),m(t,"`",3)):(m(t,`[`,3),K(n,t,1,0)),m(t,`]`,9)),e.initializer!=null&&(m(t,` = `,3),K(e.initializer,t,0,0))},st=(e,t)=>{m(t,`import `,3),e.importKind===`type`&&m(t,`type `,3),_(t,e.id.name,e.id.start,e.id.end),m(t,` = `,3);let n=e.moduleReference;n.type===`TSExternalModuleReference`?(m(t,`require(`,3),I(t,n.expression.value,n.expression.start,n.expression.end),m(t,`)`,9)):R(n,t)},U=(e,t)=>{let n=!1;e.type===`FunctionExpression`&&(n=(t.last|1)==7),n&&m(t,`(`,3),N(t),e.declare?(g(t,`declare `,3,e.start,e.end),h(t,e.async?`async function`:`function`)):g(t,e.async?`async function`:`function`,0,e.start,e.end),e.generator&&m(t,`* `,3);let{id:r}=e;r!=null&&(N(t),_(t,r.name,r.start,r.end)),H(e.typeParameters,t),W(e.params,t),e.returnType!=null&&B(e.returnType,t),e.body==null?m(t,`;`,3):(m(t,` `,3),lt(e.body,t)),n&&m(t,`)`,9)},W=(e,t)=>{if(e.length===0){m(t,`()`,9);return}m(t,`(`,3),ct(e,t),m(t,`)`,9)},ct=(e,t)=>{let{length:n}=e;for(let r=0;r<n;r++){r>0&&m(t,`, `,3);let n=e[r];if(n.type===`Identifier`&&n.name===`this`){h(t,`this`),n.typeAnnotation!=null&&B(n.typeAnnotation,t);continue}let{decorators:i}=n;i!=null&&i.length>0?G(i,t):C(t,n.start,n.end),n.type===`TSParameterProperty`?(n.accessibility!=null&&(N(t),y(t,n.accessibility),m(t,` `,3)),n.override&&(N(t),m(t,`override `,3)),n.readonly&&(N(t),m(t,`readonly `,3)),q(n.parameter,t)):q(n,t)}},lt=(e,t)=>{let n=e.body;if(n.length===0){b(t,`{`,e.start,e.end),S(t,`}`,3,e.start,e.end);return}g(t,`{
14
+ `,3,e.start,e.end),t.indentLevel++,on(n,t),t.indentLevel--,F(t),S(t,`}`,3,e.start,e.end)},ut=(e,t)=>{if(e.length===0){m(t,`() => `,3);return}m(t,`(`,3),ct(e,t),m(t,`) => `,3)},dt=(e,t)=>{let n=!1;e.type===`ClassExpression`&&(n=(t.last|1)==7),n&&m(t,`(`,3);let{decorators:r}=e;r!=null&&r.length>0&&G(r,t),N(t);let i=e.declare,a=e.abstract;i&&g(t,`declare `,3,e.start,e.end),a&&(i?m(t,`abstract `,3):g(t,`abstract `,3,e.start,e.end)),i||a?h(t,`class`):g(t,`class`,0,e.start,e.end),e.id!=null&&(m(t,` `,3),_(t,e.id.name,e.id.start,e.id.end)),H(e.typeParameters,t),e.superClass!=null&&(m(t,` extends `,3),K(e.superClass,t,19,0),z(e.superTypeArguments,t));let{implements:o}=e;if(o!=null&&o.length>0){m(t,` implements `,3);let{length:e}=o;for(let n=0;n<e;n++){n>0&&m(t,`, `,3);let e=o[n];K(e.expression,t,21,0),z(e.typeArguments,t)}}m(t,` `,3),pt(e.body,t),n&&m(t,`)`,9)},G=(e,t)=>{let{length:n}=e;for(let r=0;r<n;r++){let n=e[r];g(t,`@`,3,n.start,n.end);let{expression:i}=n,a=ft(i);a&&m(t,`(`,3),K(i,t,0,0),a&&m(t,`)`,9),m(t,` `,3)}},ft=e=>{for(;;)switch(e.type){case`Identifier`:return!1;case`MemberExpression`:return e.computed;case`CallExpression`:e=e.callee;break;default:return!0}},pt=(e,t)=>{let{body:n}=e,{length:r}=n;if(r===0){b(t,`{`,e.start,e.end),S(t,`}`,3,e.start,e.end);return}g(t,`{
15
+ `,3,e.start,e.end),t.indentLevel++;for(let e=0;e<r;e++){F(t);let r=n[e];switch(r.type){case`MethodDefinition`:case`TSAbstractMethodDefinition`:mt(r,t),m(t,`
16
+ `,3);break;case`PropertyDefinition`:case`TSAbstractPropertyDefinition`:ht(r,t),m(t,`;
17
+ `,3);break;case`StaticBlock`:gt(r,t),m(t,`
18
+ `,3);break;case`AccessorProperty`:case`TSAbstractAccessorProperty`:_t(r,t),m(t,`;
19
+ `,3);break;case`TSIndexSignature`:He(r,t),m(t,`;
20
+ `,3);break;default:throw Error(`Unknown class element type: ${r.type}`)}}t.indentLevel--,F(t),S(t,`}`,3,e.start,e.end)},mt=(e,t)=>{C(t,e.start,e.end);let{decorators:n}=e;n!=null&&n.length>0&&G(n,t),e.accessibility!=null&&(N(t),y(t,e.accessibility),m(t,` `,3)),(e.type===`TSAbstractMethodDefinition`||e.abstract)&&(N(t),m(t,`abstract `,3)),e.static&&(N(t),m(t,`static `,3)),e.override&&(N(t),m(t,`override `,3));let{kind:r}=e;r===`get`?(N(t),m(t,`get `,3)):r===`set`&&(N(t),m(t,`set `,3));let i=e.value;i.async&&(N(t),m(t,`async `,3)),i.generator&&m(t,`*`,3),e.computed?(m(t,`[`,3),K(e.key,t,1,0),m(t,`]`,9)):J(e.key,t),e.optional&&m(t,`?`,5),H(i.typeParameters,t),W(i.params,t),i.returnType!=null&&B(i.returnType,t),i.body==null?m(t,`;`,3):(m(t,` `,3),lt(i.body,t))},ht=(e,t)=>{C(t,e.start,e.end);let{decorators:n}=e;n!=null&&n.length>0&&G(n,t),e.declare&&(N(t),m(t,`declare `,3)),e.accessibility!=null&&(N(t),y(t,e.accessibility),m(t,` `,3)),(e.type===`TSAbstractPropertyDefinition`||e.abstract)&&(N(t),m(t,`abstract `,3)),e.static&&(N(t),m(t,`static `,3)),e.override&&(N(t),m(t,`override `,3)),e.readonly&&(N(t),m(t,`readonly `,3)),e.computed?(m(t,`[`,3),K(e.key,t,1,0),m(t,`]`,9)):J(e.key,t),e.optional&&m(t,`?`,5),e.definite&&m(t,`!`,10),e.typeAnnotation!=null&&B(e.typeAnnotation,t),e.value!=null&&(m(t,` = `,3),K(e.value,t,1,0))},gt=(e,t)=>{N(t),g(t,`static `,3,e.start,e.end);let{body:n}=e,{length:r}=n;if(r===0){b(t,`{`,e.start,e.end),S(t,`}`,3,e.start,e.end);return}g(t,`{
21
+ `,3,e.start,e.end),t.indentLevel++;for(let e=0;e<r;e++)X(n[e],t);t.indentLevel--,F(t),S(t,`}`,3,e.start,e.end)},_t=(e,t)=>{C(t,e.start,e.end);let{decorators:n}=e;n!=null&&n.length>0&&G(n,t),(e.type===`TSAbstractAccessorProperty`||e.abstract)&&(N(t),m(t,`abstract `,3)),e.accessibility!=null&&(N(t),y(t,e.accessibility),m(t,` `,3)),e.static&&(N(t),m(t,`static `,3)),e.override&&(N(t),m(t,`override `,3)),N(t),h(t,`accessor`),e.computed?(m(t,` [`,3),K(e.key,t,1,0),m(t,`]`,9)):(m(t,` `,3),J(e.key,t)),e.definite&&m(t,`!`,10),e.typeAnnotation!=null&&B(e.typeAnnotation,t),e.value!=null&&(m(t,` = `,3),K(e.value,t,1,0))},vt=(e,t)=>{let{openingElement:n}=e;b(t,`<`,n.start,n.end),yt(n.name,t),z(n.typeArguments,t);let{attributes:r}=n,{length:i}=r;for(let e=0;e<i;e++){y(t,` `);let n=r[e];n.type===`JSXSpreadAttribute`?(g(t,`{...`,3,n.start,n.end),K(n.argument,t,1,0),S(t,`}`,3,n.start,n.end)):bt(n,t)}let{closingElement:a}=e;if(a==null){m(t,` />`,3);return}y(t,`>`);let{children:o}=e,s=o.length;for(let e=0;e<s;e++)wt(o[e],t);b(t,`</`,a.start,a.end),yt(a.name,t),m(t,`>`,3)},yt=(e,t)=>{switch(e.type){case`JSXIdentifier`:x(t,e.name,e.start,e.end);break;case`JSXMemberExpression`:yt(e.object,t),y(t,`.`),yt(e.property,t);break;case`JSXNamespacedName`:x(t,e.namespace.name,e.namespace.start,e.namespace.end),y(t,`:`),x(t,e.name.name,e.name.start,e.name.end);break;case`ThisExpression`:b(t,`this`,e.start,e.end);break;default:throw Error(`Unknown JSX name type: ${e.type}`)}},bt=(e,t)=>{let{name:n}=e;n.type===`JSXNamespacedName`?(x(t,n.namespace.name,n.namespace.start,n.namespace.end),y(t,`:`),x(t,n.name.name,n.name.start,n.name.end)):x(t,n.name,n.start,n.end);let{value:r}=e;r!=null&&(y(t,`=`),xt(r,t))},xt=(e,t)=>{switch(e.type){case`Literal`:{let{raw:n}=e,r=n==null?String(e.value):n.slice(1,-1),i=r.includes(`"`)?`'`:`"`;y(t,i),y(t,r),y(t,i);break}case`JSXExpressionContainer`:St(e,t);break;case`JSXElement`:vt(e,t);break;case`JSXFragment`:Ct(e,t);break;default:throw Error(`Unknown JSX attribute value type: ${e.type}`)}},St=(e,t)=>{m(t,`{`,3),e.expression.type!==`JSXEmptyExpression`&&K(e.expression,t,0,0),y(t,`}`)},Ct=(e,t)=>{b(t,`<>`,e.openingFragment.start,e.openingFragment.end);let{children:n}=e,{length:r}=n;for(let e=0;e<r;e++)wt(n[e],t);g(t,`</>`,3,e.closingFragment.start,e.closingFragment.end)},wt=(e,t)=>{switch(e.type){case`JSXText`:b(t,e.raw==null?e.value:e.raw,e.start,e.end);break;case`JSXExpressionContainer`:St(e,t);break;case`JSXElement`:vt(e,t);break;case`JSXFragment`:Ct(e,t);break;case`JSXSpreadChild`:m(t,`{...`,3),K(e.expression,t,0,0),y(t,`}`);break;default:throw Error(`Unknown JSX child type: ${e.type}`)}},K=(e,t,n,r)=>{switch(e.type){case`Identifier`:N(t),_(t,e.name,e.start,e.end);break;case`MemberExpression`:Tt(e,t,r);break;case`CallExpression`:Et(e,t,n,r);break;case`Literal`:Oe(e,t,n,r);break;case`BinaryExpression`:e.left.type===`PrivateIdentifier`?Ot(e,t,n):me(e,t,n,r);break;case`LogicalExpression`:me(e,t,n,r);break;case`ObjectExpression`:kt(e,t);break;case`ArrayExpression`:jt(e,t);break;case`AssignmentExpression`:Mt(e,t,n,r);break;case`UpdateExpression`:Nt(e,t,n,r);break;case`UnaryExpression`:Pt(e,t,n,r);break;case`ConditionalExpression`:Ft(e,t,n,r);break;case`SequenceExpression`:It(e,t,n,r);break;case`ArrowFunctionExpression`:Lt(e,t,n,r);break;case`FunctionExpression`:U(e,t);break;case`ThisExpression`:N(t),g(t,`this`,0,e.start,e.end);break;case`Super`:N(t),g(t,`super`,0,e.start,e.end);break;case`NewExpression`:Rt(e,t,n);break;case`TemplateLiteral`:zt(e,t);break;case`TaggedTemplateExpression`:C(t,e.start,e.end),K(e.tag,t,19,r&2),z(e.typeArguments,t),zt(e.quasi,t);break;case`ClassExpression`:dt(e,t);break;case`AwaitExpression`:Vt(e,t,n,r);break;case`YieldExpression`:Ht(e,t,n);break;case`ImportExpression`:Ut(e,t,n,r);break;case`MetaProperty`:N(t),b(t,e.meta.name,e.start,e.end),y(t,`.`),h(t,e.property.name);break;case`ChainExpression`:Wt(e,t,n,r);break;case`ParenthesizedExpression`:{let{expression:i}=e,a=M(i);if(a.type===`FunctionExpression`||a.type===`ArrowFunctionExpression`){if(m(t,`(`,3),K(a,t,0,0),m(t,`)`,9),n===19){w(t,a.start,a.end);let e=[],n=i;for(;n.type===`ParenthesizedExpression`;)e.push(n),n=n.expression;for(let n=e.length-1;n>=0;n--){let r=e[n];w(t,r.start,r.end)}}}else K(i,t,n,r);break}case`JSXElement`:vt(e,t);break;case`JSXFragment`:Ct(e,t);break;case`TSAsExpression`:case`TSSatisfiesExpression`:Me(e,t,n,r);break;case`TSNonNullExpression`:K(e.expression,t,19,r),m(t,`!`,10);break;case`TSInstantiationExpression`:K(e.expression,t,18,r),z(e.typeArguments,t);break;case`TSTypeAssertion`:$e(e,t,n,r);break;default:throw Error(`Unknown expression type: ${e.type}`)}n===19&&t.last===9&&w(t,e.start,e.end)},Tt=(e,t,n)=>{let{object:r}=e;if(e.computed){let i=M(r),a=i.type===`Identifier`&&i.name===`let`;a&&m(t,`(`,3),K(r,t,19,n&2),a&&m(t,`)`,9),e.optional&&m(t,`?.`,3),m(t,`[`,3),K(e.property,t,0,0),m(t,`]`,9)}else{K(r,t,19,n&2),e.optional?m(t,`?`,5):t.last===1&&m(t,` `,3),m(t,`.`,3);let{property:i}=e;i.type===`PrivateIdentifier`?v(t,i.name,i.start,i.end):_(t,i.name,i.start,i.end)}},Et=(e,t,n,r)=>{let i=n>=20||!!(r&2);i&&(y(t,`(`),(t.last|1)!=7&&(t.last=3)),K(e.callee,t,19,0),e.optional&&m(t,`?.`,3),z(e.typeArguments,t),Dt(e,e.arguments,t),i&&m(t,`)`,9)},Dt=(e,t,n)=>{let{length:r}=t;if(r===0){y(n,`(`),S(n,`)`,9,e.start,e.end);return}m(n,`(`,3);for(let e=0;e<r;e++){e>0&&m(n,`, `,3);let r=t[e];r.type===`SpreadElement`?(g(n,`...`,3,r.start,r.end),K(r.argument,n,1,0)):K(r,n,1,0)}S(n,`)`,9,e.start,e.end)},Ot=(e,t,n)=>{let r=n>=13;r&&m(t,`(`,3),C(t,e.start,e.end),v(t,e.left.name,e.left.start,e.left.end),m(t,` in `,3),K(e.right,t,12,1),r&&m(t,`)`,9)},kt=(e,t)=>{let n=(t.last-1|1)==7;n&&m(t,`(`,3);let{properties:r}=e,{length:i}=r,a=i>1;if(g(t,`{`,3,e.start,e.end),a){t.indentLevel++;for(let e=0;e<i;e++)m(t,e>0?`,
22
22
  `:`
23
- `,3),F(t),Dt(r[e],t);d(t,`
24
- `,3),t.indentLevel--,F(t)}else i===1&&(d(t,` `,3),Dt(r[0],t),d(t,` `,3));y(t,`}`,3,e.start,e.end),n&&d(t,`)`,9)},Dt=(e,t)=>{if(e.type===`SpreadElement`){p(t,`...`,3,e.start,e.end),K(e.argument,t,1,0);return}let{key:n,value:r}=e;if(r.type===`FunctionExpression`||r.type===`TSEmptyBodyFunctionExpression`){b(t,e.start,e.end);let{kind:i}=e,a=i===`get`,o=a||i===`set`;if(o&&d(t,a?`get `:`set `,3),e.method||o){r.async&&(N(t),d(t,`async `,3)),r.generator&&d(t,`*`,3),e.computed?(d(t,`[`,3),K(n,t,1,0),d(t,`]`,9)):J(n,t),H(r.typeParameters,t),W(r.params,t),r.returnType!=null&&B(r.returnType,t),r.body!=null&&(d(t,` `,3),ot(r.body,t));return}}let i=!1,a=null;if(!e.computed&&n.type===`Identifier`){if(n.name===`__proto__`)i=e.shorthand;else{let e=M(r);e.type===`Identifier`&&n.name===e.name&&(i=!0,a=e)}}let{computed:o}=e;!o&&n.type===`Literal`&&typeof n.value==`number`&&(n.value<0||Object.is(n.value,-0)||!Number.isFinite(n.value))&&(o=!0),i?a===null?K(M(r),t,1,0):(N(t),m(t,a.name,a.start,a.end)):(o?(d(t,`[`,3),K(n,t,1,0),d(t,`]`,9)):J(n,t),d(t,`: `,3),K(r,t,1,0))},Ot=(e,t)=>{let{elements:n}=e,{length:r}=n,i=r>2;p(t,`[`,3,e.start,e.end),i&&t.indentLevel++;for(let e=0;e<r;e++){i?(d(t,e===0?`
23
+ `,3),F(t),At(r[e],t);m(t,`
24
+ `,3),t.indentLevel--,F(t)}else i===1&&(m(t,` `,3),At(r[0],t),m(t,` `,3));S(t,`}`,3,e.start,e.end),n&&m(t,`)`,9)},At=(e,t)=>{if(e.type===`SpreadElement`){g(t,`...`,3,e.start,e.end),K(e.argument,t,1,0);return}let{key:n,value:r}=e;if(r.type===`FunctionExpression`||r.type===`TSEmptyBodyFunctionExpression`){C(t,e.start,e.end);let{kind:i}=e,a=i===`get`,o=a||i===`set`;if(o&&m(t,a?`get `:`set `,3),e.method||o){r.async&&(N(t),m(t,`async `,3)),r.generator&&m(t,`*`,3),e.computed?(m(t,`[`,3),K(n,t,1,0),m(t,`]`,9)):J(n,t),H(r.typeParameters,t),W(r.params,t),r.returnType!=null&&B(r.returnType,t),r.body!=null&&(m(t,` `,3),lt(r.body,t));return}}let i=!1,a=null;if(!e.computed&&n.type===`Identifier`){if(n.name===`__proto__`)i=e.shorthand;else{let e=M(r);e.type===`Identifier`&&n.name===e.name&&(i=!0,a=e)}}let{computed:o}=e;!o&&n.type===`Literal`&&typeof n.value==`number`&&(n.value<0||Object.is(n.value,-0)||!Number.isFinite(n.value))&&(o=!0),i?a===null?K(M(r),t,1,0):(N(t),_(t,a.name,a.start,a.end)):(o?(m(t,`[`,3),K(n,t,1,0),m(t,`]`,9)):J(n,t),m(t,`: `,3),K(r,t,1,0))},jt=(e,t)=>{let{elements:n}=e,{length:r}=n,i=r>2;g(t,`[`,3,e.start,e.end),i&&t.indentLevel++;for(let e=0;e<r;e++){i?(m(t,e===0?`
25
25
  `:`,
26
- `,3),F(t)):e!==0&&d(t,`, `,3);let a=n[e];a!=null&&(a.type===`SpreadElement`?(p(t,`...`,3,a.start,a.end),K(a.argument,t,1,0)):K(a,t,1,0)),e===r-1&&a==null&&d(t,`,`,3)}i&&(d(t,`
27
- `,3),t.indentLevel--,F(t)),y(t,`]`,9,e.start,e.end)},kt=(e,t,n,r)=>{let{left:i}=e,a=n>=4;!a&&i.type===`ObjectPattern`&&(a=(t.last-1|1)==7),a&&d(t,`(`,3),b(t,e.start,e.end),Y(i,t),d(t,ce[e.operator],3),K(e.right,t,1,r),a&&d(t,`)`,9)},At=(e,t,n,r)=>{let i=n>=(e.prefix?18:19);i&&d(t,`(`,3);let a=ue(e.operator);e.prefix?(P(t,a),p(t,e.operator,a,e.start,e.end),K(e.argument,t,18,r)):(b(t,e.start,e.end),K(e.argument,t,19,r),P(t,a),d(t,e.operator,a)),i&&d(t,`)`,9)},jt=(e,t,n,r)=>{let i=n>=18;i&&d(t,`(`,3);let{operator:a}=e,o=!1;if(a.length>1)N(t),p(t,a,0,e.start,e.end),d(t,` `,3),o=a===`delete`&&e.argument.type===`Literal`&&e.argument.value===1/0;else{let n=le(a);P(t,n),n===10&&t.last===4&&(n=11),p(t,a,n,e.start,e.end)}o&&d(t,`(0, `,3),K(e.argument,t,17,r),o&&d(t,`)`,9),i&&d(t,`)`,9)},Mt=(e,t,n,r)=>{let i=n>=5,a=0;i?d(t,`(`,3):a=r&1;let o=5;{let t=M(e.test).type;(t===`TSAsExpression`||t===`TSSatisfiesExpression`)&&(o=13)}K(e.test,t,o,a),d(t,` ? `,3),K(e.consequent,t,3,0),d(t,` : `,3),K(e.alternate,t,3,a),i&&d(t,`)`,9)},Nt=(e,t,n,r)=>{let i=n>=1;i&&d(t,`(`,3);let a=r&-3,{expressions:o}=e,{length:s}=o;for(let e=0;e<s;e++)e>0&&d(t,`, `,3),K(o[e],t,0,a);i&&d(t,`)`,9)},Pt=(e,t,n,r)=>{let i=n>=4,a=i?r&-2:r;i&&d(t,`(`,3),e.async&&(N(t),p(t,`async `,3,e.start,e.end)),H(e.typeParameters,t);let{returnType:o}=e;o==null?st(e.params,t):(W(e.params,t),B(o,t),d(t,` => `,3));let{body:s}=e;s.type===`BlockStatement`?ot(s,t):(t.last=8,K(s,t,1,a)),i&&d(t,`)`,9)},Ft=(e,t,n)=>{let r=n>=21;r&&d(t,`(`,3),N(t),p(t,`new `,3,e.start,e.end),K(e.callee,t,20,2),z(e.typeArguments,t),wt(e,e.arguments,t),r&&d(t,`)`,9)},It=(e,t)=>{_(t,"`",e.start,e.end);let{quasis:n,expressions:r}=e,{length:i}=r,a=n[0];g(t,Lt(a));for(let e=0;e<i;e++){d(t,"${",3),K(r[e],t,0,0),g(t,`}`);let i=n[e+1],a=Lt(i);a.length>0&&S(t,1,i.start,i.end),g(t,a)}d(t,"`",3)},Lt=e=>{let{raw:t}=e.value;return t.includes(`\r`)&&(t=t.replace(/\r\n?/g,`
28
- `)),we(t)},Rt=(e,t,n,r)=>{let i=n>=18;i&&d(t,`(`,3),N(t),p(t,`await `,3,e.start,e.end),K(e.argument,t,17,r),i&&d(t,`)`,9)},zt=(e,t,n)=>{let r=n>=4;r&&d(t,`(`,3),N(t),p(t,`yield`,0,e.start,e.end),e.delegate&&d(t,`*`,3),e.argument!=null&&(d(t,` `,3),K(e.argument,t,3,0)),r&&d(t,`)`,9)},Bt=(e,t,n,r)=>{let i=n>=20||!!(r&2);i&&d(t,`(`,3),N(t),p(t,`import`,0,e.start,e.end),e.phase!=null&&(g(t,`.`),f(t,e.phase)),d(t,`(`,3),K(e.source,t,1,0),e.options!=null&&(d(t,`, `,3),K(e.options,t,1,0)),d(t,`)`,9),i&&d(t,`)`,9)},Vt=(e,t,n,r)=>{n>=19||r&2?(d(t,`(`,3),K(e.expression,t,0,0),d(t,`)`,9)):K(e.expression,t,n,r)},q=(e,t)=>{switch(e.type){case`Identifier`:N(t),m(t,e.name,e.start,e.end),e.optional&&d(t,`?`,5),e.typeAnnotation!=null&&B(e.typeAnnotation,t);break;case`ObjectPattern`:Ht(e,t),e.optional&&d(t,`?`,5),e.typeAnnotation!=null&&B(e.typeAnnotation,t);break;case`ArrayPattern`:Wt(e,t),e.optional&&d(t,`?`,5),e.typeAnnotation!=null&&B(e.typeAnnotation,t);break;case`AssignmentPattern`:q(e.left,t),d(t,` = `,3),K(e.right,t,1,0);break;case`RestElement`:p(t,`...`,3,e.start,e.end),q(e.argument,t),e.typeAnnotation!=null&&B(e.typeAnnotation,t);break;default:throw Error(`Unknown binding pattern type: ${e.type}`)}},Ht=(e,t)=>{let{properties:n}=e,{length:r}=n;if(r===0){p(t,`{}`,3,e.start,e.end);return}p(t,`{ `,3,e.start,e.end);for(let e=0;e<r;e++){e>0&&d(t,`, `,3);let r=n[e];r.type===`RestElement`?(p(t,`...`,3,r.start,r.end),q(r.argument,t)):Ut(r,t)}d(t,` }`,3)},Ut=(e,t)=>{let{key:n,value:r}=e,i=!1;!e.computed&&n.type===`Identifier`&&(r.type===`Identifier`&&n.name===r.name||r.type===`AssignmentPattern`&&r.left.type===`Identifier`&&n.name===r.left.name)&&(i=!0),i||(e.computed?(d(t,`[`,3),K(n,t,1,0),d(t,`]`,9)):J(n,t),d(t,`: `,3)),q(r,t)},J=(e,t)=>{switch(e.type){case`Identifier`:N(t),m(t,e.name,e.start,e.end);break;case`PrivateIdentifier`:h(t,e.name,e.start,e.end);break;case`Literal`:typeof e.value==`string`?I(t,e.value,e.start,e.end):Te(e,t,1,0);break;default:K(e,t,1,0)}},Wt=(e,t)=>{let{elements:n}=e,{length:r}=n,i=null;if(r>0){let e=n[r-1];e!=null&&e.type===`RestElement`&&(i=e,r--)}p(t,`[`,3,e.start,e.end);for(let e=0;e<r;e++){e!==0&&d(t,`, `,3);let a=n[e];a!=null&&q(a,t),e===r-1&&(a==null||i!==null)&&d(t,`,`,3)}i!==null&&(d(t,` `,3),q(i,t)),d(t,`]`,9)},Y=(e,t)=>{switch(e.type){case`Identifier`:N(t),m(t,e.name,e.start,e.end);break;case`MemberExpression`:St(e,t,0);break;case`ObjectPattern`:Gt(e,t);break;case`ArrayPattern`:Jt(e,t);break;case`TSAsExpression`:case`TSSatisfiesExpression`:K(e,t,13,0);break;case`TSTypeAssertion`:K(e,t,18,0);break;default:K(e,t,1,0)}},Gt=(e,t)=>{p(t,`{`,3,e.start,e.end);let{properties:n}=e,{length:r}=n;for(let e=0;e<r;e++){e>0&&d(t,`, `,3);let r=n[e];r.type===`RestElement`?(p(t,`...`,3,r.start,r.end),Y(r.argument,t)):Kt(r,t)}d(t,`}`,3)},Kt=(e,t)=>{if(e.shorthand){let{value:n}=e;n.type===`AssignmentPattern`?(N(t),m(t,n.left.name,n.left.start,n.left.end),d(t,` = `,3),K(n.right,t,1,0)):(N(t),m(t,n.name,n.start,n.end))}else{let{key:n}=e;e.computed?(d(t,`[`,3),K(n,t,1,0),d(t,`]`,9)):J(n,t),d(t,`: `,3),qt(e.value,t)}},qt=(e,t)=>{e.type===`AssignmentPattern`?(Y(e.left,t),d(t,` = `,3),K(e.right,t,1,0)):Y(e,t)},Jt=(e,t)=>{let{elements:n}=e,{length:r}=n,i=null;if(r>0){let e=n[r-1];e!=null&&e.type===`RestElement`&&(i=e,r--)}p(t,`[`,3,e.start,e.end);for(let e=0;e<r;e++){e!==0&&d(t,`, `,3);let a=n[e];a!=null&&qt(a,t),e===r-1&&(a==null||i!==null)&&d(t,`,`,3)}i!==null&&(r>0&&d(t,` `,3),p(t,`...`,3,i.start,i.end),Y(i.argument,t)),d(t,`]`,9)},Yt=(e,t)=>{F(t),N(t),p(t,`import`,0,e.start,e.end),e.importKind===`type`&&f(t,` type`),e.phase!=null&&(g(t,` `),f(t,e.phase));let{specifiers:n}=e,{length:r}=n;if(r===0){d(t,` `,3),I(t,e.source.value,e.source.start,e.source.end),Xt(e.attributes,t),d(t,`;
29
- `,3);return}let i=!1;for(let e=0;e<r;e++){let a=n[e];switch(a.type){case`ImportDefaultSpecifier`:i?(d(t,` },`,3),i=!1):e===0?d(t,` `,3):d(t,`, `,3),N(t),p(t,a.local.name,0,a.start,a.end),e===r-1&&d(t,` `,3);break;case`ImportNamespaceSpecifier`:i?(d(t,` },`,3),i=!1):e===0?d(t,` `,3):d(t,`, `,3),d(t,`* as `,3),m(t,a.local.name,a.local.start,a.local.end),d(t,` `,3);break;default:{i?d(t,`, `,3):(e!==0&&d(t,`,`,3),i=!0,d(t,` { `,3)),a.importKind===`type`&&d(t,`type `,3);let n=Zt(a.imported,t),{local:r}=a;n!==r.name&&(d(t,` as `,3),m(t,r.name,r.start,r.end));break}}}d(t,i?` } from `:`from `,3),I(t,e.source.value,e.source.start,e.source.end),Xt(e.attributes,t),d(t,`;
30
- `,3)},Xt=(e,t)=>{if(e==null)return;let{length:n}=e;if(n!==0){g(t,` `),p(t,`with { `,3,e[0].start,e[0].end);for(let r=0;r<n;r++){r>0&&d(t,`, `,3);let n=e[r],{key:i}=n;i.type===`Identifier`?f(t,i.name):I(t,i.value,i.start,i.end),d(t,`: `,3),I(t,n.value.value,n.value.start,n.value.end)}d(t,` }`,3)}},Zt=(e,t)=>e.type===`Identifier`?(N(t),m(t,e.name,e.start,e.end),e.name):(I(t,e.value,e.start,e.end),e.value),Qt=(e,t)=>{F(t),p(t,`export `,3,e.start,e.end);let{declaration:n}=e;if(n!=null){switch(n.type){case`VariableDeclaration`:Z(n,t,0),d(t,`;
31
- `,3);break;case`FunctionDeclaration`:case`TSDeclareFunction`:U(n,t),d(t,`
32
- `,3);break;case`ClassDeclaration`:ct(n,t),d(t,`
33
- `,3);break;case`TSModuleDeclaration`:Ze(n,t),d(t,`
34
- `,3);break;case`TSInterfaceDeclaration`:$e(n,t),d(t,`
35
- `,3);break;case`TSEnumDeclaration`:nt(n,t),d(t,`
36
- `,3);break;case`TSTypeAliasDeclaration`:et(n,t),d(t,`;
37
- `,3);break;case`TSImportEqualsDeclaration`:it(n,t),d(t,`;
38
- `,3);break;default:throw Error(`Unknown export declaration type: ${n.type}`)}return}e.exportKind===`type`&&d(t,`type `,3),d(t,`{`,3);let{specifiers:r}=e,{length:i}=r;if(i>0){d(t,` `,3);for(let e=0;e<i;e++){e>0&&d(t,`, `,3);let n=r[e];n.exportKind===`type`&&d(t,`type `,3),Zt(n.local,t)!==(n.exported.type===`Identifier`?n.exported.name:n.exported.value)&&(d(t,` as `,3),Zt(n.exported,t))}d(t,` `,3)}d(t,`}`,3),e.source!=null&&(d(t,` from `,3),I(t,e.source.value,e.source.start,e.source.end),Xt(e.attributes,t)),d(t,`;
39
- `,3)},$t=(e,t)=>{F(t),p(t,e.exportKind===`type`?`export type *`:`export *`,3,e.start,e.end),e.exported!=null&&(d(t,` as `,3),Zt(e.exported,t)),d(t,` from `,3),I(t,e.source.value,e.source.start,e.source.end),Xt(e.attributes,t),d(t,`;
40
- `,3)},en=(e,t)=>{F(t),p(t,`export default `,3,e.start,e.end);let{declaration:n}=e;switch(n.type){case`FunctionDeclaration`:case`TSDeclareFunction`:U(n,t),d(t,`
41
- `,3);break;case`ClassDeclaration`:ct(n,t),d(t,`
42
- `,3);break;case`TSInterfaceDeclaration`:$e(n,t),d(t,`
43
- `,3);break;default:t.last=6,K(n,t,1,0),d(t,`;
44
- `,3)}},tn=(e,t)=>{e.hashbang!=null&&(g(t,`#!`),g(t,e.hashbang.value),d(t,`
45
- `,3)),nn(e.body,t)},nn=(e,t)=>{let{length:n}=e;if(n===0)return;let r=0,i=e[0];for(;i.type===`ExpressionStatement`;)if(i.directive!=null){if(rn(i,t),++r>=n)return;i=e[r]}else{let e=M(i.expression);if(e.type===`Literal`&&typeof e.value==`string`){let n=t.indentLevel>0||t.pendingIndentAsSpace;F(t),n&&b(t,i.start,i.end),g(t,`(`),I(t,e.value,e.start,e.end),d(t,`);
46
- `,3),r++}break}for(;r<n;r++)X(e[r],t)},rn=(e,t)=>{F(t);let{directive:n}=e,r=`"`,{length:i}=n;for(let e=0;e<i;e++){let t=n[e];if(t===`"`){r=`'`;break}if(t===`'`)break;t===`\\`&&e++}_(t,r,e.start,e.end),g(t,n),g(t,r),d(t,`;
47
- `,3)},X=(e,t)=>{switch(e.type){case`ExpressionStatement`:an(e,t);break;case`VariableDeclaration`:F(t),Z(e,t,0),d(t,`;
48
- `,3);break;case`BlockStatement`:F(t),Q(e,t),d(t,`
49
- `,3);break;case`IfStatement`:F(t),on(e,t);break;case`ReturnStatement`:cn(e,t);break;case`FunctionDeclaration`:F(t),U(e,t),d(t,`
50
- `,3);break;case`ForStatement`:mn(e,t);break;case`WhileStatement`:fn(e,t);break;case`DoWhileStatement`:pn(e,t);break;case`SwitchStatement`:un(e,t);break;case`BreakStatement`:F(t),N(t),p(t,`break`,0,e.start,e.end),e.label!=null&&(d(t,` `,3),m(t,e.label.name,e.label.start,e.label.end)),d(t,`;
51
- `,3);break;case`ContinueStatement`:F(t),N(t),p(t,`continue`,0,e.start,e.end),e.label!=null&&(d(t,` `,3),m(t,e.label.name,e.label.start,e.label.end)),d(t,`;
52
- `,3);break;case`TryStatement`:ln(e,t);break;case`ThrowStatement`:F(t),N(t),p(t,`throw `,3,e.start,e.end),K(e.argument,t,0,0),d(t,`;
53
- `,3);break;case`ForInStatement`:hn(e,t);break;case`ForOfStatement`:gn(e,t);break;case`ClassDeclaration`:F(t),ct(e,t),d(t,`
54
- `,3);break;case`LabeledStatement`:F(t),N(t),b(t,e.start,e.end),m(t,e.label.name,e.label.start,e.label.end),d(t,`:`,3),$(e.body,t);break;case`EmptyStatement`:F(t),p(t,`;
55
- `,3,e.start,e.end);break;case`ImportDeclaration`:Yt(e,t);break;case`ExportNamedDeclaration`:Qt(e,t);break;case`ExportDefaultDeclaration`:en(e,t);break;case`ExportAllDeclaration`:$t(e,t);break;case`WithStatement`:F(t),N(t),p(t,`with(`,3,e.start,e.end),K(e.object,t,0,0),d(t,`)`,9),$(e.body,t);break;case`DebuggerStatement`:F(t),N(t),p(t,`debugger;
56
- `,3,e.start,e.end);break;case`TSModuleDeclaration`:F(t),Ze(e,t),d(t,`
57
- `,3);break;case`TSInterfaceDeclaration`:F(t),$e(e,t),d(t,`
58
- `,3);break;case`TSTypeAliasDeclaration`:F(t),et(e,t),d(t,`;
59
- `,3);break;case`TSEnumDeclaration`:F(t),nt(e,t),d(t,`
60
- `,3);break;case`TSImportEqualsDeclaration`:F(t),it(e,t),d(t,`;
61
- `,3);break;case`TSDeclareFunction`:F(t),U(e,t),d(t,`
62
- `,3);break;case`TSExportAssignment`:F(t),d(t,`export = `,3),K(e.expression,t,0,0),d(t,`;
63
- `,3);break;case`TSNamespaceExportDeclaration`:F(t),d(t,`export as namespace `,3),m(t,e.id.name,e.id.start,e.id.end),d(t,`;
64
- `,3);break;default:throw Error(`Unknown statement type: ${e.type}`)}},an=(e,t)=>{let n=t.indentLevel>0||t.pendingIndentAsSpace;F(t),n&&b(t,e.start,e.end),t.last=7,K(e.expression,t,0,0),d(t,`;
65
- `,3)},Z=(e,t,n)=>{N(t),e.declare?(p(t,`declare `,3,e.start,e.end),f(t,e.kind)):p(t,e.kind,0,e.start,e.end);let{declarations:r}=e,{length:i}=r;i>0&&d(t,` `,3);for(let e=0;e<i;e++){e>0&&d(t,`, `,3);let i=r[e],{id:a}=i;i.definite?(N(t),m(t,a.name,a.start,a.end),d(t,`!`,10),a.typeAnnotation!=null&&B(a.typeAnnotation,t)):q(a,t),i.init!=null&&(d(t,` = `,3),K(i.init,t,1,n))}},Q=(e,t)=>{let{body:n}=e,{length:r}=n;if(r===0){_(t,`{`,e.start,e.end),y(t,`}`,3,e.start,e.end);return}p(t,`{
66
- `,3,e.start,e.end),t.indentLevel++;for(let e=0;e<r;e++)X(n[e],t);t.indentLevel--,F(t),y(t,`}`,3,e.start,e.end)},on=(e,t)=>{N(t),p(t,`if (`,3,e.start,e.end),K(e.test,t,0,0);let{consequent:n,alternate:r}=e;n.type===`BlockStatement`?(d(t,`) `,3),Q(n,t),d(t,r==null?`
67
- `:` `,3)):sn(n)?(g(t,`) `),p(t,`{
68
- `,3,n.start,n.end),t.indentLevel++,X(n,t),t.indentLevel--,F(t),y(t,`}`,3,n.start,n.end),d(t,r==null?`
69
- `:` `,3)):(d(t,`)`,9),$(n,t),r!=null&&F(t)),r!=null&&(N(t),f(t,`else`),r.type===`BlockStatement`?(d(t,` `,3),Q(r,t),d(t,`
70
- `,3)):r.type===`IfStatement`?(d(t,` `,3),on(r,t)):$(r,t))},sn=e=>{for(;;)switch(e.type){case`IfStatement`:if(e.alternate==null)return!0;e=e.alternate;break;case`ForStatement`:case`ForOfStatement`:case`ForInStatement`:case`WhileStatement`:case`WithStatement`:case`LabeledStatement`:e=e.body;break;default:return!1}},cn=(e,t)=>{F(t),N(t);let{argument:n}=e;n==null?p(t,`return`,0,e.start,e.end):(p(t,`return `,3,e.start,e.end),K(n,t,0,0)),d(t,`;
71
- `,3)},ln=(e,t)=>{F(t),N(t),p(t,`try `,3,e.start,e.end),Q(e.block,t);let{handler:n}=e;n!=null&&(f(t,` catch`),n.param!=null&&(d(t,` (`,3),q(n.param,t),d(t,`)`,9)),d(t,` `,3),Q(n.body,t)),e.finalizer!=null&&(d(t,` finally `,3),Q(e.finalizer,t)),d(t,`
72
- `,3)},un=(e,t)=>{F(t),N(t),p(t,`switch (`,3,e.start,e.end),K(e.discriminant,t,0,0),d(t,`) `,3);let{cases:n}=e,{length:r}=n;if(r===0){_(t,`{`,e.start,e.end),y(t,`}
73
- `,3,e.start,e.end);return}p(t,`{
74
- `,3,e.start,e.end),t.indentLevel++;for(let e=0;e<r;e++)dn(n[e],t);t.indentLevel--,F(t),y(t,`}
75
- `,3,e.start,e.end)},dn=(e,t)=>{F(t),e.test==null?p(t,`default`,0,e.start,e.end):(p(t,`case `,3,e.start,e.end),K(e.test,t,0,0)),d(t,`:`,3);let{consequent:n}=e,{length:r}=n;if(r===1){$(n[0],t);return}d(t,`
76
- `,3),t.indentLevel++;for(let e=0;e<r;e++)X(n[e],t);t.indentLevel--},fn=(e,t)=>{F(t),N(t),p(t,`while (`,3,e.start,e.end),K(e.test,t,0,0),d(t,`)`,9),$(e.body,t)},pn=(e,t)=>{F(t),N(t),p(t,`do`,0,e.start,e.end);let{body:n}=e;n.type===`BlockStatement`?(d(t,` `,3),Q(n,t),d(t,` `,3)):n.type===`EmptyStatement`?(F(t),p(t,`;
77
- `,3,n.start,n.end)):(d(t,`
78
- `,3),t.indentLevel++,X(n,t),t.indentLevel--,F(t)),d(t,`while (`,3),K(e.test,t,0,0),d(t,`);
79
- `,3)},mn=(e,t)=>{F(t),N(t),p(t,`for (`,3,e.start,e.end);let{init:n}=e;n!=null&&(n.type===`VariableDeclaration`?Z(n,t,1):K(n,t,0,1));let{test:r,update:i}=e;r==null?d(t,`;`,3):(d(t,`; `,3),K(r,t,0,0)),i==null?d(t,`;)`,9):(d(t,`; `,3),K(i,t,0,0),d(t,`)`,9)),$(e.body,t)},hn=(e,t)=>{F(t),N(t),p(t,`for (`,3,e.start,e.end);let{left:n}=e;n.type===`VariableDeclaration`?Z(n,t,1):Y(n,t),d(t,` in `,3),K(e.right,t,0,0),d(t,`)`,9),$(e.body,t)},gn=(e,t)=>{F(t),N(t),p(t,`for`,0,e.start,e.end),e.await&&f(t,` await`),d(t,` (`,3);let{left:n}=e;if(n.type===`VariableDeclaration`)Z(n,t,0);else{let r=M(n),i=_n(n)||!e.await&&r.type===`Identifier`&&r.name===`async`;i&&d(t,`(`,3),Y(n,t),i&&d(t,`)`,9)}d(t,` of `,3),K(e.right,t,1,0),d(t,`)`,9),$(e.body,t)},_n=e=>{for(;;)switch(e.type){case`Identifier`:return e.name===`let`;case`MemberExpression`:if(e.computed){let t=M(e.object);if(t.type===`Identifier`&&t.name===`let`)return!1}e=e.object;break;case`ParenthesizedExpression`:e=e.expression;break;default:return!1}},$=(e,t)=>{e.type===`BlockStatement`?(d(t,` `,3),Q(e,t),d(t,`
80
- `,3)):e.type===`EmptyStatement`?d(t,`;
81
- `,3):(t.pendingIndentAsSpace=!0,X(e,t))},vn=(e,t,n)=>(e.type===`Program`?tn(e,t):X(e,t),{code:t.output,map:r(t,n)});export{vn as printSync};
26
+ `,3),F(t)):e!==0&&m(t,`, `,3);let a=n[e];a!=null&&(a.type===`SpreadElement`?(g(t,`...`,3,a.start,a.end),K(a.argument,t,1,0)):K(a,t,1,0)),e===r-1&&a==null&&m(t,`,`,3)}i&&(m(t,`
27
+ `,3),t.indentLevel--,F(t)),S(t,`]`,9,e.start,e.end)},Mt=(e,t,n,r)=>{let{left:i}=e,a=n>=4;!a&&i.type===`ObjectPattern`&&(a=(t.last-1|1)==7),a&&m(t,`(`,3),C(t,e.start,e.end),Y(i,t),m(t,de[e.operator],3),K(e.right,t,1,r),a&&m(t,`)`,9)},Nt=(e,t,n,r)=>{let i=n>=(e.prefix?18:19);i&&m(t,`(`,3);let a=pe(e.operator);e.prefix?(P(t,a),g(t,e.operator,a,e.start,e.end),K(e.argument,t,18,r)):(C(t,e.start,e.end),K(e.argument,t,19,r),P(t,a),m(t,e.operator,a)),i&&m(t,`)`,9)},Pt=(e,t,n,r)=>{let i=n>=18;i&&m(t,`(`,3);let{operator:a}=e,o=!1;if(a.length>1)N(t),g(t,a,0,e.start,e.end),m(t,` `,3),o=a===`delete`&&e.argument.type===`Literal`&&e.argument.value===1/0;else{let n=fe(a);P(t,n),n===10&&t.last===4&&(n=11),g(t,a,n,e.start,e.end)}o&&m(t,`(0, `,3),K(e.argument,t,17,r),o&&m(t,`)`,9),i&&m(t,`)`,9)},Ft=(e,t,n,r)=>{let i=n>=5,a=0;i?m(t,`(`,3):a=r&1;let o=5;{let t=M(e.test).type;(t===`TSAsExpression`||t===`TSSatisfiesExpression`)&&(o=13)}K(e.test,t,o,a),m(t,` ? `,3),K(e.consequent,t,3,0),m(t,` : `,3),K(e.alternate,t,3,a),i&&m(t,`)`,9)},It=(e,t,n,r)=>{let i=n>=1;i&&m(t,`(`,3);let a=r&-3,{expressions:o}=e,{length:s}=o;for(let e=0;e<s;e++)e>0&&m(t,`, `,3),K(o[e],t,0,a);i&&m(t,`)`,9)},Lt=(e,t,n,r)=>{let i=n>=4,a=i?r&-2:r;i&&m(t,`(`,3),e.async&&(N(t),g(t,`async `,3,e.start,e.end)),H(e.typeParameters,t);let{returnType:o}=e;o==null?ut(e.params,t):(W(e.params,t),B(o,t),m(t,` => `,3));let{body:s}=e;s.type===`BlockStatement`?lt(s,t):(t.last=8,K(s,t,1,a)),i&&m(t,`)`,9)},Rt=(e,t,n)=>{let r=n>=21;r&&m(t,`(`,3),N(t),g(t,`new `,3,e.start,e.end),K(e.callee,t,20,2),z(e.typeArguments,t),Dt(e,e.arguments,t),r&&m(t,`)`,9)},zt=(e,t)=>{b(t,"`",e.start,e.end);let{quasis:n,expressions:r}=e,{length:i}=r,a=n[0];y(t,Bt(a));for(let e=0;e<i;e++){m(t,"${",3),K(r[e],t,0,0),y(t,`}`);let i=n[e+1],a=Bt(i);a.length>0&&te(t,1,i.start,i.end),y(t,a)}m(t,"`",3)},Bt=e=>{let{raw:t}=e.value;return t.includes(`\r`)&&(t=t.replace(/\r\n?/g,`
28
+ `)),De(t)},Vt=(e,t,n,r)=>{let i=n>=18;i&&m(t,`(`,3),N(t),g(t,`await `,3,e.start,e.end),K(e.argument,t,17,r),i&&m(t,`)`,9)},Ht=(e,t,n)=>{let r=n>=4;r&&m(t,`(`,3),N(t),g(t,`yield`,0,e.start,e.end),e.delegate&&m(t,`*`,3),e.argument!=null&&(m(t,` `,3),K(e.argument,t,3,0)),r&&m(t,`)`,9)},Ut=(e,t,n,r)=>{let i=n>=20||!!(r&2);i&&m(t,`(`,3),N(t),g(t,`import`,0,e.start,e.end),e.phase!=null&&(y(t,`.`),h(t,e.phase)),m(t,`(`,3),K(e.source,t,1,0),e.options!=null&&(m(t,`, `,3),K(e.options,t,1,0)),m(t,`)`,9),i&&m(t,`)`,9)},Wt=(e,t,n,r)=>{n>=19||r&2?(m(t,`(`,3),K(e.expression,t,0,0),m(t,`)`,9)):K(e.expression,t,n,r)},q=(e,t)=>{switch(e.type){case`Identifier`:N(t),_(t,e.name,e.start,e.end),e.optional&&m(t,`?`,5),e.typeAnnotation!=null&&B(e.typeAnnotation,t);break;case`ObjectPattern`:Gt(e,t),e.optional&&m(t,`?`,5),e.typeAnnotation!=null&&B(e.typeAnnotation,t);break;case`ArrayPattern`:qt(e,t),e.optional&&m(t,`?`,5),e.typeAnnotation!=null&&B(e.typeAnnotation,t);break;case`AssignmentPattern`:q(e.left,t),m(t,` = `,3),K(e.right,t,1,0);break;case`RestElement`:g(t,`...`,3,e.start,e.end),q(e.argument,t),e.typeAnnotation!=null&&B(e.typeAnnotation,t);break;default:throw Error(`Unknown binding pattern type: ${e.type}`)}},Gt=(e,t)=>{let{properties:n}=e,{length:r}=n;if(r===0){g(t,`{}`,3,e.start,e.end);return}g(t,`{ `,3,e.start,e.end);for(let e=0;e<r;e++){e>0&&m(t,`, `,3);let r=n[e];r.type===`RestElement`?(g(t,`...`,3,r.start,r.end),q(r.argument,t)):Kt(r,t)}m(t,` }`,3)},Kt=(e,t)=>{let{key:n,value:r}=e,i=!1;!e.computed&&n.type===`Identifier`&&(r.type===`Identifier`&&n.name===r.name||r.type===`AssignmentPattern`&&r.left.type===`Identifier`&&n.name===r.left.name)&&(i=!0),i||(e.computed?(m(t,`[`,3),K(n,t,1,0),m(t,`]`,9)):J(n,t),m(t,`: `,3)),q(r,t)},J=(e,t)=>{switch(e.type){case`Identifier`:N(t),_(t,e.name,e.start,e.end);break;case`PrivateIdentifier`:v(t,e.name,e.start,e.end);break;case`Literal`:typeof e.value==`string`?I(t,e.value,e.start,e.end):Oe(e,t,1,0);break;default:K(e,t,1,0)}},qt=(e,t)=>{let{elements:n}=e,{length:r}=n,i=null;if(r>0){let e=n[r-1];e!=null&&e.type===`RestElement`&&(i=e,r--)}g(t,`[`,3,e.start,e.end);for(let e=0;e<r;e++){e!==0&&m(t,`, `,3);let a=n[e];a!=null&&q(a,t),e===r-1&&(a==null||i!==null)&&m(t,`,`,3)}i!==null&&(m(t,` `,3),q(i,t)),m(t,`]`,9)},Y=(e,t)=>{switch(e.type){case`Identifier`:N(t),_(t,e.name,e.start,e.end);break;case`MemberExpression`:Tt(e,t,0);break;case`ObjectPattern`:Jt(e,t);break;case`ArrayPattern`:Zt(e,t);break;case`TSAsExpression`:case`TSSatisfiesExpression`:K(e,t,13,0);break;case`TSTypeAssertion`:K(e,t,18,0);break;default:K(e,t,1,0)}},Jt=(e,t)=>{g(t,`{`,3,e.start,e.end);let{properties:n}=e,{length:r}=n;for(let e=0;e<r;e++){e>0&&m(t,`, `,3);let r=n[e];r.type===`RestElement`?(g(t,`...`,3,r.start,r.end),Y(r.argument,t)):Yt(r,t)}m(t,`}`,3)},Yt=(e,t)=>{if(e.shorthand){let{value:n}=e;n.type===`AssignmentPattern`?(N(t),_(t,n.left.name,n.left.start,n.left.end),m(t,` = `,3),K(n.right,t,1,0)):(N(t),_(t,n.name,n.start,n.end))}else{let{key:n}=e;e.computed?(m(t,`[`,3),K(n,t,1,0),m(t,`]`,9)):J(n,t),m(t,`: `,3),Xt(e.value,t)}},Xt=(e,t)=>{e.type===`AssignmentPattern`?(Y(e.left,t),m(t,` = `,3),K(e.right,t,1,0)):Y(e,t)},Zt=(e,t)=>{let{elements:n}=e,{length:r}=n,i=null;if(r>0){let e=n[r-1];e!=null&&e.type===`RestElement`&&(i=e,r--)}g(t,`[`,3,e.start,e.end);for(let e=0;e<r;e++){e!==0&&m(t,`, `,3);let a=n[e];a!=null&&Xt(a,t),e===r-1&&(a==null||i!==null)&&m(t,`,`,3)}i!==null&&(r>0&&m(t,` `,3),g(t,`...`,3,i.start,i.end),Y(i.argument,t)),m(t,`]`,9)},Qt=(e,t)=>{F(t),N(t),g(t,`import`,0,e.start,e.end),e.importKind===`type`&&h(t,` type`),e.phase!=null&&(y(t,` `),h(t,e.phase));let{specifiers:n}=e,{length:r}=n;if(r===0){m(t,` `,3),I(t,e.source.value,e.source.start,e.source.end),$t(e.attributes,t),m(t,`;
29
+ `,3);return}let i=!1;for(let e=0;e<r;e++){let a=n[e];switch(a.type){case`ImportDefaultSpecifier`:i?(m(t,` },`,3),i=!1):e===0?m(t,` `,3):m(t,`, `,3),N(t),g(t,a.local.name,0,a.start,a.end),e===r-1&&m(t,` `,3);break;case`ImportNamespaceSpecifier`:i?(m(t,` },`,3),i=!1):e===0?m(t,` `,3):m(t,`, `,3),m(t,`* as `,3),_(t,a.local.name,a.local.start,a.local.end),m(t,` `,3);break;default:{i?m(t,`, `,3):(e!==0&&m(t,`,`,3),i=!0,m(t,` { `,3)),a.importKind===`type`&&m(t,`type `,3);let n=en(a.imported,t),{local:r}=a;n!==r.name&&(m(t,` as `,3),_(t,r.name,r.start,r.end));break}}}m(t,i?` } from `:`from `,3),I(t,e.source.value,e.source.start,e.source.end),$t(e.attributes,t),m(t,`;
30
+ `,3)},$t=(e,t)=>{if(e==null)return;let{length:n}=e;if(n!==0){y(t,` `),g(t,`with { `,3,e[0].start,e[0].end);for(let r=0;r<n;r++){r>0&&m(t,`, `,3);let n=e[r],{key:i}=n;i.type===`Identifier`?h(t,i.name):I(t,i.value,i.start,i.end),m(t,`: `,3),I(t,n.value.value,n.value.start,n.value.end)}m(t,` }`,3)}},en=(e,t)=>e.type===`Identifier`?(N(t),_(t,e.name,e.start,e.end),e.name):(I(t,e.value,e.start,e.end),e.value),tn=(e,t)=>{F(t),g(t,`export `,3,e.start,e.end);let{declaration:n}=e;if(n!=null){switch(n.type){case`VariableDeclaration`:Z(n,t,0),m(t,`;
31
+ `,3);break;case`FunctionDeclaration`:case`TSDeclareFunction`:U(n,t),m(t,`
32
+ `,3);break;case`ClassDeclaration`:dt(n,t),m(t,`
33
+ `,3);break;case`TSModuleDeclaration`:et(n,t),m(t,`
34
+ `,3);break;case`TSInterfaceDeclaration`:nt(n,t),m(t,`
35
+ `,3);break;case`TSEnumDeclaration`:at(n,t),m(t,`
36
+ `,3);break;case`TSTypeAliasDeclaration`:rt(n,t),m(t,`;
37
+ `,3);break;case`TSImportEqualsDeclaration`:st(n,t),m(t,`;
38
+ `,3);break;default:throw Error(`Unknown export declaration type: ${n.type}`)}return}e.exportKind===`type`&&m(t,`type `,3),m(t,`{`,3);let{specifiers:r}=e,{length:i}=r;if(i>0){m(t,` `,3);for(let e=0;e<i;e++){e>0&&m(t,`, `,3);let n=r[e];n.exportKind===`type`&&m(t,`type `,3),en(n.local,t)!==(n.exported.type===`Identifier`?n.exported.name:n.exported.value)&&(m(t,` as `,3),en(n.exported,t))}m(t,` `,3)}m(t,`}`,3),e.source!=null&&(m(t,` from `,3),I(t,e.source.value,e.source.start,e.source.end),$t(e.attributes,t)),m(t,`;
39
+ `,3)},nn=(e,t)=>{F(t),g(t,e.exportKind===`type`?`export type *`:`export *`,3,e.start,e.end),e.exported!=null&&(m(t,` as `,3),en(e.exported,t)),m(t,` from `,3),I(t,e.source.value,e.source.start,e.source.end),$t(e.attributes,t),m(t,`;
40
+ `,3)},rn=(e,t)=>{F(t),g(t,`export default `,3,e.start,e.end);let{declaration:n}=e;switch(n.type){case`FunctionDeclaration`:case`TSDeclareFunction`:U(n,t),m(t,`
41
+ `,3);break;case`ClassDeclaration`:dt(n,t),m(t,`
42
+ `,3);break;case`TSInterfaceDeclaration`:nt(n,t),m(t,`
43
+ `,3);break;default:t.last=6,K(n,t,1,0),m(t,`;
44
+ `,3)}},an=(e,t)=>{e.hashbang!=null&&(y(t,`#!`),y(t,e.hashbang.value),m(t,`
45
+ `,3)),on(e.body,t)},on=(e,t)=>{let{length:n}=e;if(n===0)return;let r=0,i=e[0];for(;i.type===`ExpressionStatement`;)if(i.directive!=null){if(sn(i,t),++r>=n)return;i=e[r]}else{let e=M(i.expression);if(e.type===`Literal`&&typeof e.value==`string`){let n=t.indentLevel>0||t.pendingIndentAsSpace;F(t),n&&C(t,i.start,i.end),y(t,`(`),I(t,e.value,e.start,e.end),m(t,`);
46
+ `,3),r++}break}for(;r<n;r++)X(e[r],t)},sn=(e,t)=>{F(t);let{directive:n}=e,r=`"`,{length:i}=n;for(let e=0;e<i;e++){let t=n[e];if(t===`"`){r=`'`;break}if(t===`'`)break;t===`\\`&&e++}b(t,r,e.start,e.end),y(t,n),y(t,r),m(t,`;
47
+ `,3)},X=(e,t)=>{switch(e.type){case`ExpressionStatement`:cn(e,t);break;case`VariableDeclaration`:F(t),Z(e,t,0),m(t,`;
48
+ `,3);break;case`BlockStatement`:F(t),Q(e,t),m(t,`
49
+ `,3);break;case`IfStatement`:F(t),ln(e,t);break;case`ReturnStatement`:dn(e,t);break;case`FunctionDeclaration`:F(t),U(e,t),m(t,`
50
+ `,3);break;case`ForStatement`:_n(e,t);break;case`WhileStatement`:hn(e,t);break;case`DoWhileStatement`:gn(e,t);break;case`SwitchStatement`:pn(e,t);break;case`BreakStatement`:F(t),N(t),g(t,`break`,0,e.start,e.end),e.label!=null&&(m(t,` `,3),_(t,e.label.name,e.label.start,e.label.end)),m(t,`;
51
+ `,3);break;case`ContinueStatement`:F(t),N(t),g(t,`continue`,0,e.start,e.end),e.label!=null&&(m(t,` `,3),_(t,e.label.name,e.label.start,e.label.end)),m(t,`;
52
+ `,3);break;case`TryStatement`:fn(e,t);break;case`ThrowStatement`:F(t),N(t),g(t,`throw `,3,e.start,e.end),K(e.argument,t,0,0),m(t,`;
53
+ `,3);break;case`ForInStatement`:vn(e,t);break;case`ForOfStatement`:yn(e,t);break;case`ClassDeclaration`:F(t),dt(e,t),m(t,`
54
+ `,3);break;case`LabeledStatement`:F(t),N(t),C(t,e.start,e.end),_(t,e.label.name,e.label.start,e.label.end),m(t,`:`,3),$(e.body,t);break;case`EmptyStatement`:F(t),g(t,`;
55
+ `,3,e.start,e.end);break;case`ImportDeclaration`:Qt(e,t);break;case`ExportNamedDeclaration`:tn(e,t);break;case`ExportDefaultDeclaration`:rn(e,t);break;case`ExportAllDeclaration`:nn(e,t);break;case`WithStatement`:F(t),N(t),g(t,`with(`,3,e.start,e.end),K(e.object,t,0,0),m(t,`)`,9),$(e.body,t);break;case`DebuggerStatement`:F(t),N(t),g(t,`debugger;
56
+ `,3,e.start,e.end);break;case`TSModuleDeclaration`:F(t),et(e,t),m(t,`
57
+ `,3);break;case`TSInterfaceDeclaration`:F(t),nt(e,t),m(t,`
58
+ `,3);break;case`TSTypeAliasDeclaration`:F(t),rt(e,t),m(t,`;
59
+ `,3);break;case`TSEnumDeclaration`:F(t),at(e,t),m(t,`
60
+ `,3);break;case`TSImportEqualsDeclaration`:F(t),st(e,t),m(t,`;
61
+ `,3);break;case`TSDeclareFunction`:F(t),U(e,t),m(t,`
62
+ `,3);break;case`TSExportAssignment`:F(t),m(t,`export = `,3),K(e.expression,t,0,0),m(t,`;
63
+ `,3);break;case`TSNamespaceExportDeclaration`:F(t),m(t,`export as namespace `,3),_(t,e.id.name,e.id.start,e.id.end),m(t,`;
64
+ `,3);break;default:throw Error(`Unknown statement type: ${e.type}`)}},cn=(e,t)=>{let n=t.indentLevel>0||t.pendingIndentAsSpace;F(t),n&&C(t,e.start,e.end),t.last=7,K(e.expression,t,0,0),m(t,`;
65
+ `,3)},Z=(e,t,n)=>{N(t),e.declare?(g(t,`declare `,3,e.start,e.end),h(t,e.kind)):g(t,e.kind,0,e.start,e.end);let{declarations:r}=e,{length:i}=r;i>0&&m(t,` `,3);for(let e=0;e<i;e++){e>0&&m(t,`, `,3);let i=r[e],{id:a}=i;i.definite?(N(t),_(t,a.name,a.start,a.end),m(t,`!`,10),a.typeAnnotation!=null&&B(a.typeAnnotation,t)):q(a,t),i.init!=null&&(m(t,` = `,3),K(i.init,t,1,n))}},Q=(e,t)=>{let{body:n}=e,{length:r}=n;if(r===0){b(t,`{`,e.start,e.end),S(t,`}`,3,e.start,e.end);return}g(t,`{
66
+ `,3,e.start,e.end),t.indentLevel++;for(let e=0;e<r;e++)X(n[e],t);t.indentLevel--,F(t),S(t,`}`,3,e.start,e.end)},ln=(e,t)=>{N(t),g(t,`if (`,3,e.start,e.end),K(e.test,t,0,0);let{consequent:n,alternate:r}=e;n.type===`BlockStatement`?(m(t,`) `,3),Q(n,t),m(t,r==null?`
67
+ `:` `,3)):un(n)?(y(t,`) `),g(t,`{
68
+ `,3,n.start,n.end),t.indentLevel++,X(n,t),t.indentLevel--,F(t),S(t,`}`,3,n.start,n.end),m(t,r==null?`
69
+ `:` `,3)):(m(t,`)`,9),$(n,t),r!=null&&F(t)),r!=null&&(N(t),h(t,`else`),r.type===`BlockStatement`?(m(t,` `,3),Q(r,t),m(t,`
70
+ `,3)):r.type===`IfStatement`?(m(t,` `,3),ln(r,t)):$(r,t))},un=e=>{for(;;)switch(e.type){case`IfStatement`:if(e.alternate==null)return!0;e=e.alternate;break;case`ForStatement`:case`ForOfStatement`:case`ForInStatement`:case`WhileStatement`:case`WithStatement`:case`LabeledStatement`:e=e.body;break;default:return!1}},dn=(e,t)=>{F(t),N(t);let{argument:n}=e;n==null?g(t,`return`,0,e.start,e.end):(g(t,`return `,3,e.start,e.end),K(n,t,0,0)),m(t,`;
71
+ `,3)},fn=(e,t)=>{F(t),N(t),g(t,`try `,3,e.start,e.end),Q(e.block,t);let{handler:n}=e;n!=null&&(h(t,` catch`),n.param!=null&&(m(t,` (`,3),q(n.param,t),m(t,`)`,9)),m(t,` `,3),Q(n.body,t)),e.finalizer!=null&&(m(t,` finally `,3),Q(e.finalizer,t)),m(t,`
72
+ `,3)},pn=(e,t)=>{F(t),N(t),g(t,`switch (`,3,e.start,e.end),K(e.discriminant,t,0,0),m(t,`) `,3);let{cases:n}=e,{length:r}=n;if(r===0){b(t,`{`,e.start,e.end),S(t,`}
73
+ `,3,e.start,e.end);return}g(t,`{
74
+ `,3,e.start,e.end),t.indentLevel++;for(let e=0;e<r;e++)mn(n[e],t);t.indentLevel--,F(t),S(t,`}
75
+ `,3,e.start,e.end)},mn=(e,t)=>{F(t),e.test==null?g(t,`default`,0,e.start,e.end):(g(t,`case `,3,e.start,e.end),K(e.test,t,0,0)),m(t,`:`,3);let{consequent:n}=e,{length:r}=n;if(r===1){$(n[0],t);return}m(t,`
76
+ `,3),t.indentLevel++;for(let e=0;e<r;e++)X(n[e],t);t.indentLevel--},hn=(e,t)=>{F(t),N(t),g(t,`while (`,3,e.start,e.end),K(e.test,t,0,0),m(t,`)`,9),$(e.body,t)},gn=(e,t)=>{F(t),N(t),g(t,`do`,0,e.start,e.end);let{body:n}=e;n.type===`BlockStatement`?(m(t,` `,3),Q(n,t),m(t,` `,3)):n.type===`EmptyStatement`?(F(t),g(t,`;
77
+ `,3,n.start,n.end)):(m(t,`
78
+ `,3),t.indentLevel++,X(n,t),t.indentLevel--,F(t)),m(t,`while (`,3),K(e.test,t,0,0),m(t,`);
79
+ `,3)},_n=(e,t)=>{F(t),N(t),g(t,`for (`,3,e.start,e.end);let{init:n}=e;n!=null&&(n.type===`VariableDeclaration`?Z(n,t,1):K(n,t,0,1));let{test:r,update:i}=e;r==null?m(t,`;`,3):(m(t,`; `,3),K(r,t,0,0)),i==null?m(t,`;)`,9):(m(t,`; `,3),K(i,t,0,0),m(t,`)`,9)),$(e.body,t)},vn=(e,t)=>{F(t),N(t),g(t,`for (`,3,e.start,e.end);let{left:n}=e;n.type===`VariableDeclaration`?Z(n,t,1):Y(n,t),m(t,` in `,3),K(e.right,t,0,0),m(t,`)`,9),$(e.body,t)},yn=(e,t)=>{F(t),N(t),g(t,`for`,0,e.start,e.end),e.await&&h(t,` await`),m(t,` (`,3);let{left:n}=e;if(n.type===`VariableDeclaration`)Z(n,t,0);else{let r=M(n),i=bn(n)||!e.await&&r.type===`Identifier`&&r.name===`async`;i&&m(t,`(`,3),Y(n,t),i&&m(t,`)`,9)}m(t,` of `,3),K(e.right,t,1,0),m(t,`)`,9),$(e.body,t)},bn=e=>{for(;;)switch(e.type){case`Identifier`:return e.name===`let`;case`MemberExpression`:if(e.computed){let t=M(e.object);if(t.type===`Identifier`&&t.name===`let`)return!1}e=e.object;break;case`ParenthesizedExpression`:e=e.expression;break;default:return!1}},$=(e,t)=>{e.type===`BlockStatement`?(m(t,` `,3),Q(e,t),m(t,`
80
+ `,3)):e.type===`EmptyStatement`?m(t,`;
81
+ `,3):(t.pendingIndentAsSpace=!0,X(e,t))},xn=(e,n,r)=>{e.type===`Program`?an(e,n):X(e,n);let{outputChunks:i}=n,a;return i===null?(a=n.output,t(a)):(i.push(n.output),a=i.join(``),n.outputChunks=null),{code:a,map:o(n,a,r)}};export{xn as printSync};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oxc-codegen",
3
- "version": "0.147.0",
3
+ "version": "0.149.0",
4
4
  "description": "Fast JavaScript code generator from an ESTree-compliant AST",
5
5
  "keywords": [
6
6
  "ast",
@@ -38,11 +38,11 @@
38
38
  "devDependencies": {
39
39
  "@types/node": "24.1.0",
40
40
  "cross-env": "^10.1.0",
41
- "rolldown": "1.2.5",
42
- "tsdown": "0.22.14",
43
- "vitest": "4.1.11",
44
41
  "oxc-codegen-conformance": "0.0.0",
45
- "oxc-parser": "0.147.0"
42
+ "oxc-parser": "0.149.0",
43
+ "rolldown": "1.2.7",
44
+ "tsdown": "0.23.0",
45
+ "vitest": "5.0.0"
46
46
  },
47
47
  "engines": {
48
48
  "node": "^20.19.0 || >=22.12.0"