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