@xyo-network/node 2.38.0-rc.1 → 2.38.0-rc.11
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/MemoryNode.d.ts +2 -1
- package/dist/cjs/MemoryNode.d.ts.map +1 -1
- package/dist/cjs/MemoryNode.js +8 -0
- package/dist/cjs/MemoryNode.js.map +1 -1
- package/dist/cjs/XyoNode.d.ts +1 -1
- package/dist/cjs/XyoNode.d.ts.map +1 -1
- package/dist/cjs/XyoNode.js +33 -25
- package/dist/cjs/XyoNode.js.map +1 -1
- package/dist/cjs/XyoNodeWrapper.js +1 -1
- package/dist/cjs/XyoNodeWrapper.js.map +1 -1
- package/dist/docs.json +1659 -1974
- package/dist/esm/MemoryNode.d.ts +2 -1
- package/dist/esm/MemoryNode.d.ts.map +1 -1
- package/dist/esm/MemoryNode.js +5 -0
- package/dist/esm/MemoryNode.js.map +1 -1
- package/dist/esm/XyoNode.d.ts +1 -1
- package/dist/esm/XyoNode.d.ts.map +1 -1
- package/dist/esm/XyoNode.js +28 -22
- package/dist/esm/XyoNode.js.map +1 -1
- package/dist/esm/XyoNodeWrapper.js +1 -1
- package/dist/esm/XyoNodeWrapper.js.map +1 -1
- package/package.json +7 -7
- package/src/MemoryNode.spec.ts +8 -9
- package/src/MemoryNode.ts +7 -1
- package/src/XyoNode.ts +27 -22
- package/src/XyoNodeWrapper.ts +1 -1
package/dist/esm/MemoryNode.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { XyoModule } from '@xyo-network/module';
|
|
1
|
+
import { XyoModule, XyoModuleParams } from '@xyo-network/module';
|
|
2
2
|
import { NodeConfig } from './Config';
|
|
3
3
|
import { XyoNode } from './XyoNode';
|
|
4
4
|
export declare class MemoryNode<TConfig extends NodeConfig = NodeConfig, TModule extends XyoModule = XyoModule> extends XyoNode<TConfig, TModule> {
|
|
5
5
|
private registeredModuleMap;
|
|
6
6
|
private attachedModuleMap;
|
|
7
|
+
static create(params?: XyoModuleParams): Promise<MemoryNode>;
|
|
7
8
|
queries(): string[];
|
|
8
9
|
attached(): string[];
|
|
9
10
|
registered(): string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryNode.d.ts","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"MemoryNode.d.ts","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,qBAAa,UAAU,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,SAAS,SAAS,GAAG,SAAS,CAAE,SAAQ,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;IACvI,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,iBAAiB,CAA6B;WAEhC,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IAM3D,OAAO,IAAI,MAAM,EAAE;IAI1B,QAAQ;IAMR,UAAU;IAMV,eAAe;IAMf,iBAAiB;IAMjB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE;IAWhD,QAAQ,CAAC,MAAM,EAAE,OAAO;IAIxB,MAAM,CAAC,OAAO,EAAE,MAAM;IAKtB,MAAM,CAAC,OAAO,EAAE,MAAM;CAGhC"}
|
package/dist/esm/MemoryNode.js
CHANGED
|
@@ -5,6 +5,11 @@ import { XyoNode } from './XyoNode';
|
|
|
5
5
|
export class MemoryNode extends XyoNode {
|
|
6
6
|
registeredModuleMap = new Map();
|
|
7
7
|
attachedModuleMap = new Map();
|
|
8
|
+
static async create(params) {
|
|
9
|
+
const module = new MemoryNode(params);
|
|
10
|
+
await module.start();
|
|
11
|
+
return module;
|
|
12
|
+
}
|
|
8
13
|
queries() {
|
|
9
14
|
return [XyoNodeAttachQuerySchema, XyoNodeDetachQuerySchema, ...super.queries()];
|
|
10
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryNode.js","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AAInE,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,OAAO,UAA2F,SAAQ,OAAyB;IAC/H,mBAAmB,GAAG,IAAI,GAAG,EAAmB,CAAA;IAChD,iBAAiB,GAAG,IAAI,GAAG,EAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"MemoryNode.js","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/XyoNode.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export declare abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, T
|
|
|
9
9
|
abstract detach(_address: string): void;
|
|
10
10
|
abstract resolve(_address: string[]): (TModule | null)[];
|
|
11
11
|
private _archivist?;
|
|
12
|
-
|
|
12
|
+
getArchivist(): Promise<Module>;
|
|
13
13
|
registered(): string[];
|
|
14
14
|
attached(): string[];
|
|
15
15
|
registeredModules(): TModule[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoNode.d.ts","sourceRoot":"","sources":["../../src/XyoNode.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"XyoNode.d.ts","sourceRoot":"","sources":["../../src/XyoNode.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAA6C,SAAS,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE3I,OAAO,EAAE,UAAU,EAAe,MAAM,sBAAsB,CAAA;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,8BAAsB,OAAO,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,SAAS,SAAS,GAAG,SAAS,CAC1G,SAAQ,SAAS,CAAC,OAAO,CACzB,YAAW,UAAU;YAEP,iBAAiB;IAM/B,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IACvC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IACvC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE;IAExD,OAAO,CAAC,UAAU,CAAC,CAAQ;IACd,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAU5C,UAAU,IAAI,MAAM,EAAE;IAGtB,QAAQ,IAAI,MAAM,EAAE;IAIpB,iBAAiB,IAAI,OAAO,EAAE;IAG9B,eAAe,IAAI,OAAO,EAAE;IAG5B,4BAA4B;IAEb,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmC3H,KAAK;IAMpB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAGjC"}
|
package/dist/esm/XyoNode.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert';
|
|
2
2
|
import { XyoAccount } from '@xyo-network/account';
|
|
3
3
|
import { XyoArchivistWrapper, XyoMemoryArchivist } from '@xyo-network/archivist';
|
|
4
|
-
import { QueryBoundWitnessWrapper, XyoModule } from '@xyo-network/module';
|
|
4
|
+
import { QueryBoundWitnessWrapper, XyoErrorBuilder, XyoModule } from '@xyo-network/module';
|
|
5
5
|
import { XyoModuleInstanceSchema } from '@xyo-network/module-instance-payload-plugin';
|
|
6
6
|
import { XyoNodeAttachedQuerySchema, XyoNodeAttachQuerySchema, XyoNodeDetachQuerySchema, XyoNodeRegisteredQuerySchema } from './Queries';
|
|
7
7
|
export class XyoNode extends XyoModule {
|
|
8
8
|
async storeInstanceData() {
|
|
9
9
|
const payload = { address: this.address, queries: this.queries, schema: XyoModuleInstanceSchema };
|
|
10
10
|
const [bw] = await this.bindResult([payload]);
|
|
11
|
-
await new XyoArchivistWrapper(
|
|
11
|
+
await new XyoArchivistWrapper(await this.getArchivist()).insert([bw, payload]);
|
|
12
12
|
}
|
|
13
13
|
_archivist;
|
|
14
|
-
|
|
14
|
+
async getArchivist() {
|
|
15
15
|
if (!this._archivist) {
|
|
16
16
|
this._archivist =
|
|
17
17
|
this._archivist ??
|
|
18
18
|
(this.config?.archivist ? this.resolver?.fromAddress([this.config?.archivist]).shift() : undefined) ??
|
|
19
|
-
|
|
19
|
+
(await XyoMemoryArchivist.create());
|
|
20
20
|
}
|
|
21
21
|
return this._archivist;
|
|
22
22
|
}
|
|
@@ -39,25 +39,31 @@ export class XyoNode extends XyoModule {
|
|
|
39
39
|
assertEx(this.queryable(typedQuery.schema, wrapper.addresses));
|
|
40
40
|
const queryAccount = new XyoAccount();
|
|
41
41
|
const resultPayloads = [];
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
try {
|
|
43
|
+
switch (typedQuery.schema) {
|
|
44
|
+
case XyoNodeAttachQuerySchema: {
|
|
45
|
+
this.attach(typedQuery.address);
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
case XyoNodeDetachQuerySchema: {
|
|
49
|
+
this.detach(typedQuery.address);
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
case XyoNodeAttachedQuerySchema: {
|
|
53
|
+
this.attached();
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
case XyoNodeRegisteredQuerySchema: {
|
|
57
|
+
this.registered();
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
default:
|
|
61
|
+
return await super.query(query, payloads);
|
|
46
62
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
case XyoNodeAttachedQuerySchema: {
|
|
52
|
-
this.attached();
|
|
53
|
-
break;
|
|
54
|
-
}
|
|
55
|
-
case XyoNodeRegisteredQuerySchema: {
|
|
56
|
-
this.registered();
|
|
57
|
-
break;
|
|
58
|
-
}
|
|
59
|
-
default:
|
|
60
|
-
return await super.query(query, payloads);
|
|
63
|
+
}
|
|
64
|
+
catch (ex) {
|
|
65
|
+
const error = ex;
|
|
66
|
+
resultPayloads.push(new XyoErrorBuilder(wrapper.hash, error.message).build());
|
|
61
67
|
}
|
|
62
68
|
return this.bindResult(resultPayloads, queryAccount);
|
|
63
69
|
}
|
package/dist/esm/XyoNode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoNode.js","sourceRoot":"","sources":["../../src/XyoNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAChF,OAAO,EAA6B,wBAAwB,EAAE,SAAS,EAAwB,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"XyoNode.js","sourceRoot":"","sources":["../../src/XyoNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { XyoNodeAttachedQuerySchema, XyoNodeAttachQuerySchema, XyoNodeDetachQuer
|
|
|
6
6
|
export class XyoNodeWrapper extends XyoModuleWrapper {
|
|
7
7
|
_archivist;
|
|
8
8
|
get archivist() {
|
|
9
|
-
this._archivist = this._archivist ?? new XyoArchivistWrapper(
|
|
9
|
+
this._archivist = this._archivist ?? new XyoArchivistWrapper(this.module);
|
|
10
10
|
return this._archivist;
|
|
11
11
|
}
|
|
12
12
|
register(_module) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoNodeWrapper.js","sourceRoot":"","sources":["../../src/XyoNodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAqB,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,OAAO,MAAM,gBAAgB,CAAA;AAGpC,OAAO,EAEL,0BAA0B,EAE1B,wBAAwB,EAExB,wBAAwB,EAExB,4BAA4B,GAC7B,MAAM,WAAW,CAAA;AAElB,MAAM,OAAO,cAAe,SAAQ,gBAAgB;IAC1C,UAAU,CAAsB;IACxC,IAAW,SAAS;QAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"XyoNodeWrapper.js","sourceRoot":"","sources":["../../src/XyoNodeWrapper.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/assert": "^2.6.9",
|
|
14
|
-
"@xyo-network/account": "^2.38.0-rc.
|
|
15
|
-
"@xyo-network/archivist": "^2.38.0-rc.
|
|
16
|
-
"@xyo-network/module": "^2.38.0-rc.
|
|
17
|
-
"@xyo-network/module-instance-payload-plugin": "^2.38.0-rc.
|
|
18
|
-
"@xyo-network/payload": "^2.38.0-rc.
|
|
19
|
-
"@xyo-network/promise": "^2.38.0-rc.
|
|
14
|
+
"@xyo-network/account": "^2.38.0-rc.11",
|
|
15
|
+
"@xyo-network/archivist": "^2.38.0-rc.11",
|
|
16
|
+
"@xyo-network/module": "^2.38.0-rc.11",
|
|
17
|
+
"@xyo-network/module-instance-payload-plugin": "^2.38.0-rc.11",
|
|
18
|
+
"@xyo-network/payload": "^2.38.0-rc.11",
|
|
19
|
+
"@xyo-network/promise": "^2.38.0-rc.11",
|
|
20
20
|
"lodash": "^4.17.21",
|
|
21
21
|
"tslib": "^2.4.0"
|
|
22
22
|
},
|
|
@@ -57,6 +57,6 @@
|
|
|
57
57
|
},
|
|
58
58
|
"sideEffects": false,
|
|
59
59
|
"types": "dist/esm/index.d.ts",
|
|
60
|
-
"version": "2.38.0-rc.
|
|
60
|
+
"version": "2.38.0-rc.11",
|
|
61
61
|
"stableVersion": "2.37.6"
|
|
62
62
|
}
|
package/src/MemoryNode.spec.ts
CHANGED
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
DivinerModule,
|
|
5
5
|
XyoArchivistPayloadDiviner,
|
|
6
6
|
XyoArchivistPayloadDivinerConfigSchema,
|
|
7
|
+
XyoDivinerConfig,
|
|
7
8
|
XyoDivinerWrapper,
|
|
8
9
|
XyoHuriPayload,
|
|
9
10
|
XyoHuriSchema,
|
|
@@ -16,14 +17,12 @@ import { NodeModule } from './NodeModule'
|
|
|
16
17
|
|
|
17
18
|
test('Create Node', async () => {
|
|
18
19
|
const XyoMemoryArchivist = (await import('@xyo-network/archivist')).XyoMemoryArchivist
|
|
19
|
-
const node: NodeModule =
|
|
20
|
-
const archivist =
|
|
21
|
-
await
|
|
22
|
-
|
|
23
|
-
config: { archivist: archivist.address, schema: XyoArchivistPayloadDivinerConfigSchema },
|
|
20
|
+
const node: NodeModule = await MemoryNode.create()
|
|
21
|
+
const archivist = await XyoMemoryArchivist.create()
|
|
22
|
+
const diviner: XyoModule = await XyoArchivistPayloadDiviner.create({
|
|
23
|
+
config: { archivist: archivist.address, schema: XyoArchivistPayloadDivinerConfigSchema } as XyoDivinerConfig,
|
|
24
24
|
resolver: new XyoModuleResolver().add(archivist),
|
|
25
25
|
})
|
|
26
|
-
await diviner.start()
|
|
27
26
|
await node.register(archivist)
|
|
28
27
|
node.attach(archivist.address)
|
|
29
28
|
await node.register(diviner)
|
|
@@ -37,7 +36,7 @@ test('Create Node', async () => {
|
|
|
37
36
|
.fields({ test: true })
|
|
38
37
|
.build()
|
|
39
38
|
|
|
40
|
-
const foundArchivistWrapper = foundArchivist ? new XyoArchivistWrapper(
|
|
39
|
+
const foundArchivistWrapper = foundArchivist ? new XyoArchivistWrapper(foundArchivist) : undefined
|
|
41
40
|
await foundArchivistWrapper?.insert([testPayload])
|
|
42
41
|
|
|
43
42
|
/*const subscribeQuery: XyoModuleSubscribeQuery = { payloads: [testPayload], schema: XyoModuleSubscribeQuerySchema }
|
|
@@ -50,10 +49,10 @@ test('Create Node', async () => {
|
|
|
50
49
|
const huri = new PayloadWrapper(payloads[0]).hash
|
|
51
50
|
const huriPayload: XyoHuriPayload = { huri: [huri], schema: XyoHuriSchema }
|
|
52
51
|
const module = (await node.resolve([diviner.address])).shift() as DivinerModule
|
|
53
|
-
const foundDiviner = module ? new XyoDivinerWrapper(
|
|
52
|
+
const foundDiviner = module ? new XyoDivinerWrapper(module) : null
|
|
54
53
|
expect(foundDiviner).toBeDefined()
|
|
55
54
|
if (foundDiviner) {
|
|
56
|
-
const foundDivinerWrapper = new XyoDivinerWrapper(
|
|
55
|
+
const foundDivinerWrapper = new XyoDivinerWrapper(foundDiviner)
|
|
57
56
|
const payloads = await foundDivinerWrapper.divine([huriPayload])
|
|
58
57
|
console.log(`payloads: ${JSON.stringify(payloads, null, 2)}`)
|
|
59
58
|
expect(payloads?.length).toBe(1)
|
package/src/MemoryNode.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert'
|
|
2
2
|
import { XyoArchivistGetQuerySchema } from '@xyo-network/archivist'
|
|
3
|
-
import { XyoModule } from '@xyo-network/module'
|
|
3
|
+
import { XyoModule, XyoModuleParams } from '@xyo-network/module'
|
|
4
4
|
|
|
5
5
|
import { NodeConfig } from './Config'
|
|
6
6
|
import { XyoNodeAttachQuerySchema, XyoNodeDetachQuerySchema } from './Queries'
|
|
@@ -10,6 +10,12 @@ export class MemoryNode<TConfig extends NodeConfig = NodeConfig, TModule extends
|
|
|
10
10
|
private registeredModuleMap = new Map<string, TModule>()
|
|
11
11
|
private attachedModuleMap = new Map<string, TModule>()
|
|
12
12
|
|
|
13
|
+
static override async create(params?: XyoModuleParams): Promise<MemoryNode> {
|
|
14
|
+
const module = new MemoryNode(params as XyoModuleParams<NodeConfig>)
|
|
15
|
+
await module.start()
|
|
16
|
+
return module
|
|
17
|
+
}
|
|
18
|
+
|
|
13
19
|
public override queries(): string[] {
|
|
14
20
|
return [XyoNodeAttachQuerySchema, XyoNodeDetachQuerySchema, ...super.queries()]
|
|
15
21
|
}
|
package/src/XyoNode.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert'
|
|
2
2
|
import { XyoAccount } from '@xyo-network/account'
|
|
3
3
|
import { XyoArchivistWrapper, XyoMemoryArchivist } from '@xyo-network/archivist'
|
|
4
|
-
import { Module, ModuleQueryResult, QueryBoundWitnessWrapper, XyoModule, XyoQueryBoundWitness } from '@xyo-network/module'
|
|
4
|
+
import { Module, ModuleQueryResult, QueryBoundWitnessWrapper, XyoErrorBuilder, XyoModule, XyoQueryBoundWitness } from '@xyo-network/module'
|
|
5
5
|
import { XyoModuleInstanceSchema } from '@xyo-network/module-instance-payload-plugin'
|
|
6
6
|
import { XyoPayload, XyoPayloads } from '@xyo-network/payload'
|
|
7
7
|
|
|
@@ -15,7 +15,7 @@ export abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, TModule e
|
|
|
15
15
|
private async storeInstanceData() {
|
|
16
16
|
const payload = { address: this.address, queries: this.queries, schema: XyoModuleInstanceSchema }
|
|
17
17
|
const [bw] = await this.bindResult([payload])
|
|
18
|
-
await new XyoArchivistWrapper(
|
|
18
|
+
await new XyoArchivistWrapper(await this.getArchivist()).insert([bw, payload])
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
/** Query Functions - Start */
|
|
@@ -24,12 +24,12 @@ export abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, TModule e
|
|
|
24
24
|
abstract resolve(_address: string[]): (TModule | null)[]
|
|
25
25
|
|
|
26
26
|
private _archivist?: Module
|
|
27
|
-
public
|
|
27
|
+
public async getArchivist(): Promise<Module> {
|
|
28
28
|
if (!this._archivist) {
|
|
29
29
|
this._archivist =
|
|
30
30
|
this._archivist ??
|
|
31
31
|
(this.config?.archivist ? this.resolver?.fromAddress([this.config?.archivist]).shift() : undefined) ??
|
|
32
|
-
|
|
32
|
+
(await XyoMemoryArchivist.create())
|
|
33
33
|
}
|
|
34
34
|
return this._archivist
|
|
35
35
|
}
|
|
@@ -56,25 +56,30 @@ export abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, TModule e
|
|
|
56
56
|
|
|
57
57
|
const queryAccount = new XyoAccount()
|
|
58
58
|
const resultPayloads: XyoPayloads = []
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
try {
|
|
60
|
+
switch (typedQuery.schema) {
|
|
61
|
+
case XyoNodeAttachQuerySchema: {
|
|
62
|
+
this.attach(typedQuery.address)
|
|
63
|
+
break
|
|
64
|
+
}
|
|
65
|
+
case XyoNodeDetachQuerySchema: {
|
|
66
|
+
this.detach(typedQuery.address)
|
|
67
|
+
break
|
|
68
|
+
}
|
|
69
|
+
case XyoNodeAttachedQuerySchema: {
|
|
70
|
+
this.attached()
|
|
71
|
+
break
|
|
72
|
+
}
|
|
73
|
+
case XyoNodeRegisteredQuerySchema: {
|
|
74
|
+
this.registered()
|
|
75
|
+
break
|
|
76
|
+
}
|
|
77
|
+
default:
|
|
78
|
+
return await super.query(query, payloads)
|
|
63
79
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
case XyoNodeAttachedQuerySchema: {
|
|
69
|
-
this.attached()
|
|
70
|
-
break
|
|
71
|
-
}
|
|
72
|
-
case XyoNodeRegisteredQuerySchema: {
|
|
73
|
-
this.registered()
|
|
74
|
-
break
|
|
75
|
-
}
|
|
76
|
-
default:
|
|
77
|
-
return await super.query(query, payloads)
|
|
80
|
+
} catch (ex) {
|
|
81
|
+
const error = ex as Error
|
|
82
|
+
resultPayloads.push(new XyoErrorBuilder(wrapper.hash, error.message).build())
|
|
78
83
|
}
|
|
79
84
|
return this.bindResult(resultPayloads, queryAccount)
|
|
80
85
|
}
|
package/src/XyoNodeWrapper.ts
CHANGED
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
export class XyoNodeWrapper extends XyoModuleWrapper implements NodeModule {
|
|
20
20
|
private _archivist?: XyoArchivistWrapper
|
|
21
21
|
public get archivist() {
|
|
22
|
-
this._archivist = this._archivist ?? new XyoArchivistWrapper(
|
|
22
|
+
this._archivist = this._archivist ?? new XyoArchivistWrapper(this.module)
|
|
23
23
|
return this._archivist
|
|
24
24
|
}
|
|
25
25
|
|