segundo commit
This commit is contained in:
parent
6b8b75863a
commit
d2e79d63a5
13601 changed files with 1117197 additions and 0 deletions
10
node_modules/ssb-server/lib/cli-cmd-aliases.js
generated
vendored
Normal file
10
node_modules/ssb-server/lib/cli-cmd-aliases.js
generated
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
module.exports = {
|
||||
feed: 'createFeedStream',
|
||||
history: 'createHistoryStream',
|
||||
hist: 'createHistoryStream',
|
||||
public: 'getPublicKey',
|
||||
pub: 'getPublicKey',
|
||||
log: 'createLogStream',
|
||||
logt: 'messagesByType',
|
||||
conf: 'config'
|
||||
}
|
||||
47
node_modules/ssb-server/lib/progress.js
generated
vendored
Normal file
47
node_modules/ssb-server/lib/progress.js
generated
vendored
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
//poll the progress() function and report how much waiting there is...
|
||||
//just whipped this up, obviously room for improvement here.
|
||||
module.exports = function (progress) {
|
||||
function bar (r) {
|
||||
var s = '\r', M = 50
|
||||
for(var i = 0; i < M; i++)
|
||||
s += i < M*r ? '*' : '.'
|
||||
|
||||
return s
|
||||
}
|
||||
|
||||
function round (n, p) {
|
||||
return Math.round(n * p) / p
|
||||
}
|
||||
|
||||
function percent (n) {
|
||||
return (round(n, 1000)*100).toString().substring(0, 4)+'%'
|
||||
}
|
||||
|
||||
function rate (prog) {
|
||||
if(prog.target == prog.current) return 1
|
||||
return (prog.current - prog.start) / (prog.target - prog.start)
|
||||
}
|
||||
|
||||
var prog = -1
|
||||
var int = setInterval(function () {
|
||||
var p = progress()
|
||||
var r = 1, c = 0
|
||||
var tasks = []
|
||||
for(var k in p) {
|
||||
var _r = rate(p[k])
|
||||
if(_r < 1)
|
||||
tasks.push(k+':'+percent(_r))
|
||||
r = Math.min(_r, r)
|
||||
c++
|
||||
}
|
||||
if(r != prog) {
|
||||
prog = r
|
||||
var msg = tasks.join(', ')
|
||||
process.stdout.write('\r'+bar(prog) + ' ('+msg+')\x1b[K\r')
|
||||
}
|
||||
}, 333)
|
||||
int.unref && int.unref()
|
||||
}
|
||||
|
||||
|
||||
|
||||
239
node_modules/ssb-server/lib/validators.js
generated
vendored
Normal file
239
node_modules/ssb-server/lib/validators.js
generated
vendored
Normal file
|
|
@ -0,0 +1,239 @@
|
|||
var valid = require('muxrpc-validation')
|
||||
var zerr = require('zerr')
|
||||
var ref = require('ssb-ref')
|
||||
|
||||
// errors
|
||||
var MissingAttr = zerr('Usage', 'Param % must have a .% of type "%"')
|
||||
var AttrType = zerr('Usage', '.% of param % must be of type "%"')
|
||||
|
||||
function isFilter (v) {
|
||||
return (v == '@' || v == '%' || v == '&')
|
||||
}
|
||||
|
||||
module.exports = valid({
|
||||
msgId: function (v) {
|
||||
if (!ref.isMsg(v))
|
||||
return 'type'
|
||||
},
|
||||
msgLink: function (v) {
|
||||
if (!ref.isMsgLink(v))
|
||||
return 'type'
|
||||
},
|
||||
feedId: function (v) {
|
||||
if (!ref.isFeed(v))
|
||||
return 'type'
|
||||
},
|
||||
blobId: function (v) {
|
||||
if (!ref.isBlob(v))
|
||||
return 'type'
|
||||
},
|
||||
|
||||
msgContent: function (v, n) {
|
||||
var err = this.get('object')(v, n)
|
||||
if (err) return err
|
||||
if (!v.type || typeof v.type != 'string')
|
||||
return MissingAttr(n, 'type', 'string')
|
||||
},
|
||||
|
||||
msg: function (v, n) {
|
||||
var err = this.get('object')(v, n)
|
||||
if (err)
|
||||
return err
|
||||
|
||||
//allow content to be string. (i.e. for encrypted messages)
|
||||
//or object with type string
|
||||
if(!v.content)
|
||||
return MissingAttr(n, 'content', 'object|string')
|
||||
else if(typeof v.content === 'string')
|
||||
; //check if it's base64?
|
||||
else if('object' === typeof v.content) {
|
||||
if(!v.content.type || typeof v.content.type != 'string')
|
||||
return MissingAttr(n, 'content.type', 'string')
|
||||
}
|
||||
else
|
||||
return MissingAttr(n, 'content', 'object|string')
|
||||
|
||||
// .author
|
||||
if (!ref.isFeed(v.author))
|
||||
return MissingAttr(n, 'author', 'feedId')
|
||||
|
||||
// .sequence
|
||||
if (typeof v.sequence != 'number')
|
||||
return MissingAttr(n, 'sequence', 'number')
|
||||
|
||||
// .previous
|
||||
if (v.sequence > 1 && !ref.isMsg(v.previous))
|
||||
return MissingAttr(n, 'previous', 'msgId')
|
||||
else if(v.sequence == 1 && v.previous != null)
|
||||
return MissingAttr(n, 'previous', 'null')
|
||||
|
||||
// .timestamp
|
||||
if (typeof v.timestamp != 'number')
|
||||
return MissingAttr(n, 'timestamp', 'number')
|
||||
|
||||
// .hash
|
||||
if (v.hash != 'sha256')
|
||||
return zerr('Usage', 'Param % must have .hash set to "sha256"')(n)
|
||||
|
||||
// .signature
|
||||
if (typeof v.signature != 'string')
|
||||
return MissingAttr(n, 'signature', 'string')
|
||||
},
|
||||
|
||||
readStreamOpts: function (v, n) {
|
||||
var err = this.get('object')(v, n)
|
||||
if (err)
|
||||
return err
|
||||
|
||||
// .live
|
||||
if (v.live && typeof v.live != 'boolean' && typeof v.live != 'number')
|
||||
return AttrType(n, 'live', 'boolean')
|
||||
|
||||
// .reverse
|
||||
if (v.reverse && typeof v.reverse != 'boolean' && typeof v.reverse != 'number')
|
||||
return AttrType(n, 'reverse', 'boolean')
|
||||
|
||||
// .keys
|
||||
if (v.keys && typeof v.keys != 'boolean' && typeof v.keys != 'number')
|
||||
return AttrType(n, 'keys', 'boolean')
|
||||
|
||||
// .values
|
||||
if (v.values && typeof v.values != 'boolean' && typeof v.values != 'number')
|
||||
return AttrType(n, 'values', 'boolean')
|
||||
|
||||
// .limit
|
||||
if (v.limit && typeof v.limit != 'number')
|
||||
return AttrType(n, 'limit', 'number')
|
||||
|
||||
// .fillCache
|
||||
if (v.fillCache && typeof v.fillCache != 'boolean' && typeof v.fillCache != 'number')
|
||||
return AttrType(n, 'fillCache', 'boolean')
|
||||
},
|
||||
|
||||
createHistoryStreamOpts: function (v, n) {
|
||||
// .id
|
||||
if (!ref.isFeed(v.id))
|
||||
return MissingAttr(n, 'id', 'feedId')
|
||||
|
||||
// .seq
|
||||
if (v.seq && typeof v.seq != 'number')
|
||||
return AttrType(n, 'seq', 'number')
|
||||
|
||||
// .live
|
||||
if (v.live && typeof v.live != 'boolean' && typeof v.live != 'number')
|
||||
return AttrType(n, 'live', 'boolean')
|
||||
|
||||
// .limit
|
||||
if (v.limit && typeof v.limit != 'number')
|
||||
return AttrType(n, 'limit', 'number')
|
||||
|
||||
// .keys
|
||||
if (v.keys && typeof v.keys != 'boolean' && typeof v.keys != 'number')
|
||||
return AttrType(n, 'keys', 'boolean')
|
||||
|
||||
// .values
|
||||
if (v.values && typeof v.values != 'boolean' && typeof v.values != 'number')
|
||||
return AttrType(n, 'values', 'boolean')
|
||||
},
|
||||
|
||||
createUserStreamOpts: function (v, n) {
|
||||
var err = this.get('readStreamOpts')(v, n)
|
||||
if (err)
|
||||
return err
|
||||
|
||||
// .id
|
||||
if (!ref.isFeed(v.id))
|
||||
return MissingAttr(n, 'id', 'feedId')
|
||||
},
|
||||
|
||||
messagesByTypeOpts: function (v, n) {
|
||||
var err = this.get('readStreamOpts')(v, n)
|
||||
if (err)
|
||||
return err
|
||||
|
||||
// .type
|
||||
if (typeof v.type != 'string')
|
||||
return MissingAttr(n, 'type', 'string')
|
||||
},
|
||||
|
||||
linksOpts: function (v, n) {
|
||||
var err = this.get('object')(v, n)
|
||||
if (err)
|
||||
return err
|
||||
|
||||
// .source
|
||||
if (v.source && !ref.isLink(v.source) && !isFilter(v.source))
|
||||
return AttrType(n, 'source', 'id|filter')
|
||||
|
||||
// .dest
|
||||
if (v.dest && !ref.isLink(v.dest) && !isFilter(v.dest))
|
||||
return AttrType(n, 'dest', 'id|filter')
|
||||
|
||||
// .rel
|
||||
if (v.rel && typeof v.rel != 'string')
|
||||
return AttrType(n, 'rel', 'string')
|
||||
|
||||
// .live
|
||||
if (v.live && typeof v.live != 'boolean' && typeof v.live != 'number')
|
||||
return AttrType(n, 'live', 'boolean')
|
||||
|
||||
// .reverse
|
||||
if (v.reverse && typeof v.reverse != 'boolean' && typeof v.reverse != 'number')
|
||||
return AttrType(n, 'reverse', 'boolean')
|
||||
|
||||
// .keys
|
||||
if (v.keys && typeof v.keys != 'boolean' && typeof v.keys != 'number')
|
||||
return AttrType(n, 'keys', 'boolean')
|
||||
|
||||
// .values
|
||||
if (v.values && typeof v.values != 'boolean' && typeof v.values != 'number')
|
||||
return AttrType(n, 'values', 'boolean')
|
||||
},
|
||||
|
||||
isBlockedOpts: function (v, n) {
|
||||
var err = this.get('object')(v, n)
|
||||
if (err)
|
||||
return err
|
||||
|
||||
// .source
|
||||
if (v.source && !ref.isFeed(v.source))
|
||||
return AttrType(n, 'source', 'feedId')
|
||||
|
||||
// .dest
|
||||
if (v.dest && !ref.isFeed(v.dest))
|
||||
return AttrType(n, 'dest', 'feedId')
|
||||
},
|
||||
|
||||
createFriendStreamOpts: function (v, n) {
|
||||
var err = this.get('object')(v, n)
|
||||
if (err)
|
||||
return err
|
||||
|
||||
// .start
|
||||
if (v.start && !ref.isFeed(v.start))
|
||||
return AttrType(n, 'start', 'feedId')
|
||||
|
||||
// .graph
|
||||
if (v.graph && typeof v.graph != 'string')
|
||||
return AttrType(n, 'graph', 'string')
|
||||
|
||||
// .dunbar
|
||||
if (v.dunbar && typeof v.dunbar != 'number')
|
||||
return AttrType(n, 'dunbar', 'number')
|
||||
|
||||
// .hops
|
||||
if (v.hops && typeof v.hops != 'number')
|
||||
return AttrType(n, 'hops', 'number')
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue