@designliquido/lincones-sqlite 0.2.5 → 0.2.6

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.
Files changed (51) hide show
  1. package/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +1 -1
  2. package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.d.ts +19 -12
  3. package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.js +85 -67
  4. package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.js.map +1 -1
  5. package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-sql-ansi.d.ts +18 -2
  6. package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-sql-ansi.js +349 -2
  7. package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-sql-ansi.js.map +1 -1
  8. package/fontes/comum/fontes/comandos/index.d.ts +1 -1
  9. package/fontes/comum/fontes/comandos/index.js +1 -1
  10. package/fontes/comum/fontes/comandos/{excluir-entidade.d.ts → remover-entidade.d.ts} +1 -1
  11. package/fontes/comum/fontes/comandos/{excluir-entidade.js → remover-entidade.js} +4 -4
  12. package/fontes/comum/fontes/comandos/{excluir-entidade.js.map → remover-entidade.js.map} +1 -1
  13. package/fontes/comum/fontes/construtos/coluna.d.ts +2 -2
  14. package/fontes/comum/fontes/construtos/coluna.js +6 -4
  15. package/fontes/comum/fontes/construtos/coluna.js.map +1 -1
  16. package/fontes/comum/fontes/construtos/literal.d.ts +2 -2
  17. package/fontes/comum/fontes/construtos/literal.js +1 -1
  18. package/fontes/comum/fontes/construtos/literal.js.map +1 -1
  19. package/fontes/comum/fontes/construtos/operacao-alteracao-tabela.d.ts +1 -1
  20. package/fontes/comum/fontes/construtos/operacao-alteracao-tabela.js +1 -1
  21. package/fontes/comum/fontes/lexador/palavras-reservadas/lincones.d.ts +1 -0
  22. package/fontes/comum/fontes/lexador/palavras-reservadas/lincones.js +1 -0
  23. package/fontes/comum/fontes/lexador/palavras-reservadas/lincones.js.map +1 -1
  24. package/fontes/comum/fontes/lexador/palavras-reservadas/sql.d.ts +10 -0
  25. package/fontes/comum/fontes/lexador/palavras-reservadas/sql.js +10 -0
  26. package/fontes/comum/fontes/lexador/palavras-reservadas/sql.js.map +1 -1
  27. package/fontes/comum/fontes/tipos-de-simbolos/index.d.ts +2 -0
  28. package/fontes/comum/fontes/tipos-de-simbolos/index.js +2 -0
  29. package/fontes/comum/fontes/tipos-de-simbolos/index.js.map +1 -1
  30. package/fontes/comum/fontes/tradutor/tradutor-reverso-sql-ansi.d.ts +31 -0
  31. package/fontes/comum/fontes/tradutor/tradutor-reverso-sql-ansi.js +306 -0
  32. package/fontes/comum/fontes/tradutor/tradutor-reverso-sql-ansi.js.map +1 -1
  33. package/fontes/comum/fontes/tradutor/tradutor-sql-ansi.d.ts +6 -3
  34. package/fontes/comum/fontes/tradutor/tradutor-sql-ansi.js +25 -8
  35. package/fontes/comum/fontes/tradutor/tradutor-sql-ansi.js.map +1 -1
  36. package/fontes/comum/testes/avaliador-sintatico-sql-ansi.test.d.ts +1 -0
  37. package/fontes/comum/testes/avaliador-sintatico-sql-ansi.test.js +360 -0
  38. package/fontes/comum/testes/avaliador-sintatico-sql-ansi.test.js.map +1 -0
  39. package/fontes/comum/testes/avaliador-sintatico.test.js +0 -10
  40. package/fontes/comum/testes/avaliador-sintatico.test.js.map +1 -1
  41. package/fontes/comum/testes/construtos.test.js +2 -2
  42. package/fontes/comum/testes/construtos.test.js.map +1 -1
  43. package/fontes/comum/testes/tradutor-reverso-sql-ansi.test.d.ts +1 -0
  44. package/fontes/comum/testes/tradutor-reverso-sql-ansi.test.js +278 -0
  45. package/fontes/comum/testes/tradutor-reverso-sql-ansi.test.js.map +1 -0
  46. package/fontes/comum/testes/tradutor-sql-ansi.test.js +4 -4
  47. package/fontes/comum/testes/tradutor-sql-ansi.test.js.map +1 -1
  48. package/fontes/tradutor/index.d.ts +0 -8
  49. package/fontes/tradutor/index.js +0 -11
  50. package/fontes/tradutor/index.js.map +1 -1
  51. package/package.json +1 -1
