@@ -3,9 +3,9 @@ import { AvaliadorSintatico } from "./comum/fontes/avaliador-sintatico";
33import { Lexador } from "./comum/fontes/lexador" ;
44import { ClienteSQLite } from "./infraestrutura/cliente-sqlite" ;
55import { RetornoComando } from "./infraestrutura" ;
6- import { Comando } from "./comum/fontes" ;
6+ import { Comando , TecnologiaLinconesInterface } from "./comum/fontes" ;
77
8- export class LinconesSQLite {
8+ export class LinconesSQLite implements TecnologiaLinconesInterface {
99 lexador : Lexador ;
1010 avaliadorSintatico : AvaliadorSintatico ;
1111 tradutor : TradutorSqLite ;
@@ -15,7 +15,10 @@ export class LinconesSQLite {
1515 this . lexador = new Lexador ( ) ;
1616 this . avaliadorSintatico = new AvaliadorSintatico ( ) ;
1717 this . tradutor = new TradutorSqLite ( ) ;
18- this . clienteSQLite = new ClienteSQLite ( ) ;
18+ }
19+
20+ iniciar ( caminho : string ) : void {
21+ this . clienteSQLite = new ClienteSQLite ( caminho ) ;
1922 }
2023
2124 async executarComando ( comando : Comando ) {
@@ -30,14 +33,15 @@ export class LinconesSQLite {
3033 * @returns
3134 */
3235 async executar ( _ : any , sentencaLincones : string , parametros : any [ ] = [ ] ) : Promise < RetornoComando [ ] > {
36+ const parametrosNaoNulos = parametros || [ ] ;
3337 const resultadoLexador = this . lexador . mapear ( [ sentencaLincones ] ) ;
3438 const resultadoAvaliacaoSintatica = this . avaliadorSintatico . analisar ( resultadoLexador ) ;
3539
3640 if ( resultadoAvaliacaoSintatica . erros . length > 0 ) {
3741 throw new Error ( `Erros encontrados na avaliação de comandos: ${ resultadoAvaliacaoSintatica . erros . reduce ( ( mensagens , erro ) => mensagens += erro . message + '; ' , '' ) } .` ) ;
3842 }
3943
40- return await this . executarInterno ( resultadoAvaliacaoSintatica . comandos , parametros ) ;
44+ return await this . executarInterno ( resultadoAvaliacaoSintatica . comandos , parametrosNaoNulos ) ;
4145 }
4246
4347 private async executarInterno ( comandos : Comando [ ] , parametros : any [ ] ) : Promise < RetornoComando [ ] > {
0 commit comments