Second withEquality argument is wrong on first call (Bug?)
- Dominant language
- JavaScript
- Stars
- 518
- Forks
- 23
- PR merge metrics
- No merged PRs in 30d
Description
First case:
``` js
const a = atom({p: 1})
const c = a.derive(o => o)
.withEquality((oldObj, newObj) => {
console.log(oldObj, newObj)
return oldObj === newObj
})
c.react((cObj) => {
// console.log(cObj)
})
a.set({p: 2})
```
console output:
``` bash
{ p: 1 } { equals: [Function: equals] }
{ p: 2 } { p: 1 }
```
Why { equals: [Function: equals] } ?
Second case:
``` js
const a = atom({p: 1})
const c = a
.withEquality((oldObj, newObj) => {
console.log(oldObj, newObj)
return oldObj === newObj
})
c.react((cObj) => {
// console.log(cObj)
})
a.set({p: 2})
```
No console output: withEquality callback never calls.
Contributor guide
Assessment
This issue has not been assessed yet.