@xyo-network/node-view 3.6.9 → 3.6.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,44 +1,35 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
-
4
1
  // src/ViewNode.ts
5
2
  import { assertEx } from "@xylabs/assert";
6
3
  import { exists } from "@xylabs/exists";
7
- import { isAddressModuleFilter, isNameModuleFilter, ModuleLimitationViewLabel } from "@xyo-network/module-model";
4
+ import {
5
+ isAddressModuleFilter,
6
+ isNameModuleFilter,
7
+ ModuleLimitationViewLabel
8
+ } from "@xyo-network/module-model";
8
9
  import { SimpleModuleResolver } from "@xyo-network/module-resolver";
9
10
  import { MemoryNode, MemoryNodeHelper } from "@xyo-network/node-memory";
10
- import { asNodeInstance, isNodeModule, NodeAttachQuerySchema, NodeDetachQuerySchema, NodeRegisteredQuerySchema } from "@xyo-network/node-model";
11
+ import {
12
+ asNodeInstance,
13
+ isNodeModule,
14
+ NodeAttachQuerySchema,
15
+ NodeDetachQuerySchema,
16
+ NodeRegisteredQuerySchema
17
+ } from "@xyo-network/node-model";
11
18
  import { Mutex } from "async-mutex";
12
19
  var ViewNodeConfigSchema = "network.xyo.node.view.config";
