Skip to content

Instantly share code, notes, and snippets.

View VivienAdnot's full-sized avatar

Vivien Adnot VivienAdnot

View GitHub Profile
@VivienAdnot
VivienAdnot / bubbleSort.ts
Created May 24, 2017 10:59
bubble sort implementation in typescript
export function bubbleSort(array: number[]): number[] {
array = array.slice(); // creates a copy of the array
for(let i = 0; i < array.length; i++) {
for(let j = 0; j < array.length - 1; j++) {
if(array[j] > array[j + 1]) {
let swap = array[j];
array[j] = array[j + 1];
array[j + 1] = swap;
@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