UNPKG

@tanstack/solid-router

Version:

Modern and scalable routing for Solid applications

1 lines 1.91 kB
{"version":3,"file":"useLoaderDeps.cjs","names":["useMatch","Accessor","AnyRouter","RegisteredRouter","ResolveUseLoaderDeps","StrictOrFrom","UseLoaderDepsResult","UseLoaderDepsBaseOptions","select","deps","TRouter","TFrom","TSelected","UseLoaderDepsOptions","UseLoaderDepsRoute","opts","TId","useLoaderDeps","s","loaderDeps"],"sources":["../../src/useLoaderDeps.tsx"],"sourcesContent":["import { useMatch } from './useMatch'\nimport type { Accessor } from 'solid-js'\nimport type {\n AnyRouter,\n RegisteredRouter,\n ResolveUseLoaderDeps,\n StrictOrFrom,\n UseLoaderDepsResult,\n} from '@tanstack/router-core'\n\nexport interface UseLoaderDepsBaseOptions<\n TRouter extends AnyRouter,\n TFrom,\n TSelected,\n> {\n select?: (deps: ResolveUseLoaderDeps<TRouter, TFrom>) => TSelected\n}\n\nexport type UseLoaderDepsOptions<\n TRouter extends AnyRouter,\n TFrom extends string | undefined,\n TSelected,\n> = StrictOrFrom<TRouter, TFrom> &\n UseLoaderDepsBaseOptions<TRouter, TFrom, TSelected>\n\nexport type UseLoaderDepsRoute<out TId> = <\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseLoaderDepsBaseOptions<TRouter, TId, TSelected>,\n) => Accessor<UseLoaderDepsResult<TRouter, TId, TSelected>>\n\nexport function useLoaderDeps<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string | undefined = undefined,\n TSelected = unknown,\n>(\n opts: UseLoaderDepsOptions<TRouter, TFrom, TSelected>,\n): Accessor<UseLoaderDepsResult<TRouter, TFrom, TSelected>> {\n return useMatch({\n ...opts,\n select: (s) => {\n return opts.select ? opts.select(s.loaderDeps) : s.loaderDeps\n },\n }) as Accessor<UseLoaderDepsResult<TRouter, TFrom, TSelected>>\n}\n"],"mappings":";;AAgCA,SAAgBiB,cAKdF,MAC0D;AAC1D,QAAOf,iBAAAA,SAAS;EACd,GAAGe;EACHP,SAASU,MAAM;AACb,UAAOH,KAAKP,SAASO,KAAKP,OAAOU,EAAEC,WAAW,GAAGD,EAAEC;;EAEtD,CAAC"}