13
20
  var ViewNode = class extends MemoryNode {
14
- static {
15
- __name(this, "ViewNode");
16
- }
17
- static configSchemas = [
18
- ...super.configSchemas,
19
- ViewNodeConfigSchema
20
- ];
21
+ static configSchemas = [...super.configSchemas, ViewNodeConfigSchema];
21
22
  static defaultConfigSchema = ViewNodeConfigSchema;
22
- static labels = {
23
- ...ModuleLimitationViewLabel
24
- };
23
+ static labels = { ...ModuleLimitationViewLabel };
25
24
  _buildMutex = new Mutex();
26
25
  _built = false;
27
- _limitedResolver = new SimpleModuleResolver({
28
- root: this
29
- });
26
+ _limitedResolver = new SimpleModuleResolver({ root: this });
30
27
  get ids() {
31
28
  return this.config.ids;
32
29
  }
33
30
  get queries() {
34
- const disallowedQueries = /* @__PURE__ */ new Set([
35
- NodeAttachQuerySchema,
36
- NodeDetachQuerySchema,
37
- NodeRegisteredQuerySchema
38
- ]);
39
- const queries = [
40
- ...super.queries
41
- ];
31
+ const disallowedQueries = /* @__PURE__ */ new Set([NodeAttachQuerySchema, NodeDetachQuerySchema, NodeRegisteredQuerySchema]);
32
+ const queries = [...super.queries];
42
33
  return queries.filter((query) => !disallowedQueries.has(query));
43
34
  }
44
35
  get source() {
@@ -76,15 +67,12 @@ var ViewNode = class extends MemoryNode {
76
67
  }
77
68
  const mod = assertEx(this.registeredModuleMap[address], () => `Module [${address}] not found in registered mods`);
78
69
  mod.addParent(this);
79
- const args = {
80
- mod,
81
- name: mod.modName
82
- };
70
+ const args = { mod, name: mod.modName };
83
71
  await this.emit("moduleAttached", args);
84
72
  this._limitedResolver.add(mod);
85
73
  if (isNodeModule(mod)) {
86
- const attachedListener = /* @__PURE__ */ __name(async (args2) => await this.emit("moduleAttached", args2), "attachedListener");
87
- const detachedListener = /* @__PURE__ */ __name(async (args2) => await this.emit("moduleDetached", args2), "detachedListener");
74
+ const attachedListener = async (args2) => await this.emit("moduleAttached", args2);
75
+ const detachedListener = async (args2) => await this.emit("moduleDetached", args2);
88
76
  mod.on("moduleAttached", attachedListener);
89
77
  mod.on("moduleDetached", detachedListener);
90
78
  }
@@ -108,9 +96,11 @@ var ViewNode = class extends MemoryNode {
108
96
  if (!this._built) {
109
97
  const source = asNodeInstance(await super.resolve(this.source));
110
98
  if (source) {
111
- await Promise.all(this.ids.map(async (id) => {
112
- await MemoryNodeHelper.attachToExistingNode(source, id, this);
113
- }));
99
+ await Promise.all(
100
+ this.ids.map(async (id) => {
101
+ await MemoryNodeHelper.attachToExistingNode(source, id, this);
102
+ })
103
+ );
114
104
  this._built = true;
115
105
  }
116
106
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ViewNode.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport type { Address } from '@xylabs/hex'\nimport type { EventListener } from '@xyo-network/module-events'\nimport type {\n AnyConfigSchema,\n ModuleFilter,\n ModuleFilterOptions,\n ModuleIdentifier,\n ModuleInstance,\n} from '@xyo-network/module-model'\nimport {\n isAddressModuleFilter,\n isNameModuleFilter,\n ModuleLimitationViewLabel,\n} from '@xyo-network/module-model'\nimport { SimpleModuleResolver } from '@xyo-network/module-resolver'\nimport { MemoryNode, MemoryNodeHelper } from '@xyo-network/node-memory'\nimport type {\n AttachableNodeInstance,\n NodeConfig,\n NodeModuleEventData,\n NodeParams,\n} from '@xyo-network/node-model'\nimport {\n asNodeInstance,\n isNodeModule,\n NodeAttachQuerySchema,\n NodeDetachQuerySchema,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport type { 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":["assertEx","exists","isAddressModuleFilter","isNameModuleFilter","ModuleLimitationViewLabel","SimpleModuleResolver","MemoryNode","MemoryNodeHelper","asNodeInstance","isNodeModule","NodeAttachQuerySchema","NodeDetachQuerySchema","NodeRegisteredQuerySchema","Mutex","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
+ {"version":3,"sources":["../../src/ViewNode.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport type { Address } from '@xylabs/hex'\nimport type { EventListener } from '@xyo-network/module-events'\nimport type {\n AnyConfigSchema,\n ModuleFilter,\n ModuleFilterOptions,\n ModuleIdentifier,\n ModuleInstance,\n} from '@xyo-network/module-model'\nimport {\n isAddressModuleFilter,\n isNameModuleFilter,\n ModuleLimitationViewLabel,\n} from '@xyo-network/module-model'\nimport { SimpleModuleResolver } from '@xyo-network/module-resolver'\nimport { MemoryNode, MemoryNodeHelper } from '@xyo-network/node-memory'\nimport type {\n AttachableNodeInstance,\n NodeConfig,\n NodeModuleEventData,\n NodeParams,\n} from '@xyo-network/node-model'\nimport {\n asNodeInstance,\n isNodeModule,\n NodeAttachQuerySchema,\n NodeDetachQuerySchema,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport type { 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":["mod","args"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/node-view",
3
- "version": "3.6.9",
3
+ "version": "3.6.11",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -29,21 +29,21 @@
29
29
  "module": "dist/neutral/index.mjs",
30
30
  "types": "dist/neutral/index.d.ts",
31
31
  "dependencies": {
32
- "@xylabs/assert": "^4.4.34",
33
- "@xylabs/exists": "^4.4.34",
34
- "@xylabs/hex": "^4.4.34",
35
- "@xyo-network/module-events": "^3.6.9",
36
- "@xyo-network/module-model": "^3.6.9",
37
- "@xyo-network/module-resolver": "^3.6.9",
38
- "@xyo-network/node-memory": "^3.6.9",
39
- "@xyo-network/node-model": "^3.6.9",
40
- "@xyo-network/payload-model": "^3.6.9",
32
+ "@xylabs/assert": "^4.5.1",
33
+ "@xylabs/exists": "^4.5.1",
34
+ "@xylabs/hex": "^4.5.1",
35
+ "@xyo-network/module-events": "^3.6.11",
36
+ "@xyo-network/module-model": "^3.6.11",
37
+ "@xyo-network/module-resolver": "^3.6.11",
38
+ "@xyo-network/node-memory": "^3.6.11",
39
+ "@xyo-network/node-model": "^3.6.11",
40
+ "@xyo-network/payload-model": "^3.6.11",
41
41
  "async-mutex": "^0.5.0"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@xylabs/ts-scripts-yarn3": "^4.2.6",
45
45
  "@xylabs/tsconfig": "^4.2.6",
46
- "typescript": "^5.7.2"
46
+ "typescript": "^5.7.3"
47
47
  },
48
48
  "publishConfig": {
49
49
  "access": "public"