incluido Rotulo em TipagemRotas

This commit is contained in:
Luiz Silva 2025-09-02 12:17:40 -03:00
parent ccba36f828
commit 6dd0569f9e
5 changed files with 19 additions and 4 deletions

View file

@ -12,6 +12,7 @@
export class TipagemRotas<T extends { [q: string]: string | undefined }> {
_partesCaminho: string[] = []
_acaoIr?: (endereco: string) => undefined
rotulo: string | undefined
/** Ao criar novo obijeto de tipagem de rota é necessário passar o caminho parcial
** export const mCaminho = new TipagemRotas<{q:string}>("aplicacao","funcionalidade")
@ -19,15 +20,22 @@ export class TipagemRotas<T extends { [q: string]: string | undefined }> {
constructor({
caminho,
acaoIr,
rotulo,
}: {
caminho: string[] | string
acaoIr?: undefined | ((endereco: string) => undefined)
/** Rotulo da página
* Inicio | Controle
*/
rotulo?: string
}) {
this._acaoIr = acaoIr
this._partesCaminho = (Array.isArray(caminho) ? caminho : [caminho])
.flatMap((a) => a.split("/"))
.filter(Boolean)
this.rotulo = rotulo
}
/** Retorna o caminho completo da rota