@@ -61,22 +61,18 @@ export default function transformer(file: FileInfo, api: API, options) {
6161 * const { register } = useForm();
6262 * ^
6363 * */
64- const registerProperties = j ( useFormDeclarator ) . find ( j . Property , {
65- key : { name : REGISTER }
64+ const registerProperties = j ( useFormDeclarator ) . find ( j . Identifier , {
65+ name : REGISTER
6666 } ) ;
6767
6868 registerProperties . forEach ( ( registerProperty ) => {
69- if ( registerProperty . value . value . type !== 'Identifier' ) {
70- return ;
71- }
72-
7369 /**
7470 * Retrieve `register` property name
7571 * @example
7672 * const { register } = useForm();
7773 * const { register: registerCustomName } = useForm();
7874 * */
79- const register = registerProperty . value . value . name ;
75+ const register = registerProperty . parentPath . value . value . name ;
8076
8177 /**
8278 * Retrieve the related parent component
@@ -111,21 +107,25 @@ export default function transformer(file: FileInfo, api: API, options) {
111107 return ;
112108 }
113109
114- const jsxAttribute = isCallExpression
110+ const maybeJsxAttribute = isCallExpression
115111 ? registerIdentifier . parent . parent . parent
116112 : registerIdentifier . parent . parent ;
117113
118- if ( jsxAttribute . value . name . name !== 'ref' ) return ;
119-
120- const jsxOpeningElement = j ( jsxAttribute . parentPath ) ;
114+ if ( maybeJsxAttribute . value . name ?. name !== 'ref' ) return ;
121115
116+ const jsxOpeningElement = j ( maybeJsxAttribute . parentPath ) ;
122117 // We search for all `name` attribute of the JSX element
123118 const nameAttributes = jsxOpeningElement . find ( j . JSXAttribute , {
124119 name : { name : 'name' }
125120 } ) ;
126121
127122 nameAttributes . forEach ( ( nameAttribute ) => {
128- if ( nameAttribute . value . value . type !== 'Literal' ) return ;
123+ if (
124+ nameAttribute . value . value . type !== 'Literal' &&
125+ nameAttribute . value . value . type !== 'StringLiteral'
126+ ) {
127+ return ;
128+ }
129129
130130 const name = nameAttribute . value . value . value ;
131131 /**
@@ -152,7 +152,7 @@ export default function transformer(file: FileInfo, api: API, options) {
152152 } ) ;
153153
154154 // We remove the old `ref` attribute
155- j ( jsxAttribute ) . remove ( ) ;
155+ j ( maybeJsxAttribute ) . remove ( ) ;
156156 } ) ;
157157 } ) ;
158158 } ) ;
0 commit comments