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": { "imports": {
"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.17.1/compat", "react-original": "https://esm.sh/preact@10.18.1/compat",
"react/": "https://esm.sh/preact@10.17.1/compat/", "react/": "https://esm.sh/preact@10.18.1/compat/",
"@preact/signals": "https://esm.sh/@preact/signals@1.2.1", "@preact/signals": "https://esm.sh/@preact/signals@1.2.1",
"signals-original": "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", "@twind/core": "https://esm.sh/@twind/core@1.1.3",

View File

@ -1,4 +1,5 @@
import * as SignalsParts from "signals-original"; 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]; 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 proxy =(arg:T)=>
{ {
const lookupOld = recordEntry[recordIndex]; const lookupOld = recordEntry[recordIndex];
if(lookupOld && lookupOld[1] === arg) if(lookupOld && DeepEqual(lookupOld[1], arg))
{ {
recordEntryNew[recordIndex] = lookupOld; recordEntryNew[recordIndex] = lookupOld;
recordIndex++; recordIndex++;