API de registro de ruta

Estas utilidades le permiten administrar patrones de ruta registrados y compilar rutas parametrizadas dinámicamente.


registerRoute

Registra manualmente un patrón de ruta con el motor de coincidencia central. Esto se realiza automáticamente mediante etiquetas <page-route>, pero se puede hacer imperativamente en JS.

typescript
interface RegisterRouteOptions {
    exact?: boolean
    meta?: Record<string, unknown>
    name?: string
}

function registerRoute(
    pattern: string,
    options?: RegisterRouteOptions | boolean
): void

Ejemplo

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

Comprueba si un nombre de ruta concreto coincide con algún patrón de ruta registrado.

typescript
function isRegisteredRoute(pathname: string): boolean

Ejemplo

javascript
import { isRegisteredRoute } from '@beforesemicolon/router'

isRegisteredRoute('/dashboard') // true
isRegisteredRoute('/users/42') // true, when /users/:userId is registered
isRegisteredRoute('/invalid-path') // false

parsePathname

Toma un patrón de ruta que contiene parámetros y lo compila en una ruta URL completa utilizando valores de la ubicación activa actual.

typescript
function parsePathname(pattern: string): string

Ejemplo

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"
editar este documento