@xyo-network/archivist 2.25.5 → 2.26.2
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/Abstract.d.ts +29 -0
- package/dist/cjs/Abstract.d.ts.map +1 -0
- package/dist/cjs/Abstract.js +23 -0
- package/dist/cjs/Abstract.js.map +1 -0
- package/dist/cjs/{model/Archivist.d.ts → Archivist.d.ts} +1 -6
- package/dist/cjs/Archivist.d.ts.map +1 -0
- package/dist/cjs/{model/Archivist.js → Archivist.js} +0 -0
- package/dist/{esm/model → cjs}/Archivist.js.map +1 -1
- package/dist/cjs/Query/All.d.ts +7 -0
- package/dist/cjs/Query/All.d.ts.map +1 -0
- package/dist/cjs/Query/All.js +5 -0
- package/dist/cjs/Query/All.js.map +1 -0
- package/dist/cjs/Query/Get.d.ts +8 -0
- package/dist/cjs/Query/Get.d.ts.map +1 -0
- package/dist/cjs/Query/Get.js +5 -0
- package/dist/cjs/Query/Get.js.map +1 -0
- package/dist/cjs/Query/index.d.ts +2 -0
- package/dist/cjs/Query/index.d.ts.map +1 -0
- package/dist/cjs/{model → Query}/index.js +1 -1
- package/dist/cjs/{model → Query}/index.js.map +1 -1
- package/dist/cjs/XyoArchivist.d.ts +13 -3
- package/dist/cjs/XyoArchivist.d.ts.map +1 -1
- package/dist/cjs/XyoArchivist.js +3 -0
- package/dist/cjs/XyoArchivist.js.map +1 -1
- package/dist/cjs/XyoArchivistConfig.d.ts +21 -8
- package/dist/cjs/XyoArchivistConfig.d.ts.map +1 -1
- package/dist/cjs/XyoArchivistConfig.js +2 -2
- package/dist/cjs/XyoArchivistConfig.js.map +1 -1
- package/dist/cjs/XyoMemoryArchivist.d.ts +18 -9
- package/dist/cjs/XyoMemoryArchivist.d.ts.map +1 -1
- package/dist/cjs/XyoMemoryArchivist.js +19 -7
- package/dist/cjs/XyoMemoryArchivist.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/docs.json +5730 -2125
- package/dist/esm/Abstract.d.ts +29 -0
- package/dist/esm/Abstract.d.ts.map +1 -0
- package/dist/esm/Abstract.js +18 -0
- package/dist/esm/Abstract.js.map +1 -0
- package/dist/esm/{model/Archivist.d.ts → Archivist.d.ts} +1 -6
- package/dist/esm/Archivist.d.ts.map +1 -0
- package/dist/esm/{model/Archivist.js → Archivist.js} +0 -0
- package/dist/{cjs/model → esm}/Archivist.js.map +1 -1
- package/dist/esm/Query/All.d.ts +7 -0
- package/dist/esm/Query/All.d.ts.map +1 -0
- package/dist/esm/Query/All.js +2 -0
- package/dist/esm/Query/All.js.map +1 -0
- package/dist/esm/Query/Get.d.ts +8 -0
- package/dist/esm/Query/Get.d.ts.map +1 -0
- package/dist/esm/Query/Get.js +2 -0
- package/dist/esm/Query/Get.js.map +1 -0
- package/dist/esm/Query/index.d.ts +2 -0
- package/dist/esm/Query/index.d.ts.map +1 -0
- package/dist/esm/Query/index.js +2 -0
- package/dist/esm/Query/index.js.map +1 -0
- package/dist/esm/XyoArchivist.d.ts +13 -3
- package/dist/esm/XyoArchivist.d.ts.map +1 -1
- package/dist/esm/XyoArchivist.js +2 -1
- package/dist/esm/XyoArchivist.js.map +1 -1
- package/dist/esm/XyoArchivistConfig.d.ts +21 -8
- package/dist/esm/XyoArchivistConfig.d.ts.map +1 -1
- package/dist/esm/XyoArchivistConfig.js +2 -2
- package/dist/esm/XyoArchivistConfig.js.map +1 -1
- package/dist/esm/XyoMemoryArchivist.d.ts +18 -9
- package/dist/esm/XyoMemoryArchivist.d.ts.map +1 -1
- package/dist/esm/XyoMemoryArchivist.js +13 -5
- package/dist/esm/XyoMemoryArchivist.js.map +1 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/package.json +9 -6
- package/src/Abstract.ts +40 -0
- package/src/{model/Archivist.ts → Archivist.ts} +1 -6
- package/src/Query/All.ts +8 -0
- package/src/Query/Get.ts +9 -0
- package/src/Query/index.ts +1 -0
- package/src/XyoArchivist.ts +19 -3
- package/src/XyoArchivistConfig.ts +30 -9
- package/src/XyoMemoryArchivist.ts +30 -13
- package/src/index.ts +2 -1
- package/dist/cjs/model/Archivist.d.ts.map +0 -1
- package/dist/cjs/model/index.d.ts +0 -2
- package/dist/cjs/model/index.d.ts.map +0 -1
- package/dist/esm/model/Archivist.d.ts.map +0 -1
- package/dist/esm/model/index.d.ts +0 -2
- package/dist/esm/model/index.d.ts.map +0 -1
- package/dist/esm/model/index.js +0 -2
- package/dist/esm/model/index.js.map +0 -1
- package/src/model/index.ts +0 -1
|
@@ -1,28 +1,34 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/sdk-js'
|
|
2
2
|
import { XyoBoundWitness, XyoBoundWitnessBuilder } from '@xyo-network/boundwitness'
|
|
3
3
|
import { XyoPayload, XyoPayloadWrapper } from '@xyo-network/payload'
|
|
4
|
+
import { Promisable, PromisableArray } from '@xyo-network/promisable'
|
|
5
|
+
import compact from 'lodash/compact'
|
|
4
6
|
import LruCache from 'lru-cache'
|
|
5
7
|
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { XyoArchivistConfig
|
|
8
|
+
import { XyoAbstractArchivist } from './Abstract'
|
|
9
|
+
import { XyoArchivistQueryPayload } from './XyoArchivist'
|
|
10
|
+
import { XyoArchivistConfig } from './XyoArchivistConfig'
|
|
9
11
|
import { XyoPayloadFindQuery } from './XyoPayloadFindFilter'
|
|
10
12
|
|
|
11
|
-
export
|
|
13
|
+
export type XyoMemoryArchivistConfig = XyoArchivistConfig<{
|
|
14
|
+
schema: 'network.xyo.module.config.archivist.memory'
|
|
12
15
|
max?: number
|
|
13
|
-
}
|
|
16
|
+
}>
|
|
14
17
|
|
|
15
|
-
export class XyoMemoryArchivist<
|
|
16
|
-
extends
|
|
17
|
-
|
|
18
|
-
{
|
|
18
|
+
export class XyoMemoryArchivist<
|
|
19
|
+
Q extends XyoArchivistQueryPayload = XyoArchivistQueryPayload,
|
|
20
|
+
C extends XyoMemoryArchivistConfig = XyoMemoryArchivistConfig,
|
|
21
|
+
> extends XyoAbstractArchivist<Q, C> {
|
|
22
|
+
query<Q>(_query: Q): Promisable<[XyoBoundWitness, XyoPayload<{ schema: string }>[]]> {
|
|
23
|
+
throw new Error('Method not implemented.')
|
|
24
|
+
}
|
|
19
25
|
public get max() {
|
|
20
26
|
return this.config?.max ?? 10000
|
|
21
27
|
}
|
|
22
28
|
|
|
23
29
|
private cache: LruCache<string, XyoPayload>
|
|
24
30
|
|
|
25
|
-
constructor(config
|
|
31
|
+
constructor(config: C) {
|
|
26
32
|
super(config)
|
|
27
33
|
this.cache = new LruCache<string, XyoPayload>({ max: this.max })
|
|
28
34
|
}
|
|
@@ -37,10 +43,22 @@ export class XyoMemoryArchivist<C extends XyoMemoryArchivistConfig<XyoPayload> =
|
|
|
37
43
|
this.cache.clear()
|
|
38
44
|
}
|
|
39
45
|
|
|
46
|
+
public async getFromParents(hash: string) {
|
|
47
|
+
return compact(
|
|
48
|
+
await Promise.all(
|
|
49
|
+
compact(
|
|
50
|
+
this.parents?.read?.map(async (parent) => {
|
|
51
|
+
return (await parent?.get([hash]))?.[0] ?? null
|
|
52
|
+
}),
|
|
53
|
+
),
|
|
54
|
+
),
|
|
55
|
+
)[0]
|
|
56
|
+
}
|
|
57
|
+
|
|
40
58
|
public async get(hashes: string[]): Promise<(XyoPayload | null)[]> {
|
|
41
59
|
return await Promise.all(
|
|
42
60
|
hashes.map(async (hash) => {
|
|
43
|
-
return this.cache.get(hash) ?? (await this.
|
|
61
|
+
return this.cache.get(hash) ?? (await this.getFromParents(hash)) ?? null
|
|
44
62
|
}),
|
|
45
63
|
)
|
|
46
64
|
}
|
|
@@ -69,12 +87,11 @@ export class XyoMemoryArchivist<C extends XyoMemoryArchivistConfig<XyoPayload> =
|
|
|
69
87
|
}
|
|
70
88
|
|
|
71
89
|
public async commit() {
|
|
72
|
-
const parent = assertEx(this.parent, 'Parent is required for commit')
|
|
73
90
|
const account = assertEx(this.account, 'Account is required for commit')
|
|
74
91
|
const payloads = assertEx(await this.all(), 'Nothing to commit')
|
|
75
92
|
const builder = new XyoBoundWitnessBuilder<XyoBoundWitness, XyoPayload>()
|
|
76
93
|
const block = builder.payloads(payloads).witness(account).build()
|
|
77
|
-
const result = await parent
|
|
94
|
+
const result = await Promise.all(compact(this.parents?.commit?.map(async (parent) => await parent?.insert?.(payloads.concat([block])))))
|
|
78
95
|
await this.clear()
|
|
79
96
|
return result
|
|
80
97
|
}
|
package/src/index.ts
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Archivist.d.ts","sourceRoot":"","sources":["../../../src/model/Archivist.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAC1C,oBAAY,eAAe,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAA;AAChD,oBAAY,kBAAkB,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;AAC7D,oBAAY,uBAAuB,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;AACvE,oBAAY,kBAAkB,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;AACxD,oBAAY,uBAAuB,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;AAElE,MAAM,WAAW,aAAa,CAAC,aAAa,EAAE,GAAG,GAAG,MAAM;IACxD,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAA;IACvD,GAAG,CAAC,IAAI,eAAe,CAAC,aAAa,CAAC,CAAA;CACvC;AAED,MAAM,WAAW,cAAc,CAAC,aAAa,EAAE,cAAc,GAAG,aAAa,EAAE,MAAM,GAAG,aAAa,EAAE,GAAG,GAAG,MAAM;IACjH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,cAAc,CAAC,CAAA;IACvD,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IAC7C,KAAK,CAAC,IAAI,IAAI,CAAA;CACf;AAED,MAAM,WAAW,cAAc,CAAC,aAAa,EAAE,cAAc,GAAG,aAAa,EAAE,MAAM,GAAG,OAAO;IAC7F,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC,cAAc,CAAC,CAAA;CACrD;AAED,MAAM,WAAW,cAAc,CAAC,aAAa;IAC3C,MAAM,CAAC,IAAI,eAAe,CAAC,aAAa,CAAC,CAAA;CAC1C;AAED,MAAM,WAAW,SAAS,CACxB,aAAa,EACb,cAAc,GAAG,aAAa,EAC9B,MAAM,GAAG,aAAa,EACtB,cAAc,GAAG,aAAa,EAC9B,MAAM,GAAG,OAAO,EAChB,GAAG,GAAG,MAAM,CACZ,SAAQ,aAAa,CAAC,aAAa,EAAE,GAAG,CAAC,EACvC,cAAc,CAAC,aAAa,EAAE,cAAc,EAAE,MAAM,CAAC,EACrD,cAAc,CAAC,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,CAAC,EAC1D,cAAc,CAAC,aAAa,CAAC;CAAG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Archivist.d.ts","sourceRoot":"","sources":["../../../src/model/Archivist.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAC1C,oBAAY,eAAe,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAA;AAChD,oBAAY,kBAAkB,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;AAC7D,oBAAY,uBAAuB,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;AACvE,oBAAY,kBAAkB,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;AACxD,oBAAY,uBAAuB,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;AAElE,MAAM,WAAW,aAAa,CAAC,aAAa,EAAE,GAAG,GAAG,MAAM;IACxD,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAA;IACvD,GAAG,CAAC,IAAI,eAAe,CAAC,aAAa,CAAC,CAAA;CACvC;AAED,MAAM,WAAW,cAAc,CAAC,aAAa,EAAE,cAAc,GAAG,aAAa,EAAE,MAAM,GAAG,aAAa,EAAE,GAAG,GAAG,MAAM;IACjH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,cAAc,CAAC,CAAA;IACvD,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IAC7C,KAAK,CAAC,IAAI,IAAI,CAAA;CACf;AAED,MAAM,WAAW,cAAc,CAAC,aAAa,EAAE,cAAc,GAAG,aAAa,EAAE,MAAM,GAAG,OAAO;IAC7F,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC,cAAc,CAAC,CAAA;CACrD;AAED,MAAM,WAAW,cAAc,CAAC,aAAa;IAC3C,MAAM,CAAC,IAAI,eAAe,CAAC,aAAa,CAAC,CAAA;CAC1C;AAED,MAAM,WAAW,SAAS,CACxB,aAAa,EACb,cAAc,GAAG,aAAa,EAC9B,MAAM,GAAG,aAAa,EACtB,cAAc,GAAG,aAAa,EAC9B,MAAM,GAAG,OAAO,EAChB,GAAG,GAAG,MAAM,CACZ,SAAQ,aAAa,CAAC,aAAa,EAAE,GAAG,CAAC,EACvC,cAAc,CAAC,aAAa,EAAE,cAAc,EAAE,MAAM,CAAC,EACrD,cAAc,CAAC,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,CAAC,EAC1D,cAAc,CAAC,aAAa,CAAC;CAAG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
|
package/dist/esm/model/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
|
package/src/model/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Archivist'
|