@tanstack/solid-router
Advanced tools
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"awaited.cjs","names":["Solid","TSR_DEFERRED_PROMISE","defer","DeferredPromise","SolidNode","AwaitOptions","promise","Promise","T","useAwaited","_promise","status","error","data","Await","props","fallback","children","result","resource","createResource","p","deferStream","_$createComponent","Show","when","Suspense","AwaitInner"],"sources":["../../src/awaited.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\n\nimport { TSR_DEFERRED_PROMISE, defer } from '@tanstack/router-core'\nimport type { DeferredPromise } from '@tanstack/router-core'\nimport type { SolidNode } from './route'\n\nexport type AwaitOptions<T> = {\n promise: Promise<T>\n}\n\nexport function useAwaited<T>({\n promise: _promise,\n}: AwaitOptions<T>): [T, DeferredPromise<T>] {\n const promise = defer(_promise)\n\n if (promise[TSR_DEFERRED_PROMISE].status === 'pending') {\n throw promise\n }\n\n if (promise[TSR_DEFERRED_PROMISE].status === 'error') {\n throw promise[TSR_DEFERRED_PROMISE].error\n }\n\n return [promise[TSR_DEFERRED_PROMISE].data, promise]\n}\n\nexport function Await<T>(\n props: AwaitOptions<T> & {\n fallback?: SolidNode\n children: (result: T) => SolidNode\n },\n) {\n if (!('fallback' in props)) {\n const [resource] = Solid.createResource(\n () => defer(props.promise),\n (p) => p,\n {\n deferStream: true,\n },\n )\n\n return (\n <Solid.Show when={resource()}>\n {(data) => props.children(data())}\n </Solid.Show>\n )\n }\n\n return (\n <Solid.Suspense fallback={props.fallback}>\n <AwaitInner {...props} />\n </Solid.Suspense>\n )\n}\n\nfunction AwaitInner<T>(\n props: AwaitOptions<T> & {\n fallback?: SolidNode\n children: (result: T) => SolidNode\n },\n) {\n const [resource] = Solid.createResource(\n () => defer(props.promise),\n (p) => p,\n )\n\n return props.children(resource() as T)\n}\n"],"mappings":";;;;;;AAUA,SAAgBS,WAAc,EAC5BH,SAASI,YACkC;CAC3C,MAAMJ,WAAAA,GAAAA,sBAAAA,OAAgBI,QAAQ;CAE9B,IAAIJ,QAAQL,sBAAAA,sBAAsBU,WAAW,WAC3C,MAAML;CAGR,IAAIA,QAAQL,sBAAAA,sBAAsBU,WAAW,SAC3C,MAAML,QAAQL,sBAAAA,sBAAsBW;CAGtC,OAAO,CAACN,QAAQL,sBAAAA,sBAAsBY,MAAMP,OAAO;AACrD;AAEA,SAAgBQ,MACdC,OAIA;CACA,IAAI,EAAE,cAAcA,QAAQ;EAC1B,MAAM,CAACI,YAAYnB,SAAMoB,sBAAAA,GAAAA,sBAAAA,OACXL,MAAMT,OAAO,IACxBe,MAAMA,GACP,EACEC,aAAa,KACf,CACF;EAEA,QAAA,GAAA,aAAA,iBACGtB,SAAMwB,MAAI;GAAA,IAACC,OAAI;IAAA,OAAEN,SAAS;GAAC;GAAAF,WACxBJ,SAASE,MAAME,SAASJ,KAAK,CAAC;EAAC,CAAA;CAGvC;CAEA,QAAA,GAAA,aAAA,iBACGb,SAAM0B,UAAQ;EAAA,IAACV,WAAQ;GAAA,OAAED,MAAMC;EAAQ;EAAA,IAAAC,WAAA;GAAA,QAAA,GAAA,aAAA,iBACrCU,YAAeZ,KAAK;EAAA;CAAA,CAAA;AAG3B;AAEA,SAASY,WACPZ,OAIA;CACA,MAAM,CAACI,YAAYnB,SAAMoB,sBAAAA,GAAAA,sBAAAA,OACXL,MAAMT,OAAO,IACxBe,MAAMA,CACT;CAEA,OAAON,MAAME,SAASE,SAAS,CAAM;AACvC"} | ||
| {"version":3,"file":"awaited.cjs","names":["Solid","TSR_DEFERRED_PROMISE","defer","DeferredPromise","SolidNode","AwaitOptions","promise","Promise","T","useAwaited","_promise","data","status","error","Await","props","fallback","children","result","resource","createResource","p","deferStream","_$createComponent","Show","when","Suspense","AwaitInner"],"sources":["../../src/awaited.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\n\nimport { TSR_DEFERRED_PROMISE, defer } from '@tanstack/router-core'\nimport type { DeferredPromise } from '@tanstack/router-core'\nimport type { SolidNode } from './route'\n\nexport type AwaitOptions<T> = {\n promise: Promise<T>\n}\n\nexport function useAwaited<T>({\n promise: _promise,\n}: AwaitOptions<T>): [data: T, promise: DeferredPromise<T>] {\n const promise = defer(_promise)\n\n if (promise[TSR_DEFERRED_PROMISE].status === 'pending') {\n throw promise\n }\n\n if (promise[TSR_DEFERRED_PROMISE].status === 'error') {\n throw promise[TSR_DEFERRED_PROMISE].error\n }\n\n return [promise[TSR_DEFERRED_PROMISE].data, promise]\n}\n\nexport function Await<T>(\n props: AwaitOptions<T> & {\n fallback?: SolidNode\n children: (result: T) => SolidNode\n },\n) {\n if (!('fallback' in props)) {\n const [resource] = Solid.createResource(\n () => defer(props.promise),\n (p) => p,\n {\n deferStream: true,\n },\n )\n\n return (\n <Solid.Show when={resource()}>\n {(data) => props.children(data())}\n </Solid.Show>\n )\n }\n\n return (\n <Solid.Suspense fallback={props.fallback}>\n <AwaitInner {...props} />\n </Solid.Suspense>\n )\n}\n\nfunction AwaitInner<T>(\n props: AwaitOptions<T> & {\n fallback?: SolidNode\n children: (result: T) => SolidNode\n },\n) {\n const [resource] = Solid.createResource(\n () => defer(props.promise),\n (p) => p,\n )\n\n return props.children(resource() as T)\n}\n"],"mappings":";;;;;;AAUA,SAAgBS,WAAc,EAC5BH,SAASI,YACiD;CAC1D,MAAMJ,WAAAA,GAAAA,sBAAAA,OAAgBI,QAAQ;CAE9B,IAAIJ,QAAQL,sBAAAA,sBAAsBW,WAAW,WAC3C,MAAMN;CAGR,IAAIA,QAAQL,sBAAAA,sBAAsBW,WAAW,SAC3C,MAAMN,QAAQL,sBAAAA,sBAAsBY;CAGtC,OAAO,CAACP,QAAQL,sBAAAA,sBAAsBU,MAAML,OAAO;AACrD;AAEA,SAAgBQ,MACdC,OAIA;CACA,IAAI,EAAE,cAAcA,QAAQ;EAC1B,MAAM,CAACI,YAAYnB,SAAMoB,sBAAAA,GAAAA,sBAAAA,OACXL,MAAMT,OAAO,IACxBe,MAAMA,GACP,EACEC,aAAa,KACf,CACF;EAEA,QAAA,GAAA,aAAA,iBACGtB,SAAMwB,MAAI;GAAA,IAACC,OAAI;IAAA,OAAEN,SAAS;GAAC;GAAAF,WACxBN,SAASI,MAAME,SAASN,KAAK,CAAC;EAAC,CAAA;CAGvC;CAEA,QAAA,GAAA,aAAA,iBACGX,SAAM0B,UAAQ;EAAA,IAACV,WAAQ;GAAA,OAAED,MAAMC;EAAQ;EAAA,IAAAC,WAAA;GAAA,QAAA,GAAA,aAAA,iBACrCU,YAAeZ,KAAK;EAAA;CAAA,CAAA;AAG3B;AAEA,SAASY,WACPZ,OAIA;CACA,MAAM,CAACI,YAAYnB,SAAMoB,sBAAAA,GAAAA,sBAAAA,OACXL,MAAMT,OAAO,IACxBe,MAAMA,CACT;CAEA,OAAON,MAAME,SAASE,SAAS,CAAM;AACvC"} |
@@ -7,3 +7,3 @@ import { DeferredPromise } from '@tanstack/router-core'; | ||
| }; | ||
| export declare function useAwaited<T>({ promise: _promise, }: AwaitOptions<T>): [T, DeferredPromise<T>]; | ||
| export declare function useAwaited<T>({ promise: _promise, }: AwaitOptions<T>): [data: T, promise: DeferredPromise<T>]; | ||
| export declare function Await<T>(props: AwaitOptions<T> & { | ||
@@ -10,0 +10,0 @@ fallback?: SolidNode; |
@@ -7,3 +7,3 @@ import { DeferredPromise } from '@tanstack/router-core'; | ||
| }; | ||
| export declare function useAwaited<T>({ promise: _promise, }: AwaitOptions<T>): [T, DeferredPromise<T>]; | ||
| export declare function useAwaited<T>({ promise: _promise, }: AwaitOptions<T>): [data: T, promise: DeferredPromise<T>]; | ||
| export declare function Await<T>(props: AwaitOptions<T> & { | ||
@@ -10,0 +10,0 @@ fallback?: SolidNode; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"awaited.js","names":["Solid","TSR_DEFERRED_PROMISE","defer","DeferredPromise","SolidNode","AwaitOptions","promise","Promise","T","useAwaited","_promise","status","error","data","Await","props","fallback","children","result","resource","createResource","p","deferStream","_$createComponent","Show","when","Suspense","AwaitInner"],"sources":["../../src/awaited.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\n\nimport { TSR_DEFERRED_PROMISE, defer } from '@tanstack/router-core'\nimport type { DeferredPromise } from '@tanstack/router-core'\nimport type { SolidNode } from './route'\n\nexport type AwaitOptions<T> = {\n promise: Promise<T>\n}\n\nexport function useAwaited<T>({\n promise: _promise,\n}: AwaitOptions<T>): [T, DeferredPromise<T>] {\n const promise = defer(_promise)\n\n if (promise[TSR_DEFERRED_PROMISE].status === 'pending') {\n throw promise\n }\n\n if (promise[TSR_DEFERRED_PROMISE].status === 'error') {\n throw promise[TSR_DEFERRED_PROMISE].error\n }\n\n return [promise[TSR_DEFERRED_PROMISE].data, promise]\n}\n\nexport function Await<T>(\n props: AwaitOptions<T> & {\n fallback?: SolidNode\n children: (result: T) => SolidNode\n },\n) {\n if (!('fallback' in props)) {\n const [resource] = Solid.createResource(\n () => defer(props.promise),\n (p) => p,\n {\n deferStream: true,\n },\n )\n\n return (\n <Solid.Show when={resource()}>\n {(data) => props.children(data())}\n </Solid.Show>\n )\n }\n\n return (\n <Solid.Suspense fallback={props.fallback}>\n <AwaitInner {...props} />\n </Solid.Suspense>\n )\n}\n\nfunction AwaitInner<T>(\n props: AwaitOptions<T> & {\n fallback?: SolidNode\n children: (result: T) => SolidNode\n },\n) {\n const [resource] = Solid.createResource(\n () => defer(props.promise),\n (p) => p,\n )\n\n return props.children(resource() as T)\n}\n"],"mappings":";;;;AAUA,SAAgBS,WAAc,EAC5BH,SAASI,YACkC;CAC3C,MAAMJ,UAAUJ,MAAMQ,QAAQ;CAE9B,IAAIJ,QAAQL,sBAAsBU,WAAW,WAC3C,MAAML;CAGR,IAAIA,QAAQL,sBAAsBU,WAAW,SAC3C,MAAML,QAAQL,sBAAsBW;CAGtC,OAAO,CAACN,QAAQL,sBAAsBY,MAAMP,OAAO;AACrD;AAEA,SAAgBQ,MACdC,OAIA;CACA,IAAI,EAAE,cAAcA,QAAQ;EAC1B,MAAM,CAACI,YAAYnB,MAAMoB,qBACjBlB,MAAMa,MAAMT,OAAO,IACxBe,MAAMA,GACP,EACEC,aAAa,KACf,CACF;EAEA,OAAAC,gBACGvB,MAAMwB,MAAI;GAAA,IAACC,OAAI;IAAA,OAAEN,SAAS;GAAC;GAAAF,WACxBJ,SAASE,MAAME,SAASJ,KAAK,CAAC;EAAC,CAAA;CAGvC;CAEA,OAAAU,gBACGvB,MAAM0B,UAAQ;EAAA,IAACV,WAAQ;GAAA,OAAED,MAAMC;EAAQ;EAAA,IAAAC,WAAA;GAAA,OAAAM,gBACrCI,YAAeZ,KAAK;EAAA;CAAA,CAAA;AAG3B;AAEA,SAASY,WACPZ,OAIA;CACA,MAAM,CAACI,YAAYnB,MAAMoB,qBACjBlB,MAAMa,MAAMT,OAAO,IACxBe,MAAMA,CACT;CAEA,OAAON,MAAME,SAASE,SAAS,CAAM;AACvC"} | ||
| {"version":3,"file":"awaited.js","names":["Solid","TSR_DEFERRED_PROMISE","defer","DeferredPromise","SolidNode","AwaitOptions","promise","Promise","T","useAwaited","_promise","data","status","error","Await","props","fallback","children","result","resource","createResource","p","deferStream","_$createComponent","Show","when","Suspense","AwaitInner"],"sources":["../../src/awaited.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\n\nimport { TSR_DEFERRED_PROMISE, defer } from '@tanstack/router-core'\nimport type { DeferredPromise } from '@tanstack/router-core'\nimport type { SolidNode } from './route'\n\nexport type AwaitOptions<T> = {\n promise: Promise<T>\n}\n\nexport function useAwaited<T>({\n promise: _promise,\n}: AwaitOptions<T>): [data: T, promise: DeferredPromise<T>] {\n const promise = defer(_promise)\n\n if (promise[TSR_DEFERRED_PROMISE].status === 'pending') {\n throw promise\n }\n\n if (promise[TSR_DEFERRED_PROMISE].status === 'error') {\n throw promise[TSR_DEFERRED_PROMISE].error\n }\n\n return [promise[TSR_DEFERRED_PROMISE].data, promise]\n}\n\nexport function Await<T>(\n props: AwaitOptions<T> & {\n fallback?: SolidNode\n children: (result: T) => SolidNode\n },\n) {\n if (!('fallback' in props)) {\n const [resource] = Solid.createResource(\n () => defer(props.promise),\n (p) => p,\n {\n deferStream: true,\n },\n )\n\n return (\n <Solid.Show when={resource()}>\n {(data) => props.children(data())}\n </Solid.Show>\n )\n }\n\n return (\n <Solid.Suspense fallback={props.fallback}>\n <AwaitInner {...props} />\n </Solid.Suspense>\n )\n}\n\nfunction AwaitInner<T>(\n props: AwaitOptions<T> & {\n fallback?: SolidNode\n children: (result: T) => SolidNode\n },\n) {\n const [resource] = Solid.createResource(\n () => defer(props.promise),\n (p) => p,\n )\n\n return props.children(resource() as T)\n}\n"],"mappings":";;;;AAUA,SAAgBS,WAAc,EAC5BH,SAASI,YACiD;CAC1D,MAAMJ,UAAUJ,MAAMQ,QAAQ;CAE9B,IAAIJ,QAAQL,sBAAsBW,WAAW,WAC3C,MAAMN;CAGR,IAAIA,QAAQL,sBAAsBW,WAAW,SAC3C,MAAMN,QAAQL,sBAAsBY;CAGtC,OAAO,CAACP,QAAQL,sBAAsBU,MAAML,OAAO;AACrD;AAEA,SAAgBQ,MACdC,OAIA;CACA,IAAI,EAAE,cAAcA,QAAQ;EAC1B,MAAM,CAACI,YAAYnB,MAAMoB,qBACjBlB,MAAMa,MAAMT,OAAO,IACxBe,MAAMA,GACP,EACEC,aAAa,KACf,CACF;EAEA,OAAAC,gBACGvB,MAAMwB,MAAI;GAAA,IAACC,OAAI;IAAA,OAAEN,SAAS;GAAC;GAAAF,WACxBN,SAASI,MAAME,SAASN,KAAK,CAAC;EAAC,CAAA;CAGvC;CAEA,OAAAY,gBACGvB,MAAM0B,UAAQ;EAAA,IAACV,WAAQ;GAAA,OAAED,MAAMC;EAAQ;EAAA,IAAAC,WAAA;GAAA,OAAAM,gBACrCI,YAAeZ,KAAK;EAAA;CAAA,CAAA;AAG3B;AAEA,SAASY,WACPZ,OAIA;CACA,MAAM,CAACI,YAAYnB,MAAMoB,qBACjBlB,MAAMa,MAAMT,OAAO,IACxBe,MAAMA,CACT;CAEA,OAAON,MAAME,SAASE,SAAS,CAAM;AACvC"} |
@@ -7,3 +7,3 @@ import * as Solid from 'solid-js'; | ||
| }; | ||
| export declare function useAwaited<T>({ promise: _promise, }: AwaitOptions<T>): [T, DeferredPromise<T>]; | ||
| export declare function useAwaited<T>({ promise: _promise, }: AwaitOptions<T>): [data: T, promise: DeferredPromise<T>]; | ||
| export declare function Await<T>(props: AwaitOptions<T> & { | ||
@@ -10,0 +10,0 @@ fallback?: SolidNode; |
+2
-2
| { | ||
| "name": "@tanstack/solid-router", | ||
| "version": "1.170.19-pre.0", | ||
| "version": "1.170.19", | ||
| "description": "Modern and scalable routing for Solid applications", | ||
@@ -94,3 +94,3 @@ "author": "Tanner Linsley", | ||
| "@tanstack/history": "1.162.0", | ||
| "@tanstack/router-core": "1.171.16-pre.0" | ||
| "@tanstack/router-core": "1.171.16" | ||
| }, | ||
@@ -97,0 +97,0 @@ "devDependencies": { |
+15
-1
@@ -5,3 +5,17 @@ <img src="https://static.scarf.sh/a.png?x-pxid=d988eb79-b0fc-4a2b-8514-6a1ab932d188" /> | ||
|  | ||
| <picture> | ||
| <source | ||
| media="(prefers-color-scheme: dark)" | ||
| srcset="https://tanstack.com/api/readme/router.png?framework=solid&theme=dark" | ||
| /> | ||
| <source | ||
| media="(prefers-color-scheme: light)" | ||
| srcset="https://tanstack.com/api/readme/router.png?framework=solid" | ||
| /> | ||
| <img | ||
| src="https://tanstack.com/api/readme/router.png?framework=solid" | ||
| alt="TanStack Solid Router" | ||
| width="900" | ||
| /> | ||
| </picture> | ||
@@ -8,0 +22,0 @@ 🤖 Type-safe router w/ built-in caching & URL state management for Solid! |
@@ -11,6 +11,7 @@ --- | ||
| Show/Switch/Match/Dynamic, and @solidjs/meta for head management. | ||
| type: framework | ||
| library: tanstack-router | ||
| library_version: '1.166.2' | ||
| framework: solid | ||
| metadata: | ||
| type: framework | ||
| library: tanstack-router | ||
| library_version: '1.166.2' | ||
| framework: solid | ||
| requires: | ||
@@ -26,4 +27,2 @@ - router-core | ||
| This skill covers the Solid-specific bindings, components, hooks, and setup for TanStack Router. | ||
| > **CRITICAL**: TanStack Router types are FULLY INFERRED. Never cast, never annotate inferred values. | ||
@@ -30,0 +29,0 @@ > **CRITICAL**: TanStack Router is CLIENT-FIRST. Loaders run on the client by default, not on the server. |
+1
-1
@@ -13,3 +13,3 @@ import * as Solid from 'solid-js' | ||
| promise: _promise, | ||
| }: AwaitOptions<T>): [T, DeferredPromise<T>] { | ||
| }: AwaitOptions<T>): [data: T, promise: DeferredPromise<T>] { | ||
| const promise = defer(_promise) | ||
@@ -16,0 +16,0 @@ |
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
1149796
0.03%1
-50%44
46.67%+ Added
- Removed