add deep equality for hrm signals

This commit is contained in:
Seth Trowbridge 2023-10-23 11:00:00 -04:00
parent dd006daae7
commit 1061b6efff
2 changed files with 5 additions and 4 deletions

View File

@ -1,8 +1,8 @@
{
"imports": {
"react": "https://esm.sh/preact@10.17.1/compat",
"react-original": "https://esm.sh/preact@10.17.1/compat",
"react/": "https://esm.sh/preact@10.17.1/compat/",
"react": "https://esm.sh/preact@10.18.1/compat",
"react-original": "https://esm.sh/preact@10.18.1/compat",
"react/": "https://esm.sh/preact@10.18.1/compat/",
"@preact/signals": "https://esm.sh/@preact/signals@1.2.1",
"signals-original": "https://esm.sh/@preact/signals@1.2.1",
"@twind/core": "https://esm.sh/@twind/core@1.1.3",

View File

@ -1,4 +1,5 @@
import * as SignalsParts from "signals-original";
import DeepEqual from "https://esm.sh/deep-eql@4.1.3";
type Entry<T> = [signal:SignalsParts.Signal<T>, initArg:T];
@ -16,7 +17,7 @@ function ProxyGroup<T>(inFunc:(initArg:T)=>SignalsParts.Signal<T>)
const proxy =(arg:T)=>
{
const lookupOld = recordEntry[recordIndex];
if(lookupOld && lookupOld[1] === arg)
if(lookupOld && DeepEqual(lookupOld[1], arg))
{
recordEntryNew[recordIndex] = lookupOld;
recordIndex++;