@xyo-network/node-wrapper 2.107.3 → 2.107.5

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.
@@ -1,2 +1,137 @@
1
- "use strict";var i=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var Q=Object.prototype.hasOwnProperty;var u=(r,e)=>i(r,"name",{value:e,configurable:!0});var f=(r,e)=>{for(var a in e)i(r,a,{get:e[a],enumerable:!0})},w=(r,e,a,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let c of p(e))!Q.call(r,c)&&c!==a&&i(r,c,{get:()=>e[c],enumerable:!(s=m(e,c))||s.enumerable});return r};var q=r=>w(i({},"__esModule",{value:!0}),r);var P={};f(P,{NodeWrapper:()=>n});module.exports=q(P);var h=require("@xyo-network/manifest-model"),y=require("@xyo-network/module-model"),o=require("@xyo-network/module-wrapper"),t=require("@xyo-network/node-model"),d=require("@xyo-network/payload-model"),l=require("async-mutex");(0,o.constructableModuleWrapper)();var n=class extends o.ModuleWrapper{static{u(this,"NodeWrapper")}static instanceIdentityCheck=t.isNodeInstance;static moduleIdentityCheck=t.isNodeModule;static requiredQueries=[t.NodeAttachQuerySchema,...o.ModuleWrapper.requiredQueries];_attached;_attachedMutex=new l.Mutex;async attach(e,a){let s={external:a,id:e,schema:t.NodeAttachQuerySchema};return(await this.sendQuery(s)).filter((0,d.isPayloadOfSchemaType)(y.AddressSchema)).pop()?.address}async attachQuery(e,a,s){let c={external:a,id:e,schema:t.NodeAttachQuerySchema};return await this.sendQueryRaw(c,[],s)}async attached(){return await this._attachedMutex.runExclusive(async()=>{if(this._attached===void 0){let e={schema:t.NodeAttachedQuerySchema},a=(await this.sendQuery(e)).filter((0,d.isPayloadOfSchemaType)(y.AddressSchema));this._attached=a.map(s=>s.address)}return this._attached})}async attachedQuery(e){let a={schema:t.NodeAttachedQuerySchema};return await this.sendQueryRaw(a,[],e)}async certify(e){let a={id:e,schema:t.NodeCertifyQuerySchema};return(await this.sendQuery(a)).filter((0,d.isPayloadOfSchemaType)(t.ChildCertificationSchema)).pop()}async certifyQuery(e,a){let s={id:e,schema:t.NodeCertifyQuerySchema};return await this.sendQueryRaw(s,[],a)}async detach(e){let a={id:e,schema:t.NodeDetachQuerySchema};return(await this.sendQuery(a)).filter((0,d.isPayloadOfSchemaType)(y.AddressSchema)).pop()?.address}async detachQuery(e,a){let s={id:e,schema:t.NodeDetachQuerySchema};return await this.sendQueryRaw(s,[],a)}async manifest(e){let a={schema:y.ModuleManifestQuerySchema,...e?{maxDepth:e}:{}};return(await this.sendQuery(a)).filter((0,d.isPayloadOfSchemaType)(h.NodeManifestPayloadSchema)).pop()}async registered(){let e={schema:t.NodeRegisteredQuerySchema};return(await this.sendQuery(e)).filter((0,d.isPayloadOfSchemaType)(y.AddressSchema)).map(s=>s.address)}async registeredQuery(e){let a={schema:t.NodeRegisteredQuerySchema};return await this.sendQueryRaw(a,[],e)}};
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+
21
+ // src/index.ts
22
+ var src_exports = {};
23
+ __export(src_exports, {
24
+ NodeWrapper: () => NodeWrapper
25
+ });
26
+ module.exports = __toCommonJS(src_exports);
27
+
28
+ // src/NodeWrapper.ts
29
+ var import_manifest_model = require("@xyo-network/manifest-model");
30
+ var import_module_model = require("@xyo-network/module-model");
31
+ var import_module_wrapper = require("@xyo-network/module-wrapper");
32
+ var import_node_model = require("@xyo-network/node-model");
33
+ var import_payload_model = require("@xyo-network/payload-model");
34
+ var import_async_mutex = require("async-mutex");
35
+ (0, import_module_wrapper.constructableModuleWrapper)();
36
+ var NodeWrapper = class extends import_module_wrapper.ModuleWrapper {
37
+ static {
38
+ __name(this, "NodeWrapper");
39
+ }
40
+ static instanceIdentityCheck = import_node_model.isNodeInstance;
41
+ static moduleIdentityCheck = import_node_model.isNodeModule;
42
+ static requiredQueries = [
43
+ import_node_model.NodeAttachQuerySchema,
44
+ ...import_module_wrapper.ModuleWrapper.requiredQueries
45
+ ];
46
+ _attached;
47
+ _attachedMutex = new import_async_mutex.Mutex();
48
+ async attach(id, external) {
49
+ const queryPayload = {
50
+ external,
51
+ id,
52
+ schema: import_node_model.NodeAttachQuerySchema
53
+ };
54
+ const payloads = (await this.sendQuery(queryPayload)).filter((0, import_payload_model.isPayloadOfSchemaType)(import_module_model.AddressSchema));
55
+ return payloads.pop()?.address;
56
+ }
57
+ async attachQuery(id, external, account) {
58
+ const queryPayload = {
59
+ external,
60
+ id,
61
+ schema: import_node_model.NodeAttachQuerySchema
62
+ };
63
+ return await this.sendQueryRaw(queryPayload, [], account);
64
+ }
65
+ async attached() {
66
+ return await this._attachedMutex.runExclusive(async () => {
67
+ if (this._attached === void 0) {
68
+ const queryPayload = {
69
+ schema: import_node_model.NodeAttachedQuerySchema
70
+ };
71
+ const payloads = (await this.sendQuery(queryPayload)).filter((0, import_payload_model.isPayloadOfSchemaType)(import_module_model.AddressSchema));
72
+ this._attached = payloads.map((p) => p.address);
73
+ }
74
+ return this._attached;
75
+ });
76
+ }
77
+ async attachedQuery(account) {
78
+ const queryPayload = {
79
+ schema: import_node_model.NodeAttachedQuerySchema
80
+ };
81
+ return await this.sendQueryRaw(queryPayload, [], account);
82
+ }
83
+ async certify(id) {
84
+ const queryPayload = {
85
+ id,
86
+ schema: import_node_model.NodeCertifyQuerySchema
87
+ };
88
+ const payloads = (await this.sendQuery(queryPayload)).filter((0, import_payload_model.isPayloadOfSchemaType)(import_node_model.ChildCertificationSchema));
89
+ return payloads.pop();
90
+ }
91
+ async certifyQuery(id, account) {
92
+ const queryPayload = {
93
+ id,
94
+ schema: import_node_model.NodeCertifyQuerySchema
95
+ };
96
+ return await this.sendQueryRaw(queryPayload, [], account);
97
+ }
98
+ async detach(id) {
99
+ const queryPayload = {
100
+ id,
101
+ schema: import_node_model.NodeDetachQuerySchema
102
+ };
103
+ const payloads = (await this.sendQuery(queryPayload)).filter((0, import_payload_model.isPayloadOfSchemaType)(import_module_model.AddressSchema));
104
+ return payloads.pop()?.address;
105
+ }
106
+ async detachQuery(id, account) {
107
+ const queryPayload = {
108
+ id,
109
+ schema: import_node_model.NodeDetachQuerySchema
110
+ };
111
+ return await this.sendQueryRaw(queryPayload, [], account);
112
+ }
113
+ async manifest(maxDepth) {
114
+ const queryPayload = {
115
+ schema: import_module_model.ModuleManifestQuerySchema,
116
+ ...maxDepth ? {
117
+ maxDepth
118
+ } : {}
119
+ };
120
+ const payloads = (await this.sendQuery(queryPayload)).filter((0, import_payload_model.isPayloadOfSchemaType)(import_manifest_model.NodeManifestPayloadSchema));
121
+ return payloads.pop();
122
+ }
123
+ async registered() {
124
+ const queryPayload = {
125
+ schema: import_node_model.NodeRegisteredQuerySchema
126
+ };
127
+ const payloads = (await this.sendQuery(queryPayload)).filter((0, import_payload_model.isPayloadOfSchemaType)(import_module_model.AddressSchema));
128
+ return payloads.map((p) => p.address);
129
+ }
130
+ async registeredQuery(account) {
131
+ const queryPayload = {
132
+ schema: import_node_model.NodeRegisteredQuerySchema
133
+ };
134
+ return await this.sendQueryRaw(queryPayload, [], account);
135
+ }
136
+ };
2
137
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
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 { NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport {\n AddressPayload,\n AddressSchema,\n InstanceTypeCheck,\n ModuleIdentifier,\n ModuleManifestQuery,\n ModuleManifestQuerySchema,\n ModuleQueryResult,\n} 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":["src_exports","__export","NodeWrapper","__toCommonJS","import_manifest_model","import_module_model","import_module_wrapper","import_node_model","import_payload_model","import_async_mutex","constructableModuleWrapper","NodeWrapper","ModuleWrapper","instanceIdentityCheck","isNodeInstance","moduleIdentityCheck","isNodeModule","requiredQueries","NodeAttachQuerySchema","_attached","_attachedMutex","Mutex","attach","id","external","queryPayload","schema","sendQuery","filter","isPayloadOfSchemaType","AddressSchema","pop","address","attachQuery","account","sendQueryRaw","attached","runExclusive","undefined","NodeAttachedQuerySchema","payloads","map","p","attachedQuery","certify","NodeCertifyQuerySchema","ChildCertificationSchema","certifyQuery","detach","NodeDetachQuerySchema","detachQuery","manifest","maxDepth","ModuleManifestQuerySchema","NodeManifestPayloadSchema","registered","NodeRegisteredQuerySchema","registeredQuery"]}
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 { NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport {\n AddressPayload,\n AddressSchema,\n InstanceTypeCheck,\n ModuleIdentifier,\n ModuleManifestQuery,\n ModuleManifestQuerySchema,\n ModuleQueryResult,\n} 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"]}
@@ -1,2 +1,116 @@
1
- var p=Object.defineProperty;var o=(d,e)=>p(d,"name",{value:e,configurable:!0});import{NodeManifestPayloadSchema as Q}from"@xyo-network/manifest-model";import{AddressSchema as r,ModuleManifestQuerySchema as f}from"@xyo-network/module-model";import{constructableModuleWrapper as w,ModuleWrapper as i}from"@xyo-network/module-wrapper";import{ChildCertificationSchema as q,isNodeInstance as P,isNodeModule as S,NodeAttachedQuerySchema as n,NodeAttachQuerySchema as c,NodeCertifyQuerySchema as u,NodeDetachQuerySchema as h,NodeRegisteredQuerySchema as l}from"@xyo-network/node-model";import{isPayloadOfSchemaType as s}from"@xyo-network/payload-model";import{Mutex as M}from"async-mutex";w();var m=class extends i{static{o(this,"NodeWrapper")}static instanceIdentityCheck=P;static moduleIdentityCheck=S;static requiredQueries=[c,...i.requiredQueries];_attached;_attachedMutex=new M;async attach(e,a){let t={external:a,id:e,schema:c};return(await this.sendQuery(t)).filter(s(r)).pop()?.address}async attachQuery(e,a,t){let y={external:a,id:e,schema:c};return await this.sendQueryRaw(y,[],t)}async attached(){return await this._attachedMutex.runExclusive(async()=>{if(this._attached===void 0){let e={schema:n},a=(await this.sendQuery(e)).filter(s(r));this._attached=a.map(t=>t.address)}return this._attached})}async attachedQuery(e){let a={schema:n};return await this.sendQueryRaw(a,[],e)}async certify(e){let a={id:e,schema:u};return(await this.sendQuery(a)).filter(s(q)).pop()}async certifyQuery(e,a){let t={id:e,schema:u};return await this.sendQueryRaw(t,[],a)}async detach(e){let a={id:e,schema:h};return(await this.sendQuery(a)).filter(s(r)).pop()?.address}async detachQuery(e,a){let t={id:e,schema:h};return await this.sendQueryRaw(t,[],a)}async manifest(e){let a={schema:f,...e?{maxDepth:e}:{}};return(await this.sendQuery(a)).filter(s(Q)).pop()}async registered(){let e={schema:l};return(await this.sendQuery(e)).filter(s(r)).map(t=>t.address)}async registeredQuery(e){let a={schema:l};return await this.sendQueryRaw(a,[],e)}};export{m as NodeWrapper};
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+
4
+ // src/NodeWrapper.ts
5
+ import { NodeManifestPayloadSchema } from "@xyo-network/manifest-model";
6
+ import { AddressSchema, ModuleManifestQuerySchema } from "@xyo-network/module-model";
7
+ import { constructableModuleWrapper, ModuleWrapper } from "@xyo-network/module-wrapper";
8
+ import { ChildCertificationSchema, isNodeInstance, isNodeModule, NodeAttachedQuerySchema, NodeAttachQuerySchema, NodeCertifyQuerySchema, NodeDetachQuerySchema, NodeRegisteredQuerySchema } from "@xyo-network/node-model";
9
+ import { isPayloadOfSchemaType } from "@xyo-network/payload-model";
10
+ import { Mutex } from "async-mutex";
11
+ constructableModuleWrapper();
12
+ var NodeWrapper = class extends ModuleWrapper {
13
+ static {
14
+ __name(this, "NodeWrapper");
15
+ }
16
+ static instanceIdentityCheck = isNodeInstance;
17
+ static moduleIdentityCheck = isNodeModule;
18
+ static requiredQueries = [
19
+ NodeAttachQuerySchema,
20
+ ...ModuleWrapper.requiredQueries
21
+ ];
22
+ _attached;
23
+ _attachedMutex = new Mutex();
24
+ async attach(id, external) {
25
+ const queryPayload = {
26
+ external,
27
+ id,
28
+ schema: NodeAttachQuerySchema
29
+ };
30
+ const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(AddressSchema));
31
+ return payloads.pop()?.address;
32
+ }
33
+ async attachQuery(id, external, account) {
34
+ const queryPayload = {
35
+ external,
36
+ id,
37
+ schema: NodeAttachQuerySchema
38
+ };
39
+ return await this.sendQueryRaw(queryPayload, [], account);
40
+ }
41
+ async attached() {
42
+ return await this._attachedMutex.runExclusive(async () => {
43
+ if (this._attached === void 0) {
44
+ const queryPayload = {
45
+ schema: NodeAttachedQuerySchema
46
+ };
47
+ const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(AddressSchema));
48
+ this._attached = payloads.map((p) => p.address);
49
+ }
50
+ return this._attached;
51
+ });
52
+ }
53
+ async attachedQuery(account) {
54
+ const queryPayload = {
55
+ schema: NodeAttachedQuerySchema
56
+ };
57
+ return await this.sendQueryRaw(queryPayload, [], account);
58
+ }
59
+ async certify(id) {
60
+ const queryPayload = {
61
+ id,
62
+ schema: NodeCertifyQuerySchema
63
+ };
64
+ const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(ChildCertificationSchema));
65
+ return payloads.pop();
66
+ }
67
+ async certifyQuery(id, account) {
68
+ const queryPayload = {
69
+ id,
70
+ schema: NodeCertifyQuerySchema
71
+ };
72
+ return await this.sendQueryRaw(queryPayload, [], account);
73
+ }
74
+ async detach(id) {
75
+ const queryPayload = {
76
+ id,
77
+ schema: NodeDetachQuerySchema
78
+ };
79
+ const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(AddressSchema));
80
+ return payloads.pop()?.address;
81
+ }
82
+ async detachQuery(id, account) {
83
+ const queryPayload = {
84
+ id,
85
+ schema: NodeDetachQuerySchema
86
+ };
87
+ return await this.sendQueryRaw(queryPayload, [], account);
88
+ }
89
+ async manifest(maxDepth) {
90
+ const queryPayload = {
91
+ schema: ModuleManifestQuerySchema,
92
+ ...maxDepth ? {
93
+ maxDepth
94
+ } : {}
95
+ };
96
+ const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(NodeManifestPayloadSchema));
97
+ return payloads.pop();
98
+ }
99
+ async registered() {
100
+ const queryPayload = {
101
+ schema: NodeRegisteredQuerySchema
102
+ };
103
+ const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(AddressSchema));
104
+ return payloads.map((p) => p.address);
105
+ }
106
+ async registeredQuery(account) {
107
+ const queryPayload = {
108
+ schema: NodeRegisteredQuerySchema
109
+ };
110
+ return await this.sendQueryRaw(queryPayload, [], account);
111
+ }
112
+ };
113
+ export {
114
+ NodeWrapper
115
+ };
2
116
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/NodeWrapper.ts"],"sourcesContent":["import { Address } from '@xylabs/hex'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport {\n AddressPayload,\n AddressSchema,\n InstanceTypeCheck,\n ModuleIdentifier,\n ModuleManifestQuery,\n ModuleManifestQuerySchema,\n ModuleQueryResult,\n} 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":"+EAEA,OAA8BA,6BAAAA,MAAiC,8BAC/D,OAEEC,iBAAAA,EAIAC,6BAAAA,MAEK,4BACP,OAASC,8BAAAA,EAA4BC,iBAAAA,MAAqB,8BAC1D,OAGEC,4BAAAA,EACAC,kBAAAA,EACAC,gBAAAA,EAEAC,2BAAAA,EAEAC,yBAAAA,EAEAC,0BAAAA,EAEAC,yBAAAA,EAIAC,6BAAAA,MACK,0BACP,OAASC,yBAAAA,MAAuC,6BAChD,OAASC,SAAAA,MAAa,cAEtBC,EAAAA,EACO,IAAMC,EAAN,cACGC,CAAAA,CAnCV,MAmCUA,CAAAA,EAAAA,oBAGR,OAAgBC,sBAAyDC,EACzE,OAAgBC,oBAAsBC,EACtC,OAAgBC,gBAAkB,CAACC,KAA0BN,EAAcK,iBAEjEE,UACAC,eAAiB,IAAIC,EAE/B,MAAMC,OAAOC,EAAsBC,EAAkD,CACnF,IAAMC,EAAgC,CAAED,SAAAA,EAAUD,GAAAA,EAAIG,OAAQR,CAAsB,EAEpF,OADkB,MAAM,KAAKS,UAAUF,CAAAA,GAAeG,OAAOC,EAAgDC,CAAAA,CAAAA,EAC7FC,IAAG,GAAIC,OACzB,CAEA,MAAMC,YAAYV,EAAsBC,EAAoBU,EAAuE,CACjI,IAAMT,EAAgC,CAAED,SAAAA,EAAUD,GAAAA,EAAIG,OAAQR,CAAsB,EACpF,OAAO,MAAM,KAAKiB,aAAaV,EAAc,CAAA,EAAIS,CAAAA,CACnD,CAEA,MAAME,UAA+B,CACnC,OAAO,MAAM,KAAKhB,eAAeiB,aAAa,SAAA,CAC5C,GAAI,KAAKlB,YAAcmB,OAAW,CAChC,IAAMb,EAAkC,CAAEC,OAAQa,CAAwB,EACpEC,GAAY,MAAM,KAAKb,UAAUF,CAAAA,GAAeG,OAAOC,EAAgDC,CAAAA,CAAAA,EAC7G,KAAKX,UAAYqB,EAASC,IAAKC,GAAMA,EAAEV,OAAO,CAChD,CACA,OAAO,KAAKb,SACd,CAAA,CACF,CAEA,MAAMwB,cAAcT,EAAuE,CACzF,IAAMT,EAAkC,CAAEC,OAAQa,CAAwB,EAC1E,OAAO,MAAM,KAAKJ,aAAaV,EAAc,CAAA,EAAIS,CAAAA,CACnD,CAEA,MAAMU,QAAQrB,EAAqE,CACjF,IAAME,EAAiC,CAAEF,GAAAA,EAAIG,OAAQmB,CAAuB,EAE5E,OADkB,MAAM,KAAKlB,UAAUF,CAAAA,GAAeG,OAAOC,EAAoDiB,CAAAA,CAAAA,EACjGf,IAAG,CACrB,CAEA,MAAMgB,aAAaxB,EAAsBW,EAA2E,CAClH,IAAMT,EAAiC,CAAEF,GAAAA,EAAIG,OAAQmB,CAAuB,EAC5E,OAAO,MAAM,KAAKV,aAAaV,EAAc,CAAA,EAAIS,CAAAA,CACnD,CAEA,MAAMc,OAAOzB,EAAoD,CAC/D,IAAME,EAAgC,CAAEF,GAAAA,EAAIG,OAAQuB,CAAsB,EAE1E,OADkB,MAAM,KAAKtB,UAAUF,CAAAA,GAAeG,OAAOC,EAAgDC,CAAAA,CAAAA,EAC7FC,IAAG,GAAIC,OACzB,CAEA,MAAMkB,YAAY3B,EAAsBW,EAAuE,CAC7G,IAAMT,EAAgC,CAAEF,GAAAA,EAAIG,OAAQuB,CAAsB,EAC1E,OAAO,MAAM,KAAKd,aAAaV,EAAc,CAAA,EAAIS,CAAAA,CACnD,CAEA,MAAeiB,SAASC,EAAiD,CACvE,IAAM3B,EAAoC,CAAEC,OAAQ2B,EAA2B,GAAID,EAAW,CAAEA,SAAAA,CAAS,EAAI,CAAC,CAAG,EAEjH,OADkB,MAAM,KAAKzB,UAAUF,CAAAA,GAAeG,OAAOC,EAAqDyB,CAAAA,CAAAA,EAClGvB,IAAG,CACrB,CAEA,MAAMwB,YAAiC,CACrC,IAAM9B,EAAoC,CAAEC,OAAQ8B,CAA0B,EAE9E,OADkB,MAAM,KAAK7B,UAAUF,CAAAA,GAAeG,OAAOC,EAAgDC,CAAAA,CAAAA,EAC7FW,IAAKC,GAAMA,EAAEV,OAAO,CACtC,CAEA,MAAMyB,gBAAgBvB,EAAuE,CAC3F,IAAMT,EAAoC,CAAEC,OAAQ8B,CAA0B,EAC9E,OAAO,MAAM,KAAKrB,aAAaV,EAAc,CAAA,EAAIS,CAAAA,CACnD,CACF","names":["NodeManifestPayloadSchema","AddressSchema","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","sendQuery","filter","isPayloadOfSchemaType","AddressSchema","pop","address","attachQuery","account","sendQueryRaw","attached","runExclusive","undefined","NodeAttachedQuerySchema","payloads","map","p","attachedQuery","certify","NodeCertifyQuerySchema","ChildCertificationSchema","certifyQuery","detach","NodeDetachQuerySchema","detachQuery","manifest","maxDepth","ModuleManifestQuerySchema","NodeManifestPayloadSchema","registered","NodeRegisteredQuerySchema","registeredQuery"]}
1
+ {"version":3,"sources":["../../src/NodeWrapper.ts"],"sourcesContent":["import { Address } from '@xylabs/hex'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport {\n AddressPayload,\n AddressSchema,\n InstanceTypeCheck,\n ModuleIdentifier,\n ModuleManifestQuery,\n ModuleManifestQuerySchema,\n ModuleQueryResult,\n} 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":["NodeManifestPayloadSchema","AddressSchema","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"]}
@@ -1,2 +1,137 @@
1
- "use strict";var i=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var Q=Object.prototype.hasOwnProperty;var u=(r,e)=>i(r,"name",{value:e,configurable:!0});var f=(r,e)=>{for(var a in e)i(r,a,{get:e[a],enumerable:!0})},w=(r,e,a,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let c of p(e))!Q.call(r,c)&&c!==a&&i(r,c,{get:()=>e[c],enumerable:!(s=m(e,c))||s.enumerable});return r};var q=r=>w(i({},"__esModule",{value:!0}),r);var P={};f(P,{NodeWrapper:()=>n});module.exports=q(P);var h=require("@xyo-network/manifest-model"),y=require("@xyo-network/module-model"),o=require("@xyo-network/module-wrapper"),t=require("@xyo-network/node-model"),d=require("@xyo-network/payload-model"),l=require("async-mutex");(0,o.constructableModuleWrapper)();var n=class extends o.ModuleWrapper{static{u(this,"NodeWrapper")}static instanceIdentityCheck=t.isNodeInstance;static moduleIdentityCheck=t.isNodeModule;static requiredQueries=[t.NodeAttachQuerySchema,...o.ModuleWrapper.requiredQueries];_attached;_attachedMutex=new l.Mutex;async attach(e,a){let s={external:a,id:e,schema:t.NodeAttachQuerySchema};return(await this.sendQuery(s)).filter((0,d.isPayloadOfSchemaType)(y.AddressSchema)).pop()?.address}async attachQuery(e,a,s){let c={external:a,id:e,schema:t.NodeAttachQuerySchema};return await this.sendQueryRaw(c,[],s)}async attached(){return await this._attachedMutex.runExclusive(async()=>{if(this._attached===void 0){let e={schema:t.NodeAttachedQuerySchema},a=(await this.sendQuery(e)).filter((0,d.isPayloadOfSchemaType)(y.AddressSchema));this._attached=a.map(s=>s.address)}return this._attached})}async attachedQuery(e){let a={schema:t.NodeAttachedQuerySchema};return await this.sendQueryRaw(a,[],e)}async certify(e){let a={id:e,schema:t.NodeCertifyQuerySchema};return(await this.sendQuery(a)).filter((0,d.isPayloadOfSchemaType)(t.ChildCertificationSchema)).pop()}async certifyQuery(e,a){let s={id:e,schema:t.NodeCertifyQuerySchema};return await this.sendQueryRaw(s,[],a)}async detach(e){let a={id:e,schema:t.NodeDetachQuerySchema};return(await this.sendQuery(a)).filter((0,d.isPayloadOfSchemaType)(y.AddressSchema)).pop()?.address}async detachQuery(e,a){let s={id:e,schema:t.NodeDetachQuerySchema};return await this.sendQueryRaw(s,[],a)}async manifest(e){let a={schema:y.ModuleManifestQuerySchema,...e?{maxDepth:e}:{}};return(await this.sendQuery(a)).filter((0,d.isPayloadOfSchemaType)(h.NodeManifestPayloadSchema)).pop()}async registered(){let e={schema:t.NodeRegisteredQuerySchema};return(await this.sendQuery(e)).filter((0,d.isPayloadOfSchemaType)(y.AddressSchema)).map(s=>s.address)}async registeredQuery(e){let a={schema:t.NodeRegisteredQuerySchema};return await this.sendQueryRaw(a,[],e)}};
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+
21
+ // src/index.ts
22
+ var src_exports = {};
23
+ __export(src_exports, {
24
+ NodeWrapper: () => NodeWrapper
25
+ });
26
+ module.exports = __toCommonJS(src_exports);
27
+
28
+ // src/NodeWrapper.ts
29
+ var import_manifest_model = require("@xyo-network/manifest-model");
30
+ var import_module_model = require("@xyo-network/module-model");
31
+ var import_module_wrapper = require("@xyo-network/module-wrapper");
32
+ var import_node_model = require("@xyo-network/node-model");
33
+ var import_payload_model = require("@xyo-network/payload-model");
34
+ var import_async_mutex = require("async-mutex");
35
+ (0, import_module_wrapper.constructableModuleWrapper)();
36
+ var NodeWrapper = class extends import_module_wrapper.ModuleWrapper {
37
+ static {
38
+ __name(this, "NodeWrapper");
39
+ }
40
+ static instanceIdentityCheck = import_node_model.isNodeInstance;
41
+ static moduleIdentityCheck = import_node_model.isNodeModule;
42
+ static requiredQueries = [
43
+ import_node_model.NodeAttachQuerySchema,
44
+ ...import_module_wrapper.ModuleWrapper.requiredQueries
45
+ ];
46
+ _attached;
47
+ _attachedMutex = new import_async_mutex.Mutex();
48
+ async attach(id, external) {
49
+ const queryPayload = {
50
+ external,
51
+ id,
52
+ schema: import_node_model.NodeAttachQuerySchema
53
+ };
54
+ const payloads = (await this.sendQuery(queryPayload)).filter((0, import_payload_model.isPayloadOfSchemaType)(import_module_model.AddressSchema));
55
+ return payloads.pop()?.address;
56
+ }
57
+ async attachQuery(id, external, account) {
58
+ const queryPayload = {
59
+ external,
60
+ id,
61
+ schema: import_node_model.NodeAttachQuerySchema
62
+ };
63
+ return await this.sendQueryRaw(queryPayload, [], account);
64
+ }
65
+ async attached() {
66
+ return await this._attachedMutex.runExclusive(async () => {
67
+ if (this._attached === void 0) {
68
+ const queryPayload = {
69
+ schema: import_node_model.NodeAttachedQuerySchema
70
+ };
71
+ const payloads = (await this.sendQuery(queryPayload)).filter((0, import_payload_model.isPayloadOfSchemaType)(import_module_model.AddressSchema));
72
+ this._attached = payloads.map((p) => p.address);
73
+ }
74
+ return this._attached;
75
+ });
76
+ }
77
+ async attachedQuery(account) {
78
+ const queryPayload = {
79
+ schema: import_node_model.NodeAttachedQuerySchema
80
+ };
81
+ return await this.sendQueryRaw(queryPayload, [], account);
82
+ }
83
+ async certify(id) {
84
+ const queryPayload = {
85
+ id,
86
+ schema: import_node_model.NodeCertifyQuerySchema
87
+ };
88
+ const payloads = (await this.sendQuery(queryPayload)).filter((0, import_payload_model.isPayloadOfSchemaType)(import_node_model.ChildCertificationSchema));
89
+ return payloads.pop();
90
+ }
91
+ async certifyQuery(id, account) {
92
+ const queryPayload = {
93
+ id,
94
+ schema: import_node_model.NodeCertifyQuerySchema
95
+ };
96
+ return await this.sendQueryRaw(queryPayload, [], account);
97
+ }
98
+ async detach(id) {
99
+ const queryPayload = {
100
+ id,
101
+ schema: import_node_model.NodeDetachQuerySchema
102
+ };
103
+ const payloads = (await this.sendQuery(queryPayload)).filter((0, import_payload_model.isPayloadOfSchemaType)(import_module_model.AddressSchema));
104
+ return payloads.pop()?.address;
105
+ }
106
+ async detachQuery(id, account) {
107
+ const queryPayload = {
108
+ id,
109
+ schema: import_node_model.NodeDetachQuerySchema
110
+ };
111
+ return await this.sendQueryRaw(queryPayload, [], account);
112
+ }
113
+ async manifest(maxDepth) {
114
+ const queryPayload = {
115
+ schema: import_module_model.ModuleManifestQuerySchema,
116
+ ...maxDepth ? {
117
+ maxDepth
118
+ } : {}
119
+ };
120
+ const payloads = (await this.sendQuery(queryPayload)).filter((0, import_payload_model.isPayloadOfSchemaType)(import_manifest_model.NodeManifestPayloadSchema));
121
+ return payloads.pop();
122
+ }
123
+ async registered() {
124
+ const queryPayload = {
125
+ schema: import_node_model.NodeRegisteredQuerySchema
126
+ };
127
+ const payloads = (await this.sendQuery(queryPayload)).filter((0, import_payload_model.isPayloadOfSchemaType)(import_module_model.AddressSchema));
128
+ return payloads.map((p) => p.address);
129
+ }
130
+ async registeredQuery(account) {
131
+ const queryPayload = {
132
+ schema: import_node_model.NodeRegisteredQuerySchema
133
+ };
134
+ return await this.sendQueryRaw(queryPayload, [], account);
135
+ }
136
+ };
2
137
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
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 { NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport {\n AddressPayload,\n AddressSchema,\n InstanceTypeCheck,\n ModuleIdentifier,\n ModuleManifestQuery,\n ModuleManifestQuerySchema,\n ModuleQueryResult,\n} 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":["src_exports","__export","NodeWrapper","__toCommonJS","import_manifest_model","import_module_model","import_module_wrapper","import_node_model","import_payload_model","import_async_mutex","constructableModuleWrapper","NodeWrapper","ModuleWrapper","instanceIdentityCheck","isNodeInstance","moduleIdentityCheck","isNodeModule","requiredQueries","NodeAttachQuerySchema","_attached","_attachedMutex","Mutex","attach","id","external","queryPayload","schema","sendQuery","filter","isPayloadOfSchemaType","AddressSchema","pop","address","attachQuery","account","sendQueryRaw","attached","runExclusive","undefined","NodeAttachedQuerySchema","payloads","map","p","attachedQuery","certify","NodeCertifyQuerySchema","ChildCertificationSchema","certifyQuery","detach","NodeDetachQuerySchema","detachQuery","manifest","maxDepth","ModuleManifestQuerySchema","NodeManifestPayloadSchema","registered","NodeRegisteredQuerySchema","registeredQuery"]}
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 { NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport {\n AddressPayload,\n AddressSchema,\n InstanceTypeCheck,\n ModuleIdentifier,\n ModuleManifestQuery,\n ModuleManifestQuerySchema,\n ModuleQueryResult,\n} 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"]}
@@ -1,2 +1,116 @@
1
- var p=Object.defineProperty;var o=(d,e)=>p(d,"name",{value:e,configurable:!0});import{NodeManifestPayloadSchema as Q}from"@xyo-network/manifest-model";import{AddressSchema as r,ModuleManifestQuerySchema as f}from"@xyo-network/module-model";import{constructableModuleWrapper as w,ModuleWrapper as i}from"@xyo-network/module-wrapper";import{ChildCertificationSchema as q,isNodeInstance as P,isNodeModule as S,NodeAttachedQuerySchema as n,NodeAttachQuerySchema as c,NodeCertifyQuerySchema as u,NodeDetachQuerySchema as h,NodeRegisteredQuerySchema as l}from"@xyo-network/node-model";import{isPayloadOfSchemaType as s}from"@xyo-network/payload-model";import{Mutex as M}from"async-mutex";w();var m=class extends i{static{o(this,"NodeWrapper")}static instanceIdentityCheck=P;static moduleIdentityCheck=S;static requiredQueries=[c,...i.requiredQueries];_attached;_attachedMutex=new M;async attach(e,a){let t={external:a,id:e,schema:c};return(await this.sendQuery(t)).filter(s(r)).pop()?.address}async attachQuery(e,a,t){let y={external:a,id:e,schema:c};return await this.sendQueryRaw(y,[],t)}async attached(){return await this._attachedMutex.runExclusive(async()=>{if(this._attached===void 0){let e={schema:n},a=(await this.sendQuery(e)).filter(s(r));this._attached=a.map(t=>t.address)}return this._attached})}async attachedQuery(e){let a={schema:n};return await this.sendQueryRaw(a,[],e)}async certify(e){let a={id:e,schema:u};return(await this.sendQuery(a)).filter(s(q)).pop()}async certifyQuery(e,a){let t={id:e,schema:u};return await this.sendQueryRaw(t,[],a)}async detach(e){let a={id:e,schema:h};return(await this.sendQuery(a)).filter(s(r)).pop()?.address}async detachQuery(e,a){let t={id:e,schema:h};return await this.sendQueryRaw(t,[],a)}async manifest(e){let a={schema:f,...e?{maxDepth:e}:{}};return(await this.sendQuery(a)).filter(s(Q)).pop()}async registered(){let e={schema:l};return(await this.sendQuery(e)).filter(s(r)).map(t=>t.address)}async registeredQuery(e){let a={schema:l};return await this.sendQueryRaw(a,[],e)}};export{m as NodeWrapper};
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+
4
+ // src/NodeWrapper.ts
5
+ import { NodeManifestPayloadSchema } from "@xyo-network/manifest-model";
6
+ import { AddressSchema, ModuleManifestQuerySchema } from "@xyo-network/module-model";
7
+ import { constructableModuleWrapper, ModuleWrapper } from "@xyo-network/module-wrapper";
8
+ import { ChildCertificationSchema, isNodeInstance, isNodeModule, NodeAttachedQuerySchema, NodeAttachQuerySchema, NodeCertifyQuerySchema, NodeDetachQuerySchema, NodeRegisteredQuerySchema } from "@xyo-network/node-model";
9
+ import { isPayloadOfSchemaType } from "@xyo-network/payload-model";
10
+ import { Mutex } from "async-mutex";
11
+ constructableModuleWrapper();
12
+ var NodeWrapper = class extends ModuleWrapper {
13
+ static {
14
+ __name(this, "NodeWrapper");
15
+ }
16
+ static instanceIdentityCheck = isNodeInstance;
17
+ static moduleIdentityCheck = isNodeModule;
18
+ static requiredQueries = [
19
+ NodeAttachQuerySchema,
20
+ ...ModuleWrapper.requiredQueries
21
+ ];
22
+ _attached;
23
+ _attachedMutex = new Mutex();
24
+ async attach(id, external) {
25
+ const queryPayload = {
26
+ external,
27
+ id,
28
+ schema: NodeAttachQuerySchema
29
+ };
30
+ const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(AddressSchema));
31
+ return payloads.pop()?.address;
32
+ }
33
+ async attachQuery(id, external, account) {
34
+ const queryPayload = {
35
+ external,
36
+ id,
37
+ schema: NodeAttachQuerySchema
38
+ };
39
+ return await this.sendQueryRaw(queryPayload, [], account);
40
+ }
41
+ async attached() {
42
+ return await this._attachedMutex.runExclusive(async () => {
43
+ if (this._attached === void 0) {
44
+ const queryPayload = {
45
+ schema: NodeAttachedQuerySchema
46
+ };
47
+ const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(AddressSchema));
48
+ this._attached = payloads.map((p) => p.address);
49
+ }
50
+ return this._attached;
51
+ });
52
+ }
53
+ async attachedQuery(account) {
54
+ const queryPayload = {
55
+ schema: NodeAttachedQuerySchema
56
+ };
57
+ return await this.sendQueryRaw(queryPayload, [], account);
58
+ }
59
+ async certify(id) {
60
+ const queryPayload = {
61
+ id,
62
+ schema: NodeCertifyQuerySchema
63
+ };
64
+ const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(ChildCertificationSchema));
65
+ return payloads.pop();
66
+ }
67
+ async certifyQuery(id, account) {
68
+ const queryPayload = {
69
+ id,
70
+ schema: NodeCertifyQuerySchema
71
+ };
72
+ return await this.sendQueryRaw(queryPayload, [], account);
73
+ }
74
+ async detach(id) {
75
+ const queryPayload = {
76
+ id,
77
+ schema: NodeDetachQuerySchema
78
+ };
79
+ const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(AddressSchema));
80
+ return payloads.pop()?.address;
81
+ }
82
+ async detachQuery(id, account) {
83
+ const queryPayload = {
84
+ id,
85
+ schema: NodeDetachQuerySchema
86
+ };
87
+ return await this.sendQueryRaw(queryPayload, [], account);
88
+ }
89
+ async manifest(maxDepth) {
90
+ const queryPayload = {
91
+ schema: ModuleManifestQuerySchema,
92
+ ...maxDepth ? {
93
+ maxDepth
94
+ } : {}
95
+ };
96
+ const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(NodeManifestPayloadSchema));
97
+ return payloads.pop();
98
+ }
99
+ async registered() {
100
+ const queryPayload = {
101
+ schema: NodeRegisteredQuerySchema
102
+ };
103
+ const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(AddressSchema));
104
+ return payloads.map((p) => p.address);
105
+ }
106
+ async registeredQuery(account) {
107
+ const queryPayload = {
108
+ schema: NodeRegisteredQuerySchema
109
+ };
110
+ return await this.sendQueryRaw(queryPayload, [], account);
111
+ }
112
+ };
113
+ export {
114
+ NodeWrapper
115
+ };
2
116
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/NodeWrapper.ts"],"sourcesContent":["import { Address } from '@xylabs/hex'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport {\n AddressPayload,\n AddressSchema,\n InstanceTypeCheck,\n ModuleIdentifier,\n ModuleManifestQuery,\n ModuleManifestQuerySchema,\n ModuleQueryResult,\n} 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":["NodeManifestPayloadSchema","AddressSchema","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","sendQuery","filter","isPayloadOfSchemaType","AddressSchema","pop","address","attachQuery","account","sendQueryRaw","attached","runExclusive","undefined","NodeAttachedQuerySchema","payloads","map","p","attachedQuery","certify","NodeCertifyQuerySchema","ChildCertificationSchema","certifyQuery","detach","NodeDetachQuerySchema","detachQuery","manifest","maxDepth","ModuleManifestQuerySchema","NodeManifestPayloadSchema","registered","NodeRegisteredQuerySchema","registeredQuery"]}
1
+ {"version":3,"sources":["../../src/NodeWrapper.ts"],"sourcesContent":["import { Address } from '@xylabs/hex'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport {\n AddressPayload,\n AddressSchema,\n InstanceTypeCheck,\n ModuleIdentifier,\n ModuleManifestQuery,\n ModuleManifestQuerySchema,\n ModuleQueryResult,\n} 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":["NodeManifestPayloadSchema","AddressSchema","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"]}
@@ -1,2 +1,144 @@
1
- "use strict";var i=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var q=Object.prototype.hasOwnProperty;var P=(r,a,e)=>a in r?i(r,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[a]=e;var m=(r,a)=>i(r,"name",{value:a,configurable:!0});var S=(r,a)=>{for(var e in a)i(r,e,{get:a[e],enumerable:!0})},M=(r,a,e,s)=>{if(a&&typeof a=="object"||typeof a=="function")for(let c of w(a))!q.call(r,c)&&c!==e&&i(r,c,{get:()=>a[c],enumerable:!(s=p(a,c))||s.enumerable});return r};var x=r=>M(i({},"__esModule",{value:!0}),r);var u=(r,a,e)=>P(r,typeof a!="symbol"?a+"":a,e);var R={};S(R,{NodeWrapper:()=>h});module.exports=x(R);var Q=require("@xyo-network/manifest-model"),y=require("@xyo-network/module-model"),n=require("@xyo-network/module-wrapper"),t=require("@xyo-network/node-model"),d=require("@xyo-network/payload-model"),f=require("async-mutex");(0,n.constructableModuleWrapper)();var o=class o extends n.ModuleWrapper{_attached;_attachedMutex=new f.Mutex;async attach(a,e){var l;let s={external:e,id:a,schema:t.NodeAttachQuerySchema};return(l=(await this.sendQuery(s)).filter((0,d.isPayloadOfSchemaType)(y.AddressSchema)).pop())==null?void 0:l.address}async attachQuery(a,e,s){let c={external:e,id:a,schema:t.NodeAttachQuerySchema};return await this.sendQueryRaw(c,[],s)}async attached(){return await this._attachedMutex.runExclusive(async()=>{if(this._attached===void 0){let a={schema:t.NodeAttachedQuerySchema},e=(await this.sendQuery(a)).filter((0,d.isPayloadOfSchemaType)(y.AddressSchema));this._attached=e.map(s=>s.address)}return this._attached})}async attachedQuery(a){let e={schema:t.NodeAttachedQuerySchema};return await this.sendQueryRaw(e,[],a)}async certify(a){let e={id:a,schema:t.NodeCertifyQuerySchema};return(await this.sendQuery(e)).filter((0,d.isPayloadOfSchemaType)(t.ChildCertificationSchema)).pop()}async certifyQuery(a,e){let s={id:a,schema:t.NodeCertifyQuerySchema};return await this.sendQueryRaw(s,[],e)}async detach(a){var c;let e={id:a,schema:t.NodeDetachQuerySchema};return(c=(await this.sendQuery(e)).filter((0,d.isPayloadOfSchemaType)(y.AddressSchema)).pop())==null?void 0:c.address}async detachQuery(a,e){let s={id:a,schema:t.NodeDetachQuerySchema};return await this.sendQueryRaw(s,[],e)}async manifest(a){let e={schema:y.ModuleManifestQuerySchema,...a?{maxDepth:a}:{}};return(await this.sendQuery(e)).filter((0,d.isPayloadOfSchemaType)(Q.NodeManifestPayloadSchema)).pop()}async registered(){let a={schema:t.NodeRegisteredQuerySchema};return(await this.sendQuery(a)).filter((0,d.isPayloadOfSchemaType)(y.AddressSchema)).map(s=>s.address)}async registeredQuery(a){let e={schema:t.NodeRegisteredQuerySchema};return await this.sendQueryRaw(e,[],a)}};m(o,"NodeWrapper"),u(o,"instanceIdentityCheck",t.isNodeInstance),u(o,"moduleIdentityCheck",t.isNodeModule),u(o,"requiredQueries",[t.NodeAttachQuerySchema,...n.ModuleWrapper.requiredQueries]);var h=o;0&&(module.exports={NodeWrapper});
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
7
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
22
+
23
+ // src/index.ts
24
+ var src_exports = {};
25
+ __export(src_exports, {
26
+ NodeWrapper: () => NodeWrapper
27
+ });
28
+ module.exports = __toCommonJS(src_exports);
29
+
30
+ // src/NodeWrapper.ts
31
+ var import_manifest_model = require("@xyo-network/manifest-model");
32
+ var import_module_model = require("@xyo-network/module-model");
33
+ var import_module_wrapper = require("@xyo-network/module-wrapper");
34
+ var import_node_model = require("@xyo-network/node-model");
35
+ var import_payload_model = require("@xyo-network/payload-model");
36
+ var import_async_mutex = require("async-mutex");
37
+ (0, import_module_wrapper.constructableModuleWrapper)();
38
+ var _NodeWrapper = class _NodeWrapper extends import_module_wrapper.ModuleWrapper {
39
+ _attached;
40
+ _attachedMutex = new import_async_mutex.Mutex();
41
+ async attach(id, external) {
42
+ var _a;
43
+ const queryPayload = {
44
+ external,
45
+ id,
46
+ schema: import_node_model.NodeAttachQuerySchema
47
+ };
48
+ const payloads = (await this.sendQuery(queryPayload)).filter((0, import_payload_model.isPayloadOfSchemaType)(import_module_model.AddressSchema));
49
+ return (_a = payloads.pop()) == null ? void 0 : _a.address;
50
+ }
51
+ async attachQuery(id, external, account) {
52
+ const queryPayload = {
53
+ external,
54
+ id,
55
+ schema: import_node_model.NodeAttachQuerySchema
56
+ };
57
+ return await this.sendQueryRaw(queryPayload, [], account);
58
+ }
59
+ async attached() {
60
+ return await this._attachedMutex.runExclusive(async () => {
61
+ if (this._attached === void 0) {
62
+ const queryPayload = {
63
+ schema: import_node_model.NodeAttachedQuerySchema
64
+ };
65
+ const payloads = (await this.sendQuery(queryPayload)).filter((0, import_payload_model.isPayloadOfSchemaType)(import_module_model.AddressSchema));
66
+ this._attached = payloads.map((p) => p.address);
67
+ }
68
+ return this._attached;
69
+ });
70
+ }
71
+ async attachedQuery(account) {
72
+ const queryPayload = {
73
+ schema: import_node_model.NodeAttachedQuerySchema
74
+ };
75
+ return await this.sendQueryRaw(queryPayload, [], account);
76
+ }
77
+ async certify(id) {
78
+ const queryPayload = {
79
+ id,
80
+ schema: import_node_model.NodeCertifyQuerySchema
81
+ };
82
+ const payloads = (await this.sendQuery(queryPayload)).filter((0, import_payload_model.isPayloadOfSchemaType)(import_node_model.ChildCertificationSchema));
83
+ return payloads.pop();
84
+ }
85
+ async certifyQuery(id, account) {
86
+ const queryPayload = {
87
+ id,
88
+ schema: import_node_model.NodeCertifyQuerySchema
89
+ };
90
+ return await this.sendQueryRaw(queryPayload, [], account);
91
+ }
92
+ async detach(id) {
93
+ var _a;
94
+ const queryPayload = {
95
+ id,
96
+ schema: import_node_model.NodeDetachQuerySchema
97
+ };
98
+ const payloads = (await this.sendQuery(queryPayload)).filter((0, import_payload_model.isPayloadOfSchemaType)(import_module_model.AddressSchema));
99
+ return (_a = payloads.pop()) == null ? void 0 : _a.address;
100
+ }
101
+ async detachQuery(id, account) {
102
+ const queryPayload = {
103
+ id,
104
+ schema: import_node_model.NodeDetachQuerySchema
105
+ };
106
+ return await this.sendQueryRaw(queryPayload, [], account);
107
+ }
108
+ async manifest(maxDepth) {
109
+ const queryPayload = {
110
+ schema: import_module_model.ModuleManifestQuerySchema,
111
+ ...maxDepth ? {
112
+ maxDepth
113
+ } : {}
114
+ };
115
+ const payloads = (await this.sendQuery(queryPayload)).filter((0, import_payload_model.isPayloadOfSchemaType)(import_manifest_model.NodeManifestPayloadSchema));
116
+ return payloads.pop();
117
+ }
118
+ async registered() {
119
+ const queryPayload = {
120
+ schema: import_node_model.NodeRegisteredQuerySchema
121
+ };
122
+ const payloads = (await this.sendQuery(queryPayload)).filter((0, import_payload_model.isPayloadOfSchemaType)(import_module_model.AddressSchema));
123
+ return payloads.map((p) => p.address);
124
+ }
125
+ async registeredQuery(account) {
126
+ const queryPayload = {
127
+ schema: import_node_model.NodeRegisteredQuerySchema
128
+ };
129
+ return await this.sendQueryRaw(queryPayload, [], account);
130
+ }
131
+ };
132
+ __name(_NodeWrapper, "NodeWrapper");
133
+ __publicField(_NodeWrapper, "instanceIdentityCheck", import_node_model.isNodeInstance);
134
+ __publicField(_NodeWrapper, "moduleIdentityCheck", import_node_model.isNodeModule);
135
+ __publicField(_NodeWrapper, "requiredQueries", [
136
+ import_node_model.NodeAttachQuerySchema,
137
+ ...import_module_wrapper.ModuleWrapper.requiredQueries
138
+ ]);
139
+ var NodeWrapper = _NodeWrapper;
140
+ // Annotate the CommonJS export names for ESM import in node:
141
+ 0 && (module.exports = {
142
+ NodeWrapper
143
+ });
2
144
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
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 { NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport {\n AddressPayload,\n AddressSchema,\n InstanceTypeCheck,\n ModuleIdentifier,\n ModuleManifestQuery,\n ModuleManifestQuerySchema,\n ModuleQueryResult,\n} 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":["src_exports","__export","NodeWrapper","__toCommonJS","import_manifest_model","import_module_model","import_module_wrapper","import_node_model","import_payload_model","import_async_mutex","constructableModuleWrapper","NodeWrapper","ModuleWrapper","_attached","_attachedMutex","Mutex","attach","id","external","_a","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","__publicField","instanceIdentityCheck","isNodeInstance","moduleIdentityCheck","isNodeModule","requiredQueries","_NodeWrapper"]}
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 { NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport {\n AddressPayload,\n AddressSchema,\n InstanceTypeCheck,\n ModuleIdentifier,\n ModuleManifestQuery,\n ModuleManifestQuerySchema,\n ModuleQueryResult,\n} 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"]}
@@ -1,2 +1,119 @@
1
- var u=Object.defineProperty;var q=(s,a,e)=>a in s?u(s,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[a]=e;var h=(s,a)=>u(s,"name",{value:a,configurable:!0});var y=(s,a,e)=>q(s,typeof a!="symbol"?a+"":a,e);import{NodeManifestPayloadSchema as P}from"@xyo-network/manifest-model";import{AddressSchema as o,ModuleManifestQuerySchema as S}from"@xyo-network/module-model";import{constructableModuleWrapper as M,ModuleWrapper as l}from"@xyo-network/module-wrapper";import{ChildCertificationSchema as x,isNodeInstance as R,isNodeModule as C,NodeAttachedQuerySchema as m,NodeAttachQuerySchema as i,NodeCertifyQuerySchema as Q,NodeDetachQuerySchema as f,NodeRegisteredQuerySchema as p}from"@xyo-network/node-model";import{isPayloadOfSchemaType as r}from"@xyo-network/payload-model";import{Mutex as g}from"async-mutex";M();var c=class c extends l{_attached;_attachedMutex=new g;async attach(a,e){var n;let t={external:e,id:a,schema:i};return(n=(await this.sendQuery(t)).filter(r(o)).pop())==null?void 0:n.address}async attachQuery(a,e,t){let d={external:e,id:a,schema:i};return await this.sendQueryRaw(d,[],t)}async attached(){return await this._attachedMutex.runExclusive(async()=>{if(this._attached===void 0){let a={schema:m},e=(await this.sendQuery(a)).filter(r(o));this._attached=e.map(t=>t.address)}return this._attached})}async attachedQuery(a){let e={schema:m};return await this.sendQueryRaw(e,[],a)}async certify(a){let e={id:a,schema:Q};return(await this.sendQuery(e)).filter(r(x)).pop()}async certifyQuery(a,e){let t={id:a,schema:Q};return await this.sendQueryRaw(t,[],e)}async detach(a){var d;let e={id:a,schema:f};return(d=(await this.sendQuery(e)).filter(r(o)).pop())==null?void 0:d.address}async detachQuery(a,e){let t={id:a,schema:f};return await this.sendQueryRaw(t,[],e)}async manifest(a){let e={schema:S,...a?{maxDepth:a}:{}};return(await this.sendQuery(e)).filter(r(P)).pop()}async registered(){let a={schema:p};return(await this.sendQuery(a)).filter(r(o)).map(t=>t.address)}async registeredQuery(a){let e={schema:p};return await this.sendQueryRaw(e,[],a)}};h(c,"NodeWrapper"),y(c,"instanceIdentityCheck",R),y(c,"moduleIdentityCheck",C),y(c,"requiredQueries",[i,...l.requiredQueries]);var w=c;export{w as NodeWrapper};
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
4
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+
6
+ // src/NodeWrapper.ts
7
+ import { NodeManifestPayloadSchema } from "@xyo-network/manifest-model";
8
+ import { AddressSchema, ModuleManifestQuerySchema } from "@xyo-network/module-model";
9
+ import { constructableModuleWrapper, ModuleWrapper } from "@xyo-network/module-wrapper";
10
+ import { ChildCertificationSchema, isNodeInstance, isNodeModule, NodeAttachedQuerySchema, NodeAttachQuerySchema, NodeCertifyQuerySchema, NodeDetachQuerySchema, NodeRegisteredQuerySchema } from "@xyo-network/node-model";
11
+ import { isPayloadOfSchemaType } from "@xyo-network/payload-model";
12
+ import { Mutex } from "async-mutex";
13
+ constructableModuleWrapper();
14
+ var _NodeWrapper = class _NodeWrapper extends ModuleWrapper {
15
+ _attached;
16
+ _attachedMutex = new Mutex();
17
+ async attach(id, external) {
18
+ var _a;
19
+ const queryPayload = {
20
+ external,
21
+ id,
22
+ schema: NodeAttachQuerySchema
23
+ };
24
+ const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(AddressSchema));
25
+ return (_a = payloads.pop()) == null ? void 0 : _a.address;
26
+ }
27
+ async attachQuery(id, external, account) {
28
+ const queryPayload = {
29
+ external,
30
+ id,
31
+ schema: NodeAttachQuerySchema
32
+ };
33
+ return await this.sendQueryRaw(queryPayload, [], account);
34
+ }
35
+ async attached() {
36
+ return await this._attachedMutex.runExclusive(async () => {
37
+ if (this._attached === void 0) {
38
+ const queryPayload = {
39
+ schema: NodeAttachedQuerySchema
40
+ };
41
+ const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(AddressSchema));
42
+ this._attached = payloads.map((p) => p.address);
43
+ }
44
+ return this._attached;
45
+ });
46
+ }
47
+ async attachedQuery(account) {
48
+ const queryPayload = {
49
+ schema: NodeAttachedQuerySchema
50
+ };
51
+ return await this.sendQueryRaw(queryPayload, [], account);
52
+ }
53
+ async certify(id) {
54
+ const queryPayload = {
55
+ id,
56
+ schema: NodeCertifyQuerySchema
57
+ };
58
+ const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(ChildCertificationSchema));
59
+ return payloads.pop();
60
+ }
61
+ async certifyQuery(id, account) {
62
+ const queryPayload = {
63
+ id,
64
+ schema: NodeCertifyQuerySchema
65
+ };
66
+ return await this.sendQueryRaw(queryPayload, [], account);
67
+ }
68
+ async detach(id) {
69
+ var _a;
70
+ const queryPayload = {
71
+ id,
72
+ schema: NodeDetachQuerySchema
73
+ };
74
+ const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(AddressSchema));
75
+ return (_a = payloads.pop()) == null ? void 0 : _a.address;
76
+ }
77
+ async detachQuery(id, account) {
78
+ const queryPayload = {
79
+ id,
80
+ schema: NodeDetachQuerySchema
81
+ };
82
+ return await this.sendQueryRaw(queryPayload, [], account);
83
+ }
84
+ async manifest(maxDepth) {
85
+ const queryPayload = {
86
+ schema: ModuleManifestQuerySchema,
87
+ ...maxDepth ? {
88
+ maxDepth
89
+ } : {}
90
+ };
91
+ const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(NodeManifestPayloadSchema));
92
+ return payloads.pop();
93
+ }
94
+ async registered() {
95
+ const queryPayload = {
96
+ schema: NodeRegisteredQuerySchema
97
+ };
98
+ const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType(AddressSchema));
99
+ return payloads.map((p) => p.address);
100
+ }
101
+ async registeredQuery(account) {
102
+ const queryPayload = {
103
+ schema: NodeRegisteredQuerySchema
104
+ };
105
+ return await this.sendQueryRaw(queryPayload, [], account);
106
+ }
107
+ };
108
+ __name(_NodeWrapper, "NodeWrapper");
109
+ __publicField(_NodeWrapper, "instanceIdentityCheck", isNodeInstance);
110
+ __publicField(_NodeWrapper, "moduleIdentityCheck", isNodeModule);
111
+ __publicField(_NodeWrapper, "requiredQueries", [
112
+ NodeAttachQuerySchema,
113
+ ...ModuleWrapper.requiredQueries
114
+ ]);
115
+ var NodeWrapper = _NodeWrapper;
116
+ export {
117
+ NodeWrapper
118
+ };
2
119
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/NodeWrapper.ts"],"sourcesContent":["import { Address } from '@xylabs/hex'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport {\n AddressPayload,\n AddressSchema,\n InstanceTypeCheck,\n ModuleIdentifier,\n ModuleManifestQuery,\n ModuleManifestQuerySchema,\n ModuleQueryResult,\n} 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":["NodeManifestPayloadSchema","AddressSchema","ModuleManifestQuerySchema","constructableModuleWrapper","ModuleWrapper","ChildCertificationSchema","isNodeInstance","isNodeModule","NodeAttachedQuerySchema","NodeAttachQuerySchema","NodeCertifyQuerySchema","NodeDetachQuerySchema","NodeRegisteredQuerySchema","isPayloadOfSchemaType","Mutex","constructableModuleWrapper","NodeWrapper","ModuleWrapper","_attached","_attachedMutex","Mutex","attach","id","external","_a","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","__publicField","instanceIdentityCheck","isNodeInstance","moduleIdentityCheck","isNodeModule","requiredQueries","_NodeWrapper"]}
1
+ {"version":3,"sources":["../../src/NodeWrapper.ts"],"sourcesContent":["import { Address } from '@xylabs/hex'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport {\n AddressPayload,\n AddressSchema,\n InstanceTypeCheck,\n ModuleIdentifier,\n ModuleManifestQuery,\n ModuleManifestQuerySchema,\n ModuleQueryResult,\n} 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":["NodeManifestPayloadSchema","AddressSchema","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
@@ -11,17 +11,17 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@xylabs/hex": "^3.5.1",
14
- "@xyo-network/account-model": "~2.107.3",
15
- "@xyo-network/manifest-model": "~2.107.3",
16
- "@xyo-network/module-model": "~2.107.3",
17
- "@xyo-network/module-wrapper": "~2.107.3",
18
- "@xyo-network/node-model": "~2.107.3",
19
- "@xyo-network/payload-model": "~2.107.3",
14
+ "@xyo-network/account-model": "~2.107.5",
15
+ "@xyo-network/manifest-model": "~2.107.5",
16
+ "@xyo-network/module-model": "~2.107.5",
17
+ "@xyo-network/module-wrapper": "~2.107.5",
18
+ "@xyo-network/node-model": "~2.107.5",
19
+ "@xyo-network/payload-model": "~2.107.5",
20
20
  "async-mutex": "^0.5.0"
21
21
  },
22
22
  "devDependencies": {
23
- "@xylabs/ts-scripts-yarn3": "^3.11.9",
24
- "@xylabs/tsconfig": "^3.11.9",
23
+ "@xylabs/ts-scripts-yarn3": "^3.11.10",
24
+ "@xylabs/tsconfig": "^3.11.10",
25
25
  "typescript": "^5.5.2"
26
26
  },
27
27
  "description": "Primary SDK for using XYO Protocol 2.0",
@@ -63,6 +63,6 @@
63
63
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
64
64
  },
65
65
  "sideEffects": false,
66
- "version": "2.107.3",
66
+ "version": "2.107.5",
67
67
  "type": "module"
68
68
  }