@@ -0,0 +1,278 @@
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_reverso_sql_ansi_1 = require("../fontes/tradutor/tradutor-reverso-sql-ansi");
6
+ describe('Tradutor Reverso (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.LexadorSqlAnsi();
14
+ avaliadorSintatico = new avaliador_sintatico_1.AvaliadorSintaticoSqlAnsi();
15
+ tradutor = new tradutor_reverso_sql_ansi_1.TradutorReversoSqlAnsi();
16
+ });
17
+ it('Criar', () => {
18
+ const resultadoLexador = lexador.mapear([
19
+ "CREATE TABLE clientes (id INT PRIMARY KEY, email VARCHAR(255) NOT NULL)"
20
+ ]);
21
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
22
+ const resultado = tradutor.traduzir(resultadoAvaliadorSintatico.comandos);
23
+ expect(resultado).toBeTruthy();
24
+ expect(resultado).toContain('CRIAR TABELA clientes');
25
+ expect(resultado).toContain('id');
26
+ expect(resultado).toContain('INTEIRO');
27
+ expect(resultado).toContain('CHAVE PRIMÁRIA');
28
+ expect(resultado).toContain('email');
29
+ expect(resultado).toContain('CARACTERES');
30
+ expect(resultado).toContain('NÃO NULO');
31
+ });
32
+ describe('Alterar tabela', () => {
33
+ it('Adição de coluna', () => {
34
+ const resultadoLexador = lexador.mapear([
35
+ "ALTER TABLE clientes ADD COLUMN telefone VARCHAR(20)"
36
+ ]);
37
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
38
+ const resultado = tradutor.traduzir(resultadoAvaliadorSintatico.comandos);
39
+ expect(resultado).toBeTruthy();
40
+ expect(resultado).toContain('ALTERAR TABELA clientes');
41
+ expect(resultado).toContain('ADICIONAR COLUNA');
42
+ expect(resultado).toContain('telefone');
43
+ expect(resultado).toContain('CARACTERES');
44
+ });
45
+ it('Adição de coluna com NOT NULL', () => {
46
+ const resultadoLexador = lexador.mapear([
47
+ "ALTER TABLE produtos ADD COLUMN categoria TEXT NOT NULL"
48
+ ]);
49
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
50
+ const resultado = tradutor.traduzir(resultadoAvaliadorSintatico.comandos);
51
+ expect(resultado).toBeTruthy();
52
+ expect(resultado).toContain('ALTERAR TABELA produtos');
53
+ expect(resultado).toContain('ADICIONAR COLUNA');
54
+ expect(resultado).toContain('categoria');
55
+ expect(resultado).toContain('NÃO NULO');
56
+ });
57
+ it('Remoção de coluna', () => {
58
+ const resultadoLexador = lexador.mapear([
59
+ "ALTER TABLE clientes DROP COLUMN telefone"
60
+ ]);
61
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
62
+ const resultado = tradutor.traduzir(resultadoAvaliadorSintatico.comandos);
63
+ expect(resultado).toBeTruthy();
64
+ expect(resultado).toContain('ALTERAR TABELA clientes');
65
+ expect(resultado).toContain('REMOVER COLUNA');
66
+ expect(resultado).toContain('telefone');
67
+ });
68
+ it('Alterar coluna', () => {
69
+ const resultadoLexador = lexador.mapear([
70
+ "ALTER TABLE produtos ALTER COLUMN preco NUMERIC"
71
+ ]);
72
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
73
+ const resultado = tradutor.traduzir(resultadoAvaliadorSintatico.comandos);
74
+ expect(resultado).toBeTruthy();
75
+ expect(resultado).toContain('ALTERAR TABELA produtos');
76
+ expect(resultado).toContain('ALTERAR COLUNA');
77
+ expect(resultado).toContain('preco');
78
+ });
79
+ });
80
+ it('Atualizar', () => {
81
+ const resultadoLexador = lexador.mapear([
82
+ 'UPDATE clientes SET nome = "João Pedro", idade = 31, ativo = TRUE, casado = FALSE WHERE id = 1'
83
+ ]);
84
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
85
+ const resultado = tradutor.traduzir(resultadoAvaliadorSintatico.comandos);
86
+ expect(resultado).toBeTruthy();
87
+ expect(resultado).toContain('ATUALIZAR clientes');
88
+ expect(resultado).toContain('DEFINIR');
89
+ expect(resultado).toContain('nome');
90
+ expect(resultado).toContain('João Pedro');
91
+ expect(resultado).toContain('idade');
92
+ expect(resultado).toContain('31');
93
+ expect(resultado).toContain('ativo');
94
+ expect(resultado).toContain('VERDADEIRO');
95
+ expect(resultado).toContain('casado');
96
+ expect(resultado).toContain('FALSO');
97
+ expect(resultado).toContain('ONDE');
98
+ expect(resultado).toContain('id');
99
+ });
100
+ it('Atualizar com múltiplas condições', () => {
101
+ const resultadoLexador = lexador.mapear([
102
+ 'UPDATE produtos SET preco = 100 WHERE categoria = "eletronicos" AND estoque > 0'
103
+ ]);
104
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
105
+ const resultado = tradutor.traduzir(resultadoAvaliadorSintatico.comandos);
106
+ expect(resultado).toBeTruthy();
107
+ expect(resultado).toContain('ATUALIZAR produtos');
108
+ expect(resultado).toContain('DEFINIR');
109
+ expect(resultado).toContain('ONDE');
110
+ expect(resultado).toContain('categoria');
111
+ expect(resultado).toContain('estoque');
112
+ });
113
+ it('Atualizar sem condições', () => {
114
+ const resultadoLexador = lexador.mapear([
115
+ 'UPDATE clientes SET ativo = FALSE'
116
+ ]);
117
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
118
+ const resultado = tradutor.traduzir(resultadoAvaliadorSintatico.comandos);
119
+ expect(resultado).toBeTruthy();
120
+ expect(resultado).toContain('ATUALIZAR clientes');
121
+ expect(resultado).toContain('DEFINIR');
122
+ expect(resultado).not.toContain('ONDE');
123
+ });
124
+ it('Inserir', () => {
125
+ const resultadoLexador = lexador.mapear([
126
+ 'INSERT INTO clientes (nome, idade, ativo, email) VALUES ("Pernalonga", 18, TRUE, "pernalonga@warnerbros.com")'
127
+ ]);
128
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
129
+ const resultado = tradutor.traduzir(resultadoAvaliadorSintatico.comandos);
130
+ expect(resultado).toBeTruthy();
131
+ expect(resultado).toContain('INSERIR EM clientes');
132
+ expect(resultado).toContain('VALORES');
133
+ expect(resultado).toContain('Pernalonga');
134
+ expect(resultado).toContain('18');
135
+ expect(resultado).toContain('VERDADEIRO');
136
+ expect(resultado).toContain('pernalonga@warnerbros.com');
137
+ });
138
+ it('Inserir com valores booleanos', () => {
139
+ const resultadoLexador = lexador.mapear([
140
+ 'INSERT INTO usuarios (nome, ativo, admin) VALUES ("Maria", TRUE, FALSE)'
141
+ ]);
142
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
143
+ const resultado = tradutor.traduzir(resultadoAvaliadorSintatico.comandos);
144
+ expect(resultado).toBeTruthy();
145
+ expect(resultado).toContain('INSERIR EM usuarios');
146
+ expect(resultado).toContain('Maria');
147
+ expect(resultado).toContain('VERDADEIRO');
148
+ expect(resultado).toContain('FALSO');
149
+ });
150
+ it('Excluir', () => {
151
+ const resultadoLexador = lexador.mapear([
152
+ 'DELETE FROM clientes WHERE id = 2'
153
+ ]);
154
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
155
+ const resultado = tradutor.traduzir(resultadoAvaliadorSintatico.comandos);
156
+ expect(resultado).toBeTruthy();
157
+ expect(resultado).toContain('EXCLUIR DE clientes');
158
+ expect(resultado).toContain('ONDE');
159
+ expect(resultado).toContain('id');
160
+ expect(resultado).toContain('2');
161
+ });
162
+ it('Excluir sem condições', () => {
163
+ const resultadoLexador = lexador.mapear([
164
+ 'DELETE FROM temporarios'
165
+ ]);
166
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
167
+ const resultado = tradutor.traduzir(resultadoAvaliadorSintatico.comandos);
168
+ expect(resultado).toBeTruthy();
169
+ expect(resultado).toContain('EXCLUIR DE temporarios');
170
+ expect(resultado).not.toContain('ONDE');
171
+ });
172
+ it('Excluir com múltiplas condições', () => {
173
+ const resultadoLexador = lexador.mapear([
174
+ 'DELETE FROM produtos WHERE categoria = "obsoleto" AND estoque = 0'
175
+ ]);
176
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
177
+ const resultado = tradutor.traduzir(resultadoAvaliadorSintatico.comandos);
178
+ expect(resultado).toBeTruthy();
179
+ expect(resultado).toContain('EXCLUIR DE produtos');
180
+ expect(resultado).toContain('ONDE');
181
+ expect(resultado).toContain('categoria');
182
+ expect(resultado).toContain('estoque');
183
+ });
184
+ it('Selecionar todas as colunas', () => {
185
+ const resultadoLexador = lexador.mapear([
186
+ 'SELECT * FROM clientes'
187
+ ]);
188
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
189
+ const resultado = tradutor.traduzir(resultadoAvaliadorSintatico.comandos);
190
+ expect(resultado).toBeTruthy();
191
+ expect(resultado).toContain('SELECIONAR *');
192
+ expect(resultado).toContain('DE clientes');
193
+ });
194
+ it('Selecionar colunas específicas', () => {
195
+ const resultadoLexador = lexador.mapear([
196
+ 'SELECT nome, email, idade FROM clientes'
197
+ ]);
198
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
199
+ const resultado = tradutor.traduzir(resultadoAvaliadorSintatico.comandos);
200
+ expect(resultado).toBeTruthy();
201
+ expect(resultado).toContain('SELECIONAR');
202
+ expect(resultado).toContain('nome');
203
+ expect(resultado).toContain('email');
204
+ expect(resultado).toContain('idade');
205
+ expect(resultado).toContain('DE clientes');
206
+ });
207
+ it('Selecionar com condição', () => {
208
+ const resultadoLexador = lexador.mapear([
209
+ 'SELECT nome, email FROM clientes WHERE idade >= 18'
210
+ ]);
211
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
212
+ const resultado = tradutor.traduzir(resultadoAvaliadorSintatico.comandos);
213
+ expect(resultado).toBeTruthy();
214
+ expect(resultado).toContain('SELECIONAR');
215
+ expect(resultado).toContain('nome');
216
+ expect(resultado).toContain('email');
217
+ expect(resultado).toContain('ONDE');
218
+ expect(resultado).toContain('idade');
219
+ });
220
+ it('Selecionar com múltiplas condições', () => {
221
+ const resultadoLexador = lexador.mapear([
222
+ 'SELECT * FROM produtos WHERE preco > 100 AND categoria = "eletronicos"'
223
+ ]);
224
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
225
+ const resultado = tradutor.traduzir(resultadoAvaliadorSintatico.comandos);
226
+ expect(resultado).toBeTruthy();
227
+ expect(resultado).toContain('SELECIONAR *');
228
+ expect(resultado).toContain('ONDE');
229
+ expect(resultado).toContain('preco');
230
+ expect(resultado).toContain(' E ');
231
+ expect(resultado).toContain('categoria');
232
+ });
233
+ it('Selecionar com operadores de comparação', () => {
234
+ const resultadoLexador = lexador.mapear([
235
+ 'SELECT * FROM vendas WHERE valor < 1000'
236
+ ]);
237
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
238
+ const resultado = tradutor.traduzir(resultadoAvaliadorSintatico.comandos);
239
+ expect(resultado).toBeTruthy();
240
+ expect(resultado).toContain('SELECIONAR *');
241
+ expect(resultado).toContain('ONDE');
242
+ expect(resultado).toContain('valor');
243
+ });
244
+ it('Excluir tabela', () => {
245
+ const resultadoLexador = lexador.mapear([
246
+ 'DROP TABLE clientes_antigos'
247
+ ]);
248
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
249
+ const resultado = tradutor.traduzir(resultadoAvaliadorSintatico.comandos);
250
+ expect(resultado).toBeTruthy();
251
+ expect(resultado).toContain('REMOVER TABELA clientes_antigos');
252
+ });
253
+ it('Excluir visão', () => {
254
+ const resultadoLexador = lexador.mapear([
255
+ 'DROP VIEW relatorio_vendas'
256
+ ]);
257
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
258
+ const resultado = tradutor.traduzir(resultadoAvaliadorSintatico.comandos);
259
+ expect(resultado).toBeTruthy();
260
+ expect(resultado).toContain('REMOVER VISAO relatorio_vendas');
261
+ });
262
+ it('Múltiplos comandos', () => {
263
+ const resultadoLexador = lexador.mapear([
264
+ 'CREATE TABLE usuarios (id INT PRIMARY KEY);',
265
+ 'INSERT INTO usuarios (id) VALUES (1);',
266
+ 'SELECT * FROM usuarios;'
267
+ ]);
268
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
269
+ const resultado = tradutor.traduzir(resultadoAvaliadorSintatico.comandos);
270
+ expect(resultado).toBeTruthy();
271
+ expect(resultado).toContain('CRIAR TABELA usuarios');
272
+ expect(resultado).toContain('INSERIR EM usuarios');
273
+ expect(resultado).toContain('SELECIONAR *');
274
+ });
275
+ });
276
+ });
277
+ });
278
+ //# sourceMappingURL=tradutor-reverso-sql-ansi.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tradutor-reverso-sql-ansi.test.js","sourceRoot":"","sources":["../../../../fontes/comum/testes/tradutor-reverso-sql-ansi.test.ts"],"names":[],"mappings":"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"}
@@ -14,9 +14,9 @@ describe('Tradutor (SQL ANSI)', () => {
14
14
  avaliadorSintatico = new avaliador_sintatico_1.AvaliadorSintatico();
15
15
  tradutor = new tradutor_1.TradutorSqlAnsi();
16
16
  });
