API d'enregistrement de route

Ces utilitaires vous permettent de gérer les modèles de routage enregistrés et de compiler dynamiquement les chemins paramétrés.


registerRoute

Enregistre manuellement un modèle d'itinéraire auprès du moteur de correspondance central. Ceci est effectué automatiquement par les balises <page-route> mais peut se faire impérativement en JS.

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

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

Exemple

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

Vérifie si un nom de chemin concret correspond à un modèle de route enregistré.

typescript
function isRegisteredRoute(pathname: string): boolean

Exemple

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

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

parsePathname

Prend un modèle de chemin contenant des paramètres et le compile en un chemin d'URL complet en utilisant les valeurs de l'emplacement actif actuel.

typescript
function parsePathname(pattern: string): string

Exemple

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"
modifier ce document