@xyo-network/archivist 2.26.2 → 2.26.3
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 +3 -2
- package/dist/cjs/Abstract.d.ts.map +1 -1
- package/dist/cjs/Abstract.js +14 -6
- package/dist/cjs/Abstract.js.map +1 -1
- package/dist/cjs/XyoArchivistConfig.d.ts +3 -8
- package/dist/cjs/XyoArchivistConfig.d.ts.map +1 -1
- package/dist/cjs/XyoArchivistConfig.js.map +1 -1
- package/dist/cjs/XyoMemoryArchivist.d.ts.map +1 -1
- package/dist/cjs/XyoMemoryArchivist.js +3 -3
- package/dist/cjs/XyoMemoryArchivist.js.map +1 -1
- package/dist/docs.json +1183 -1026
- package/dist/esm/Abstract.d.ts +3 -2
- package/dist/esm/Abstract.d.ts.map +1 -1
- package/dist/esm/Abstract.js +12 -4
- package/dist/esm/Abstract.js.map +1 -1
- package/dist/esm/XyoArchivistConfig.d.ts +3 -8
- package/dist/esm/XyoArchivistConfig.d.ts.map +1 -1
- package/dist/esm/XyoArchivistConfig.js.map +1 -1
- package/dist/esm/XyoMemoryArchivist.d.ts.map +1 -1
- package/dist/esm/XyoMemoryArchivist.js +2 -2
- package/dist/esm/XyoMemoryArchivist.js.map +1 -1
- package/package.json +6 -6
- package/src/Abstract.ts +15 -6
- package/src/XyoArchivistConfig.ts +3 -9
- package/src/XyoMemoryArchivist.ts +4 -2
package/dist/esm/Abstract.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { XyoPayload } from '@xyo-network/payload';
|
|
|
4
4
|
import { NullablePromisableArray, Promisable, PromisableArray } from '@xyo-network/promisable';
|
|
5
5
|
import { Archivist } from './Archivist';
|
|
6
6
|
import { XyoArchivist, XyoArchivistQueryPayload } from './XyoArchivist';
|
|
7
|
-
import { XyoArchivistConfig,
|
|
7
|
+
import { XyoArchivistConfig, XyoArchivistParents } from './XyoArchivistConfig';
|
|
8
8
|
export declare abstract class XyoAbstractArchivist<Q extends XyoArchivistQueryPayload = XyoArchivistQueryPayload, C extends XyoArchivistConfig = XyoArchivistConfig> extends XyoAbstractModule<Q, C> implements XyoArchivist<XyoArchivistQueryPayload>, Archivist<XyoPayload, XyoPayload, XyoPayload, XyoPayload, XyoArchivistQueryPayload> {
|
|
9
9
|
abstract get(ids: string[]): NullablePromisableArray<XyoPayload<{
|
|
10
10
|
schema: string;
|
|
@@ -23,7 +23,8 @@ export declare abstract class XyoAbstractArchivist<Q extends XyoArchivistQueryPa
|
|
|
23
23
|
get resolver(): ((address: string) => XyoArchivist<XyoArchivistQueryPayload<XyoPayload<{
|
|
24
24
|
schema: string;
|
|
25
25
|
}>>>) | undefined;
|
|
26
|
+
private resolveArchivists;
|
|
26
27
|
private _parents?;
|
|
27
|
-
get parents():
|
|
28
|
+
get parents(): XyoArchivistParents;
|
|
28
29
|
}
|
|
29
30
|
//# sourceMappingURL=Abstract.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Abstract.d.ts","sourceRoot":"","sources":["../../src/Abstract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"Abstract.d.ts","sourceRoot":"","sources":["../../src/Abstract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAE9F,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE9E,8BAAsB,oBAAoB,CACtC,CAAC,SAAS,wBAAwB,GAAG,wBAAwB,EAC7D,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,CAEnD,SAAQ,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAC9B,YAAW,YAAY,CAAC,wBAAwB,CAAC,EAAE,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,wBAAwB,CAAC;IAEtI,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,uBAAuB,CAAC,UAAU,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEpF,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,wBAAwB,CAAC,UAAU,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE/H,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,GAAG,eAAe,CAAC,UAAU,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;aAEtF,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC;IAEjF,IAAI,QAAQ;;sBAEX;IAED,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,QAAQ,CAAC,CAAqB;IACtC,IAAI,OAAO,wBAOV;CACF"}
|
package/dist/esm/Abstract.js
CHANGED
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/sdk-js';
|
|
2
2
|
import { XyoAbstractModule } from '@xyo-network/module';
|
|
3
|
-
import compact from 'lodash/compact';
|
|
4
3
|
export class XyoAbstractArchivist extends XyoAbstractModule {
|
|
5
4
|
get resolver() {
|
|
6
5
|
return this.config.resolver;
|
|
7
6
|
}
|
|
7
|
+
resolveArchivists(archivists) {
|
|
8
|
+
const resolved = {};
|
|
9
|
+
if (archivists) {
|
|
10
|
+
Object.entries(archivists).forEach(([key, value]) => {
|
|
11
|
+
resolved[key] = value ?? this.resolver?.(key) ?? null;
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
return resolved;
|
|
15
|
+
}
|
|
8
16
|
_parents;
|
|
9
17
|
get parents() {
|
|
10
18
|
this._parents = this._parents ?? {
|
|
11
|
-
commit:
|
|
12
|
-
read:
|
|
13
|
-
write:
|
|
19
|
+
commit: this.resolveArchivists(this.config.parents?.commit),
|
|
20
|
+
read: this.resolveArchivists(this.config.parents?.commit),
|
|
21
|
+
write: this.resolveArchivists(this.config.parents?.commit),
|
|
14
22
|
};
|
|
15
23
|
return assertEx(this._parents);
|
|
16
24
|
}
|
package/dist/esm/Abstract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Abstract.js","sourceRoot":"","sources":["../../src/Abstract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"Abstract.js","sourceRoot":"","sources":["../../src/Abstract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAQvD,MAAM,OAAgB,oBAIpB,SAAQ,iBAAuB;IAW/B,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAA;IAC7B,CAAC;IAEO,iBAAiB,CAAC,UAA4D;QACpF,MAAM,QAAQ,GAAoD,EAAE,CAAA;QACpE,IAAI,UAAU,EAAE;YACd,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAClD,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,CAAA;YACvD,CAAC,CAAC,CAAA;SACH;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,QAAQ,CAAsB;IACtC,IAAI,OAAO;QACT,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI;YAC/B,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC;YAC3D,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC;YACzD,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC;SAC3D,CAAA;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAChC,CAAC;CACF"}
|
|
@@ -3,14 +3,9 @@ import { XyoModuleConfig } from '@xyo-network/module';
|
|
|
3
3
|
import { XyoPayload } from '@xyo-network/payload';
|
|
4
4
|
import { XyoArchivist, XyoArchivistQueryPayload } from './XyoArchivist';
|
|
5
5
|
export interface XyoArchivistParents {
|
|
6
|
-
read?: string
|
|
7
|
-
write?: string
|
|
8
|
-
commit?: string
|
|
9
|
-
}
|
|
10
|
-
export interface XyoResolvedArchivistParents {
|
|
11
|
-
read?: (XyoArchivist | null)[];
|
|
12
|
-
write?: (XyoArchivist | null)[];
|
|
13
|
-
commit?: (XyoArchivist | null)[];
|
|
6
|
+
read?: Record<string, XyoArchivist | null | undefined>;
|
|
7
|
+
write?: Record<string, XyoArchivist | null | undefined>;
|
|
8
|
+
commit?: Record<string, XyoArchivist | null | undefined>;
|
|
14
9
|
}
|
|
15
10
|
export declare type XyoArchivistConfig<T extends XyoPayload = XyoPayload, M extends XyoArchivist = XyoArchivist<XyoArchivistQueryPayload<T>>> = XyoModuleConfig<{
|
|
16
11
|
/** @field address of one or more parent archivists to read from */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoArchivistConfig.d.ts","sourceRoot":"","sources":["../../src/XyoArchivistConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AAEvE,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"XyoArchivistConfig.d.ts","sourceRoot":"","sources":["../../src/XyoArchivistConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AAEvE,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;CACzD;AAED,oBAAY,kBAAkB,CAC5B,CAAC,SAAS,UAAU,GAAG,UAAU,EACjC,CAAC,SAAS,YAAY,GAAG,YAAY,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,IAChE,eAAe,CACjB;IACE,mEAAmE;IACnE,OAAO,CAAC,EAAE,mBAAmB,CAAA;IAC7B,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,GAAG,CAAC,EACL,CAAC,CACF,CAAA;AAED,qBAAa,yBAAyB,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB;IACtF,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBACR,MAAM,CAAC,EAAE,CAAC;IAItB,IAAW,OAAO,oCAEjB;IAED,IAAW,OAAO,2BAEjB;IAED,IAAW,YAAY,uBAEtB;IAED,IAAW,gBAAgB,wBAE1B;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoArchivistConfig.js","sourceRoot":"","sources":["../../src/XyoArchivistConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"XyoArchivistConfig.js","sourceRoot":"","sources":["../../src/XyoArchivistConfig.ts"],"names":[],"mappings":"AA2BA,MAAM,OAAO,yBAAyB;IAC1B,MAAM,CAAI;IACpB,YAAY,MAAU;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,CAAA;IAC7B,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,CAAA;IAC7B,CAAC;IAED,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,MAAM,EAAE,YAAY,CAAA;IAClC,CAAC;IAED,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAA;IACtC,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoMemoryArchivist.d.ts","sourceRoot":"","sources":["../../src/XyoMemoryArchivist.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAA0B,MAAM,2BAA2B,CAAA;AACnF,OAAO,EAAE,UAAU,EAAqB,MAAM,sBAAsB,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAIrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAE5D,oBAAY,wBAAwB,GAAG,kBAAkB,CAAC;IACxD,MAAM,EAAE,4CAA4C,CAAA;IACpD,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAC,CAAA;AAEF,qBAAa,kBAAkB,CAC7B,CAAC,SAAS,wBAAwB,GAAG,wBAAwB,EAC7D,CAAC,SAAS,wBAAwB,GAAG,wBAAwB,CAC7D,SAAQ,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC;IAClC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,eAAe,EAAE,UAAU,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC,CAAC;IAGpF,IAAW,GAAG,WAEb;IAED,OAAO,CAAC,KAAK,CAA8B;gBAE/B,MAAM,EAAE,CAAC;IAKd,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC;IAMlD,KAAK,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvB,cAAc,CAAC,IAAI,EAAE,MAAM;;;IAY3B,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC;IAQ3D,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,eAAe,CAAC,UAAU,CAAC;IAS3D,IAAI,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,EAAE,KAAK,EAAE,mBAAmB,GAAG,eAAe,CAAC,CAAC,CAAC;IAUvF,GAAG,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE;IAIrC,MAAM;;;
|
|
1
|
+
{"version":3,"file":"XyoMemoryArchivist.d.ts","sourceRoot":"","sources":["../../src/XyoMemoryArchivist.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAA0B,MAAM,2BAA2B,CAAA;AACnF,OAAO,EAAE,UAAU,EAAqB,MAAM,sBAAsB,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAIrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAE5D,oBAAY,wBAAwB,GAAG,kBAAkB,CAAC;IACxD,MAAM,EAAE,4CAA4C,CAAA;IACpD,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAC,CAAA;AAEF,qBAAa,kBAAkB,CAC7B,CAAC,SAAS,wBAAwB,GAAG,wBAAwB,EAC7D,CAAC,SAAS,wBAAwB,GAAG,wBAAwB,CAC7D,SAAQ,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC;IAClC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,eAAe,EAAE,UAAU,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC,CAAC;IAGpF,IAAW,GAAG,WAEb;IAED,OAAO,CAAC,KAAK,CAA8B;gBAE/B,MAAM,EAAE,CAAC;IAKd,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC;IAMlD,KAAK,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvB,cAAc,CAAC,IAAI,EAAE,MAAM;;;IAY3B,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC;IAQ3D,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,eAAe,CAAC,UAAU,CAAC;IAS3D,IAAI,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,EAAE,KAAK,EAAE,mBAAmB,GAAG,eAAe,CAAC,CAAC,CAAC;IAUvF,GAAG,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE;IAIrC,MAAM;;;CAWpB"}
|
|
@@ -25,7 +25,7 @@ export class XyoMemoryArchivist extends XyoAbstractArchivist {
|
|
|
25
25
|
this.cache.clear();
|
|
26
26
|
}
|
|
27
27
|
async getFromParents(hash) {
|
|
28
|
-
return compact(await Promise.all(compact(this.parents?.read
|
|
28
|
+
return compact(await Promise.all(compact(Object.values(this.parents?.read ?? {}).map(async (parent) => {
|
|
29
29
|
return (await parent?.get([hash]))?.[0] ?? null;
|
|
30
30
|
}))))[0];
|
|
31
31
|
}
|
|
@@ -59,7 +59,7 @@ export class XyoMemoryArchivist extends XyoAbstractArchivist {
|
|
|
59
59
|
const payloads = assertEx(await this.all(), 'Nothing to commit');
|
|
60
60
|
const builder = new XyoBoundWitnessBuilder();
|
|
61
61
|
const block = builder.payloads(payloads).witness(account).build();
|
|
62
|
-
const result = await Promise.all(compact(this.parents?.commit?.map(async (parent) => await parent?.insert?.(payloads.concat([block])))));
|
|
62
|
+
const result = await Promise.all(compact(Object.values(this.parents?.commit ?? [])?.map(async (parent) => await parent?.insert?.(payloads.concat([block])))));
|
|
63
63
|
await this.clear();
|
|
64
64
|
return result;
|
|
65
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoMemoryArchivist.js","sourceRoot":"","sources":["../../src/XyoMemoryArchivist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAmB,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AACnF,OAAO,EAAc,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAEpE,OAAO,OAAO,MAAM,gBAAgB,CAAA;AACpC,OAAO,QAAQ,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAUjD,MAAM,OAAO,kBAGX,SAAQ,oBAA0B;IAClC,KAAK,CAAI,MAAS;QAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,IAAW,GAAG;QACZ,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,KAAK,CAAA;IAClC,CAAC;IAEO,KAAK,CAA8B;IAE3C,YAAY,MAAS;QACnB,KAAK,CAAC,MAAM,CAAC,CAAA;QACb,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAqB,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IAClE,CAAC;IAEM,MAAM,CAAC,MAAgB;QAC5B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACzB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,IAAY;QACtC,OAAO,OAAO,CACZ,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CACL,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"XyoMemoryArchivist.js","sourceRoot":"","sources":["../../src/XyoMemoryArchivist.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@xylabs/sdk-js": "^2.6.6",
|
|
13
|
-
"@xyo-network/account": "^2.26.
|
|
14
|
-
"@xyo-network/boundwitness": "^2.26.
|
|
15
|
-
"@xyo-network/module": "^2.26.
|
|
16
|
-
"@xyo-network/payload": "^2.26.
|
|
17
|
-
"@xyo-network/promisable": "^2.26.
|
|
13
|
+
"@xyo-network/account": "^2.26.3",
|
|
14
|
+
"@xyo-network/boundwitness": "^2.26.3",
|
|
15
|
+
"@xyo-network/module": "^2.26.3",
|
|
16
|
+
"@xyo-network/payload": "^2.26.3",
|
|
17
|
+
"@xyo-network/promisable": "^2.26.3",
|
|
18
18
|
"lodash": "^4.17.21",
|
|
19
19
|
"lru-cache": "^7.14.0",
|
|
20
20
|
"tslib": "^2.4.0"
|
|
@@ -56,5 +56,5 @@
|
|
|
56
56
|
},
|
|
57
57
|
"sideEffects": false,
|
|
58
58
|
"types": "dist/esm/index.d.ts",
|
|
59
|
-
"version": "2.26.
|
|
59
|
+
"version": "2.26.3"
|
|
60
60
|
}
|
package/src/Abstract.ts
CHANGED
|
@@ -3,11 +3,10 @@ import { XyoBoundWitness } from '@xyo-network/boundwitness'
|
|
|
3
3
|
import { XyoAbstractModule } from '@xyo-network/module'
|
|
4
4
|
import { XyoPayload } from '@xyo-network/payload'
|
|
5
5
|
import { NullablePromisableArray, Promisable, PromisableArray } from '@xyo-network/promisable'
|
|
6
|
-
import compact from 'lodash/compact'
|
|
7
6
|
|
|
8
7
|
import { Archivist } from './Archivist'
|
|
9
8
|
import { XyoArchivist, XyoArchivistQueryPayload } from './XyoArchivist'
|
|
10
|
-
import { XyoArchivistConfig,
|
|
9
|
+
import { XyoArchivistConfig, XyoArchivistParents } from './XyoArchivistConfig'
|
|
11
10
|
|
|
12
11
|
export abstract class XyoAbstractArchivist<
|
|
13
12
|
Q extends XyoArchivistQueryPayload = XyoArchivistQueryPayload,
|
|
@@ -28,12 +27,22 @@ export abstract class XyoAbstractArchivist<
|
|
|
28
27
|
return this.config.resolver
|
|
29
28
|
}
|
|
30
29
|
|
|
31
|
-
private
|
|
30
|
+
private resolveArchivists(archivists?: Record<string, XyoArchivist | null | undefined>) {
|
|
31
|
+
const resolved: Record<string, XyoArchivist | null | undefined> = {}
|
|
32
|
+
if (archivists) {
|
|
33
|
+
Object.entries(archivists).forEach(([key, value]) => {
|
|
34
|
+
resolved[key] = value ?? this.resolver?.(key) ?? null
|
|
35
|
+
})
|
|
36
|
+
}
|
|
37
|
+
return resolved
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
private _parents?: XyoArchivistParents
|
|
32
41
|
get parents() {
|
|
33
42
|
this._parents = this._parents ?? {
|
|
34
|
-
commit:
|
|
35
|
-
read:
|
|
36
|
-
write:
|
|
43
|
+
commit: this.resolveArchivists(this.config.parents?.commit),
|
|
44
|
+
read: this.resolveArchivists(this.config.parents?.commit),
|
|
45
|
+
write: this.resolveArchivists(this.config.parents?.commit),
|
|
37
46
|
}
|
|
38
47
|
return assertEx(this._parents)
|
|
39
48
|
}
|
|
@@ -5,15 +5,9 @@ import { XyoPayload } from '@xyo-network/payload'
|
|
|
5
5
|
import { XyoArchivist, XyoArchivistQueryPayload } from './XyoArchivist'
|
|
6
6
|
|
|
7
7
|
export interface XyoArchivistParents {
|
|
8
|
-
read?: string
|
|
9
|
-
write?: string
|
|
10
|
-
commit?: string
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export interface XyoResolvedArchivistParents {
|
|
14
|
-
read?: (XyoArchivist | null)[]
|
|
15
|
-
write?: (XyoArchivist | null)[]
|
|
16
|
-
commit?: (XyoArchivist | null)[]
|
|
8
|
+
read?: Record<string, XyoArchivist | null | undefined>
|
|
9
|
+
write?: Record<string, XyoArchivist | null | undefined>
|
|
10
|
+
commit?: Record<string, XyoArchivist | null | undefined>
|
|
17
11
|
}
|
|
18
12
|
|
|
19
13
|
export type XyoArchivistConfig<
|
|
@@ -47,7 +47,7 @@ export class XyoMemoryArchivist<
|
|
|
47
47
|
return compact(
|
|
48
48
|
await Promise.all(
|
|
49
49
|
compact(
|
|
50
|
-
this.parents?.read
|
|
50
|
+
Object.values(this.parents?.read ?? {}).map(async (parent) => {
|
|
51
51
|
return (await parent?.get([hash]))?.[0] ?? null
|
|
52
52
|
}),
|
|
53
53
|
),
|
|
@@ -91,7 +91,9 @@ export class XyoMemoryArchivist<
|
|
|
91
91
|
const payloads = assertEx(await this.all(), 'Nothing to commit')
|
|
92
92
|
const builder = new XyoBoundWitnessBuilder<XyoBoundWitness, XyoPayload>()
|
|
93
93
|
const block = builder.payloads(payloads).witness(account).build()
|
|
94
|
-
const result = await Promise.all(
|
|
94
|
+
const result = await Promise.all(
|
|
95
|
+
compact(Object.values(this.parents?.commit ?? [])?.map(async (parent) => await parent?.insert?.(payloads.concat([block])))),
|
|
96
|
+
)
|
|
95
97
|
await this.clear()
|
|
96
98
|
return result
|
|
97
99
|
}
|