Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | 6x 6x 6x 6x 6x 6x 6x 81x 6x 4x | const knex = require('knex'); import {db} from "./database"; let queryBuilder: any; Iif (process.env.NODE_ENV !== 'test') { /** * Query-Builder: creates sql query strings using functions * @type {Knex} */ queryBuilder = knex({ client: 'sqlite', connection: {filename: ':memory:'}, useNullAsDefault: true, database : 'metaphase_db' }); } Eif (process.env.NODE_ENV === 'test') { const mockKnex = require('mock-knex'); /** * Mocked query-builder for tests * @type {Knex} */ queryBuilder = knex({ client: 'sqlite', debug: false, useNullAsDefault: true, database: 'test_db' }); mockKnex.mock(queryBuilder); } //todo: testar la funcion run() y getOne() //todo: emitir un evento personalizado para saber cuando se ha ejecutado una consulta //todo: renombrar getOne() a getFirst() /** * Execute database query using query-builder * Do not use arrow function because "this" type is incorrectly infered by typescript * @return {Object[]} list with query results */ queryBuilder().__proto__.run = function() { return db.execQuery(this); }; /** * Execute database query using query-builder and return only first row * @return {Object} query result */ queryBuilder().__proto__.getOne = function() { return db.execQuery(this)[0]; }; export {queryBuilder as query}; |