secure-scuttlebot classic
at main 735 B view raw
1var ref = require('ssb-ref') 2 3exports.name = 'blobs-size-fix' 4exports.version = '1.0.0' 5exports.manifest = {} 6 7exports.init = function (sbot, config) { 8 if (!sbot.blobs || typeof sbot.blobs.size !== 'function') return {} 9 10 var originalSize = sbot.blobs.size 11 12 sbot.blobs.size = function (id, cb) { 13 // Preserve legacy call style blobs.size(cb) 14 if (typeof id === 'function' && cb == null) { 15 return originalSize.call(this, id) 16 } 17 18 // Normal style: blobs.size(id, cb) with a single blob id 19 if (!ref.isBlob(id)) { 20 return cb(new Error('invalid id:' + id)) 21 } 22 23 sbot.blobs.meta(id, function (err, meta) { 24 if (err) return cb(err) 25 cb(null, meta ? meta.size : null) 26 }) 27 } 28 29 return {} 30} 31