@tanstack/react-router 1.28.1 → 1.28.3
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.
- package/dist/cjs/Matches.cjs +45 -23
- package/dist/cjs/Matches.cjs.map +1 -1
- package/dist/cjs/Matches.d.cts +5 -6
- package/dist/cjs/RouterProvider.cjs +2 -2
- package/dist/cjs/RouterProvider.cjs.map +1 -1
- package/dist/cjs/fileRoute.d.cts +4 -4
- package/dist/cjs/index.cjs +0 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.cts +1 -1
- package/dist/cjs/link.cjs.map +1 -1
- package/dist/cjs/link.d.cts +2 -0
- package/dist/cjs/redirects.cjs.map +1 -1
- package/dist/cjs/redirects.d.cts +3 -1
- package/dist/cjs/route.cjs.map +1 -1
- package/dist/cjs/route.d.cts +2 -2
- package/dist/cjs/router.cjs +374 -327
- package/dist/cjs/router.cjs.map +1 -1
- package/dist/cjs/router.d.cts +2 -2
- package/dist/cjs/utils.cjs +20 -2
- package/dist/cjs/utils.cjs.map +1 -1
- package/dist/cjs/utils.d.cts +6 -1
- package/dist/esm/Matches.d.ts +5 -6
- package/dist/esm/Matches.js +46 -24
- package/dist/esm/Matches.js.map +1 -1
- package/dist/esm/RouterProvider.js +2 -2
- package/dist/esm/RouterProvider.js.map +1 -1
- package/dist/esm/fileRoute.d.ts +4 -4
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +1 -2
- package/dist/esm/link.d.ts +2 -0
- package/dist/esm/link.js.map +1 -1
- package/dist/esm/redirects.d.ts +3 -1
- package/dist/esm/redirects.js.map +1 -1
- package/dist/esm/route.d.ts +2 -2
- package/dist/esm/route.js.map +1 -1
- package/dist/esm/router.d.ts +2 -2
- package/dist/esm/router.js +375 -328
- package/dist/esm/router.js.map +1 -1
- package/dist/esm/utils.d.ts +6 -1
- package/dist/esm/utils.js +20 -2
- package/dist/esm/utils.js.map +1 -1
- package/package.json +4 -2
- package/src/Matches.tsx +73 -35
- package/src/RouterProvider.tsx +2 -0
- package/src/index.tsx +0 -1
- package/src/link.tsx +2 -0
- package/src/redirects.ts +4 -2
- package/src/route.ts +2 -7
- package/src/router.ts +498 -426
- package/src/utils.ts +31 -2
package/src/utils.ts
CHANGED
|
@@ -82,8 +82,6 @@ export type UnionToTuple<T, TLast = LastInUnion<T>> = [T] extends [never]
|
|
|
82
82
|
|
|
83
83
|
//
|
|
84
84
|
|
|
85
|
-
export const isServer = typeof document === 'undefined'
|
|
86
|
-
|
|
87
85
|
export function last<T>(arr: Array<T>) {
|
|
88
86
|
return arr[arr.length - 1]
|
|
89
87
|
}
|
|
@@ -310,3 +308,34 @@ export function removeTrailingSlash(value: string): string {
|
|
|
310
308
|
export function exactPathTest(pathName1: string, pathName2: string): boolean {
|
|
311
309
|
return removeTrailingSlash(pathName1) === removeTrailingSlash(pathName2)
|
|
312
310
|
}
|
|
311
|
+
|
|
312
|
+
export type ControlledPromise<T> = Promise<T> & {
|
|
313
|
+
resolve: (value: T) => void
|
|
314
|
+
reject: (value: any) => void
|
|
315
|
+
status: 'pending' | 'resolved' | 'rejected'
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
export function createControlledPromise<T>(onResolve?: () => void) {
|
|
319
|
+
let resolveLoadPromise!: () => void
|
|
320
|
+
let rejectLoadPromise!: (value: any) => void
|
|
321
|
+
|
|
322
|
+
const controlledPromise = new Promise<void>((resolve, reject) => {
|
|
323
|
+
resolveLoadPromise = resolve
|
|
324
|
+
rejectLoadPromise = reject
|
|
325
|
+
}) as ControlledPromise<T>
|
|
326
|
+
|
|
327
|
+
controlledPromise.status = 'pending'
|
|
328
|
+
|
|
329
|
+
controlledPromise.resolve = () => {
|
|
330
|
+
controlledPromise.status = 'resolved'
|
|
331
|
+
resolveLoadPromise()
|
|
332
|
+
onResolve?.()
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
controlledPromise.reject = (e) => {
|
|
336
|
+
controlledPromise.status = 'rejected'
|
|
337
|
+
rejectLoadPromise(e)
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
return controlledPromise
|
|
341
|
+
}
|