Skip to content

Commit

Permalink
- Atualizações de pacotes; (#24)
Browse files Browse the repository at this point in the history
- Acomodações em código para as atualizações de pacotes.
  • Loading branch information
leonelsanchesdasilva committed Nov 1, 2023
1 parent f3eb0a2 commit 857da59
Show file tree
Hide file tree
Showing 4 changed files with 73 additions and 58 deletions.
2 changes: 1 addition & 1 deletion infraestrutura/preprocessadores/foles.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export class PreprocessadorFolEs {
this.construtorLmht = new XMLBuilder({
ignoreAttributes : false
});
this.foles = new FolEs();
this.foles = new FolEs(false);
}

processar(conteudoLmht: string): string {
Expand Down
83 changes: 42 additions & 41 deletions liquido.ts
Original file line number Diff line number Diff line change
Expand Up @@ -69,14 +69,14 @@ export class Liquido implements LiquidoInterface {
this.interpretador = new Interpretador(this.importador, process.cwd(), false, console.log);
this.roteador = new Roteador();
this.provedorLincones = new ProvedorLincones();
this.foles = new FolEs();
this.foles = new FolEs(false);
}

async iniciar(): Promise<void> {
this.importarArquivoConfiguracao();
this.roteador.configurarArquivosEstaticos(this.diretorioEstatico);
this.roteador.iniciarMiddlewares();
this.importarArquivosRotas();
await this.importarArquivosRotas();

this.roteador.iniciar();
if (this.provedorLincones.configurado) {
Expand Down Expand Up @@ -233,7 +233,7 @@ export class Liquido implements LiquidoInterface {
return rotaResolvida;
}

importarArquivosRotas(): void {
async importarArquivosRotas(): Promise<void> {
this.descobrirRotas(caminho.join(this.diretorioBase, 'rotas'));

try {
Expand All @@ -250,40 +250,40 @@ export class Liquido implements LiquidoInterface {
if (objeto.simbolo.lexema.toLowerCase() === 'liquido') {
switch (metodo.lexema) {
case 'rotaGet':
this.adicionarRotaGet(this.resolverCaminhoRota(arquivo), expressao.argumentos);
await this.adicionarRotaGet(this.resolverCaminhoRota(arquivo), expressao.argumentos);
break;
case 'rotaPost':
this.adicionarRotaPost(this.resolverCaminhoRota(arquivo), expressao.argumentos);
await this.adicionarRotaPost(this.resolverCaminhoRota(arquivo), expressao.argumentos);
break;
case 'rotaPut':
this.adicionarRotaPut(this.resolverCaminhoRota(arquivo), expressao.argumentos);
await this.adicionarRotaPut(this.resolverCaminhoRota(arquivo), expressao.argumentos);
break;
case 'rotaDelete':
this.adicionarRotaDelete(this.resolverCaminhoRota(arquivo), expressao.argumentos);
await this.adicionarRotaDelete(this.resolverCaminhoRota(arquivo), expressao.argumentos);
break;
case 'rotaPatch':
this.adicionarRotaPatch(this.resolverCaminhoRota(arquivo), expressao.argumentos);
await this.adicionarRotaPatch(this.resolverCaminhoRota(arquivo), expressao.argumentos);
break;
case 'rotaOptions':
this.adicionarRotaOptions(this.resolverCaminhoRota(arquivo), expressao.argumentos);
await this.adicionarRotaOptions(this.resolverCaminhoRota(arquivo), expressao.argumentos);
break;
case 'rotaCopy':
this.adicionarRotaCopy(this.resolverCaminhoRota(arquivo), expressao.argumentos);
await this.adicionarRotaCopy(this.resolverCaminhoRota(arquivo), expressao.argumentos);
break;
case 'rotaHead':
this.adicionarRotaHead(this.resolverCaminhoRota(arquivo), expressao.argumentos);
await this.adicionarRotaHead(this.resolverCaminhoRota(arquivo), expressao.argumentos);
break;
case 'rotaLock':
this.adicionarRotaLock(this.resolverCaminhoRota(arquivo), expressao.argumentos);
await this.adicionarRotaLock(this.resolverCaminhoRota(arquivo), expressao.argumentos);
break;
case 'rotaUnlock':
this.adicionarRotaUnlock(this.resolverCaminhoRota(arquivo), expressao.argumentos);
await this.adicionarRotaUnlock(this.resolverCaminhoRota(arquivo), expressao.argumentos);
break;
case 'rotaPurge':
this.adicionarRotaPurge(this.resolverCaminhoRota(arquivo), expressao.argumentos);
await this.adicionarRotaPurge(this.resolverCaminhoRota(arquivo), expressao.argumentos);
break;
case 'rotaPropfind':
this.adicionarRotaPropfind(this.resolverCaminhoRota(arquivo), expressao.argumentos);
await this.adicionarRotaPropfind(this.resolverCaminhoRota(arquivo), expressao.argumentos);
break;
default:
console.log(`Método ${metodo.lexema} não reconhecido.`);
Expand All @@ -305,11 +305,12 @@ export class Liquido implements LiquidoInterface {
* @param nomeFuncao O nome da função a ser chamada pelo Interpretador.
* @param funcaoConstruto O conteúdo da função, declarada no arquivo `.delegua` correspondente.
*/
prepararRequisicao(requisicao: any, nomeFuncao: string, funcaoConstruto: FuncaoConstruto): void {
async prepararRequisicao(requisicao: any, nomeFuncao: string, funcaoConstruto: FuncaoConstruto): Promise<void> {
this.interpretador.pilhaEscoposExecucao.definirVariavel('requisicao', requisicao);
const classeResposta = new Resposta();
this.interpretador.pilhaEscoposExecucao.definirVariavel(
'resposta',
new Resposta().chamar(this.interpretador as any, [])
await classeResposta.chamar(this.interpretador as any, [])
);

const funcaoRetorno = new DeleguaFuncao(nomeFuncao, funcaoConstruto);
Expand Down Expand Up @@ -383,143 +384,143 @@ export class Liquido implements LiquidoInterface {
* para a resolução da rota. Por enquanto apenas a primeira
* função é executada.
*/
adicionarRotaGet(caminhoRota: string, argumentos: Construto[]) {
async adicionarRotaGet(caminhoRota: string, argumentos: Construto[]): Promise<void> {
const funcao = argumentos[0] as FuncaoConstruto;

this.roteador.rotaGet(caminhoRota, async (req, res) => {
this.prepararRequisicao(req, 'funcaoRotaGet', funcao);
await this.prepararRequisicao(req, 'funcaoRotaGet', funcao);

const retornoInterpretador = await this.chamarInterpretador('funcaoRotaGet');
const corpoEStatus = await this.logicaComumResultadoInterpretador(caminhoRota, retornoInterpretador);
res.send(corpoEStatus.corpoRetorno).status(corpoEStatus.statusHttp);
});
}

adicionarRotaPost(caminhoRota: string, argumentos: Construto[]): void {
async adicionarRotaPost(caminhoRota: string, argumentos: Construto[]): Promise<void> {
const funcao = argumentos[0] as FuncaoConstruto;

this.roteador.rotaPost(caminhoRota, async (req, res) => {
this.prepararRequisicao(req, 'funcaoRotaPost', funcao);
await this.prepararRequisicao(req, 'funcaoRotaPost', funcao);

const retornoInterpretador = await this.chamarInterpretador('funcaoRotaPost');
const corpoEStatus = await this.logicaComumResultadoInterpretador(caminhoRota, retornoInterpretador);
res.send(corpoEStatus.corpoRetorno).status(corpoEStatus.statusHttp);
});
}

adicionarRotaPut(caminhoRota: string, argumentos: Construto[]): void {
async adicionarRotaPut(caminhoRota: string, argumentos: Construto[]): Promise<void> {
const funcao = argumentos[0] as FuncaoConstruto;

this.roteador.rotaPut(caminhoRota, async (req, res) => {
this.prepararRequisicao(req, 'funcaoRotaPut', funcao);
await this.prepararRequisicao(req, 'funcaoRotaPut', funcao);

const retornoInterpretador = await this.chamarInterpretador('funcaoRotaPut');
const corpoEStatus = await this.logicaComumResultadoInterpretador(caminhoRota, retornoInterpretador);
res.send(corpoEStatus.corpoRetorno).status(corpoEStatus.statusHttp);
});
}

adicionarRotaDelete(caminhoRota: string, argumentos: Construto[]): void {
async adicionarRotaDelete(caminhoRota: string, argumentos: Construto[]): Promise<void> {
const funcao = argumentos[0] as FuncaoConstruto;

this.roteador.rotaDelete(caminhoRota, async (req, res) => {
this.prepararRequisicao(req, 'funcaoRotaDelete', funcao);
await this.prepararRequisicao(req, 'funcaoRotaDelete', funcao);

const retornoInterpretador = await this.chamarInterpretador('funcaoRotaDelete');
const corpoEStatus = await this.logicaComumResultadoInterpretador(caminhoRota, retornoInterpretador);
res.send(corpoEStatus.corpoRetorno).status(corpoEStatus.statusHttp);
});
}

adicionarRotaPatch(caminhoRota: string, argumentos: Construto[]): void {
async adicionarRotaPatch(caminhoRota: string, argumentos: Construto[]): Promise<void> {
const funcao = argumentos[0] as FuncaoConstruto;

this.roteador.rotaPatch(caminhoRota, async (req, res) => {
this.prepararRequisicao(req, 'funcaoRotaPatch', funcao);
await this.prepararRequisicao(req, 'funcaoRotaPatch', funcao);

const retornoInterpretador = await this.chamarInterpretador('funcaoRotaPatch');
const corpoEStatus = await this.logicaComumResultadoInterpretador(caminhoRota, retornoInterpretador);
res.send(corpoEStatus.corpoRetorno).status(corpoEStatus.statusHttp);
});
}

adicionarRotaOptions(caminhoRota: string, argumentos: Construto[]): void {
async adicionarRotaOptions(caminhoRota: string, argumentos: Construto[]): Promise<void> {
const funcao = argumentos[0] as FuncaoConstruto;

this.roteador.rotaOptions(caminhoRota, async (req, res) => {
this.prepararRequisicao(req, 'funcaoRotaOptions', funcao);
await this.prepararRequisicao(req, 'funcaoRotaOptions', funcao);

const retornoInterpretador = await this.chamarInterpretador('funcaoRotaOptions');
const corpoEStatus = await this.logicaComumResultadoInterpretador(caminhoRota, retornoInterpretador);
res.send(corpoEStatus.corpoRetorno).status(corpoEStatus.statusHttp);
});
}

adicionarRotaCopy(caminhoRota: string, argumentos: Construto[]): void {
async adicionarRotaCopy(caminhoRota: string, argumentos: Construto[]): Promise<void> {
const funcao = argumentos[0] as FuncaoConstruto;

this.roteador.rotaCopy(caminhoRota, async (req, res) => {
this.prepararRequisicao(req, 'funcaoRotaCopy', funcao);
await this.prepararRequisicao(req, 'funcaoRotaCopy', funcao);

const retornoInterpretador = await this.chamarInterpretador('funcaoRotaCopy');
const corpoEStatus = await this.logicaComumResultadoInterpretador(caminhoRota, retornoInterpretador);
res.send(corpoEStatus.corpoRetorno).status(corpoEStatus.statusHttp);
});
}

adicionarRotaHead(caminhoRota: string, argumentos: Construto[]): void {
async adicionarRotaHead(caminhoRota: string, argumentos: Construto[]): Promise<void> {
const funcao = argumentos[0] as FuncaoConstruto;

this.roteador.rotaHead(caminhoRota, async (req, res) => {
this.prepararRequisicao(req, 'funcaoRotaHead', funcao);
await this.prepararRequisicao(req, 'funcaoRotaHead', funcao);

const retornoInterpretador = await this.chamarInterpretador('funcaoRotaHead');
const corpoEStatus = await this.logicaComumResultadoInterpretador(caminhoRota, retornoInterpretador);
res.send(corpoEStatus.corpoRetorno).status(corpoEStatus.statusHttp);
});
}

adicionarRotaLock(caminhoRota: string, argumentos: Construto[]): void {
async adicionarRotaLock(caminhoRota: string, argumentos: Construto[]): Promise<void> {
const funcao = argumentos[0] as FuncaoConstruto;

this.roteador.rotaLock(caminhoRota, async (req, res) => {
this.prepararRequisicao(req, 'funcaoRotaLock', funcao);
await this.prepararRequisicao(req, 'funcaoRotaLock', funcao);

const retornoInterpretador = await this.chamarInterpretador('funcaoRotaLock');
const corpoEStatus = await this.logicaComumResultadoInterpretador(caminhoRota, retornoInterpretador);
res.send(corpoEStatus.corpoRetorno).status(corpoEStatus.statusHttp);
});
}

adicionarRotaUnlock(caminhoRota: string, argumentos: Construto[]): void {
async adicionarRotaUnlock(caminhoRota: string, argumentos: Construto[]): Promise<void> {
const funcao = argumentos[0] as FuncaoConstruto;

this.roteador.rotaUnlock(caminhoRota, async (req, res) => {
this.prepararRequisicao(req, 'funcaoRotaUnlock', funcao);
await this.prepararRequisicao(req, 'funcaoRotaUnlock', funcao);

const retornoInterpretador = await this.chamarInterpretador('funcaoRotaUnlock');
const corpoEStatus = await this.logicaComumResultadoInterpretador(caminhoRota, retornoInterpretador);
res.send(corpoEStatus.corpoRetorno).status(corpoEStatus.statusHttp);
});
}

adicionarRotaPurge(caminhoRota: string, argumentos: Construto[]): void {
async adicionarRotaPurge(caminhoRota: string, argumentos: Construto[]): Promise<void> {
const funcao = argumentos[0] as FuncaoConstruto;

this.roteador.rotaPurge(caminhoRota, async (req, res) => {
this.prepararRequisicao(req, 'funcaoRotaPurge', funcao);
await this.prepararRequisicao(req, 'funcaoRotaPurge', funcao);

const retornoInterpretador = await this.chamarInterpretador('funcaoRotaPurge');
const corpoEStatus = await this.logicaComumResultadoInterpretador(caminhoRota, retornoInterpretador);
res.send(corpoEStatus.corpoRetorno).status(corpoEStatus.statusHttp);
});
}

adicionarRotaPropfind(caminhoRota: string, argumentos: Construto[]): void {
async adicionarRotaPropfind(caminhoRota: string, argumentos: Construto[]): Promise<void> {
const funcao = argumentos[0] as FuncaoConstruto;

this.roteador.rotaPropfind(caminhoRota, async (req, res) => {
this.prepararRequisicao(req, 'funcaoRotaPropfind', funcao);
await this.prepararRequisicao(req, 'funcaoRotaPropfind', funcao);

const retornoInterpretador = await this.chamarInterpretador('funcaoRotaPropfind');
const corpoEStatus = await this.logicaComumResultadoInterpretador(caminhoRota, retornoInterpretador);
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@
"swagger": "tsoa spec"
},
"dependencies": {
"@designliquido/delegua-node": "^0.20.1",
"@designliquido/foles": "^0.4.1",
"@designliquido/delegua-node": "^0.26.2",
"@designliquido/foles": "^0.5.1",
"@designliquido/lincones-sqlite": "^0.0.2",
"@designliquido/lmht-js": "^0.3.1",
"body-parser": "^1.20.1",
Expand Down
42 changes: 28 additions & 14 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -304,30 +304,31 @@
dependencies:
"@jridgewell/trace-mapping" "0.3.9"

"@designliquido/delegua-node@^0.20.1":
version "0.20.16"
resolved "https://registry.yarnpkg.com/@designliquido/delegua-node/-/delegua-node-0.20.16.tgz#1610dcd1c2c926696cc12317920d889e7104e659"
integrity sha512-YOGMd+XRA8RRDp3BYya3DKThVad1HuWnIt6TGmBJLZhM7Z7m2743t74szNcTxyr9fvdm1wI7me2EkXEUF2iqUQ==
"@designliquido/delegua-node@^0.26.2":
version "0.26.2"
resolved "https://registry.yarnpkg.com/@designliquido/delegua-node/-/delegua-node-0.26.2.tgz#53041caa02d6c2f6e4c338b5fab44341c569ec9d"
integrity sha512-p0o7F/rwkU2/NCpfrlvy/YjH+OwuvDmbchMgKqYG4+vbNqygN2MQOO0G8y9hdfBmzS7bgghlHcDpqowZ9FqJhQ==
dependencies:
"@designliquido/delegua" "0.20.16"
"@designliquido/delegua" "0.26.2"
chalk "4.1.2"
commander "^9.4.1"
json-colorizer "^2.2.2"
lodash.clonedeep "^4.5.0"

"@designliquido/delegua@0.20.16":
version "0.20.16"
resolved "https://registry.yarnpkg.com/@designliquido/delegua/-/delegua-0.20.16.tgz#85bd2db63d64dcbb947aa716f95ad2c565f25b51"
integrity sha512-hUuAt5M56KNIkqQCvREzo5DpDZMxWTx+mjnJ6aSXIXjYQEh1MqbdImRP41e9Ys48DI/9Nry8AfM3BEoFyXXqZw==
"@designliquido/delegua@0.26.2":
version "0.26.2"
resolved "https://registry.yarnpkg.com/@designliquido/delegua/-/delegua-0.26.2.tgz#bdf30f23cf8bac9788d9eac8a64365ec18e0db44"
integrity sha512-TwRu8UOd1UaBEb3J0j64uPEDNGDAKV/OsrQXN42g32y9Mv2Sv8CiOgD5LABYhjPCKbOhPp9p2du3IMmogkZvYQ==
dependencies:
antlr4ts "^0.5.0-alpha.4"
browser-process-hrtime "^1.0.0"
esprima "^4.0.1"
lodash.clonedeep "^4.5.0"

"@designliquido/foles@^0.4.1":
version "0.4.1"
resolved "https://registry.yarnpkg.com/@designliquido/foles/-/foles-0.4.1.tgz#6220bfad6ade8fafc7e94704a70a8c6dea04e48d"
integrity sha512-H+bqcFCAO2orxb213faorVeZMvqY1jEDw8wWw8eq6pBK09jyNtSZoP6WmmEW2aULRkCjaRNmAtGVfmdVhZr1FA==
"@designliquido/foles@^0.5.1":
version "0.5.1"
resolved "https://registry.yarnpkg.com/@designliquido/foles/-/foles-0.5.1.tgz#3c92a80c17051b76b1e1be5ceb181d2dd2be23cf"
integrity sha512-G0i92CoTn6ijDtTuLZNd+O01HX/3NzmWEEJl/IBU2Abu7bWAxjnipXe9AVJwYmSu9hqzgjCPNkjTpvFJSCyXgQ==
dependencies:
commander "^9.4.1"
vlq "^2.0.4"
Expand Down Expand Up @@ -1728,7 +1729,7 @@ chalk@5.0.1:
resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.0.1.tgz#ca57d71e82bb534a296df63bbacc4a1c22b2a4b6"
integrity sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==

chalk@^2.0.0:
chalk@^2.0.0, chalk@^2.4.1:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
Expand Down Expand Up @@ -4067,6 +4068,14 @@ json-buffer@3.0.1:
resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13"
integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==

json-colorizer@^2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/json-colorizer/-/json-colorizer-2.2.2.tgz#07c2ac8cef36558075948e1566c6cfb4ac1668e6"
integrity sha512-56oZtwV1piXrQnRNTtJeqRv+B9Y/dXAYLqBBaYl/COcUdoZxgLBLAO88+CnkbT6MxNs0c5E9mPBIb2sFcNz3vw==
dependencies:
chalk "^2.4.1"
lodash.get "^4.4.2"

json-parse-even-better-errors@^2.3.0:
version "2.3.1"
resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
Expand Down Expand Up @@ -4190,6 +4199,11 @@ lodash.clonedeep@^4.5.0:
resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==

lodash.get@^4.4.2:
version "4.4.2"
resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==

lodash.memoize@4.x:
version "4.1.2"
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
Expand Down

0 comments on commit 857da59

Please sign in to comment.