diff options
Diffstat (limited to 'app/client/util/index.js')
| -rw-r--r-- | app/client/util/index.js | 146 |
1 files changed, 5 insertions, 141 deletions
diff --git a/app/client/util/index.js b/app/client/util/index.js index c5eb8dd..a811dcf 100644 --- a/app/client/util/index.js +++ b/app/client/util/index.js @@ -1,7 +1,11 @@ import * as sort from './sort' +import * as format from './format' +import * as maths from './math' export { - sort + sort, + ...maths, + ...format, } export const is_iphone = !!((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) @@ -16,13 +20,6 @@ htmlClassList.remove('loading') // window.debug = false -export function clamp(n,a,b) { return n<a?a:n<b?n:b } -export function norm(n,a,b) { return (n-a) / (b-a) } -export function lerp(n,a,b) { return (b-a)*n+a } -export function mix(n,a,b) { return a*(1-n)+b*n } -export function randint(n) { return Math.floor(Math.random()*n) } -export function randrange(a,b){ return Math.random() * (b-a) + a } - document.body.style.backgroundImage = 'linear-gradient(' + (randint(40)+40) + 'deg, #fde, #ffe)' export const allProgress = (promises, progress_cb) => { @@ -37,136 +34,3 @@ export const allProgress = (promises, progress_cb) => { }) return Promise.all(promises) } - -export function timeInSeconds(n){ - return (n / 10).toFixed(1) + ' s.' -} -export function gerund(s){ - return s.replace(/e?$/, 'ing') -} -export function commatize (n, radix) { - radix = radix || 1024 - var nums = [], i, counter = 0, r = Math.floor - if (n > radix) { - n /= radix - nums.unshift(r((n * 10) % 10)) - nums.unshift(".") - } - do { - i = n % 10 - n = r(n / 10) - if (n && ! (++counter % 3)) - { i = ' ' + r(i) } - nums.unshift(r(i)) - } - while (n) - return nums.join("") -} -export function carbon_date (date, no_bold) { - var span = (+new Date() - new Date(date)) / 1000, color - if (! no_bold && span < 86400) // modified today - { color = "new" } - else if (span < 604800) // modifed this week - { color = "recent" } - else if (span < 1209600) // modifed 2 weeks ago - { color = "med" } - else if (span < 3024000) // modifed 5 weeks ago - { color = "old" } - else if (span < 12315200) // modifed 6 months ago - { color = "older" } - else - { color = "quiet" } - return color -} -export function hush_views (n, bias, no_bold) { - var txt = commatize(n, 1000) - bias = bias || 1 - n = n || 0 - if (n < 30) { return["quiet", n + " v."] } - if (n < 200) { return ["quiet", txt + " v."] } - else if (n < 500) { return ["quiet", txt + " v."] } - else if (n < 1000) { return ["old", txt + " v."] } - else if (n < 5000) { return ["med", txt + " kv."] } - else if (no_bold || n < 10000) { return ["recent", txt + " kv."] } - else { return ["new", txt + " kv."] } -} -export function hush_threads (n, bias, no_bold) { - var txt = commatize(n, 1000) - bias = bias || 1 - n = n || 0 - if (n < 10) { return["quiet", n + " t."] } - else if (n < 25) { return ["old", txt + " t."] } - else if (n < 50) { return ["med", txt + " t."] } - else if (no_bold || n < 100) { return ["recent", txt + " t."] } - else { return ["new", txt + " t."] } -} -export function hush_size (n, bias, no_bold) { - var txt = commatize(Math.round(n / 1024)) - bias = 1 || bias - n = n || 0 - if (! n) { return ['', ''] } - if (n < 1000) { - return ["quiet", n + " b."] - } - if (n < 1000000) { - return ["quiet", txt + " kb."] - } - else if (n < (20000000/bias)) { - return ["quiet", txt + " mb."] - } - else if (n < (50000000/bias)) { - return ["old", txt + " mb."] - } - else if (n < (80000000/bias)) { - return ["med", txt + " mb."] - } - else if (no_bold || n < (170000000/bias)) { - return ["recent", txt + " mb."] - } - else { - return ["new", txt + " mb."] - } -} -export function hush_null (n, unit, no_bold) { - var s = unit ? n + " " + unit + "." : n - if (n < 3) { - return ["quiet", s] - } - else if (n < 6) { - return ["older", s] - } - else if (n < 10) { - return ["old", s] - } - else if (n < 16) { - return ["med", s] - } - else if (no_bold || n < 21) { - return ["recent", s] - } - else { - return ["new", s] - } -} -export function get_age (t) { - var age = Math.abs(+Date.now() - new Date(t))/1000 - var r = Math.floor - var m - if (age < 5) { return "now" } - if (age < 60) { return r(age) + "s" } - age /= 60 - if (age < 60) { return r(age) + "m" } - m = r(age % 60) - age /= 60 - if (m > 0 && age < 2) { return r(age) + "h" + m + "m" } - if (age < 24) { return r(age) + "h" } - age /= 24 - if (age < 7) { return r(age) + "d" } - age /= 7 - if (age < 12) { return r(age) + "w" } - age /= 4 - if (age < 12) { return r(age) + "m" } - age /= 12 - return r(age) + "y" -} -export function courtesy_s (n, s) { return n == 1 ? "" : (s || "s") } |
