@@ -4,7 +4,7 @@ The actual snapshot is saved in `test.ts.snap`.
44
55Generated by [ AVA] ( https://avajs.dev ) .
66
7- ## works
7+ ## Simple Transform
88
99> Snapshot 1
1010
@@ -14,15 +14,15 @@ Generated by [AVA](https://avajs.dev).
1414 const [a, setA] = React.useState(1);␊
1515 ␊
1616 const onPress = () => {␊
17- setA(a + 1);␊
17+ setA(_prevState => _prevState + 1);␊
1818 };␊
1919 ␊
2020 return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("p", null, a), /*#__PURE__*/React.createElement("button", {␊
2121 onClick: onPress␊
2222 }, "Press"));␊
2323 }`
2424
25- ## Simple Transform
25+ ## Simple Transform 2
2626
2727> Snapshot 1
2828
@@ -32,14 +32,37 @@ Generated by [AVA](https://avajs.dev).
3232 const [a, setA] = React.useState(1);␊
3333 ␊
3434 const onPress = () => {␊
35- setA(a + 1);␊
35+ setA(x => {␊
36+ console.log(x);␊
37+ return x + 1;␊
38+ });␊
3639 };␊
3740 ␊
3841 return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("p", null, a), /*#__PURE__*/React.createElement("button", {␊
3942 onClick: onPress␊
4043 }, "Press"));␊
4144 }`
4245
46+ ## Simple Transform 3
47+
48+ > Snapshot 1
49+
50+ `import * as React from "react";␊
51+ ␊
52+ function Component() {␊
53+ const [a, setA] = React.useState("");␊
54+ ␊
55+ const onChange = e => {␊
56+ setA(_prevState => e.target.value);␊
57+ setA(_prevState2 => _prevState2.toUpperCase());␊
58+ };␊
59+ ␊
60+ return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("input", {␊
61+ value: a,␊
62+ onChange: onChange␊
63+ }));␊
64+ }`
65+
4366## Check Functional Scope
4467
4568> Snapshot 1
@@ -51,7 +74,7 @@ Generated by [AVA](https://avajs.dev).
5174 const [a, setA] = React.useState(1);␊
5275 ␊
5376 const onPress = () => {␊
54- setA(a + 1);␊
77+ setA(_prevState => _prevState + 1);␊
5578 $b = 3;␊
5679 };␊
5780 ␊
@@ -71,7 +94,7 @@ Generated by [AVA](https://avajs.dev).
7194 const [a, setA] = React.useState(1);␊
7295 ␊
7396 const onPress = () => {␊
74- setA(a + 1);␊
97+ setA(_prevState => _prevState + 1);␊
7598 $b = 3;␊
7699 };␊
77100 ␊
@@ -91,7 +114,7 @@ Generated by [AVA](https://avajs.dev).
91114 const [a, setA] = React.useState(1);␊
92115 ␊
93116 const onPress = () => {␊
94- setA(a + 1);␊
117+ setA(_prevState => _prevState + 1);␊
95118 $b = 3;␊
96119 };␊
97120 ␊
@@ -104,7 +127,7 @@ Generated by [AVA](https://avajs.dev).
104127 const [a, setA] = React.useState(3);␊
105128 ␊
106129 const onPress = () => {␊
107- setA(5);␊
130+ setA(_prevState2 => 5);␊
108131 $b = 3;␊
109132 };␊
110133 ␊
@@ -126,7 +149,7 @@ Generated by [AVA](https://avajs.dev).
126149 }, [a]);␊
127150 ␊
128151 const onPress = () => {␊
129- setA(a + 1);␊
152+ setA(_prevState => _prevState + 1);␊
130153 };␊
131154 ␊
132155 return {␊
@@ -144,8 +167,8 @@ Generated by [AVA](https://avajs.dev).
144167 const [count, setCount] = React.useState(1);␊
145168 ␊
146169 const handleClick = () => {␊
147- setCount(count + 1);␊
148- setCount(count * 2);␊
170+ setCount(_prevState => _prevState + 1);␊
171+ setCount(_prevState2 => _prevState2 * 2);␊
149172 };␊
150173 ␊
151174 return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h1", null, count), /*#__PURE__*/React.createElement("button", {␊
@@ -168,7 +191,31 @@ Generated by [AVA](https://avajs.dev).
168191 const x = { ...user␊
169192 };␊
170193 x.name = "barelyhuman";␊
171- setUser(x);␊
194+ setUser(_prevState => x);␊
195+ };␊
196+ ␊
197+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("p", null, user.name), /*#__PURE__*/React.createElement("button", {␊
198+ onClick: updateUser␊
199+ }, "Click Me"));␊
200+ }`
201+
202+ ## Object Update Arrow Func
203+
204+ > Snapshot 1
205+
206+ `import * as React from "react";␊
207+ ␊
208+ function App() {␊
209+ const [user, setUser] = React.useState({␊
210+ name: "reaper"␊
211+ });␊
212+ ␊
213+ const updateUser = () => {␊
214+ setUser(x => Object.assign({}, {␊
215+ x␊
216+ }, {␊
217+ name: "barelyhuman"␊
218+ }));␊
172219 };␊
173220 ␊
174221 return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("p", null, user.name), /*#__PURE__*/React.createElement("button", {␊
@@ -191,7 +238,7 @@ Generated by [AVA](https://avajs.dev).
191238 const _nextUsers = users.slice();␊
192239 ␊
193240 _nextUsers[0].name = "barelyhuman";␊
194- setUser( _nextUsers);␊
241+ setUsers(_prevState => _nextUsers);␊
195242 };␊
196243 ␊
197244 return /*#__PURE__*/React.createElement(React.Fragment, null, users.map(user => {␊
0 commit comments