APIs de registro de rotas
Estes utilitários permitem gerenciar padrões de rota registrados e compilar caminhos parametrizados dinamicamente.
registerRoute
Registra manualmente um padrão de rota no mecanismo central de correspondência. Isso é feito automaticamente pelas tags <page-route>, mas também pode ser realizado de forma imperativa em JavaScript.
typescript
interface RegisterRouteOptions {
exact?: boolean
meta?: Record<string, unknown>
name?: string
}
function registerRoute(
pattern: string,
options?: RegisterRouteOptions | boolean
): void- Se um booleano for passado como segundo argumento, ele será tratado como a configuração
exact.
Exemplo
javascript
import { registerRoute } from '@beforesemicolon/router'
registerRoute('/dashboard')
registerRoute('/admin', { exact: false })
registerRoute('/users/:userId', {
exact: true,
name: 'user-routes',
meta: { title: 'User Details', requiresAuth: true },
})isRegisteredRoute
Verifica se um caminho concreto corresponde a algum padrão de rota registrado.
typescript
function isRegisteredRoute(pathname: string): booleanExemplo
javascript
import { isRegisteredRoute } from '@beforesemicolon/router'
isRegisteredRoute('/dashboard') // true
isRegisteredRoute('/users/42') // true, when /users/:userId is registered
isRegisteredRoute('/invalid-path') // falseparsePathname
Recebe um padrão de caminho com parâmetros e o compila em um caminho completo de URL usando valores da localização ativa atual.
typescript
function parsePathname(pattern: string): stringExemplo
javascript
// Browser location is: /users/42
// Current parameters: { userId: '42' }
import { parsePathname } from '@beforesemicolon/router'
const path = parsePathname('/users/:userId/details')
// Returns: "/users/42/details"