@tanstack/solid-router
Version:
Modern and scalable routing for Solid applications
1 lines • 2.1 kB
Source Map (JSON)
{"version":3,"file":"useLoaderData.cjs","names":["useMatch","Accessor","AnyRouter","RegisteredRouter","ResolveUseLoaderData","StrictOrFrom","UseLoaderDataResult","UseLoaderDataBaseOptions","select","match","TRouter","TFrom","TStrict","TSelected","UseLoaderDataOptions","UseLoaderDataRoute","opts","TId","useLoaderData","from","strict","s","loaderData"],"sources":["../../src/useLoaderData.tsx"],"sourcesContent":["import { useMatch } from './useMatch'\nimport type { Accessor } from 'solid-js'\nimport type {\n AnyRouter,\n RegisteredRouter,\n ResolveUseLoaderData,\n StrictOrFrom,\n UseLoaderDataResult,\n} from '@tanstack/router-core'\n\nexport interface UseLoaderDataBaseOptions<\n TRouter extends AnyRouter,\n TFrom,\n TStrict extends boolean,\n TSelected,\n> {\n select?: (match: ResolveUseLoaderData<TRouter, TFrom, TStrict>) => TSelected\n}\n\nexport type UseLoaderDataOptions<\n TRouter extends AnyRouter,\n TFrom extends string | undefined,\n TStrict extends boolean,\n TSelected,\n> = StrictOrFrom<TRouter, TFrom, TStrict> &\n UseLoaderDataBaseOptions<TRouter, TFrom, TStrict, TSelected>\n\nexport type UseLoaderDataRoute<out TId> = <\n TRouter extends AnyRouter = RegisteredRouter,\n TSelected = unknown,\n>(\n opts?: UseLoaderDataBaseOptions<TRouter, TId, true, TSelected>,\n) => Accessor<UseLoaderDataResult<TRouter, TId, true, TSelected>>\n\nexport function useLoaderData<\n TRouter extends AnyRouter = RegisteredRouter,\n const TFrom extends string | undefined = undefined,\n TStrict extends boolean = true,\n TSelected = unknown,\n>(\n opts: UseLoaderDataOptions<TRouter, TFrom, TStrict, TSelected>,\n): Accessor<UseLoaderDataResult<TRouter, TFrom, TStrict, TSelected>> {\n return useMatch({\n from: opts.from!,\n strict: opts.strict,\n select: (s: any) => {\n return opts.select ? opts.select(s.loaderData) : s.loaderData\n },\n } as any) as any\n}\n"],"mappings":";;AAkCA,SAAgBkB,cAMdF,MACmE;AACnE,QAAOhB,iBAAAA,SAAS;EACdmB,MAAMH,KAAKG;EACXC,QAAQJ,KAAKI;EACbZ,SAASa,MAAW;AAClB,UAAOL,KAAKR,SAASQ,KAAKR,OAAOa,EAAEC,WAAW,GAAGD,EAAEC;;EAEtD,CAAQ"}