@xyo-network/module-resolver 2.92.11 → 2.93.0-rc.2

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 +12 -0
  2. package/dist/browser/AbstractModuleResolver.d.cts.map +1 -0
  3. package/dist/browser/AbstractModuleResolver.d.mts +12 -0
  4. package/dist/browser/AbstractModuleResolver.d.mts.map +1 -0
  5. package/dist/browser/AbstractModuleResolver.d.ts +12 -0
  6. package/dist/browser/AbstractModuleResolver.d.ts.map +1 -0
  7. package/dist/browser/CompositeModuleResolver.d.cts +6 -10
  8. package/dist/browser/CompositeModuleResolver.d.cts.map +1 -1
  9. package/dist/browser/CompositeModuleResolver.d.mts +6 -10
  10. package/dist/browser/CompositeModuleResolver.d.mts.map +1 -1
  11. package/dist/browser/CompositeModuleResolver.d.ts +6 -10
  12. package/dist/browser/CompositeModuleResolver.d.ts.map +1 -1
  13. package/dist/browser/SimpleModuleResolver.d.cts +5 -7
  14. package/dist/browser/SimpleModuleResolver.d.cts.map +1 -1
  15. package/dist/browser/SimpleModuleResolver.d.mts +5 -7
  16. package/dist/browser/SimpleModuleResolver.d.mts.map +1 -1
  17. package/dist/browser/SimpleModuleResolver.d.ts +5 -7
  18. package/dist/browser/SimpleModuleResolver.d.ts.map +1 -1
  19. package/dist/browser/index.cjs +58 -21
  20. package/dist/browser/index.cjs.map +1 -1
  21. package/dist/browser/index.js +49 -12
  22. package/dist/browser/index.js.map +1 -1
  23. package/dist/browser/toJson.d.cts +3 -0
  24. package/dist/browser/toJson.d.cts.map +1 -0
  25. package/dist/browser/toJson.d.mts +3 -0
  26. package/dist/browser/toJson.d.mts.map +1 -0
  27. package/dist/browser/toJson.d.ts +3 -0
  28. package/dist/browser/toJson.d.ts.map +1 -0
  29. package/dist/node/AbstractModuleResolver.d.cts +12 -0
  30. package/dist/node/AbstractModuleResolver.d.cts.map +1 -0
  31. package/dist/node/AbstractModuleResolver.d.mts +12 -0
  32. package/dist/node/AbstractModuleResolver.d.mts.map +1 -0
  33. package/dist/node/AbstractModuleResolver.d.ts +12 -0
  34. package/dist/node/AbstractModuleResolver.d.ts.map +1 -0
  35. package/dist/node/CompositeModuleResolver.d.cts +6 -10
  36. package/dist/node/CompositeModuleResolver.d.cts.map +1 -1
  37. package/dist/node/CompositeModuleResolver.d.mts +6 -10
  38. package/dist/node/CompositeModuleResolver.d.mts.map +1 -1
  39. package/dist/node/CompositeModuleResolver.d.ts +6 -10
  40. package/dist/node/CompositeModuleResolver.d.ts.map +1 -1
  41. package/dist/node/SimpleModuleResolver.d.cts +5 -7
  42. package/dist/node/SimpleModuleResolver.d.cts.map +1 -1
  43. package/dist/node/SimpleModuleResolver.d.mts +5 -7
  44. package/dist/node/SimpleModuleResolver.d.mts.map +1 -1
  45. package/dist/node/SimpleModuleResolver.d.ts +5 -7
  46. package/dist/node/SimpleModuleResolver.d.ts.map +1 -1
  47. package/dist/node/index.cjs +62 -21
  48. package/dist/node/index.cjs.map +1 -1
  49. package/dist/node/index.js +53 -12
  50. package/dist/node/index.js.map +1 -1
  51. package/dist/node/toJson.d.cts +3 -0
  52. package/dist/node/toJson.d.cts.map +1 -0
  53. package/dist/node/toJson.d.mts +3 -0
  54. package/dist/node/toJson.d.mts.map +1 -0
  55. package/dist/node/toJson.d.ts +3 -0
  56. package/dist/node/toJson.d.ts.map +1 -0
  57. package/package.json +11 -10
  58. package/src/AbstractModuleResolver.ts +53 -0
  59. package/src/CompositeModuleResolver.ts +7 -12
  60. package/src/SimpleModuleResolver.ts +8 -8
  61. package/src/toJson.ts +45 -0
