ds300 / ds300/derivablejs

Second withEquality argument is wrong on first call (Bug?)

Open
#52 3 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.