Skip to content

Instantly share code, notes, and snippets.

View VivienAdnot's full-sized avatar

Vivien Adnot VivienAdnot

View GitHub Profile
@VivienAdnot
VivienAdnot / createSelector.js
Last active November 23, 2018 09:44
redux: createSelector signature
const createSelector = (state, props) => {
return (inputSelectors, transformFn) => {
const applySelectors = inputSelectors.map(selector => selector(state, props);
return transformFn(...applySelectors);
};
};
@VivienAdnot
VivienAdnot / primus-reconnect.js
Created October 29, 2018 12:35
action on primus reconnect
'use strict';
var disconnectClient = true;
var http = require('http');
var Primus = require('primus');
var primusServer;
var httpServer;
(function createServer() {
httpServer = http.createServer();
@VivienAdnot
VivienAdnot / fullLog.js
Created October 12, 2018 08:20
node console.log full object
const util = require('util');
console.log(util.inspect(myObject, { showHidden: false, depth: null }));
// alternative shortcut
console.log(util.inspect(myObject, false, null, true));
@VivienAdnot
VivienAdnot / routes.js
Created October 4, 2018 09:03
express Router poc
import express from 'express';
const routes = express.Router();
routes.get('/ok', (req, res, next) => {
res.data = {
result: 'ok'
};
next();
@VivienAdnot
VivienAdnot / selectCheckboxesLi.js
Created August 8, 2018 09:49
event bubbling poc: checkbox input -> label -> div
import React, { Component } from "react";
import ReactDOM from "react-dom";
import "./styles.css";
class App extends Component {
state = {
selected: false
};
@VivienAdnot
VivienAdnot / index.js
Last active July 31, 2018 12:37
node-express poc express.Router
import express from 'express';
import routes from './routes';
const app = express();
app.use('/', routes);
app.use((req, res) => {
res.status(200).send(res.data);
@VivienAdnot
VivienAdnot / server2.js
Created July 30, 2018 12:03
busboy case 2: console.log chunks
const http = require('http');
const inspect = require('util').inspect;
const Busboy = require('busboy');
http.createServer(function(req, res) {
const busboy = new Busboy({
headers: req.headers
});
@VivienAdnot
VivienAdnot / server1.js
Created July 30, 2018 12:02
busboy case 1: write file to disk
var http = require('http');
var fs = require('fs');
var Busboy = require('busboy');
http.createServer(function(req, res) {
var busboy = new Busboy({
headers: req.headers
});
const buildMap = (bombPositions) => {
let positions = Array.from({length: 10}, (value, x) => {
return Array.from({length: 10}, (value, y) => {
return {
position: {x, y},
value: (isPositionBomb(bombPositions, {x, y})
? 'B'
: getNeighborBombPositions(bombPositions, {x, y}).length
),
visibility: 'hidden' // visible, marked
@VivienAdnot
VivienAdnot / async.waterfall.js
Created February 23, 2018 13:31
async waterfall (es5 style)
console.log('Program Start');
var async = require('async');
async.waterfall([
function (callback) {
console.log('First Step --> ');
callback(null, '1', '2');
},
function (arg1, arg2, callback) {
console.log('Second Step --> ' + arg1 + ' ' + arg2);