@xyo-network/node-view 2.111.3 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/neutral/index.d.ts +37 -2
  2. package/package.json +13 -32
  3. package/xy.config.ts +12 -0
  4. package/dist/browser/ViewNode.d.cts +0 -35
  5. package/dist/browser/ViewNode.d.cts.map +0 -1
  6. package/dist/browser/ViewNode.d.mts +0 -35
  7. package/dist/browser/ViewNode.d.mts.map +0 -1
  8. package/dist/browser/ViewNode.d.ts +0 -35
  9. package/dist/browser/ViewNode.d.ts.map +0 -1
  10. package/dist/browser/index.cjs +0 -145
  11. package/dist/browser/index.cjs.map +0 -1
  12. package/dist/browser/index.d.cts +0 -2
  13. package/dist/browser/index.d.cts.map +0 -1
  14. package/dist/browser/index.d.mts +0 -2
  15. package/dist/browser/index.d.mts.map +0 -1
  16. package/dist/browser/index.d.ts +0 -2
  17. package/dist/browser/index.d.ts.map +0 -1
  18. package/dist/browser/index.mjs +0 -124
  19. package/dist/browser/index.mjs.map +0 -1
  20. package/dist/neutral/ViewNode.d.cts +0 -35
  21. package/dist/neutral/ViewNode.d.cts.map +0 -1
  22. package/dist/neutral/ViewNode.d.mts +0 -35
  23. package/dist/neutral/ViewNode.d.mts.map +0 -1
  24. package/dist/neutral/ViewNode.d.ts +0 -35
  25. package/dist/neutral/ViewNode.d.ts.map +0 -1
  26. package/dist/neutral/index.cjs +0 -145
  27. package/dist/neutral/index.cjs.map +0 -1
  28. package/dist/neutral/index.d.cts +0 -2
  29. package/dist/neutral/index.d.cts.map +0 -1
  30. package/dist/neutral/index.d.mts +0 -2
  31. package/dist/neutral/index.d.mts.map +0 -1
  32. package/dist/neutral/index.d.ts.map +0 -1
  33. package/dist/node/ViewNode.d.cts +0 -35
  34. package/dist/node/ViewNode.d.cts.map +0 -1
  35. package/dist/node/ViewNode.d.mts +0 -35
  36. package/dist/node/ViewNode.d.mts.map +0 -1
  37. package/dist/node/ViewNode.d.ts +0 -35
  38. package/dist/node/ViewNode.d.ts.map +0 -1
  39. package/dist/node/index.cjs +0 -154
  40. package/dist/node/index.cjs.map +0 -1
  41. package/dist/node/index.d.cts +0 -2
  42. package/dist/node/index.d.cts.map +0 -1
  43. package/dist/node/index.d.mts +0 -2
  44. package/dist/node/index.d.mts.map +0 -1
  45. package/dist/node/index.d.ts +0 -2
  46. package/dist/node/index.d.ts.map +0 -1
  47. package/dist/node/index.mjs +0 -128
  48. package/dist/node/index.mjs.map +0 -1
