melhoria em tipagem rota
This commit is contained in:
parent
d628f0fc32
commit
457973873b
5 changed files with 16 additions and 35 deletions
20
dist/tipagemRotas.js
vendored
20
dist/tipagemRotas.js
vendored
|
|
@ -15,29 +15,19 @@ class TipagemRotas {
|
|||
/** Ao criar novo obijeto de tipagem de rota é necessário passar o caminho parcial
|
||||
** export const mCaminho = new TipagemRotas<{q:string}>("aplicacao","funcionalidade")
|
||||
*/
|
||||
constructor({ caminhos, acaoIr, }) {
|
||||
constructor({ caminho, acaoIr, }) {
|
||||
this._partesCaminho = [];
|
||||
this._acaoIr = acaoIr;
|
||||
[Array.isArray(caminhos) ? caminhos : [caminhos]].forEach((caminho) => {
|
||||
String(caminho)
|
||||
.split("/")
|
||||
.forEach((parte) => {
|
||||
if (parte) {
|
||||
this._partesCaminho.push(parte);
|
||||
}
|
||||
});
|
||||
});
|
||||
this._partesCaminho = (Array.isArray(caminho) ? caminho : [caminho])
|
||||
.flatMap((a) => a.split("/"))
|
||||
.filter(Boolean);
|
||||
}
|
||||
/** Retorna o caminho completo da rota
|
||||
** console.log(mCaminho.caminho)
|
||||
** "/caminho"
|
||||
*/
|
||||
get caminho() {
|
||||
let ret = `/${this._partesCaminho.join("/")}`;
|
||||
ret = ret.replace(/\/+/g, "/");
|
||||
if (ret.length > 1 && ret.endsWith("/")) {
|
||||
ret = ret.slice(0, -1);
|
||||
}
|
||||
const ret = `/${this._partesCaminho.join("/")}`;
|
||||
return ret;
|
||||
}
|
||||
/** Define o caminho completo da rota
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue