@xyo-network/node-wrapper 2.101.13 → 2.101.15
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/browser/NodeWrapper.d.cts +4 -2
- package/dist/browser/NodeWrapper.d.cts.map +1 -1
- package/dist/browser/NodeWrapper.d.mts +4 -2
- package/dist/browser/NodeWrapper.d.mts.map +1 -1
- package/dist/browser/NodeWrapper.d.ts +4 -2
- package/dist/browser/NodeWrapper.d.ts.map +1 -1
- package/dist/browser/index.cjs +13 -13
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +13 -13
- package/dist/browser/index.js.map +1 -1
- package/dist/neutral/NodeWrapper.d.cts +4 -2
- package/dist/neutral/NodeWrapper.d.cts.map +1 -1
- package/dist/neutral/NodeWrapper.d.mts +4 -2
- package/dist/neutral/NodeWrapper.d.mts.map +1 -1
- package/dist/neutral/NodeWrapper.d.ts +4 -2
- package/dist/neutral/NodeWrapper.d.ts.map +1 -1
- package/dist/neutral/index.cjs +13 -13
- package/dist/neutral/index.cjs.map +1 -1
- package/dist/neutral/index.js +13 -13
- package/dist/neutral/index.js.map +1 -1
- package/dist/node/NodeWrapper.d.cts +4 -2
- package/dist/node/NodeWrapper.d.cts.map +1 -1
- package/dist/node/NodeWrapper.d.mts +4 -2
- package/dist/node/NodeWrapper.d.mts.map +1 -1
- package/dist/node/NodeWrapper.d.ts +4 -2
- package/dist/node/NodeWrapper.d.ts.map +1 -1
- package/dist/node/index.cjs +13 -13
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +13 -13
- package/dist/node/index.js.map +1 -1
- package/package.json +8 -8
- package/src/NodeWrapper.ts +13 -20
|
@@ -2,9 +2,10 @@ import { Address } from '@xylabs/hex';
|
|
|
2
2
|
import { AccountInstance } from '@xyo-network/account-model';
|
|
3
3
|
import { AddressPayload } from '@xyo-network/address-payload-plugin';
|
|
4
4
|
import { NodeManifestPayload } from '@xyo-network/manifest-model';
|
|
5
|
-
import { InstanceTypeCheck, ModuleIdentifier,
|
|
5
|
+
import { InstanceTypeCheck, ModuleIdentifier, ModuleQueryResult } from '@xyo-network/module-model';
|
|
6
6
|
import { ModuleWrapper } from '@xyo-network/module-wrapper';
|
|
7
7
|
import { ChildCertification, ChildCertificationFields, NodeInstance, NodeModule } from '@xyo-network/node-model';
|
|
8
|
+
import { Mutex } from 'async-mutex';
|
|
8
9
|
export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule> extends ModuleWrapper<TWrappedModule> implements NodeInstance<TWrappedModule['params']> {
|
|
9
10
|
static instanceIdentityCheck: InstanceTypeCheck<NodeInstance>;
|
|
10
11
|
static moduleIdentityCheck: import("@xyo-network/module-model").ModuleTypeCheck<NodeModule<import("@xylabs/object").BaseParamsFields & {
|
|
@@ -22,6 +23,8 @@ export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
|
|
|
22
23
|
moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[] | undefined;
|
|
23
24
|
}, import("@xyo-network/node-model").NodeModuleEventData>>;
|
|
24
25
|
static requiredQueries: string[];
|
|
26
|
+
protected _attached?: Address[];
|
|
27
|
+
protected _attachedMutex: Mutex;
|
|
25
28
|
attach(id: ModuleIdentifier, external?: boolean): Promise<Address | undefined>;
|
|
26
29
|
attachQuery(id: ModuleIdentifier, external?: boolean, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
27
30
|
attached(): Promise<Address[]>;
|
|
@@ -31,7 +34,6 @@ export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
|
|
|
31
34
|
detach(id: ModuleIdentifier): Promise<Address | undefined>;
|
|
32
35
|
detachQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
33
36
|
manifest(maxDepth?: number): Promise<NodeManifestPayload>;
|
|
34
|
-
publicChildren(): Promise<ModuleInstance[]>;
|
|
35
37
|
registered(): Promise<Address[]>;
|
|
36
38
|
registeredQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
37
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAiB,MAAM,qCAAqC,CAAA;AACnF,OAAO,EAAE,mBAAmB,EAA6B,MAAM,6BAA6B,CAAA;AAC5F,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAkD,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClJ,OAAO,EAA8B,aAAa,EAAE,MAAM,6BAA6B,CAAA;AACvF,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EAYxB,YAAY,EACZ,UAAU,EAGX,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAGnC,qBAAa,WAAW,CAAC,cAAc,SAAS,UAAU,GAAG,UAAU,CACrE,SAAQ,aAAa,CAAC,cAAc,CACpC,YAAW,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEjD,OAAgB,qBAAqB,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAiB;IACvF,OAAgB,mBAAmB;;;;;;;;;;;;;+DAAe;IAClD,OAAgB,eAAe,WAA4D;IAE3F,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAA;IAC/B,SAAS,CAAC,cAAc,QAAc;IAEhC,MAAM,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAM9E,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAK5H,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAW9B,aAAa,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAKpF,OAAO,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;IAM5E,YAAY,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAK7G,MAAM,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAM1D,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAK/F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAMlE,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAMhC,eAAe,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;CAI7F"}
|
|
@@ -2,9 +2,10 @@ import { Address } from '@xylabs/hex';
|
|
|
2
2
|
import { AccountInstance } from '@xyo-network/account-model';
|
|
3
3
|
import { AddressPayload } from '@xyo-network/address-payload-plugin';
|
|
4
4
|
import { NodeManifestPayload } from '@xyo-network/manifest-model';
|
|
5
|
-
import { InstanceTypeCheck, ModuleIdentifier,
|
|
5
|
+
import { InstanceTypeCheck, ModuleIdentifier, ModuleQueryResult } from '@xyo-network/module-model';
|
|
6
6
|
import { ModuleWrapper } from '@xyo-network/module-wrapper';
|
|
7
7
|
import { ChildCertification, ChildCertificationFields, NodeInstance, NodeModule } from '@xyo-network/node-model';
|
|
8
|
+
import { Mutex } from 'async-mutex';
|
|
8
9
|
export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule> extends ModuleWrapper<TWrappedModule> implements NodeInstance<TWrappedModule['params']> {
|
|
9
10
|
static instanceIdentityCheck: InstanceTypeCheck<NodeInstance>;
|
|
10
11
|
static moduleIdentityCheck: import("@xyo-network/module-model").ModuleTypeCheck<NodeModule<import("@xylabs/object").BaseParamsFields & {
|
|
@@ -22,6 +23,8 @@ export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
|
|
|
22
23
|
moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[] | undefined;
|
|
23
24
|
}, import("@xyo-network/node-model").NodeModuleEventData>>;
|
|
24
25
|
static requiredQueries: string[];
|
|
26
|
+
protected _attached?: Address[];
|
|
27
|
+
protected _attachedMutex: Mutex;
|
|
25
28
|
attach(id: ModuleIdentifier, external?: boolean): Promise<Address | undefined>;
|
|
26
29
|
attachQuery(id: ModuleIdentifier, external?: boolean, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
27
30
|
attached(): Promise<Address[]>;
|
|
@@ -31,7 +34,6 @@ export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
|
|
|
31
34
|
detach(id: ModuleIdentifier): Promise<Address | undefined>;
|
|
32
35
|
detachQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
33
36
|
manifest(maxDepth?: number): Promise<NodeManifestPayload>;
|
|
34
|
-
publicChildren(): Promise<ModuleInstance[]>;
|
|
35
37
|
registered(): Promise<Address[]>;
|
|
36
38
|
registeredQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
37
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAiB,MAAM,qCAAqC,CAAA;AACnF,OAAO,EAAE,mBAAmB,EAA6B,MAAM,6BAA6B,CAAA;AAC5F,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAkD,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClJ,OAAO,EAA8B,aAAa,EAAE,MAAM,6BAA6B,CAAA;AACvF,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EAYxB,YAAY,EACZ,UAAU,EAGX,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAGnC,qBAAa,WAAW,CAAC,cAAc,SAAS,UAAU,GAAG,UAAU,CACrE,SAAQ,aAAa,CAAC,cAAc,CACpC,YAAW,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEjD,OAAgB,qBAAqB,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAiB;IACvF,OAAgB,mBAAmB;;;;;;;;;;;;;+DAAe;IAClD,OAAgB,eAAe,WAA4D;IAE3F,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAA;IAC/B,SAAS,CAAC,cAAc,QAAc;IAEhC,MAAM,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAM9E,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAK5H,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAW9B,aAAa,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAKpF,OAAO,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;IAM5E,YAAY,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAK7G,MAAM,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAM1D,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAK/F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAMlE,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAMhC,eAAe,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;CAI7F"}
|
|
@@ -2,9 +2,10 @@ import { Address } from '@xylabs/hex';
|
|
|
2
2
|
import { AccountInstance } from '@xyo-network/account-model';
|
|
3
3
|
import { AddressPayload } from '@xyo-network/address-payload-plugin';
|
|
4
4
|
import { NodeManifestPayload } from '@xyo-network/manifest-model';
|
|
5
|
-
import { InstanceTypeCheck, ModuleIdentifier,
|
|
5
|
+
import { InstanceTypeCheck, ModuleIdentifier, ModuleQueryResult } from '@xyo-network/module-model';
|
|
6
6
|
import { ModuleWrapper } from '@xyo-network/module-wrapper';
|
|
7
7
|
import { ChildCertification, ChildCertificationFields, NodeInstance, NodeModule } from '@xyo-network/node-model';
|
|
8
|
+
import { Mutex } from 'async-mutex';
|
|
8
9
|
export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule> extends ModuleWrapper<TWrappedModule> implements NodeInstance<TWrappedModule['params']> {
|
|
9
10
|
static instanceIdentityCheck: InstanceTypeCheck<NodeInstance>;
|
|
10
11
|
static moduleIdentityCheck: import("@xyo-network/module-model").ModuleTypeCheck<NodeModule<import("@xylabs/object").BaseParamsFields & {
|
|
@@ -22,6 +23,8 @@ export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
|
|
|
22
23
|
moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[] | undefined;
|
|
23
24
|
}, import("@xyo-network/node-model").NodeModuleEventData>>;
|
|
24
25
|
static requiredQueries: string[];
|
|
26
|
+
protected _attached?: Address[];
|
|
27
|
+
protected _attachedMutex: Mutex;
|
|
25
28
|
attach(id: ModuleIdentifier, external?: boolean): Promise<Address | undefined>;
|
|
26
29
|
attachQuery(id: ModuleIdentifier, external?: boolean, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
27
30
|
attached(): Promise<Address[]>;
|
|
@@ -31,7 +34,6 @@ export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
|
|
|
31
34
|
detach(id: ModuleIdentifier): Promise<Address | undefined>;
|
|
32
35
|
detachQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
33
36
|
manifest(maxDepth?: number): Promise<NodeManifestPayload>;
|
|
34
|
-
publicChildren(): Promise<ModuleInstance[]>;
|
|
35
37
|
registered(): Promise<Address[]>;
|
|
36
38
|
registeredQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
37
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAiB,MAAM,qCAAqC,CAAA;AACnF,OAAO,EAAE,mBAAmB,EAA6B,MAAM,6BAA6B,CAAA;AAC5F,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAkD,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClJ,OAAO,EAA8B,aAAa,EAAE,MAAM,6BAA6B,CAAA;AACvF,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EAYxB,YAAY,EACZ,UAAU,EAGX,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAGnC,qBAAa,WAAW,CAAC,cAAc,SAAS,UAAU,GAAG,UAAU,CACrE,SAAQ,aAAa,CAAC,cAAc,CACpC,YAAW,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEjD,OAAgB,qBAAqB,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAiB;IACvF,OAAgB,mBAAmB;;;;;;;;;;;;;+DAAe;IAClD,OAAgB,eAAe,WAA4D;IAE3F,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAA;IAC/B,SAAS,CAAC,cAAc,QAAc;IAEhC,MAAM,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAM9E,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAK5H,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAW9B,aAAa,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAKpF,OAAO,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;IAM5E,YAAY,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAK7G,MAAM,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAM1D,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAK/F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAMlE,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAMhC,eAAe,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;CAI7F"}
|
package/dist/browser/index.cjs
CHANGED
|
@@ -26,13 +26,13 @@ __export(src_exports, {
|
|
|
26
26
|
module.exports = __toCommonJS(src_exports);
|
|
27
27
|
|
|
28
28
|
// src/NodeWrapper.ts
|
|
29
|
-
var import_exists = require("@xylabs/exists");
|
|
30
29
|
var import_address_payload_plugin = require("@xyo-network/address-payload-plugin");
|
|
31
30
|
var import_manifest_model = require("@xyo-network/manifest-model");
|
|
32
31
|
var import_module_model = require("@xyo-network/module-model");
|
|
33
32
|
var import_module_wrapper = require("@xyo-network/module-wrapper");
|
|
34
33
|
var import_node_model = require("@xyo-network/node-model");
|
|
35
34
|
var import_payload_model = require("@xyo-network/payload-model");
|
|
35
|
+
var import_async_mutex = require("async-mutex");
|
|
36
36
|
(0, import_module_wrapper.constructableModuleWrapper)();
|
|
37
37
|
var NodeWrapper = class extends import_module_wrapper.ModuleWrapper {
|
|
38
38
|
static {
|
|
@@ -44,6 +44,8 @@ var NodeWrapper = class extends import_module_wrapper.ModuleWrapper {
|
|
|
44
44
|
import_node_model.NodeAttachQuerySchema,
|
|
45
45
|
...import_module_wrapper.ModuleWrapper.requiredQueries
|
|
46
46
|
];
|
|
47
|
+
_attached;
|
|
48
|
+
_attachedMutex = new import_async_mutex.Mutex();
|
|
47
49
|
async attach(id, external) {
|
|
48
50
|
const queryPayload = {
|
|
49
51
|
external,
|
|
@@ -62,11 +64,16 @@ var NodeWrapper = class extends import_module_wrapper.ModuleWrapper {
|
|
|
62
64
|
return await this.sendQueryRaw(queryPayload, [], account);
|
|
63
65
|
}
|
|
64
66
|
async attached() {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
return await this._attachedMutex.runExclusive(async () => {
|
|
68
|
+
if (this._attached === void 0) {
|
|
69
|
+
const queryPayload = {
|
|
70
|
+
schema: import_node_model.NodeAttachedQuerySchema
|
|
71
|
+
};
|
|
72
|
+
const payloads = (await this.sendQuery(queryPayload)).filter((0, import_payload_model.isPayloadOfSchemaType)(import_address_payload_plugin.AddressSchema));
|
|
73
|
+
this._attached = payloads.map((p) => p.address);
|
|
74
|
+
}
|
|
75
|
+
return this._attached;
|
|
76
|
+
});
|
|
70
77
|
}
|
|
71
78
|
async attachedQuery(account) {
|
|
72
79
|
const queryPayload = {
|
|
@@ -114,13 +121,6 @@ var NodeWrapper = class extends import_module_wrapper.ModuleWrapper {
|
|
|
114
121
|
const payloads = (await this.sendQuery(queryPayload)).filter((0, import_payload_model.isPayloadOfSchemaType)(import_manifest_model.NodeManifestPayloadSchema));
|
|
115
122
|
return payloads.pop();
|
|
116
123
|
}
|
|
117
|
-
async publicChildren() {
|
|
118
|
-
if ((0, import_node_model.isNodeInstance)(this.module)) {
|
|
119
|
-
return await this.module.publicChildren();
|
|
120
|
-
}
|
|
121
|
-
const attached = await this.attached();
|
|
122
|
-
return (await Promise.all(attached.map((address) => this.resolve(address)))).filter(import_exists.exists);
|
|
123
|
-
}
|
|
124
124
|
async registered() {
|
|
125
125
|
const queryPayload = {
|
|
126
126
|
schema: import_node_model.NodeRegisteredQuerySchema
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/NodeWrapper.ts"],"sourcesContent":["export * from './NodeWrapper'\n","import {
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/NodeWrapper.ts"],"sourcesContent":["export * from './NodeWrapper'\n","import { Address } from '@xylabs/hex'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { AddressPayload, AddressSchema } from '@xyo-network/address-payload-plugin'\nimport { NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport { InstanceTypeCheck, ModuleIdentifier, ModuleManifestQuery, ModuleManifestQuerySchema, ModuleQueryResult } from '@xyo-network/module-model'\nimport { constructableModuleWrapper, ModuleWrapper } from '@xyo-network/module-wrapper'\nimport {\n ChildCertification,\n ChildCertificationFields,\n ChildCertificationSchema,\n isNodeInstance,\n isNodeModule,\n NodeAttachedQuery,\n NodeAttachedQuerySchema,\n NodeAttachQuery,\n NodeAttachQuerySchema,\n NodeCertifyQuery,\n NodeCertifyQuerySchema,\n NodeDetachQuery,\n NodeDetachQuerySchema,\n NodeInstance,\n NodeModule,\n NodeRegisteredQuery,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport { isPayloadOfSchemaType, WithMeta } from '@xyo-network/payload-model'\nimport { Mutex } from 'async-mutex'\n\nconstructableModuleWrapper()\nexport class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>\n extends ModuleWrapper<TWrappedModule>\n implements NodeInstance<TWrappedModule['params']>\n{\n static override instanceIdentityCheck: InstanceTypeCheck<NodeInstance> = isNodeInstance\n static override moduleIdentityCheck = isNodeModule\n static override requiredQueries = [NodeAttachQuerySchema, ...ModuleWrapper.requiredQueries]\n\n protected _attached?: Address[]\n protected _attachedMutex = new Mutex()\n\n async attach(id: ModuleIdentifier, external?: boolean): Promise<Address | undefined> {\n const queryPayload: NodeAttachQuery = { external, id, schema: NodeAttachQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n return payloads.pop()?.address\n }\n\n async attachQuery(id: ModuleIdentifier, external?: boolean, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeAttachQuery = { external, id, schema: NodeAttachQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async attached(): Promise<Address[]> {\n return await this._attachedMutex.runExclusive(async () => {\n if (this._attached === undefined) {\n const queryPayload: NodeAttachedQuery = { schema: NodeAttachedQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n this._attached = payloads.map((p) => p.address)\n }\n return this._attached\n })\n }\n\n async attachedQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeAttachedQuery = { schema: NodeAttachedQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async certify(id: ModuleIdentifier): Promise<ChildCertificationFields | undefined> {\n const queryPayload: NodeCertifyQuery = { id, schema: NodeCertifyQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<ChildCertification>>(ChildCertificationSchema))\n return payloads.pop()\n }\n\n async certifyQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<ChildCertification>> {\n const queryPayload: NodeCertifyQuery = { id, schema: NodeCertifyQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async detach(id: ModuleIdentifier): Promise<Address | undefined> {\n const queryPayload: NodeDetachQuery = { id, schema: NodeDetachQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n return payloads.pop()?.address\n }\n\n async detachQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeDetachQuery = { id, schema: NodeDetachQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n override async manifest(maxDepth?: number): Promise<NodeManifestPayload> {\n const queryPayload: ModuleManifestQuery = { schema: ModuleManifestQuerySchema, ...(maxDepth ? { maxDepth } : {}) }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<NodeManifestPayload>>(NodeManifestPayloadSchema))\n return payloads.pop() as NodeManifestPayload\n }\n\n async registered(): Promise<Address[]> {\n const queryPayload: NodeRegisteredQuery = { schema: NodeRegisteredQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n return payloads.map((p) => p.address)\n }\n\n async registeredQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeRegisteredQuery = { schema: NodeRegisteredQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;ACEA,oCAA8C;AAC9C,4BAA+D;AAC/D,0BAAuH;AACvH,4BAA0D;AAC1D,wBAkBO;AACP,2BAAgD;AAChD,yBAAsB;IAEtBA,kDAAAA;AACO,IAAMC,cAAN,cACGC,oCAAAA;EA5BV,OA4BUA;;;EAGR,OAAgBC,wBAAyDC;EACzE,OAAgBC,sBAAsBC;EACtC,OAAgBC,kBAAkB;IAACC;OAA0BN,oCAAcK;;EAEjEE;EACAC,iBAAiB,IAAIC,yBAAAA;EAE/B,MAAMC,OAAOC,IAAsBC,UAAkD;AACnF,UAAMC,eAAgC;MAAED;MAAUD;MAAIG,QAAQR;IAAsB;AACpF,UAAMS,YAAY,MAAM,KAAKC,UAAUH,YAAAA,GAAeI,WAAOC,4CAAgDC,2CAAAA,CAAAA;AAC7G,WAAOJ,SAASK,IAAG,GAAIC;EACzB;EAEA,MAAMC,YAAYX,IAAsBC,UAAoBW,SAAuE;AACjI,UAAMV,eAAgC;MAAED;MAAUD;MAAIG,QAAQR;IAAsB;AACpF,WAAO,MAAM,KAAKkB,aAAaX,cAAc,CAAA,GAAIU,OAAAA;EACnD;EAEA,MAAME,WAA+B;AACnC,WAAO,MAAM,KAAKjB,eAAekB,aAAa,YAAA;AAC5C,UAAI,KAAKnB,cAAcoB,QAAW;AAChC,cAAMd,eAAkC;UAAEC,QAAQc;QAAwB;AAC1E,cAAMb,YAAY,MAAM,KAAKC,UAAUH,YAAAA,GAAeI,WAAOC,4CAAgDC,2CAAAA,CAAAA;AAC7G,aAAKZ,YAAYQ,SAASc,IAAI,CAACC,MAAMA,EAAET,OAAO;MAChD;AACA,aAAO,KAAKd;IACd,CAAA;EACF;EAEA,MAAMwB,cAAcR,SAAuE;AACzF,UAAMV,eAAkC;MAAEC,QAAQc;IAAwB;AAC1E,WAAO,MAAM,KAAKJ,aAAaX,cAAc,CAAA,GAAIU,OAAAA;EACnD;EAEA,MAAMS,QAAQrB,IAAqE;AACjF,UAAME,eAAiC;MAAEF;MAAIG,QAAQmB;IAAuB;AAC5E,UAAMlB,YAAY,MAAM,KAAKC,UAAUH,YAAAA,GAAeI,WAAOC,4CAAoDgB,0CAAAA,CAAAA;AACjH,WAAOnB,SAASK,IAAG;EACrB;EAEA,MAAMe,aAAaxB,IAAsBY,SAA2E;AAClH,UAAMV,eAAiC;MAAEF;MAAIG,QAAQmB;IAAuB;AAC5E,WAAO,MAAM,KAAKT,aAAaX,cAAc,CAAA,GAAIU,OAAAA;EACnD;EAEA,MAAMa,OAAOzB,IAAoD;AAC/D,UAAME,eAAgC;MAAEF;MAAIG,QAAQuB;IAAsB;AAC1E,UAAMtB,YAAY,MAAM,KAAKC,UAAUH,YAAAA,GAAeI,WAAOC,4CAAgDC,2CAAAA,CAAAA;AAC7G,WAAOJ,SAASK,IAAG,GAAIC;EACzB;EAEA,MAAMiB,YAAY3B,IAAsBY,SAAuE;AAC7G,UAAMV,eAAgC;MAAEF;MAAIG,QAAQuB;IAAsB;AAC1E,WAAO,MAAM,KAAKb,aAAaX,cAAc,CAAA,GAAIU,OAAAA;EACnD;EAEA,MAAegB,SAASC,UAAiD;AACvE,UAAM3B,eAAoC;MAAEC,QAAQ2B;MAA2B,GAAID,WAAW;QAAEA;MAAS,IAAI,CAAC;IAAG;AACjH,UAAMzB,YAAY,MAAM,KAAKC,UAAUH,YAAAA,GAAeI,WAAOC,4CAAqDwB,+CAAAA,CAAAA;AAClH,WAAO3B,SAASK,IAAG;EACrB;EAEA,MAAMuB,aAAiC;AACrC,UAAM9B,eAAoC;MAAEC,QAAQ8B;IAA0B;AAC9E,UAAM7B,YAAY,MAAM,KAAKC,UAAUH,YAAAA,GAAeI,WAAOC,4CAAgDC,2CAAAA,CAAAA;AAC7G,WAAOJ,SAASc,IAAI,CAACC,MAAMA,EAAET,OAAO;EACtC;EAEA,MAAMwB,gBAAgBtB,SAAuE;AAC3F,UAAMV,eAAoC;MAAEC,QAAQ8B;IAA0B;AAC9E,WAAO,MAAM,KAAKpB,aAAaX,cAAc,CAAA,GAAIU,OAAAA;EACnD;AACF;","names":["constructableModuleWrapper","NodeWrapper","ModuleWrapper","instanceIdentityCheck","isNodeInstance","moduleIdentityCheck","isNodeModule","requiredQueries","NodeAttachQuerySchema","_attached","_attachedMutex","Mutex","attach","id","external","queryPayload","schema","payloads","sendQuery","filter","isPayloadOfSchemaType","AddressSchema","pop","address","attachQuery","account","sendQueryRaw","attached","runExclusive","undefined","NodeAttachedQuerySchema","map","p","attachedQuery","certify","NodeCertifyQuerySchema","ChildCertificationSchema","certifyQuery","detach","NodeDetachQuerySchema","detachQuery","manifest","maxDepth","ModuleManifestQuerySchema","NodeManifestPayloadSchema","registered","NodeRegisteredQuerySchema","registeredQuery"]}
|
package/dist/browser/index.js
CHANGED
|
@@ -2,13 +2,13 @@ var __defProp = Object.defineProperty;
|
|
|
2
2
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
3
|
|
|
4
4
|
// src/NodeWrapper.ts
|
|
5
|
-
import { exists } from "@xylabs/exists";
|
|
6
5
|
import { AddressSchema } from "@xyo-network/address-payload-plugin";
|
|
7
6
|
import { NodeManifestPayloadSchema } from "@xyo-network/manifest-model";
|
|
8
7
|
import { ModuleManifestQuerySchema } from "@xyo-network/module-model";
|
|
9
8
|
import { constructableModuleWrapper, ModuleWrapper } from "@xyo-network/module-wrapper";
|
|
10
9
|
import { ChildCertificationSchema, isNodeInstance, isNodeModule, NodeAttachedQuerySchema, NodeAttachQuerySchema, NodeCertifyQuerySchema, NodeDetachQuerySchema, NodeRegisteredQuerySchema } from "@xyo-network/node-model";
|
|
11
10
|
import { isPayloadOfSchemaType } from "@xyo-network/payload-model";
|
|
11
|
+
import { Mutex } from "async-mutex";
|
|
12
12
|
constructableModuleWrapper();
|
|
13
13
|
var NodeWrapper = class extends ModuleWrapper {
|
|
14
14
|
static {
|
|
@@ -20,6 +20,8 @@ var NodeWrapper = class extends ModuleWrapper {
|
|
|
20
20
|
NodeAttachQuerySchema,
|
|
21
21
|
...ModuleWrapper.requiredQueries
|
|
22
22
|
];
|
|
23
|
+
_attached;
|
|
24
|
+
_attachedMutex = new Mutex();
|
|
23
25
|
async attach(id, external) {
|
|
24
26
|
const queryPayload = {
|
|
25
27
|
external,
|
|
@@ -38,11 +40,16 @@ var NodeWrapper = class extends ModuleWrapper {
|
|
|
38
40
|
return await this.sendQueryRaw(queryPayload, [], account);
|
|
39
41
|
}
|
|
40
42
|
async attached() {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
return await this._attachedMutex.runExclusive(async () => {
|
|
44
|
+
if (this._attached === void 0) {
|
|
45
|
+
const queryPayload = {
|
|
46
|
+
schema: NodeAttachedQuerySchema
|
|
47
|
+
};
|
|
48
|
+
const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(AddressSchema));
|
|
49
|
+
this._attached = payloads.map((p) => p.address);
|
|
50
|
+
}
|
|
51
|
+
return this._attached;
|
|
52
|
+
});
|
|
46
53
|
}
|
|
47
54
|
async attachedQuery(account) {
|
|
48
55
|
const queryPayload = {
|
|
@@ -90,13 +97,6 @@ var NodeWrapper = class extends ModuleWrapper {
|
|
|
90
97
|
const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(NodeManifestPayloadSchema));
|
|
91
98
|
return payloads.pop();
|
|
92
99
|
}
|
|
93
|
-
async publicChildren() {
|
|
94
|
-
if (isNodeInstance(this.module)) {
|
|
95
|
-
return await this.module.publicChildren();
|
|
96
|
-
}
|
|
97
|
-
const attached = await this.attached();
|
|
98
|
-
return (await Promise.all(attached.map((address) => this.resolve(address)))).filter(exists);
|
|
99
|
-
}
|
|
100
100
|
async registered() {
|
|
101
101
|
const queryPayload = {
|
|
102
102
|
schema: NodeRegisteredQuerySchema
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/NodeWrapper.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../src/NodeWrapper.ts"],"sourcesContent":["import { Address } from '@xylabs/hex'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { AddressPayload, AddressSchema } from '@xyo-network/address-payload-plugin'\nimport { NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport { InstanceTypeCheck, ModuleIdentifier, ModuleManifestQuery, ModuleManifestQuerySchema, ModuleQueryResult } from '@xyo-network/module-model'\nimport { constructableModuleWrapper, ModuleWrapper } from '@xyo-network/module-wrapper'\nimport {\n ChildCertification,\n ChildCertificationFields,\n ChildCertificationSchema,\n isNodeInstance,\n isNodeModule,\n NodeAttachedQuery,\n NodeAttachedQuerySchema,\n NodeAttachQuery,\n NodeAttachQuerySchema,\n NodeCertifyQuery,\n NodeCertifyQuerySchema,\n NodeDetachQuery,\n NodeDetachQuerySchema,\n NodeInstance,\n NodeModule,\n NodeRegisteredQuery,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport { isPayloadOfSchemaType, WithMeta } from '@xyo-network/payload-model'\nimport { Mutex } from 'async-mutex'\n\nconstructableModuleWrapper()\nexport class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>\n extends ModuleWrapper<TWrappedModule>\n implements NodeInstance<TWrappedModule['params']>\n{\n static override instanceIdentityCheck: InstanceTypeCheck<NodeInstance> = isNodeInstance\n static override moduleIdentityCheck = isNodeModule\n static override requiredQueries = [NodeAttachQuerySchema, ...ModuleWrapper.requiredQueries]\n\n protected _attached?: Address[]\n protected _attachedMutex = new Mutex()\n\n async attach(id: ModuleIdentifier, external?: boolean): Promise<Address | undefined> {\n const queryPayload: NodeAttachQuery = { external, id, schema: NodeAttachQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n return payloads.pop()?.address\n }\n\n async attachQuery(id: ModuleIdentifier, external?: boolean, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeAttachQuery = { external, id, schema: NodeAttachQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async attached(): Promise<Address[]> {\n return await this._attachedMutex.runExclusive(async () => {\n if (this._attached === undefined) {\n const queryPayload: NodeAttachedQuery = { schema: NodeAttachedQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n this._attached = payloads.map((p) => p.address)\n }\n return this._attached\n })\n }\n\n async attachedQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeAttachedQuery = { schema: NodeAttachedQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async certify(id: ModuleIdentifier): Promise<ChildCertificationFields | undefined> {\n const queryPayload: NodeCertifyQuery = { id, schema: NodeCertifyQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<ChildCertification>>(ChildCertificationSchema))\n return payloads.pop()\n }\n\n async certifyQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<ChildCertification>> {\n const queryPayload: NodeCertifyQuery = { id, schema: NodeCertifyQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async detach(id: ModuleIdentifier): Promise<Address | undefined> {\n const queryPayload: NodeDetachQuery = { id, schema: NodeDetachQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n return payloads.pop()?.address\n }\n\n async detachQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeDetachQuery = { id, schema: NodeDetachQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n override async manifest(maxDepth?: number): Promise<NodeManifestPayload> {\n const queryPayload: ModuleManifestQuery = { schema: ModuleManifestQuerySchema, ...(maxDepth ? { maxDepth } : {}) }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<NodeManifestPayload>>(NodeManifestPayloadSchema))\n return payloads.pop() as NodeManifestPayload\n }\n\n async registered(): Promise<Address[]> {\n const queryPayload: NodeRegisteredQuery = { schema: NodeRegisteredQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n return payloads.map((p) => p.address)\n }\n\n async registeredQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeRegisteredQuery = { schema: NodeRegisteredQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n}\n"],"mappings":"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","names":["AddressSchema","NodeManifestPayloadSchema","ModuleManifestQuerySchema","constructableModuleWrapper","ModuleWrapper","ChildCertificationSchema","isNodeInstance","isNodeModule","NodeAttachedQuerySchema","NodeAttachQuerySchema","NodeCertifyQuerySchema","NodeDetachQuerySchema","NodeRegisteredQuerySchema","isPayloadOfSchemaType","Mutex","constructableModuleWrapper","NodeWrapper","ModuleWrapper","instanceIdentityCheck","isNodeInstance","moduleIdentityCheck","isNodeModule","requiredQueries","NodeAttachQuerySchema","_attached","_attachedMutex","Mutex","attach","id","external","queryPayload","schema","payloads","sendQuery","filter","isPayloadOfSchemaType","AddressSchema","pop","address","attachQuery","account","sendQueryRaw","attached","runExclusive","undefined","NodeAttachedQuerySchema","map","p","attachedQuery","certify","NodeCertifyQuerySchema","ChildCertificationSchema","certifyQuery","detach","NodeDetachQuerySchema","detachQuery","manifest","maxDepth","ModuleManifestQuerySchema","NodeManifestPayloadSchema","registered","NodeRegisteredQuerySchema","registeredQuery"]}
|
|
@@ -2,9 +2,10 @@ import { Address } from '@xylabs/hex';
|
|
|
2
2
|
import { AccountInstance } from '@xyo-network/account-model';
|
|
3
3
|
import { AddressPayload } from '@xyo-network/address-payload-plugin';
|
|
4
4
|
import { NodeManifestPayload } from '@xyo-network/manifest-model';
|
|
5
|
-
import { InstanceTypeCheck, ModuleIdentifier,
|
|
5
|
+
import { InstanceTypeCheck, ModuleIdentifier, ModuleQueryResult } from '@xyo-network/module-model';
|
|
6
6
|
import { ModuleWrapper } from '@xyo-network/module-wrapper';
|
|
7
7
|
import { ChildCertification, ChildCertificationFields, NodeInstance, NodeModule } from '@xyo-network/node-model';
|
|
8
|
+
import { Mutex } from 'async-mutex';
|
|
8
9
|
export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule> extends ModuleWrapper<TWrappedModule> implements NodeInstance<TWrappedModule['params']> {
|
|
9
10
|
static instanceIdentityCheck: InstanceTypeCheck<NodeInstance>;
|
|
10
11
|
static moduleIdentityCheck: import("@xyo-network/module-model").ModuleTypeCheck<NodeModule<import("@xylabs/object").BaseParamsFields & {
|
|
@@ -22,6 +23,8 @@ export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
|
|
|
22
23
|
moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[] | undefined;
|
|
23
24
|
}, import("@xyo-network/node-model").NodeModuleEventData>>;
|
|
24
25
|
static requiredQueries: string[];
|
|
26
|
+
protected _attached?: Address[];
|
|
27
|
+
protected _attachedMutex: Mutex;
|
|
25
28
|
attach(id: ModuleIdentifier, external?: boolean): Promise<Address | undefined>;
|
|
26
29
|
attachQuery(id: ModuleIdentifier, external?: boolean, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
27
30
|
attached(): Promise<Address[]>;
|
|
@@ -31,7 +34,6 @@ export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
|
|
|
31
34
|
detach(id: ModuleIdentifier): Promise<Address | undefined>;
|
|
32
35
|
detachQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
33
36
|
manifest(maxDepth?: number): Promise<NodeManifestPayload>;
|
|
34
|
-
publicChildren(): Promise<ModuleInstance[]>;
|
|
35
37
|
registered(): Promise<Address[]>;
|
|
36
38
|
registeredQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
37
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAiB,MAAM,qCAAqC,CAAA;AACnF,OAAO,EAAE,mBAAmB,EAA6B,MAAM,6BAA6B,CAAA;AAC5F,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAkD,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClJ,OAAO,EAA8B,aAAa,EAAE,MAAM,6BAA6B,CAAA;AACvF,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EAYxB,YAAY,EACZ,UAAU,EAGX,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAGnC,qBAAa,WAAW,CAAC,cAAc,SAAS,UAAU,GAAG,UAAU,CACrE,SAAQ,aAAa,CAAC,cAAc,CACpC,YAAW,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEjD,OAAgB,qBAAqB,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAiB;IACvF,OAAgB,mBAAmB;;;;;;;;;;;;;+DAAe;IAClD,OAAgB,eAAe,WAA4D;IAE3F,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAA;IAC/B,SAAS,CAAC,cAAc,QAAc;IAEhC,MAAM,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAM9E,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAK5H,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAW9B,aAAa,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAKpF,OAAO,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;IAM5E,YAAY,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAK7G,MAAM,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAM1D,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAK/F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAMlE,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAMhC,eAAe,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;CAI7F"}
|
|
@@ -2,9 +2,10 @@ import { Address } from '@xylabs/hex';
|
|
|
2
2
|
import { AccountInstance } from '@xyo-network/account-model';
|
|
3
3
|
import { AddressPayload } from '@xyo-network/address-payload-plugin';
|
|
4
4
|
import { NodeManifestPayload } from '@xyo-network/manifest-model';
|
|
5
|
-
import { InstanceTypeCheck, ModuleIdentifier,
|
|
5
|
+
import { InstanceTypeCheck, ModuleIdentifier, ModuleQueryResult } from '@xyo-network/module-model';
|
|
6
6
|
import { ModuleWrapper } from '@xyo-network/module-wrapper';
|
|
7
7
|
import { ChildCertification, ChildCertificationFields, NodeInstance, NodeModule } from '@xyo-network/node-model';
|
|
8
|
+
import { Mutex } from 'async-mutex';
|
|
8
9
|
export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule> extends ModuleWrapper<TWrappedModule> implements NodeInstance<TWrappedModule['params']> {
|
|
9
10
|
static instanceIdentityCheck: InstanceTypeCheck<NodeInstance>;
|
|
10
11
|
static moduleIdentityCheck: import("@xyo-network/module-model").ModuleTypeCheck<NodeModule<import("@xylabs/object").BaseParamsFields & {
|
|
@@ -22,6 +23,8 @@ export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
|
|
|
22
23
|
moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[] | undefined;
|
|
23
24
|
}, import("@xyo-network/node-model").NodeModuleEventData>>;
|
|
24
25
|
static requiredQueries: string[];
|
|
26
|
+
protected _attached?: Address[];
|
|
27
|
+
protected _attachedMutex: Mutex;
|
|
25
28
|
attach(id: ModuleIdentifier, external?: boolean): Promise<Address | undefined>;
|
|
26
29
|
attachQuery(id: ModuleIdentifier, external?: boolean, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
27
30
|
attached(): Promise<Address[]>;
|
|
@@ -31,7 +34,6 @@ export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
|
|
|
31
34
|
detach(id: ModuleIdentifier): Promise<Address | undefined>;
|
|
32
35
|
detachQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
33
36
|
manifest(maxDepth?: number): Promise<NodeManifestPayload>;
|
|
34
|
-
publicChildren(): Promise<ModuleInstance[]>;
|
|
35
37
|
registered(): Promise<Address[]>;
|
|
36
38
|
registeredQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
37
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAiB,MAAM,qCAAqC,CAAA;AACnF,OAAO,EAAE,mBAAmB,EAA6B,MAAM,6BAA6B,CAAA;AAC5F,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAkD,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClJ,OAAO,EAA8B,aAAa,EAAE,MAAM,6BAA6B,CAAA;AACvF,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EAYxB,YAAY,EACZ,UAAU,EAGX,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAGnC,qBAAa,WAAW,CAAC,cAAc,SAAS,UAAU,GAAG,UAAU,CACrE,SAAQ,aAAa,CAAC,cAAc,CACpC,YAAW,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEjD,OAAgB,qBAAqB,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAiB;IACvF,OAAgB,mBAAmB;;;;;;;;;;;;;+DAAe;IAClD,OAAgB,eAAe,WAA4D;IAE3F,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAA;IAC/B,SAAS,CAAC,cAAc,QAAc;IAEhC,MAAM,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAM9E,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAK5H,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAW9B,aAAa,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAKpF,OAAO,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;IAM5E,YAAY,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAK7G,MAAM,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAM1D,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAK/F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAMlE,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAMhC,eAAe,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;CAI7F"}
|
|
@@ -2,9 +2,10 @@ import { Address } from '@xylabs/hex';
|
|
|
2
2
|
import { AccountInstance } from '@xyo-network/account-model';
|
|
3
3
|
import { AddressPayload } from '@xyo-network/address-payload-plugin';
|
|
4
4
|
import { NodeManifestPayload } from '@xyo-network/manifest-model';
|
|
5
|
-
import { InstanceTypeCheck, ModuleIdentifier,
|
|
5
|
+
import { InstanceTypeCheck, ModuleIdentifier, ModuleQueryResult } from '@xyo-network/module-model';
|
|
6
6
|
import { ModuleWrapper } from '@xyo-network/module-wrapper';
|
|
7
7
|
import { ChildCertification, ChildCertificationFields, NodeInstance, NodeModule } from '@xyo-network/node-model';
|
|
8
|
+
import { Mutex } from 'async-mutex';
|
|
8
9
|
export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule> extends ModuleWrapper<TWrappedModule> implements NodeInstance<TWrappedModule['params']> {
|
|
9
10
|
static instanceIdentityCheck: InstanceTypeCheck<NodeInstance>;
|
|
10
11
|
static moduleIdentityCheck: import("@xyo-network/module-model").ModuleTypeCheck<NodeModule<import("@xylabs/object").BaseParamsFields & {
|
|
@@ -22,6 +23,8 @@ export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
|
|
|
22
23
|
moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[] | undefined;
|
|
23
24
|
}, import("@xyo-network/node-model").NodeModuleEventData>>;
|
|
24
25
|
static requiredQueries: string[];
|
|
26
|
+
protected _attached?: Address[];
|
|
27
|
+
protected _attachedMutex: Mutex;
|
|
25
28
|
attach(id: ModuleIdentifier, external?: boolean): Promise<Address | undefined>;
|
|
26
29
|
attachQuery(id: ModuleIdentifier, external?: boolean, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
27
30
|
attached(): Promise<Address[]>;
|
|
@@ -31,7 +34,6 @@ export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
|
|
|
31
34
|
detach(id: ModuleIdentifier): Promise<Address | undefined>;
|
|
32
35
|
detachQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
33
36
|
manifest(maxDepth?: number): Promise<NodeManifestPayload>;
|
|
34
|
-
publicChildren(): Promise<ModuleInstance[]>;
|
|
35
37
|
registered(): Promise<Address[]>;
|
|
36
38
|
registeredQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
37
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAiB,MAAM,qCAAqC,CAAA;AACnF,OAAO,EAAE,mBAAmB,EAA6B,MAAM,6BAA6B,CAAA;AAC5F,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAkD,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClJ,OAAO,EAA8B,aAAa,EAAE,MAAM,6BAA6B,CAAA;AACvF,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EAYxB,YAAY,EACZ,UAAU,EAGX,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAGnC,qBAAa,WAAW,CAAC,cAAc,SAAS,UAAU,GAAG,UAAU,CACrE,SAAQ,aAAa,CAAC,cAAc,CACpC,YAAW,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEjD,OAAgB,qBAAqB,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAiB;IACvF,OAAgB,mBAAmB;;;;;;;;;;;;;+DAAe;IAClD,OAAgB,eAAe,WAA4D;IAE3F,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAA;IAC/B,SAAS,CAAC,cAAc,QAAc;IAEhC,MAAM,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAM9E,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAK5H,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAW9B,aAAa,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAKpF,OAAO,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;IAM5E,YAAY,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAK7G,MAAM,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAM1D,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAK/F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAMlE,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAMhC,eAAe,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;CAI7F"}
|
package/dist/neutral/index.cjs
CHANGED
|
@@ -26,13 +26,13 @@ __export(src_exports, {
|
|
|
26
26
|
module.exports = __toCommonJS(src_exports);
|
|
27
27
|
|
|
28
28
|
// src/NodeWrapper.ts
|
|
29
|
-
var import_exists = require("@xylabs/exists");
|
|
30
29
|
var import_address_payload_plugin = require("@xyo-network/address-payload-plugin");
|
|
31
30
|
var import_manifest_model = require("@xyo-network/manifest-model");
|
|
32
31
|
var import_module_model = require("@xyo-network/module-model");
|
|
33
32
|
var import_module_wrapper = require("@xyo-network/module-wrapper");
|
|
34
33
|
var import_node_model = require("@xyo-network/node-model");
|
|
35
34
|
var import_payload_model = require("@xyo-network/payload-model");
|
|
35
|
+
var import_async_mutex = require("async-mutex");
|
|
36
36
|
(0, import_module_wrapper.constructableModuleWrapper)();
|
|
37
37
|
var NodeWrapper = class extends import_module_wrapper.ModuleWrapper {
|
|
38
38
|
static {
|
|
@@ -44,6 +44,8 @@ var NodeWrapper = class extends import_module_wrapper.ModuleWrapper {
|
|
|
44
44
|
import_node_model.NodeAttachQuerySchema,
|
|
45
45
|
...import_module_wrapper.ModuleWrapper.requiredQueries
|
|
46
46
|
];
|
|
47
|
+
_attached;
|
|
48
|
+
_attachedMutex = new import_async_mutex.Mutex();
|
|
47
49
|
async attach(id, external) {
|
|
48
50
|
const queryPayload = {
|
|
49
51
|
external,
|
|
@@ -62,11 +64,16 @@ var NodeWrapper = class extends import_module_wrapper.ModuleWrapper {
|
|
|
62
64
|
return await this.sendQueryRaw(queryPayload, [], account);
|
|
63
65
|
}
|
|
64
66
|
async attached() {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
return await this._attachedMutex.runExclusive(async () => {
|
|
68
|
+
if (this._attached === void 0) {
|
|
69
|
+
const queryPayload = {
|
|
70
|
+
schema: import_node_model.NodeAttachedQuerySchema
|
|
71
|
+
};
|
|
72
|
+
const payloads = (await this.sendQuery(queryPayload)).filter((0, import_payload_model.isPayloadOfSchemaType)(import_address_payload_plugin.AddressSchema));
|
|
73
|
+
this._attached = payloads.map((p) => p.address);
|
|
74
|
+
}
|
|
75
|
+
return this._attached;
|
|
76
|
+
});
|
|
70
77
|
}
|
|
71
78
|
async attachedQuery(account) {
|
|
72
79
|
const queryPayload = {
|
|
@@ -114,13 +121,6 @@ var NodeWrapper = class extends import_module_wrapper.ModuleWrapper {
|
|
|
114
121
|
const payloads = (await this.sendQuery(queryPayload)).filter((0, import_payload_model.isPayloadOfSchemaType)(import_manifest_model.NodeManifestPayloadSchema));
|
|
115
122
|
return payloads.pop();
|
|
116
123
|
}
|
|
117
|
-
async publicChildren() {
|
|
118
|
-
if ((0, import_node_model.isNodeInstance)(this.module)) {
|
|
119
|
-
return await this.module.publicChildren();
|
|
120
|
-
}
|
|
121
|
-
const attached = await this.attached();
|
|
122
|
-
return (await Promise.all(attached.map((address) => this.resolve(address)))).filter(import_exists.exists);
|
|
123
|
-
}
|
|
124
124
|
async registered() {
|
|
125
125
|
const queryPayload = {
|
|
126
126
|
schema: import_node_model.NodeRegisteredQuerySchema
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/NodeWrapper.ts"],"sourcesContent":["export * from './NodeWrapper'\n","import {
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/NodeWrapper.ts"],"sourcesContent":["export * from './NodeWrapper'\n","import { Address } from '@xylabs/hex'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { AddressPayload, AddressSchema } from '@xyo-network/address-payload-plugin'\nimport { NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport { InstanceTypeCheck, ModuleIdentifier, ModuleManifestQuery, ModuleManifestQuerySchema, ModuleQueryResult } from '@xyo-network/module-model'\nimport { constructableModuleWrapper, ModuleWrapper } from '@xyo-network/module-wrapper'\nimport {\n ChildCertification,\n ChildCertificationFields,\n ChildCertificationSchema,\n isNodeInstance,\n isNodeModule,\n NodeAttachedQuery,\n NodeAttachedQuerySchema,\n NodeAttachQuery,\n NodeAttachQuerySchema,\n NodeCertifyQuery,\n NodeCertifyQuerySchema,\n NodeDetachQuery,\n NodeDetachQuerySchema,\n NodeInstance,\n NodeModule,\n NodeRegisteredQuery,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport { isPayloadOfSchemaType, WithMeta } from '@xyo-network/payload-model'\nimport { Mutex } from 'async-mutex'\n\nconstructableModuleWrapper()\nexport class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>\n extends ModuleWrapper<TWrappedModule>\n implements NodeInstance<TWrappedModule['params']>\n{\n static override instanceIdentityCheck: InstanceTypeCheck<NodeInstance> = isNodeInstance\n static override moduleIdentityCheck = isNodeModule\n static override requiredQueries = [NodeAttachQuerySchema, ...ModuleWrapper.requiredQueries]\n\n protected _attached?: Address[]\n protected _attachedMutex = new Mutex()\n\n async attach(id: ModuleIdentifier, external?: boolean): Promise<Address | undefined> {\n const queryPayload: NodeAttachQuery = { external, id, schema: NodeAttachQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n return payloads.pop()?.address\n }\n\n async attachQuery(id: ModuleIdentifier, external?: boolean, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeAttachQuery = { external, id, schema: NodeAttachQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async attached(): Promise<Address[]> {\n return await this._attachedMutex.runExclusive(async () => {\n if (this._attached === undefined) {\n const queryPayload: NodeAttachedQuery = { schema: NodeAttachedQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n this._attached = payloads.map((p) => p.address)\n }\n return this._attached\n })\n }\n\n async attachedQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeAttachedQuery = { schema: NodeAttachedQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async certify(id: ModuleIdentifier): Promise<ChildCertificationFields | undefined> {\n const queryPayload: NodeCertifyQuery = { id, schema: NodeCertifyQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<ChildCertification>>(ChildCertificationSchema))\n return payloads.pop()\n }\n\n async certifyQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<ChildCertification>> {\n const queryPayload: NodeCertifyQuery = { id, schema: NodeCertifyQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async detach(id: ModuleIdentifier): Promise<Address | undefined> {\n const queryPayload: NodeDetachQuery = { id, schema: NodeDetachQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n return payloads.pop()?.address\n }\n\n async detachQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeDetachQuery = { id, schema: NodeDetachQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n override async manifest(maxDepth?: number): Promise<NodeManifestPayload> {\n const queryPayload: ModuleManifestQuery = { schema: ModuleManifestQuerySchema, ...(maxDepth ? { maxDepth } : {}) }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<NodeManifestPayload>>(NodeManifestPayloadSchema))\n return payloads.pop() as NodeManifestPayload\n }\n\n async registered(): Promise<Address[]> {\n const queryPayload: NodeRegisteredQuery = { schema: NodeRegisteredQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n return payloads.map((p) => p.address)\n }\n\n async registeredQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeRegisteredQuery = { schema: NodeRegisteredQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n}\n"],"mappings":"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","names":["constructableModuleWrapper","NodeWrapper","ModuleWrapper","instanceIdentityCheck","isNodeInstance","moduleIdentityCheck","isNodeModule","requiredQueries","NodeAttachQuerySchema","_attached","_attachedMutex","Mutex","attach","id","external","queryPayload","schema","payloads","sendQuery","filter","isPayloadOfSchemaType","AddressSchema","pop","address","attachQuery","account","sendQueryRaw","attached","runExclusive","undefined","NodeAttachedQuerySchema","map","p","attachedQuery","certify","NodeCertifyQuerySchema","ChildCertificationSchema","certifyQuery","detach","NodeDetachQuerySchema","detachQuery","manifest","maxDepth","ModuleManifestQuerySchema","NodeManifestPayloadSchema","registered","NodeRegisteredQuerySchema","registeredQuery"]}
|
package/dist/neutral/index.js
CHANGED
|
@@ -2,13 +2,13 @@ var __defProp = Object.defineProperty;
|
|
|
2
2
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
3
|
|
|
4
4
|
// src/NodeWrapper.ts
|
|
5
|
-
import { exists } from "@xylabs/exists";
|
|
6
5
|
import { AddressSchema } from "@xyo-network/address-payload-plugin";
|
|
7
6
|
import { NodeManifestPayloadSchema } from "@xyo-network/manifest-model";
|
|
8
7
|
import { ModuleManifestQuerySchema } from "@xyo-network/module-model";
|
|
9
8
|
import { constructableModuleWrapper, ModuleWrapper } from "@xyo-network/module-wrapper";
|
|
10
9
|
import { ChildCertificationSchema, isNodeInstance, isNodeModule, NodeAttachedQuerySchema, NodeAttachQuerySchema, NodeCertifyQuerySchema, NodeDetachQuerySchema, NodeRegisteredQuerySchema } from "@xyo-network/node-model";
|
|
11
10
|
import { isPayloadOfSchemaType } from "@xyo-network/payload-model";
|
|
11
|
+
import { Mutex } from "async-mutex";
|
|
12
12
|
constructableModuleWrapper();
|
|
13
13
|
var NodeWrapper = class extends ModuleWrapper {
|
|
14
14
|
static {
|
|
@@ -20,6 +20,8 @@ var NodeWrapper = class extends ModuleWrapper {
|
|
|
20
20
|
NodeAttachQuerySchema,
|
|
21
21
|
...ModuleWrapper.requiredQueries
|
|
22
22
|
];
|
|
23
|
+
_attached;
|
|
24
|
+
_attachedMutex = new Mutex();
|
|
23
25
|
async attach(id, external) {
|
|
24
26
|
const queryPayload = {
|
|
25
27
|
external,
|
|
@@ -38,11 +40,16 @@ var NodeWrapper = class extends ModuleWrapper {
|
|
|
38
40
|
return await this.sendQueryRaw(queryPayload, [], account);
|
|
39
41
|
}
|
|
40
42
|
async attached() {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
return await this._attachedMutex.runExclusive(async () => {
|
|
44
|
+
if (this._attached === void 0) {
|
|
45
|
+
const queryPayload = {
|
|
46
|
+
schema: NodeAttachedQuerySchema
|
|
47
|
+
};
|
|
48
|
+
const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(AddressSchema));
|
|
49
|
+
this._attached = payloads.map((p) => p.address);
|
|
50
|
+
}
|
|
51
|
+
return this._attached;
|
|
52
|
+
});
|
|
46
53
|
}
|
|
47
54
|
async attachedQuery(account) {
|
|
48
55
|
const queryPayload = {
|
|
@@ -90,13 +97,6 @@ var NodeWrapper = class extends ModuleWrapper {
|
|
|
90
97
|
const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(NodeManifestPayloadSchema));
|
|
91
98
|
return payloads.pop();
|
|
92
99
|
}
|
|
93
|
-
async publicChildren() {
|
|
94
|
-
if (isNodeInstance(this.module)) {
|
|
95
|
-
return await this.module.publicChildren();
|
|
96
|
-
}
|
|
97
|
-
const attached = await this.attached();
|
|
98
|
-
return (await Promise.all(attached.map((address) => this.resolve(address)))).filter(exists);
|
|
99
|
-
}
|
|
100
100
|
async registered() {
|
|
101
101
|
const queryPayload = {
|
|
102
102
|
schema: NodeRegisteredQuerySchema
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/NodeWrapper.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../src/NodeWrapper.ts"],"sourcesContent":["import { Address } from '@xylabs/hex'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { AddressPayload, AddressSchema } from '@xyo-network/address-payload-plugin'\nimport { NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport { InstanceTypeCheck, ModuleIdentifier, ModuleManifestQuery, ModuleManifestQuerySchema, ModuleQueryResult } from '@xyo-network/module-model'\nimport { constructableModuleWrapper, ModuleWrapper } from '@xyo-network/module-wrapper'\nimport {\n ChildCertification,\n ChildCertificationFields,\n ChildCertificationSchema,\n isNodeInstance,\n isNodeModule,\n NodeAttachedQuery,\n NodeAttachedQuerySchema,\n NodeAttachQuery,\n NodeAttachQuerySchema,\n NodeCertifyQuery,\n NodeCertifyQuerySchema,\n NodeDetachQuery,\n NodeDetachQuerySchema,\n NodeInstance,\n NodeModule,\n NodeRegisteredQuery,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport { isPayloadOfSchemaType, WithMeta } from '@xyo-network/payload-model'\nimport { Mutex } from 'async-mutex'\n\nconstructableModuleWrapper()\nexport class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>\n extends ModuleWrapper<TWrappedModule>\n implements NodeInstance<TWrappedModule['params']>\n{\n static override instanceIdentityCheck: InstanceTypeCheck<NodeInstance> = isNodeInstance\n static override moduleIdentityCheck = isNodeModule\n static override requiredQueries = [NodeAttachQuerySchema, ...ModuleWrapper.requiredQueries]\n\n protected _attached?: Address[]\n protected _attachedMutex = new Mutex()\n\n async attach(id: ModuleIdentifier, external?: boolean): Promise<Address | undefined> {\n const queryPayload: NodeAttachQuery = { external, id, schema: NodeAttachQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n return payloads.pop()?.address\n }\n\n async attachQuery(id: ModuleIdentifier, external?: boolean, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeAttachQuery = { external, id, schema: NodeAttachQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async attached(): Promise<Address[]> {\n return await this._attachedMutex.runExclusive(async () => {\n if (this._attached === undefined) {\n const queryPayload: NodeAttachedQuery = { schema: NodeAttachedQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n this._attached = payloads.map((p) => p.address)\n }\n return this._attached\n })\n }\n\n async attachedQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeAttachedQuery = { schema: NodeAttachedQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async certify(id: ModuleIdentifier): Promise<ChildCertificationFields | undefined> {\n const queryPayload: NodeCertifyQuery = { id, schema: NodeCertifyQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<ChildCertification>>(ChildCertificationSchema))\n return payloads.pop()\n }\n\n async certifyQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<ChildCertification>> {\n const queryPayload: NodeCertifyQuery = { id, schema: NodeCertifyQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async detach(id: ModuleIdentifier): Promise<Address | undefined> {\n const queryPayload: NodeDetachQuery = { id, schema: NodeDetachQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n return payloads.pop()?.address\n }\n\n async detachQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeDetachQuery = { id, schema: NodeDetachQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n override async manifest(maxDepth?: number): Promise<NodeManifestPayload> {\n const queryPayload: ModuleManifestQuery = { schema: ModuleManifestQuerySchema, ...(maxDepth ? { maxDepth } : {}) }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<NodeManifestPayload>>(NodeManifestPayloadSchema))\n return payloads.pop() as NodeManifestPayload\n }\n\n async registered(): Promise<Address[]> {\n const queryPayload: NodeRegisteredQuery = { schema: NodeRegisteredQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n return payloads.map((p) => p.address)\n }\n\n async registeredQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeRegisteredQuery = { schema: NodeRegisteredQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n}\n"],"mappings":"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","names":["AddressSchema","NodeManifestPayloadSchema","ModuleManifestQuerySchema","constructableModuleWrapper","ModuleWrapper","ChildCertificationSchema","isNodeInstance","isNodeModule","NodeAttachedQuerySchema","NodeAttachQuerySchema","NodeCertifyQuerySchema","NodeDetachQuerySchema","NodeRegisteredQuerySchema","isPayloadOfSchemaType","Mutex","constructableModuleWrapper","NodeWrapper","ModuleWrapper","instanceIdentityCheck","isNodeInstance","moduleIdentityCheck","isNodeModule","requiredQueries","NodeAttachQuerySchema","_attached","_attachedMutex","Mutex","attach","id","external","queryPayload","schema","payloads","sendQuery","filter","isPayloadOfSchemaType","AddressSchema","pop","address","attachQuery","account","sendQueryRaw","attached","runExclusive","undefined","NodeAttachedQuerySchema","map","p","attachedQuery","certify","NodeCertifyQuerySchema","ChildCertificationSchema","certifyQuery","detach","NodeDetachQuerySchema","detachQuery","manifest","maxDepth","ModuleManifestQuerySchema","NodeManifestPayloadSchema","registered","NodeRegisteredQuerySchema","registeredQuery"]}
|
|
@@ -2,9 +2,10 @@ import { Address } from '@xylabs/hex';
|
|
|
2
2
|
import { AccountInstance } from '@xyo-network/account-model';
|
|
3
3
|
import { AddressPayload } from '@xyo-network/address-payload-plugin';
|
|
4
4
|
import { NodeManifestPayload } from '@xyo-network/manifest-model';
|
|
5
|
-
import { InstanceTypeCheck, ModuleIdentifier,
|
|
5
|
+
import { InstanceTypeCheck, ModuleIdentifier, ModuleQueryResult } from '@xyo-network/module-model';
|
|
6
6
|
import { ModuleWrapper } from '@xyo-network/module-wrapper';
|
|
7
7
|
import { ChildCertification, ChildCertificationFields, NodeInstance, NodeModule } from '@xyo-network/node-model';
|
|
8
|
+
import { Mutex } from 'async-mutex';
|
|
8
9
|
export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule> extends ModuleWrapper<TWrappedModule> implements NodeInstance<TWrappedModule['params']> {
|
|
9
10
|
static instanceIdentityCheck: InstanceTypeCheck<NodeInstance>;
|
|
10
11
|
static moduleIdentityCheck: import("@xyo-network/module-model").ModuleTypeCheck<NodeModule<import("@xylabs/object").BaseParamsFields & {
|
|
@@ -22,6 +23,8 @@ export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
|
|
|
22
23
|
moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[] | undefined;
|
|
23
24
|
}, import("@xyo-network/node-model").NodeModuleEventData>>;
|
|
24
25
|
static requiredQueries: string[];
|
|
26
|
+
protected _attached?: Address[];
|
|
27
|
+
protected _attachedMutex: Mutex;
|
|
25
28
|
attach(id: ModuleIdentifier, external?: boolean): Promise<Address | undefined>;
|
|
26
29
|
attachQuery(id: ModuleIdentifier, external?: boolean, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
27
30
|
attached(): Promise<Address[]>;
|
|
@@ -31,7 +34,6 @@ export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
|
|
|
31
34
|
detach(id: ModuleIdentifier): Promise<Address | undefined>;
|
|
32
35
|
detachQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
33
36
|
manifest(maxDepth?: number): Promise<NodeManifestPayload>;
|
|
34
|
-
publicChildren(): Promise<ModuleInstance[]>;
|
|
35
37
|
registered(): Promise<Address[]>;
|
|
36
38
|
registeredQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
37
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAiB,MAAM,qCAAqC,CAAA;AACnF,OAAO,EAAE,mBAAmB,EAA6B,MAAM,6BAA6B,CAAA;AAC5F,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAkD,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClJ,OAAO,EAA8B,aAAa,EAAE,MAAM,6BAA6B,CAAA;AACvF,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EAYxB,YAAY,EACZ,UAAU,EAGX,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAGnC,qBAAa,WAAW,CAAC,cAAc,SAAS,UAAU,GAAG,UAAU,CACrE,SAAQ,aAAa,CAAC,cAAc,CACpC,YAAW,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEjD,OAAgB,qBAAqB,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAiB;IACvF,OAAgB,mBAAmB;;;;;;;;;;;;;+DAAe;IAClD,OAAgB,eAAe,WAA4D;IAE3F,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAA;IAC/B,SAAS,CAAC,cAAc,QAAc;IAEhC,MAAM,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAM9E,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAK5H,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAW9B,aAAa,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAKpF,OAAO,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;IAM5E,YAAY,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAK7G,MAAM,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAM1D,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAK/F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAMlE,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAMhC,eAAe,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;CAI7F"}
|
|
@@ -2,9 +2,10 @@ import { Address } from '@xylabs/hex';
|
|
|
2
2
|
import { AccountInstance } from '@xyo-network/account-model';
|
|
3
3
|
import { AddressPayload } from '@xyo-network/address-payload-plugin';
|
|
4
4
|
import { NodeManifestPayload } from '@xyo-network/manifest-model';
|
|
5
|
-
import { InstanceTypeCheck, ModuleIdentifier,
|
|
5
|
+
import { InstanceTypeCheck, ModuleIdentifier, ModuleQueryResult } from '@xyo-network/module-model';
|
|
6
6
|
import { ModuleWrapper } from '@xyo-network/module-wrapper';
|
|
7
7
|
import { ChildCertification, ChildCertificationFields, NodeInstance, NodeModule } from '@xyo-network/node-model';
|
|
8
|
+
import { Mutex } from 'async-mutex';
|
|
8
9
|
export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule> extends ModuleWrapper<TWrappedModule> implements NodeInstance<TWrappedModule['params']> {
|
|
9
10
|
static instanceIdentityCheck: InstanceTypeCheck<NodeInstance>;
|
|
10
11
|
static moduleIdentityCheck: import("@xyo-network/module-model").ModuleTypeCheck<NodeModule<import("@xylabs/object").BaseParamsFields & {
|
|
@@ -22,6 +23,8 @@ export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
|
|
|
22
23
|
moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[] | undefined;
|
|
23
24
|
}, import("@xyo-network/node-model").NodeModuleEventData>>;
|
|
24
25
|
static requiredQueries: string[];
|
|
26
|
+
protected _attached?: Address[];
|
|
27
|
+
protected _attachedMutex: Mutex;
|
|
25
28
|
attach(id: ModuleIdentifier, external?: boolean): Promise<Address | undefined>;
|
|
26
29
|
attachQuery(id: ModuleIdentifier, external?: boolean, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
27
30
|
attached(): Promise<Address[]>;
|
|
@@ -31,7 +34,6 @@ export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
|
|
|
31
34
|
detach(id: ModuleIdentifier): Promise<Address | undefined>;
|
|
32
35
|
detachQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
33
36
|
manifest(maxDepth?: number): Promise<NodeManifestPayload>;
|
|
34
|
-
publicChildren(): Promise<ModuleInstance[]>;
|
|
35
37
|
registered(): Promise<Address[]>;
|
|
36
38
|
registeredQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
37
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAiB,MAAM,qCAAqC,CAAA;AACnF,OAAO,EAAE,mBAAmB,EAA6B,MAAM,6BAA6B,CAAA;AAC5F,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAkD,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClJ,OAAO,EAA8B,aAAa,EAAE,MAAM,6BAA6B,CAAA;AACvF,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EAYxB,YAAY,EACZ,UAAU,EAGX,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAGnC,qBAAa,WAAW,CAAC,cAAc,SAAS,UAAU,GAAG,UAAU,CACrE,SAAQ,aAAa,CAAC,cAAc,CACpC,YAAW,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEjD,OAAgB,qBAAqB,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAiB;IACvF,OAAgB,mBAAmB;;;;;;;;;;;;;+DAAe;IAClD,OAAgB,eAAe,WAA4D;IAE3F,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAA;IAC/B,SAAS,CAAC,cAAc,QAAc;IAEhC,MAAM,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAM9E,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAK5H,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAW9B,aAAa,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAKpF,OAAO,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;IAM5E,YAAY,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAK7G,MAAM,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAM1D,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAK/F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAMlE,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAMhC,eAAe,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;CAI7F"}
|
|
@@ -2,9 +2,10 @@ import { Address } from '@xylabs/hex';
|
|
|
2
2
|
import { AccountInstance } from '@xyo-network/account-model';
|
|
3
3
|
import { AddressPayload } from '@xyo-network/address-payload-plugin';
|
|
4
4
|
import { NodeManifestPayload } from '@xyo-network/manifest-model';
|
|
5
|
-
import { InstanceTypeCheck, ModuleIdentifier,
|
|
5
|
+
import { InstanceTypeCheck, ModuleIdentifier, ModuleQueryResult } from '@xyo-network/module-model';
|
|
6
6
|
import { ModuleWrapper } from '@xyo-network/module-wrapper';
|
|
7
7
|
import { ChildCertification, ChildCertificationFields, NodeInstance, NodeModule } from '@xyo-network/node-model';
|
|
8
|
+
import { Mutex } from 'async-mutex';
|
|
8
9
|
export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule> extends ModuleWrapper<TWrappedModule> implements NodeInstance<TWrappedModule['params']> {
|
|
9
10
|
static instanceIdentityCheck: InstanceTypeCheck<NodeInstance>;
|
|
10
11
|
static moduleIdentityCheck: import("@xyo-network/module-model").ModuleTypeCheck<NodeModule<import("@xylabs/object").BaseParamsFields & {
|
|
@@ -22,6 +23,8 @@ export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
|
|
|
22
23
|
moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[] | undefined;
|
|
23
24
|
}, import("@xyo-network/node-model").NodeModuleEventData>>;
|
|
24
25
|
static requiredQueries: string[];
|
|
26
|
+
protected _attached?: Address[];
|
|
27
|
+
protected _attachedMutex: Mutex;
|
|
25
28
|
attach(id: ModuleIdentifier, external?: boolean): Promise<Address | undefined>;
|
|
26
29
|
attachQuery(id: ModuleIdentifier, external?: boolean, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
27
30
|
attached(): Promise<Address[]>;
|
|
@@ -31,7 +34,6 @@ export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
|
|
|
31
34
|
detach(id: ModuleIdentifier): Promise<Address | undefined>;
|
|
32
35
|
detachQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
33
36
|
manifest(maxDepth?: number): Promise<NodeManifestPayload>;
|
|
34
|
-
publicChildren(): Promise<ModuleInstance[]>;
|
|
35
37
|
registered(): Promise<Address[]>;
|
|
36
38
|
registeredQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
37
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAiB,MAAM,qCAAqC,CAAA;AACnF,OAAO,EAAE,mBAAmB,EAA6B,MAAM,6BAA6B,CAAA;AAC5F,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAkD,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClJ,OAAO,EAA8B,aAAa,EAAE,MAAM,6BAA6B,CAAA;AACvF,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EAYxB,YAAY,EACZ,UAAU,EAGX,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAGnC,qBAAa,WAAW,CAAC,cAAc,SAAS,UAAU,GAAG,UAAU,CACrE,SAAQ,aAAa,CAAC,cAAc,CACpC,YAAW,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEjD,OAAgB,qBAAqB,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAiB;IACvF,OAAgB,mBAAmB;;;;;;;;;;;;;+DAAe;IAClD,OAAgB,eAAe,WAA4D;IAE3F,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAA;IAC/B,SAAS,CAAC,cAAc,QAAc;IAEhC,MAAM,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAM9E,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAK5H,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAW9B,aAAa,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAKpF,OAAO,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;IAM5E,YAAY,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAK7G,MAAM,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAM1D,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAK/F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAMlE,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAMhC,eAAe,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;CAI7F"}
|
package/dist/node/index.cjs
CHANGED
|
@@ -31,15 +31,17 @@ __export(src_exports, {
|
|
|
31
31
|
module.exports = __toCommonJS(src_exports);
|
|
32
32
|
|
|
33
33
|
// src/NodeWrapper.ts
|
|
34
|
-
var import_exists = require("@xylabs/exists");
|
|
35
34
|
var import_address_payload_plugin = require("@xyo-network/address-payload-plugin");
|
|
36
35
|
var import_manifest_model = require("@xyo-network/manifest-model");
|
|
37
36
|
var import_module_model = require("@xyo-network/module-model");
|
|
38
37
|
var import_module_wrapper = require("@xyo-network/module-wrapper");
|
|
39
38
|
var import_node_model = require("@xyo-network/node-model");
|
|
40
39
|
var import_payload_model = require("@xyo-network/payload-model");
|
|
40
|
+
var import_async_mutex = require("async-mutex");
|
|
41
41
|
(0, import_module_wrapper.constructableModuleWrapper)();
|
|
42
42
|
var _NodeWrapper = class _NodeWrapper extends import_module_wrapper.ModuleWrapper {
|
|
43
|
+
_attached;
|
|
44
|
+
_attachedMutex = new import_async_mutex.Mutex();
|
|
43
45
|
async attach(id, external) {
|
|
44
46
|
var _a;
|
|
45
47
|
const queryPayload = {
|
|
@@ -59,11 +61,16 @@ var _NodeWrapper = class _NodeWrapper extends import_module_wrapper.ModuleWrappe
|
|
|
59
61
|
return await this.sendQueryRaw(queryPayload, [], account);
|
|
60
62
|
}
|
|
61
63
|
async attached() {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
64
|
+
return await this._attachedMutex.runExclusive(async () => {
|
|
65
|
+
if (this._attached === void 0) {
|
|
66
|
+
const queryPayload = {
|
|
67
|
+
schema: import_node_model.NodeAttachedQuerySchema
|
|
68
|
+
};
|
|
69
|
+
const payloads = (await this.sendQuery(queryPayload)).filter((0, import_payload_model.isPayloadOfSchemaType)(import_address_payload_plugin.AddressSchema));
|
|
70
|
+
this._attached = payloads.map((p) => p.address);
|
|
71
|
+
}
|
|
72
|
+
return this._attached;
|
|
73
|
+
});
|
|
67
74
|
}
|
|
68
75
|
async attachedQuery(account) {
|
|
69
76
|
const queryPayload = {
|
|
@@ -112,13 +119,6 @@ var _NodeWrapper = class _NodeWrapper extends import_module_wrapper.ModuleWrappe
|
|
|
112
119
|
const payloads = (await this.sendQuery(queryPayload)).filter((0, import_payload_model.isPayloadOfSchemaType)(import_manifest_model.NodeManifestPayloadSchema));
|
|
113
120
|
return payloads.pop();
|
|
114
121
|
}
|
|
115
|
-
async publicChildren() {
|
|
116
|
-
if ((0, import_node_model.isNodeInstance)(this.module)) {
|
|
117
|
-
return await this.module.publicChildren();
|
|
118
|
-
}
|
|
119
|
-
const attached = await this.attached();
|
|
120
|
-
return (await Promise.all(attached.map((address) => this.resolve(address)))).filter(import_exists.exists);
|
|
121
|
-
}
|
|
122
122
|
async registered() {
|
|
123
123
|
const queryPayload = {
|
|
124
124
|
schema: import_node_model.NodeRegisteredQuerySchema
|
package/dist/node/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/NodeWrapper.ts"],"sourcesContent":["export * from './NodeWrapper'\n","import {
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/NodeWrapper.ts"],"sourcesContent":["export * from './NodeWrapper'\n","import { Address } from '@xylabs/hex'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { AddressPayload, AddressSchema } from '@xyo-network/address-payload-plugin'\nimport { NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport { InstanceTypeCheck, ModuleIdentifier, ModuleManifestQuery, ModuleManifestQuerySchema, ModuleQueryResult } from '@xyo-network/module-model'\nimport { constructableModuleWrapper, ModuleWrapper } from '@xyo-network/module-wrapper'\nimport {\n ChildCertification,\n ChildCertificationFields,\n ChildCertificationSchema,\n isNodeInstance,\n isNodeModule,\n NodeAttachedQuery,\n NodeAttachedQuerySchema,\n NodeAttachQuery,\n NodeAttachQuerySchema,\n NodeCertifyQuery,\n NodeCertifyQuerySchema,\n NodeDetachQuery,\n NodeDetachQuerySchema,\n NodeInstance,\n NodeModule,\n NodeRegisteredQuery,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport { isPayloadOfSchemaType, WithMeta } from '@xyo-network/payload-model'\nimport { Mutex } from 'async-mutex'\n\nconstructableModuleWrapper()\nexport class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>\n extends ModuleWrapper<TWrappedModule>\n implements NodeInstance<TWrappedModule['params']>\n{\n static override instanceIdentityCheck: InstanceTypeCheck<NodeInstance> = isNodeInstance\n static override moduleIdentityCheck = isNodeModule\n static override requiredQueries = [NodeAttachQuerySchema, ...ModuleWrapper.requiredQueries]\n\n protected _attached?: Address[]\n protected _attachedMutex = new Mutex()\n\n async attach(id: ModuleIdentifier, external?: boolean): Promise<Address | undefined> {\n const queryPayload: NodeAttachQuery = { external, id, schema: NodeAttachQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n return payloads.pop()?.address\n }\n\n async attachQuery(id: ModuleIdentifier, external?: boolean, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeAttachQuery = { external, id, schema: NodeAttachQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async attached(): Promise<Address[]> {\n return await this._attachedMutex.runExclusive(async () => {\n if (this._attached === undefined) {\n const queryPayload: NodeAttachedQuery = { schema: NodeAttachedQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n this._attached = payloads.map((p) => p.address)\n }\n return this._attached\n })\n }\n\n async attachedQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeAttachedQuery = { schema: NodeAttachedQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async certify(id: ModuleIdentifier): Promise<ChildCertificationFields | undefined> {\n const queryPayload: NodeCertifyQuery = { id, schema: NodeCertifyQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<ChildCertification>>(ChildCertificationSchema))\n return payloads.pop()\n }\n\n async certifyQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<ChildCertification>> {\n const queryPayload: NodeCertifyQuery = { id, schema: NodeCertifyQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async detach(id: ModuleIdentifier): Promise<Address | undefined> {\n const queryPayload: NodeDetachQuery = { id, schema: NodeDetachQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n return payloads.pop()?.address\n }\n\n async detachQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeDetachQuery = { id, schema: NodeDetachQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n override async manifest(maxDepth?: number): Promise<NodeManifestPayload> {\n const queryPayload: ModuleManifestQuery = { schema: ModuleManifestQuerySchema, ...(maxDepth ? { maxDepth } : {}) }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<NodeManifestPayload>>(NodeManifestPayloadSchema))\n return payloads.pop() as NodeManifestPayload\n }\n\n async registered(): Promise<Address[]> {\n const queryPayload: NodeRegisteredQuery = { schema: NodeRegisteredQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n return payloads.map((p) => p.address)\n }\n\n async registeredQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeRegisteredQuery = { schema: NodeRegisteredQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n}\n"],"mappings":"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","names":["constructableModuleWrapper","NodeWrapper","ModuleWrapper","_attached","_attachedMutex","Mutex","attach","id","external","queryPayload","schema","NodeAttachQuerySchema","payloads","sendQuery","filter","isPayloadOfSchemaType","AddressSchema","pop","address","attachQuery","account","sendQueryRaw","attached","runExclusive","undefined","NodeAttachedQuerySchema","map","p","attachedQuery","certify","NodeCertifyQuerySchema","ChildCertificationSchema","certifyQuery","detach","NodeDetachQuerySchema","detachQuery","manifest","maxDepth","ModuleManifestQuerySchema","NodeManifestPayloadSchema","registered","NodeRegisteredQuerySchema","registeredQuery","instanceIdentityCheck","isNodeInstance","moduleIdentityCheck","isNodeModule","requiredQueries"]}
|
package/dist/node/index.js
CHANGED
|
@@ -7,15 +7,17 @@ var __publicField = (obj, key, value) => {
|
|
|
7
7
|
};
|
|
8
8
|
|
|
9
9
|
// src/NodeWrapper.ts
|
|
10
|
-
import { exists } from "@xylabs/exists";
|
|
11
10
|
import { AddressSchema } from "@xyo-network/address-payload-plugin";
|
|
12
11
|
import { NodeManifestPayloadSchema } from "@xyo-network/manifest-model";
|
|
13
12
|
import { ModuleManifestQuerySchema } from "@xyo-network/module-model";
|
|
14
13
|
import { constructableModuleWrapper, ModuleWrapper } from "@xyo-network/module-wrapper";
|
|
15
14
|
import { ChildCertificationSchema, isNodeInstance, isNodeModule, NodeAttachedQuerySchema, NodeAttachQuerySchema, NodeCertifyQuerySchema, NodeDetachQuerySchema, NodeRegisteredQuerySchema } from "@xyo-network/node-model";
|
|
16
15
|
import { isPayloadOfSchemaType } from "@xyo-network/payload-model";
|
|
16
|
+
import { Mutex } from "async-mutex";
|
|
17
17
|
constructableModuleWrapper();
|
|
18
18
|
var _NodeWrapper = class _NodeWrapper extends ModuleWrapper {
|
|
19
|
+
_attached;
|
|
20
|
+
_attachedMutex = new Mutex();
|
|
19
21
|
async attach(id, external) {
|
|
20
22
|
var _a;
|
|
21
23
|
const queryPayload = {
|
|
@@ -35,11 +37,16 @@ var _NodeWrapper = class _NodeWrapper extends ModuleWrapper {
|
|
|
35
37
|
return await this.sendQueryRaw(queryPayload, [], account);
|
|
36
38
|
}
|
|
37
39
|
async attached() {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
return await this._attachedMutex.runExclusive(async () => {
|
|
41
|
+
if (this._attached === void 0) {
|
|
42
|
+
const queryPayload = {
|
|
43
|
+
schema: NodeAttachedQuerySchema
|
|
44
|
+
};
|
|
45
|
+
const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(AddressSchema));
|
|
46
|
+
this._attached = payloads.map((p) => p.address);
|
|
47
|
+
}
|
|
48
|
+
return this._attached;
|
|
49
|
+
});
|
|
43
50
|
}
|
|
44
51
|
async attachedQuery(account) {
|
|
45
52
|
const queryPayload = {
|
|
@@ -88,13 +95,6 @@ var _NodeWrapper = class _NodeWrapper extends ModuleWrapper {
|
|
|
88
95
|
const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(NodeManifestPayloadSchema));
|
|
89
96
|
return payloads.pop();
|
|
90
97
|
}
|
|
91
|
-
async publicChildren() {
|
|
92
|
-
if (isNodeInstance(this.module)) {
|
|
93
|
-
return await this.module.publicChildren();
|
|
94
|
-
}
|
|
95
|
-
const attached = await this.attached();
|
|
96
|
-
return (await Promise.all(attached.map((address) => this.resolve(address)))).filter(exists);
|
|
97
|
-
}
|
|
98
98
|
async registered() {
|
|
99
99
|
const queryPayload = {
|
|
100
100
|
schema: NodeRegisteredQuerySchema
|
package/dist/node/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/NodeWrapper.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../src/NodeWrapper.ts"],"sourcesContent":["import { Address } from '@xylabs/hex'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { AddressPayload, AddressSchema } from '@xyo-network/address-payload-plugin'\nimport { NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport { InstanceTypeCheck, ModuleIdentifier, ModuleManifestQuery, ModuleManifestQuerySchema, ModuleQueryResult } from '@xyo-network/module-model'\nimport { constructableModuleWrapper, ModuleWrapper } from '@xyo-network/module-wrapper'\nimport {\n ChildCertification,\n ChildCertificationFields,\n ChildCertificationSchema,\n isNodeInstance,\n isNodeModule,\n NodeAttachedQuery,\n NodeAttachedQuerySchema,\n NodeAttachQuery,\n NodeAttachQuerySchema,\n NodeCertifyQuery,\n NodeCertifyQuerySchema,\n NodeDetachQuery,\n NodeDetachQuerySchema,\n NodeInstance,\n NodeModule,\n NodeRegisteredQuery,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport { isPayloadOfSchemaType, WithMeta } from '@xyo-network/payload-model'\nimport { Mutex } from 'async-mutex'\n\nconstructableModuleWrapper()\nexport class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>\n extends ModuleWrapper<TWrappedModule>\n implements NodeInstance<TWrappedModule['params']>\n{\n static override instanceIdentityCheck: InstanceTypeCheck<NodeInstance> = isNodeInstance\n static override moduleIdentityCheck = isNodeModule\n static override requiredQueries = [NodeAttachQuerySchema, ...ModuleWrapper.requiredQueries]\n\n protected _attached?: Address[]\n protected _attachedMutex = new Mutex()\n\n async attach(id: ModuleIdentifier, external?: boolean): Promise<Address | undefined> {\n const queryPayload: NodeAttachQuery = { external, id, schema: NodeAttachQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n return payloads.pop()?.address\n }\n\n async attachQuery(id: ModuleIdentifier, external?: boolean, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeAttachQuery = { external, id, schema: NodeAttachQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async attached(): Promise<Address[]> {\n return await this._attachedMutex.runExclusive(async () => {\n if (this._attached === undefined) {\n const queryPayload: NodeAttachedQuery = { schema: NodeAttachedQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n this._attached = payloads.map((p) => p.address)\n }\n return this._attached\n })\n }\n\n async attachedQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeAttachedQuery = { schema: NodeAttachedQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async certify(id: ModuleIdentifier): Promise<ChildCertificationFields | undefined> {\n const queryPayload: NodeCertifyQuery = { id, schema: NodeCertifyQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<ChildCertification>>(ChildCertificationSchema))\n return payloads.pop()\n }\n\n async certifyQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<ChildCertification>> {\n const queryPayload: NodeCertifyQuery = { id, schema: NodeCertifyQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async detach(id: ModuleIdentifier): Promise<Address | undefined> {\n const queryPayload: NodeDetachQuery = { id, schema: NodeDetachQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n return payloads.pop()?.address\n }\n\n async detachQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeDetachQuery = { id, schema: NodeDetachQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n override async manifest(maxDepth?: number): Promise<NodeManifestPayload> {\n const queryPayload: ModuleManifestQuery = { schema: ModuleManifestQuerySchema, ...(maxDepth ? { maxDepth } : {}) }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<NodeManifestPayload>>(NodeManifestPayloadSchema))\n return payloads.pop() as NodeManifestPayload\n }\n\n async registered(): Promise<Address[]> {\n const queryPayload: NodeRegisteredQuery = { schema: NodeRegisteredQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n return payloads.map((p) => p.address)\n }\n\n async registeredQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeRegisteredQuery = { schema: NodeRegisteredQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n}\n"],"mappings":"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","names":["AddressSchema","NodeManifestPayloadSchema","ModuleManifestQuerySchema","constructableModuleWrapper","ModuleWrapper","ChildCertificationSchema","isNodeInstance","isNodeModule","NodeAttachedQuerySchema","NodeAttachQuerySchema","NodeCertifyQuerySchema","NodeDetachQuerySchema","NodeRegisteredQuerySchema","isPayloadOfSchemaType","Mutex","constructableModuleWrapper","NodeWrapper","ModuleWrapper","_attached","_attachedMutex","Mutex","attach","id","external","queryPayload","schema","NodeAttachQuerySchema","payloads","sendQuery","filter","isPayloadOfSchemaType","AddressSchema","pop","address","attachQuery","account","sendQueryRaw","attached","runExclusive","undefined","NodeAttachedQuerySchema","map","p","attachedQuery","certify","NodeCertifyQuerySchema","ChildCertificationSchema","certifyQuery","detach","NodeDetachQuerySchema","detachQuery","manifest","maxDepth","ModuleManifestQuerySchema","NodeManifestPayloadSchema","registered","NodeRegisteredQuerySchema","registeredQuery","instanceIdentityCheck","isNodeInstance","moduleIdentityCheck","isNodeModule","requiredQueries"]}
|
package/package.json
CHANGED
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/exists": "^3.3.3",
|
|
14
14
|
"@xylabs/hex": "^3.3.3",
|
|
15
|
-
"@xyo-network/account-model": "~2.101.
|
|
16
|
-
"@xyo-network/address-payload-plugin": "~2.101.
|
|
17
|
-
"@xyo-network/manifest-model": "~2.101.
|
|
18
|
-
"@xyo-network/module-model": "~2.101.
|
|
19
|
-
"@xyo-network/module-wrapper": "~2.101.
|
|
20
|
-
"@xyo-network/node-model": "~2.101.
|
|
21
|
-
"@xyo-network/payload-model": "~2.101.
|
|
15
|
+
"@xyo-network/account-model": "~2.101.15",
|
|
16
|
+
"@xyo-network/address-payload-plugin": "~2.101.15",
|
|
17
|
+
"@xyo-network/manifest-model": "~2.101.15",
|
|
18
|
+
"@xyo-network/module-model": "~2.101.15",
|
|
19
|
+
"@xyo-network/module-wrapper": "~2.101.15",
|
|
20
|
+
"@xyo-network/node-model": "~2.101.15",
|
|
21
|
+
"@xyo-network/payload-model": "~2.101.15"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@xylabs/ts-scripts-yarn3": "^3.10.4",
|
|
@@ -64,6 +64,6 @@
|
|
|
64
64
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
|
|
65
65
|
},
|
|
66
66
|
"sideEffects": false,
|
|
67
|
-
"version": "2.101.
|
|
67
|
+
"version": "2.101.15",
|
|
68
68
|
"type": "module"
|
|
69
69
|
}
|
package/src/NodeWrapper.ts
CHANGED
|
@@ -1,16 +1,8 @@
|
|
|
1
|
-
import { exists } from '@xylabs/exists'
|
|
2
1
|
import { Address } from '@xylabs/hex'
|
|
3
2
|
import { AccountInstance } from '@xyo-network/account-model'
|
|
4
3
|
import { AddressPayload, AddressSchema } from '@xyo-network/address-payload-plugin'
|
|
5
4
|
import { NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'
|
|
6
|
-
import {
|
|
7
|
-
InstanceTypeCheck,
|
|
8
|
-
ModuleIdentifier,
|
|
9
|
-
ModuleInstance,
|
|
10
|
-
ModuleManifestQuery,
|
|
11
|
-
ModuleManifestQuerySchema,
|
|
12
|
-
ModuleQueryResult,
|
|
13
|
-
} from '@xyo-network/module-model'
|
|
5
|
+
import { InstanceTypeCheck, ModuleIdentifier, ModuleManifestQuery, ModuleManifestQuerySchema, ModuleQueryResult } from '@xyo-network/module-model'
|
|
14
6
|
import { constructableModuleWrapper, ModuleWrapper } from '@xyo-network/module-wrapper'
|
|
15
7
|
import {
|
|
16
8
|
ChildCertification,
|
|
@@ -32,6 +24,7 @@ import {
|
|
|
32
24
|
NodeRegisteredQuerySchema,
|
|
33
25
|
} from '@xyo-network/node-model'
|
|
34
26
|
import { isPayloadOfSchemaType, WithMeta } from '@xyo-network/payload-model'
|
|
27
|
+
import { Mutex } from 'async-mutex'
|
|
35
28
|
|
|
36
29
|
constructableModuleWrapper()
|
|
37
30
|
export class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
|
|
@@ -42,6 +35,9 @@ export class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
|
|
|
42
35
|
static override moduleIdentityCheck = isNodeModule
|
|
43
36
|
static override requiredQueries = [NodeAttachQuerySchema, ...ModuleWrapper.requiredQueries]
|
|
44
37
|
|
|
38
|
+
protected _attached?: Address[]
|
|
39
|
+
protected _attachedMutex = new Mutex()
|
|
40
|
+
|
|
45
41
|
async attach(id: ModuleIdentifier, external?: boolean): Promise<Address | undefined> {
|
|
46
42
|
const queryPayload: NodeAttachQuery = { external, id, schema: NodeAttachQuerySchema }
|
|
47
43
|
const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))
|
|
@@ -54,9 +50,14 @@ export class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
|
|
|
54
50
|
}
|
|
55
51
|
|
|
56
52
|
async attached(): Promise<Address[]> {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
53
|
+
return await this._attachedMutex.runExclusive(async () => {
|
|
54
|
+
if (this._attached === undefined) {
|
|
55
|
+
const queryPayload: NodeAttachedQuery = { schema: NodeAttachedQuerySchema }
|
|
56
|
+
const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))
|
|
57
|
+
this._attached = payloads.map((p) => p.address)
|
|
58
|
+
}
|
|
59
|
+
return this._attached
|
|
60
|
+
})
|
|
60
61
|
}
|
|
61
62
|
|
|
62
63
|
async attachedQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {
|
|
@@ -92,14 +93,6 @@ export class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
|
|
|
92
93
|
return payloads.pop() as NodeManifestPayload
|
|
93
94
|
}
|
|
94
95
|
|
|
95
|
-
override async publicChildren(): Promise<ModuleInstance[]> {
|
|
96
|
-
if (isNodeInstance(this.module)) {
|
|
97
|
-
return await this.module.publicChildren()
|
|
98
|
-
}
|
|
99
|
-
const attached = await this.attached()
|
|
100
|
-
return (await Promise.all(attached.map((address) => this.resolve(address)))).filter(exists)
|
|
101
|
-
}
|
|
102
|
-
|
|
103
96
|
async registered(): Promise<Address[]> {
|
|
104
97
|
const queryPayload: NodeRegisteredQuery = { schema: NodeRegisteredQuerySchema }
|
|
105
98
|
const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))
|