@xyo-network/archivist-storage 5.1.21 → 5.1.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +25 -22
- package/dist/neutral/spec/StorageArchivist.next.spec.d.ts +0 -2
- package/dist/neutral/spec/StorageArchivist.next.spec.d.ts.map +0 -1
- package/dist/neutral/spec/StorageArchivist.spec.d.ts +0 -2
- package/dist/neutral/spec/StorageArchivist.spec.d.ts.map +0 -1
- package/dist/neutral/spec/StorageArchivistParentWriteThrough.spec.d.ts +0 -2
- package/dist/neutral/spec/StorageArchivistParentWriteThrough.spec.d.ts.map +0 -1
- package/src/spec/StorageArchivist.next.spec.ts +0 -111
- package/src/spec/StorageArchivist.spec.ts +0 -166
- package/src/spec/StorageArchivistParentWriteThrough.spec.ts +0 -70
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/archivist-storage",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.23",
|
|
4
4
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
5
5
|
"homepage": "https://xyo.network",
|
|
6
6
|
"bugs": {
|
|
@@ -30,36 +30,39 @@
|
|
|
30
30
|
"types": "dist/neutral/index.d.ts",
|
|
31
31
|
"files": [
|
|
32
32
|
"dist",
|
|
33
|
-
"src"
|
|
33
|
+
"src",
|
|
34
|
+
"!**/*.bench.*",
|
|
35
|
+
"!**/*.spec.*",
|
|
36
|
+
"!**/*.test.*"
|
|
34
37
|
],
|
|
35
38
|
"dependencies": {
|
|
36
|
-
"@xylabs/assert": "~5.0.
|
|
37
|
-
"@xylabs/exists": "~5.0.
|
|
38
|
-
"@xylabs/hex": "~5.0.
|
|
39
|
-
"@xylabs/promise": "~5.0.
|
|
40
|
-
"@xyo-network/archivist-abstract": "~5.1.
|
|
41
|
-
"@xyo-network/archivist-model": "~5.1.
|
|
42
|
-
"@xyo-network/boundwitness-model": "~5.1.
|
|
43
|
-
"@xyo-network/module-model": "~5.1.
|
|
44
|
-
"@xyo-network/payload-builder": "~5.1.
|
|
45
|
-
"@xyo-network/payload-model": "~5.1.
|
|
39
|
+
"@xylabs/assert": "~5.0.33",
|
|
40
|
+
"@xylabs/exists": "~5.0.33",
|
|
41
|
+
"@xylabs/hex": "~5.0.33",
|
|
42
|
+
"@xylabs/promise": "~5.0.33",
|
|
43
|
+
"@xyo-network/archivist-abstract": "~5.1.23",
|
|
44
|
+
"@xyo-network/archivist-model": "~5.1.23",
|
|
45
|
+
"@xyo-network/boundwitness-model": "~5.1.23",
|
|
46
|
+
"@xyo-network/module-model": "~5.1.23",
|
|
47
|
+
"@xyo-network/payload-builder": "~5.1.23",
|
|
48
|
+
"@xyo-network/payload-model": "~5.1.23",
|
|
46
49
|
"store2": "~2.14.4"
|
|
47
50
|
},
|
|
48
51
|
"devDependencies": {
|
|
49
|
-
"@xylabs/delay": "~5.0.
|
|
52
|
+
"@xylabs/delay": "~5.0.33",
|
|
50
53
|
"@xylabs/ts-scripts-yarn3": "~7.2.8",
|
|
51
54
|
"@xylabs/tsconfig": "~7.2.8",
|
|
52
|
-
"@xylabs/vitest-extended": "~5.0.
|
|
53
|
-
"@xyo-network/account": "~5.1.
|
|
54
|
-
"@xyo-network/archivist-acceptance-tests": "~5.1.
|
|
55
|
-
"@xyo-network/archivist-memory": "~5.1.
|
|
56
|
-
"@xyo-network/boundwitness-wrapper": "~5.1.
|
|
57
|
-
"@xyo-network/id-payload-plugin": "~5.1.
|
|
58
|
-
"@xyo-network/node-memory": "~5.1.
|
|
59
|
-
"@xyo-network/payload-wrapper": "~5.1.
|
|
55
|
+
"@xylabs/vitest-extended": "~5.0.33",
|
|
56
|
+
"@xyo-network/account": "~5.1.23",
|
|
57
|
+
"@xyo-network/archivist-acceptance-tests": "~5.1.23",
|
|
58
|
+
"@xyo-network/archivist-memory": "~5.1.23",
|
|
59
|
+
"@xyo-network/boundwitness-wrapper": "~5.1.23",
|
|
60
|
+
"@xyo-network/id-payload-plugin": "~5.1.23",
|
|
61
|
+
"@xyo-network/node-memory": "~5.1.23",
|
|
62
|
+
"@xyo-network/payload-wrapper": "~5.1.23",
|
|
60
63
|
"typescript": "~5.9.3",
|
|
61
64
|
"uuid": "~13.0.0",
|
|
62
|
-
"vitest": "~4.0.
|
|
65
|
+
"vitest": "~4.0.9"
|
|
63
66
|
},
|
|
64
67
|
"publishConfig": {
|
|
65
68
|
"access": "public"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StorageArchivist.next.spec.d.ts","sourceRoot":"","sources":["../../../src/spec/StorageArchivist.next.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StorageArchivist.spec.d.ts","sourceRoot":"","sources":["../../../src/spec/StorageArchivist.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StorageArchivistParentWriteThrough.spec.d.ts","sourceRoot":"","sources":["../../../src/spec/StorageArchivistParentWriteThrough.spec.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAA"}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { delay } from '@xylabs/delay'
|
|
2
|
-
import { Account } from '@xyo-network/account'
|
|
3
|
-
import { generateArchivistNextTests } from '@xyo-network/archivist-acceptance-tests'
|
|
4
|
-
import { PayloadBuilder } from '@xyo-network/payload-builder'
|
|
5
|
-
import type { Payload, WithStorageMeta } from '@xyo-network/payload-model'
|
|
6
|
-
import { v4 } from 'uuid'
|
|
7
|
-
import {
|
|
8
|
-
describe, expect,
|
|
9
|
-
it,
|
|
10
|
-
} from 'vitest'
|
|
11
|
-
|
|
12
|
-
import { StorageArchivist, StorageArchivistConfigSchema } from '../StorageArchivist.ts'
|
|
13
|
-
|
|
14
|
-
describe('next', () => {
|
|
15
|
-
it('next', async () => {
|
|
16
|
-
const archivist = await StorageArchivist.create({
|
|
17
|
-
account: 'random',
|
|
18
|
-
config: {
|
|
19
|
-
namespace: 'test-next',
|
|
20
|
-
schema: StorageArchivistConfigSchema,
|
|
21
|
-
type: 'local',
|
|
22
|
-
},
|
|
23
|
-
})
|
|
24
|
-
|
|
25
|
-
const account = await Account.random()
|
|
26
|
-
|
|
27
|
-
const payloads1 = [
|
|
28
|
-
{ schema: 'network.xyo.test', value: 1 },
|
|
29
|
-
{ schema: 'network.xyo.test', value: 2 },
|
|
30
|
-
]
|
|
31
|
-
|
|
32
|
-
// console.log('Payloads1:', toSafeJsonString(await PayloadBuilder.hashPairs(payloads1), 10))
|
|
33
|
-
|
|
34
|
-
await delay(1)
|
|
35
|
-
|
|
36
|
-
const payloads2 = [
|
|
37
|
-
{ schema: 'network.xyo.test', value: 3 },
|
|
38
|
-
{ schema: 'network.xyo.test', value: 4 },
|
|
39
|
-
]
|
|
40
|
-
|
|
41
|
-
// console.log('Payloads2:', toSafeJsonString(await PayloadBuilder.hashPairs(payloads2), 10))
|
|
42
|
-
|
|
43
|
-
const insertedPayloads1 = await archivist.insert(payloads1)
|
|
44
|
-
// console.log(toSafeJsonString(payloads1, 10))
|
|
45
|
-
const [bw, insertedPayloads2, errors] = await archivist.insertQuery(payloads2, account)
|
|
46
|
-
expect(bw).toBeDefined()
|
|
47
|
-
expect(insertedPayloads2).toBeDefined()
|
|
48
|
-
expect(errors).toBeDefined()
|
|
49
|
-
|
|
50
|
-
const sortedInsertedPayloads1 = insertedPayloads1.toSorted(PayloadBuilder.compareStorageMeta)
|
|
51
|
-
const sortedInsertedPayloads2 = (insertedPayloads2 as WithStorageMeta<Payload>[]).toSorted((PayloadBuilder.compareStorageMeta))
|
|
52
|
-
|
|
53
|
-
// console.log(toSafeJsonString([bw, payloads, errors], 10))
|
|
54
|
-
|
|
55
|
-
const batch1 = await archivist.next?.({ limit: 2 })
|
|
56
|
-
expect(batch1.length).toBe(2)
|
|
57
|
-
expect(await PayloadBuilder.dataHash(batch1?.[0])).toEqual(await PayloadBuilder.dataHash(sortedInsertedPayloads1[0]))
|
|
58
|
-
|
|
59
|
-
const batch2 = await archivist.next?.({ limit: 2, cursor: batch1?.[1]._sequence })
|
|
60
|
-
expect(batch2.length).toBe(2)
|
|
61
|
-
expect(await PayloadBuilder.dataHash(batch2?.[0])).toEqual(await PayloadBuilder.dataHash(sortedInsertedPayloads2[0]))
|
|
62
|
-
|
|
63
|
-
const batch3 = await archivist.next?.({ limit: 20, cursor: batch1?.[1]._sequence })
|
|
64
|
-
expect(batch3.length).toBe(2)
|
|
65
|
-
expect(await PayloadBuilder.dataHash(batch3?.[0])).toEqual(await PayloadBuilder.dataHash(sortedInsertedPayloads2[0]))
|
|
66
|
-
|
|
67
|
-
// desc
|
|
68
|
-
const batch1Desc = await archivist.next?.({ limit: 2, order: 'desc' })
|
|
69
|
-
expect(batch1Desc.length).toBe(2)
|
|
70
|
-
expect(await PayloadBuilder.dataHash(batch1Desc?.[0])).toEqual(await PayloadBuilder.dataHash(sortedInsertedPayloads2[1]))
|
|
71
|
-
|
|
72
|
-
const batch2Desc = await archivist.next?.({
|
|
73
|
-
limit: 2, cursor: batch1Desc?.[1]._sequence, order: 'desc',
|
|
74
|
-
})
|
|
75
|
-
expect(batch2Desc.length).toBe(2)
|
|
76
|
-
expect(await PayloadBuilder.dataHash(batch2Desc?.[1])).toEqual(await PayloadBuilder.dataHash(sortedInsertedPayloads1[0]))
|
|
77
|
-
|
|
78
|
-
const batch3Desc = await archivist.next?.({
|
|
79
|
-
limit: 20, cursor: batch1Desc?.[1]._sequence, order: 'desc',
|
|
80
|
-
})
|
|
81
|
-
expect(batch3Desc.length).toBe(2)
|
|
82
|
-
expect(await PayloadBuilder.dataHash(batch3Desc?.[1])).toEqual(await PayloadBuilder.dataHash(sortedInsertedPayloads1[0]))
|
|
83
|
-
})
|
|
84
|
-
generateArchivistNextTests(async () => {
|
|
85
|
-
const namespace = v4()
|
|
86
|
-
return await StorageArchivist.create({
|
|
87
|
-
account: 'random',
|
|
88
|
-
config: {
|
|
89
|
-
namespace, schema: StorageArchivistConfigSchema, type: 'local',
|
|
90
|
-
},
|
|
91
|
-
})
|
|
92
|
-
}, 'next [local]')
|
|
93
|
-
generateArchivistNextTests(async () => {
|
|
94
|
-
const namespace = v4()
|
|
95
|
-
return await StorageArchivist.create({
|
|
96
|
-
account: 'random',
|
|
97
|
-
config: {
|
|
98
|
-
namespace, schema: StorageArchivistConfigSchema, type: 'session',
|
|
99
|
-
},
|
|
100
|
-
})
|
|
101
|
-
}, 'next [session]')
|
|
102
|
-
generateArchivistNextTests(async () => {
|
|
103
|
-
const namespace = v4()
|
|
104
|
-
return await StorageArchivist.create({
|
|
105
|
-
account: 'random',
|
|
106
|
-
config: {
|
|
107
|
-
namespace, schema: StorageArchivistConfigSchema, type: 'page',
|
|
108
|
-
},
|
|
109
|
-
})
|
|
110
|
-
}, 'next [page]')
|
|
111
|
-
})
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
import { delay } from '@xylabs/delay'
|
|
2
|
-
import { Account } from '@xyo-network/account'
|
|
3
|
-
import { MemoryArchivist } from '@xyo-network/archivist-memory'
|
|
4
|
-
import type { ArchivistInstance } from '@xyo-network/archivist-model'
|
|
5
|
-
import { isArchivistInstance, isArchivistModule } from '@xyo-network/archivist-model'
|
|
6
|
-
import { IdSchema } from '@xyo-network/id-payload-plugin'
|
|
7
|
-
import {
|
|
8
|
-
isModule, isModuleInstance, isModuleObject,
|
|
9
|
-
} from '@xyo-network/module-model'
|
|
10
|
-
import { MemoryNode } from '@xyo-network/node-memory'
|
|
11
|
-
import type { Payload } from '@xyo-network/payload-model'
|
|
12
|
-
import { PayloadWrapper } from '@xyo-network/payload-wrapper'
|
|
13
|
-
import {
|
|
14
|
-
describe, expect,
|
|
15
|
-
it, test,
|
|
16
|
-
} from 'vitest'
|
|
17
|
-
|
|
18
|
-
import { StorageArchivist, StorageArchivistConfigSchema } from '../StorageArchivist.ts'
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* @group module
|
|
22
|
-
* @group jsdom
|
|
23
|
-
* @group archivist
|
|
24
|
-
*/
|
|
25
|
-
|
|
26
|
-
describe('Various StorageArchivist types', () => {
|
|
27
|
-
const archivistTests: [string, Promise<ArchivistInstance>][] = [
|
|
28
|
-
[
|
|
29
|
-
'local',
|
|
30
|
-
(async () =>
|
|
31
|
-
await StorageArchivist.create({
|
|
32
|
-
account: 'random',
|
|
33
|
-
config: {
|
|
34
|
-
namespace: 'test', schema: StorageArchivistConfigSchema, type: 'local',
|
|
35
|
-
},
|
|
36
|
-
}))(),
|
|
37
|
-
],
|
|
38
|
-
[
|
|
39
|
-
'session',
|
|
40
|
-
(async () =>
|
|
41
|
-
await StorageArchivist.create({
|
|
42
|
-
account: 'random',
|
|
43
|
-
config: {
|
|
44
|
-
namespace: 'test', schema: StorageArchivistConfigSchema, type: 'session',
|
|
45
|
-
},
|
|
46
|
-
}))(),
|
|
47
|
-
],
|
|
48
|
-
[
|
|
49
|
-
'page',
|
|
50
|
-
(async () =>
|
|
51
|
-
await StorageArchivist.create({
|
|
52
|
-
account: 'random',
|
|
53
|
-
config: {
|
|
54
|
-
namespace: 'test', schema: StorageArchivistConfigSchema, type: 'page',
|
|
55
|
-
},
|
|
56
|
-
}))(),
|
|
57
|
-
],
|
|
58
|
-
]
|
|
59
|
-
it.each(archivistTests)('Archivist All', async (_name, archivistPromise) => {
|
|
60
|
-
const archivist = await archivistPromise
|
|
61
|
-
expect(isArchivistInstance(archivist)).toBeTruthy()
|
|
62
|
-
expect(isArchivistModule(archivist)).toBeTruthy()
|
|
63
|
-
const idPayload = {
|
|
64
|
-
salt: Date.now().toString(),
|
|
65
|
-
schema: IdSchema,
|
|
66
|
-
}
|
|
67
|
-
for (let x = 0; x < 10; x++) {
|
|
68
|
-
await archivist.insert([idPayload])
|
|
69
|
-
await delay(10)
|
|
70
|
-
}
|
|
71
|
-
const getResult = await archivist.all?.()
|
|
72
|
-
expect(getResult).toBeDefined()
|
|
73
|
-
expect(getResult?.length).toBe(1)
|
|
74
|
-
})
|
|
75
|
-
it.each(archivistTests)('Archivist RoundTrip', async (_name, archivistPromise) => {
|
|
76
|
-
const idPayload: Payload<{ salt: string }> = {
|
|
77
|
-
salt: Date.now().toString(),
|
|
78
|
-
schema: IdSchema,
|
|
79
|
-
}
|
|
80
|
-
const payloadWrapper = PayloadWrapper.wrap(idPayload)
|
|
81
|
-
|
|
82
|
-
const archivist = await archivistPromise
|
|
83
|
-
const insertResult = await archivist.insert([idPayload])
|
|
84
|
-
expect(insertResult).toBeDefined()
|
|
85
|
-
|
|
86
|
-
const getResult = await archivist.get([await payloadWrapper.dataHash()])
|
|
87
|
-
expect(getResult).toBeDefined()
|
|
88
|
-
expect(getResult.length).toBe(1)
|
|
89
|
-
const gottenPayload = getResult[0]
|
|
90
|
-
if (gottenPayload) {
|
|
91
|
-
const gottenPayloadWrapper = PayloadWrapper.wrap(gottenPayload)
|
|
92
|
-
expect(await gottenPayloadWrapper.dataHash()).toBe(await payloadWrapper.dataHash())
|
|
93
|
-
}
|
|
94
|
-
})
|
|
95
|
-
})
|
|
96
|
-
|
|
97
|
-
test('Archivist Private Key Save', async () => {
|
|
98
|
-
const account = await Account.random()
|
|
99
|
-
const storage = await StorageArchivist.create({
|
|
100
|
-
account,
|
|
101
|
-
config: {
|
|
102
|
-
namespace: 'test', schema: StorageArchivistConfigSchema, type: 'local',
|
|
103
|
-
},
|
|
104
|
-
})
|
|
105
|
-
const address = storage.address
|
|
106
|
-
const storage2 = await StorageArchivist.create({
|
|
107
|
-
account,
|
|
108
|
-
config: {
|
|
109
|
-
namespace: 'test', schema: StorageArchivistConfigSchema, type: 'local',
|
|
110
|
-
},
|
|
111
|
-
})
|
|
112
|
-
expect(storage2.address).toBe(address)
|
|
113
|
-
})
|
|
114
|
-
|
|
115
|
-
test('Archivist passed account', async () => {
|
|
116
|
-
const account = await Account.random()
|
|
117
|
-
|
|
118
|
-
const storage = (await StorageArchivist.create({
|
|
119
|
-
account,
|
|
120
|
-
config: {
|
|
121
|
-
namespace: 'main', schema: StorageArchivistConfigSchema, type: 'local',
|
|
122
|
-
},
|
|
123
|
-
})) as StorageArchivist
|
|
124
|
-
|
|
125
|
-
expect(storage['account'].address).toBe(account.address)
|
|
126
|
-
})
|
|
127
|
-
|
|
128
|
-
test('Archivist Parent Reads', async () => {
|
|
129
|
-
const parent = await MemoryArchivist.create({ account: 'random' })
|
|
130
|
-
const memoryNode = await MemoryNode.create({ account: 'random' })
|
|
131
|
-
|
|
132
|
-
expect(isModuleObject(parent)).toBe(true)
|
|
133
|
-
|
|
134
|
-
expect(isModule(parent)).toBe(true)
|
|
135
|
-
|
|
136
|
-
expect(isModuleInstance(parent)).toBe(true)
|
|
137
|
-
|
|
138
|
-
expect(isArchivistInstance(parent)).toBe(true)
|
|
139
|
-
|
|
140
|
-
await memoryNode.register(parent)
|
|
141
|
-
await memoryNode.attach(parent.address, true)
|
|
142
|
-
|
|
143
|
-
const storage = await StorageArchivist.create({
|
|
144
|
-
account: 'random',
|
|
145
|
-
config: {
|
|
146
|
-
namespace: 'test',
|
|
147
|
-
parents: { read: [parent.address] },
|
|
148
|
-
schema: StorageArchivistConfigSchema,
|
|
149
|
-
type: 'local',
|
|
150
|
-
},
|
|
151
|
-
})
|
|
152
|
-
await memoryNode.register(storage)
|
|
153
|
-
await memoryNode.attach(storage.address, true)
|
|
154
|
-
|
|
155
|
-
const wrapper = PayloadWrapper.wrap({ schema: 'network.xyo.test' })
|
|
156
|
-
|
|
157
|
-
expect(wrapper).toBeDefined()
|
|
158
|
-
|
|
159
|
-
const inserted = await parent.insert([wrapper.payload])
|
|
160
|
-
|
|
161
|
-
expect(inserted.length).toBe(1)
|
|
162
|
-
|
|
163
|
-
const fromStorage = await storage.get([await wrapper.dataHash()])
|
|
164
|
-
|
|
165
|
-
expect(fromStorage.length).toBe(1)
|
|
166
|
-
})
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import '@xylabs/vitest-extended'
|
|
2
|
-
|
|
3
|
-
import { MemoryArchivist } from '@xyo-network/archivist-memory'
|
|
4
|
-
import { asArchivistInstance } from '@xyo-network/archivist-model'
|
|
5
|
-
import { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'
|
|
6
|
-
import type { ModuleQueries } from '@xyo-network/module-model'
|
|
7
|
-
import { MemoryNode } from '@xyo-network/node-memory'
|
|
8
|
-
import { PayloadWrapper } from '@xyo-network/payload-wrapper'
|
|
9
|
-
import {
|
|
10
|
-
expect,
|
|
11
|
-
test,
|
|
12
|
-
} from 'vitest'
|
|
13
|
-
|
|
14
|
-
import { StorageArchivist, StorageArchivistConfigSchema } from '../StorageArchivist.ts'
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* @group module
|
|
18
|
-
* @group archivist
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
test('Archivist Parent Write Through', async () => {
|
|
22
|
-
const node = await MemoryNode.create({ account: 'random' })
|
|
23
|
-
const memory = await MemoryArchivist.create({ account: 'random' })
|
|
24
|
-
|
|
25
|
-
const storage = (await StorageArchivist.create({
|
|
26
|
-
account: 'random',
|
|
27
|
-
config: {
|
|
28
|
-
namespace: 'test',
|
|
29
|
-
parents: { write: [memory.address] },
|
|
30
|
-
schema: StorageArchivistConfigSchema,
|
|
31
|
-
type: 'local',
|
|
32
|
-
},
|
|
33
|
-
})) as StorageArchivist
|
|
34
|
-
await node.register(memory)
|
|
35
|
-
await node.attach(memory.address)
|
|
36
|
-
await node.register(storage)
|
|
37
|
-
await node.attach(storage.address)
|
|
38
|
-
|
|
39
|
-
const wrapper = PayloadWrapper.wrap({ schema: 'network.xyo.test' })
|
|
40
|
-
|
|
41
|
-
expect(wrapper).toBeDefined()
|
|
42
|
-
|
|
43
|
-
storage.on('inserted', ({ payloads }) => {
|
|
44
|
-
expect(payloads.length).toBeGreaterThan(0)
|
|
45
|
-
})
|
|
46
|
-
|
|
47
|
-
storage.on('moduleQueried', async ({ query, payloads }) => {
|
|
48
|
-
const wrapper = QueryBoundWitnessWrapper.parseQuery<ModuleQueries>(query, payloads)
|
|
49
|
-
expect(await wrapper.getQuery()).toBeDefined()
|
|
50
|
-
console.log(`Queried: ${(await wrapper.getQuery()).schema}`)
|
|
51
|
-
})
|
|
52
|
-
|
|
53
|
-
const inserted = await storage.insert([wrapper.payload])
|
|
54
|
-
|
|
55
|
-
expect(inserted).toBeArrayOfSize(1)
|
|
56
|
-
|
|
57
|
-
const fromStorage = await storage.get([await wrapper.dataHash()])
|
|
58
|
-
const fromMemory = await memory.get([await wrapper.dataHash()])
|
|
59
|
-
|
|
60
|
-
expect(fromStorage).toBeArrayOfSize(1)
|
|
61
|
-
expect(fromMemory).toBeArrayOfSize(1)
|
|
62
|
-
|
|
63
|
-
storage.on('cleared', async ({ mod }) => {
|
|
64
|
-
const all = await asArchivistInstance(mod)?.all?.()
|
|
65
|
-
expect(all).toBeEmpty()
|
|
66
|
-
console.log('Cleared Storage Archivist')
|
|
67
|
-
})
|
|
68
|
-
|
|
69
|
-
await storage.clear()
|
|
70
|
-
})
|