@xyo-network/module-resolver 2.94.20 → 2.94.21

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 (61) hide show
  1. package/dist/browser/AbstractModuleResolver.d.cts +18 -2
  2. package/dist/browser/AbstractModuleResolver.d.cts.map +1 -1
  3. package/dist/browser/AbstractModuleResolver.d.mts +18 -2
  4. package/dist/browser/AbstractModuleResolver.d.mts.map +1 -1
  5. package/dist/browser/AbstractModuleResolver.d.ts +18 -2
  6. package/dist/browser/AbstractModuleResolver.d.ts.map +1 -1
  7. package/dist/browser/CompositeModuleResolver.d.cts +3 -4
  8. package/dist/browser/CompositeModuleResolver.d.cts.map +1 -1
  9. package/dist/browser/CompositeModuleResolver.d.mts +3 -4
  10. package/dist/browser/CompositeModuleResolver.d.mts.map +1 -1
  11. package/dist/browser/CompositeModuleResolver.d.ts +3 -4
  12. package/dist/browser/CompositeModuleResolver.d.ts.map +1 -1
  13. package/dist/browser/SimpleModuleResolver.d.cts +2 -2
  14. package/dist/browser/SimpleModuleResolver.d.cts.map +1 -1
  15. package/dist/browser/SimpleModuleResolver.d.mts +2 -2
  16. package/dist/browser/SimpleModuleResolver.d.mts.map +1 -1
  17. package/dist/browser/SimpleModuleResolver.d.ts +2 -2
  18. package/dist/browser/SimpleModuleResolver.d.ts.map +1 -1
  19. package/dist/browser/index.cjs +21 -11
  20. package/dist/browser/index.cjs.map +1 -1
  21. package/dist/browser/index.d.cts +1 -0
  22. package/dist/browser/index.d.cts.map +1 -1
  23. package/dist/browser/index.d.mts +1 -0
  24. package/dist/browser/index.d.mts.map +1 -1
  25. package/dist/browser/index.d.ts +1 -0
  26. package/dist/browser/index.d.ts.map +1 -1
  27. package/dist/browser/index.js +21 -11
  28. package/dist/browser/index.js.map +1 -1
  29. package/dist/node/AbstractModuleResolver.d.cts +18 -2
  30. package/dist/node/AbstractModuleResolver.d.cts.map +1 -1
  31. package/dist/node/AbstractModuleResolver.d.mts +18 -2
  32. package/dist/node/AbstractModuleResolver.d.mts.map +1 -1
  33. package/dist/node/AbstractModuleResolver.d.ts +18 -2
  34. package/dist/node/AbstractModuleResolver.d.ts.map +1 -1
  35. package/dist/node/CompositeModuleResolver.d.cts +3 -4
  36. package/dist/node/CompositeModuleResolver.d.cts.map +1 -1
  37. package/dist/node/CompositeModuleResolver.d.mts +3 -4
  38. package/dist/node/CompositeModuleResolver.d.mts.map +1 -1
  39. package/dist/node/CompositeModuleResolver.d.ts +3 -4
  40. package/dist/node/CompositeModuleResolver.d.ts.map +1 -1
  41. package/dist/node/SimpleModuleResolver.d.cts +2 -2
  42. package/dist/node/SimpleModuleResolver.d.cts.map +1 -1
  43. package/dist/node/SimpleModuleResolver.d.mts +2 -2
  44. package/dist/node/SimpleModuleResolver.d.mts.map +1 -1
  45. package/dist/node/SimpleModuleResolver.d.ts +2 -2
  46. package/dist/node/SimpleModuleResolver.d.ts.map +1 -1
  47. package/dist/node/index.cjs +22 -11
  48. package/dist/node/index.cjs.map +1 -1
  49. package/dist/node/index.d.cts +1 -0
  50. package/dist/node/index.d.cts.map +1 -1
  51. package/dist/node/index.d.mts +1 -0
  52. package/dist/node/index.d.mts.map +1 -1
  53. package/dist/node/index.d.ts +1 -0
  54. package/dist/node/index.d.ts.map +1 -1
  55. package/dist/node/index.js +21 -11
  56. package/dist/node/index.js.map +1 -1
  57. package/package.json +3 -3
  58. package/src/AbstractModuleResolver.ts +23 -2
  59. package/src/CompositeModuleResolver.ts +6 -6
  60. package/src/SimpleModuleResolver.ts +3 -3
  61. package/src/index.ts +1 -0
