UNPKG

@designliquido/lincones-sqlite

Version:
57 lines 2.16 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.TradutorSqLite = void 0; const tradutor_sql_ansi_1 = require("../comum/fontes/tradutor/tradutor-sql-ansi"); const tipos_de_simbolos_1 = __importDefault(require("../comum/fontes/tipos-de-simbolos")); class TradutorSqLite extends tradutor_sql_ansi_1.TradutorSqlAnsi { traduzirOperador(operador) { switch (operador) { case tipos_de_simbolos_1.default.IGUAL: return '='; case tipos_de_simbolos_1.default.VERDADEIRO: return true; case tipos_de_simbolos_1.default.FALSO: return false; } } traduzirColuna(coluna) { let traduzir = ''; if (tipos_de_simbolos_1.default.INTEIRO === coluna.tipo) { traduzir += `INTEGER `; } else if (tipos_de_simbolos_1.default.TEXTO === coluna.tipo) { const simbolo = coluna.tamanho; traduzir += `VARCHAR(${simbolo.literal}) `; } else if (tipos_de_simbolos_1.default.LOGICO === coluna.tipo) traduzir += 'BOOLEAN '; if (coluna.chavePrimaria) traduzir += 'PRIMARY KEY '; if (coluna.nulo) traduzir += 'NULL'; else traduzir += 'NOT NULL'; return traduzir; } traduzirComandoCriar(comandoCriar) { let resultado = `CREATE TABLE ${comandoCriar.nomeEntidade} (`; for (const coluna of comandoCriar.colunas) { resultado += `${coluna.nomeColuna} ${this.traduzirColuna(coluna)}, `; } resultado = resultado.slice(0, -2); resultado += ')'; return resultado; } traduzir(comandos) { let resultado = ''; for (const comando of comandos.filter((c) => c)) { resultado += `${this.dicionarioComandos[comando.constructor.name](comando)} \n`; } return resultado; } } exports.TradutorSqLite = TradutorSqLite; //# sourceMappingURL=index.js.map