self-explained

self explained tools - starting with "assert"

Instalación

$ npm install self-explained

designing npm-version downloads build coverage climate dependencies qa-control

idioma: castellano también disponible en: inglés

Uso

var assert = require('self-exlain').assert;

var alpha = 10;
var betha = 7;

eval(assert(alpha / 2 > betha -1));
tabla 1 min max return
execute - - result.rowCount
fetchAll 0 inf result.rows, result.rowCount
fetchUniqueValue 1 1 result.value
fetchUniqueRow 1 1 result.row
fetchOneRowIfExists 0 1 result.row, result.rowCount

Ejecuta la expresión como si fuera un assert, y si la expresión evalúa a false se genera mucha más información por la consola (además de lanzar la excepción correspondiente)

ASSERT FAILED
alpha / 2 > betha -1
10 / 2 > 7 - 1
5 > 6
false

Licencia

MIT

pg-promise-strict

postgresql con promesas en el sentido estricto

extending npm-version downloads linux windows coverage climate dependencies qa-control

idioma: castellano también disponible en: inglés

Características

pg-strict-promise implementa una versión con Promise/A+ en el sentido estricto de la librería PG.

Instalación

$ npm install pg-promise-strict

Ejemplo de uso

var pg = require('pg-promise-strict');

pg.easy = true;

var conOpts = {
    user: 'test_user',
    password: 'test_pass',
    database: 'test_db',
    host: 'localhost',
    port: 5432
};

pg.connect(conOpts).then(function(client){
    return client.query('select * from table');
}).then(function(result){
    for(var i=0; i<result.rowCount; i++){
        console.log('row',i,result.row[i]);
    }
}).catch(function(err){
    console.log('ERROR',err);
});

Ejemplos de PG

El primer ejemplo. Trae todas las filas de una consulta a la vez. Ejemplo basado en PG

var pg = require('pg-promise-strict');

pg.easy = true;

var conString = "postgres://username:password@localhost/database";

pg.connect(conString).then(function(client){
    return client.query('SELECT $1::int AS number', ['1']);
}).then(function(result)){
    console.log(result.rows[0].number);
}).catch(err){
    return console.error('error fetching client from pool or running query', err);
}).then(function(){    
    client.done(); // original done function of callback of PG.connect
});

En este ejemplo se puede ver:

Ejemplo sin el pool de conexiones

Corresponde al ejemplo de llamada a PG con conexión directa del cliente

var pg = require('pg-promise-strict');

var conString = "postgres://username:password@localhost/database";

var client = new pg.Client(conString);

client.connect().then(function(client){
    return client.query('SELECT NOW() AS "theTime"');
}).then(function(result){
    console.log(result.rows[0].theTime);
    console.log(row.name);
    client.end();
}).catch(function(err){
    return console.error('error connecting or running query', err);
});

Ejemplo procesando de a una fila a la vez

Corresponde al ejemplo de llamada a PG.query sin función callback. En la documentación de PG, Brian C dice no especifique una function callback para consultas que devuelven grandes conjuntos de datos salvo que quiera que se acumule todo en memoria

Esta es la manera de procesar fila por fila

pg.connect({user: 'brianc', database: 'test'}).then(function(client){
    client.query("SELECT name FROM users").onRow(function(row){
        console.log(row.name);
    }).then(function(result){
        console.log('ready.',result.rowCount,'rows processed');
        client.done();
    });
});

Corriendo los tests

Para correr los test, además de clonar el repositorio e instalar con npm tenemos que proveer una conexión a la base de datos postgresql-9.3 para poder crear el usuario test_user y la base test_db.

Additions in pg-promise-strict

language: English also available in: Spanish -

(for this section see spanish version)

Addings:

function min max return
execute - - result.rowCount
fetchAll 0 inf result.rows, result.rowCount
fetchUniqueValue 1 1 result.value
fetchUniqueRow 1 1 result.row
fetchOneRowIfExists 0 1 result.row, result.rowCount

fast-devel-server

Fast developer server for displaying markdown and others

Working in resolving the unsecure dependencies!

designing npm-version downloads build climate dependencies

idioma: castellano también disponible en: inglés

Instalación

$ npm install fast-devel-server

USO

npm start

Y luego usa en tu navegador para renderizar o ver y autorefrescar tus datos

in your navigator put http://localhost:54321/auto/your-package/examples/example.txt

No necesitas refrescar con F5!

Licencias

MIT