on a64a26c help sign in
bridge/src/lib/lib.js
43 lines 799 B history raw
1import * as ob from 'urbit-ob'
3const compose = (...fs) => fs.reduceRight((pF, nF) => (...args) => nF(pF(...args)), v => v)
5const allFalse = (...args) => args.every(a => a === false);
7const isLast = (l, i) => i === l - 1;
9const isUndefined = v => v === undefined;
11const defaultTo = (v, d) => isUndefined(v) ? d : v;
13const seq = n => Array.from(Array(n), (_, i) => i);
15const fill = (n, v) => Array.from(Array(n), () => v);
17// Terse true/false checks
18const t = v => v === true;
20const f = v => v === false;
22const isValidGalaxy = name => {
23 let point
24 try {
25 point = parseInt(ob.patp2dec(name), 10)
26 } catch(err) {
27 return false
28 }
29 return point >= 0 && point < 256
32export {
33 compose,
34 allFalse,
35 isLast,
36 isUndefined,
37 defaultTo,
38 seq,
39 fill,
40 t,
41 f,
42 isValidGalaxy,