{"version":3,"file":"useParams.cjs","names":["useMatch","Accessor","AnyRouter","RegisteredRouter","ResolveUseParams","StrictOrFrom","ThrowConstraint","ThrowOrOptional","UseParamsResult","UseParamsBaseOptions","select","params","TRouter","TFrom","TStrict","TSelected","shouldThrow","TThrow","UseParamsOptions","UseParamsRoute","opts","useParams","from","strict","match","_strictParams"],"sources":["../../src/useParams.tsx"],"sourcesContent":["import { useMatch } from './useMatch'\nimport type { Accessor } from 'solid-js'\nimport type {\n  AnyRouter,\n  RegisteredRouter,\n  ResolveUseParams,\n  StrictOrFrom,\n  ThrowConstraint,\n  ThrowOrOptional,\n  UseParamsResult,\n} from '@tanstack/router-core'\n\nexport interface UseParamsBaseOptions<\n  TRouter extends AnyRouter,\n  TFrom,\n  TStrict extends boolean,\n  TThrow extends boolean,\n  TSelected,\n> {\n  select?: (params: ResolveUseParams<TRouter, TFrom, TStrict>) => TSelected\n  shouldThrow?: TThrow\n}\n\nexport type UseParamsOptions<\n  TRouter extends AnyRouter,\n  TFrom extends string | undefined,\n  TStrict extends boolean,\n  TThrow extends boolean,\n  TSelected,\n> = StrictOrFrom<TRouter, TFrom, TStrict> &\n  UseParamsBaseOptions<TRouter, TFrom, TStrict, TThrow, TSelected>\n\nexport type UseParamsRoute<out TFrom> = <\n  TRouter extends AnyRouter = RegisteredRouter,\n  TSelected = unknown,\n>(\n  opts?: UseParamsBaseOptions<\n    TRouter,\n    TFrom,\n    /* TStrict */ true,\n    /* TThrow */ true,\n    TSelected\n  >,\n) => Accessor<UseParamsResult<TRouter, TFrom, true, TSelected>>\n\nexport function useParams<\n  TRouter extends AnyRouter = RegisteredRouter,\n  const TFrom extends string | undefined = undefined,\n  TStrict extends boolean = true,\n  TThrow extends boolean = true,\n  TSelected = unknown,\n>(\n  opts: UseParamsOptions<\n    TRouter,\n    TFrom,\n    TStrict,\n    ThrowConstraint<TStrict, TThrow>,\n    TSelected\n  >,\n): Accessor<\n  ThrowOrOptional<UseParamsResult<TRouter, TFrom, TStrict, TSelected>, TThrow>\n> {\n  return useMatch({\n    from: opts.from!,\n    strict: opts.strict,\n    shouldThrow: opts.shouldThrow,\n    select: (match: any) => {\n      const params = opts.strict === false ? match.params : match._strictParams\n      return opts.select ? opts.select(params) : params\n    },\n  }) as Accessor<any>\n}\n"],"mappings":";;AA6CA,SAAgBqB,UAOdD,MASA;AACA,QAAOpB,iBAAAA,SAAS;EACdsB,MAAMF,KAAKE;EACXC,QAAQH,KAAKG;EACbP,aAAaI,KAAKJ;EAClBN,SAASc,UAAe;GACtB,MAAMb,SAASS,KAAKG,WAAW,QAAQC,MAAMb,SAASa,MAAMC;AAC5D,UAAOL,KAAKV,SAASU,KAAKV,OAAOC,OAAO,GAAGA;;EAE9C,CAAC"}