@designliquido/lincones-sqlite 0.1.2 → 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.
Files changed (86) hide show
  1. package/execucao.js +9 -7
  2. package/execucao.js.map +1 -1
  3. package/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +1 -1
  4. package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.d.ts +7 -4
  5. package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.js +63 -14
  6. package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.js.map +1 -1
  7. package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-sql-ansi.d.ts +7 -0
  8. package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-sql-ansi.js +12 -0
  9. package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-sql-ansi.js.map +1 -0
  10. package/fontes/comum/fontes/avaliador-sintatico/index.d.ts +1 -0
  11. package/fontes/comum/fontes/avaliador-sintatico/index.js +1 -0
  12. package/fontes/comum/fontes/avaliador-sintatico/index.js.map +1 -1
  13. package/fontes/comum/fontes/comandos/comando.d.ts +2 -0
  14. package/fontes/comum/fontes/comandos/comando.js +1 -0
  15. package/fontes/comum/fontes/comandos/comando.js.map +1 -1
  16. package/fontes/comum/fontes/comandos/criar.d.ts +2 -1
  17. package/fontes/comum/fontes/comandos/criar.js +2 -1
  18. package/fontes/comum/fontes/comandos/criar.js.map +1 -1
  19. package/fontes/comum/fontes/construtos/index.d.ts +2 -0
  20. package/fontes/comum/fontes/construtos/index.js +2 -0
  21. package/fontes/comum/fontes/construtos/index.js.map +1 -1
  22. package/fontes/comum/fontes/construtos/parametro-anonimo.d.ts +4 -0
  23. package/fontes/comum/fontes/construtos/parametro-anonimo.js +11 -0
  24. package/fontes/comum/fontes/construtos/parametro-anonimo.js.map +1 -0
  25. package/fontes/comum/fontes/construtos/parametro-nomeado.d.ts +6 -0
  26. package/fontes/comum/fontes/construtos/parametro-nomeado.js +15 -0
  27. package/fontes/comum/fontes/construtos/parametro-nomeado.js.map +1 -0
  28. package/fontes/comum/fontes/index.d.ts +0 -1
  29. package/fontes/comum/fontes/index.js +0 -1
  30. package/fontes/comum/fontes/index.js.map +1 -1
  31. package/fontes/comum/fontes/interfaces/parametro-interface.d.ts +5 -0
  32. package/fontes/comum/fontes/interfaces/parametro-interface.js +3 -0
  33. package/fontes/comum/fontes/interfaces/parametro-interface.js.map +1 -0
  34. package/fontes/comum/fontes/lexador/index.d.ts +1 -0
  35. package/fontes/comum/fontes/lexador/index.js +1 -0
  36. package/fontes/comum/fontes/lexador/index.js.map +1 -1
  37. package/fontes/comum/fontes/lexador/lexador-base.d.ts +26 -0
  38. package/fontes/comum/fontes/lexador/lexador-base.js +211 -0
  39. package/fontes/comum/fontes/lexador/lexador-base.js.map +1 -0
  40. package/fontes/comum/fontes/lexador/lexador-sql-ansi.d.ts +11 -0
  41. package/fontes/comum/fontes/lexador/lexador-sql-ansi.js +47 -0
  42. package/fontes/comum/fontes/lexador/lexador-sql-ansi.js.map +1 -0
  43. package/fontes/comum/fontes/lexador/lexador.d.ts +2 -23
  44. package/fontes/comum/fontes/lexador/lexador.js +5 -198
  45. package/fontes/comum/fontes/lexador/lexador.js.map +1 -1
  46. package/fontes/comum/fontes/lexador/palavras-reservadas/index.d.ts +2 -0
  47. package/fontes/comum/fontes/lexador/palavras-reservadas/index.js +19 -0
  48. package/fontes/comum/fontes/lexador/palavras-reservadas/index.js.map +1 -0
  49. package/fontes/comum/fontes/{palavras-reservadas.d.ts → lexador/palavras-reservadas/lincones.d.ts} +1 -0
  50. package/fontes/comum/fontes/{palavras-reservadas.js → lexador/palavras-reservadas/lincones.js} +3 -2
  51. package/fontes/comum/fontes/lexador/palavras-reservadas/lincones.js.map +1 -0
  52. package/fontes/comum/fontes/lexador/palavras-reservadas/sql.d.ts +37 -0
  53. package/fontes/comum/fontes/lexador/palavras-reservadas/sql.js +43 -0
  54. package/fontes/comum/fontes/lexador/palavras-reservadas/sql.js.map +1 -0
  55. package/fontes/comum/fontes/{tipos-de-simbolos.d.ts → tipos-de-simbolos/index.d.ts} +3 -0
  56. package/fontes/comum/fontes/{tipos-de-simbolos.js → tipos-de-simbolos/index.js} +4 -1
  57. package/fontes/comum/fontes/tipos-de-simbolos/index.js.map +1 -0
  58. package/fontes/comum/fontes/tradutor/index.d.ts +1 -0
  59. package/fontes/comum/fontes/tradutor/index.js +1 -0
  60. package/fontes/comum/fontes/tradutor/index.js.map +1 -1
  61. package/fontes/comum/fontes/tradutor/tradutor-reverso-sql-ansi.d.ts +7 -0
  62. package/fontes/comum/fontes/tradutor/tradutor-reverso-sql-ansi.js +12 -0
  63. package/fontes/comum/fontes/tradutor/tradutor-reverso-sql-ansi.js.map +1 -0
  64. package/fontes/comum/fontes/tradutor/tradutor-sql-ansi.d.ts +1 -1
  65. package/fontes/comum/fontes/tradutor/tradutor-sql-ansi.js +11 -6
  66. package/fontes/comum/fontes/tradutor/tradutor-sql-ansi.js.map +1 -1
  67. package/fontes/comum/testes/avaliador-sintatico.test.js +85 -14
  68. package/fontes/comum/testes/avaliador-sintatico.test.js.map +1 -1
  69. package/fontes/comum/testes/construtos.test.d.ts +1 -0
  70. package/fontes/comum/testes/construtos.test.js +52 -0
  71. package/fontes/comum/testes/construtos.test.js.map +1 -0
  72. package/fontes/comum/testes/lexador-sql-ansi.test.d.ts +1 -0
  73. package/fontes/comum/testes/lexador-sql-ansi.test.js +83 -0
  74. package/fontes/comum/testes/lexador-sql-ansi.test.js.map +1 -0
  75. package/fontes/comum/testes/tradutor-sql-ansi.test.js +22 -21
  76. package/fontes/comum/testes/tradutor-sql-ansi.test.js.map +1 -1
  77. package/fontes/infraestrutura/cliente-sqlite.d.ts +1 -1
  78. package/fontes/infraestrutura/cliente-sqlite.js +10 -9
  79. package/fontes/infraestrutura/cliente-sqlite.js.map +1 -1
  80. package/fontes/lincones-sqlite.d.ts +7 -3
  81. package/fontes/lincones-sqlite.js +25 -10
  82. package/fontes/lincones-sqlite.js.map +1 -1
  83. package/fontes/tradutor/index.js.map +1 -1
  84. package/package.json +1 -1
  85. package/fontes/comum/fontes/palavras-reservadas.js.map +0 -1
  86. package/fontes/comum/fontes/tipos-de-simbolos.js.map +0 -1
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const tipos_de_simbolos_1 = __importDefault(require("../../tipos-de-simbolos"));
7
+ exports.default = {
8
+ add: tipos_de_simbolos_1.default.ADICIONAR,
9
+ alter: tipos_de_simbolos_1.default.ALTERAR,
10
+ and: tipos_de_simbolos_1.default.E,
11
+ auto: tipos_de_simbolos_1.default.AUTO,
12
+ between: tipos_de_simbolos_1.default.ENTRE,
13
+ column: tipos_de_simbolos_1.default.COLUNA,
14
+ constraint: tipos_de_simbolos_1.default.RESTRICAO,
15
+ create: tipos_de_simbolos_1.default.CRIAR,
16
+ delete: tipos_de_simbolos_1.default.EXCLUIR,
17
+ distinct: tipos_de_simbolos_1.default.DISTINTO,
18
+ false: tipos_de_simbolos_1.default.FALSO,
19
+ foreign: tipos_de_simbolos_1.default.ESTRANGEIRA,
20
+ from: tipos_de_simbolos_1.default.DE,
21
+ group: tipos_de_simbolos_1.default.AGRUPAR,
22
+ identity: tipos_de_simbolos_1.default.IDENTIDADE,
23
+ increment: tipos_de_simbolos_1.default.INCREMENTO,
24
+ insert: tipos_de_simbolos_1.default.INSERIR,
25
+ integer: tipos_de_simbolos_1.default.INTEIRO,
26
+ key: tipos_de_simbolos_1.default.CHAVE,
27
+ not: tipos_de_simbolos_1.default.NAO,
28
+ null: tipos_de_simbolos_1.default.NULO,
29
+ order: tipos_de_simbolos_1.default.ORDENAR,
30
+ primary: tipos_de_simbolos_1.default.PRIMARIA,
31
+ references: tipos_de_simbolos_1.default.REFERENCIA,
32
+ select: tipos_de_simbolos_1.default.SELECIONAR,
33
+ set: tipos_de_simbolos_1.default.DEFINIR,
34
+ string: tipos_de_simbolos_1.default.TEXTO,
35
+ table: tipos_de_simbolos_1.default.TABELA,
36
+ true: tipos_de_simbolos_1.default.VERDADEIRO,
37
+ unique: tipos_de_simbolos_1.default.UNICA,
38
+ update: tipos_de_simbolos_1.default.ATUALIZAR,
39
+ values: tipos_de_simbolos_1.default.VALORES,
40
+ view: tipos_de_simbolos_1.default.VISAO,
41
+ where: tipos_de_simbolos_1.default.ONDE
42
+ };
43
+ //# sourceMappingURL=sql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../../../../../fontes/comum/fontes/lexador/palavras-reservadas/sql.ts"],"names":[],"mappings":";;;;;AAAA,gFAAsD;AAEtD,kBAAe;IACX,GAAG,EAAE,2BAAe,CAAC,SAAS;IAC9B,KAAK,EAAE,2BAAe,CAAC,OAAO;IAC9B,GAAG,EAAE,2BAAe,CAAC,CAAC;IACtB,IAAI,EAAE,2BAAe,CAAC,IAAI;IAC1B,OAAO,EAAE,2BAAe,CAAC,KAAK;IAC9B,MAAM,EAAE,2BAAe,CAAC,MAAM;IAC9B,UAAU,EAAE,2BAAe,CAAC,SAAS;IACrC,MAAM,EAAE,2BAAe,CAAC,KAAK;IAC7B,MAAM,EAAE,2BAAe,CAAC,OAAO;IAC/B,QAAQ,EAAE,2BAAe,CAAC,QAAQ;IAClC,KAAK,EAAE,2BAAe,CAAC,KAAK;IAC5B,OAAO,EAAE,2BAAe,CAAC,WAAW;IACpC,IAAI,EAAE,2BAAe,CAAC,EAAE;IACxB,KAAK,EAAE,2BAAe,CAAC,OAAO;IAC9B,QAAQ,EAAE,2BAAe,CAAC,UAAU;IACpC,SAAS,EAAE,2BAAe,CAAC,UAAU;IACrC,MAAM,EAAE,2BAAe,CAAC,OAAO;IAC/B,OAAO,EAAE,2BAAe,CAAC,OAAO;IAChC,GAAG,EAAE,2BAAe,CAAC,KAAK;IAC1B,GAAG,EAAE,2BAAe,CAAC,GAAG;IACxB,IAAI,EAAE,2BAAe,CAAC,IAAI;IAC1B,KAAK,EAAE,2BAAe,CAAC,OAAO;IAC9B,OAAO,EAAE,2BAAe,CAAC,QAAQ;IACjC,UAAU,EAAE,2BAAe,CAAC,UAAU;IACtC,MAAM,EAAE,2BAAe,CAAC,UAAU;IAClC,GAAG,EAAE,2BAAe,CAAC,OAAO;IAC5B,MAAM,EAAE,2BAAe,CAAC,KAAK;IAC7B,KAAK,EAAE,2BAAe,CAAC,MAAM;IAC7B,IAAI,EAAE,2BAAe,CAAC,UAAU;IAChC,MAAM,EAAE,2BAAe,CAAC,KAAK;IAC7B,MAAM,EAAE,2BAAe,CAAC,SAAS;IACjC,MAAM,EAAE,2BAAe,CAAC,OAAO;IAC/B,IAAI,EAAE,2BAAe,CAAC,KAAK;IAC3B,KAAK,EAAE,2BAAe,CAAC,IAAI;CAC9B,CAAA"}
@@ -10,11 +10,13 @@ declare const _default: {
10
10
  DE: string;
11
11
  DEFINIR: string;
12
12
  DISTINTO: string;
13
+ DOIS_PONTOS: string;
13
14
  E: string;
14
15
  ENTRE: string;
15
16
  EM: string;
16
17
  ESTRANGEIRA: string;
17
18
  EXCLUIR: string;
19
+ EXISTIR: string;
18
20
  FALSO: string;
19
21
  IDENTIDADE: string;
20
22
  IDENTIFICADOR: string;
@@ -22,6 +24,7 @@ declare const _default: {
22
24
  INCREMENTO: string;
23
25
  INSERIR: string;
24
26
  INTEIRO: string;
27
+ INTERROGACAO: string;
25
28
  LOGICO: string;
26
29
  MAIOR: string;
27
30
  MAIOR_IGUAL: string;
@@ -12,11 +12,13 @@ exports.default = {
12
12
  DE: 'DE',
13
13
  DEFINIR: 'DEFINIR',
14
14
  DISTINTO: 'DISTINTO',
15
+ DOIS_PONTOS: 'DOIS_PONTOS',
15
16
  E: 'E',
16
17
  ENTRE: 'ENTRE',
17
18
  EM: 'EM',
18
19
  ESTRANGEIRA: 'ESTRANGEIRA',
19
20
  EXCLUIR: 'EXCLUIR',
21
+ EXISTIR: 'EXISTIR',
20
22
  FALSO: 'FALSO',
21
23
  IDENTIDADE: 'IDENTIDADE',
22
24
  IDENTIFICADOR: 'IDENTIFICADOR',
@@ -24,6 +26,7 @@ exports.default = {
24
26
  INCREMENTO: 'INCREMENTO',
25
27
  INSERIR: 'INSERIR',
26
28
  INTEIRO: 'INTEIRO',
29
+ INTERROGACAO: 'INTERROGACAO',
27
30
  LOGICO: 'LOGICO',
28
31
  MAIOR: 'MAIOR',
29
32
  MAIOR_IGUAL: 'MAIOR_IGUAL',
@@ -56,4 +59,4 @@ exports.default = {
56
59
  VIRGULA: 'VIRGULA',
57
60
  VISAO: 'VISAO'
58
61
  };
59
- //# sourceMappingURL=tipos-de-simbolos.js.map
62
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../fontes/comum/fontes/tipos-de-simbolos/index.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACX,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,EAAE,EAAE,IAAI;IACR,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,aAAa;IAC1B,CAAC,EAAE,GAAG;IACN,KAAK,EAAE,OAAO;IACd,EAAE,EAAE,IAAI;IACR,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,eAAe;IAC9B,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,cAAc;IAC5B,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,oBAAoB;IACxC,aAAa,EAAE,eAAe;IAC9B,GAAG,EAAE,KAAK;IACV,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,EAAE,EAAE,IAAI;IACR,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;CACjB,CAAC"}
@@ -1 +1,2 @@
1
+ export * from './tradutor-reverso-sql-ansi';
1
2
  export * from './tradutor-sql-ansi';
@@ -14,5 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./tradutor-reverso-sql-ansi"), exports);
17
18
  __exportStar(require("./tradutor-sql-ansi"), exports);
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../fontes/comum/fontes/tradutor/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../fontes/comum/fontes/tradutor/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA4C;AAC5C,sDAAoC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Este tradutor traduz comandos de alto nível em LinConEs,
3
+ * normalmente lendo um arquivo em SQL ANSI e produzindo estruturas de alto
4
+ * nível sobre eles.
5
+ */
6
+ export declare class TradutorReversoSqlAnsi {
7
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TradutorReversoSqlAnsi = void 0;
4
+ /**
5
+ * Este tradutor traduz comandos de alto nível em LinConEs,
6
+ * normalmente lendo um arquivo em SQL ANSI e produzindo estruturas de alto
7
+ * nível sobre eles.
8
+ */
9
+ class TradutorReversoSqlAnsi {
10
+ }
11
+ exports.TradutorReversoSqlAnsi = TradutorReversoSqlAnsi;
12
+ //# sourceMappingURL=tradutor-reverso-sql-ansi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tradutor-reverso-sql-ansi.js","sourceRoot":"","sources":["../../../../../fontes/comum/fontes/tradutor/tradutor-reverso-sql-ansi.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,MAAa,sBAAsB;CAElC;AAFD,wDAEC"}
@@ -1,7 +1,7 @@
1
1
  import { Alterar, Atualizar, Comando, Criar, Excluir, Inserir, Selecionar } from '../comandos';
2
2
  import { Coluna, Construto } from '../construtos';
3
3
  /**
4
- * Este tradutor traduz sentenças em SQL ANSI, e a ideia é poder
4
+ * Este tradutor traduz comandos de alto nível em SQL ANSI, e a ideia é poder
5
5
  * utilizar para outros tradutores futuros, com pequenas nuances em
6
6
  * alguns comandos quando for o caso.
7
7
  */
@@ -8,7 +8,7 @@ const construtos_1 = require("../construtos");
8
8
  const restricao_1 = require("../construtos/restricao");
9
9
  const tipos_de_simbolos_1 = __importDefault(require("../tipos-de-simbolos"));
10
10
  /**
11
- * Este tradutor traduz sentenças em SQL ANSI, e a ideia é poder
11
+ * Este tradutor traduz comandos de alto nível em SQL ANSI, e a ideia é poder
12
12
  * utilizar para outros tradutores futuros, com pequenas nuances em
13
13
  * alguns comandos quando for o caso.
14
14
  */
@@ -58,9 +58,6 @@ class TradutorSqlAnsi {
58
58
  }
59
59
  traduzirConstruto(construto) {
60
60
  switch (construto.constructor.name) {
61
- case 'ReferenciaColuna':
62
- const construtoReferenciaColuna = construto;
63
- return construtoReferenciaColuna.nomeColuna;
64
61
  case 'Literal':
65
62
  const construtoLiteral = construto;
66
63
  switch (construtoLiteral.tipoPresumido) {
@@ -72,6 +69,14 @@ class TradutorSqlAnsi {
72
69
  default:
73
70
  return `${String(construtoLiteral.valor)}`;
74
71
  }
72
+ case 'ParametroAnonimo':
73
+ return `?`;
74
+ case 'ParametroNomeado':
75
+ const construtoParametroNomeado = construto;
76
+ return `:${construtoParametroNomeado.nome}`;
77
+ case 'ReferenciaColuna':
78
+ const construtoReferenciaColuna = construto;
79
+ return construtoReferenciaColuna.nomeColuna;
75
80
  }
76
81
  }
77
82
  traduzirColunaComTipo(coluna) {
@@ -93,7 +98,7 @@ class TradutorSqlAnsi {
93
98
  for (const valorAtualizacao of comandoAtualizar.colunasEValores) {
94
99
  resultado += ` ${this.traduzirConstruto(valorAtualizacao.coluna)} = ${this.traduzirConstruto(valorAtualizacao.valor)}, \n`;
95
100
  }
96
- resultado = resultado.slice(0, -2);
101
+ resultado = resultado.slice(0, -3);
97
102
  resultado += `\nWHERE`;
98
103
  if (comandoAtualizar.condicoes.length > 0) {
99
104
  for (const condicao of comandoAtualizar.condicoes) {
@@ -218,7 +223,7 @@ class TradutorSqlAnsi {
218
223
  resultado += `ADD ${this.logicaManipulacaoColunas(operacao.elemento)}`;
219
224
  break;
220
225
  case 'ALTERAR':
221
- resultado += 'INTEGER';
226
+ resultado += `ALTER ${this.logicaManipulacaoColunas(operacao.elemento)}`;
222
227
  break;
223
228
  case 'EXCLUIR':
224
229
  resultado += 'BIT';
@@ -1 +1 @@
1
- {"version":3,"file":"tradutor-sql-ansi.js","sourceRoot":"","sources":["../../../../../fontes/comum/fontes/tradutor/tradutor-sql-ansi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tradutor-sql-ansi.js","sourceRoot":"","sources":["../../../../../fontes/comum/fontes/tradutor/tradutor-sql-ansi.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const avaliador_sintatico_1 = require("../fontes/avaliador-sintatico");
4
+ const construtos_1 = require("../fontes/construtos");
4
5
  const lexador_1 = require("../fontes/lexador");
5
6
  describe('Avaliador Sintático', () => {
6
7
  let lexador;
@@ -24,7 +25,7 @@ describe('Avaliador Sintático', () => {
24
25
  });
25
26
  it('Excluir em Tabela', () => {
26
27
  const codigo = [
27
- 'EXCLUIR clientes ONDE ID = 3;'
28
+ 'EXCLUIR EM clientes ONDE ID = 3;'
28
29
  ];
29
30
  const resultadoLexador = lexador.mapear(codigo);
30
31
  const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
@@ -32,9 +33,75 @@ describe('Avaliador Sintático', () => {
32
33
  expect(resultadoAvaliadorSintatico.comandos).toHaveLength(1);
33
34
  expect(resultadoAvaliadorSintatico.erros).toHaveLength(0);
34
35
  });
35
- it('Inserir em Tabela', () => {
36
+ describe('Inserir em Tabela', () => {
37
+ it('Trivial', () => {
38
+ const codigo = [
39
+ 'INSERIR EM clientes (NOME) VALORES ("Pernalonga")'
40
+ ];
41
+ const resultadoLexador = lexador.mapear(codigo);
42
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
43
+ expect(resultadoAvaliadorSintatico).toBeTruthy();
44
+ expect(resultadoAvaliadorSintatico.comandos).toHaveLength(1);
45
+ expect(resultadoAvaliadorSintatico.erros).toHaveLength(0);
46
+ });
47
+ it('Com parâmetros anônimos', () => {
48
+ const codigo = [
49
+ 'INSERIR EM clientes (NOME) VALORES (?)'
50
+ ];
51
+ const resultadoLexador = lexador.mapear(codigo);
52
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
53
+ expect(resultadoAvaliadorSintatico).toBeTruthy();
54
+ expect(resultadoAvaliadorSintatico.comandos).toHaveLength(1);
55
+ expect(resultadoAvaliadorSintatico.erros).toHaveLength(0);
56
+ });
57
+ });
58
+ describe('Selecionar em Tabela', () => {
59
+ it('Trivial', () => {
60
+ const codigo = [
61
+ 'SELECIONAR NOME, EMAIL DE clientes ONDE IDADE = 18;'
62
+ ];
63
+ const retornoLexador = lexador.mapear(codigo);
64
+ const retornoAvaliadorSintatico = avaliadorSintatico.analisar(retornoLexador);
65
+ expect(retornoAvaliadorSintatico).toBeTruthy();
66
+ expect(retornoAvaliadorSintatico.comandos).toHaveLength(1);
67
+ expect(retornoAvaliadorSintatico.erros).toHaveLength(0);
68
+ });
69
+ it('Com parâmetros nomeados', () => {
70
+ const codigo = [
71
+ 'SELECIONAR NOME, EMAIL DE clientes ONDE IDADE = :idade;'
72
+ ];
73
+ const retornoLexador = lexador.mapear(codigo);
74
+ const retornoAvaliadorSintatico = avaliadorSintatico.analisar(retornoLexador);
75
+ expect(retornoAvaliadorSintatico).toBeTruthy();
76
+ expect(retornoAvaliadorSintatico.comandos).toHaveLength(1);
77
+ expect(retornoAvaliadorSintatico.erros).toHaveLength(0);
78
+ const comando = retornoAvaliadorSintatico.comandos[0];
79
+ expect(comando.condicoes).toHaveLength(1);
80
+ const condicao = comando.condicoes[0];
81
+ expect(condicao.esquerda).toBeInstanceOf(construtos_1.ReferenciaColuna);
82
+ expect(condicao.direita).toBeInstanceOf(construtos_1.ParametroNomeado);
83
+ });
84
+ it('Com parâmetros anônimos', () => {
85
+ const codigo = [
86
+ 'SELECIONAR NOME, EMAIL DE clientes ONDE IDADE = ?;'
87
+ ];
88
+ const retornoLexador = lexador.mapear(codigo);
89
+ const retornoAvaliadorSintatico = avaliadorSintatico.analisar(retornoLexador);
90
+ expect(retornoAvaliadorSintatico).toBeTruthy();
91
+ expect(retornoAvaliadorSintatico.comandos).toHaveLength(1);
92
+ expect(retornoAvaliadorSintatico.erros).toHaveLength(0);
93
+ const comando = retornoAvaliadorSintatico.comandos[0];
94
+ expect(comando.condicoes).toHaveLength(1);
95
+ const condicao = comando.condicoes[0];
96
+ expect(condicao.esquerda).toBeInstanceOf(construtos_1.ReferenciaColuna);
97
+ expect(condicao.direita).toBeInstanceOf(construtos_1.ParametroAnonimo);
98
+ });
99
+ });
100
+ });
101
+ describe('Manipulação de esquemas de tabelas', () => {
102
+ it('Criar Tabela', () => {
36
103
  const codigo = [
37
- 'INSERIR EM clientes (NOME) VALORES ("Pernalonga")'
104
+ 'CRIAR TABELA clientes(ID INTEIRO NAO NULO CHAVE PRIMARIA AUTO INCREMENTO, NOME TEXTO(100) NAO NULO, IDADE INTEIRO NAO NULO, EMAIL TEXTO(255) NAO NULO, ATIVO LOGICO NAO NULO);'
38
105
  ];
39
106
  const resultadoLexador = lexador.mapear(codigo);
40
107
  const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
@@ -42,21 +109,25 @@ describe('Avaliador Sintático', () => {
42
109
  expect(resultadoAvaliadorSintatico.comandos).toHaveLength(1);
43
110
  expect(resultadoAvaliadorSintatico.erros).toHaveLength(0);
44
111
  });
45
- it('Selecionar em tabela', () => {
112
+ it('Criar Tabela se não existir', () => {
46
113
  const codigo = [
47
- 'SELECIONAR NOME, EMAIL DE clientes ONDE IDADE = 18;'
114
+ 'CRIAR TABELA SE NÃO EXISTIR clientes ( ',
115
+ ' ID INTEIRO NAO NULO CHAVE PRIMARIA, ',
116
+ ' NOME TEXTO(100) NAO NULO, ',
117
+ ' IDADE INTEIRO NAO NULO, ',
118
+ ' EMAIL TEXTO(255) NAO NULO, ',
119
+ ' ATIVO LOGICO NAO NULO ',
120
+ ');'
48
121
  ];
49
- const retornoLexador = lexador.mapear(codigo);
50
- const retornoAvaliadorSintatico = avaliadorSintatico.analisar(retornoLexador);
51
- expect(retornoAvaliadorSintatico).toBeTruthy();
52
- expect(retornoAvaliadorSintatico.comandos).toHaveLength(1);
53
- expect(retornoAvaliadorSintatico.erros).toHaveLength(0);
122
+ const resultadoLexador = lexador.mapear(codigo);
123
+ const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
124
+ expect(resultadoAvaliadorSintatico).toBeTruthy();
125
+ expect(resultadoAvaliadorSintatico.comandos).toHaveLength(1);
126
+ expect(resultadoAvaliadorSintatico.erros).toHaveLength(0);
54
127
  });
55
- });
56
- describe('Manipulação de esquemas de tabelas', () => {
57
- it('Criar Tabela', () => {
128
+ it('Criar Tabela se não existir', () => {
58
129
  const codigo = [
59
- 'CRIAR TABELA clientes(ID INTEIRO NAO NULO CHAVE PRIMARIA AUTO INCREMENTO, NOME TEXTO(100) NAO NULO, IDADE INTEIRO NAO NULO, EMAIL TEXTO(255) NAO NULO, ATIVO LOGICO NAO NULO);'
130
+ 'EXCLUIR TABELA clientes;'
60
131
  ];
61
132
  const resultadoLexador = lexador.mapear(codigo);
62
133
  const resultadoAvaliadorSintatico = avaliadorSintatico.analisar(resultadoLexador);
@@ -1 +1 @@
1
- {"version":3,"file":"avaliador-sintatico.test.js","sourceRoot":"","sources":["../../../../fontes/comum/testes/avaliador-sintatico.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"avaliador-sintatico.test.js","sourceRoot":"","sources":["../../../../fontes/comum/testes/avaliador-sintatico.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const construtos_1 = require("../fontes/construtos");
4
+ const coluna_1 = require("../fontes/construtos/coluna");
5
+ describe('Construtos', () => {
6
+ describe('Coluna', () => {
7
+ it('toString, trivial', () => {
8
+ const coluna = new coluna_1.Coluna('nome', 'texto', undefined, true);
9
+ expect(coluna.toString()).toBe("<Coluna nome=nome tipo=TEXTO nulo=Sim>");
10
+ });
11
+ it('toString, chave primária', () => {
12
+ const coluna = new coluna_1.Coluna('nome', 'texto', undefined, false, true);
13
+ expect(coluna.toString()).toBe("<Coluna nome=nome tipo=TEXTO nulo=Não chave primária;>");
14
+ });
15
+ });
16
+ describe('ColunaEValor', () => {
17
+ it('toString, trivial', () => {
18
+ const colunaEValor = new construtos_1.ColunaEValor(new coluna_1.Coluna('nome', 'texto', undefined, false, true), new construtos_1.Literal('valor'));
19
+ expect(colunaEValor.toString()).toBe("<ColunaEValor coluna=nome valor=<Literal valor=valor tipo presumido=TEXTO>>");
20
+ });
21
+ });
22
+ describe('Condicao', () => {
23
+ it('toString, trivial', () => {
24
+ const condicao = new construtos_1.Condicao(new coluna_1.Coluna('nome', 'texto', undefined, false, true), 'IGUAL', new construtos_1.Literal('teste'));
25
+ expect(condicao.toString()).toBe("<Condição operando esquerdo=<Coluna nome=nome tipo=TEXTO nulo=Não chave primária;> operador=IGUAL operando direito=<Literal valor=teste tipo presumido=TEXTO>>");
26
+ });
27
+ });
28
+ describe('OperacaoAlteracaoTabela', () => {
29
+ it('construtor, tipo inválido', () => {
30
+ expect(() => {
31
+ new construtos_1.OperacaoAlteracaoTabela('INVALIDO', new coluna_1.Coluna('coluna', 'texto'));
32
+ }).toThrow('Tipo de operação de alteração de tabela inválido: INVALIDO');
33
+ });
34
+ it('toString, trivial', () => {
35
+ const operacaoAlteracaoTabela = new construtos_1.OperacaoAlteracaoTabela('ADICIONAR', new coluna_1.Coluna('nova_coluna', 'texto'));
36
+ expect(operacaoAlteracaoTabela.toString()).toBe("<OperaçãoAlteraçãoTabela tipo=ADICIONAR elemento=<Coluna nome=nova_coluna tipo=TEXTO nulo=Não>>");
37
+ });
38
+ });
39
+ describe('Restricao', () => {
40
+ it('toString, trivial', () => {
41
+ const restricao = new construtos_1.Restricao('teste_restricao', 'ÚNICA', 'teste_tabela', [
42
+ 'coluna1',
43
+ 'coluna2'
44
+ ], 'outra_tabela', [
45
+ 'coluna3',
46
+ 'coluna4'
47
+ ]);
48
+ expect(restricao.toString()).toBe("<Restrição nome=teste_restricao tabela=teste_tabela colunas=[coluna1, coluna2] tabela referenciada=outra_tabela colunas referenciadas=[coluna3, coluna4]>");
49
+ });
50
+ });
51
+ });
52
+ //# sourceMappingURL=construtos.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"construtos.test.js","sourceRoot":"","sources":["../../../../fontes/comum/testes/construtos.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const lexador_1 = require("../fontes/lexador");
4
+ describe('Lexador SQL ANSI', () => {
5
+ let lexador;
6
+ beforeEach(() => {
7
+ lexador = new lexador_1.LexadorSqlAnsi();
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
+ 'CREATE CREATE CREATE CREATE CREATE CREATE'
28
+ ];
29
+ const resultado = lexador.mapear(codigo);
30
+ expect(resultado).toBeTruthy();
31
+ expect(resultado.simbolos).toHaveLength(57);
32
+ });
33
+ it('CREATE TABLE', () => {
34
+ const codigo = ['CREATE TABLE usuarios'];
35
+ const resultado = lexador.mapear(codigo);
36
+ expect(resultado).toBeTruthy();
37
+ expect(resultado.simbolos).toHaveLength(3);
38
+ });
39
+ it('UPDATE', () => {
40
+ const codigo = ['UPDATE usuarios'];
41
+ const resultado = lexador.mapear(codigo);
42
+ expect(resultado).toBeTruthy();
43
+ expect(resultado.simbolos).toHaveLength(2);
44
+ });
45
+ describe('Casos concretos', () => {
46
+ it('CREATE TABLE Clientes', () => {
47
+ const codigo = [
48
+ 'CREATE TABLE clientes(id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, nome VARCHAR(100) NOT NULL, idade INTEIRO NAO NULO, email VARCHAR(255) NOT NULL, ativo BOOLEAN NOT NULL)'
49
+ ];
50
+ const resultado = lexador.mapear(codigo);
51
+ expect(resultado).toBeTruthy();
52
+ expect(resultado.simbolos).toHaveLength(38);
53
+ });
54
+ it('CRUD', () => {
55
+ const codigo = [
56
+ 'INSERT INTO clientes VALUES(1, "João", 20, "joao@gmail.com", TRUE)',
57
+ 'INSERT INTO clientes VALUES(2, "Carlos", 23, "carlos@gmail.com", TRUE)',
58
+ 'INSERT INTO clientes VALUES(3, "Thiago", 40, "thiago@gmail.com", TRUE)',
59
+ 'INSERT INTO clientes VALUES(4, "Jose", 44, "jose@gmail.com", TRUE)'
60
+ ];
61
+ const resultado = lexador.mapear(codigo);
62
+ expect(resultado).toBeTruthy();
63
+ expect(resultado.simbolos).toHaveLength(60);
64
+ });
65
+ it('Selecionar', () => {
66
+ const codigo = ['SELECT * FROM clientes'];
67
+ const resultado = lexador.mapear(codigo);
68
+ expect(resultado).toBeTruthy();
69
+ expect(resultado.simbolos).toHaveLength(4);
70
+ });
71
+ it('Criar Tabela Clientes', () => {
72
+ const codigo = [
73
+ 'CREATE TABLE clientes(id INTEGER NOT NULL PRIMARY KEY, nome VARCHAR(100) NOT NULL, idade INTEGER NOT NULL, email VARCHAR(255) NOT NULL, ativo BOOLEAN NOT NULL);'
74
+ ];
75
+ const resultado = lexador.mapear(codigo);
76
+ expect(resultado).toBeTruthy();
77
+ expect(resultado.simbolos).toHaveLength(38);
78
+ });
79
+ });
80
+ });
81
+ });
82
+ });
83
+ //# sourceMappingURL=lexador-sql-ansi.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lexador-sql-ansi.test.js","sourceRoot":"","sources":["../../../../fontes/comum/testes/lexador-sql-ansi.test.ts"],"names":[],"mappings":"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"}