UNPKG

@jimpick/dat-next

Version:

Dat is the package manager for data. Easily share and version control data.

48 lines (39 loc) 1.12 kB
var output = require('neat-log/output') var bar = require('progress-string') module.exports = networkUI function networkUI (state) { var stats = state.stats.get() var download = state.download if (!stats || !download) return '' var title = 'Downloading updates...' var downBar = makeBar() if (download.nsync) { if (state.opts.exit && state.dat.archive.version === 0) { return 'dat synced. There is no content in this archive.' } if (state.opts.exit && download.modified) { return `dat sync complete.\nVersion ${stats.version}` } if (!download.modified && state.opts.exit) { title = `dat already in sync, waiting for updates.` } else { title = `dat synced, waiting for updates.` } } if (!stats.downloaded || !stats.length) { return '' // no metadata yet } return output(` ${title} ${downBar(stats.downloaded)} `) function makeBar () { var total = stats.length return bar({ total: total, style: function (a, b) { return `[${a}${b}] ${(100 * stats.downloaded / total).toFixed(2)}%` } }) } }