{"version":3,"file":"usePaths.cjs","names":["useRouter","useForceUpdate"],"sources":["../../../src/router/usePaths/usePaths.ts"],"sourcesContent":["import { useEffect } from 'react';\nimport { filterRoutes, type FilterDescriptor } from '@pastweb/tools';\nimport { effect } from '@pastweb/tools/reactivity';\nimport { useForceUpdate } from '../../useForceUpdate';\nimport { useRouter } from '../useRouter';\nimport type { Route } from '../types';\n\n/**\n * Returns router paths filtered with the tools `filterRoutes` helper.\n *\n * @param filter - Optional filter descriptor. Omit it to return all paths.\n *\n * @returns Routes that match the filter.\n *\n * @example\n * ```tsx\n * const adminPaths = usePaths({ role: 'admin' });\n * ```\n */\nexport const usePaths = (filter: FilterDescriptor = {}): Route[] => {\n  const router = useRouter();\n  const forceUpdate = useForceUpdate();\n\n  useEffect(() => {\n    effect(forceUpdate, () => router.paths);\n  }, [forceUpdate, router]);\n\n  return filterRoutes(router.paths, filter) as Route[];\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAmBA,MAAa,YAAY,SAA2B,CAAC,MAAe;CAClE,MAAM,SAASA,mCAAAA,UAAU;CACzB,MAAM,cAAcC,sCAAAA,eAAe;CAEnC,CAAA,GAAA,MAAA,UAAA,OAAgB;EACd,CAAA,GAAA,0BAAA,OAAA,CAAO,mBAAmB,OAAO,KAAK;CACxC,GAAG,CAAC,aAAa,MAAM,CAAC;CAExB,QAAA,GAAA,eAAA,aAAA,CAAoB,OAAO,OAAO,MAAM;AAC1C"}