@xyo-network/module-abstract 2.66.3 → 2.66.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.
Files changed (29) hide show
  1. package/dist/cjs/AbstractIndirectModule.js +3 -6
  2. package/dist/cjs/AbstractIndirectModule.js.map +1 -1
  3. package/dist/cjs/QueryValidator/SupportedQueryValidator.js.map +1 -1
  4. package/dist/cjs/Resolver/CompositeModuleResolver.js.map +1 -1
  5. package/dist/cjs/Resolver/ResolverEventEmitter.js.map +1 -1
  6. package/dist/cjs/Resolver/SimpleModuleResolver.js.map +1 -1
  7. package/dist/docs.json +3357 -3537
  8. package/dist/esm/AbstractIndirectModule.js +3 -6
  9. package/dist/esm/AbstractIndirectModule.js.map +1 -1
  10. package/dist/esm/QueryValidator/SupportedQueryValidator.js.map +1 -1
  11. package/dist/esm/Resolver/CompositeModuleResolver.js.map +1 -1
  12. package/dist/esm/Resolver/ResolverEventEmitter.js.map +1 -1
  13. package/dist/esm/Resolver/SimpleModuleResolver.js.map +1 -1
  14. package/dist/types/AbstractIndirectModule.d.ts +6 -6
  15. package/dist/types/AbstractIndirectModule.d.ts.map +1 -1
  16. package/dist/types/QueryValidator/SupportedQueryValidator.d.ts +4 -4
  17. package/dist/types/QueryValidator/SupportedQueryValidator.d.ts.map +1 -1
  18. package/dist/types/Resolver/CompositeModuleResolver.d.ts +5 -5
  19. package/dist/types/Resolver/CompositeModuleResolver.d.ts.map +1 -1
  20. package/dist/types/Resolver/ResolverEventEmitter.d.ts +2 -2
  21. package/dist/types/Resolver/ResolverEventEmitter.d.ts.map +1 -1
  22. package/dist/types/Resolver/SimpleModuleResolver.d.ts +5 -5
  23. package/dist/types/Resolver/SimpleModuleResolver.d.ts.map +1 -1
  24. package/package.json +19 -20
  25. package/src/AbstractIndirectModule.ts +16 -21
  26. package/src/QueryValidator/SupportedQueryValidator.ts +3 -3
  27. package/src/Resolver/CompositeModuleResolver.ts +10 -12
  28. package/src/Resolver/ResolverEventEmitter.ts +5 -5
  29. package/src/Resolver/SimpleModuleResolver.ts +18 -20
@@ -1,8 +1,8 @@
1
- import { IndirectModule, ModuleFilter, ModuleResolver } from '@xyo-network/module-model'
1
+ import { Module, ModuleFilter, ModuleResolver } from '@xyo-network/module-model'
2
2
 
3
3
  export interface ModuleResolvedEventArgs {
4
4
  filter?: ModuleFilter
5
- module: IndirectModule
5
+ module: Module
6
6
  }
7
7
 
