I hereby claim:
- I am slikts on github.
- I am slikts (https://keybase.io/slikts) on keybase.
- I have a public key ASADBAyX3ySALSbFLJAaG-CR7gVARLIAhfqxVgSX1RDCuwo
To claim this, I am signing this object:
const mapUntil = function*<T, K>( | |
fn: (a: T) => K, | |
p: (a: K) => boolean, | |
xs: T[] | |
): IterableIterator<K> { | |
for (const x of xs) { | |
const result = fn(x) | |
if (!p(result)) { | |
break | |
} |
const pipe = <A, B>( | |
iterable: IterableIterator<A>, | |
seed: B, | |
fn: (a: A) => B | |
): A => { | |
const iterator = iterable[Symbol.iterator]() | |
if (iterable instanceof GeneratorFunction) { | |
iterator.next() | |
} | |
let result = iterator.next(seed) |
const makeArray = (length, f) => Array.from({ length }, f); | |
const range = (a, b) => makeArray(Math.abs(b - a) + 1, (_, i) => a + (i * Math.sign(b - a))); |
const compose = (f, g) => a => f(g(a)); | |
const takeUntil = (f, xs) => xs.slice(0, xs.findIndex(f)); | |
const id = a => a; | |
const not = a => !a; | |
const takeWhile = (f, xs) => takeUntil(compose(not, f), xs); | |
const takeTruthy = xs => takeWhile(id, xs); |
I hereby claim:
To claim this, I am signing this object:
Verifying my Blockstack ID is secured with the address 1GypFJtCV2dG5kH8JWuCNNxE6ENLpRcEVu https://explorer.blockstack.org/address/1GypFJtCV2dG5kH8JWuCNNxE6ENLpRcEVu |
const numberToRawBinary = n => { | |
const data = new DataView(new ArrayBuffer(8)); | |
data.setFloat64(0, n); | |
return Array.from(new Uint8Array(data.buffer), x => | |
x.toString(2).padStart(8, 0) | |
).join(""); | |
}; |
const settle = ps => | |
Promise.all( | |
ps.map(async p => { | |
let [value, error, ok] = [null, null, false]; | |
try { | |
value = await p; | |
ok = true; | |
} catch (e) { | |
error = e; | |
} |
const zip = (xs, ys) => xs.slice(0, Math.min(xs.length, ys.length)).map((x, i) => [x, ys[i]]); |
const Delay = duration => new Promise(resolve => setTimeout(resolve, duration)) |