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- Si un booléen est passé comme deuxième argument, il est traité comme la configuration
exact.
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): booleanExemple
javascript
import { isRegisteredRoute } from '@beforesemicolon/router'
isRegisteredRoute('/dashboard') // true
isRegisteredRoute('/users/42') // true, when /users/:userId is registered
isRegisteredRoute('/invalid-path') // falseparsePathname
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): stringExemple
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"