8
8
  export interface ResolverEventEmitter {
@@ -18,7 +18,7 @@ const getMixin = <T extends ModuleResolver = ModuleResolver>(resolver: T) => {
18
18
  listeners.map((listener) => listener(args))
19
19
  return true
20
20
  }
21
- const onModuleResolved = (module: IndirectModule, filter?: ModuleFilter) => {
21
+ const onModuleResolved = (module: Module, filter?: ModuleFilter) => {
22
22
  const args = { filter, module }
23
23
  emit('moduleResolved', args)
24
24
  }
@@ -31,8 +31,8 @@ const getMixin = <T extends ModuleResolver = ModuleResolver>(resolver: T) => {
31
31
  on: (event: 'moduleResolved', listener: (args: ModuleResolvedEventArgs) => void) => {
32
32
  listeners.push(listener)
33
33
  },
34
- resolve: async (filter?: ModuleFilter): Promise<IndirectModule[]> => {
35
- const modules: IndirectModule[] = await originalResolve(filter)
34
+ resolve: async (filter?: ModuleFilter): Promise<Module[]> => {
35
+ const modules: Module[] = await originalResolve(filter)
36
36
  await Promise.allSettled(modules.map((mod) => onModuleResolved(mod, filter)))
37
37
  return modules
38
38
  },
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  AddressModuleFilter,
3
- IndirectModule,
3
+ Module,
4
4
  ModuleFilter,
5
5
  ModuleRepository,
6
6
  ModuleResolver,
@@ -14,15 +14,15 @@ import flatten from 'lodash/flatten'
14
14
  //This class is now package private (not exported from index.ts)
15
15
  export class SimpleModuleResolver implements ModuleRepository {
16
16
  private addressToName: Record<string, string> = {}
17
- private modules: Record<string, IndirectModule> = {}
17
+ private modules: Record<string, Module> = {}
18
18
 
19
19
  get isModuleResolver() {
20
20
  return true
21
21
  }
22
22
 
23
- add(module: IndirectModule): this
24
- add(module: IndirectModule[]): this
25
- add(module: IndirectModule | IndirectModule[]): this {
23
+ add(module: Module): this
24
+ add(module: Module[]): this
25
+ add(module: Module | Module[]): this {
26
26
  if (Array.isArray(module)) {
27
27
  module.forEach((module) => this.addSingleModule(module))
28
28
  } else {
@@ -48,30 +48,28 @@ export class SimpleModuleResolver implements ModuleRepository {
48
48
  throw 'Removing resolvers not supported'
49
49
  }
50
50
 
51
- resolve<TModule extends IndirectModule = IndirectModule>(filter?: ModuleFilter): Promisable<TModule[]>
52
- resolve<TModule extends IndirectModule = IndirectModule>(nameOrAddress: string): Promisable<TModule | undefined>
53
- resolve<TModule extends IndirectModule = IndirectModule>(
54
- nameOrAddressOrFilter?: ModuleFilter | string,
55
- ): Promisable<TModule | TModule[] | undefined> {
51
+ resolve(filter?: ModuleFilter): Promisable<Module[]>
52
+ resolve(nameOrAddress: string): Promisable<Module | undefined>
53
+ resolve(nameOrAddressOrFilter?: ModuleFilter | string): Promisable<Module | Module[] | undefined> {
56
54
  if (nameOrAddressOrFilter) {
57
55
  if (typeof nameOrAddressOrFilter === 'string') {
58
56
  return (
59
- this.resolveByName(Object.values(this.modules) as TModule[], [nameOrAddressOrFilter]).pop() ??
60
- this.resolveByAddress(Object.values(this.modules) as TModule[], [nameOrAddressOrFilter]).pop()
57
+ this.resolveByName(Object.values(this.modules), [nameOrAddressOrFilter]).pop() ??
58
+ this.resolveByAddress(Object.values(this.modules), [nameOrAddressOrFilter]).pop()
61
59
  )
62
60
  } else if ((nameOrAddressOrFilter as AddressModuleFilter).address) {
63
- return this.resolveByAddress<TModule>(Object.values(this.modules) as TModule[], (nameOrAddressOrFilter as AddressModuleFilter).address)
61
+ return this.resolveByAddress(Object.values(this.modules), (nameOrAddressOrFilter as AddressModuleFilter).address)
64
62
  } else if ((nameOrAddressOrFilter as NameModuleFilter).name) {
65
- return this.resolveByName<TModule>(Object.values(this.modules) as TModule[], (nameOrAddressOrFilter as NameModuleFilter).name)
63
+ return this.resolveByName(Object.values(this.modules), (nameOrAddressOrFilter as NameModuleFilter).name)
66
64
  } else if ((nameOrAddressOrFilter as QueryModuleFilter).query) {
67
- return this.resolveByQuery<TModule>(Object.values(this.modules) as TModule[], (nameOrAddressOrFilter as QueryModuleFilter).query)
65
+ return this.resolveByQuery(Object.values(this.modules), (nameOrAddressOrFilter as QueryModuleFilter).query)
68
66
  }
69
67
  } else {
70
- return Object.values(this.modules) as TModule[]
68
+ return Object.values(this.modules)
71
69
  }
72
70
  }
73
71
 
74
- private addSingleModule(module?: IndirectModule) {
72
+ private addSingleModule(module?: Module) {
75
73
  if (module) {
76
74
  this.modules[module.address] = module
77
75
  }
@@ -89,7 +87,7 @@ export class SimpleModuleResolver implements ModuleRepository {
89
87
  }
90
88
  }
91
89
 
92
- private resolveByAddress<T extends IndirectModule = IndirectModule>(modules: T[], address?: string[]): T[] {
90
+ private resolveByAddress<T extends Module = Module>(modules: T[], address?: string[]): T[] {
93
91
  return address
94
92
  ? compact(
95
93
  flatten(
@@ -101,14 +99,14 @@ export class SimpleModuleResolver implements ModuleRepository {
101
99
  : modules
102
100
  }
103
101
 
104
- private resolveByName<T extends IndirectModule = IndirectModule>(modules: T[], name?: string[]): T[] {
102
+ private resolveByName<T extends Module = Module>(modules: T[], name?: string[]): T[] {
105
103
  if (name) {
106
104
  return compact(name.map((name) => modules.filter((module) => module.config.name === name)).flat())
107
105
  }
108
106
  return modules
109
107
  }
110
108
 
111
- private resolveByQuery<T extends IndirectModule = IndirectModule>(modules: T[], query?: string[][]): T[] {
109
+ private resolveByQuery<T extends Module = Module>(modules: T[], query?: string[][]): T[] {
112
110
  return query
113
111
  ? compact(
114
112
  modules.filter((module) =>