Skip to content

Instantly share code, notes, and snippets.

@yarax
yarax / express.js
Last active October 15, 2016 20:52
HTTP handling Express
app.post((req, res) => {
const user = db.getUserByName(req.headers.name);
const user = db.getUserByName(req.query.name);
const user = db.getUserByName(req.path.name);
const user = db.getUserByName(req.body.name);
});
@yarax
yarax / maybe-arithmetic.js
Last active July 8, 2016 14:50
maybe-arithmetic.js
/**
* @param val {*}
* @returns {Boolean}
*/
function isNothing(val) {
return val === undefined || val === null;
}
/**
* @param val {*}
* @return {Number}
@yarax
yarax / server-ready.js
Created July 8, 2016 08:01
server-ready.js
var schemaLoaded = kefir.fromEvents(app, 'server:schema').take(1);
var serverListening = kefir.fromEvents(app, 'server:running').take(1);
return kefir.merge([schemaLoaded, serverListening]).toPromise();
const http = require('http');
// Swagger-like API description
const api = {
'/users': {
'get': {
'parameters': {
'role': {
'in': 'query'
},
let x = 1;
let sum = (a, b) => a + b + x
sum(1, 2); // 4
x = 2;
sum(1, 2); // 5
@yarax
yarax / rsc.js
Last active December 17, 2015 13:48
Reactive summary comparison
var Bacon = require('baconjs');
var Rx = require('rx');
var Kefir = require('kefir');
var EE = require('events').EventEmitter;
var ee = new EE;
var sum = function (prev, cur) {return prev+cur};
Bacon.fromEvent(ee, 'event1').scan(0, sum).onValue(console.log); // 0, 4, 9
Rx.Observable.fromEvent(ee, 'event1').reduce(sum, 0).subscribe(console.log); // doesn't work
@yarax
yarax / anag.js
Last active August 29, 2015 14:22
Finding anagrams
var row = "word".split("");
// splice modifies original array
function pull (row, i) {
var arr = [];
row.forEach(function (item, j) {
if (i!=j) arr.push(item);
});
return arr;
}