@xyo-network/archivist 2.42.2 → 2.42.4
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/dist/cjs/AbstractArchivist.d.ts +5 -8
- package/dist/cjs/AbstractArchivist.d.ts.map +1 -1
- package/dist/cjs/AbstractArchivist.js +11 -15
- package/dist/cjs/AbstractArchivist.js.map +1 -1
- package/dist/cjs/ArchivingModule.d.ts +3 -3
- package/dist/cjs/ArchivingModule.d.ts.map +1 -1
- package/dist/cjs/ArchivingModule.js +1 -1
- package/dist/cjs/ArchivingModule.js.map +1 -1
- package/dist/cjs/ArchivistWrapper.d.ts +2 -2
- package/dist/cjs/ArchivistWrapper.d.ts.map +1 -1
- package/dist/cjs/ArchivistWrapper.js +16 -26
- package/dist/cjs/ArchivistWrapper.js.map +1 -1
- package/dist/cjs/CookieArchivist.d.ts +4 -4
- package/dist/cjs/CookieArchivist.d.ts.map +1 -1
- package/dist/cjs/CookieArchivist.js +7 -7
- package/dist/cjs/CookieArchivist.js.map +1 -1
- package/dist/cjs/MemoryArchivist.d.ts +5 -5
- package/dist/cjs/MemoryArchivist.d.ts.map +1 -1
- package/dist/cjs/MemoryArchivist.js +7 -7
- package/dist/cjs/MemoryArchivist.js.map +1 -1
- package/dist/cjs/StorageArchivist.d.ts +5 -5
- package/dist/cjs/StorageArchivist.d.ts.map +1 -1
- package/dist/cjs/StorageArchivist.js +7 -7
- package/dist/cjs/StorageArchivist.js.map +1 -1
- package/dist/docs.json +7205 -15215
- package/dist/esm/AbstractArchivist.d.ts +5 -8
- package/dist/esm/AbstractArchivist.d.ts.map +1 -1
- package/dist/esm/AbstractArchivist.js +12 -15
- package/dist/esm/AbstractArchivist.js.map +1 -1
- package/dist/esm/ArchivingModule.d.ts +3 -3
- package/dist/esm/ArchivingModule.d.ts.map +1 -1
- package/dist/esm/ArchivingModule.js +2 -2
- package/dist/esm/ArchivingModule.js.map +1 -1
- package/dist/esm/ArchivistWrapper.d.ts +2 -2
- package/dist/esm/ArchivistWrapper.d.ts.map +1 -1
- package/dist/esm/ArchivistWrapper.js +17 -27
- package/dist/esm/ArchivistWrapper.js.map +1 -1
- package/dist/esm/CookieArchivist.d.ts +4 -4
- package/dist/esm/CookieArchivist.d.ts.map +1 -1
- package/dist/esm/CookieArchivist.js +8 -8
- package/dist/esm/CookieArchivist.js.map +1 -1
- package/dist/esm/MemoryArchivist.d.ts +5 -5
- package/dist/esm/MemoryArchivist.d.ts.map +1 -1
- package/dist/esm/MemoryArchivist.js +8 -8
- package/dist/esm/MemoryArchivist.js.map +1 -1
- package/dist/esm/StorageArchivist.d.ts +5 -5
- package/dist/esm/StorageArchivist.d.ts.map +1 -1
- package/dist/esm/StorageArchivist.js +8 -8
- package/dist/esm/StorageArchivist.js.map +1 -1
- package/package.json +9 -9
- package/src/AbstractArchivist.ts +25 -28
- package/src/ArchivingModule.ts +3 -3
- package/src/ArchivistWrapper.ts +33 -43
- package/src/CookieArchivist.ts +19 -19
- package/src/MemoryArchivist.ts +20 -20
- package/src/StorageArchivist.spec.ts +2 -2
- package/src/StorageArchivist.ts +20 -20
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert';
|
|
2
2
|
import { Account } from '@xyo-network/account';
|
|
3
|
-
import {
|
|
3
|
+
import { ArchivistAllQuerySchema, ArchivistClearQuerySchema, ArchivistCommitQuerySchema, ArchivistDeleteQuerySchema, ArchivistFindQuerySchema, ArchivistInsertQuerySchema, } from '@xyo-network/archivist-interface';
|
|
4
4
|
import { PayloadWrapper } from '@xyo-network/payload';
|
|
5
5
|
import compact from 'lodash/compact';
|
|
6
6
|
import store from 'store2';
|
|
@@ -72,7 +72,7 @@ export class XyoStorageArchivist extends AbstractArchivist {
|
|
|
72
72
|
const settled = await Promise.allSettled(compact(Object.values((await this.parents()).commit ?? [])?.map(async (parent) => {
|
|
73
73
|
const queryPayload = PayloadWrapper.parse({
|
|
74
74
|
payloads: payloads.map((payload) => PayloadWrapper.hash(payload)),
|
|
75
|
-
schema:
|
|
75
|
+
schema: ArchivistInsertQuerySchema,
|
|
76
76
|
});
|
|
77
77
|
const query = await this.bindQuery(queryPayload);
|
|
78
78
|
return (await parent?.query(query[0], query[1]))?.[0];
|
|
@@ -139,12 +139,12 @@ export class XyoStorageArchivist extends AbstractArchivist {
|
|
|
139
139
|
}
|
|
140
140
|
queries() {
|
|
141
141
|
return [
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
142
|
+
ArchivistAllQuerySchema,
|
|
143
|
+
ArchivistDeleteQuerySchema,
|
|
144
|
+
ArchivistClearQuerySchema,
|
|
145
|
+
ArchivistFindQuerySchema,
|
|
146
|
+
ArchivistInsertQuerySchema,
|
|
147
|
+
ArchivistCommitQuerySchema,
|
|
148
148
|
...super.queries(),
|
|
149
149
|
];
|
|
150
150
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageArchivist.js","sourceRoot":"","sources":["../../src/StorageArchivist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"StorageArchivist.js","sourceRoot":"","sources":["../../src/StorageArchivist.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -9,14 +9,14 @@
|
|
|
9
9
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@xylabs/assert": "^2.6.
|
|
13
|
-
"@xyo-network/account": "^2.42.
|
|
14
|
-
"@xyo-network/archivist-interface": "^2.42.
|
|
15
|
-
"@xyo-network/boundwitness": "^2.42.
|
|
16
|
-
"@xyo-network/core": "^2.42.
|
|
17
|
-
"@xyo-network/module": "^2.42.
|
|
18
|
-
"@xyo-network/payload": "^2.42.
|
|
19
|
-
"@xyo-network/promise": "^2.42.
|
|
12
|
+
"@xylabs/assert": "^2.6.10",
|
|
13
|
+
"@xyo-network/account": "^2.42.4",
|
|
14
|
+
"@xyo-network/archivist-interface": "^2.42.4",
|
|
15
|
+
"@xyo-network/boundwitness": "^2.42.4",
|
|
16
|
+
"@xyo-network/core": "^2.42.4",
|
|
17
|
+
"@xyo-network/module": "^2.42.4",
|
|
18
|
+
"@xyo-network/payload": "^2.42.4",
|
|
19
|
+
"@xyo-network/promise": "^2.42.4",
|
|
20
20
|
"js-cookie": "^3.0.1",
|
|
21
21
|
"lodash": "^4.17.21",
|
|
22
22
|
"lru-cache": "^7.14.1",
|
|
@@ -60,5 +60,5 @@
|
|
|
60
60
|
},
|
|
61
61
|
"sideEffects": false,
|
|
62
62
|
"types": "dist/esm/index.d.ts",
|
|
63
|
-
"version": "2.42.
|
|
63
|
+
"version": "2.42.4"
|
|
64
64
|
}
|
package/src/AbstractArchivist.ts
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert'
|
|
2
2
|
import { Account } from '@xyo-network/account'
|
|
3
3
|
import {
|
|
4
|
+
ArchivistAllQuerySchema,
|
|
5
|
+
ArchivistClearQuerySchema,
|
|
6
|
+
ArchivistCommitQuerySchema,
|
|
7
|
+
ArchivistConfig,
|
|
8
|
+
ArchivistDeleteQuerySchema,
|
|
9
|
+
ArchivistFindQuerySchema,
|
|
10
|
+
ArchivistGetQuery,
|
|
11
|
+
ArchivistGetQuerySchema,
|
|
12
|
+
ArchivistInsertQuerySchema,
|
|
13
|
+
ArchivistQuery,
|
|
4
14
|
PayloadArchivist,
|
|
5
|
-
XyoArchivistAllQuerySchema,
|
|
6
|
-
XyoArchivistClearQuerySchema,
|
|
7
|
-
XyoArchivistCommitQuerySchema,
|
|
8
|
-
XyoArchivistConfig,
|
|
9
|
-
XyoArchivistDeleteQuerySchema,
|
|
10
|
-
XyoArchivistFindQuerySchema,
|
|
11
|
-
XyoArchivistGetQuery,
|
|
12
|
-
XyoArchivistGetQuerySchema,
|
|
13
|
-
XyoArchivistInsertQuerySchema,
|
|
14
|
-
XyoArchivistQuery,
|
|
15
15
|
} from '@xyo-network/archivist-interface'
|
|
16
16
|
import { XyoBoundWitness } from '@xyo-network/boundwitness'
|
|
17
|
-
import { ModuleQueryResult, QueryBoundWitnessWrapper, XyoErrorBuilder,
|
|
18
|
-
import { PayloadWrapper, XyoPayload
|
|
17
|
+
import { AbstractModule, ModuleQueryResult, QueryBoundWitnessWrapper, XyoErrorBuilder, XyoQueryBoundWitness } from '@xyo-network/module'
|
|
18
|
+
import { PayloadFindFilter, PayloadWrapper, XyoPayload } from '@xyo-network/payload'
|
|
19
19
|
import { Promisable, PromisableArray } from '@xyo-network/promise'
|
|
20
20
|
import compact from 'lodash/compact'
|
|
21
21
|
|
|
@@ -27,8 +27,8 @@ export interface XyoArchivistParentWrappers {
|
|
|
27
27
|
write?: Record<string, ArchivistWrapper>
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
export abstract class AbstractArchivist<TConfig extends
|
|
31
|
-
extends
|
|
30
|
+
export abstract class AbstractArchivist<TConfig extends ArchivistConfig = ArchivistConfig>
|
|
31
|
+
extends AbstractModule<TConfig>
|
|
32
32
|
implements PayloadArchivist
|
|
33
33
|
{
|
|
34
34
|
private _parents?: XyoArchivistParentWrappers
|
|
@@ -57,7 +57,7 @@ export abstract class AbstractArchivist<TConfig extends XyoArchivistConfig = Xyo
|
|
|
57
57
|
throw Error('Not implemented')
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
public async find(filter?:
|
|
60
|
+
public async find(filter?: PayloadFindFilter): Promise<XyoPayload[]> {
|
|
61
61
|
try {
|
|
62
62
|
const filterSchemaList = filter?.schema ? (Array.isArray(filter.schema) ? filter.schema : [filter.schema]) : []
|
|
63
63
|
return (await this.all()).filter((payload) => filterSchemaList.includes(payload.schema))
|
|
@@ -68,14 +68,14 @@ export abstract class AbstractArchivist<TConfig extends XyoArchivistConfig = Xyo
|
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
public override queries() {
|
|
71
|
-
return [
|
|
71
|
+
return [ArchivistGetQuerySchema, ...super.queries()]
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
override async query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness>(
|
|
75
75
|
query: T,
|
|
76
76
|
payloads?: XyoPayload[],
|
|
77
77
|
): Promise<ModuleQueryResult<XyoPayload>> {
|
|
78
|
-
const wrapper = QueryBoundWitnessWrapper.parseQuery<
|
|
78
|
+
const wrapper = QueryBoundWitnessWrapper.parseQuery<ArchivistQuery>(query, payloads)
|
|
79
79
|
const typedQuery = wrapper.query.payload
|
|
80
80
|
assertEx(this.queryable(typedQuery.schema, wrapper.addresses))
|
|
81
81
|
|
|
@@ -83,25 +83,25 @@ export abstract class AbstractArchivist<TConfig extends XyoArchivistConfig = Xyo
|
|
|
83
83
|
const queryAccount = new Account()
|
|
84
84
|
try {
|
|
85
85
|
switch (typedQuery.schema) {
|
|
86
|
-
case
|
|
86
|
+
case ArchivistAllQuerySchema:
|
|
87
87
|
resultPayloads.push(...(await this.all()))
|
|
88
88
|
break
|
|
89
|
-
case
|
|
89
|
+
case ArchivistClearQuerySchema:
|
|
90
90
|
await this.clear()
|
|
91
91
|
break
|
|
92
|
-
case
|
|
92
|
+
case ArchivistCommitQuerySchema:
|
|
93
93
|
resultPayloads.push(...(await this.commit()))
|
|
94
94
|
break
|
|
95
|
-
case
|
|
95
|
+
case ArchivistDeleteQuerySchema:
|
|
96
96
|
await this.delete(typedQuery.hashes)
|
|
97
97
|
break
|
|
98
|
-
case
|
|
98
|
+
case ArchivistFindQuerySchema:
|
|
99
99
|
resultPayloads.push(...(await this.find(typedQuery.filter)))
|
|
100
100
|
break
|
|
101
|
-
case
|
|
101
|
+
case ArchivistGetQuerySchema:
|
|
102
102
|
resultPayloads.push(...(await this.get(typedQuery.hashes)))
|
|
103
103
|
break
|
|
104
|
-
case
|
|
104
|
+
case ArchivistInsertQuerySchema: {
|
|
105
105
|
const wrappers = payloads?.map((payload) => PayloadWrapper.parse(payload)) ?? []
|
|
106
106
|
assertEx(typedQuery.payloads, `Missing payloads: ${JSON.stringify(typedQuery, null, 2)}`)
|
|
107
107
|
const resolvedWrappers = wrappers.filter((wrapper) => typedQuery.payloads.includes(wrapper.hash))
|
|
@@ -125,7 +125,7 @@ export abstract class AbstractArchivist<TConfig extends XyoArchivistConfig = Xyo
|
|
|
125
125
|
return compact(
|
|
126
126
|
await Promise.all(
|
|
127
127
|
Object.values(parents.read ?? {}).map(async (parent) => {
|
|
128
|
-
const queryPayload = PayloadWrapper.parse<
|
|
128
|
+
const queryPayload = PayloadWrapper.parse<ArchivistGetQuery>({ hashes: [hash], schema: ArchivistGetQuerySchema })
|
|
129
129
|
const query = await this.bindQuery(queryPayload)
|
|
130
130
|
const [, payloads] = (await parent?.query(query[0], query[1])) ?? []
|
|
131
131
|
const wrapper = payloads?.[0] ? new PayloadWrapper(payloads?.[0]) : undefined
|
|
@@ -179,6 +179,3 @@ export abstract class AbstractArchivist<TConfig extends XyoArchivistConfig = Xyo
|
|
|
179
179
|
|
|
180
180
|
abstract insert(item: XyoPayload[]): PromisableArray<XyoBoundWitness>
|
|
181
181
|
}
|
|
182
|
-
|
|
183
|
-
/** @deprecated use AbstractArchivist instead */
|
|
184
|
-
export abstract class XyoArchivist<TConfig extends XyoArchivistConfig = XyoArchivistConfig> extends AbstractArchivist<TConfig> {}
|
package/src/ArchivingModule.ts
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { Account } from '@xyo-network/account'
|
|
2
2
|
import { XyoBoundWitness } from '@xyo-network/boundwitness'
|
|
3
3
|
import { EmptyObject } from '@xyo-network/core'
|
|
4
|
-
import {
|
|
4
|
+
import { AbstractModule, AbstractModuleConfig, Module, ModuleQueryResult } from '@xyo-network/module'
|
|
5
5
|
import { XyoPayload } from '@xyo-network/payload'
|
|
6
6
|
import { PromiseEx } from '@xyo-network/promise'
|
|
7
7
|
|
|
8
8
|
import { ArchivistWrapper } from './ArchivistWrapper'
|
|
9
9
|
|
|
10
|
-
export type ArchivingModuleConfig<T extends EmptyObject = EmptyObject> =
|
|
10
|
+
export type ArchivingModuleConfig<T extends EmptyObject = EmptyObject> = AbstractModuleConfig<
|
|
11
11
|
{
|
|
12
12
|
archivists?: string[]
|
|
13
13
|
schema: string
|
|
14
14
|
} & T
|
|
15
15
|
>
|
|
16
16
|
|
|
17
|
-
export class ArchivingModule<TConfig extends ArchivingModuleConfig = ArchivingModuleConfig> extends
|
|
17
|
+
export class ArchivingModule<TConfig extends ArchivingModuleConfig = ArchivingModuleConfig> extends AbstractModule<TConfig> implements Module {
|
|
18
18
|
protected bindResult(payloads: XyoPayload[], account?: Account): PromiseEx<ModuleQueryResult, Account> {
|
|
19
19
|
const promise = new PromiseEx<ModuleQueryResult, Account>(async (resolve) => {
|
|
20
20
|
const result = this.bindResultInternal(payloads, account)
|
package/src/ArchivistWrapper.ts
CHANGED
|
@@ -1,77 +1,67 @@
|
|
|
1
1
|
import {
|
|
2
|
+
ArchivistAllQuery,
|
|
3
|
+
ArchivistAllQuerySchema,
|
|
4
|
+
ArchivistClearQuery,
|
|
5
|
+
ArchivistClearQuerySchema,
|
|
6
|
+
ArchivistCommitQuery,
|
|
7
|
+
ArchivistCommitQuerySchema,
|
|
8
|
+
ArchivistDeleteQuery,
|
|
9
|
+
ArchivistDeleteQuerySchema,
|
|
10
|
+
ArchivistFindQuery,
|
|
11
|
+
ArchivistFindQuerySchema,
|
|
12
|
+
ArchivistGetQuery,
|
|
13
|
+
ArchivistGetQuerySchema,
|
|
14
|
+
ArchivistInsertQuery,
|
|
15
|
+
ArchivistInsertQuerySchema,
|
|
2
16
|
PayloadArchivist,
|
|
3
|
-
XyoArchivistAllQuery,
|
|
4
|
-
XyoArchivistAllQuerySchema,
|
|
5
|
-
XyoArchivistClearQuery,
|
|
6
|
-
XyoArchivistClearQuerySchema,
|
|
7
|
-
XyoArchivistCommitQuery,
|
|
8
|
-
XyoArchivistCommitQuerySchema,
|
|
9
|
-
XyoArchivistDeleteQuery,
|
|
10
|
-
XyoArchivistDeleteQuerySchema,
|
|
11
|
-
XyoArchivistFindQuery,
|
|
12
|
-
XyoArchivistFindQuerySchema,
|
|
13
|
-
XyoArchivistGetQuery,
|
|
14
|
-
XyoArchivistGetQuerySchema,
|
|
15
|
-
XyoArchivistInsertQuery,
|
|
16
|
-
XyoArchivistInsertQuerySchema,
|
|
17
17
|
} from '@xyo-network/archivist-interface'
|
|
18
18
|
import { isXyoBoundWitnessPayload, XyoBoundWitness, XyoBoundWitnessSchema } from '@xyo-network/boundwitness'
|
|
19
19
|
import { ModuleWrapper } from '@xyo-network/module'
|
|
20
|
-
import { PayloadWrapper, XyoPayload
|
|
20
|
+
import { PayloadFindFilter, PayloadWrapper, XyoPayload } from '@xyo-network/payload'
|
|
21
21
|
import compact from 'lodash/compact'
|
|
22
22
|
|
|
23
23
|
export class ArchivistWrapper extends ModuleWrapper implements PayloadArchivist {
|
|
24
24
|
public async all(): Promise<XyoPayload[]> {
|
|
25
|
-
const queryPayload = PayloadWrapper.parse<
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
this.throwErrors(query, result)
|
|
29
|
-
return compact(result[1])
|
|
25
|
+
const queryPayload = PayloadWrapper.parse<ArchivistAllQuery>({ schema: ArchivistAllQuerySchema })
|
|
26
|
+
const result = await this.sendQuery(queryPayload)
|
|
27
|
+
return compact(result)
|
|
30
28
|
}
|
|
31
29
|
|
|
32
30
|
public async clear(): Promise<void> {
|
|
33
|
-
const queryPayload = PayloadWrapper.parse<
|
|
34
|
-
|
|
35
|
-
const result = await this.module.query(query[0], query[1])
|
|
36
|
-
this.throwErrors(query, result)
|
|
31
|
+
const queryPayload = PayloadWrapper.parse<ArchivistClearQuery>({ schema: ArchivistClearQuerySchema })
|
|
32
|
+
await this.sendQuery(queryPayload)
|
|
37
33
|
}
|
|
38
34
|
|
|
39
35
|
public async commit(): Promise<XyoBoundWitness[]> {
|
|
40
|
-
const queryPayload = PayloadWrapper.parse<
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
this.throwErrors(query, result)
|
|
44
|
-
return result[1].filter(isXyoBoundWitnessPayload)
|
|
36
|
+
const queryPayload = PayloadWrapper.parse<ArchivistCommitQuery>({ schema: ArchivistCommitQuerySchema })
|
|
37
|
+
const result = await this.sendQuery(queryPayload)
|
|
38
|
+
return result.filter(isXyoBoundWitnessPayload)
|
|
45
39
|
}
|
|
46
40
|
|
|
47
41
|
public async delete(hashes: string[]) {
|
|
48
|
-
const queryPayload = PayloadWrapper.parse<
|
|
42
|
+
const queryPayload = PayloadWrapper.parse<ArchivistDeleteQuery>({ hashes, schema: ArchivistDeleteQuerySchema })
|
|
49
43
|
const query = await this.bindQuery(queryPayload)
|
|
50
44
|
const result = await this.module.query(query[0], query[1])
|
|
51
45
|
this.throwErrors(query, result)
|
|
52
46
|
return result[0].payload_hashes.map(() => true)
|
|
53
47
|
}
|
|
54
48
|
|
|
55
|
-
public async find(filter?:
|
|
56
|
-
const queryPayload = PayloadWrapper.parse<
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
this.throwErrors(query, result)
|
|
60
|
-
return compact(result[1])
|
|
49
|
+
public async find(filter?: PayloadFindFilter): Promise<XyoPayload[]> {
|
|
50
|
+
const queryPayload = PayloadWrapper.parse<ArchivistFindQuery>({ filter, schema: ArchivistFindQuerySchema })
|
|
51
|
+
const result = await this.sendQuery(queryPayload)
|
|
52
|
+
return compact(result)
|
|
61
53
|
}
|
|
62
54
|
|
|
63
55
|
public async get(hashes: string[]): Promise<XyoPayload[]> {
|
|
64
|
-
const queryPayload = PayloadWrapper.parse<
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
this.throwErrors(query, result)
|
|
68
|
-
return result[1]
|
|
56
|
+
const queryPayload = PayloadWrapper.parse<ArchivistGetQuery>({ hashes, schema: ArchivistGetQuerySchema })
|
|
57
|
+
const result = await this.sendQuery(queryPayload)
|
|
58
|
+
return result
|
|
69
59
|
}
|
|
70
60
|
|
|
71
61
|
public async insert(payloads: XyoPayload[]): Promise<XyoBoundWitness[]> {
|
|
72
|
-
const queryPayload = PayloadWrapper.parse<
|
|
62
|
+
const queryPayload = PayloadWrapper.parse<ArchivistInsertQuery>({
|
|
73
63
|
payloads: payloads.map((payload) => PayloadWrapper.hash(payload)),
|
|
74
|
-
schema:
|
|
64
|
+
schema: ArchivistInsertQuerySchema,
|
|
75
65
|
})
|
|
76
66
|
const query = await this.bindQuery(queryPayload, payloads)
|
|
77
67
|
const result = await this.module.query(query[0], [queryPayload.payload, ...payloads])
|
package/src/CookieArchivist.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert'
|
|
2
2
|
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
ArchivistAllQuerySchema,
|
|
4
|
+
ArchivistClearQuerySchema,
|
|
5
|
+
ArchivistCommitQuerySchema,
|
|
6
|
+
ArchivistConfig,
|
|
7
|
+
ArchivistDeleteQuerySchema,
|
|
8
|
+
ArchivistFindQuerySchema,
|
|
9
|
+
ArchivistInsertQuery,
|
|
10
|
+
ArchivistInsertQuerySchema,
|
|
11
11
|
} from '@xyo-network/archivist-interface'
|
|
12
12
|
import { XyoBoundWitness } from '@xyo-network/boundwitness'
|
|
13
|
-
import {
|
|
13
|
+
import { ModuleParams } from '@xyo-network/module'
|
|
14
14
|
import { PayloadWrapper, XyoPayload } from '@xyo-network/payload'
|
|
15
15
|
import { PromisableArray } from '@xyo-network/promise'
|
|
16
16
|
import Cookies from 'js-cookie'
|
|
@@ -26,7 +26,7 @@ export type XyoCookieArchivistConfigSchema = CookieArchivistConfigSchema
|
|
|
26
26
|
/** @deprecated use CookieArchivistConfigSchema instead */
|
|
27
27
|
export const XyoCookieArchivistConfigSchema = CookieArchivistConfigSchema
|
|
28
28
|
|
|
29
|
-
export type CookieArchivistConfig =
|
|
29
|
+
export type CookieArchivistConfig = ArchivistConfig<{
|
|
30
30
|
domain?: string
|
|
31
31
|
maxEntries?: number
|
|
32
32
|
maxEntrySize?: number
|
|
@@ -58,7 +58,7 @@ export class CookieArchivist extends AbstractArchivist<CookieArchivistConfig> {
|
|
|
58
58
|
return this.config?.namespace ?? 'xyoarch'
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
static override async create(params?:
|
|
61
|
+
static override async create(params?: ModuleParams<CookieArchivistConfig>): Promise<CookieArchivist> {
|
|
62
62
|
return (await super.create(params)) as CookieArchivist
|
|
63
63
|
}
|
|
64
64
|
|
|
@@ -93,9 +93,9 @@ export class CookieArchivist extends AbstractArchivist<CookieArchivistConfig> {
|
|
|
93
93
|
const settled = await Promise.allSettled(
|
|
94
94
|
compact(
|
|
95
95
|
Object.values((await this.parents()).commit ?? [])?.map(async (parent) => {
|
|
96
|
-
const queryPayload = PayloadWrapper.parse<
|
|
96
|
+
const queryPayload = PayloadWrapper.parse<ArchivistInsertQuery>({
|
|
97
97
|
payloads: payloads.map((payload) => PayloadWrapper.hash(payload)),
|
|
98
|
-
schema:
|
|
98
|
+
schema: ArchivistInsertQuerySchema,
|
|
99
99
|
})
|
|
100
100
|
const query = await this.bindQuery(queryPayload)
|
|
101
101
|
return (await parent?.query(query[0], query[1]))?.[0]
|
|
@@ -165,12 +165,12 @@ export class CookieArchivist extends AbstractArchivist<CookieArchivistConfig> {
|
|
|
165
165
|
|
|
166
166
|
public override queries() {
|
|
167
167
|
return [
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
168
|
+
ArchivistAllQuerySchema,
|
|
169
|
+
ArchivistDeleteQuerySchema,
|
|
170
|
+
ArchivistClearQuerySchema,
|
|
171
|
+
ArchivistFindQuerySchema,
|
|
172
|
+
ArchivistInsertQuerySchema,
|
|
173
|
+
ArchivistCommitQuerySchema,
|
|
174
174
|
...super.queries(),
|
|
175
175
|
]
|
|
176
176
|
}
|
package/src/MemoryArchivist.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert'
|
|
2
2
|
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
ArchivistAllQuerySchema,
|
|
4
|
+
ArchivistClearQuerySchema,
|
|
5
|
+
ArchivistCommitQuerySchema,
|
|
6
|
+
ArchivistConfig,
|
|
7
|
+
ArchivistDeleteQuerySchema,
|
|
8
|
+
ArchivistFindQuerySchema,
|
|
9
|
+
ArchivistInsertQuery,
|
|
10
|
+
ArchivistInsertQuerySchema,
|
|
11
11
|
} from '@xyo-network/archivist-interface'
|
|
12
12
|
import { XyoBoundWitness } from '@xyo-network/boundwitness'
|
|
13
|
-
import {
|
|
13
|
+
import { ModuleParams } from '@xyo-network/module'
|
|
14
14
|
import { PayloadWrapper, XyoPayload } from '@xyo-network/payload'
|
|
15
15
|
import { PromisableArray } from '@xyo-network/promise'
|
|
16
16
|
import compact from 'lodash/compact'
|
|
@@ -27,7 +27,7 @@ export type XyoMemoryArchivistConfigSchema = MemoryArchivistConfigSchema
|
|
|
27
27
|
/** @deprecated use MemoryArchivistConfigSchema instead */
|
|
28
28
|
export const XyoMemoryArchivistConfigSchema = MemoryArchivistConfigSchema
|
|
29
29
|
|
|
30
|
-
export type MemoryArchivistConfig =
|
|
30
|
+
export type MemoryArchivistConfig = ArchivistConfig<{
|
|
31
31
|
max?: number
|
|
32
32
|
schema: MemoryArchivistConfigSchema
|
|
33
33
|
}>
|
|
@@ -40,7 +40,7 @@ export class MemoryArchivist<TConfig extends MemoryArchivistConfig = MemoryArchi
|
|
|
40
40
|
|
|
41
41
|
private cache: LruCache<string, XyoPayload>
|
|
42
42
|
|
|
43
|
-
protected constructor(params:
|
|
43
|
+
protected constructor(params: ModuleParams<TConfig>) {
|
|
44
44
|
super(params)
|
|
45
45
|
this.cache = new LruCache<string, XyoPayload>({ max: this.max })
|
|
46
46
|
}
|
|
@@ -49,7 +49,7 @@ export class MemoryArchivist<TConfig extends MemoryArchivistConfig = MemoryArchi
|
|
|
49
49
|
return this.config?.max ?? 10000
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
static override async create(params?:
|
|
52
|
+
static override async create(params?: ModuleParams<MemoryArchivistConfig>): Promise<MemoryArchivist> {
|
|
53
53
|
return (await super.create(params)) as MemoryArchivist
|
|
54
54
|
}
|
|
55
55
|
|
|
@@ -77,9 +77,9 @@ export class MemoryArchivist<TConfig extends MemoryArchivistConfig = MemoryArchi
|
|
|
77
77
|
const settled = await Promise.allSettled(
|
|
78
78
|
compact(
|
|
79
79
|
Object.values((await this.parents()).commit ?? [])?.map(async (parent) => {
|
|
80
|
-
const queryPayload = PayloadWrapper.parse<
|
|
80
|
+
const queryPayload = PayloadWrapper.parse<ArchivistInsertQuery>({
|
|
81
81
|
payloads: payloads.map((payload) => PayloadWrapper.hash(payload)),
|
|
82
|
-
schema:
|
|
82
|
+
schema: ArchivistInsertQuerySchema,
|
|
83
83
|
})
|
|
84
84
|
const query = await this.bindQuery(queryPayload)
|
|
85
85
|
return (await parent?.query(query[0], query[1]))?.[0]
|
|
@@ -150,12 +150,12 @@ export class MemoryArchivist<TConfig extends MemoryArchivistConfig = MemoryArchi
|
|
|
150
150
|
|
|
151
151
|
public override queries() {
|
|
152
152
|
return [
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
153
|
+
ArchivistAllQuerySchema,
|
|
154
|
+
ArchivistDeleteQuerySchema,
|
|
155
|
+
ArchivistClearQuerySchema,
|
|
156
|
+
ArchivistFindQuerySchema,
|
|
157
|
+
ArchivistInsertQuerySchema,
|
|
158
|
+
ArchivistCommitQuerySchema,
|
|
159
159
|
...super.queries(),
|
|
160
160
|
]
|
|
161
161
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @jest-environment jsdom
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { AbstractModuleResolver } from '@xyo-network/module'
|
|
6
6
|
import { PayloadWrapper } from '@xyo-network/payload'
|
|
7
7
|
|
|
8
8
|
import { MemoryArchivist } from './MemoryArchivist'
|
|
@@ -64,7 +64,7 @@ test('XyoArchivist Parent Write Through', async () => {
|
|
|
64
64
|
schema: StorageArchivistConfigSchema,
|
|
65
65
|
type: 'local',
|
|
66
66
|
},
|
|
67
|
-
resolver: new
|
|
67
|
+
resolver: new AbstractModuleResolver().add(memory),
|
|
68
68
|
})
|
|
69
69
|
await storage.start()
|
|
70
70
|
|
package/src/StorageArchivist.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert'
|
|
2
2
|
import { Account } from '@xyo-network/account'
|
|
3
3
|
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
4
|
+
ArchivistAllQuerySchema,
|
|
5
|
+
ArchivistClearQuerySchema,
|
|
6
|
+
ArchivistCommitQuerySchema,
|
|
7
|
+
ArchivistConfig,
|
|
8
|
+
ArchivistDeleteQuerySchema,
|
|
9
|
+
ArchivistFindQuerySchema,
|
|
10
|
+
ArchivistInsertQuery,
|
|
11
|
+
ArchivistInsertQuerySchema,
|
|
12
12
|
} from '@xyo-network/archivist-interface'
|
|
13
13
|
import { XyoBoundWitness } from '@xyo-network/boundwitness'
|
|
14
|
-
import {
|
|
14
|
+
import { ModuleParams } from '@xyo-network/module'
|
|
15
15
|
import { PayloadWrapper, XyoPayload } from '@xyo-network/payload'
|
|
16
16
|
import { PromisableArray } from '@xyo-network/promise'
|
|
17
17
|
import compact from 'lodash/compact'
|
|
@@ -28,7 +28,7 @@ export type XyoStorageArchivistConfigSchema = StorageArchivistConfigSchema
|
|
|
28
28
|
/** @deprecated use StorageArchivistConfigSchema instead */
|
|
29
29
|
export const XyoStorageArchivistConfigSchema = StorageArchivistConfigSchema
|
|
30
30
|
|
|
31
|
-
export type StorageArchivistConfig =
|
|
31
|
+
export type StorageArchivistConfig = ArchivistConfig<{
|
|
32
32
|
maxEntries?: number
|
|
33
33
|
maxEntrySize?: number
|
|
34
34
|
namespace?: string
|
|
@@ -45,7 +45,7 @@ export class XyoStorageArchivist extends AbstractArchivist<StorageArchivistConfi
|
|
|
45
45
|
private _privateStorage: StoreBase | undefined
|
|
46
46
|
private _storage: StoreBase | undefined
|
|
47
47
|
|
|
48
|
-
constructor(params:
|
|
48
|
+
constructor(params: ModuleParams<StorageArchivistConfig>) {
|
|
49
49
|
super(params)
|
|
50
50
|
this.loadAccount()
|
|
51
51
|
}
|
|
@@ -82,7 +82,7 @@ export class XyoStorageArchivist extends AbstractArchivist<StorageArchivistConfi
|
|
|
82
82
|
return this._storage
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
static override async create(params?:
|
|
85
|
+
static override async create(params?: ModuleParams<StorageArchivistConfig>): Promise<XyoStorageArchivist> {
|
|
86
86
|
return (await super.create(params)) as XyoStorageArchivist
|
|
87
87
|
}
|
|
88
88
|
|
|
@@ -114,9 +114,9 @@ export class XyoStorageArchivist extends AbstractArchivist<StorageArchivistConfi
|
|
|
114
114
|
const settled = await Promise.allSettled(
|
|
115
115
|
compact(
|
|
116
116
|
Object.values((await this.parents()).commit ?? [])?.map(async (parent) => {
|
|
117
|
-
const queryPayload = PayloadWrapper.parse<
|
|
117
|
+
const queryPayload = PayloadWrapper.parse<ArchivistInsertQuery>({
|
|
118
118
|
payloads: payloads.map((payload) => PayloadWrapper.hash(payload)),
|
|
119
|
-
schema:
|
|
119
|
+
schema: ArchivistInsertQuerySchema,
|
|
120
120
|
})
|
|
121
121
|
const query = await this.bindQuery(queryPayload)
|
|
122
122
|
return (await parent?.query(query[0], query[1]))?.[0]
|
|
@@ -189,12 +189,12 @@ export class XyoStorageArchivist extends AbstractArchivist<StorageArchivistConfi
|
|
|
189
189
|
|
|
190
190
|
public override queries() {
|
|
191
191
|
return [
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
192
|
+
ArchivistAllQuerySchema,
|
|
193
|
+
ArchivistDeleteQuerySchema,
|
|
194
|
+
ArchivistClearQuerySchema,
|
|
195
|
+
ArchivistFindQuerySchema,
|
|
196
|
+
ArchivistInsertQuerySchema,
|
|
197
|
+
ArchivistCommitQuerySchema,
|
|
198
198
|
...super.queries(),
|
|
199
199
|
]
|
|
200
200
|
}
|