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

@ -27,11 +27,13 @@ class TipagemRotas {
*/ */
constructor({ constructor({
caminho, caminho,
acaoIr acaoIr,
rotulo
}) { }) {
this._partesCaminho = []; this._partesCaminho = [];
this._acaoIr = acaoIr; this._acaoIr = acaoIr;
this._partesCaminho = (Array.isArray(caminho) ? caminho : [caminho]).flatMap((a) => a.split("/")).filter(Boolean); this._partesCaminho = (Array.isArray(caminho) ? caminho : [caminho]).flatMap((a) => a.split("/")).filter(Boolean);
this.rotulo = rotulo;
} }
/** Retorna o caminho completo da rota /** Retorna o caminho completo da rota
** console.log(mCaminho.caminho) ** console.log(mCaminho.caminho)

View file

@ -161,12 +161,17 @@ declare class TipagemRotas<T extends {
}> { }> {
_partesCaminho: string[]; _partesCaminho: string[];
_acaoIr?: (endereco: string) => undefined; _acaoIr?: (endereco: string) => undefined;
rotulo: string | undefined;
/** Ao criar novo obijeto de tipagem de rota é necessário passar o caminho parcial /** Ao criar novo obijeto de tipagem de rota é necessário passar o caminho parcial
** export const mCaminho = new TipagemRotas<{q:string}>("aplicacao","funcionalidade") ** export const mCaminho = new TipagemRotas<{q:string}>("aplicacao","funcionalidade")
*/ */
constructor({ caminho, acaoIr, }: { constructor({ caminho, acaoIr, rotulo, }: {
caminho: string[] | string; caminho: string[] | string;
acaoIr?: undefined | ((endereco: string) => undefined); acaoIr?: undefined | ((endereco: string) => undefined);
/** Rotulo da página
* Inicio | Controle
*/
rotulo?: string;
}); });
/** Retorna o caminho completo da rota /** Retorna o caminho completo da rota
** console.log(mCaminho.caminho) ** console.log(mCaminho.caminho)

File diff suppressed because one or more lines are too long

View file

@ -1,6 +1,6 @@
{ {
"name": "p-comuns", "name": "p-comuns",
"version": "0.220.0", "version": "0.221.0",
"description": "", "description": "",
"main": "./dist-back/index.js", "main": "./dist-back/index.js",
"module": "./dist-front/index.mjs", "module": "./dist-front/index.mjs",

View file

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