@@ -0,0 +1,12 @@
1
+ import { Base, BaseParams } from '@xylabs/object';
2
+ import { Promisable } from '@xylabs/promise';
3
+ import { ModuleFilter, ModuleFilterOptions, ModuleIdentifier, ModuleInstance, ModuleResolver } from '@xyo-network/module-model';
4
+ export declare abstract class AbstractModuleResolver<T extends BaseParams = BaseParams> extends Base<T> implements ModuleResolver {
5
+ resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
6
+ resolve<T extends ModuleInstance = ModuleInstance>(filter: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promise<T[]>;
7
+ resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
8
+ /** @deprecated use '*' if trying to resolve all */
9
+ resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promise<T[]>;
10
+ abstract resolveHandler<T extends ModuleInstance = ModuleInstance>(idOrFilter: ModuleFilter<T> | ModuleIdentifier, options?: ModuleFilterOptions<T>): Promisable<T | T[] | undefined>;
11
+ }
12
+ //# sourceMappingURL=AbstractModuleResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractModuleResolver.d.ts","sourceRoot":"","sources":["../../src/AbstractModuleResolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAgB,MAAM,gBAAgB,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAoB,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAEjJ,8BAAsB,sBAAsB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,IAAI,CAAC,CAAC,CAAE,YAAW,cAAc;IACjH,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,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAC3H,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;IACxI,mDAAmD;IAC7C,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAsClI,QAAQ,CAAC,cAAc,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAC/D,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,gBAAgB,EAC9C,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC/B,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;CACnC"}
@@ -0,0 +1,12 @@
1
+ import { Base, BaseParams } from '@xylabs/object';
2
+ import { Promisable } from '@xylabs/promise';
3
+ import { ModuleFilter, ModuleFilterOptions, ModuleIdentifier, ModuleInstance, ModuleResolver } from '@xyo-network/module-model';
4
+ export declare abstract class AbstractModuleResolver<T extends BaseParams = BaseParams> extends Base<T> implements ModuleResolver {
5
+ resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
6
+ resolve<T extends ModuleInstance = ModuleInstance>(filter: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promise<T[]>;
7
+ resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
8
+ /** @deprecated use '*' if trying to resolve all */
9
+ resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promise<T[]>;
10
+ abstract resolveHandler<T extends ModuleInstance = ModuleInstance>(idOrFilter: ModuleFilter<T> | ModuleIdentifier, options?: ModuleFilterOptions<T>): Promisable<T | T[] | undefined>;
11
+ }
12
+ //# sourceMappingURL=AbstractModuleResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractModuleResolver.d.ts","sourceRoot":"","sources":["../../src/AbstractModuleResolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAgB,MAAM,gBAAgB,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAoB,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAEjJ,8BAAsB,sBAAsB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,IAAI,CAAC,CAAC,CAAE,YAAW,cAAc;IACjH,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,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAC3H,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;IACxI,mDAAmD;IAC7C,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAsClI,QAAQ,CAAC,cAAc,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAC/D,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,gBAAgB,EAC9C,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC/B,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;CACnC"}
@@ -0,0 +1,12 @@
1
+ import { Base, BaseParams } from '@xylabs/object';
2
+ import { Promisable } from '@xylabs/promise';
3
+ import { ModuleFilter, ModuleFilterOptions, ModuleIdentifier, ModuleInstance, ModuleResolver } from '@xyo-network/module-model';
4
+ export declare abstract class AbstractModuleResolver<T extends BaseParams = BaseParams> extends Base<T> implements ModuleResolver {
5
+ resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
6
+ resolve<T extends ModuleInstance = ModuleInstance>(filter: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promise<T[]>;
7
+ resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
8
+ /** @deprecated use '*' if trying to resolve all */
9
+ resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promise<T[]>;
10
+ abstract resolveHandler<T extends ModuleInstance = ModuleInstance>(idOrFilter: ModuleFilter<T> | ModuleIdentifier, options?: ModuleFilterOptions<T>): Promisable<T | T[] | undefined>;
11
+ }
12
+ //# sourceMappingURL=AbstractModuleResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractModuleResolver.d.ts","sourceRoot":"","sources":["../../src/AbstractModuleResolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAgB,MAAM,gBAAgB,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAoB,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAEjJ,8BAAsB,sBAAsB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,IAAI,CAAC,CAAC,CAAE,YAAW,cAAc;IACjH,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,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAC3H,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;IACxI,mDAAmD;IAC7C,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAsClI,QAAQ,CAAC,cAAc,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAC/D,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,gBAAgB,EAC9C,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC/B,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;CACnC"}
@@ -1,17 +1,19 @@
1
1
  import { Address } from '@xylabs/hex';
2
- import { Base, BaseParams } from '@xylabs/object';
2
+ import { BaseParams } from '@xylabs/object';
3
3
  import { Promisable } from '@xylabs/promise';
4
4
  import { CacheConfig, ModuleFilter, ModuleFilterOptions, ModuleIdentifier, ModuleInstance, ModuleRepository, ModuleResolverInstance } from '@xyo-network/module-model';
5
+ import { LRUCache } from 'lru-cache';
6
+ import { AbstractModuleResolver } from './AbstractModuleResolver';
5
7
  import { ModuleIdentifierTransformer } from './transformers';
6
8
  export type ModuleIdentifierTransformerFunc = (id: ModuleIdentifier) => Promisable<ModuleIdentifier>;
7
9
  export interface ModuleResolverParams extends BaseParams {
8
10
  cache?: CacheConfig;
9
11
  moduleIdentifierTransformers?: ModuleIdentifierTransformer[];
10
12
  }
11
- export declare class CompositeModuleResolver extends Base<ModuleResolverParams> implements ModuleRepository, ModuleResolverInstance {
13
+ export declare class CompositeModuleResolver extends AbstractModuleResolver<ModuleResolverParams> implements ModuleRepository, ModuleResolverInstance {
12
14
  static defaultMaxDepth: number;
15
+ protected _cache: LRUCache<ModuleIdentifier, ModuleInstance>;
13
16
  protected resolvers: ModuleResolverInstance[];
14
- private _cache;
15
17
  private _localResolver;
16
18
  constructor({ cache, ...params }?: ModuleResolverParams);
17
19
  private get moduleIdentifierTransformers();
@@ -20,13 +22,7 @@ export declare class CompositeModuleResolver extends Base<ModuleResolverParams>
20
22
  addResolver(resolver: ModuleResolverInstance): this;
21
23
  remove(addresses: Address[] | Address): this;
22
24
  removeResolver(resolver: ModuleResolverInstance): this;
23
- /** @deprecated do not pass undefined. If trying to get all, pass '*' */
24
- resolve(): Promise<ModuleInstance[]>;
25
- resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
26
- resolve<T extends ModuleInstance = ModuleInstance>(filter: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promise<T[]>;
27
- resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
28
- /** @deprecated use '*' if trying to resolve all */
29
- resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promise<T[]>;
25
+ resolveHandler<T extends ModuleInstance = ModuleInstance>(idOrFilter?: ModuleFilter<T> | ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | T[] | undefined>;
30
26
  private addSingleModule;
31
27
  private removeSingleModule;
32
28
  private resolveMultipartIdentifier;
@@ -1 +1 @@
1
- {"version":3,"file":"CompositeModuleResolver.d.ts","sourceRoot":"","sources":["../../src/CompositeModuleResolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EACL,WAAW,EAEX,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAEhB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,2BAA2B,CAAA;AAIlC,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAA;AAE5D,MAAM,MAAM,+BAA+B,GAAG,CAAC,EAAE,EAAE,gBAAgB,KAAK,UAAU,CAAC,gBAAgB,CAAC,CAAA;AAEpG,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACtD,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,4BAA4B,CAAC,EAAE,2BAA2B,EAAE,CAAA;CAC7D;AAMD,qBAAa,uBAAwB,SAAQ,IAAI,CAAC,oBAAoB,CAAE,YAAW,gBAAgB,EAAE,sBAAsB;IACzH,MAAM,CAAC,eAAe,SAAI;IAC1B,SAAS,CAAC,SAAS,EAAE,sBAAsB,EAAE,CAAK;IAClD,OAAO,CAAC,MAAM,CAA4C;IAC1D,OAAO,CAAC,cAAc,CAAsB;gBAEhC,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,GAAE,oBAAyB;IAS3D,OAAO,KAAK,4BAA4B,GAEvC;IAED,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IACjC,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI;IAUnC,WAAW,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAKnD,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,GAAG,IAAI;IAS5C,cAAc,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAItD,yEAAyE;IACnE,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,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAC3H,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;IACxI,mDAAmD;IAC7C,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAqElI,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,kBAAkB;YAIZ,0BAA0B;YAQ1B,yBAAyB;CAOxC"}
1
+ {"version":3,"file":"CompositeModuleResolver.d.ts","sourceRoot":"","sources":["../../src/CompositeModuleResolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EACL,WAAW,EAEX,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAEhB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAA;AAE5D,MAAM,MAAM,+BAA+B,GAAG,CAAC,EAAE,EAAE,gBAAgB,KAAK,UAAU,CAAC,gBAAgB,CAAC,CAAA;AAEpG,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACtD,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,4BAA4B,CAAC,EAAE,2BAA2B,EAAE,CAAA;CAC7D;AAMD,qBAAa,uBAAwB,SAAQ,sBAAsB,CAAC,oBAAoB,CAAE,YAAW,gBAAgB,EAAE,sBAAsB;IAC3I,MAAM,CAAC,eAAe,SAAI;IAC1B,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAA;IAC5D,SAAS,CAAC,SAAS,EAAE,sBAAsB,EAAE,CAAK;IAClD,OAAO,CAAC,cAAc,CAAsB;gBAEhC,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,GAAE,oBAAyB;IAS3D,OAAO,KAAK,4BAA4B,GAEvC;IAED,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IACjC,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI;IAUnC,WAAW,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAKnD,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,GAAG,IAAI;IAS5C,cAAc,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAKhD,cAAc,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAC5D,UAAU,GAAE,YAAY,CAAC,CAAC,CAAC,GAAG,gBAAsB,EACpD,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC/B,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;IAiE/B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,kBAAkB;YAIZ,0BAA0B;YAQ1B,yBAAyB;CAOxC"}
@@ -1,17 +1,19 @@
1
1
  import { Address } from '@xylabs/hex';
2
- import { Base, BaseParams } from '@xylabs/object';
2
+ import { BaseParams } from '@xylabs/object';
3
3
  import { Promisable } from '@xylabs/promise';
4
4
  import { CacheConfig, ModuleFilter, ModuleFilterOptions, ModuleIdentifier, ModuleInstance, ModuleRepository, ModuleResolverInstance } from '@xyo-network/module-model';
5
+ import { LRUCache } from 'lru-cache';
6
+ import { AbstractModuleResolver } from './AbstractModuleResolver';
5
7
  import { ModuleIdentifierTransformer } from './transformers';
6
8
  export type ModuleIdentifierTransformerFunc = (id: ModuleIdentifier) => Promisable<ModuleIdentifier>;
7
9
  export interface ModuleResolverParams extends BaseParams {
8
10
  cache?: CacheConfig;
9
11
  moduleIdentifierTransformers?: ModuleIdentifierTransformer[];
10
12
  }
11
- export declare class CompositeModuleResolver extends Base<ModuleResolverParams> implements ModuleRepository, ModuleResolverInstance {
13
+ export declare class CompositeModuleResolver extends AbstractModuleResolver<ModuleResolverParams> implements ModuleRepository, ModuleResolverInstance {
12
14
  static defaultMaxDepth: number;
15
+ protected _cache: LRUCache<ModuleIdentifier, ModuleInstance>;
13
16
  protected resolvers: ModuleResolverInstance[];
14
- private _cache;
15
17
  private _localResolver;
16
18
  constructor({ cache, ...params }?: ModuleResolverParams);
17
19
  private get moduleIdentifierTransformers();
@@ -20,13 +22,7 @@ export declare class CompositeModuleResolver extends Base<ModuleResolverParams>
20
22
  addResolver(resolver: ModuleResolverInstance): this;
21
23
  remove(addresses: Address[] | Address): this;
22
24
  removeResolver(resolver: ModuleResolverInstance): this;
23
- /** @deprecated do not pass undefined. If trying to get all, pass '*' */
24
- resolve(): Promise<ModuleInstance[]>;
25
- resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
26
- resolve<T extends ModuleInstance = ModuleInstance>(filter: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promise<T[]>;
27
- resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
28
- /** @deprecated use '*' if trying to resolve all */
29
- resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promise<T[]>;
25
+ resolveHandler<T extends ModuleInstance = ModuleInstance>(idOrFilter?: ModuleFilter<T> | ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | T[] | undefined>;
30
26
  private addSingleModule;
31
27
  private removeSingleModule;
32
28
  private resolveMultipartIdentifier;
@@ -1 +1 @@
1
- {"version":3,"file":"CompositeModuleResolver.d.ts","sourceRoot":"","sources":["../../src/CompositeModuleResolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EACL,WAAW,EAEX,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAEhB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,2BAA2B,CAAA;AAIlC,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAA;AAE5D,MAAM,MAAM,+BAA+B,GAAG,CAAC,EAAE,EAAE,gBAAgB,KAAK,UAAU,CAAC,gBAAgB,CAAC,CAAA;AAEpG,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACtD,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,4BAA4B,CAAC,EAAE,2BAA2B,EAAE,CAAA;CAC7D;AAMD,qBAAa,uBAAwB,SAAQ,IAAI,CAAC,oBAAoB,CAAE,YAAW,gBAAgB,EAAE,sBAAsB;IACzH,MAAM,CAAC,eAAe,SAAI;IAC1B,SAAS,CAAC,SAAS,EAAE,sBAAsB,EAAE,CAAK;IAClD,OAAO,CAAC,MAAM,CAA4C;IAC1D,OAAO,CAAC,cAAc,CAAsB;gBAEhC,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,GAAE,oBAAyB;IAS3D,OAAO,KAAK,4BAA4B,GAEvC;IAED,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IACjC,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI;IAUnC,WAAW,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAKnD,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,GAAG,IAAI;IAS5C,cAAc,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAItD,yEAAyE;IACnE,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,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAC3H,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;IACxI,mDAAmD;IAC7C,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAqElI,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,kBAAkB;YAIZ,0BAA0B;YAQ1B,yBAAyB;CAOxC"}
1
+ {"version":3,"file":"CompositeModuleResolver.d.ts","sourceRoot":"","sources":["../../src/CompositeModuleResolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EACL,WAAW,EAEX,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAEhB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAA;AAE5D,MAAM,MAAM,+BAA+B,GAAG,CAAC,EAAE,EAAE,gBAAgB,KAAK,UAAU,CAAC,gBAAgB,CAAC,CAAA;AAEpG,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACtD,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,4BAA4B,CAAC,EAAE,2BAA2B,EAAE,CAAA;CAC7D;AAMD,qBAAa,uBAAwB,SAAQ,sBAAsB,CAAC,oBAAoB,CAAE,YAAW,gBAAgB,EAAE,sBAAsB;IAC3I,MAAM,CAAC,eAAe,SAAI;IAC1B,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAA;IAC5D,SAAS,CAAC,SAAS,EAAE,sBAAsB,EAAE,CAAK;IAClD,OAAO,CAAC,cAAc,CAAsB;gBAEhC,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,GAAE,oBAAyB;IAS3D,OAAO,KAAK,4BAA4B,GAEvC;IAED,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IACjC,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI;IAUnC,WAAW,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAKnD,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,GAAG,IAAI;IAS5C,cAAc,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAKhD,cAAc,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAC5D,UAAU,GAAE,YAAY,CAAC,CAAC,CAAC,GAAG,gBAAsB,EACpD,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC/B,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;IAiE/B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,kBAAkB;YAIZ,0BAA0B;YAQ1B,yBAAyB;CAOxC"}
@@ -1,17 +1,19 @@
1
1
  import { Address } from '@xylabs/hex';
2
- import { Base, BaseParams } from '@xylabs/object';
2
+ import { BaseParams } from '@xylabs/object';
3
3
  import { Promisable } from '@xylabs/promise';
4
4
  import { CacheConfig, ModuleFilter, ModuleFilterOptions, ModuleIdentifier, ModuleInstance, ModuleRepository, ModuleResolverInstance } from '@xyo-network/module-model';
5
+ import { LRUCache } from 'lru-cache';
6
+ import { AbstractModuleResolver } from './AbstractModuleResolver';
5
7
  import { ModuleIdentifierTransformer } from './transformers';
6
8
  export type ModuleIdentifierTransformerFunc = (id: ModuleIdentifier) => Promisable<ModuleIdentifier>;
7
9
  export interface ModuleResolverParams extends BaseParams {
8
10
  cache?: CacheConfig;
9
11
  moduleIdentifierTransformers?: ModuleIdentifierTransformer[];
10
12
  }
11
- export declare class CompositeModuleResolver extends Base<ModuleResolverParams> implements ModuleRepository, ModuleResolverInstance {
13
+ export declare class CompositeModuleResolver extends AbstractModuleResolver<ModuleResolverParams> implements ModuleRepository, ModuleResolverInstance {
12
14
  static defaultMaxDepth: number;
15
+ protected _cache: LRUCache<ModuleIdentifier, ModuleInstance>;
13
16
  protected resolvers: ModuleResolverInstance[];
14
- private _cache;
15
17
  private _localResolver;
16
18
  constructor({ cache, ...params }?: ModuleResolverParams);
17
19
  private get moduleIdentifierTransformers();
@@ -20,13 +22,7 @@ export declare class CompositeModuleResolver extends Base<ModuleResolverParams>
20
22
  addResolver(resolver: ModuleResolverInstance): this;
21
23
  remove(addresses: Address[] | Address): this;
22
24
  removeResolver(resolver: ModuleResolverInstance): this;
23
- /** @deprecated do not pass undefined. If trying to get all, pass '*' */
24
- resolve(): Promise<ModuleInstance[]>;
25
- resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
26
- resolve<T extends ModuleInstance = ModuleInstance>(filter: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promise<T[]>;
27
- resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
28
- /** @deprecated use '*' if trying to resolve all */
29
- resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promise<T[]>;
25
+ resolveHandler<T extends ModuleInstance = ModuleInstance>(idOrFilter?: ModuleFilter<T> | ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | T[] | undefined>;
30
26
  private addSingleModule;
31
27
  private removeSingleModule;
32
28
  private resolveMultipartIdentifier;
@@ -1 +1 @@
1
- {"version":3,"file":"CompositeModuleResolver.d.ts","sourceRoot":"","sources":["../../src/CompositeModuleResolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EACL,WAAW,EAEX,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAEhB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,2BAA2B,CAAA;AAIlC,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAA;AAE5D,MAAM,MAAM,+BAA+B,GAAG,CAAC,EAAE,EAAE,gBAAgB,KAAK,UAAU,CAAC,gBAAgB,CAAC,CAAA;AAEpG,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACtD,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,4BAA4B,CAAC,EAAE,2BAA2B,EAAE,CAAA;CAC7D;AAMD,qBAAa,uBAAwB,SAAQ,IAAI,CAAC,oBAAoB,CAAE,YAAW,gBAAgB,EAAE,sBAAsB;IACzH,MAAM,CAAC,eAAe,SAAI;IAC1B,SAAS,CAAC,SAAS,EAAE,sBAAsB,EAAE,CAAK;IAClD,OAAO,CAAC,MAAM,CAA4C;IAC1D,OAAO,CAAC,cAAc,CAAsB;gBAEhC,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,GAAE,oBAAyB;IAS3D,OAAO,KAAK,4BAA4B,GAEvC;IAED,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IACjC,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI;IAUnC,WAAW,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAKnD,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,GAAG,IAAI;IAS5C,cAAc,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAItD,yEAAyE;IACnE,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,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAC3H,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;IACxI,mDAAmD;IAC7C,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAqElI,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,kBAAkB;YAIZ,0BAA0B;YAQ1B,yBAAyB;CAOxC"}
1
+ {"version":3,"file":"CompositeModuleResolver.d.ts","sourceRoot":"","sources":["../../src/CompositeModuleResolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EACL,WAAW,EAEX,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAEhB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAA;AAE5D,MAAM,MAAM,+BAA+B,GAAG,CAAC,EAAE,EAAE,gBAAgB,KAAK,UAAU,CAAC,gBAAgB,CAAC,CAAA;AAEpG,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACtD,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,4BAA4B,CAAC,EAAE,2BAA2B,EAAE,CAAA;CAC7D;AAMD,qBAAa,uBAAwB,SAAQ,sBAAsB,CAAC,oBAAoB,CAAE,YAAW,gBAAgB,EAAE,sBAAsB;IAC3I,MAAM,CAAC,eAAe,SAAI;IAC1B,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAA;IAC5D,SAAS,CAAC,SAAS,EAAE,sBAAsB,EAAE,CAAK;IAClD,OAAO,CAAC,cAAc,CAAsB;gBAEhC,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,GAAE,oBAAyB;IAS3D,OAAO,KAAK,4BAA4B,GAEvC;IAED,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IACjC,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI;IAUnC,WAAW,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAKnD,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,GAAG,IAAI;IAS5C,cAAc,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAKhD,cAAc,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAC5D,UAAU,GAAE,YAAY,CAAC,CAAC,CAAC,GAAG,gBAAsB,EACpD,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC/B,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;IAiE/B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,kBAAkB;YAIZ,0BAA0B;YAQ1B,yBAAyB;CAOxC"}
@@ -1,19 +1,17 @@
1
1
  import { Address } from '@xylabs/hex';
2
2
  import { Promisable } from '@xylabs/promise';
3
- import { ModuleFilter, ModuleFilterOptions, ModuleIdentifier, ModuleInstance, ModuleRepository, ModuleResolver, ModuleResolverInstance } from '@xyo-network/module-model';
4
- export declare class SimpleModuleResolver implements ModuleRepository, ModuleResolver {
3
+ import { ModuleFilter, ModuleFilterOptions, ModuleInstance, ModuleRepository, ModuleResolverInstance } from '@xyo-network/module-model';
4
+ import { AbstractModuleResolver } from './AbstractModuleResolver';
5
+ export declare class SimpleModuleResolver extends AbstractModuleResolver implements ModuleRepository {
5
6
  private addressToName;
6
7
  private modules;
8
+ constructor();
7
9
  add(module: ModuleInstance): this;
8
10
  add(module: ModuleInstance[]): this;
9
11
  addResolver(_resolver: ModuleResolverInstance): this;
10
12
  remove(address: Address | Address[]): this;
11
13
  removeResolver(_resolver: ModuleResolverInstance): this;
12
- resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promisable<T[]>;
13
- resolve<T extends ModuleInstance = ModuleInstance>(filter: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promisable<T[]>;
14
- resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promisable<T | undefined>;
15
- /** @deprecated use '*' if trying to resolve all */
16
- resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promisable<T[]>;
14
+ resolveHandler<T extends ModuleInstance = ModuleInstance>(idOrFilter?: ModuleFilter<T> | string, options?: ModuleFilterOptions<T>): Promisable<T[] | T | undefined>;
17
15
  private addSingleModule;
18
16
  private removeSingleModule;
19
17
  private resolveByAddress;
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleModuleResolver.d.ts","sourceRoot":"","sources":["../../src/SimpleModuleResolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAa,MAAM,aAAa,CAAA;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAKL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EAEd,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EACvB,MAAM,2BAA2B,CAAA;AAGlC,qBAAa,oBAAqB,YAAW,gBAAgB,EAAE,cAAc;IAC3E,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,OAAO,CAAsC;IAErD,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IACjC,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI;IAUnC,WAAW,CAAC,SAAS,EAAE,sBAAsB,GAAG,IAAI;IAIpD,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI;IAS1C,cAAc,CAAC,SAAS,EAAE,sBAAsB,GAAG,IAAI;IAIvD,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC;IAC/G,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC;IAC9H,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC;IACrI,mDAAmD;IACnD,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC;IA6C/H,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,cAAc;CAevB"}
1
+ {"version":3,"file":"SimpleModuleResolver.d.ts","sourceRoot":"","sources":["../../src/SimpleModuleResolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAa,MAAM,aAAa,CAAA;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAKL,YAAY,EACZ,mBAAmB,EAEnB,cAAc,EAEd,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAGjE,qBAAa,oBAAqB,SAAQ,sBAAuB,YAAW,gBAAgB;IAC1F,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,OAAO,CAAsC;;IAMrD,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IACjC,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI;IAUnC,WAAW,CAAC,SAAS,EAAE,sBAAsB,GAAG,IAAI;IAIpD,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI;IAS1C,cAAc,CAAC,SAAS,EAAE,sBAAsB,GAAG,IAAI;IAIvD,cAAc,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EACtD,UAAU,GAAE,YAAY,CAAC,CAAC,CAAC,GAAG,MAAY,EAC1C,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC/B,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;IAyClC,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,cAAc;CAevB"}
@@ -1,19 +1,17 @@
1
1
  import { Address } from '@xylabs/hex';
2
2
  import { Promisable } from '@xylabs/promise';
3
- import { ModuleFilter, ModuleFilterOptions, ModuleIdentifier, ModuleInstance, ModuleRepository, ModuleResolver, ModuleResolverInstance } from '@xyo-network/module-model';
4
- export declare class SimpleModuleResolver implements ModuleRepository, ModuleResolver {
3
+ import { ModuleFilter, ModuleFilterOptions, ModuleInstance, ModuleRepository, ModuleResolverInstance } from '@xyo-network/module-model';
4
+ import { AbstractModuleResolver } from './AbstractModuleResolver';
5
+ export declare class SimpleModuleResolver extends AbstractModuleResolver implements ModuleRepository {
5
6
  private addressToName;
6
7
  private modules;
8
+ constructor();
7
9
  add(module: ModuleInstance): this;
8
10
  add(module: ModuleInstance[]): this;
9
11
  addResolver(_resolver: ModuleResolverInstance): this;
10
12
  remove(address: Address | Address[]): this;
11
13
  removeResolver(_resolver: ModuleResolverInstance): this;
12
- resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promisable<T[]>;
13
- resolve<T extends ModuleInstance = ModuleInstance>(filter: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promisable<T[]>;
14
- resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promisable<T | undefined>;
15
- /** @deprecated use '*' if trying to resolve all */
16
- resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promisable<T[]>;
14
+ resolveHandler<T extends ModuleInstance = ModuleInstance>(idOrFilter?: ModuleFilter<T> | string, options?: ModuleFilterOptions<T>): Promisable<T[] | T | undefined>;
17
15
  private addSingleModule;
18
16
  private removeSingleModule;
19
17
  private resolveByAddress;
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleModuleResolver.d.ts","sourceRoot":"","sources":["../../src/SimpleModuleResolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAa,MAAM,aAAa,CAAA;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAKL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EAEd,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EACvB,MAAM,2BAA2B,CAAA;AAGlC,qBAAa,oBAAqB,YAAW,gBAAgB,EAAE,cAAc;IAC3E,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,OAAO,CAAsC;IAErD,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IACjC,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI;IAUnC,WAAW,CAAC,SAAS,EAAE,sBAAsB,GAAG,IAAI;IAIpD,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI;IAS1C,cAAc,CAAC,SAAS,EAAE,sBAAsB,GAAG,IAAI;IAIvD,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC;IAC/G,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC;IAC9H,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC;IACrI,mDAAmD;IACnD,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC;IA6C/H,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,cAAc;CAevB"}
1
+ {"version":3,"file":"SimpleModuleResolver.d.ts","sourceRoot":"","sources":["../../src/SimpleModuleResolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAa,MAAM,aAAa,CAAA;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAKL,YAAY,EACZ,mBAAmB,EAEnB,cAAc,EAEd,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAGjE,qBAAa,oBAAqB,SAAQ,sBAAuB,YAAW,gBAAgB;IAC1F,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,OAAO,CAAsC;;IAMrD,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IACjC,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI;IAUnC,WAAW,CAAC,SAAS,EAAE,sBAAsB,GAAG,IAAI;IAIpD,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI;IAS1C,cAAc,CAAC,SAAS,EAAE,sBAAsB,GAAG,IAAI;IAIvD,cAAc,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EACtD,UAAU,GAAE,YAAY,CAAC,CAAC,CAAC,GAAG,MAAY,EAC1C,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC/B,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;IAyClC,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,cAAc;CAevB"}
@@ -1,19 +1,17 @@
1
1
  import { Address } from '@xylabs/hex';
2
2
  import { Promisable } from '@xylabs/promise';
3
- import { ModuleFilter, ModuleFilterOptions, ModuleIdentifier, ModuleInstance, ModuleRepository, ModuleResolver, ModuleResolverInstance } from '@xyo-network/module-model';
4
- export declare class SimpleModuleResolver implements ModuleRepository, ModuleResolver {
3
+ import { ModuleFilter, ModuleFilterOptions, ModuleInstance, ModuleRepository, ModuleResolverInstance } from '@xyo-network/module-model';
4
+ import { AbstractModuleResolver } from './AbstractModuleResolver';
5
+ export declare class SimpleModuleResolver extends AbstractModuleResolver implements ModuleRepository {
5
6
  private addressToName;
6
7
  private modules;
8
+ constructor();
7
9
  add(module: ModuleInstance): this;
8
10
  add(module: ModuleInstance[]): this;
9
11
  addResolver(_resolver: ModuleResolverInstance): this;
10
12
  remove(address: Address | Address[]): this;
11
13
  removeResolver(_resolver: ModuleResolverInstance): this;
12
- resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promisable<T[]>;
13
- resolve<T extends ModuleInstance = ModuleInstance>(filter: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promisable<T[]>;
14
- resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promisable<T | undefined>;
15
- /** @deprecated use '*' if trying to resolve all */
16
- resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promisable<T[]>;
14
+ resolveHandler<T extends ModuleInstance = ModuleInstance>(idOrFilter?: ModuleFilter<T> | string, options?: ModuleFilterOptions<T>): Promisable<T[] | T | undefined>;
17
15
  private addSingleModule;
18
16
  private removeSingleModule;
19
17
  private resolveByAddress;
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleModuleResolver.d.ts","sourceRoot":"","sources":["../../src/SimpleModuleResolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAa,MAAM,aAAa,CAAA;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAKL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EAEd,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EACvB,MAAM,2BAA2B,CAAA;AAGlC,qBAAa,oBAAqB,YAAW,gBAAgB,EAAE,cAAc;IAC3E,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,OAAO,CAAsC;IAErD,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IACjC,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI;IAUnC,WAAW,CAAC,SAAS,EAAE,sBAAsB,GAAG,IAAI;IAIpD,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI;IAS1C,cAAc,CAAC,SAAS,EAAE,sBAAsB,GAAG,IAAI;IAIvD,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC;IAC/G,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC;IAC9H,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC;IACrI,mDAAmD;IACnD,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC;IA6C/H,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,cAAc;CAevB"}
1
+ {"version":3,"file":"SimpleModuleResolver.d.ts","sourceRoot":"","sources":["../../src/SimpleModuleResolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAa,MAAM,aAAa,CAAA;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAKL,YAAY,EACZ,mBAAmB,EAEnB,cAAc,EAEd,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAGjE,qBAAa,oBAAqB,SAAQ,sBAAuB,YAAW,gBAAgB;IAC1F,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,OAAO,CAAsC;;IAMrD,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IACjC,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI;IAUnC,WAAW,CAAC,SAAS,EAAE,sBAAsB,GAAG,IAAI;IAIpD,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI;IAS1C,cAAc,CAAC,SAAS,EAAE,sBAAsB,GAAG,IAAI;IAIvD,cAAc,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EACtD,UAAU,GAAE,YAAY,CAAC,CAAC,CAAC,GAAG,MAAY,EAC1C,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC/B,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;IAyClC,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,cAAc;CAevB"}
@@ -27,23 +27,60 @@ __export(src_exports, {
27
27
  module.exports = __toCommonJS(src_exports);
28
28
 
29
29
  // src/CompositeModuleResolver.ts
30
- var import_assert2 = require("@xylabs/assert");
30
+ var import_assert3 = require("@xylabs/assert");
31
31
  var import_exists = require("@xylabs/exists");
32
- var import_object = require("@xylabs/object");
33
- var import_module_model2 = require("@xyo-network/module-model");
32
+ var import_module_model3 = require("@xyo-network/module-model");
34
33
  var import_lru_cache = require("lru-cache");
35
34
 
36
- // src/SimpleModuleResolver.ts
35
+ // src/AbstractModuleResolver.ts
37
36
  var import_assert = require("@xylabs/assert");
37
+ var import_object = require("@xylabs/object");
38
+ var import_module_model = require("@xyo-network/module-model");
39
+ var AbstractModuleResolver = class extends import_object.Base {
40
+ static {
41
+ __name(this, "AbstractModuleResolver");
42
+ }
43
+ async resolve(idOrFilter = "*", options) {
44
+ if (idOrFilter === "*") {
45
+ const values = await this.resolveHandler(idOrFilter, options);
46
+ (0, import_assert.assertEx)(Array.isArray(values), () => "resolveHandler returned a non-array");
47
+ return values.map((value) => (0, import_module_model.asModuleInstance)(value, () => {
48
+ return `resolveHandler returned invalid result (*) [${value?.constructor?.name}][${(0, import_object.toJsonString)(value)}]`;
49
+ }));
50
+ }
51
+ switch (typeof idOrFilter) {
52
+ case "string": {
53
+ const value = await this.resolveHandler(idOrFilter, options);
54
+ return (0, import_module_model.asModuleInstance)(value, () => (
55
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
56
+ `resolveHandler returned invalid result (string) [${value?.constructor?.name}][${(0, import_object.toJsonString)(value)}]`
57
+ ));
58
+ }
59
+ default: {
60
+ const values = await this.resolveHandler(idOrFilter, options);
61
+ (0, import_assert.assertEx)(Array.isArray(values), () => "resolveHandler returned a non-array");
62
+ return values.map((value) => (0, import_module_model.asModuleInstance)(value, () => {
63
+ return `resolveHandler returned invalid result (filter) [${value?.constructor?.name}][${(0, import_object.toJsonString)(value)}]`;
64
+ }));
65
+ }
66
+ }
67
+ }
68
+ };
69
+
70
+ // src/SimpleModuleResolver.ts
71
+ var import_assert2 = require("@xylabs/assert");
38
72
  var import_hex = require("@xylabs/hex");
39
73
  var import_lodash = require("@xylabs/lodash");
40
- var import_module_model = require("@xyo-network/module-model");
41
- var SimpleModuleResolver = class {
74
+ var import_module_model2 = require("@xyo-network/module-model");
75
+ var SimpleModuleResolver = class extends AbstractModuleResolver {
42
76
  static {
43
77
  __name(this, "SimpleModuleResolver");
44
78
  }
45
79
  addressToName = {};
46
80
  modules = {};
81
+ constructor() {
82
+ super({});
83
+ }
47
84
  add(module2) {
48
85
  if (Array.isArray(module2)) {
49
86
  for (const mod of module2)
@@ -68,7 +105,7 @@ var SimpleModuleResolver = class {
68
105
  removeResolver(_resolver) {
69
106
  throw "Removing resolvers not supported";
70
107
  }
71
- resolve(idOrFilter = "*", options) {
108
+ resolveHandler(idOrFilter = "*", options) {
72
109
  const unfiltered = (() => {
73
110
  if (idOrFilter) {
74
111
  if (typeof idOrFilter === "string") {
@@ -76,9 +113,9 @@ var SimpleModuleResolver = class {
76
113
  return Object.values(this.modules);
77
114
  }
78
115
  const id = idOrFilter;
79
- const name = (0, import_module_model.isModuleName)(id) ? id : void 0;
116
+ const name = (0, import_module_model2.isModuleName)(id) ? id : void 0;
80
117
  const address = (0, import_hex.isAddress)(id) ? id : void 0;
81
- (0, import_assert.assertEx)(name || address, () => "module identifier must be a ModuleName or Address");
118
+ (0, import_assert2.assertEx)(name || address, () => "module identifier must be a ModuleName or Address");
82
119
  return (name ? this.resolveByName(Object.values(this.modules), [
83
120
  name
84
121
  ]).pop() : void 0) ?? (address ? this.resolveByAddress(this.modules, [
@@ -86,11 +123,11 @@ var SimpleModuleResolver = class {
86
123
  ]).pop() : void 0);
87
124
  } else {
88
125
  const filter = idOrFilter;
89
- if ((0, import_module_model.isAddressModuleFilter)(filter)) {
126
+ if ((0, import_module_model2.isAddressModuleFilter)(filter)) {
90
127
  return this.resolveByAddress(this.modules, filter.address);
91
- } else if ((0, import_module_model.isNameModuleFilter)(filter)) {
128
+ } else if ((0, import_module_model2.isNameModuleFilter)(filter)) {
92
129
  return this.resolveByName(Object.values(this.modules), filter.name);
93
- } else if ((0, import_module_model.isQueryModuleFilter)(filter)) {
130
+ } else if ((0, import_module_model2.isQueryModuleFilter)(filter)) {
94
131
  return this.resolveByQuery(Object.values(this.modules), filter.query);
95
132
  }
96
133
  }
@@ -111,7 +148,7 @@ var SimpleModuleResolver = class {
111
148
  }
112
149
  }
113
150
  removeSingleModule(address) {
114
- (0, import_assert.assertEx)((0, import_hex.isAddress)(address), () => "Invalid address");
151
+ (0, import_assert2.assertEx)((0, import_hex.isAddress)(address), () => "Invalid address");
115
152
  if (address && this.modules[address]) {
116
153
  delete this.modules[address];
117
154
  const name = this.addressToName[address];
@@ -147,13 +184,13 @@ var SimpleModuleResolver = class {
147
184
  var moduleIdentifierParts = /* @__PURE__ */ __name((moduleIdentifier) => {
148
185
  return moduleIdentifier?.split(":");
149
186
  }, "moduleIdentifierParts");
150
- var CompositeModuleResolver = class _CompositeModuleResolver extends import_object.Base {
187
+ var CompositeModuleResolver = class _CompositeModuleResolver extends AbstractModuleResolver {
151
188
  static {
152
189
  __name(this, "CompositeModuleResolver");
153
190
  }
154
191
  static defaultMaxDepth = 5;
155
- resolvers = [];
156
192
  _cache;
193
+ resolvers = [];
157
194
  _localResolver;
158
195
  constructor({ cache, ...params } = {}) {
159
196
  super(params);
@@ -200,7 +237,7 @@ var CompositeModuleResolver = class _CompositeModuleResolver extends import_obje
200
237
  this.resolvers = this.resolvers.filter((item) => item !== resolver);
201
238
  return this;
202
239
  }
203
- async resolve(idOrFilter = "*", options) {
240
+ async resolveHandler(idOrFilter = "*", options) {
204
241
  const mutatedOptions = {
205
242
  ...options,
206
243
  maxDepth: (options?.maxDepth ?? _CompositeModuleResolver.defaultMaxDepth) - 1
@@ -215,7 +252,7 @@ var CompositeModuleResolver = class _CompositeModuleResolver extends import_obje
215
252
  return result2;
216
253
  }));
217
254
  const flatResult = result.flat().filter(import_exists.exists);
218
- return flatResult.filter(import_module_model2.duplicateModules);
255
+ return flatResult.filter(import_module_model3.duplicateModules);
219
256
  }
220
257
  if (typeof idOrFilter === "string") {
221
258
  const idParts = moduleIdentifierParts(idOrFilter);
@@ -238,7 +275,7 @@ var CompositeModuleResolver = class _CompositeModuleResolver extends import_obje
238
275
  const result2 = await resolver.resolve(id, mutatedOptions);
239
276
  return result2;
240
277
  }));
241
- const result = results.filter(import_exists.exists).filter(import_module_model2.duplicateModules).pop();
278
+ const result = results.filter(import_exists.exists).filter(import_module_model3.duplicateModules).pop();
242
279
  if (result) {
243
280
  this._cache.set(id, result);
244
281
  }
@@ -253,7 +290,7 @@ var CompositeModuleResolver = class _CompositeModuleResolver extends import_obje
253
290
  return result2;
254
291
  }));
255
292
  const flatResult = result.flat().filter(import_exists.exists);
256
- return flatResult.filter(import_module_model2.duplicateModules);
293
+ return flatResult.filter(import_module_model3.duplicateModules);
257
294
  }
258
295
  }
259
296
  addSingleModule(module2) {
@@ -266,8 +303,8 @@ var CompositeModuleResolver = class _CompositeModuleResolver extends import_obje
266
303
  }
267
304
  async resolveMultipartIdentifier(moduleIdentifier) {
268
305
  const idParts = moduleIdentifierParts(moduleIdentifier);
269
- (0, import_assert2.assertEx)(idParts.length >= 2, () => "Not a valid multipart identifier");
270
- const id = (0, import_assert2.assertEx)(idParts.shift());
306
+ (0, import_assert3.assertEx)(idParts.length >= 2, () => "Not a valid multipart identifier");
307
+ const id = (0, import_assert3.assertEx)(idParts.shift());
271
308
  const module2 = await this.resolve(id);
272
309
  return await module2?.resolve(idParts.join(":"));
273
310
  }