Example #1
0
        ite.next(function (err, key, value) {
          if (err) return cb(err)
          if (!key) return end(ite, cb)

          key = key.toString()

          var i = key.lastIndexOf('!')
          var index = lexint.unpack(key.slice(i + 1), 'hex')
          var j = key.lastIndexOf('!', i - 1)
          var change = lexint.unpack(key.slice(j + 1, i), 'hex')

          var dbKey = value.toString()
          i = dbKey.lastIndexOf('!', dbKey.lastIndexOf('!') - 1)
          j = dbKey.lastIndexOf('!', i - 1)

          down.get(dbKey, function (err, val) {
            if (err) return cb(err)

            cb(null, {
              change: change,
              index: index,
              key: dbKey.slice(j + 1, i),
              value: deleted(val) ? null : val
            })
          })
        })
Example #2
0
// example: ÿdÿffe33ee5ÿrÿfc0148ÿsÿ01
function decodeKey(key) {
  var parts = key.split('ÿ')
  var revs = parts[4].split('-')
  return {
    '_id': parts[2],
    '_rev': lexint.unpack(revs[0], 'hex') + '-' + revs[1],
    '_seq': lexint.unpack(parts[6], 'hex')
  }
}
Example #3
0
    function(data, enc, cb) {
      var key = data.slice(self.prefix.length)
      var peer = key.slice(0, key.indexOf('!'))
      var seq = lexint.unpack(key.slice(peer.length+1), 'hex')

      cb(null, {peer:peer, seq:seq})
    }
Example #4
0
 collect(db.createKeyStream({gt: CHANGES, lt: CHANGES + '~', reverse: true, limit: 1}), function (_, keys) {
   self.changes = Math.max(self.changes, keys && keys.length ? lexint.unpack(keys[0].split('!').pop(), 'hex') : 0)
   if (self.id) return release()
   getId(function (_, id) {
     self.id = id || cuid()
     release()
   })
 })
Example #5
0
 db.createReadStream(opts).pipe(through(function (row) {
     var sp = row.key.split('!');
     var doc = {
         user: sp[0],
         time: lexi.unpack(sp[1]),
         timetext: row.value.time,
         text: row.value.text
     };
     this.queue(JSON.stringify(doc) + '\n');
 })).pipe(res);
Example #6
0
function unpack(val) {
  if (typeof val === 'undefined') throw new Error('cannot unpack undefined value')
  return lexint.unpack(val, 'hex')
}
Example #7
0
var unpack = function(n) {
  return lexint.unpack(n, 'hex')
}
Example #8
0
 collect(rs, function(err, keys) {
   if (err) return cb(err)
   if (!keys.length) return cb(null, 0)
   cb(null, lexint.unpack(keys[0].slice(keys[0].lastIndexOf('!')+1), 'hex'))
 })  
Example #9
0
 ite.end(function () {
   if (err) return cb(err)
   that.changes = key ? lexint.unpack(key.toString().slice(pf.length + 'changes!'.length).split('!')[0], 'hex') : 0
   cb(null, db.db, db)
 })