Commit 36227b9a6794632411dc1e0feb5c7617389106fd
add getAtSequence and getVectorClock
Dominic Tarr committed on 4/4/2017, 10:23:41 AMParent: 6960c89edc86ecb7f519c14ff1743fb4628fcee9
Files changed
index.js | changed |
index.js | ||
---|---|---|
@@ -86,15 +86,19 @@ | ||
86 | 86 … | |
87 | 87 … | var _get = db.get |
88 | 88 … | |
89 | 89 … | db.get = function (key, cb) { |
90 | - if(ref.isMsg(key)) return db.keys.get(key, function (err, seq) { | |
91 | - if(err) cb(err) | |
92 | - else _get(seq, function (err, data) { | |
90 … | + if(ref.isMsg(key)) | |
91 … | + return db.keys.get(key, function (err, seq) { | |
93 | 92 … | if(err) cb(err) |
94 | - else cb(err, data && data.value) | |
93 … | +// else if(Number.isInteger(seq)) _get(seq, function (err, data) { | |
94 … | +// if(err) cb(err) | |
95 … | +// else cb(err, data && data.value) | |
96 … | +// }) | |
97 … | + else | |
98 … | + cb(err, seq && seq.value) | |
95 | 99 … | }) |
96 | - }) | |
100 … | +// else cb(null, seq) | |
97 | 101 … | else _get(key, cb) //seq |
98 | 102 … | } |
99 | 103 … | |
100 | 104 … | db.add = Validator(db, opts) |
@@ -183,9 +187,9 @@ | ||
183 | 187 … | return db.stream() |
184 | 188 … | |
185 | 189 … | var keys = opts.keys; delete opts.keys |
186 | 190 … | var values = opts.values; delete opts.values |
187 | - return pull(db.time.read(opts), /*pull.through(console.log), */Format(keys, values)) | |
191 … | + return pull(db.time.read(opts), Format(keys, values)) | |
188 | 192 … | } |
189 | 193 … | |
190 | 194 … | db.messagesByType = db.links.messagesByType |
191 | 195 … | |
@@ -196,7 +200,24 @@ | ||
196 | 200 … | //get all messages that link to a given message. |
197 | 201 … | |
198 | 202 … | db.relatedMessages = Related(db) |
199 | 203 … | |
204 … | + //called with [id, seq] or "<id>:<seq>" | |
205 … | + db.getAtSequence = function (seqid, cb) { | |
206 … | + db.clock.get(isString(seqid) ? seqid.split(':') : seqid, cb) | |
207 … | + } | |
208 … | + | |
209 … | + db.getVectorClock = function (_, cb) { | |
210 … | + if(!cb) cb = _ | |
211 … | + db.last.get(function (err, h) { | |
212 … | + if(err) return cb(err) | |
213 … | + var clock = {} | |
214 … | + for(var k in h) | |
215 … | + clock[k] = h[k].sequence | |
216 … | + cb(null, clock) | |
217 … | + }) | |
218 … | + | |
219 … | + } | |
220 … | + | |
200 | 221 … | return db |
201 | 222 … | } |
202 | 223 … |
Built with git-ssb-web