@@ -1,35 +0,0 @@
1
- import { Address } from '@xylabs/hex';
2
- import { AnyConfigSchema, ModuleFilter, ModuleFilterOptions, ModuleIdentifier, ModuleInstance } from '@xyo-network/module-model';
3
- import { MemoryNode } from '@xyo-network/node-memory';
4
- import { AttachableNodeInstance, NodeConfig, NodeModuleEventData, NodeParams } from '@xyo-network/node-model';
5
- import { Schema } from '@xyo-network/payload-model';
6
- export declare const ViewNodeConfigSchema: "network.xyo.node.view.config";
7
- export type ViewNodeConfigSchema = typeof ViewNodeConfigSchema;
8
- export type ViewNodeConfig = NodeConfig<{
9
- ids: ModuleIdentifier[];
10
- source: ModuleIdentifier;
11
- }, ViewNodeConfigSchema>;
12
- export type ViewNodeParams = NodeParams<AnyConfigSchema<ViewNodeConfig>>;
13
- export declare class ViewNode<TParams extends ViewNodeParams = ViewNodeParams, TEventData extends NodeModuleEventData = NodeModuleEventData> extends MemoryNode<TParams, TEventData> implements AttachableNodeInstance {
14
- static readonly configSchemas: Schema[];
15
- static readonly defaultConfigSchema: Schema;
16
- static readonly labels: {
17
- ModuleLimitationLabelName: string;
18
- };
19
- private _buildMutex;
20
- private _built;
21
- private _limitedResolver;
22
- get ids(): string[];
23
- get queries(): Schema[];
24
- get source(): string;
25
- resolve(): Promise<ModuleInstance[]>;
26
- resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
27
- resolve<T extends ModuleInstance = ModuleInstance>(filter: ModuleFilter, options?: ModuleFilterOptions<T>): Promise<T[]>;
28
- resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
29
- protected attachUsingAddress(address: Address): Promise<Lowercase<string>>;
30
- protected attachedPublicModules(): Promise<ModuleInstance[]>;
31
- protected detachUsingAddress(address: Address): Promise<Lowercase<string>>;
32
- protected startHandler(): Promise<boolean>;
33
- private build;
34
- }
35
- //# sourceMappingURL=ViewNode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ViewNode.d.ts","sourceRoot":"","sources":["../../src/ViewNode.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EACL,eAAe,EAGf,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EAEf,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,UAAU,EAAoB,MAAM,0BAA0B,CAAA;AACvE,OAAO,EAEL,sBAAsB,EAGtB,UAAU,EAEV,mBAAmB,EACnB,UAAU,EAEX,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAGnD,eAAO,MAAM,oBAAoB,gCAA0C,CAAA;AAC3E,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAA;AAE9D,MAAM,MAAM,cAAc,GAAG,UAAU,CACrC;IACE,GAAG,EAAE,gBAAgB,EAAE,CAAA;IACvB,MAAM,EAAE,gBAAgB,CAAA;CACzB,EACD,oBAAoB,CACrB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAA;AAExE,qBAAa,QAAQ,CAAC,OAAO,SAAS,cAAc,GAAG,cAAc,EAAE,UAAU,SAAS,mBAAmB,GAAG,mBAAmB,CACjI,SAAQ,UAAU,CAAC,OAAO,EAAE,UAAU,CACtC,YAAW,sBAAsB;IACjC,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAiD;IACjG,gBAAyB,mBAAmB,EAAE,MAAM,CAAuB;IAC3E,gBAAyB,MAAM;;MAAmC;IAElE,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,gBAAgB,CAA2C;IAEnE,IAAI,GAAG,aAEN;IAED,IAAa,OAAO,IAAI,MAAM,EAAE,CAI/B;IAED,IAAI,MAAM,WAET;IAGc,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IACpC,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAC5G,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IACxH,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cA4BxH,kBAAkB,CAAC,OAAO,EAAE,OAAO;cA8BnC,qBAAqB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;cAIlD,kBAAkB,CAAC,OAAO,EAAE,OAAO;cAMnC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;YAM3C,KAAK;CAepB"}
@@ -1,35 +0,0 @@
1
- import { Address } from '@xylabs/hex';
2
- import { AnyConfigSchema, ModuleFilter, ModuleFilterOptions, ModuleIdentifier, ModuleInstance } from '@xyo-network/module-model';
3
- import { MemoryNode } from '@xyo-network/node-memory';
4
- import { AttachableNodeInstance, NodeConfig, NodeModuleEventData, NodeParams } from '@xyo-network/node-model';
5
- import { Schema } from '@xyo-network/payload-model';
6
- export declare const ViewNodeConfigSchema: "network.xyo.node.view.config";
7
- export type ViewNodeConfigSchema = typeof ViewNodeConfigSchema;
8
- export type ViewNodeConfig = NodeConfig<{
9
- ids: ModuleIdentifier[];
10
- source: ModuleIdentifier;
11
- }, ViewNodeConfigSchema>;
12
- export type ViewNodeParams = NodeParams<AnyConfigSchema<ViewNodeConfig>>;
13
- export declare class ViewNode<TParams extends ViewNodeParams = ViewNodeParams, TEventData extends NodeModuleEventData = NodeModuleEventData> extends MemoryNode<TParams, TEventData> implements AttachableNodeInstance {
14
- static readonly configSchemas: Schema[];
15
- static readonly defaultConfigSchema: Schema;
16
- static readonly labels: {
17
- ModuleLimitationLabelName: string;
18
- };
19
- private _buildMutex;
20
- private _built;
21
- private _limitedResolver;
22
- get ids(): string[];
23
- get queries(): Schema[];
24
- get source(): string;
25
- resolve(): Promise<ModuleInstance[]>;
26
- resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
27
- resolve<T extends ModuleInstance = ModuleInstance>(filter: ModuleFilter, options?: ModuleFilterOptions<T>): Promise<T[]>;
28
- resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
29
- protected attachUsingAddress(address: Address): Promise<Lowercase<string>>;
30
- protected attachedPublicModules(): Promise<ModuleInstance[]>;
31
- protected detachUsingAddress(address: Address): Promise<Lowercase<string>>;
32
- protected startHandler(): Promise<boolean>;
33
- private build;
34
- }
35
- //# sourceMappingURL=ViewNode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ViewNode.d.ts","sourceRoot":"","sources":["../../src/ViewNode.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EACL,eAAe,EAGf,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EAEf,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,UAAU,EAAoB,MAAM,0BAA0B,CAAA;AACvE,OAAO,EAEL,sBAAsB,EAGtB,UAAU,EAEV,mBAAmB,EACnB,UAAU,EAEX,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAGnD,eAAO,MAAM,oBAAoB,gCAA0C,CAAA;AAC3E,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAA;AAE9D,MAAM,MAAM,cAAc,GAAG,UAAU,CACrC;IACE,GAAG,EAAE,gBAAgB,EAAE,CAAA;IACvB,MAAM,EAAE,gBAAgB,CAAA;CACzB,EACD,oBAAoB,CACrB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAA;AAExE,qBAAa,QAAQ,CAAC,OAAO,SAAS,cAAc,GAAG,cAAc,EAAE,UAAU,SAAS,mBAAmB,GAAG,mBAAmB,CACjI,SAAQ,UAAU,CAAC,OAAO,EAAE,UAAU,CACtC,YAAW,sBAAsB;IACjC,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAiD;IACjG,gBAAyB,mBAAmB,EAAE,MAAM,CAAuB;IAC3E,gBAAyB,MAAM;;MAAmC;IAElE,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,gBAAgB,CAA2C;IAEnE,IAAI,GAAG,aAEN;IAED,IAAa,OAAO,IAAI,MAAM,EAAE,CAI/B;IAED,IAAI,MAAM,WAET;IAGc,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IACpC,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAC5G,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IACxH,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cA4BxH,kBAAkB,CAAC,OAAO,EAAE,OAAO;cA8BnC,qBAAqB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;cAIlD,kBAAkB,CAAC,OAAO,EAAE,OAAO;cAMnC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;YAM3C,KAAK;CAepB"}
@@ -1,145 +0,0 @@
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
- ViewNode: () => ViewNode,
25
- ViewNodeConfigSchema: () => ViewNodeConfigSchema
26
- });
27
- module.exports = __toCommonJS(src_exports);
28
-
29
- // src/ViewNode.ts
30
- var import_assert = require("@xylabs/assert");
31
- var import_exists = require("@xylabs/exists");
32
- var import_module_model = require("@xyo-network/module-model");
33
- var import_module_resolver = require("@xyo-network/module-resolver");
34
- var import_node_memory = require("@xyo-network/node-memory");
35
- var import_node_model = require("@xyo-network/node-model");
36
- var import_async_mutex = require("async-mutex");
37
- var ViewNodeConfigSchema = "network.xyo.node.view.config";
38
- var ViewNode = class extends import_node_memory.MemoryNode {
39
- static {
40
- __name(this, "ViewNode");
41
- }
42
- static configSchemas = [
43
- ...super.configSchemas,
44
- ViewNodeConfigSchema
45
- ];
46
- static defaultConfigSchema = ViewNodeConfigSchema;
47
- static labels = {
48
- ...import_module_model.ModuleLimitationViewLabel
49
- };
50
- _buildMutex = new import_async_mutex.Mutex();
51
- _built = false;
52
- _limitedResolver = new import_module_resolver.SimpleModuleResolver({
53
- root: this
54
- });
55
- get ids() {
56
- return this.config.ids;
57
- }
58
- get queries() {
59
- const disallowedQueries = /* @__PURE__ */ new Set([
60
- import_node_model.NodeAttachQuerySchema,
61
- import_node_model.NodeDetachQuerySchema,
62
- import_node_model.NodeRegisteredQuerySchema
63
- ]);
64
- const queries = [
65
- ...super.queries
66
- ];
67
- return queries.filter((query) => !disallowedQueries.has(query));
68
- }
69
- get source() {
70
- return this.config.source;
71
- }
72
- async resolve(idOrFilter = "*", options = {}) {
73
- if (!this._built) {
74
- await this.build();
75
- }
76
- const mods = await this._limitedResolver.resolve("*");
77
- if (idOrFilter === "*") {
78
- return mods;
79
- }
80
- switch (typeof idOrFilter) {
81
- case "string": {
82
- const mod = mods.find((mod2) => mod2.modName === idOrFilter || mod2.address === idOrFilter);
83
- return mod;
84
- }
85
- case "object": {
86
- if ((0, import_module_model.isAddressModuleFilter)(idOrFilter)) {
87
- return (await Promise.all(idOrFilter.address.map(async (address) => await this.resolve(address, options)))).filter(import_exists.exists);
88
- } else if ((0, import_module_model.isNameModuleFilter)(idOrFilter)) {
89
- return (await Promise.all(idOrFilter.name.map(async (name) => await this.resolve(name, options)))).filter(import_exists.exists);
90
- }
91
- return [];
92
- }
93
- }
94
- }
95
- async attachUsingAddress(address) {
96
- const attached = await this.attached();
97
- const mods = this.registeredModules().filter((mod2) => attached.includes(mod2.address));
98
- const existingModule = mods.find((mod2) => mod2.address === address);
99
- if (existingModule) {
100
- this.logger.warn(`ViewNode: Module [${existingModule?.modName ?? existingModule?.address}] already attached at address [${address}]`);
101
- }
102
- const mod = (0, import_assert.assertEx)(this.registeredModuleMap[address], () => `Module [${address}] not found in registered mods`);
103
- mod.addParent(this);
104
- const args = {
105
- mod,
106
- name: mod.modName
107
- };
108
- await this.emit("moduleAttached", args);
109
- this._limitedResolver.add(mod);
110
- if ((0, import_node_model.isNodeModule)(mod)) {
111
- const attachedListener = /* @__PURE__ */ __name(async (args2) => await this.emit("moduleAttached", args2), "attachedListener");
112
- const detachedListener = /* @__PURE__ */ __name(async (args2) => await this.emit("moduleDetached", args2), "detachedListener");
113
- mod.on("moduleAttached", attachedListener);
114
- mod.on("moduleDetached", detachedListener);
115
- }
116
- return address;
117
- }
118
- async attachedPublicModules() {
119
- return (await this._limitedResolver.resolve("*")).filter((mod) => mod.address !== this.address);
120
- }
121
- async detachUsingAddress(address) {
122
- const mod = (0, import_assert.assertEx)(await this.downResolver.resolve(address), () => `Module [${address}] not found in down resolver`);
123
- this._limitedResolver.remove(mod.address);
124
- return address;
125
- }
126
- async startHandler() {
127
- await super.startHandler();
128
- await this.build();
129
- return true;
130
- }
131
- async build() {
132
- return await this._buildMutex.runExclusive(async () => {
133
- if (!this._built) {
134
- const source = (0, import_node_model.asNodeInstance)(await super.resolve(this.source));
135
- if (source) {
136
- await Promise.all(this.ids.map(async (id) => {
137
- await import_node_memory.MemoryNodeHelper.attachToExistingNode(source, id, this);
138
- }));
139
- this._built = true;
140
- }
141
- }
142
- });
143
- }
144
- };
145
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/ViewNode.ts"],"sourcesContent":["export * from './ViewNode.ts'\n","import { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport { Address } from '@xylabs/hex'\nimport { EventListener } from '@xyo-network/module-events'\nimport {\n AnyConfigSchema,\n isAddressModuleFilter,\n isNameModuleFilter,\n ModuleFilter,\n ModuleFilterOptions,\n ModuleIdentifier,\n ModuleInstance,\n ModuleLimitationViewLabel,\n} from '@xyo-network/module-model'\nimport { SimpleModuleResolver } from '@xyo-network/module-resolver'\nimport { MemoryNode, MemoryNodeHelper } from '@xyo-network/node-memory'\nimport {\n asNodeInstance,\n AttachableNodeInstance,\n isNodeModule,\n NodeAttachQuerySchema,\n NodeConfig,\n NodeDetachQuerySchema,\n NodeModuleEventData,\n NodeParams,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport { Schema } from '@xyo-network/payload-model'\nimport { Mutex } from 'async-mutex'\n\nexport const ViewNodeConfigSchema = 'network.xyo.node.view.config' as const\nexport type ViewNodeConfigSchema = typeof ViewNodeConfigSchema\n\nexport type ViewNodeConfig = NodeConfig<\n {\n ids: ModuleIdentifier[]\n source: ModuleIdentifier\n },\n ViewNodeConfigSchema\n>\n\nexport type ViewNodeParams = NodeParams<AnyConfigSchema<ViewNodeConfig>>\n\nexport class ViewNode<TParams extends ViewNodeParams = ViewNodeParams, TEventData extends NodeModuleEventData = NodeModuleEventData>\n extends MemoryNode<TParams, TEventData>\n implements AttachableNodeInstance {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, ViewNodeConfigSchema]\n static override readonly defaultConfigSchema: Schema = ViewNodeConfigSchema\n static override readonly labels = { ...ModuleLimitationViewLabel }\n\n private _buildMutex = new Mutex()\n private _built = false\n private _limitedResolver = new SimpleModuleResolver({ root: this })\n\n get ids() {\n return this.config.ids\n }\n\n override get queries(): Schema[] {\n const disallowedQueries = new Set<Schema>([NodeAttachQuerySchema, NodeDetachQuerySchema, NodeRegisteredQuerySchema])\n const queries: Schema[] = [...super.queries]\n return queries.filter(query => !disallowedQueries.has(query))\n }\n\n get source() {\n return this.config.source\n }\n\n /** @deprecated do not pass undefined. If trying to get all, pass '*' */\n override async resolve(): Promise<ModuleInstance[]>\n override async resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>\n override async resolve<T extends ModuleInstance = ModuleInstance>(filter: ModuleFilter, options?: ModuleFilterOptions<T>): Promise<T[]>\n override async resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>\n override async resolve<T extends ModuleInstance = ModuleInstance>(\n idOrFilter: ModuleFilter<T> | ModuleIdentifier = '*',\n options: ModuleFilterOptions<T> = {},\n ): Promise<T | T[] | undefined> {\n if (!this._built) {\n await this.build()\n }\n const mods = await this._limitedResolver.resolve('*')\n if (idOrFilter === '*') {\n return mods as unknown as T[]\n }\n switch (typeof idOrFilter) {\n case 'string': {\n const mod = mods.find(mod => mod.modName === idOrFilter || mod.address === idOrFilter)\n return mod as unknown as T\n }\n case 'object': {\n if (isAddressModuleFilter(idOrFilter)) {\n return (await Promise.all(idOrFilter.address.map(async address => await this.resolve(address, options)))).filter(exists)\n } else if (isNameModuleFilter(idOrFilter)) {\n return (await Promise.all(idOrFilter.name.map(async name => await this.resolve(name, options)))).filter(exists)\n }\n return []\n }\n }\n }\n\n protected override async attachUsingAddress(address: Address) {\n const attached = await this.attached()\n const mods = this.registeredModules().filter(mod => attached.includes(mod.address))\n const existingModule = mods.find(mod => mod.address === address)\n if (existingModule) {\n this.logger.warn(`ViewNode: Module [${existingModule?.modName ?? existingModule?.address}] already attached at address [${address}]`)\n }\n const mod = assertEx(this.registeredModuleMap[address], () => `Module [${address}] not found in registered mods`)\n\n mod.addParent(this)\n\n const args = { mod, name: mod.modName }\n await this.emit('moduleAttached', args)\n\n this._limitedResolver.add(mod)\n\n if (isNodeModule(mod)) {\n const attachedListener: EventListener<TEventData['moduleAttached']> = async (args: TEventData['moduleAttached']) =>\n await this.emit('moduleAttached', args)\n\n const detachedListener: EventListener<TEventData['moduleDetached']> = async (args: TEventData['moduleDetached']) =>\n await this.emit('moduleDetached', args)\n\n mod.on('moduleAttached', attachedListener)\n mod.on('moduleDetached', detachedListener)\n }\n\n return address\n }\n\n protected override async attachedPublicModules(): Promise<ModuleInstance[]> {\n return (await this._limitedResolver.resolve('*')).filter(mod => mod.address !== this.address)\n }\n\n protected override async detachUsingAddress(address: Address) {\n const mod = assertEx(await this.downResolver.resolve(address), () => `Module [${address}] not found in down resolver`)\n this._limitedResolver.remove(mod.address)\n return address\n }\n\n protected override async startHandler(): Promise<boolean> {\n await super.startHandler()\n await this.build()\n return true\n }\n\n private async build() {\n return await this._buildMutex.runExclusive(async () => {\n if (!this._built) {\n const source = asNodeInstance(await super.resolve(this.source))\n if (source) {\n await Promise.all(\n this.ids.map(async (id) => {\n await MemoryNodeHelper.attachToExistingNode(source, id, this)\n }),\n )\n this._built = true\n }\n }\n })\n }\n}\n"],"mappings":"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","names":["ViewNodeConfigSchema","ViewNode","MemoryNode","configSchemas","defaultConfigSchema","labels","ModuleLimitationViewLabel","_buildMutex","Mutex","_built","_limitedResolver","SimpleModuleResolver","root","ids","config","queries","disallowedQueries","Set","NodeAttachQuerySchema","NodeDetachQuerySchema","NodeRegisteredQuerySchema","filter","query","has","source","resolve","idOrFilter","options","build","mods","mod","find","modName","address","isAddressModuleFilter","Promise","all","map","exists","isNameModuleFilter","name","attachUsingAddress","attached","registeredModules","includes","existingModule","logger","warn","assertEx","registeredModuleMap","addParent","args","emit","add","isNodeModule","attachedListener","detachedListener","on","attachedPublicModules","detachUsingAddress","downResolver","remove","startHandler","runExclusive","asNodeInstance","id","MemoryNodeHelper","attachToExistingNode"]}
@@ -1,2 +0,0 @@
1
- export * from './ViewNode.ts';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from './ViewNode.ts';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA"}
@@ -1,35 +0,0 @@
1
- import { Address } from '@xylabs/hex';
2
- import { AnyConfigSchema, ModuleFilter, ModuleFilterOptions, ModuleIdentifier, ModuleInstance } from '@xyo-network/module-model';
3
- import { MemoryNode } from '@xyo-network/node-memory';
4
- import { AttachableNodeInstance, NodeConfig, NodeModuleEventData, NodeParams } from '@xyo-network/node-model';
5
- import { Schema } from '@xyo-network/payload-model';
6
- export declare const ViewNodeConfigSchema: "network.xyo.node.view.config";
7
- export type ViewNodeConfigSchema = typeof ViewNodeConfigSchema;
8
- export type ViewNodeConfig = NodeConfig<{
9
- ids: ModuleIdentifier[];
10
- source: ModuleIdentifier;
11
- }, ViewNodeConfigSchema>;
12
- export type ViewNodeParams = NodeParams<AnyConfigSchema<ViewNodeConfig>>;
13
- export declare class ViewNode<TParams extends ViewNodeParams = ViewNodeParams, TEventData extends NodeModuleEventData = NodeModuleEventData> extends MemoryNode<TParams, TEventData> implements AttachableNodeInstance {
14
- static readonly configSchemas: Schema[];
15
- static readonly defaultConfigSchema: Schema;
16
- static readonly labels: {
17
- ModuleLimitationLabelName: string;
18
- };
19
- private _buildMutex;
20
- private _built;
21
- private _limitedResolver;
22
- get ids(): string[];
23
- get queries(): Schema[];
24
- get source(): string;
25
- resolve(): Promise<ModuleInstance[]>;
26
- resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
27
- resolve<T extends ModuleInstance = ModuleInstance>(filter: ModuleFilter, options?: ModuleFilterOptions<T>): Promise<T[]>;
28
- resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
29
- protected attachUsingAddress(address: Address): Promise<Lowercase<string>>;
30
- protected attachedPublicModules(): Promise<ModuleInstance[]>;
31
- protected detachUsingAddress(address: Address): Promise<Lowercase<string>>;
32
- protected startHandler(): Promise<boolean>;
33
- private build;
34
- }
35
- //# sourceMappingURL=ViewNode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ViewNode.d.ts","sourceRoot":"","sources":["../../src/ViewNode.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EACL,eAAe,EAGf,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EAEf,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,UAAU,EAAoB,MAAM,0BAA0B,CAAA;AACvE,OAAO,EAEL,sBAAsB,EAGtB,UAAU,EAEV,mBAAmB,EACnB,UAAU,EAEX,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAGnD,eAAO,MAAM,oBAAoB,gCAA0C,CAAA;AAC3E,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAA;AAE9D,MAAM,MAAM,cAAc,GAAG,UAAU,CACrC;IACE,GAAG,EAAE,gBAAgB,EAAE,CAAA;IACvB,MAAM,EAAE,gBAAgB,CAAA;CACzB,EACD,oBAAoB,CACrB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAA;AAExE,qBAAa,QAAQ,CAAC,OAAO,SAAS,cAAc,GAAG,cAAc,EAAE,UAAU,SAAS,mBAAmB,GAAG,mBAAmB,CACjI,SAAQ,UAAU,CAAC,OAAO,EAAE,UAAU,CACtC,YAAW,sBAAsB;IACjC,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAiD;IACjG,gBAAyB,mBAAmB,EAAE,MAAM,CAAuB;IAC3E,gBAAyB,MAAM;;MAAmC;IAElE,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,gBAAgB,CAA2C;IAEnE,IAAI,GAAG,aAEN;IAED,IAAa,OAAO,IAAI,MAAM,EAAE,CAI/B;IAED,IAAI,MAAM,WAET;IAGc,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IACpC,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAC5G,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IACxH,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cA4BxH,kBAAkB,CAAC,OAAO,EAAE,OAAO;cA8BnC,qBAAqB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;cAIlD,kBAAkB,CAAC,OAAO,EAAE,OAAO;cAMnC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;YAM3C,KAAK;CAepB"}
@@ -1,35 +0,0 @@
1
- import { Address } from '@xylabs/hex';
2
- import { AnyConfigSchema, ModuleFilter, ModuleFilterOptions, ModuleIdentifier, ModuleInstance } from '@xyo-network/module-model';
3
- import { MemoryNode } from '@xyo-network/node-memory';
4
- import { AttachableNodeInstance, NodeConfig, NodeModuleEventData, NodeParams } from '@xyo-network/node-model';
5
- import { Schema } from '@xyo-network/payload-model';
6
- export declare const ViewNodeConfigSchema: "network.xyo.node.view.config";
7
- export type ViewNodeConfigSchema = typeof ViewNodeConfigSchema;
8
- export type ViewNodeConfig = NodeConfig<{
9
- ids: ModuleIdentifier[];
10
- source: ModuleIdentifier;
11
- }, ViewNodeConfigSchema>;
12
- export type ViewNodeParams = NodeParams<AnyConfigSchema<ViewNodeConfig>>;
13
- export declare class ViewNode<TParams extends ViewNodeParams = ViewNodeParams, TEventData extends NodeModuleEventData = NodeModuleEventData> extends MemoryNode<TParams, TEventData> implements AttachableNodeInstance {
14
- static readonly configSchemas: Schema[];
15
- static readonly defaultConfigSchema: Schema;
16
- static readonly labels: {
17
- ModuleLimitationLabelName: string;
18
- };
19
- private _buildMutex;
20
- private _built;
21
- private _limitedResolver;
22
- get ids(): string[];
23
- get queries(): Schema[];
24
- get source(): string;
25
- resolve(): Promise<ModuleInstance[]>;
26
- resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
27
- resolve<T extends ModuleInstance = ModuleInstance>(filter: ModuleFilter, options?: ModuleFilterOptions<T>): Promise<T[]>;
28
- resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
29
- protected attachUsingAddress(address: Address): Promise<Lowercase<string>>;
30
- protected attachedPublicModules(): Promise<ModuleInstance[]>;
31
- protected detachUsingAddress(address: Address): Promise<Lowercase<string>>;
32
- protected startHandler(): Promise<boolean>;
33
- private build;
34
- }
35
- //# sourceMappingURL=ViewNode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ViewNode.d.ts","sourceRoot":"","sources":["../../src/ViewNode.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EACL,eAAe,EAGf,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EAEf,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,UAAU,EAAoB,MAAM,0BAA0B,CAAA;AACvE,OAAO,EAEL,sBAAsB,EAGtB,UAAU,EAEV,mBAAmB,EACnB,UAAU,EAEX,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAGnD,eAAO,MAAM,oBAAoB,gCAA0C,CAAA;AAC3E,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAA;AAE9D,MAAM,MAAM,cAAc,GAAG,UAAU,CACrC;IACE,GAAG,EAAE,gBAAgB,EAAE,CAAA;IACvB,MAAM,EAAE,gBAAgB,CAAA;CACzB,EACD,oBAAoB,CACrB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAA;AAExE,qBAAa,QAAQ,CAAC,OAAO,SAAS,cAAc,GAAG,cAAc,EAAE,UAAU,SAAS,mBAAmB,GAAG,mBAAmB,CACjI,SAAQ,UAAU,CAAC,OAAO,EAAE,UAAU,CACtC,YAAW,sBAAsB;IACjC,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAiD;IACjG,gBAAyB,mBAAmB,EAAE,MAAM,CAAuB;IAC3E,gBAAyB,MAAM;;MAAmC;IAElE,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,gBAAgB,CAA2C;IAEnE,IAAI,GAAG,aAEN;IAED,IAAa,OAAO,IAAI,MAAM,EAAE,CAI/B;IAED,IAAI,MAAM,WAET;IAGc,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IACpC,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAC5G,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IACxH,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cA4BxH,kBAAkB,CAAC,OAAO,EAAE,OAAO;cA8BnC,qBAAqB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;cAIlD,kBAAkB,CAAC,OAAO,EAAE,OAAO;cAMnC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;YAM3C,KAAK;CAepB"}
@@ -1,35 +0,0 @@
1
- import { Address } from '@xylabs/hex';
2
- import { AnyConfigSchema, ModuleFilter, ModuleFilterOptions, ModuleIdentifier, ModuleInstance } from '@xyo-network/module-model';
3
- import { MemoryNode } from '@xyo-network/node-memory';
4
- import { AttachableNodeInstance, NodeConfig, NodeModuleEventData, NodeParams } from '@xyo-network/node-model';
5
- import { Schema } from '@xyo-network/payload-model';
6
- export declare const ViewNodeConfigSchema: "network.xyo.node.view.config";
7
- export type ViewNodeConfigSchema = typeof ViewNodeConfigSchema;
8
- export type ViewNodeConfig = NodeConfig<{
9
- ids: ModuleIdentifier[];
10
- source: ModuleIdentifier;
11
- }, ViewNodeConfigSchema>;
12
- export type ViewNodeParams = NodeParams<AnyConfigSchema<ViewNodeConfig>>;
13
- export declare class ViewNode<TParams extends ViewNodeParams = ViewNodeParams, TEventData extends NodeModuleEventData = NodeModuleEventData> extends MemoryNode<TParams, TEventData> implements AttachableNodeInstance {
14
- static readonly configSchemas: Schema[];
15
- static readonly defaultConfigSchema: Schema;
16
- static readonly labels: {
17
- ModuleLimitationLabelName: string;
18
- };
19
- private _buildMutex;
20
- private _built;
21
- private _limitedResolver;
22
- get ids(): string[];
23
- get queries(): Schema[];
24
- get source(): string;
25
- resolve(): Promise<ModuleInstance[]>;
26
- resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
27
- resolve<T extends ModuleInstance = ModuleInstance>(filter: ModuleFilter, options?: ModuleFilterOptions<T>): Promise<T[]>;
28
- resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
29
- protected attachUsingAddress(address: Address): Promise<Lowercase<string>>;
30
- protected attachedPublicModules(): Promise<ModuleInstance[]>;
31
- protected detachUsingAddress(address: Address): Promise<Lowercase<string>>;
32
- protected startHandler(): Promise<boolean>;
33
- private build;
34
- }
35
- //# sourceMappingURL=ViewNode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ViewNode.d.ts","sourceRoot":"","sources":["../../src/ViewNode.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EACL,eAAe,EAGf,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EAEf,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,UAAU,EAAoB,MAAM,0BAA0B,CAAA;AACvE,OAAO,EAEL,sBAAsB,EAGtB,UAAU,EAEV,mBAAmB,EACnB,UAAU,EAEX,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAGnD,eAAO,MAAM,oBAAoB,gCAA0C,CAAA;AAC3E,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAA;AAE9D,MAAM,MAAM,cAAc,GAAG,UAAU,CACrC;IACE,GAAG,EAAE,gBAAgB,EAAE,CAAA;IACvB,MAAM,EAAE,gBAAgB,CAAA;CACzB,EACD,oBAAoB,CACrB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAA;AAExE,qBAAa,QAAQ,CAAC,OAAO,SAAS,cAAc,GAAG,cAAc,EAAE,UAAU,SAAS,mBAAmB,GAAG,mBAAmB,CACjI,SAAQ,UAAU,CAAC,OAAO,EAAE,UAAU,CACtC,YAAW,sBAAsB;IACjC,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAiD;IACjG,gBAAyB,mBAAmB,EAAE,MAAM,CAAuB;IAC3E,gBAAyB,MAAM;;MAAmC;IAElE,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,gBAAgB,CAA2C;IAEnE,IAAI,GAAG,aAEN;IAED,IAAa,OAAO,IAAI,MAAM,EAAE,CAI/B;IAED,IAAI,MAAM,WAET;IAGc,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IACpC,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAC5G,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IACxH,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cA4BxH,kBAAkB,CAAC,OAAO,EAAE,OAAO;cA8BnC,qBAAqB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;cAIlD,kBAAkB,CAAC,OAAO,EAAE,OAAO;cAMnC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;YAM3C,KAAK;CAepB"}
@@ -1,154 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __reflectGet = Reflect.get;
8
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
10
- var __export = (target, all) => {
11
- for (var name in all)
12
- __defProp(target, name, { get: all[name], enumerable: true });
13
- };
14
- var __copyProps = (to, from, except, desc) => {
15
- if (from && typeof from === "object" || typeof from === "function") {
16
- for (let key of __getOwnPropNames(from))
17
- if (!__hasOwnProp.call(to, key) && key !== except)
18
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
19
- }
20
- return to;
21
- };
22
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
24
- var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
25
-
26
- // src/index.ts
27
- var src_exports = {};
28
- __export(src_exports, {
29
- ViewNode: () => ViewNode,
30
- ViewNodeConfigSchema: () => ViewNodeConfigSchema
31
- });
32
- module.exports = __toCommonJS(src_exports);
33
-
34
- // src/ViewNode.ts
35
- var import_assert = require("@xylabs/assert");
36
- var import_exists = require("@xylabs/exists");
37
- var import_module_model = require("@xyo-network/module-model");
38
- var import_module_resolver = require("@xyo-network/module-resolver");
39
- var import_node_memory = require("@xyo-network/node-memory");
40
- var import_node_model = require("@xyo-network/node-model");
41
- var import_async_mutex = require("async-mutex");
42
- var ViewNodeConfigSchema = "network.xyo.node.view.config";
43
- var _ViewNode = class _ViewNode extends import_node_memory.MemoryNode {
44
- _buildMutex = new import_async_mutex.Mutex();
45
- _built = false;
46
- _limitedResolver = new import_module_resolver.SimpleModuleResolver({
47
- root: this
48
- });
49
- get ids() {
50
- return this.config.ids;
51
- }
52
- get queries() {
53
- const disallowedQueries = /* @__PURE__ */ new Set([
54
- import_node_model.NodeAttachQuerySchema,
55
- import_node_model.NodeDetachQuerySchema,
56
- import_node_model.NodeRegisteredQuerySchema
57
- ]);
58
- const queries = [
59
- ...super.queries
60
- ];
61
- return queries.filter((query) => !disallowedQueries.has(query));
62
- }
63
- get source() {
64
- return this.config.source;
65
- }
66
- async resolve(idOrFilter = "*", options = {}) {
67
- if (!this._built) {
68
- await this.build();
69
- }
70
- const mods = await this._limitedResolver.resolve("*");
71
- if (idOrFilter === "*") {
72
- return mods;
73
- }
74
- switch (typeof idOrFilter) {
75
- case "string": {
76
- const mod = mods.find((mod2) => mod2.modName === idOrFilter || mod2.address === idOrFilter);
77
- return mod;
78
- }
79
- case "object": {
80
- if ((0, import_module_model.isAddressModuleFilter)(idOrFilter)) {
81
- return (await Promise.all(idOrFilter.address.map(async (address) => await this.resolve(address, options)))).filter(import_exists.exists);
82
- } else if ((0, import_module_model.isNameModuleFilter)(idOrFilter)) {
83
- return (await Promise.all(idOrFilter.name.map(async (name) => await this.resolve(name, options)))).filter(import_exists.exists);
84
- }
85
- return [];
86
- }
87
- }
88
- }
89
- async attachUsingAddress(address) {
90
- const attached = await this.attached();
91
- const mods = this.registeredModules().filter((mod2) => attached.includes(mod2.address));
92
- const existingModule = mods.find((mod2) => mod2.address === address);
93
- if (existingModule) {
94
- this.logger.warn(`ViewNode: Module [${(existingModule == null ? void 0 : existingModule.modName) ?? (existingModule == null ? void 0 : existingModule.address)}] already attached at address [${address}]`);
95
- }
96
- const mod = (0, import_assert.assertEx)(this.registeredModuleMap[address], () => `Module [${address}] not found in registered mods`);
97
- mod.addParent(this);
98
- const args = {
99
- mod,
100
- name: mod.modName
101
- };
102
- await this.emit("moduleAttached", args);
103
- this._limitedResolver.add(mod);
104
- if ((0, import_node_model.isNodeModule)(mod)) {
105
- const attachedListener = /* @__PURE__ */ __name(async (args2) => await this.emit("moduleAttached", args2), "attachedListener");
106
- const detachedListener = /* @__PURE__ */ __name(async (args2) => await this.emit("moduleDetached", args2), "detachedListener");
107
- mod.on("moduleAttached", attachedListener);
108
- mod.on("moduleDetached", detachedListener);
109
- }
110
- return address;
111
- }
112
- async attachedPublicModules() {
113
- return (await this._limitedResolver.resolve("*")).filter((mod) => mod.address !== this.address);
114
- }
115
- async detachUsingAddress(address) {
116
- const mod = (0, import_assert.assertEx)(await this.downResolver.resolve(address), () => `Module [${address}] not found in down resolver`);
117
- this._limitedResolver.remove(mod.address);
118
- return address;
119
- }
120
- async startHandler() {
121
- await super.startHandler();
122
- await this.build();
123
- return true;
124
- }
125
- async build() {
126
- return await this._buildMutex.runExclusive(async () => {
127
- if (!this._built) {
128
- const source = (0, import_node_model.asNodeInstance)(await super.resolve(this.source));
129
- if (source) {
130
- await Promise.all(this.ids.map(async (id) => {
131
- await import_node_memory.MemoryNodeHelper.attachToExistingNode(source, id, this);
132
- }));
133
- this._built = true;
134
- }
135
- }
136
- });
137
- }
138
- };
139
- __name(_ViewNode, "ViewNode");
140
- __publicField(_ViewNode, "configSchemas", [
141
- ...__superGet(_ViewNode, _ViewNode, "configSchemas"),
142
- ViewNodeConfigSchema
143
- ]);
144
- __publicField(_ViewNode, "defaultConfigSchema", ViewNodeConfigSchema);
145
- __publicField(_ViewNode, "labels", {
146
- ...import_module_model.ModuleLimitationViewLabel
147
- });
148
- var ViewNode = _ViewNode;
149
- // Annotate the CommonJS export names for ESM import in node:
150
- 0 && (module.exports = {
151
- ViewNode,
152
- ViewNodeConfigSchema
153
- });
154
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/ViewNode.ts"],"sourcesContent":["export * from './ViewNode.ts'\n","import { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport { Address } from '@xylabs/hex'\nimport { EventListener } from '@xyo-network/module-events'\nimport {\n AnyConfigSchema,\n isAddressModuleFilter,\n isNameModuleFilter,\n ModuleFilter,\n ModuleFilterOptions,\n ModuleIdentifier,\n ModuleInstance,\n ModuleLimitationViewLabel,\n} from '@xyo-network/module-model'\nimport { SimpleModuleResolver } from '@xyo-network/module-resolver'\nimport { MemoryNode, MemoryNodeHelper } from '@xyo-network/node-memory'\nimport {\n asNodeInstance,\n AttachableNodeInstance,\n isNodeModule,\n NodeAttachQuerySchema,\n NodeConfig,\n NodeDetachQuerySchema,\n NodeModuleEventData,\n NodeParams,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport { Schema } from '@xyo-network/payload-model'\nimport { Mutex } from 'async-mutex'\n\nexport const ViewNodeConfigSchema = 'network.xyo.node.view.config' as const\nexport type ViewNodeConfigSchema = typeof ViewNodeConfigSchema\n\nexport type ViewNodeConfig = NodeConfig<\n {\n ids: ModuleIdentifier[]\n source: ModuleIdentifier\n },\n ViewNodeConfigSchema\n>\n\nexport type ViewNodeParams = NodeParams<AnyConfigSchema<ViewNodeConfig>>\n\nexport class ViewNode<TParams extends ViewNodeParams = ViewNodeParams, TEventData extends NodeModuleEventData = NodeModuleEventData>\n extends MemoryNode<TParams, TEventData>\n implements AttachableNodeInstance {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, ViewNodeConfigSchema]\n static override readonly defaultConfigSchema: Schema = ViewNodeConfigSchema\n static override readonly labels = { ...ModuleLimitationViewLabel }\n\n private _buildMutex = new Mutex()\n private _built = false\n private _limitedResolver = new SimpleModuleResolver({ root: this })\n\n get ids() {\n return this.config.ids\n }\n\n override get queries(): Schema[] {\n const disallowedQueries = new Set<Schema>([NodeAttachQuerySchema, NodeDetachQuerySchema, NodeRegisteredQuerySchema])\n const queries: Schema[] = [...super.queries]\n return queries.filter(query => !disallowedQueries.has(query))\n }\n\n get source() {\n return this.config.source\n }\n\n /** @deprecated do not pass undefined. If trying to get all, pass '*' */\n override async resolve(): Promise<ModuleInstance[]>\n override async resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>\n override async resolve<T extends ModuleInstance = ModuleInstance>(filter: ModuleFilter, options?: ModuleFilterOptions<T>): Promise<T[]>\n override async resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>\n override async resolve<T extends ModuleInstance = ModuleInstance>(\n idOrFilter: ModuleFilter<T> | ModuleIdentifier = '*',\n options: ModuleFilterOptions<T> = {},\n ): Promise<T | T[] | undefined> {\n if (!this._built) {\n await this.build()\n }\n const mods = await this._limitedResolver.resolve('*')\n if (idOrFilter === '*') {\n return mods as unknown as T[]\n }\n switch (typeof idOrFilter) {\n case 'string': {\n const mod = mods.find(mod => mod.modName === idOrFilter || mod.address === idOrFilter)\n return mod as unknown as T\n }\n case 'object': {\n if (isAddressModuleFilter(idOrFilter)) {\n return (await Promise.all(idOrFilter.address.map(async address => await this.resolve(address, options)))).filter(exists)\n } else if (isNameModuleFilter(idOrFilter)) {\n return (await Promise.all(idOrFilter.name.map(async name => await this.resolve(name, options)))).filter(exists)\n }\n return []\n }\n }\n }\n\n protected override async attachUsingAddress(address: Address) {\n const attached = await this.attached()\n const mods = this.registeredModules().filter(mod => attached.includes(mod.address))\n const existingModule = mods.find(mod => mod.address === address)\n if (existingModule) {\n this.logger.warn(`ViewNode: Module [${existingModule?.modName ?? existingModule?.address}] already attached at address [${address}]`)\n }\n const mod = assertEx(this.registeredModuleMap[address], () => `Module [${address}] not found in registered mods`)\n\n mod.addParent(this)\n\n const args = { mod, name: mod.modName }\n await this.emit('moduleAttached', args)\n\n this._limitedResolver.add(mod)\n\n if (isNodeModule(mod)) {\n const attachedListener: EventListener<TEventData['moduleAttached']> = async (args: TEventData['moduleAttached']) =>\n await this.emit('moduleAttached', args)\n\n const detachedListener: EventListener<TEventData['moduleDetached']> = async (args: TEventData['moduleDetached']) =>\n await this.emit('moduleDetached', args)\n\n mod.on('moduleAttached', attachedListener)\n mod.on('moduleDetached', detachedListener)\n }\n\n return address\n }\n\n protected override async attachedPublicModules(): Promise<ModuleInstance[]> {\n return (await this._limitedResolver.resolve('*')).filter(mod => mod.address !== this.address)\n }\n\n protected override async detachUsingAddress(address: Address) {\n const mod = assertEx(await this.downResolver.resolve(address), () => `Module [${address}] not found in down resolver`)\n this._limitedResolver.remove(mod.address)\n return address\n }\n\n protected override async startHandler(): Promise<boolean> {\n await super.startHandler()\n await this.build()\n return true\n }\n\n private async build() {\n return await this._buildMutex.runExclusive(async () => {\n if (!this._built) {\n const source = asNodeInstance(await super.resolve(this.source))\n if (source) {\n await Promise.all(\n this.ids.map(async (id) => {\n await MemoryNodeHelper.attachToExistingNode(source, id, this)\n }),\n )\n this._built = true\n }\n }\n })\n }\n}\n"],"mappings":"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","names":["ViewNodeConfigSchema","ViewNode","MemoryNode","_buildMutex","Mutex","_built","_limitedResolver","SimpleModuleResolver","root","ids","config","queries","disallowedQueries","Set","NodeAttachQuerySchema","NodeDetachQuerySchema","NodeRegisteredQuerySchema","filter","query","has","source","resolve","idOrFilter","options","build","mods","mod","find","modName","address","isAddressModuleFilter","Promise","all","map","exists","isNameModuleFilter","name","attachUsingAddress","attached","registeredModules","includes","existingModule","logger","warn","assertEx","registeredModuleMap","addParent","args","emit","add","isNodeModule","attachedListener","detachedListener","on","attachedPublicModules","detachUsingAddress","downResolver","remove","startHandler","runExclusive","asNodeInstance","id","MemoryNodeHelper","attachToExistingNode","configSchemas","defaultConfigSchema","labels","ModuleLimitationViewLabel"]}
@@ -1,2 +0,0 @@
1
- export * from './ViewNode.ts';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from './ViewNode.ts';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from './ViewNode.ts';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA"}