alloc / alloc/saus

`parseRoutePattern` plugin hook

Abierto
#59 0 comentarios 0 reacciones 0 asignados Ver en GitHub
backlog plugin API
Lenguaje dominante
TypeScript
Estrellas
38
Forks
1
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

We currently use the `regexparam` library to parse route patterns, but it would be cool if plugins can override this and even provide support for values other than strings (eg: RegExp or options object).

https://github.com/alloc/saus/blob/052b3cc847c131bde25a2c463c59f858ad67c7c4/src/core/routes.ts#L96

The plugin hooks would work a lot like `resolveId` does.
```ts
const plugin: import("saus").Plugin = {
// The hook receives a route pattern and the route's config object,
// which should also be customizable through the plugin API.
parseRoutePattern(route, config) {
if (route instanceof RegExp) {
return {
// Match against a page path.
test: path => route.test(path),
// Render a page path for this route.
render: params => {
// TODO: inject our `params` into the `route.source` somehow
},
}
}

// Return falsy to defer to the next plugin hook.
return null
}
}
```

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.