mirror of
https://github.com/orbitdb/orbitdb.git
synced 2025-10-07 22:57:07 +00:00
refactor: Return hash. (#44)
This commit is contained in:
@@ -37,7 +37,7 @@ const DocumentStore = async ({ OpLog, Database, ipfs, identity, address, name, a
|
||||
*/
|
||||
const get = async (key) => {
|
||||
for await (const doc of iterator()) {
|
||||
if (key === doc[indexBy]) {
|
||||
if (key === doc.key) {
|
||||
return doc
|
||||
}
|
||||
}
|
||||
@@ -53,8 +53,8 @@ const DocumentStore = async ({ OpLog, Database, ipfs, identity, address, name, a
|
||||
const results = []
|
||||
|
||||
for await (const doc of iterator()) {
|
||||
if (findFn(doc)) {
|
||||
results.push(doc)
|
||||
if (findFn(doc.value)) {
|
||||
results.push(doc.value)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,7 +69,8 @@ const DocumentStore = async ({ OpLog, Database, ipfs, identity, address, name, a
|
||||
if (op === 'PUT' && !keys[key]) {
|
||||
keys[key] = true
|
||||
count++
|
||||
yield value
|
||||
const hash = entry.hash
|
||||
yield { hash, key, value }
|
||||
} else if (op === 'DEL' && !keys[key]) {
|
||||
keys[key] = true
|
||||
}
|
||||
|
||||
@@ -19,7 +19,9 @@ const Events = async ({ OpLog, Database, ipfs, identity, address, name, accessCo
|
||||
const iterator = async function * ({ gt, gte, lt, lte, amount } = {}) {
|
||||
const it = log.iterator({ gt, gte, lt, lte, amount })
|
||||
for await (const event of it) {
|
||||
yield event.payload.value
|
||||
const hash = event.hash
|
||||
const value = event.payload.value
|
||||
yield { hash, value }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -44,8 +44,8 @@ const KeyValuePersisted = async ({ OpLog, Database, ipfs, identity, address, nam
|
||||
|
||||
const iterator = async function * ({ amount } = {}) {
|
||||
await queue.onIdle()
|
||||
for await (const { key, value } of keyValueStore.iterator({ amount })) {
|
||||
yield { key, value }
|
||||
for await (const { hash, key, value } of keyValueStore.iterator({ amount })) {
|
||||
yield { hash, key, value }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,8 @@ const KeyValue = async ({ OpLog, Database, ipfs, identity, address, name, access
|
||||
if (op === 'PUT' && !keys[key]) {
|
||||
keys[key] = true
|
||||
count++
|
||||
yield { key, value }
|
||||
const hash = entry.hash
|
||||
yield { hash, key, value }
|
||||
} else if (op === 'DEL' && !keys[key]) {
|
||||
keys[key] = true
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ describe('DocumentStore Database', function () {
|
||||
await db.put(expected)
|
||||
|
||||
const doc = await db.get(key)
|
||||
deepStrictEqual(doc, expected)
|
||||
deepStrictEqual(doc.value, expected)
|
||||
})
|
||||
|
||||
it('throws an error when putting a document with the wrong key', async () => {
|
||||
@@ -173,7 +173,7 @@ describe('DocumentStore Database', function () {
|
||||
await db.put(expected)
|
||||
|
||||
const doc = await db.get(key)
|
||||
deepStrictEqual(doc, expected)
|
||||
deepStrictEqual(doc.value, expected)
|
||||
})
|
||||
|
||||
it('deletes a document', async () => {
|
||||
|
||||
@@ -95,7 +95,7 @@ describe('EventStore Database', function () {
|
||||
|
||||
const all = await db.all()
|
||||
|
||||
deepStrictEqual(all, events)
|
||||
deepStrictEqual(all.map(e => e.value), events)
|
||||
})
|
||||
|
||||
describe('Iterator Options', () => {
|
||||
@@ -118,7 +118,7 @@ describe('EventStore Database', function () {
|
||||
}
|
||||
|
||||
strictEqual(all.length, 1)
|
||||
deepStrictEqual(all, expected)
|
||||
deepStrictEqual(all.map(e => e.value), expected)
|
||||
})
|
||||
|
||||
it('returns two items', async () => {
|
||||
@@ -130,7 +130,7 @@ describe('EventStore Database', function () {
|
||||
}
|
||||
|
||||
strictEqual(all.length, 2)
|
||||
deepStrictEqual(all, expected)
|
||||
deepStrictEqual(all.map(e => e.value), expected)
|
||||
})
|
||||
|
||||
it('returns three items', async () => {
|
||||
@@ -142,7 +142,7 @@ describe('EventStore Database', function () {
|
||||
}
|
||||
|
||||
strictEqual(all.length, 3)
|
||||
deepStrictEqual(all, expected)
|
||||
deepStrictEqual(all.map(e => e.value), expected)
|
||||
})
|
||||
|
||||
it('sets \'amount\' greater than items available', async () => {
|
||||
@@ -154,7 +154,7 @@ describe('EventStore Database', function () {
|
||||
}
|
||||
|
||||
strictEqual(all.length, 5)
|
||||
deepStrictEqual(all, expected)
|
||||
deepStrictEqual(all.map(e => e.value), expected)
|
||||
})
|
||||
|
||||
it('sets \'amount\' to 0', async () => {
|
||||
@@ -166,7 +166,7 @@ describe('EventStore Database', function () {
|
||||
}
|
||||
|
||||
strictEqual(all.length, 0)
|
||||
deepStrictEqual(all, expected)
|
||||
deepStrictEqual(all.map(e => e.value), expected)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -180,7 +180,7 @@ describe('EventStore Database', function () {
|
||||
}
|
||||
|
||||
strictEqual(all.length, 4)
|
||||
deepStrictEqual(all, expected)
|
||||
deepStrictEqual(all.map(e => e.value), expected)
|
||||
})
|
||||
|
||||
it('returns one item less than head', async () => {
|
||||
@@ -192,7 +192,7 @@ describe('EventStore Database', function () {
|
||||
}
|
||||
|
||||
strictEqual(all.length, 1)
|
||||
deepStrictEqual(all, expected)
|
||||
deepStrictEqual(all.map(e => e.value), expected)
|
||||
})
|
||||
|
||||
it('returns two items less than head', async () => {
|
||||
@@ -204,7 +204,7 @@ describe('EventStore Database', function () {
|
||||
}
|
||||
|
||||
strictEqual(all.length, 2)
|
||||
deepStrictEqual(all, expected)
|
||||
deepStrictEqual(all.map(e => e.value), expected)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -218,7 +218,7 @@ describe('EventStore Database', function () {
|
||||
}
|
||||
|
||||
strictEqual(all.length, 5)
|
||||
deepStrictEqual(all, expected)
|
||||
deepStrictEqual(all.map(e => e.value), expected)
|
||||
})
|
||||
|
||||
it('returns one item less than or equal to head', async () => {
|
||||
@@ -230,7 +230,7 @@ describe('EventStore Database', function () {
|
||||
}
|
||||
|
||||
strictEqual(all.length, 1)
|
||||
deepStrictEqual(all, expected)
|
||||
deepStrictEqual(all.map(e => e.value), expected)
|
||||
})
|
||||
|
||||
it('returns two items less than or equal to head', async () => {
|
||||
@@ -242,7 +242,7 @@ describe('EventStore Database', function () {
|
||||
}
|
||||
|
||||
strictEqual(all.length, 2)
|
||||
deepStrictEqual(all, expected)
|
||||
deepStrictEqual(all.map(e => e.value), expected)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -256,7 +256,7 @@ describe('EventStore Database', function () {
|
||||
}
|
||||
|
||||
strictEqual(all.length, 4)
|
||||
deepStrictEqual(all, expected)
|
||||
deepStrictEqual(all.map(e => e.value), expected)
|
||||
})
|
||||
|
||||
it('returns one item greater than root', async () => {
|
||||
@@ -268,7 +268,7 @@ describe('EventStore Database', function () {
|
||||
}
|
||||
|
||||
strictEqual(all.length, 1)
|
||||
deepStrictEqual(all, expected)
|
||||
deepStrictEqual(all.map(e => e.value), expected)
|
||||
})
|
||||
|
||||
it('returns two items greater than root', async () => {
|
||||
@@ -280,7 +280,7 @@ describe('EventStore Database', function () {
|
||||
}
|
||||
|
||||
strictEqual(all.length, 2)
|
||||
deepStrictEqual(all, expected)
|
||||
deepStrictEqual(all.map(e => e.value), expected)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -294,7 +294,7 @@ describe('EventStore Database', function () {
|
||||
}
|
||||
|
||||
strictEqual(all.length, 5)
|
||||
deepStrictEqual(all, expected)
|
||||
deepStrictEqual(all.map(e => e.value), expected)
|
||||
})
|
||||
|
||||
it('returns one item greater than or equal to root', async () => {
|
||||
@@ -306,7 +306,7 @@ describe('EventStore Database', function () {
|
||||
}
|
||||
|
||||
strictEqual(all.length, 1)
|
||||
deepStrictEqual(all, expected)
|
||||
deepStrictEqual(all.map(e => e.value), expected)
|
||||
})
|
||||
|
||||
it('returns two items greater than or equal to root', async () => {
|
||||
@@ -318,7 +318,7 @@ describe('EventStore Database', function () {
|
||||
}
|
||||
|
||||
strictEqual(all.length, 2)
|
||||
deepStrictEqual(all, expected)
|
||||
deepStrictEqual(all.map(e => e.value), expected)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -332,7 +332,7 @@ describe('EventStore Database', function () {
|
||||
}
|
||||
|
||||
strictEqual(all.length, 3)
|
||||
deepStrictEqual(all, expected)
|
||||
deepStrictEqual(all.map(e => e.value), expected)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
@@ -173,13 +173,13 @@ describe('KeyValuePersisted Database', function () {
|
||||
|
||||
it('returns all key/value pairs', async () => {
|
||||
const keyvalue = [
|
||||
{ key: 'key1', value: 'init' },
|
||||
{ key: 'key2', value: true },
|
||||
{ key: 'key3', value: 'hello' },
|
||||
{ key: 'key4', value: 'friend' },
|
||||
{ key: 'key5', value: '12345' },
|
||||
{ key: 'key6', value: 'empty' },
|
||||
{ key: 'key7', value: 'friend33' }
|
||||
{ hash: 'zdpuAm6QEA29wFnd6re7X2XWe7AmrzVbsvdHhSPXci2CqXryw', key: 'key1', value: 'init' },
|
||||
{ hash: 'zdpuAvfTQwogEAhEaAtb85ugEzxvfDVUnALoZeNbrz3s4jMYd', key: 'key2', value: true },
|
||||
{ hash: 'zdpuB2CBCwvPBdHjZRKfFtL5JuDo9sc5QinKhbtYu1YkCLq22', key: 'key3', value: 'hello' },
|
||||
{ hash: 'zdpuAyWWtvFfxKWMcV3NJ7XXbjiQC6MkA8h6TrhFA2ihLrt82', key: 'key4', value: 'friend' },
|
||||
{ hash: 'zdpuB2Z5coKXGMAZtb7X8UQYgo6vWAP4VshBvE4xwBCrR5Laa', key: 'key5', value: '12345' },
|
||||
{ hash: 'zdpuAnn2kuStzcTCJ5ULMxCvB7RtgAScJPmg3YAVYju4oPEtC', key: 'key6', value: 'empty' },
|
||||
{ hash: 'zdpuAv1jSFz4GHRieAXGvRGnVWdEdxDp2HefREoTJJWYC8Zqw', key: 'key7', value: 'friend33' }
|
||||
]
|
||||
|
||||
for (const { key, value } of Object.values(keyvalue)) {
|
||||
|
||||
@@ -165,13 +165,13 @@ describe('KeyValue Database', function () {
|
||||
|
||||
it('returns all key/value pairs', async () => {
|
||||
const keyvalue = [
|
||||
{ key: 'key1', value: 'init' },
|
||||
{ key: 'key2', value: true },
|
||||
{ key: 'key3', value: 'hello' },
|
||||
{ key: 'key4', value: 'friend' },
|
||||
{ key: 'key5', value: '12345' },
|
||||
{ key: 'key6', value: 'empty' },
|
||||
{ key: 'key7', value: 'friend33' }
|
||||
{ hash: 'zdpuAm6QEA29wFnd6re7X2XWe7AmrzVbsvdHhSPXci2CqXryw', key: 'key1', value: 'init' },
|
||||
{ hash: 'zdpuAvfTQwogEAhEaAtb85ugEzxvfDVUnALoZeNbrz3s4jMYd', key: 'key2', value: true },
|
||||
{ hash: 'zdpuB2CBCwvPBdHjZRKfFtL5JuDo9sc5QinKhbtYu1YkCLq22', key: 'key3', value: 'hello' },
|
||||
{ hash: 'zdpuAyWWtvFfxKWMcV3NJ7XXbjiQC6MkA8h6TrhFA2ihLrt82', key: 'key4', value: 'friend' },
|
||||
{ hash: 'zdpuB2Z5coKXGMAZtb7X8UQYgo6vWAP4VshBvE4xwBCrR5Laa', key: 'key5', value: '12345' },
|
||||
{ hash: 'zdpuAnn2kuStzcTCJ5ULMxCvB7RtgAScJPmg3YAVYju4oPEtC', key: 'key6', value: 'empty' },
|
||||
{ hash: 'zdpuAv1jSFz4GHRieAXGvRGnVWdEdxDp2HefREoTJJWYC8Zqw', key: 'key7', value: 'friend33' }
|
||||
]
|
||||
|
||||
for (const { key, value } of Object.values(keyvalue)) {
|
||||
|
||||
@@ -125,10 +125,10 @@ describe('Events Database Replication', function () {
|
||||
for await (const event of db2.iterator()) {
|
||||
all2.unshift(event)
|
||||
}
|
||||
deepStrictEqual(all2, expected)
|
||||
deepStrictEqual(all2.map(e => e.value), expected)
|
||||
|
||||
const all1 = await db2.all()
|
||||
deepStrictEqual(all1, expected)
|
||||
deepStrictEqual(all1.map(e => e.value), expected)
|
||||
})
|
||||
|
||||
it('loads the database after replication', async () => {
|
||||
@@ -179,9 +179,9 @@ describe('Events Database Replication', function () {
|
||||
for await (const event of db2.iterator()) {
|
||||
all2.unshift(event)
|
||||
}
|
||||
deepStrictEqual(all2, expected)
|
||||
deepStrictEqual(all2.map(e => e.value), expected)
|
||||
|
||||
const all1 = await db2.all()
|
||||
deepStrictEqual(all1, expected)
|
||||
deepStrictEqual(all1.map(e => e.value), expected)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -126,7 +126,7 @@ describe('KeyValue Database Replication', function () {
|
||||
for await (const keyValue of kv2.iterator()) {
|
||||
all2.push(keyValue)
|
||||
}
|
||||
deepStrictEqual(all2, [
|
||||
deepStrictEqual(all2.map(e => { return { key: e.key, value: e.value } }), [
|
||||
{ key: 'hello', value: 'friend3' },
|
||||
{ key: 'init', value: true }
|
||||
])
|
||||
@@ -135,7 +135,7 @@ describe('KeyValue Database Replication', function () {
|
||||
for await (const keyValue of kv1.iterator()) {
|
||||
all1.push(keyValue)
|
||||
}
|
||||
deepStrictEqual(all1, [
|
||||
deepStrictEqual(all1.map(e => { return { key: e.key, value: e.value } }), [
|
||||
{ key: 'hello', value: 'friend3' },
|
||||
{ key: 'init', value: true }
|
||||
])
|
||||
@@ -200,7 +200,7 @@ describe('KeyValue Database Replication', function () {
|
||||
for await (const keyValue of kv2.iterator()) {
|
||||
all2.push(keyValue)
|
||||
}
|
||||
deepStrictEqual(all2, [
|
||||
deepStrictEqual(all2.map(e => { return { key: e.key, value: e.value } }), [
|
||||
{ key: 'hello', value: 'friend3' },
|
||||
{ key: 'init', value: true }
|
||||
])
|
||||
@@ -209,7 +209,7 @@ describe('KeyValue Database Replication', function () {
|
||||
for await (const keyValue of kv1.iterator()) {
|
||||
all1.push(keyValue)
|
||||
}
|
||||
deepStrictEqual(all1, [
|
||||
deepStrictEqual(all1.map(e => { return { key: e.key, value: e.value } }), [
|
||||
{ key: 'hello', value: 'friend3' },
|
||||
{ key: 'init', value: true }
|
||||
])
|
||||
|
||||
@@ -126,7 +126,7 @@ describe('KeyValue Database Replication', function () {
|
||||
for await (const keyValue of kv2.iterator()) {
|
||||
all2.push(keyValue)
|
||||
}
|
||||
deepStrictEqual(all2, [
|
||||
deepStrictEqual(all2.map(e => { return { key: e.key, value: e.value } }), [
|
||||
{ key: 'hello', value: 'friend3' },
|
||||
{ key: 'init', value: true }
|
||||
])
|
||||
@@ -135,7 +135,7 @@ describe('KeyValue Database Replication', function () {
|
||||
for await (const keyValue of kv1.iterator()) {
|
||||
all1.push(keyValue)
|
||||
}
|
||||
deepStrictEqual(all1, [
|
||||
deepStrictEqual(all1.map(e => { return { key: e.key, value: e.value } }), [
|
||||
{ key: 'hello', value: 'friend3' },
|
||||
{ key: 'init', value: true }
|
||||
])
|
||||
@@ -200,7 +200,7 @@ describe('KeyValue Database Replication', function () {
|
||||
for await (const keyValue of kv2.iterator()) {
|
||||
all2.push(keyValue)
|
||||
}
|
||||
deepStrictEqual(all2, [
|
||||
deepStrictEqual(all2.map(e => { return { key: e.key, value: e.value } }), [
|
||||
{ key: 'hello', value: 'friend3' },
|
||||
{ key: 'init', value: true }
|
||||
])
|
||||
@@ -209,7 +209,7 @@ describe('KeyValue Database Replication', function () {
|
||||
for await (const keyValue of kv1.iterator()) {
|
||||
all1.push(keyValue)
|
||||
}
|
||||
deepStrictEqual(all1, [
|
||||
deepStrictEqual(all1.map(e => { return { key: e.key, value: e.value } }), [
|
||||
{ key: 'hello', value: 'friend3' },
|
||||
{ key: 'init', value: true }
|
||||
])
|
||||
|
||||
@@ -212,7 +212,7 @@ describe('Open databases', function () {
|
||||
all.unshift(event)
|
||||
}
|
||||
|
||||
deepStrictEqual(all, expected)
|
||||
deepStrictEqual(all.map(e => e.value), expected)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -263,7 +263,7 @@ describe('Open databases', function () {
|
||||
all.unshift(event)
|
||||
}
|
||||
|
||||
deepStrictEqual(all, expected)
|
||||
deepStrictEqual(all.map(e => e.value), expected)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -337,7 +337,7 @@ describe('Open databases', function () {
|
||||
}
|
||||
console.timeEnd('replicate')
|
||||
|
||||
deepStrictEqual(all, expected)
|
||||
deepStrictEqual(all.map(e => e.value), expected)
|
||||
})
|
||||
|
||||
it('opens the replicated database', async () => {
|
||||
@@ -366,7 +366,7 @@ describe('Open databases', function () {
|
||||
all.unshift(event)
|
||||
}
|
||||
|
||||
deepStrictEqual(all, expected)
|
||||
deepStrictEqual(all.map(e => e.value), expected)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -483,7 +483,7 @@ describe('Open databases', function () {
|
||||
all.unshift(doc)
|
||||
}
|
||||
|
||||
deepStrictEqual(all, expected)
|
||||
deepStrictEqual(all.map(e => e.value), expected)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
@@ -94,7 +94,7 @@ describe('Replicating databases', function () {
|
||||
|
||||
console.timeEnd('replicate')
|
||||
|
||||
deepStrictEqual(eventsFromDb2, expected)
|
||||
deepStrictEqual(eventsFromDb2.map(e => e.value), expected)
|
||||
|
||||
console.time('query 2')
|
||||
const eventsFromDb1 = []
|
||||
@@ -103,7 +103,7 @@ describe('Replicating databases', function () {
|
||||
}
|
||||
console.timeEnd('query 2')
|
||||
|
||||
deepStrictEqual(eventsFromDb1, expected)
|
||||
deepStrictEqual(eventsFromDb1.map(e => e.value), expected)
|
||||
|
||||
console.log('events:', amount)
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user