Skip to content

Instantly share code, notes, and snippets.

@alexeygolev
alexeygolev / compose.js.flow
Created May 9, 2016 23:16
flowtype compose
type ComposeFn<V0,V1,V2,T1,T2,T3,T4,T5,T6> =
& ( <V0,V1,V2,T1,T2,T3,T4,T5,T6>( fn5:(x: T5) => T6, fn4: (x: T4) => T5, fn3: (x: T3) => T4, fn2: (x: T2) => T3, fn1: (x: T1) => T2, fn0: (x0: V0, x1: V1, x2: V2) => T1, $?: null) => (x0: V0, x1: V1, x2: V2) => T6 )
& ( <V0,V1,T1,T2,T3,T4,T5,T6>( fn5:(x: T5) => T6, fn4: (x: T4) => T5, fn3: (x: T3) => T4, fn2: (x: T2) => T3, fn1: (x: T1) => T2, fn0: (x0: V0, x1: V1) => T1, $?: null) => (x0: V0, x1: V1) => T6 )
& ( <V0,T1,T2,T3,T4,T5,T6>( fn5:(x: T5) => T6, fn4: (x: T4) => T5, fn3: (x: T3) => T4, fn2: (x: T2) => T3, fn1: (x: T1) => T2, fn0: (x0: V0) => T1, $?: null) => (x0: V0) => T6 )
& ( <V0,V1,V2,T1,T2,T3,T4,T5>( fn4: (x: T4) => T5, fn3: (x: T3) => T4, fn2: (x: T2) => T3, fn1: (x: T1) => T2, fn0: (x0: V0, x1: V1, x2: V2) => T1, $?: null) => (x0: V0, x1: V1, x2: V2) => T5 )
& ( <V0,V1,T1,T2,T3,T4,T5>( fn4: (x: T4) => T5, fn3: (x: T3) => T4, fn2: (x: T2) => T3, fn1: (x: T1) => T2, fn0: (x0: V0, x1: V1) => T1, $?: null) => (x0: V0, x1: V1) => T5 )
& ( <V0,T1,T2,T3,T4
@alexeygolev
alexeygolev / convert.js
Last active May 17, 2016 09:10
convertFromHtml in node
const jsdom = require('jsdom').jsdom
const fs = require('fs')
const path = require('path')
const {
ContentState,
convertToRaw,
convertFromRaw,
} = require('draft-js')
const React = fs.readFileSync(path.join(__dirname, '../node_modules/react/dist/react.js'))
@alexeygolev
alexeygolev / add1.js
Last active July 29, 2016 21:57
simple add
function add1(xs) {
let idx = 0
let result = []
while (idx < xs.length) {
result[idx] = xs[idx] + 1
idx = idx + 1
}
return result
}
function toStrings(xs) {
let idx = 0
let result = []
while (idx < xs.length) {
result[idx] = xs[idx].toString()
idx = idx + 1
}
return result
}
function toHexs(xs) {
let idx = 0
let result = []
while (idx < xs.length) {
result[idx] = xs[idx].toString(16)
idx = idx + 1
}
return result
}
@alexeygolev
alexeygolev / people.js
Created July 29, 2016 21:59
simple-people
const people = [
{ name: 'John', surname: 'Garry' },
{ name: 'Bambi', surname: 'Pinkman' },
{ name: 'Gina', surname: 'JustGina' },
]
function getNames(xs) {
let idx = 0
let result = []
while (idx < xs.length) {
result[idx] = xs[idx].name
idx = idx + 1
}
return result
}