29 lines
975 B
JavaScript
29 lines
975 B
JavaScript
import { useMatch } from "./useMatch.js";
|
|
//#region src/useSearch.tsx
|
|
/**
|
|
* Read and select the current route's search parameters with type-safety.
|
|
*
|
|
* Options:
|
|
* - `from`/`strict`: Control which route's search is read and how strictly it's typed
|
|
* - `select`: Map the search object to a derived value for render optimization
|
|
* - `structuralSharing`: Enable structural sharing for stable references
|
|
* - `shouldThrow`: Throw when the route is not found (strict contexts)
|
|
*
|
|
* @returns The search object (or selected value) for the matched route.
|
|
* @link https://tanstack.com/router/latest/docs/framework/react/api/router/useSearchHook
|
|
*/
|
|
function useSearch(opts) {
|
|
return useMatch({
|
|
from: opts.from,
|
|
strict: opts.strict,
|
|
shouldThrow: opts.shouldThrow,
|
|
structuralSharing: opts.structuralSharing,
|
|
select: (match) => {
|
|
return opts.select ? opts.select(match.search) : match.search;
|
|
}
|
|
});
|
|
}
|
|
//#endregion
|
|
export { useSearch };
|
|
|
|
//# sourceMappingURL=useSearch.js.map
|