17
- it('Criar', () => {
17
+ it.skip('Criar', () => {
18
18
  const codigo = [
19
- 'CRIAR TABELA clientes (id INTEIRO CHAVE PRIMARIA, email TEXTO(120))'
19
+ 'CRIAR TABELA clientes (id INTEIRO CHAVE PRIMARIA, email CARACTERES(120))'
20
20
  ];
21
21
  const retornoLexador = lexador.mapear(codigo);
22
22
  const retornoAvaliadorSintatico = avaliadorSintatico.analisar(retornoLexador);
@@ -29,7 +29,7 @@ describe('Tradutor (SQL ANSI)', () => {
29
29
  describe('Alterar tabela', () => {
30
30
  it('Adição de coluna', () => {
31
31
  const codigo = [
32
- 'ALTERAR TABELA clientes ADICIONAR COLUNA email TEXTO(120)'
32
+ 'ALTERAR TABELA clientes ADICIONAR COLUNA email CARACTERES(120)'
33
33
  ];
34
34
  const retornoLexador = lexador.mapear(codigo);
35
35
  const retornoAvaliadorSintatico = avaliadorSintatico.analisar(retornoLexador);
@@ -57,7 +57,7 @@ describe('Tradutor (SQL ANSI)', () => {
57
57
  });
58
58
  it('Alteração de coluna', () => {
59
59
  const codigo = [
60
- 'ALTERAR TABELA clientes ALTERAR COLUNA email TEXTO(120)'
60
+ 'ALTERAR TABELA clientes ALTERAR COLUNA email CARACTERES(120)'
61
61
  ];
62
62
  const retornoLexador = lexador.mapear(codigo);
63
63
  const retornoAvaliadorSintatico = avaliadorSintatico.analisar(retornoLexador);
@@ -1 +1 @@
1
- {"version":3,"file":"tradutor-sql-ansi.test.js","sourceRoot":"","sources":["../../../../fontes/comum/testes/tradutor-sql-ansi.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tradutor-sql-ansi.test.js","sourceRoot":"","sources":["../../../../fontes/comum/testes/tradutor-sql-ansi.test.ts"],"names":[],"mappings":"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"}
@@ -5,13 +5,5 @@ export declare class TradutorSqLite extends TradutorSqlAnsi {
5
5
  traduzirOperador(operador: string): boolean | "=";
6
6
  traduzirColuna(coluna: Coluna): string;
7
7
  traduzirComandoCriar(comandoCriar: Criar): string;
8
- dicionarioComandos: {
9
- Alterar: any;
10
- Atualizar: any;
11
- Criar: any;
12
- Excluir: any;
13
- Inserir: any;
14
- Selecionar: any;
15
- };
16
8
  traduzir(comandos: Comando[]): string;
17
9
  }
@@ -7,17 +7,6 @@ exports.TradutorSqLite = void 0;
7
7
  const tradutor_sql_ansi_1 = require("../comum/fontes/tradutor/tradutor-sql-ansi");
8
8
  const tipos_de_simbolos_1 = __importDefault(require("../comum/fontes/tipos-de-simbolos"));
9
9
  class TradutorSqLite extends tradutor_sql_ansi_1.TradutorSqlAnsi {
10
- constructor() {
11
- super(...arguments);
12
- this.dicionarioComandos = {
13
- Alterar: this.traduzirComandoAlterar.bind(this),
14
- Atualizar: this.traduzirComandoAtualizar.bind(this),
15
- Criar: this.traduzirComandoCriar.bind(this),
16
- Excluir: this.traduzirComandoExcluir.bind(this),
17
- Inserir: this.traduzirComandoInserir.bind(this),
18
- Selecionar: this.traduzirComandoSelecionar.bind(this)
19
- };
20
- }
21
10
  traduzirOperador(operador) {
22
11
  switch (operador) {
23
12
  case tipos_de_simbolos_1.default.IGUAL:
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/tradutor/index.ts"],"names":[],"mappings":";;;;;;AAMA,kFAA6E;AAE7E,0FAAgE;AAEhE,MAAa,cAAe,SAAQ,mCAAe;IAAnD;;QA4CI,uBAAkB,GAAG;YACjB,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/C,SAAS,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;YACnD,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3C,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/C,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/C,UAAU,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;SACxD,CAAC;IAaN,CAAC;IA/DG,gBAAgB,CAAC,QAAgB;QAC7B,QAAQ,QAAQ,EAAE,CAAC;YACf,KAAK,2BAAe,CAAC,KAAK;gBACtB,OAAO,GAAG,CAAC;YACf,KAAK,2BAAe,CAAC,UAAU;gBAC3B,OAAO,IAAI,CAAC;YAChB,KAAK,2BAAe,CAAC,KAAK;gBACtB,OAAO,KAAK,CAAC;QACrB,CAAC;IACL,CAAC;IAED,cAAc,CAAC,MAAc;QACzB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAElB,IAAI,2BAAe,CAAC,OAAO,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;YAC1C,QAAQ,IAAI,UAAU,CAAC;QAC3B,CAAC;aAAM,IAAI,2BAAe,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAkB,CAAC;YAC1C,QAAQ,IAAI,WAAW,OAAO,CAAC,OAAO,IAAI,CAAC;QAC/C,CAAC;aAAM,IAAI,2BAAe,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI;YAC7C,QAAQ,IAAI,UAAU,CAAC;QAC3B,IAAI,MAAM,CAAC,aAAa;YAAE,QAAQ,IAAI,cAAc,CAAC;QACrD,IAAI,MAAM,CAAC,IAAI;YAAE,QAAQ,IAAI,MAAM,CAAC;;YAC/B,QAAQ,IAAI,UAAU,CAAC;QAE5B,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,oBAAoB,CAAC,YAAmB;QACpC,IAAI,SAAS,GAAG,gBAAgB,YAAY,CAAC,YAAY,IAAI,CAAC;QAE9D,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACxC,SAAS,IAAI,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,CACpD,MAAM,CACT,IAAI,CAAC;QACV,CAAC;QAED,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnC,SAAS,IAAI,GAAG,CAAC;QAEjB,OAAO,SAAS,CAAC;IACrB,CAAC;IAWD,QAAQ,CAAC,QAAmB;QACxB,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,SAAS,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAC7D,OAAO,CACV,KAAK,CAAC;QACX,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAhED,wCAgEC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/tradutor/index.ts"],"names":[],"mappings":";;;;;;AAMA,kFAA6E;AAE7E,0FAAgE;AAEhE,MAAa,cAAe,SAAQ,mCAAe;IAC/C,gBAAgB,CAAC,QAAgB;QAC7B,QAAQ,QAAQ,EAAE,CAAC;YACf,KAAK,2BAAe,CAAC,KAAK;gBACtB,OAAO,GAAG,CAAC;YACf,KAAK,2BAAe,CAAC,UAAU;gBAC3B,OAAO,IAAI,CAAC;YAChB,KAAK,2BAAe,CAAC,KAAK;gBACtB,OAAO,KAAK,CAAC;QACrB,CAAC;IACL,CAAC;IAED,cAAc,CAAC,MAAc;QACzB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAElB,IAAI,2BAAe,CAAC,OAAO,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;YAC1C,QAAQ,IAAI,UAAU,CAAC;QAC3B,CAAC;aAAM,IAAI,2BAAe,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAkB,CAAC;YAC1C,QAAQ,IAAI,WAAW,OAAO,CAAC,OAAO,IAAI,CAAC;QAC/C,CAAC;aAAM,IAAI,2BAAe,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI;YAC7C,QAAQ,IAAI,UAAU,CAAC;QAC3B,IAAI,MAAM,CAAC,aAAa;YAAE,QAAQ,IAAI,cAAc,CAAC;QACrD,IAAI,MAAM,CAAC,IAAI;YAAE,QAAQ,IAAI,MAAM,CAAC;;YAC/B,QAAQ,IAAI,UAAU,CAAC;QAE5B,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,oBAAoB,CAAC,YAAmB;QACpC,IAAI,SAAS,GAAG,gBAAgB,YAAY,CAAC,YAAY,IAAI,CAAC;QAE9D,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACxC,SAAS,IAAI,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,CACpD,MAAM,CACT,IAAI,CAAC;QACV,CAAC;QAED,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnC,SAAS,IAAI,GAAG,CAAC;QAEjB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,QAAQ,CAAC,QAAmB;QACxB,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,SAAS,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAC7D,OAAO,CACV,KAAK,CAAC;QACX,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAvDD,wCAuDC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@designliquido/lincones-sqlite",
3
3
  "description": "Implementação de LinConEs para SQLite.",
4
- "version": "0.2.5",
4
+ "version": "0.2.6",
5
5
  "main": "index.js",
6
6
  "author": "Leonel Sanches da Silva",
7
7
  "contributors": [