@@ -20,10 +20,10 @@ import {
20
20
  } from '@xyo-network/module-model'
21
21
  import { LRUCache } from 'lru-cache'
22
22
 
23
- import { AbstractModuleResolver } from './AbstractModuleResolver'
23
+ import { AbstractModuleResolver, ModuleResolverParams } from './AbstractModuleResolver'
24
24
  import { SimpleModuleResolver } from './SimpleModuleResolver'
25
25
 
26
- export interface ModuleResolverParams extends BaseParams {
26
+ export interface CompositeModuleResolverParams extends ModuleResolverParams {
27
27
  cache?: CacheConfig
28
28
  moduleIdentifierTransformers?: ModuleIdentifierTransformer[]
29
29
  }
@@ -32,7 +32,7 @@ const moduleIdentifierParts = (moduleIdentifier: ModuleIdentifier): ModuleIdenti
32
32
  return moduleIdentifier?.split(':') as ModuleIdentifierPart[]
33
33
  }
34
34
 
35
- export class CompositeModuleResolver<T extends ModuleResolverParams = ModuleResolverParams>
35
+ export class CompositeModuleResolver<T extends CompositeModuleResolverParams = CompositeModuleResolverParams>
36
36
  extends AbstractModuleResolver<T>
37
37
  implements ModuleRepository, ModuleResolverInstance
38
38
  {
@@ -44,7 +44,7 @@ export class CompositeModuleResolver<T extends ModuleResolverParams = ModuleReso
44
44
 
45
45
  constructor(params: T) {
46
46
  super(params)
47
- const localResolver = new SimpleModuleResolver()
47
+ const localResolver = new SimpleModuleResolver({ root: params.root })
48
48
  this.addResolver(localResolver)
49
49
  const { max = 100, ttl = 1000 * 5 /* five seconds */ } = params.cache ?? {}
50
50
  this._cache = new LRUCache<ModuleIdentifier, ModuleInstance>({ max, ttl, ...params.cache })
@@ -232,8 +232,8 @@ export class CompositeModuleResolver<T extends ModuleResolverParams = ModuleReso
232
232
  const idParts = moduleIdentifierParts(moduleIdentifier)
233
233
  assertEx(idParts.length >= 2, () => 'Not a valid multipart identifier')
234
234
  const id = assertEx(idParts.shift())
235
- const module = await this.resolve<T>(id)
236
- return await module?.resolve<T>(idParts.join(':'))
235
+ const module = (await this.resolve<T>(id)) ?? (await this.resolvePrivate<T>(id))
236
+ return (await module?.resolve<T>(idParts.join(':'))) ?? (await module?.resolvePrivate<T>(idParts.join(':')))
237
237
  }
238
238
 
239
239
  private async transformModuleIdentifier(identifier: ModuleIdentifier) {
@@ -17,15 +17,15 @@ import {
17
17
  ObjectFilterOptions,
18
18
  } from '@xyo-network/module-model'
19
19
 
20
- import { AbstractModuleResolver } from './AbstractModuleResolver'
20
+ import { AbstractModuleResolver, ModuleResolverParams } from './AbstractModuleResolver'
21
21
 
22
22
  //This class is now package private (not exported from index.ts)
23
23
  export class SimpleModuleResolver extends AbstractModuleResolver implements ModuleRepository {
24
24
  private modules: Record<Address, ModuleInstance> = {}
25
25
  private nameToModule: Record<ModuleName, ModuleInstance> = {}
26
26
 
27
- constructor() {
28
- super({})
27
+ constructor(params: ModuleResolverParams) {
28
+ super(params)
29
29
  }
30
30
 
31
31
  add(module: ModuleInstance): this
package/src/index.ts CHANGED
@@ -1,2 +1,3 @@
1
+ export * from './AbstractModuleResolver'
1
2
  export * from './CompositeModuleResolver'
2
3
  export * from './ResolverEventEmitter'