@designliquido/lincones-sqlite 0.0.3 → 0.0.4
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.d.ts +1 -1
- package/execucao.js +52 -52
- package/execucao.js.map +1 -1
- package/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +6 -15
- package/fontes/avaliador-sintatico/avaliador-sintatico.js +42 -261
- package/fontes/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
- package/fontes/avaliador-sintatico/index.d.ts +1 -2
- package/fontes/avaliador-sintatico/index.js +5 -20
- package/fontes/avaliador-sintatico/index.js.map +1 -1
- package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.d.ts +36 -0
- package/{comum/fontes/avaliador-sintatico/avaliador-sintatico.js → fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.js} +444 -353
- package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.js.map +1 -0
- package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +7 -0
- package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico.js +12 -0
- package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico.js.map +1 -0
- package/{comum → fontes/comum}/fontes/avaliador-sintatico/erro-avaliador-sintatico.d.ts +5 -5
- package/{comum → fontes/comum}/fontes/avaliador-sintatico/erro-avaliador-sintatico.js +11 -11
- package/fontes/comum/fontes/avaliador-sintatico/erro-avaliador-sintatico.js.map +1 -0
- package/fontes/comum/fontes/avaliador-sintatico/index.d.ts +3 -0
- package/{comum → fontes/comum}/fontes/avaliador-sintatico/index.js +19 -22
- package/fontes/comum/fontes/avaliador-sintatico/index.js.map +1 -0
- package/fontes/comum/fontes/comandos/alterar.d.ts +8 -0
- package/fontes/comum/fontes/comandos/alterar.js +14 -0
- package/fontes/comum/fontes/comandos/alterar.js.map +1 -0
- package/{comum → fontes/comum}/fontes/comandos/atualizar.d.ts +14 -14
- package/{comum → fontes/comum}/fontes/comandos/atualizar.js +13 -13
- package/fontes/comum/fontes/comandos/atualizar.js.map +1 -0
- package/{comum → fontes/comum}/fontes/comandos/comando.d.ts +6 -6
- package/{comum → fontes/comum}/fontes/comandos/comando.js +13 -13
- package/fontes/comum/fontes/comandos/comando.js.map +1 -0
- package/fontes/comum/fontes/comandos/criar.d.ts +8 -0
- package/{comum → fontes/comum}/fontes/comandos/criar.js +12 -12
- package/fontes/comum/fontes/comandos/criar.js.map +1 -0
- package/fontes/comum/fontes/comandos/excluir-entidade.d.ts +6 -0
- package/fontes/comum/fontes/comandos/excluir-entidade.js +13 -0
- package/fontes/comum/fontes/comandos/excluir-entidade.js.map +1 -0
- package/{comum → fontes/comum}/fontes/comandos/excluir.d.ts +6 -6
- package/{comum → fontes/comum}/fontes/comandos/excluir.js +12 -12
- package/fontes/comum/fontes/comandos/excluir.js.map +1 -0
- package/{comum → fontes/comum}/fontes/comandos/index.d.ts +8 -7
- package/{comum → fontes/comum}/fontes/comandos/index.js +24 -23
- package/fontes/comum/fontes/comandos/index.js.map +1 -0
- package/{comum → fontes/comum}/fontes/comandos/inserir.d.ts +8 -8
- package/{comum → fontes/comum}/fontes/comandos/inserir.js +13 -13
- package/fontes/comum/fontes/comandos/inserir.js.map +1 -0
- package/{comum → fontes/comum}/fontes/comandos/selecionar.d.ts +9 -9
- package/{comum → fontes/comum}/fontes/comandos/selecionar.js +14 -14
- package/fontes/comum/fontes/comandos/selecionar.js.map +1 -0
- package/{comum → fontes/comum}/fontes/construtos/coluna.d.ts +11 -11
- package/{comum → fontes/comum}/fontes/construtos/coluna.js +19 -15
- package/fontes/comum/fontes/construtos/coluna.js.map +1 -0
- package/{comum → fontes/comum}/fontes/construtos/condicao.d.ts +6 -6
- package/{comum → fontes/comum}/fontes/construtos/condicao.js +11 -11
- package/fontes/comum/fontes/construtos/condicao.js.map +1 -0
- package/{comum → fontes/comum}/fontes/construtos/index.d.ts +2 -1
- package/{comum → fontes/comum}/fontes/construtos/index.js +18 -17
- package/fontes/comum/fontes/construtos/index.js.map +1 -0
- package/fontes/comum/fontes/construtos/operacao-alteracao-tabela.d.ts +7 -0
- package/fontes/comum/fontes/construtos/operacao-alteracao-tabela.js +15 -0
- package/fontes/comum/fontes/construtos/operacao-alteracao-tabela.js.map +1 -0
- package/fontes/comum/fontes/construtos/restricao.d.ts +13 -0
- package/fontes/comum/fontes/construtos/restricao.js +19 -0
- package/fontes/comum/fontes/construtos/restricao.js.map +1 -0
- package/{comum → fontes/comum}/fontes/interfaces/avaliador-sintatico-interface.d.ts +14 -14
- package/{comum → fontes/comum}/fontes/interfaces/avaliador-sintatico-interface.js +2 -2
- package/fontes/comum/fontes/interfaces/avaliador-sintatico-interface.js.map +1 -0
- package/fontes/comum/fontes/interfaces/index.d.ts +3 -0
- package/fontes/comum/fontes/interfaces/index.js +20 -0
- package/fontes/comum/fontes/interfaces/index.js.map +1 -0
- package/fontes/comum/fontes/interfaces/lincones-interface.d.ts +3 -0
- package/{comum → fontes/comum}/fontes/interfaces/lincones-interface.js +2 -2
- package/fontes/comum/fontes/interfaces/lincones-interface.js.map +1 -0
- package/{comum → fontes/comum}/fontes/interfaces/retornos/index.d.ts +16 -16
- package/{comum → fontes/comum}/fontes/interfaces/retornos/index.js +2 -2
- package/fontes/comum/fontes/interfaces/retornos/index.js.map +1 -0
- package/{comum → fontes/comum}/fontes/interfaces/simbolo-interface.d.ts +6 -6
- package/{comum → fontes/comum}/fontes/interfaces/simbolo-interface.js +2 -2
- package/fontes/comum/fontes/interfaces/simbolo-interface.js.map +1 -0
- package/fontes/comum/fontes/lexador/index.d.ts +1 -0
- package/{comum/fontes/interfaces → fontes/comum/fontes/lexador}/index.js +17 -17
- package/fontes/comum/fontes/lexador/index.js.map +1 -0
- package/{comum/fontes/lexador/index.d.ts → fontes/comum/fontes/lexador/lexador.d.ts} +26 -26
- package/{comum/fontes/lexador/index.js → fontes/comum/fontes/lexador/lexador.js} +220 -220
- package/fontes/comum/fontes/lexador/lexador.js.map +1 -0
- package/{comum → fontes/comum}/fontes/lexador/simbolo.d.ts +9 -9
- package/{comum → fontes/comum}/fontes/lexador/simbolo.js +15 -15
- package/fontes/comum/fontes/lexador/simbolo.js.map +1 -0
- package/{comum → fontes/comum}/fontes/palavras-reservadas.d.ts +51 -40
- package/{comum → fontes/comum}/fontes/palavras-reservadas.js +56 -45
- package/fontes/comum/fontes/palavras-reservadas.js.map +1 -0
- package/{comum → fontes/comum}/fontes/tipos-de-simbolos.d.ts +57 -52
- package/{comum → fontes/comum}/fontes/tipos-de-simbolos.js +58 -53
- package/fontes/comum/fontes/tipos-de-simbolos.js.map +1 -0
- package/fontes/comum/fontes/tradutor/index.d.ts +32 -0
- package/{comum → fontes/comum}/fontes/tradutor/index.js +238 -183
- package/fontes/comum/fontes/tradutor/index.js.map +1 -0
- package/fontes/comum/index.d.ts +8 -0
- package/fontes/comum/index.js +25 -0
- package/fontes/comum/index.js.map +1 -0
- package/{comum → fontes/comum}/jest.config.d.ts +3 -3
- package/{comum → fontes/comum}/jest.config.js +11 -11
- package/fontes/comum/jest.config.js.map +1 -0
- package/{comum/execucao.d.ts → fontes/comum/testes/avaliador-sintatico.test.d.ts} +1 -1
- package/fontes/comum/testes/avaliador-sintatico.test.js +86 -0
- package/fontes/comum/testes/avaliador-sintatico.test.js.map +1 -0
- package/fontes/comum/testes/lexador.test.d.ts +1 -0
- package/fontes/comum/testes/lexador.test.js +83 -0
- package/fontes/comum/testes/lexador.test.js.map +1 -0
- package/fontes/comum/testes/tradutor.test.d.ts +1 -0
- package/fontes/comum/testes/tradutor.test.js +133 -0
- package/fontes/comum/testes/tradutor.test.js.map +1 -0
- package/fontes/infraestrutura/cliente-sqlite.d.ts +10 -10
- package/fontes/infraestrutura/cliente-sqlite.js +71 -71
- package/fontes/infraestrutura/cliente-sqlite.js.map +1 -1
- package/fontes/infraestrutura/index.d.ts +2 -2
- package/fontes/infraestrutura/index.js +18 -18
- package/fontes/infraestrutura/retorno-comando.d.ts +8 -8
- package/fontes/infraestrutura/retorno-comando.js +28 -28
- package/fontes/infraestrutura/retorno-comando.js.map +1 -1
- package/fontes/lincones-sqlite.d.ts +13 -13
- package/fontes/lincones-sqlite.js +28 -28
- package/fontes/lincones-sqlite.js.map +1 -1
- package/fontes/palavras-reservadas.d.ts +26 -26
- package/fontes/palavras-reservadas.js +31 -31
- package/fontes/palavras-reservadas.js.map +1 -1
- package/fontes/tradutor/index.d.ts +21 -19
- package/fontes/tradutor/index.js +152 -149
- package/fontes/tradutor/index.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.js +17 -17
- package/package.json +12 -12
- package/comum/execucao.js +0 -40
- package/comum/execucao.js.map +0 -1
- package/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.d.ts +0 -15
- package/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.js +0 -46
- package/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.js.map +0 -1
- package/comum/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +0 -16
- package/comum/fontes/avaliador-sintatico/avaliador-sintatico.js.map +0 -1
- package/comum/fontes/avaliador-sintatico/erro-avaliador-sintatico.js.map +0 -1
- package/comum/fontes/avaliador-sintatico/index.d.ts +0 -3
- package/comum/fontes/avaliador-sintatico/index.js.map +0 -1
- package/comum/fontes/comandos/alterar.d.ts +0 -13
- package/comum/fontes/comandos/alterar.js +0 -19
- package/comum/fontes/comandos/alterar.js.map +0 -1
- package/comum/fontes/comandos/atualizar.js.map +0 -1
- package/comum/fontes/comandos/comando.js.map +0 -1
- package/comum/fontes/comandos/criar.d.ts +0 -7
- package/comum/fontes/comandos/criar.js.map +0 -1
- package/comum/fontes/comandos/excluir.js.map +0 -1
- package/comum/fontes/comandos/index.js.map +0 -1
- package/comum/fontes/comandos/inserir.js.map +0 -1
- package/comum/fontes/comandos/selecionar.js.map +0 -1
- package/comum/fontes/construtos/coluna.js.map +0 -1
- package/comum/fontes/construtos/condicao.js.map +0 -1
- package/comum/fontes/construtos/index.js.map +0 -1
- package/comum/fontes/interfaces/avaliador-sintatico-interface.js.map +0 -1
- package/comum/fontes/interfaces/index.d.ts +0 -3
- package/comum/fontes/interfaces/index.js.map +0 -1
- package/comum/fontes/interfaces/lincones-interface.d.ts +0 -3
- package/comum/fontes/interfaces/lincones-interface.js.map +0 -1
- package/comum/fontes/interfaces/retornos/index.js.map +0 -1
- package/comum/fontes/interfaces/simbolo-interface.js.map +0 -1
- package/comum/fontes/lexador/index.js.map +0 -1
- package/comum/fontes/lexador/simbolo.js.map +0 -1
- package/comum/fontes/lincones.d.ts +0 -10
- package/comum/fontes/lincones.js +0 -21
- package/comum/fontes/lincones.js.map +0 -1
- package/comum/fontes/palavras-reservadas.js.map +0 -1
- package/comum/fontes/tipos-de-simbolos.js.map +0 -1
- package/comum/fontes/tradutor/index.d.ts +0 -20
- package/comum/fontes/tradutor/index.js.map +0 -1
- package/comum/index.d.ts +0 -1
- package/comum/index.js +0 -6
- package/comum/index.js.map +0 -1
- package/comum/jest.config.js.map +0 -1
- package/fontes/lexador/index.d.ts +0 -26
- package/fontes/lexador/index.js +0 -220
- package/fontes/lexador/index.js.map +0 -1
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const lexador_1 = require("../fontes/lexador");
|
|
4
|
+
describe('Lexador', () => {
|
|
5
|
+
let lexador;
|
|
6
|
+
beforeEach(() => {
|
|
7
|
+
lexador = new lexador_1.Lexador();
|
|
8
|
+
});
|
|
9
|
+
describe('mapear()', () => {
|
|
10
|
+
describe('Cenário de sucesso', () => {
|
|
11
|
+
it('Sucesso com código vazio', () => {
|
|
12
|
+
const codigo = [''];
|
|
13
|
+
const resultado = lexador.mapear(codigo);
|
|
14
|
+
expect(resultado).toBeTruthy();
|
|
15
|
+
expect(resultado.simbolos).toHaveLength(0);
|
|
16
|
+
});
|
|
17
|
+
it('Sucesso com código com apenas espaços', () => {
|
|
18
|
+
const codigo = [' '];
|
|
19
|
+
const resultado = lexador.mapear(codigo);
|
|
20
|
+
expect(resultado).toBeTruthy();
|
|
21
|
+
expect(resultado.simbolos).toHaveLength(0);
|
|
22
|
+
});
|
|
23
|
+
it('Sucesso com código repetindo instruções', () => {
|
|
24
|
+
const codigo = [
|
|
25
|
+
'((((((((((((((((((((((((((',
|
|
26
|
+
')))))))))))))))))))))))))',
|
|
27
|
+
'CRIAR CRIAR CRIAR CRIAR CRIAR CRIAR'
|
|
28
|
+
];
|
|
29
|
+
const resultado = lexador.mapear(codigo);
|
|
30
|
+
expect(resultado).toBeTruthy();
|
|
31
|
+
expect(resultado.simbolos).toHaveLength(57);
|
|
32
|
+
});
|
|
33
|
+
it('Sucesso - CRIAR TABELA', () => {
|
|
34
|
+
const codigo = ['CRIAR TABELA usuarios'];
|
|
35
|
+
const resultado = lexador.mapear(codigo);
|
|
36
|
+
expect(resultado).toBeTruthy();
|
|
37
|
+
expect(resultado.simbolos).toHaveLength(3);
|
|
38
|
+
});
|
|
39
|
+
it('Sucesso - ATUALIZAR', () => {
|
|
40
|
+
const codigo = ['ATUALIZAR usuarios'];
|
|
41
|
+
const resultado = lexador.mapear(codigo);
|
|
42
|
+
expect(resultado).toBeTruthy();
|
|
43
|
+
expect(resultado.simbolos).toHaveLength(2);
|
|
44
|
+
});
|
|
45
|
+
describe('Sucesso - Simulação real', () => {
|
|
46
|
+
it('Sucesso - Criar Tabela Clientes', () => {
|
|
47
|
+
const codigo = [
|
|
48
|
+
'CRIAR TABELA clientes(id INTEIRO NAO NULO CHAVE PRIMARIA AUTOINCREMENTO, nome TEXTO(100) NAO NULO, idade INTEIRO NAO NULO, email TEXTO(255) NAO NULO, ativo LOGICO NAO NULO)'
|
|
49
|
+
];
|
|
50
|
+
const resultado = lexador.mapear(codigo);
|
|
51
|
+
expect(resultado).toBeTruthy();
|
|
52
|
+
expect(resultado.simbolos).toHaveLength(38);
|
|
53
|
+
});
|
|
54
|
+
it('Sucesso - CRUD', () => {
|
|
55
|
+
const codigo = [
|
|
56
|
+
'INSERIR EM clientes VALORES(1, "João", 20, "joao@gmail.com", VERDADEIRO)',
|
|
57
|
+
'INSERIR EM clientes VALORES(2, "Carlos", 23, "carlos@gmail.com", VERDADEIRO)',
|
|
58
|
+
'INSERIR EM clientes VALORES(3, "Thiago", 40, "thiago@gmail.com", VERDADEIRO)',
|
|
59
|
+
'INSERIR EM clientes VALORES(4, "Jose", 44, "jose@gmail.com", VERDADEIRO)'
|
|
60
|
+
];
|
|
61
|
+
const resultado = lexador.mapear(codigo);
|
|
62
|
+
expect(resultado).toBeTruthy();
|
|
63
|
+
expect(resultado.simbolos).toHaveLength(60);
|
|
64
|
+
});
|
|
65
|
+
it('Sucesso - Selecionar', () => {
|
|
66
|
+
const codigo = ['SELECIONAR * DE clientes'];
|
|
67
|
+
const resultado = lexador.mapear(codigo);
|
|
68
|
+
expect(resultado).toBeTruthy();
|
|
69
|
+
expect(resultado.simbolos).toHaveLength(4);
|
|
70
|
+
});
|
|
71
|
+
it('Sucesso - Criar Tabela Clientes', () => {
|
|
72
|
+
const codigo = [
|
|
73
|
+
'CRIAR TABELA clientes(id INTEIRO NAO NULO CHAVE PRIMARIA AUTOINCREMENTO, nome TEXTO(100) NAO NULO, idade INTEIRO NAO NULO, email TEXTO(255) NAO NULO, ativo LOGICO NAO NULO);'
|
|
74
|
+
];
|
|
75
|
+
const resultado = lexador.mapear(codigo);
|
|
76
|
+
expect(resultado).toBeTruthy();
|
|
77
|
+
expect(resultado.simbolos).toHaveLength(39);
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
//# sourceMappingURL=lexador.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lexador.test.js","sourceRoot":"","sources":["../../../../fontes/comum/testes/lexador.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const avaliador_sintatico_1 = require("../fontes/avaliador-sintatico");
|
|
4
|
+
const lexador_1 = require("../fontes/lexador");
|
|
5
|
+
const tradutor_1 = require("../fontes/tradutor");
|
|
6
|
+
describe('Tradutor (SQL ANSI)', () => {
|
|
7
|
+
let lexador;
|
|
8
|
+
let avaliadorSintatico;
|
|
9
|
+
let tradutor;
|
|
10
|
+
describe('traduzir()', () => {
|
|
11
|
+
describe('Cenário de sucesso', () => {
|
|
12
|
+
beforeEach(() => {
|
|
13
|
+
lexador = new lexador_1.Lexador();
|
|
14
|
+
avaliadorSintatico = new avaliador_sintatico_1.AvaliadorSintatico();
|
|
15
|
+
tradutor = new tradutor_1.TradutorSqlAnsi();
|
|
16
|
+
});
|
|
17
|
+
it('Criar', () => {
|
|
18
|
+
const codigo = [
|
|
19
|
+
'CRIAR TABELA clientes (id INTEIRO CHAVE PRIMARIA, email TEXTO(120))'
|
|
20
|
+
];
|
|
21
|
+
const retornoLexador = lexador.mapear(codigo);
|
|
22
|
+
const retornoAvaliadorSintatico = avaliadorSintatico.analisar(retornoLexador);
|
|
23
|
+
const resultado = tradutor.traduzir(retornoAvaliadorSintatico.comandos);
|
|
24
|
+
expect(resultado).toBeTruthy();
|
|
25
|
+
expect(resultado).toContain('CREATE');
|
|
26
|
+
expect(resultado).toContain('TABLE');
|
|
27
|
+
expect(resultado).toContain('clientes');
|
|
28
|
+
expect(resultado).toContain('email');
|
|
29
|
+
expect(resultado).toContain('VARCHAR');
|
|
30
|
+
});
|
|
31
|
+
describe('Alterar tabela', () => {
|
|
32
|
+
it('Adição de coluna', () => {
|
|
33
|
+
const codigo = [
|
|
34
|
+
'ALTERAR TABELA clientes ADICIONAR COLUNA email TEXTO(120)'
|
|
35
|
+
];
|
|
36
|
+
const retornoLexador = lexador.mapear(codigo);
|
|
37
|
+
const retornoAvaliadorSintatico = avaliadorSintatico.analisar(retornoLexador);
|
|
38
|
+
const resultado = tradutor.traduzir(retornoAvaliadorSintatico.comandos);
|
|
39
|
+
expect(resultado).toBeTruthy();
|
|
40
|
+
expect(resultado).toContain('ALTER');
|
|
41
|
+
expect(resultado).toContain('TABLE');
|
|
42
|
+
expect(resultado).toContain('clientes');
|
|
43
|
+
expect(resultado).toContain('ADD');
|
|
44
|
+
expect(resultado).toContain('COLUMN');
|
|
45
|
+
expect(resultado).toContain('email');
|
|
46
|
+
expect(resultado).toContain('VARCHAR(120)');
|
|
47
|
+
});
|
|
48
|
+
it('Adição de restrição', () => {
|
|
49
|
+
const codigo = [
|
|
50
|
+
'ALTERAR TABELA pedidos ',
|
|
51
|
+
'ADICIONAR RESTRIÇÃO chave_estrang ',
|
|
52
|
+
'CHAVE ESTRANGEIRA (cliente_id) ',
|
|
53
|
+
'REFERENCIA clientes (id);'
|
|
54
|
+
];
|
|
55
|
+
const retornoLexador = lexador.mapear(codigo);
|
|
56
|
+
const retornoAvaliadorSintatico = avaliadorSintatico.analisar(retornoLexador);
|
|
57
|
+
const resultado = tradutor.traduzir(retornoAvaliadorSintatico.comandos);
|
|
58
|
+
expect(resultado).toBeTruthy();
|
|
59
|
+
expect(resultado).toContain('ALTER');
|
|
60
|
+
expect(resultado).toContain('TABLE');
|
|
61
|
+
expect(resultado).toContain('pedidos');
|
|
62
|
+
expect(resultado).toContain('ADD');
|
|
63
|
+
expect(resultado).toContain('CONSTRAINT');
|
|
64
|
+
expect(resultado).toContain('chave_estrang');
|
|
65
|
+
expect(resultado).toContain('FOREIGN KEY');
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
it('Atualizar', () => {
|
|
69
|
+
const codigo = [
|
|
70
|
+
'ATUALIZAR clientes DEFINIR NOME = "Pernalonga", IDADE = 18, ATIVO = VERDADEIRO, CASADO = FALSO ONDE ID = 10;'
|
|
71
|
+
];
|
|
72
|
+
const retornoLexador = lexador.mapear(codigo);
|
|
73
|
+
const retornoAvaliadorSintatico = avaliadorSintatico.analisar(retornoLexador);
|
|
74
|
+
const resultado = tradutor.traduzir(retornoAvaliadorSintatico.comandos);
|
|
75
|
+
expect(resultado).toBeTruthy();
|
|
76
|
+
expect(resultado).toContain('UPDATE');
|
|
77
|
+
expect(resultado).toContain('clientes');
|
|
78
|
+
expect(resultado).toContain('SET');
|
|
79
|
+
expect(resultado).toContain('NOME');
|
|
80
|
+
expect(resultado).toContain('Pernalonga');
|
|
81
|
+
expect(resultado).toContain('IDADE');
|
|
82
|
+
expect(resultado).toContain('18');
|
|
83
|
+
expect(resultado).toContain('ATIVO');
|
|
84
|
+
expect(resultado).toContain('true');
|
|
85
|
+
expect(resultado).toContain('CASADO');
|
|
86
|
+
expect(resultado).toContain('false');
|
|
87
|
+
expect(resultado).toContain('WHERE');
|
|
88
|
+
expect(resultado).toContain('ID');
|
|
89
|
+
expect(resultado).toContain('=');
|
|
90
|
+
expect(resultado).toContain('10');
|
|
91
|
+
});
|
|
92
|
+
it('Inserir', () => {
|
|
93
|
+
const codigo = [
|
|
94
|
+
'INSERIR EM clientes (NOME) VALORES ("Pernalonga")'
|
|
95
|
+
];
|
|
96
|
+
const retornoLexador = lexador.mapear(codigo);
|
|
97
|
+
const retornoAvaliadorSintatico = avaliadorSintatico.analisar(retornoLexador);
|
|
98
|
+
const resultado = tradutor.traduzir(retornoAvaliadorSintatico.comandos);
|
|
99
|
+
expect(resultado).toBeTruthy();
|
|
100
|
+
expect(resultado).toContain('INSERT');
|
|
101
|
+
expect(resultado).toContain('INTO');
|
|
102
|
+
expect(resultado).toContain('VALUES');
|
|
103
|
+
});
|
|
104
|
+
it('Excluir', () => {
|
|
105
|
+
const codigo = [
|
|
106
|
+
'EXCLUIR clientes ONDE ID = 2'
|
|
107
|
+
];
|
|
108
|
+
const retornoLexador = lexador.mapear(codigo);
|
|
109
|
+
const retornoAvaliadorSintatico = avaliadorSintatico.analisar(retornoLexador);
|
|
110
|
+
const resultado = tradutor.traduzir(retornoAvaliadorSintatico.comandos);
|
|
111
|
+
expect(resultado).toBeTruthy();
|
|
112
|
+
expect(resultado).toContain('DELETE');
|
|
113
|
+
expect(resultado).toContain('FROM');
|
|
114
|
+
expect(resultado).toContain('clientes');
|
|
115
|
+
expect(resultado).toContain('WHERE');
|
|
116
|
+
expect(resultado).toContain('ID = 2');
|
|
117
|
+
});
|
|
118
|
+
it('Selecionar', () => {
|
|
119
|
+
const codigo = [
|
|
120
|
+
'SELECIONAR NOME, EMAIL DE clientes ONDE IDADE = 18;'
|
|
121
|
+
];
|
|
122
|
+
const retornoLexador = lexador.mapear(codigo);
|
|
123
|
+
const retornoAvaliadorSintatico = avaliadorSintatico.analisar(retornoLexador);
|
|
124
|
+
const resultado = tradutor.traduzir(retornoAvaliadorSintatico.comandos);
|
|
125
|
+
expect(resultado).toBeTruthy();
|
|
126
|
+
expect(resultado).toContain('SELECT');
|
|
127
|
+
expect(resultado).toContain('FROM');
|
|
128
|
+
expect(resultado).toContain('WHERE');
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
//# sourceMappingURL=tradutor.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tradutor.test.js","sourceRoot":"","sources":["../../../../fontes/comum/testes/tradutor.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import * as sqlite from 'sqlite';
|
|
2
|
-
export declare class ClienteSQLite {
|
|
3
|
-
instanciaBancoDeDados: sqlite.Database;
|
|
4
|
-
readonly caminhoRaiz: string;
|
|
5
|
-
origemDados: string;
|
|
6
|
-
constructor(origemDados?: string | null);
|
|
7
|
-
abrir(): Promise<void>;
|
|
8
|
-
executarComando(comando: string): Promise<any>;
|
|
9
|
-
private executarComandoSelecao;
|
|
10
|
-
}
|
|
1
|
+
import * as sqlite from 'sqlite';
|
|
2
|
+
export declare class ClienteSQLite {
|
|
3
|
+
instanciaBancoDeDados: sqlite.Database;
|
|
4
|
+
readonly caminhoRaiz: string;
|
|
5
|
+
origemDados: string;
|
|
6
|
+
constructor(origemDados?: string | null);
|
|
7
|
+
abrir(): Promise<void>;
|
|
8
|
+
executarComando(comando: string): Promise<any>;
|
|
9
|
+
private executarComandoSelecao;
|
|
10
|
+
}
|
|
@@ -1,72 +1,72 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.ClienteSQLite = void 0;
|
|
30
|
-
const caminho = __importStar(require("node:path"));
|
|
31
|
-
const sqlite = __importStar(require("sqlite"));
|
|
32
|
-
const sqlite3_1 = __importDefault(require("sqlite3"));
|
|
33
|
-
class ClienteSQLite {
|
|
34
|
-
// Segundo a documentação, o método new sqlite3.Database()
|
|
35
|
-
// pode receber 3 formas de filename
|
|
36
|
-
// caminho do arquivo exemplo: /tmp/banco.db
|
|
37
|
-
// ":memory:" para criar um banco de dados em memória
|
|
38
|
-
// null para criar um banco de dados temporário
|
|
39
|
-
constructor(origemDados = null) {
|
|
40
|
-
this.caminhoRaiz = process.cwd();
|
|
41
|
-
this.origemDados = null;
|
|
42
|
-
if (origemDados !== ':memory:' && origemDados !== null) {
|
|
43
|
-
this.origemDados = caminho.join(this.caminhoRaiz, origemDados);
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
this.origemDados = ':memory:';
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
async abrir() {
|
|
50
|
-
const database = await sqlite.open({
|
|
51
|
-
filename: this.origemDados,
|
|
52
|
-
driver: sqlite3_1.default.Database
|
|
53
|
-
});
|
|
54
|
-
this.instanciaBancoDeDados = database;
|
|
55
|
-
console.log('Conectado ao banco de dados SQLite.');
|
|
56
|
-
}
|
|
57
|
-
async executarComando(comando) {
|
|
58
|
-
if (comando.startsWith('SELECT')) {
|
|
59
|
-
return await this.executarComandoSelecao(comando);
|
|
60
|
-
}
|
|
61
|
-
return await this.instanciaBancoDeDados.run(comando, (erro) => {
|
|
62
|
-
if (erro) {
|
|
63
|
-
console.log(erro.message);
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
async executarComandoSelecao(comando) {
|
|
68
|
-
return await this.instanciaBancoDeDados.all(comando);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
exports.ClienteSQLite = ClienteSQLite;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.ClienteSQLite = void 0;
|
|
30
|
+
const caminho = __importStar(require("node:path"));
|
|
31
|
+
const sqlite = __importStar(require("sqlite"));
|
|
32
|
+
const sqlite3_1 = __importDefault(require("sqlite3"));
|
|
33
|
+
class ClienteSQLite {
|
|
34
|
+
// Segundo a documentação, o método new sqlite3.Database()
|
|
35
|
+
// pode receber 3 formas de filename
|
|
36
|
+
// caminho do arquivo exemplo: /tmp/banco.db
|
|
37
|
+
// ":memory:" para criar um banco de dados em memória
|
|
38
|
+
// null para criar um banco de dados temporário
|
|
39
|
+
constructor(origemDados = null) {
|
|
40
|
+
this.caminhoRaiz = process.cwd();
|
|
41
|
+
this.origemDados = null;
|
|
42
|
+
if (origemDados !== ':memory:' && origemDados !== null) {
|
|
43
|
+
this.origemDados = caminho.join(this.caminhoRaiz, origemDados);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
this.origemDados = ':memory:';
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
async abrir() {
|
|
50
|
+
const database = await sqlite.open({
|
|
51
|
+
filename: this.origemDados,
|
|
52
|
+
driver: sqlite3_1.default.Database
|
|
53
|
+
});
|
|
54
|
+
this.instanciaBancoDeDados = database;
|
|
55
|
+
console.log('Conectado ao banco de dados SQLite.');
|
|
56
|
+
}
|
|
57
|
+
async executarComando(comando) {
|
|
58
|
+
if (comando.startsWith('SELECT')) {
|
|
59
|
+
return await this.executarComandoSelecao(comando);
|
|
60
|
+
}
|
|
61
|
+
return await this.instanciaBancoDeDados.run(comando, (erro) => {
|
|
62
|
+
if (erro) {
|
|
63
|
+
console.log(erro.message);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
async executarComandoSelecao(comando) {
|
|
68
|
+
return await this.instanciaBancoDeDados.all(comando);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.ClienteSQLite = ClienteSQLite;
|
|
72
72
|
//# sourceMappingURL=cliente-sqlite.js.map
|
|
@@ -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;
|
|
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;IAEM,KAAK,CAAC,KAAK;QACd,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;IAEM,KAAK,CAAC,eAAe,CAAC,OAAe;QACxC,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,IAAW,EAAE,EAAE;YACjE,IAAI,IAAI,EAAE,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,OAAe;QAChD,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;CACJ;AA7CD,sCA6CC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './cliente-sqlite';
|
|
2
|
-
export * from './retorno-comando';
|
|
1
|
+
export * from './cliente-sqlite';
|
|
2
|
+
export * from './retorno-comando';
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./cliente-sqlite"), exports);
|
|
18
|
-
__exportStar(require("./retorno-comando"), exports);
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./cliente-sqlite"), exports);
|
|
18
|
+
__exportStar(require("./retorno-comando"), exports);
|
|
19
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export declare class RetornoComando {
|
|
2
|
-
linhasAfetadas: number;
|
|
3
|
-
ultimoId: any;
|
|
4
|
-
linhasRetornadas: any[];
|
|
5
|
-
comandoExecutado: string;
|
|
6
|
-
mensagemExecucao: string;
|
|
7
|
-
constructor(resultadoExecucao: any);
|
|
8
|
-
}
|
|
1
|
+
export declare class RetornoComando {
|
|
2
|
+
linhasAfetadas: number;
|
|
3
|
+
ultimoId: any;
|
|
4
|
+
linhasRetornadas: any[];
|
|
5
|
+
comandoExecutado: string;
|
|
6
|
+
mensagemExecucao: string;
|
|
7
|
+
constructor(resultadoExecucao: any);
|
|
8
|
+
}
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RetornoComando = void 0;
|
|
4
|
-
class RetornoComando {
|
|
5
|
-
constructor(resultadoExecucao) {
|
|
6
|
-
this.linhasRetornadas = [];
|
|
7
|
-
if (!resultadoExecucao) {
|
|
8
|
-
return;
|
|
9
|
-
}
|
|
10
|
-
if (resultadoExecucao.changes) {
|
|
11
|
-
this.linhasAfetadas = resultadoExecucao.changes;
|
|
12
|
-
}
|
|
13
|
-
if (resultadoExecucao.lastID) {
|
|
14
|
-
this.ultimoId = resultadoExecucao.lastID;
|
|
15
|
-
}
|
|
16
|
-
if (resultadoExecucao.stmt) {
|
|
17
|
-
const linhas = this.linhasAfetadas || 0;
|
|
18
|
-
this.comandoExecutado = resultadoExecucao.stmt;
|
|
19
|
-
this.mensagemExecucao = `Ok (${linhas} ${linhas > 1 ? 'linhas afetadas' : 'linha afetada'})`;
|
|
20
|
-
}
|
|
21
|
-
if (Array.isArray(resultadoExecucao)) {
|
|
22
|
-
const linhas = this.linhasRetornadas.length || 0;
|
|
23
|
-
this.linhasRetornadas = resultadoExecucao;
|
|
24
|
-
this.mensagemExecucao = `(${linhas} ${linhas > 1 ? 'linhas retornadas' : 'linha retornada'})`;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
exports.RetornoComando = RetornoComando;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RetornoComando = void 0;
|
|
4
|
+
class RetornoComando {
|
|
5
|
+
constructor(resultadoExecucao) {
|
|
6
|
+
this.linhasRetornadas = [];
|
|
7
|
+
if (!resultadoExecucao) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
if (resultadoExecucao.changes) {
|
|
11
|
+
this.linhasAfetadas = resultadoExecucao.changes;
|
|
12
|
+
}
|
|
13
|
+
if (resultadoExecucao.lastID) {
|
|
14
|
+
this.ultimoId = resultadoExecucao.lastID;
|
|
15
|
+
}
|
|
16
|
+
if (resultadoExecucao.stmt) {
|
|
17
|
+
const linhas = this.linhasAfetadas || 0;
|
|
18
|
+
this.comandoExecutado = resultadoExecucao.stmt;
|
|
19
|
+
this.mensagemExecucao = `Ok (${linhas} ${linhas > 1 ? 'linhas afetadas' : 'linha afetada'})`;
|
|
20
|
+
}
|
|
21
|
+
if (Array.isArray(resultadoExecucao)) {
|
|
22
|
+
const linhas = this.linhasRetornadas.length || 0;
|
|
23
|
+
this.linhasRetornadas = resultadoExecucao;
|
|
24
|
+
this.mensagemExecucao = `(${linhas} ${linhas > 1 ? 'linhas retornadas' : 'linha retornada'})`;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.RetornoComando = RetornoComando;
|
|
29
29
|
//# sourceMappingURL=retorno-comando.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retorno-comando.js","sourceRoot":"","sources":["../../../fontes/infraestrutura/retorno-comando.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAc;IAOvB,YAAY,iBAAsB;QAJlC,qBAAgB,GAAU,EAAE,CAAC;QAKzB,IAAI,CAAC,iBAAiB,EAAE;
|
|
1
|
+
{"version":3,"file":"retorno-comando.js","sourceRoot":"","sources":["../../../fontes/infraestrutura/retorno-comando.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAc;IAOvB,YAAY,iBAAsB;QAJlC,qBAAgB,GAAU,EAAE,CAAC;QAKzB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrB,OAAO;QACX,CAAC;QAED,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC;QACpD,CAAC;QAED,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC;QAC7C,CAAC;QAED,IAAI,iBAAiB,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,IAAI,CAAC;YAC/C,IAAI,CAAC,gBAAgB,GAAG,OAAO,MAAM,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC;QACjG,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,CAAA;YAChD,IAAI,CAAC,gBAAgB,GAAG,iBAAiB,CAAC;YAC1C,IAAI,CAAC,gBAAgB,GAAG,IAAI,MAAM,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,iBAAiB,GAAG,CAAC;QAClG,CAAC;IACL,CAAC;CACJ;AAhCD,wCAgCC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { AvaliadorSintatico } from "
|
|
3
|
-
import { Lexador } from "./lexador";
|
|
4
|
-
import { ClienteSQLite } from "./infraestrutura/cliente-sqlite";
|
|
5
|
-
import { RetornoComando } from "./infraestrutura";
|
|
6
|
-
export declare class LinconesSQLite {
|
|
7
|
-
lexador: Lexador;
|
|
8
|
-
avaliadorSintatico: AvaliadorSintatico;
|
|
9
|
-
tradutor:
|
|
10
|
-
clienteSQLite: ClienteSQLite;
|
|
11
|
-
constructor();
|
|
12
|
-
executar(comando: string): Promise<RetornoComando>;
|
|
13
|
-
}
|
|
1
|
+
import { TradutorSqLite } from "./tradutor";
|
|
2
|
+
import { AvaliadorSintatico } from "./comum/fontes/avaliador-sintatico";
|
|
3
|
+
import { Lexador } from "./comum/fontes/lexador";
|
|
4
|
+
import { ClienteSQLite } from "./infraestrutura/cliente-sqlite";
|
|
5
|
+
import { RetornoComando } from "./infraestrutura";
|
|
6
|
+
export declare class LinconesSQLite {
|
|
7
|
+
lexador: Lexador;
|
|
8
|
+
avaliadorSintatico: AvaliadorSintatico;
|
|
9
|
+
tradutor: TradutorSqLite;
|
|
10
|
+
clienteSQLite: ClienteSQLite;
|
|
11
|
+
constructor();
|
|
12
|
+
executar(comando: string): Promise<RetornoComando>;
|
|
13
|
+
}
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LinconesSQLite = void 0;
|
|
4
|
-
const tradutor_1 = require("
|
|
5
|
-
const avaliador_sintatico_1 = require("
|
|
6
|
-
const lexador_1 = require("./lexador");
|
|
7
|
-
const cliente_sqlite_1 = require("./infraestrutura/cliente-sqlite");
|
|
8
|
-
const infraestrutura_1 = require("./infraestrutura");
|
|
9
|
-
class LinconesSQLite {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.lexador = new lexador_1.Lexador();
|
|
12
|
-
this.avaliadorSintatico = new avaliador_sintatico_1.AvaliadorSintatico();
|
|
13
|
-
this.tradutor = new tradutor_1.
|
|
14
|
-
this.clienteSQLite = new cliente_sqlite_1.ClienteSQLite();
|
|
15
|
-
}
|
|
16
|
-
async executar(comando) {
|
|
17
|
-
const resultadoLexador = this.lexador.mapear([comando]);
|
|
18
|
-
const resultadoAvaliacaoSintatica = this.avaliadorSintatico.analisar(resultadoLexador);
|
|
19
|
-
const resultadoTraducao = this.tradutor.traduzir(resultadoAvaliacaoSintatica.comandos);
|
|
20
|
-
if (resultadoAvaliacaoSintatica.comandos.length <= 0) {
|
|
21
|
-
return new infraestrutura_1.RetornoComando(null);
|
|
22
|
-
}
|
|
23
|
-
const resultadoExecucao = await this.clienteSQLite.executarComando(resultadoTraducao);
|
|
24
|
-
const retorno = new infraestrutura_1.RetornoComando(resultadoExecucao);
|
|
25
|
-
return retorno;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
exports.LinconesSQLite = LinconesSQLite;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LinconesSQLite = void 0;
|
|
4
|
+
const tradutor_1 = require("./tradutor");
|
|
5
|
+
const avaliador_sintatico_1 = require("./comum/fontes/avaliador-sintatico");
|
|
6
|
+
const lexador_1 = require("./comum/fontes/lexador");
|
|
7
|
+
const cliente_sqlite_1 = require("./infraestrutura/cliente-sqlite");
|
|
8
|
+
const infraestrutura_1 = require("./infraestrutura");
|
|
9
|
+
class LinconesSQLite {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.lexador = new lexador_1.Lexador();
|
|
12
|
+
this.avaliadorSintatico = new avaliador_sintatico_1.AvaliadorSintatico();
|
|
13
|
+
this.tradutor = new tradutor_1.TradutorSqLite();
|
|
14
|
+
this.clienteSQLite = new cliente_sqlite_1.ClienteSQLite();
|
|
15
|
+
}
|
|
16
|
+
async executar(comando) {
|
|
17
|
+
const resultadoLexador = this.lexador.mapear([comando]);
|
|
18
|
+
const resultadoAvaliacaoSintatica = this.avaliadorSintatico.analisar(resultadoLexador);
|
|
19
|
+
const resultadoTraducao = this.tradutor.traduzir(resultadoAvaliacaoSintatica.comandos);
|
|
20
|
+
if (resultadoAvaliacaoSintatica.comandos.length <= 0) {
|
|
21
|
+
return new infraestrutura_1.RetornoComando(null);
|
|
22
|
+
}
|
|
23
|
+
const resultadoExecucao = await this.clienteSQLite.executarComando(resultadoTraducao);
|
|
24
|
+
const retorno = new infraestrutura_1.RetornoComando(resultadoExecucao);
|
|
25
|
+
return retorno;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.LinconesSQLite = LinconesSQLite;
|
|
29
29
|
//# sourceMappingURL=lincones-sqlite.js.map
|