@designliquido/lincones-sqlite 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/execucao.js +9 -7
- package/execucao.js.map +1 -1
- package/fontes/comum/fontes/comandos/comando.d.ts +2 -0
- package/fontes/comum/fontes/comandos/comando.js +1 -0
- package/fontes/comum/fontes/comandos/comando.js.map +1 -1
- package/fontes/comum/fontes/interfaces/parametro-interface.d.ts +5 -0
- package/fontes/comum/fontes/interfaces/parametro-interface.js +3 -0
- package/fontes/comum/fontes/interfaces/parametro-interface.js.map +1 -0
- package/fontes/infraestrutura/cliente-sqlite.js.map +1 -1
- package/fontes/lincones-sqlite.d.ts +5 -2
- package/fontes/lincones-sqlite.js +23 -9
- package/fontes/lincones-sqlite.js.map +1 -1
- package/package.json +1 -1
package/execucao.js
CHANGED
|
@@ -44,13 +44,15 @@ lincones.clienteSQLite.abrir().then(() => {
|
|
|
44
44
|
});
|
|
45
45
|
interfaceLeitura.prompt();
|
|
46
46
|
interfaceLeitura.on('line', (linha) => {
|
|
47
|
-
lincones.executar(null, linha).then(
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
47
|
+
lincones.executar(null, linha).then(resultados => {
|
|
48
|
+
for (const resultado of resultados) {
|
|
49
|
+
if (resultado.linhasRetornadas.length > 0) {
|
|
50
|
+
console.table(resultado.linhasRetornadas);
|
|
51
|
+
}
|
|
52
|
+
console.log(resultado.mensagemExecucao);
|
|
53
|
+
if (resultado.ultimoId) {
|
|
54
|
+
console.log(`ID retornado pela operação: ${resultado.ultimoId}`);
|
|
55
|
+
}
|
|
54
56
|
}
|
|
55
57
|
return Promise.resolve();
|
|
56
58
|
}).then(() => {
|
package/execucao.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execucao.js","sourceRoot":"","sources":["../execucao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA0C;AAE1C,8DAA0D;AAE1D,MAAM,QAAQ,GAAG,IAAI,gCAAc,EAAE,CAAC;AACtC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IACrC,MAAM,gBAAgB,GAAG,aAAa,CAAC,eAAe,CAAC;QACnD,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,cAAc;KACzB,CAAC,CAAC;IAEH,gBAAgB,CAAC,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QAC1C,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"execucao.js","sourceRoot":"","sources":["../execucao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA0C;AAE1C,8DAA0D;AAE1D,MAAM,QAAQ,GAAG,IAAI,gCAAc,EAAE,CAAC;AACtC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IACrC,MAAM,gBAAgB,GAAG,aAAa,CAAC,eAAe,CAAC;QACnD,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,cAAc;KACzB,CAAC,CAAC;IAEH,gBAAgB,CAAC,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QAC1C,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YAC7C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACjC,IAAI,SAAS,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;gBAC9C,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;gBAExC,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,+BAA+B,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACrE,CAAC;YACL,CAAC;YAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACT,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comando.js","sourceRoot":"","sources":["../../../../../fontes/comum/fontes/comandos/comando.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"comando.js","sourceRoot":"","sources":["../../../../../fontes/comum/fontes/comandos/comando.ts"],"names":[],"mappings":";;;AAEA,MAAa,OAAO;IAKhB,YAAY,KAAa;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,gBAAgB,GAAG,aAAa,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAc;QACxB,OAAO,OAAO,CAAC,MAAM,CACjB,IAAI,KAAK,CAAC,sCAAsC,CAAC,CACpD,CAAC;IACN,CAAC;CACJ;AAhBD,0BAgBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parametro-interface.js","sourceRoot":"","sources":["../../../../../fontes/comum/fontes/interfaces/parametro-interface.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cliente-sqlite.js","sourceRoot":"","sources":["../../../fontes/infraestrutura/cliente-sqlite.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAqC;AAErC,+CAAiC;AACjC,sDAA8B;AAE9B,MAAa,aAAa;IAKtB,0DAA0D;IAC1D,oCAAoC;IACpC,4CAA4C;IAC5C,qDAAqD;IACrD,+CAA+C;IAC/C,YAAY,cAA6B,IAAI;QACzC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,IAAI,WAAW,KAAK,UAAU,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACrD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAClC,CAAC;IACL,CAAC;
|
|
1
|
+
{"version":3,"file":"cliente-sqlite.js","sourceRoot":"","sources":["../../../fontes/infraestrutura/cliente-sqlite.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAqC;AAErC,+CAAiC;AACjC,sDAA8B;AAE9B,MAAa,aAAa;IAKtB,0DAA0D;IAC1D,oCAAoC;IACpC,4CAA4C;IAC5C,qDAAqD;IACrD,+CAA+C;IAC/C,YAAY,cAA6B,IAAI;QACzC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,IAAI,WAAW,KAAK,UAAU,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACrD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAClC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK;QACP,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YAC/B,QAAQ,EAAE,IAAI,CAAC,WAAW;YAC1B,MAAM,EAAE,iBAAO,CAAC,QAAQ;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,aAAoB,EAAE;QACzD,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC7D,qBAAqB;QACrB,cAAc;QACd,iCAAiC;QACjC,IAAI;QACR,MAAM;IACV,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,OAAe,EAAE,aAAoB,EAAE;QACxE,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACrE,CAAC;CACJ;AA9CD,sCA8CC"}
|
|
@@ -3,18 +3,21 @@ import { AvaliadorSintatico } from "./comum/fontes/avaliador-sintatico";
|
|
|
3
3
|
import { Lexador } from "./comum/fontes/lexador";
|
|
4
4
|
import { ClienteSQLite } from "./infraestrutura/cliente-sqlite";
|
|
5
5
|
import { RetornoComando } from "./infraestrutura";
|
|
6
|
+
import { Comando } from "./comum/fontes";
|
|
6
7
|
export declare class LinconesSQLite {
|
|
7
8
|
lexador: Lexador;
|
|
8
9
|
avaliadorSintatico: AvaliadorSintatico;
|
|
9
10
|
tradutor: TradutorSqLite;
|
|
10
11
|
clienteSQLite: ClienteSQLite;
|
|
11
12
|
constructor();
|
|
13
|
+
executarComando(comando: Comando): Promise<RetornoComando[]>;
|
|
12
14
|
/**
|
|
13
15
|
* Traduz um comando de LinConEs para SQL e executa no banco de dados SQLite.
|
|
14
16
|
* @param _ Normalmente a instância do interpretador Delégua.
|
|
15
|
-
* @param
|
|
17
|
+
* @param sentencaLincones A sentença em LinConEs a ser traduzida e executada.
|
|
16
18
|
* @param parametros Parâmetros adicionais para o comando, se necessário.
|
|
17
19
|
* @returns
|
|
18
20
|
*/
|
|
19
|
-
executar(_: any,
|
|
21
|
+
executar(_: any, sentencaLincones: string, parametros?: any[]): Promise<RetornoComando[]>;
|
|
22
|
+
private executarInterno;
|
|
20
23
|
}
|
|
@@ -13,23 +13,37 @@ class LinconesSQLite {
|
|
|
13
13
|
this.tradutor = new tradutor_1.TradutorSqLite();
|
|
14
14
|
this.clienteSQLite = new cliente_sqlite_1.ClienteSQLite();
|
|
15
15
|
}
|
|
16
|
+
async executarComando(comando) {
|
|
17
|
+
return await this.executarInterno([comando], comando.parametros);
|
|
18
|
+
}
|
|
16
19
|
/**
|
|
17
20
|
* Traduz um comando de LinConEs para SQL e executa no banco de dados SQLite.
|
|
18
21
|
* @param _ Normalmente a instância do interpretador Delégua.
|
|
19
|
-
* @param
|
|
22
|
+
* @param sentencaLincones A sentença em LinConEs a ser traduzida e executada.
|
|
20
23
|
* @param parametros Parâmetros adicionais para o comando, se necessário.
|
|
21
24
|
* @returns
|
|
22
25
|
*/
|
|
23
|
-
async executar(_,
|
|
24
|
-
const resultadoLexador = this.lexador.mapear([
|
|
26
|
+
async executar(_, sentencaLincones, parametros = []) {
|
|
27
|
+
const resultadoLexador = this.lexador.mapear([sentencaLincones]);
|
|
25
28
|
const resultadoAvaliacaoSintatica = this.avaliadorSintatico.analisar(resultadoLexador);
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
+
if (resultadoAvaliacaoSintatica.erros.length > 0) {
|
|
30
|
+
throw new Error(`Erros encontrados na avaliação de comandos: ${resultadoAvaliacaoSintatica.erros.reduce((mensagens, erro) => mensagens += erro.message + '; ', '')}.`);
|
|
31
|
+
}
|
|
32
|
+
return await this.executarInterno(resultadoAvaliacaoSintatica.comandos, parametros);
|
|
33
|
+
}
|
|
34
|
+
async executarInterno(comandos, parametros) {
|
|
35
|
+
if (comandos.length <= 0) {
|
|
36
|
+
return [];
|
|
37
|
+
}
|
|
38
|
+
const retornosComandos = [];
|
|
39
|
+
for (const comando of comandos) {
|
|
40
|
+
const resultadoTraducao = this.tradutor.traduzir([comando]);
|
|
41
|
+
// TODO: Parâmetros
|
|
42
|
+
const resultadoExecucao = await this.clienteSQLite.executarComando(resultadoTraducao, parametros);
|
|
43
|
+
const retorno = new infraestrutura_1.RetornoComando(resultadoExecucao);
|
|
44
|
+
retornosComandos.push(retorno);
|
|
29
45
|
}
|
|
30
|
-
|
|
31
|
-
const retorno = new infraestrutura_1.RetornoComando(resultadoExecucao);
|
|
32
|
-
return retorno;
|
|
46
|
+
return retornosComandos;
|
|
33
47
|
}
|
|
34
48
|
}
|
|
35
49
|
exports.LinconesSQLite = LinconesSQLite;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lincones-sqlite.js","sourceRoot":"","sources":["../../fontes/lincones-sqlite.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAC5C,4EAAwE;AACxE,oDAAiD;AACjD,oEAAgE;AAChE,qDAAkD;
|
|
1
|
+
{"version":3,"file":"lincones-sqlite.js","sourceRoot":"","sources":["../../fontes/lincones-sqlite.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAC5C,4EAAwE;AACxE,oDAAiD;AACjD,oEAAgE;AAChE,qDAAkD;AAGlD,MAAa,cAAc;IAMvB;QACI,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,IAAI,wCAAkB,EAAE,CAAC;QACnD,IAAI,CAAC,QAAQ,GAAG,IAAI,yBAAc,EAAE,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,IAAI,8BAAa,EAAE,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAgB;QAClC,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ,CAAC,CAAM,EAAE,gBAAwB,EAAE,aAAoB,EAAE;QACnE,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACjE,MAAM,2BAA2B,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAEvF,IAAI,2BAA2B,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,+CAA+C,2BAA2B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAC3K,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,2BAA2B,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACxF,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,QAAmB,EAAE,UAAiB;QAChE,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,gBAAgB,GAAqB,EAAE,CAAC;QAE9C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5D,mBAAmB;YACnB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;YAClG,MAAM,OAAO,GAAG,IAAI,+BAAc,CAAC,iBAAiB,CAAC,CAAC;YACtD,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClC,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC5B,CAAC;CACJ;AApDD,wCAoDC"}
|