@tanstack/solid-router 1.133.35 → 1.133.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,6 +2,20 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const solidStore = require("@tanstack/solid-store");
4
4
  const useRouter = require("./useRouter.cjs");
5
+ function deepEqual(a, b) {
6
+ if (Object.is(a, b)) return true;
7
+ if (typeof a !== "object" || a === null || typeof b !== "object" || b === null) {
8
+ return false;
9
+ }
10
+ const keysA = Object.keys(a);
11
+ const keysB = Object.keys(b);
12
+ if (keysA.length !== keysB.length) return false;
13
+ for (const key of keysA) {
14
+ if (!Object.prototype.hasOwnProperty.call(b, key)) return false;
15
+ if (!deepEqual(a[key], b[key])) return false;
16
+ }
17
+ return true;
18
+ }
5
19
  function useRouterState(opts) {
6
20
  const contextRouter = useRouter.useRouter({
7
21
  warn: opts?.router === void 0
@@ -10,6 +24,11 @@ function useRouterState(opts) {
10
24
  return solidStore.useStore(router.__store, (state) => {
11
25
  if (opts?.select) return opts.select(state);
12
26
  return state;
27
+ }, {
28
+ // Use deep equality to match behavior of solid-store 0.7.0 which used
29
+ // reconcile(). This ensures updates work correctly when selectors
30
+ // return new object references but with the same values.
31
+ equal: deepEqual
13
32
  });
14
33
  }
15
34
  exports.useRouterState = useRouterState;
@@ -1 +1 @@
1
- {"version":3,"file":"useRouterState.cjs","sources":["../../src/useRouterState.tsx"],"sourcesContent":["import { useStore } from '@tanstack/solid-store'\nimport { useRouter } from './useRouter'\nimport type {\n AnyRouter,\n RegisteredRouter,\n RouterState,\n} from '@tanstack/router-core'\nimport type { Accessor } from 'solid-js'\n\nexport type UseRouterStateOptions<TRouter extends AnyRouter, TSelected> = {\n router?: TRouter\n select?: (state: RouterState<TRouter['routeTree']>) => TSelected\n}\n\nexport type UseRouterStateResult<\n TRouter extends AnyRouter,\n TSelected,\n> = unknown extends TSelected ? RouterState<TRouter['routeTree']> : TSelected\n\nexport function useRouterState<\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseRouterStateOptions<TRouter, TSelected>,\n): Accessor<UseRouterStateResult<TRouter, TSelected>> {\n const contextRouter = useRouter<TRouter>({\n warn: opts?.router === undefined,\n })\n const router = opts?.router || contextRouter\n\n return useStore(router.__store, (state) => {\n if (opts?.select) return opts.select(state)\n\n return state\n }) as Accessor<UseRouterStateResult<TRouter, TSelected>>\n}\n"],"names":["useRouterState","opts","contextRouter","useRouter","warn","router","undefined","useStore","__store","state","select"],"mappings":";;;;AAmBO,SAASA,eAIdC,MACoD;AACpD,QAAMC,gBAAgBC,UAAAA,UAAmB;AAAA,IACvCC,MAAMH,MAAMI,WAAWC;AAAAA,EAAAA,CACxB;AACD,QAAMD,SAASJ,MAAMI,UAAUH;AAE/B,SAAOK,oBAASF,OAAOG,SAAUC,CAAAA,UAAU;AACzC,QAAIR,MAAMS,OAAQ,QAAOT,KAAKS,OAAOD,KAAK;AAE1C,WAAOA;AAAAA,EACT,CAAC;AACH;;"}
1
+ {"version":3,"file":"useRouterState.cjs","sources":["../../src/useRouterState.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */\nimport { useStore } from '@tanstack/solid-store'\nimport { useRouter } from './useRouter'\nimport type {\n AnyRouter,\n RegisteredRouter,\n RouterState,\n} from '@tanstack/router-core'\nimport type { Accessor } from 'solid-js'\n\n// Deep equality check to match behavior of solid-store 0.7.0's reconcile()\nfunction deepEqual(a: any, b: any): boolean {\n if (Object.is(a, b)) return true\n\n if (\n typeof a !== 'object' ||\n a === null ||\n typeof b !== 'object' ||\n b === null\n ) {\n return false\n }\n\n const keysA = Object.keys(a)\n const keysB = Object.keys(b)\n\n if (keysA.length !== keysB.length) return false\n\n for (const key of keysA) {\n if (!Object.prototype.hasOwnProperty.call(b, key)) return false\n if (!deepEqual(a[key], b[key])) return false\n }\n\n return true\n}\n\nexport type UseRouterStateOptions<TRouter extends AnyRouter, TSelected> = {\n router?: TRouter\n select?: (state: RouterState<TRouter['routeTree']>) => TSelected\n}\n\nexport type UseRouterStateResult<\n TRouter extends AnyRouter,\n TSelected,\n> = unknown extends TSelected ? RouterState<TRouter['routeTree']> : TSelected\n\nexport function useRouterState<\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseRouterStateOptions<TRouter, TSelected>,\n): Accessor<UseRouterStateResult<TRouter, TSelected>> {\n const contextRouter = useRouter<TRouter>({\n warn: opts?.router === undefined,\n })\n const router = opts?.router || contextRouter\n\n return useStore(\n router.__store,\n (state) => {\n if (opts?.select) return opts.select(state)\n\n return state\n },\n {\n // Use deep equality to match behavior of solid-store 0.7.0 which used\n // reconcile(). This ensures updates work correctly when selectors\n // return new object references but with the same values.\n equal: deepEqual,\n },\n ) as Accessor<UseRouterStateResult<TRouter, TSelected>>\n}\n"],"names":["deepEqual","a","b","Object","is","keysA","keys","keysB","length","key","prototype","hasOwnProperty","call","useRouterState","opts","contextRouter","useRouter","warn","router","undefined","useStore","__store","state","select","equal"],"mappings":";;;;AAWA,SAASA,UAAUC,GAAQC,GAAiB;AAC1C,MAAIC,OAAOC,GAAGH,GAAGC,CAAC,EAAG,QAAO;AAE5B,MACE,OAAOD,MAAM,YACbA,MAAM,QACN,OAAOC,MAAM,YACbA,MAAM,MACN;AACA,WAAO;AAAA,EACT;AAEA,QAAMG,QAAQF,OAAOG,KAAKL,CAAC;AAC3B,QAAMM,QAAQJ,OAAOG,KAAKJ,CAAC;AAE3B,MAAIG,MAAMG,WAAWD,MAAMC,OAAQ,QAAO;AAE1C,aAAWC,OAAOJ,OAAO;AACvB,QAAI,CAACF,OAAOO,UAAUC,eAAeC,KAAKV,GAAGO,GAAG,EAAG,QAAO;AAC1D,QAAI,CAACT,UAAUC,EAAEQ,GAAG,GAAGP,EAAEO,GAAG,CAAC,EAAG,QAAO;AAAA,EACzC;AAEA,SAAO;AACT;AAYO,SAASI,eAIdC,MACoD;AACpD,QAAMC,gBAAgBC,UAAAA,UAAmB;AAAA,IACvCC,MAAMH,MAAMI,WAAWC;AAAAA,EAAAA,CACxB;AACD,QAAMD,SAASJ,MAAMI,UAAUH;AAE/B,SAAOK,oBACLF,OAAOG,SACNC,CAAAA,UAAU;AACT,QAAIR,MAAMS,OAAQ,QAAOT,KAAKS,OAAOD,KAAK;AAE1C,WAAOA;AAAAA,EACT,GACA;AAAA;AAAA;AAAA;AAAA,IAIEE,OAAOxB;AAAAA,EAAAA,CAEX;AACF;;"}
@@ -1,5 +1,19 @@
1
1
  import { useStore } from "@tanstack/solid-store";
2
2
  import { useRouter } from "./useRouter.js";
3
+ function deepEqual(a, b) {
4
+ if (Object.is(a, b)) return true;
5
+ if (typeof a !== "object" || a === null || typeof b !== "object" || b === null) {
6
+ return false;
7
+ }
8
+ const keysA = Object.keys(a);
9
+ const keysB = Object.keys(b);
10
+ if (keysA.length !== keysB.length) return false;
11
+ for (const key of keysA) {
12
+ if (!Object.prototype.hasOwnProperty.call(b, key)) return false;
13
+ if (!deepEqual(a[key], b[key])) return false;
14
+ }
15
+ return true;
16
+ }
3
17
  function useRouterState(opts) {
4
18
  const contextRouter = useRouter({
5
19
  warn: opts?.router === void 0
@@ -8,6 +22,11 @@ function useRouterState(opts) {
8
22
  return useStore(router.__store, (state) => {
9
23
  if (opts?.select) return opts.select(state);
10
24
  return state;
25
+ }, {
26
+ // Use deep equality to match behavior of solid-store 0.7.0 which used
27
+ // reconcile(). This ensures updates work correctly when selectors
28
+ // return new object references but with the same values.
29
+ equal: deepEqual
11
30
  });
12
31
  }
13
32
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"useRouterState.js","sources":["../../src/useRouterState.tsx"],"sourcesContent":["import { useStore } from '@tanstack/solid-store'\nimport { useRouter } from './useRouter'\nimport type {\n AnyRouter,\n RegisteredRouter,\n RouterState,\n} from '@tanstack/router-core'\nimport type { Accessor } from 'solid-js'\n\nexport type UseRouterStateOptions<TRouter extends AnyRouter, TSelected> = {\n router?: TRouter\n select?: (state: RouterState<TRouter['routeTree']>) => TSelected\n}\n\nexport type UseRouterStateResult<\n TRouter extends AnyRouter,\n TSelected,\n> = unknown extends TSelected ? RouterState<TRouter['routeTree']> : TSelected\n\nexport function useRouterState<\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseRouterStateOptions<TRouter, TSelected>,\n): Accessor<UseRouterStateResult<TRouter, TSelected>> {\n const contextRouter = useRouter<TRouter>({\n warn: opts?.router === undefined,\n })\n const router = opts?.router || contextRouter\n\n return useStore(router.__store, (state) => {\n if (opts?.select) return opts.select(state)\n\n return state\n }) as Accessor<UseRouterStateResult<TRouter, TSelected>>\n}\n"],"names":["useRouterState","opts","contextRouter","useRouter","warn","router","undefined","useStore","__store","state","select"],"mappings":";;AAmBO,SAASA,eAIdC,MACoD;AACpD,QAAMC,gBAAgBC,UAAmB;AAAA,IACvCC,MAAMH,MAAMI,WAAWC;AAAAA,EAAAA,CACxB;AACD,QAAMD,SAASJ,MAAMI,UAAUH;AAE/B,SAAOK,SAASF,OAAOG,SAAUC,CAAAA,UAAU;AACzC,QAAIR,MAAMS,OAAQ,QAAOT,KAAKS,OAAOD,KAAK;AAE1C,WAAOA;AAAAA,EACT,CAAC;AACH;"}
1
+ {"version":3,"file":"useRouterState.js","sources":["../../src/useRouterState.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */\nimport { useStore } from '@tanstack/solid-store'\nimport { useRouter } from './useRouter'\nimport type {\n AnyRouter,\n RegisteredRouter,\n RouterState,\n} from '@tanstack/router-core'\nimport type { Accessor } from 'solid-js'\n\n// Deep equality check to match behavior of solid-store 0.7.0's reconcile()\nfunction deepEqual(a: any, b: any): boolean {\n if (Object.is(a, b)) return true\n\n if (\n typeof a !== 'object' ||\n a === null ||\n typeof b !== 'object' ||\n b === null\n ) {\n return false\n }\n\n const keysA = Object.keys(a)\n const keysB = Object.keys(b)\n\n if (keysA.length !== keysB.length) return false\n\n for (const key of keysA) {\n if (!Object.prototype.hasOwnProperty.call(b, key)) return false\n if (!deepEqual(a[key], b[key])) return false\n }\n\n return true\n}\n\nexport type UseRouterStateOptions<TRouter extends AnyRouter, TSelected> = {\n router?: TRouter\n select?: (state: RouterState<TRouter['routeTree']>) => TSelected\n}\n\nexport type UseRouterStateResult<\n TRouter extends AnyRouter,\n TSelected,\n> = unknown extends TSelected ? RouterState<TRouter['routeTree']> : TSelected\n\nexport function useRouterState<\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseRouterStateOptions<TRouter, TSelected>,\n): Accessor<UseRouterStateResult<TRouter, TSelected>> {\n const contextRouter = useRouter<TRouter>({\n warn: opts?.router === undefined,\n })\n const router = opts?.router || contextRouter\n\n return useStore(\n router.__store,\n (state) => {\n if (opts?.select) return opts.select(state)\n\n return state\n },\n {\n // Use deep equality to match behavior of solid-store 0.7.0 which used\n // reconcile(). This ensures updates work correctly when selectors\n // return new object references but with the same values.\n equal: deepEqual,\n },\n ) as Accessor<UseRouterStateResult<TRouter, TSelected>>\n}\n"],"names":["deepEqual","a","b","Object","is","keysA","keys","keysB","length","key","prototype","hasOwnProperty","call","useRouterState","opts","contextRouter","useRouter","warn","router","undefined","useStore","__store","state","select","equal"],"mappings":";;AAWA,SAASA,UAAUC,GAAQC,GAAiB;AAC1C,MAAIC,OAAOC,GAAGH,GAAGC,CAAC,EAAG,QAAO;AAE5B,MACE,OAAOD,MAAM,YACbA,MAAM,QACN,OAAOC,MAAM,YACbA,MAAM,MACN;AACA,WAAO;AAAA,EACT;AAEA,QAAMG,QAAQF,OAAOG,KAAKL,CAAC;AAC3B,QAAMM,QAAQJ,OAAOG,KAAKJ,CAAC;AAE3B,MAAIG,MAAMG,WAAWD,MAAMC,OAAQ,QAAO;AAE1C,aAAWC,OAAOJ,OAAO;AACvB,QAAI,CAACF,OAAOO,UAAUC,eAAeC,KAAKV,GAAGO,GAAG,EAAG,QAAO;AAC1D,QAAI,CAACT,UAAUC,EAAEQ,GAAG,GAAGP,EAAEO,GAAG,CAAC,EAAG,QAAO;AAAA,EACzC;AAEA,SAAO;AACT;AAYO,SAASI,eAIdC,MACoD;AACpD,QAAMC,gBAAgBC,UAAmB;AAAA,IACvCC,MAAMH,MAAMI,WAAWC;AAAAA,EAAAA,CACxB;AACD,QAAMD,SAASJ,MAAMI,UAAUH;AAE/B,SAAOK,SACLF,OAAOG,SACNC,CAAAA,UAAU;AACT,QAAIR,MAAMS,OAAQ,QAAOT,KAAKS,OAAOD,KAAK;AAE1C,WAAOA;AAAAA,EACT,GACA;AAAA;AAAA;AAAA;AAAA,IAIEE,OAAOxB;AAAAA,EAAAA,CAEX;AACF;"}
@@ -1,5 +1,28 @@
1
+ /* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */
1
2
  import { useStore } from '@tanstack/solid-store';
2
3
  import { useRouter } from './useRouter';
4
+ // Deep equality check to match behavior of solid-store 0.7.0's reconcile()
5
+ function deepEqual(a, b) {
6
+ if (Object.is(a, b))
7
+ return true;
8
+ if (typeof a !== 'object' ||
9
+ a === null ||
10
+ typeof b !== 'object' ||
11
+ b === null) {
12
+ return false;
13
+ }
14
+ const keysA = Object.keys(a);
15
+ const keysB = Object.keys(b);
16
+ if (keysA.length !== keysB.length)
17
+ return false;
18
+ for (const key of keysA) {
19
+ if (!Object.prototype.hasOwnProperty.call(b, key))
20
+ return false;
21
+ if (!deepEqual(a[key], b[key]))
22
+ return false;
23
+ }
24
+ return true;
25
+ }
3
26
  export function useRouterState(opts) {
4
27
  const contextRouter = useRouter({
5
28
  warn: opts?.router === undefined,
@@ -9,6 +32,11 @@ export function useRouterState(opts) {
9
32
  if (opts?.select)
10
33
  return opts.select(state);
11
34
  return state;
35
+ }, {
36
+ // Use deep equality to match behavior of solid-store 0.7.0 which used
37
+ // reconcile(). This ensures updates work correctly when selectors
38
+ // return new object references but with the same values.
39
+ equal: deepEqual,
12
40
  });
13
41
  }
14
42
  //# sourceMappingURL=useRouterState.jsx.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRouterState.jsx","sourceRoot":"","sources":["../../src/useRouterState.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAkBvC,MAAM,UAAU,cAAc,CAI5B,IAAgD;IAEhD,MAAM,aAAa,GAAG,SAAS,CAAU;QACvC,IAAI,EAAE,IAAI,EAAE,MAAM,KAAK,SAAS;KACjC,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,aAAa,CAAA;IAE5C,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QACxC,IAAI,IAAI,EAAE,MAAM;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAE3C,OAAO,KAAK,CAAA;IACd,CAAC,CAAuD,CAAA;AAC1D,CAAC"}
1
+ {"version":3,"file":"useRouterState.jsx","sourceRoot":"","sources":["../../src/useRouterState.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAQvC,2EAA2E;AAC3E,SAAS,SAAS,CAAC,CAAM,EAAE,CAAM;IAC/B,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAEhC,IACE,OAAO,CAAC,KAAK,QAAQ;QACrB,CAAC,KAAK,IAAI;QACV,OAAO,CAAC,KAAK,QAAQ;QACrB,CAAC,KAAK,IAAI,EACV,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAE5B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IAE/C,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC;YAAE,OAAO,KAAK,CAAA;QAC/D,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;IAC9C,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAYD,MAAM,UAAU,cAAc,CAI5B,IAAgD;IAEhD,MAAM,aAAa,GAAG,SAAS,CAAU;QACvC,IAAI,EAAE,IAAI,EAAE,MAAM,KAAK,SAAS;KACjC,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,aAAa,CAAA;IAE5C,OAAO,QAAQ,CACb,MAAM,CAAC,OAAO,EACd,CAAC,KAAK,EAAE,EAAE;QACR,IAAI,IAAI,EAAE,MAAM;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAE3C,OAAO,KAAK,CAAA;IACd,CAAC,EACD;QACE,sEAAsE;QACtE,kEAAkE;QAClE,yDAAyD;QACzD,KAAK,EAAE,SAAS;KACjB,CACoD,CAAA;AACzD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/solid-router",
3
- "version": "1.133.35",
3
+ "version": "1.133.36",
4
4
  "description": "Modern and scalable routing for Solid applications",
5
5
  "author": "Tanner Linsley",
6
6
  "license": "MIT",
@@ -84,12 +84,12 @@
84
84
  "@solid-devtools/logger": "^0.9.4",
85
85
  "@solid-primitives/refs": "^1.0.8",
86
86
  "@solidjs/meta": "^0.29.4",
87
- "@tanstack/solid-store": "0.7.0",
87
+ "@tanstack/solid-store": "^0.8.0",
88
88
  "isbot": "^5.1.22",
89
89
  "tiny-invariant": "^1.3.3",
90
90
  "tiny-warning": "^1.0.3",
91
91
  "@tanstack/history": "1.133.28",
92
- "@tanstack/router-core": "1.133.35"
92
+ "@tanstack/router-core": "1.133.36"
93
93
  },
94
94
  "devDependencies": {
95
95
  "@solidjs/testing-library": "^0.8.10",
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */
1
2
  import { useStore } from '@tanstack/solid-store'
2
3
  import { useRouter } from './useRouter'
3
4
  import type {
@@ -7,6 +8,32 @@ import type {
7
8
  } from '@tanstack/router-core'
8
9
  import type { Accessor } from 'solid-js'
9
10
 
11
+ // Deep equality check to match behavior of solid-store 0.7.0's reconcile()
12
+ function deepEqual(a: any, b: any): boolean {
13
+ if (Object.is(a, b)) return true
14
+
15
+ if (
16
+ typeof a !== 'object' ||
17
+ a === null ||
18
+ typeof b !== 'object' ||
19
+ b === null
20
+ ) {
21
+ return false
22
+ }
23
+
24
+ const keysA = Object.keys(a)
25
+ const keysB = Object.keys(b)
26
+
27
+ if (keysA.length !== keysB.length) return false
28
+
29
+ for (const key of keysA) {
30
+ if (!Object.prototype.hasOwnProperty.call(b, key)) return false
31
+ if (!deepEqual(a[key], b[key])) return false
32
+ }
33
+
34
+ return true
35
+ }
36
+
10
37
  export type UseRouterStateOptions<TRouter extends AnyRouter, TSelected> = {
11
38
  router?: TRouter
12
39
  select?: (state: RouterState<TRouter['routeTree']>) => TSelected
@@ -28,9 +55,18 @@ export function useRouterState<
28
55
  })
29
56
  const router = opts?.router || contextRouter
30
57
 
31
- return useStore(router.__store, (state) => {
32
- if (opts?.select) return opts.select(state)
58
+ return useStore(
59
+ router.__store,
60
+ (state) => {
61
+ if (opts?.select) return opts.select(state)
33
62
 
34
- return state
35
- }) as Accessor<UseRouterStateResult<TRouter, TSelected>>
63
+ return state
64
+ },
65
+ {
66
+ // Use deep equality to match behavior of solid-store 0.7.0 which used
67
+ // reconcile(). This ensures updates work correctly when selectors
68
+ // return new object references but with the same values.
69
+ equal: deepEqual,
70
+ },
71
+ ) as Accessor<UseRouterStateResult<TRouter, TSelected>>
36
72
  }