@xyo-network/node 2.36.10 → 2.37.0
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/Config.d.ts +3 -1
- package/dist/cjs/Config.d.ts.map +1 -1
- package/dist/cjs/XyoNode.d.ts +12 -2
- package/dist/cjs/XyoNode.d.ts.map +1 -1
- package/dist/cjs/XyoNode.js +19 -0
- package/dist/cjs/XyoNode.js.map +1 -1
- package/dist/cjs/XyoNodeWrapper.d.ts +3 -0
- package/dist/cjs/XyoNodeWrapper.d.ts.map +1 -1
- package/dist/cjs/XyoNodeWrapper.js +6 -0
- package/dist/cjs/XyoNodeWrapper.js.map +1 -1
- package/dist/docs.json +2452 -1494
- package/dist/esm/Config.d.ts +3 -1
- package/dist/esm/Config.d.ts.map +1 -1
- package/dist/esm/XyoNode.d.ts +12 -2
- package/dist/esm/XyoNode.d.ts.map +1 -1
- package/dist/esm/XyoNode.js +16 -0
- package/dist/esm/XyoNode.js.map +1 -1
- package/dist/esm/XyoNodeWrapper.d.ts +3 -0
- package/dist/esm/XyoNodeWrapper.d.ts.map +1 -1
- package/dist/esm/XyoNodeWrapper.js +6 -0
- package/dist/esm/XyoNodeWrapper.js.map +1 -1
- package/package.json +12 -6
- package/src/Config.ts +1 -1
- package/src/XyoNode.ts +20 -2
- package/src/XyoNodeWrapper.ts +7 -0
package/dist/esm/Config.d.ts
CHANGED
|
@@ -2,5 +2,7 @@ import { XyoModuleConfig } from '@xyo-network/module';
|
|
|
2
2
|
import { XyoPayload } from '@xyo-network/payload';
|
|
3
3
|
export declare type NodeConfigSchema = 'network.xyo.node.config';
|
|
4
4
|
export declare const NodeConfigSchema: NodeConfigSchema;
|
|
5
|
-
export declare type NodeConfig<TConfig extends XyoPayload = XyoPayload> = XyoModuleConfig<
|
|
5
|
+
export declare type NodeConfig<TConfig extends XyoPayload = XyoPayload> = XyoModuleConfig<{
|
|
6
|
+
archivist?: string;
|
|
7
|
+
} & TConfig>;
|
|
6
8
|
//# sourceMappingURL=Config.d.ts.map
|
package/dist/esm/Config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,oBAAY,gBAAgB,GAAG,yBAAyB,CAAA;AACxD,eAAO,MAAM,gBAAgB,EAAE,gBAA4C,CAAA;AAE3E,oBAAY,UAAU,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,IAAI,eAAe,CAAC,OAAO,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,oBAAY,gBAAgB,GAAG,yBAAyB,CAAA;AACxD,eAAO,MAAM,gBAAgB,EAAE,gBAA4C,CAAA;AAE3E,oBAAY,UAAU,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,IAAI,eAAe,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,CAAA"}
|
package/dist/esm/XyoNode.d.ts
CHANGED
|
@@ -1,20 +1,30 @@
|
|
|
1
1
|
import { XyoAccount } from '@xyo-network/account';
|
|
2
2
|
import { ModuleQueryResult, XyoModule, XyoModuleResolverFunc, XyoQueryBoundWitness } from '@xyo-network/module';
|
|
3
|
-
import {
|
|
3
|
+
import { XyoPayload } from '@xyo-network/payload';
|
|
4
4
|
import { NodeConfig } from './Config';
|
|
5
5
|
import { NodeModule } from './NodeModule';
|
|
6
6
|
export declare abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, TModule extends XyoModule = XyoModule> extends XyoModule<TConfig> implements NodeModule {
|
|
7
7
|
constructor(config?: TConfig, account?: XyoAccount, resolver?: XyoModuleResolverFunc);
|
|
8
|
+
private storeInstanceData;
|
|
8
9
|
/** Query Functions - Start */
|
|
9
10
|
abstract attach(_address: string): void;
|
|
10
11
|
abstract detach(_address: string): void;
|
|
11
12
|
abstract resolve(_address: string): TModule | null;
|
|
13
|
+
private _archivist?;
|
|
14
|
+
get archivist(): XyoModule<import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & {
|
|
15
|
+
security?: {
|
|
16
|
+
allowed?: Record<string, string[][]> | undefined;
|
|
17
|
+
disallowed?: Record<string, string[]> | undefined;
|
|
18
|
+
} | undefined;
|
|
19
|
+
} & {
|
|
20
|
+
schema: string;
|
|
21
|
+
}>;
|
|
12
22
|
registered(): string[];
|
|
13
23
|
attached(): string[];
|
|
14
24
|
registeredModules(): TModule[];
|
|
15
25
|
attachedModules(): TModule[];
|
|
16
26
|
/** Query Functions - End */
|
|
17
|
-
query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness>(query: T, payloads?:
|
|
27
|
+
query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness>(query: T, payloads?: XyoPayload[]): Promise<ModuleQueryResult>;
|
|
18
28
|
register(_module: TModule): void;
|
|
19
29
|
}
|
|
20
30
|
//# sourceMappingURL=XyoNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoNode.d.ts","sourceRoot":"","sources":["../../src/XyoNode.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"XyoNode.d.ts","sourceRoot":"","sources":["../../src/XyoNode.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,iBAAiB,EAA4B,SAAS,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAEzI,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;gBAET,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,qBAAqB;YAKtE,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,GAAG,OAAO,GAAG,IAAI;IAElD,OAAO,CAAC,UAAU,CAAC,CAAW;IAC9B,IAAW,SAAS;;;;;;;OAKnB;IAED,UAAU,IAAI,MAAM,EAAE;IAGtB,QAAQ,IAAI,MAAM,EAAE;IAIpB,iBAAiB,IAAI,OAAO,EAAE;IAG9B,eAAe,IAAI,OAAO,EAAE;IAG5B,4BAA4B;IAEnB,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8BpI,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAGjC"}
|
package/dist/esm/XyoNode.js
CHANGED
|
@@ -1,10 +1,26 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert';
|
|
2
|
+
import { forget } from '@xylabs/forget';
|
|
2
3
|
import { XyoAccount } from '@xyo-network/account';
|
|
4
|
+
import { XyoArchivistWrapper, XyoMemoryArchivist } from '@xyo-network/archivist';
|
|
3
5
|
import { QueryBoundWitnessWrapper, XyoModule } from '@xyo-network/module';
|
|
6
|
+
import { XyoModuleInstanceSchema } from '@xyo-network/module-instance-payload-plugin';
|
|
4
7
|
import { XyoNodeAttachedQuerySchema, XyoNodeAttachQuerySchema, XyoNodeDetachQuerySchema, XyoNodeRegisteredQuerySchema } from './Queries';
|
|
5
8
|
export class XyoNode extends XyoModule {
|
|
6
9
|
constructor(config, account, resolver) {
|
|
7
10
|
super(config, account, resolver);
|
|
11
|
+
forget(this.storeInstanceData());
|
|
12
|
+
}
|
|
13
|
+
async storeInstanceData() {
|
|
14
|
+
const payload = { address: this.address, queries: this.queries, schema: XyoModuleInstanceSchema };
|
|
15
|
+
const [bw] = await this.bindResult([payload]);
|
|
16
|
+
await new XyoArchivistWrapper(this.archivist).insert([bw, payload]);
|
|
17
|
+
}
|
|
18
|
+
_archivist;
|
|
19
|
+
get archivist() {
|
|
20
|
+
if (!this._archivist) {
|
|
21
|
+
this._archivist = this._archivist ?? (this.config?.archivist ? this.resolver?.(this.config?.archivist) : undefined) ?? new XyoMemoryArchivist();
|
|
22
|
+
}
|
|
23
|
+
return this._archivist;
|
|
8
24
|
}
|
|
9
25
|
registered() {
|
|
10
26
|
throw new Error('Method not implemented.');
|
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,EAAqB,wBAAwB,EAAE,SAAS,EAA+C,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"XyoNode.js","sourceRoot":"","sources":["../../src/XyoNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import { XyoArchivistWrapper } from '@xyo-network/archivist';
|
|
1
2
|
import { Module, XyoModule, XyoModuleWrapper } from '@xyo-network/module';
|
|
2
3
|
import { NodeModule } from './NodeModule';
|
|
3
4
|
export declare class XyoNodeWrapper extends XyoModuleWrapper implements NodeModule {
|
|
5
|
+
private _archivist?;
|
|
6
|
+
get archivist(): XyoArchivistWrapper;
|
|
4
7
|
register(_module: Module): void;
|
|
5
8
|
registered(): Promise<string[]>;
|
|
6
9
|
attached(): Promise<string[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoNodeWrapper.d.ts","sourceRoot":"","sources":["../../src/XyoNodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAIzE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAYzC,qBAAa,cAAe,SAAQ,gBAAiB,YAAW,UAAU;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAGzB,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAK/B,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAK7B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtC,iBAAiB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAIzC,eAAe,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAK7C,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;CAG5C"}
|
|
1
|
+
{"version":3,"file":"XyoNodeWrapper.d.ts","sourceRoot":"","sources":["../../src/XyoNodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAIzE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAYzC,qBAAa,cAAe,SAAQ,gBAAiB,YAAW,UAAU;IACxE,OAAO,CAAC,UAAU,CAAC,CAAqB;IACxC,IAAW,SAAS,wBAGnB;IAED,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAGzB,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAK/B,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAK7B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtC,iBAAiB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAIzC,eAAe,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAK7C,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;CAG5C"}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
+
import { XyoArchivistWrapper } from '@xyo-network/archivist';
|
|
1
2
|
import { XyoModuleWrapper } from '@xyo-network/module';
|
|
2
3
|
import { PayloadWrapper } from '@xyo-network/payload';
|
|
3
4
|
import compact from 'lodash/compact';
|
|
4
5
|
import { XyoNodeAttachedQuerySchema, XyoNodeAttachQuerySchema, XyoNodeDetachQuerySchema, XyoNodeRegisteredQuerySchema, } from './Queries';
|
|
5
6
|
export class XyoNodeWrapper extends XyoModuleWrapper {
|
|
7
|
+
_archivist;
|
|
8
|
+
get archivist() {
|
|
9
|
+
this._archivist = this._archivist ?? new XyoArchivistWrapper(this.module);
|
|
10
|
+
return this._archivist;
|
|
11
|
+
}
|
|
6
12
|
register(_module) {
|
|
7
13
|
throw Error('Not implemented');
|
|
8
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoNodeWrapper.js","sourceRoot":"","sources":["../../src/XyoNodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,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;
|
|
1
|
+
{"version":3,"file":"XyoNodeWrapper.js","sourceRoot":"","sources":["../../src/XyoNodeWrapper.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -11,14 +11,20 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/assert": "^2.6.9",
|
|
14
|
-
"@
|
|
15
|
-
"@xyo-network/
|
|
16
|
-
"@xyo-network/
|
|
17
|
-
"@xyo-network/
|
|
18
|
-
"@xyo-network/
|
|
14
|
+
"@xylabs/forget": "^2.6.9",
|
|
15
|
+
"@xyo-network/account": "^2.37.0",
|
|
16
|
+
"@xyo-network/archivist": "^2.37.0",
|
|
17
|
+
"@xyo-network/module": "^2.37.0",
|
|
18
|
+
"@xyo-network/module-instance-payload-plugin": "^2.36.0",
|
|
19
|
+
"@xyo-network/payload": "^2.37.0",
|
|
20
|
+
"@xyo-network/promise": "^2.37.0",
|
|
19
21
|
"lodash": "^4.17.21",
|
|
20
22
|
"tslib": "^2.4.0"
|
|
21
23
|
},
|
|
24
|
+
"peerDependencies": {
|
|
25
|
+
"axios": "^0.27.2",
|
|
26
|
+
"pako": "^2.0.4"
|
|
27
|
+
},
|
|
22
28
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
23
29
|
"browser": "dist/esm/index.js",
|
|
24
30
|
"docs": "dist/docs.json",
|
|
@@ -52,5 +58,5 @@
|
|
|
52
58
|
},
|
|
53
59
|
"sideEffects": false,
|
|
54
60
|
"types": "dist/esm/index.d.ts",
|
|
55
|
-
"version": "2.
|
|
61
|
+
"version": "2.37.0"
|
|
56
62
|
}
|
package/src/Config.ts
CHANGED
|
@@ -4,4 +4,4 @@ import { XyoPayload } from '@xyo-network/payload'
|
|
|
4
4
|
export type NodeConfigSchema = 'network.xyo.node.config'
|
|
5
5
|
export const NodeConfigSchema: NodeConfigSchema = 'network.xyo.node.config'
|
|
6
6
|
|
|
7
|
-
export type NodeConfig<TConfig extends XyoPayload = XyoPayload> = XyoModuleConfig<TConfig>
|
|
7
|
+
export type NodeConfig<TConfig extends XyoPayload = XyoPayload> = XyoModuleConfig<{ archivist?: string } & TConfig>
|
package/src/XyoNode.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert'
|
|
2
|
+
import { forget } from '@xylabs/forget'
|
|
2
3
|
import { XyoAccount } from '@xyo-network/account'
|
|
4
|
+
import { XyoArchivistWrapper, XyoMemoryArchivist } from '@xyo-network/archivist'
|
|
3
5
|
import { ModuleQueryResult, QueryBoundWitnessWrapper, XyoModule, XyoModuleResolverFunc, XyoQueryBoundWitness } from '@xyo-network/module'
|
|
4
|
-
import {
|
|
6
|
+
import { XyoModuleInstanceSchema } from '@xyo-network/module-instance-payload-plugin'
|
|
7
|
+
import { XyoPayload, XyoPayloads } from '@xyo-network/payload'
|
|
5
8
|
|
|
6
9
|
import { NodeConfig } from './Config'
|
|
7
10
|
import { NodeModule } from './NodeModule'
|
|
@@ -12,6 +15,13 @@ export abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, TModule e
|
|
|
12
15
|
{
|
|
13
16
|
constructor(config?: TConfig, account?: XyoAccount, resolver?: XyoModuleResolverFunc) {
|
|
14
17
|
super(config, account, resolver)
|
|
18
|
+
forget(this.storeInstanceData())
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
private async storeInstanceData() {
|
|
22
|
+
const payload = { address: this.address, queries: this.queries, schema: XyoModuleInstanceSchema }
|
|
23
|
+
const [bw] = await this.bindResult([payload])
|
|
24
|
+
await new XyoArchivistWrapper(this.archivist).insert([bw, payload])
|
|
15
25
|
}
|
|
16
26
|
|
|
17
27
|
/** Query Functions - Start */
|
|
@@ -19,6 +29,14 @@ export abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, TModule e
|
|
|
19
29
|
abstract detach(_address: string): void
|
|
20
30
|
abstract resolve(_address: string): TModule | null
|
|
21
31
|
|
|
32
|
+
private _archivist?: XyoModule
|
|
33
|
+
public get archivist() {
|
|
34
|
+
if (!this._archivist) {
|
|
35
|
+
this._archivist = this._archivist ?? (this.config?.archivist ? this.resolver?.(this.config?.archivist) : undefined) ?? new XyoMemoryArchivist()
|
|
36
|
+
}
|
|
37
|
+
return this._archivist
|
|
38
|
+
}
|
|
39
|
+
|
|
22
40
|
registered(): string[] {
|
|
23
41
|
throw new Error('Method not implemented.')
|
|
24
42
|
}
|
|
@@ -34,7 +52,7 @@ export abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, TModule e
|
|
|
34
52
|
}
|
|
35
53
|
/** Query Functions - End */
|
|
36
54
|
|
|
37
|
-
override query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness>(query: T, payloads?:
|
|
55
|
+
override query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness>(query: T, payloads?: XyoPayload[]): Promise<ModuleQueryResult> {
|
|
38
56
|
const wrapper = QueryBoundWitnessWrapper.parseQuery<XyoNodeQuery>(query)
|
|
39
57
|
const typedQuery = wrapper.query.payload
|
|
40
58
|
assertEx(this.queryable(typedQuery.schema, wrapper.addresses))
|
package/src/XyoNodeWrapper.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { XyoArchivistWrapper } from '@xyo-network/archivist'
|
|
1
2
|
import { Module, XyoModule, XyoModuleWrapper } from '@xyo-network/module'
|
|
2
3
|
import { PayloadWrapper } from '@xyo-network/payload'
|
|
3
4
|
import compact from 'lodash/compact'
|
|
@@ -15,6 +16,12 @@ import {
|
|
|
15
16
|
} from './Queries'
|
|
16
17
|
|
|
17
18
|
export class XyoNodeWrapper extends XyoModuleWrapper implements NodeModule {
|
|
19
|
+
private _archivist?: XyoArchivistWrapper
|
|
20
|
+
public get archivist() {
|
|
21
|
+
this._archivist = this._archivist ?? new XyoArchivistWrapper(this.module)
|
|
22
|
+
return this._archivist
|
|
23
|
+
}
|
|
24
|
+
|
|
18
25
|
register(_module: Module): void {
|
|
19
26
|
throw Error('Not implemented')
|
|
20
27
|
}
|