{"version":3,"file":"useSearch.cjs","names":["useMatch","Accessor","AnyRouter","RegisteredRouter","ResolveUseSearch","StrictOrFrom","ThrowConstraint","ThrowOrOptional","UseSearchResult","UseSearchBaseOptions","select","state","TRouter","TFrom","TStrict","TSelected","shouldThrow","TThrow","UseSearchOptions","UseSearchRoute","opts","useSearch","from","strict","match","search"],"sources":["../../src/useSearch.tsx"],"sourcesContent":["import { useMatch } from './useMatch'\nimport type { Accessor } from 'solid-js'\nimport type {\n  AnyRouter,\n  RegisteredRouter,\n  ResolveUseSearch,\n  StrictOrFrom,\n  ThrowConstraint,\n  ThrowOrOptional,\n  UseSearchResult,\n} from '@tanstack/router-core'\n\nexport interface UseSearchBaseOptions<\n  TRouter extends AnyRouter,\n  TFrom,\n  TStrict extends boolean,\n  TThrow extends boolean,\n  TSelected,\n> {\n  select?: (state: ResolveUseSearch<TRouter, TFrom, TStrict>) => TSelected\n  shouldThrow?: TThrow\n}\n\nexport type UseSearchOptions<\n  TRouter extends AnyRouter,\n  TFrom,\n  TStrict extends boolean,\n  TThrow extends boolean,\n  TSelected,\n> = StrictOrFrom<TRouter, TFrom, TStrict> &\n  UseSearchBaseOptions<TRouter, TFrom, TStrict, TThrow, TSelected>\n\nexport type UseSearchRoute<out TFrom> = <\n  TRouter extends AnyRouter = RegisteredRouter,\n  TSelected = unknown,\n>(\n  opts?: UseSearchBaseOptions<\n    TRouter,\n    TFrom,\n    /* TStrict */ true,\n    /* TThrow */ true,\n    TSelected\n  >,\n) => Accessor<UseSearchResult<TRouter, TFrom, true, TSelected>>\n\nexport function useSearch<\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: UseSearchOptions<\n    TRouter,\n    TFrom,\n    TStrict,\n    ThrowConstraint<TStrict, TThrow>,\n    TSelected\n  >,\n): Accessor<\n  ThrowOrOptional<UseSearchResult<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 search = match.search\n      return opts.select ? opts.select(search) : search\n    },\n  }) as 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,MAAMC,SAASD,MAAMC;AACrB,UAAOL,KAAKV,SAASU,KAAKV,OAAOe,OAAO,GAAGA;;EAE9C,CAAC"}