melhoria de rotas

This commit is contained in:
Luiz Silva 2024-09-15 12:45:30 -03:00
parent a5ca1748af
commit 7971b508c6
5 changed files with 86 additions and 41 deletions

View file

@ -1,14 +1,21 @@
/** Gerar uma classe que facilita a gestão de rotas com a tipagem das querys */
/** Gerar uma classe que facilita a gestão de rotas com a tipagem das querys
*
* Definições:
*
* caminho = "/aplicacao/funcionalidade"
*
* endereco = "http://localhost:3000/aplicacao/funcionalidade"
*
* parametros = {nome:"José"}
*/
export declare class TipagemRotas<T = {
[q: string]: string;
[q: string]: string | undefined;
}> {
/** Prefixo da url */
PREFIXO: string | undefined;
_caminhoParcial: string;
_partesCaminho: string[];
/** Ao criar novo obijeto de tipagem de rota é necessário passar o caminho parcial
** export const mCaminho = new TipagemRotas<{q:string}>("/caminho")
** export const mCaminho = new TipagemRotas<{q:string}>("aplicacao","funcionalidade")
*/
constructor(caminhoParcial: string, PREFIXO: string | undefined);
constructor(...caminhos: string[]);
/** Retorna o caminho completo da rota
** console.log(mCaminho.caminho)
** "/caminho"
@ -24,7 +31,7 @@ export declare class TipagemRotas<T = {
** console.log(mCaminho.resolve({q:"query"}))
** "http://localhost:3000/caminho?q=query"
*/
resolve(query: T): string;
endereco(query: T): string;
/** Vai para a url
** mCaminho.ir({q:"query"})
** window.location.href = "http://localhost:3000/caminho?q=query"