self explained tools - starting with "assert"
$ npm install self-explained
idioma:
también disponible en:

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
postgresql con promesas en el sentido estricto
idioma:
también disponible en:

pg-strict-promise implementa una versión con Promise/A+ en el sentido estricto de la librería PG.
$ npm install pg-promise-strict
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);
});
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:
.then(function(result) es el equivalente a pasar callback a la función a queryCorresponde 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);
});
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();
});
});
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.
language:
also available in:
-
(for this section see spanish version)
Addings:
fetchAll in query(...).then calls| 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 developer server for displaying markdown and others
Working in resolving the unsecure dependencies!
idioma:
también disponible en:

$ npm install fast-devel-server
npm start
Y luego usa en tu navegador para renderizar o ver y autorefrescar tus datos

No necesitas refrescar con F5!