11import { HELPER_PREFIX } from '@vue-macros/common'
2- import { replaceRange } from 'ts-macro'
32import { transformDefineStyle } from './define-style'
43import type { RootMap , TransformOptions } from '.'
54
@@ -21,14 +20,13 @@ export function transformJsxMacros(
2120 ( modifier ) => modifier . kind === ts . SyntaxKind . AsyncKeyword ,
2221 )
2322 if ( asyncModifier && macros . defineComponent )
24- replaceRange ( codes , asyncModifier . pos , asyncModifier . end )
23+ codes . replaceRange ( asyncModifier . pos , asyncModifier . end )
2524 const result = `({}) as __VLS_PickNotAny<typeof ${ HELPER_PREFIX } ctx.render, {}> & { __ctx: typeof ${ HELPER_PREFIX } ctx }`
2625
2726 const propsType = root . parameters [ 0 ] ?. type
28- ? String ( root . parameters [ 0 ] . type . getText ( ast ) )
27+ ? root . parameters [ 0 ] . type . getText ( ast )
2928 : '{}'
30- replaceRange (
31- codes ,
29+ codes . replaceRange (
3230 root . parameters . pos ,
3331 root . parameters . pos ,
3432 ts . isArrowFunction ( root ) && root . parameters . pos === root . pos ? '(' : '' ,
@@ -40,24 +38,18 @@ export function transformJsxMacros(
4038 `${ HELPER_PREFIX } setup = (${ asyncModifier ? 'async' : '' } (` ,
4139 )
4240 if ( ts . isArrowFunction ( root ) ) {
43- replaceRange (
44- codes ,
41+ codes . replaceRange (
4542 root . end ,
4643 root . end ,
4744 `))${ root . pos === root . parameters . pos ? ')' : '' } => ` ,
4845 result ,
4946 )
5047 } else {
51- replaceRange (
52- codes ,
53- root . body . getStart ( ast ) ,
54- root . body . getStart ( ast ) ,
55- '=>' ,
56- )
57- replaceRange ( codes , root . end , root . end , `)){ return ` , result , '}' )
48+ codes . replaceRange ( root . body . getStart ( ast ) , root . body . getStart ( ast ) , '=>' )
49+ codes . replaceRange ( root . end , root . end , `)){ return ` , result , '}' )
5850 }
5951
60- ts . forEachChild ( root . body , ( node ) => {
52+ root . body . forEachChild ( ( node ) => {
6153 if ( ts . isReturnStatement ( node ) && node . expression ) {
6254 const props = [ ...( macros . defineModel ?? [ ] ) ]
6355 const elements =
@@ -68,12 +60,11 @@ export function transformJsxMacros(
6860 : [ ]
6961 for ( const element of elements ) {
7062 if ( ts . isIdentifier ( element . name ) ) {
71- const isRequired = ts . forEachChild (
72- element ,
63+ const isRequired = element . forEachChild (
7364 function isNonNullExpression ( node ) : boolean {
7465 return (
7566 ts . isNonNullExpression ( node ) ||
76- ! ! ts . forEachChild ( node , isNonNullExpression )
67+ ! ! node . forEachChild ( isNonNullExpression )
7768 )
7869 } ,
7970 )
@@ -89,15 +80,13 @@ export function transformJsxMacros(
8980 ( ts . isArrowFunction ( node . expression ) ||
9081 ts . isFunctionExpression ( node . expression ) ) &&
9182 macros . defineComponent
92- replaceRange (
93- codes ,
83+ codes . replaceRange (
9484 node . getStart ( ast ) ,
9585 node . expression . getStart ( ast ) ,
9686 `const ${ HELPER_PREFIX } render = ` ,
9787 shouldWrapByCall ? '(' : '' ,
9888 )
99- replaceRange (
100- codes ,
89+ codes . replaceRange (
10190 node . expression . end ,
10291 node . expression . end ,
10392 shouldWrapByCall ? ')()' : '' ,
0 commit comments