Skip to content

Commit 3ad801e

Browse files
committed
feat: support removing h from render methods
1 parent a9baa9f commit 3ad801e

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

transformations/remove-contextual-h-from-render.ts

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,15 @@ export const transformAST: ASTTransformation = (context) => {
1616
},
1717
})
1818

19-
if (renderFns.length) {
19+
const renderMethods = root.find(j.ObjectMethod, {
20+
key: {
21+
name: 'render',
22+
},
23+
params: (params: Array<any>) =>
24+
j.Identifier.check(params[0]) && params[0].name === 'h',
25+
})
26+
27+
if (renderFns.length || renderMethods.length) {
2028
addImport(context, {
2129
specifier: { type: 'named', imported: 'h' },
2230
source: 'vue',
@@ -25,9 +33,11 @@ export const transformAST: ASTTransformation = (context) => {
2533
renderFns.forEach(({ node }) => {
2634
;(node.value as ArrowFunctionExpression).params.shift()
2735
})
28-
}
2936

30-
// TODO: render methods
37+
renderMethods.forEach(({ node }) => {
38+
node.params.shift()
39+
})
40+
}
3141
}
3242

3343
export default wrap(transformAST)

0 commit comments

Comments
 (0)