@xyo-network/module-resolver 2.111.2 → 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 (120) hide show
  1. package/dist/neutral/index.d.ts +124 -6
  2. package/package.json +16 -35
  3. package/xy.config.ts +12 -0
  4. package/dist/browser/AbstractModuleResolver.d.cts +0 -36
  5. package/dist/browser/AbstractModuleResolver.d.cts.map +0 -1
  6. package/dist/browser/AbstractModuleResolver.d.mts +0 -36
  7. package/dist/browser/AbstractModuleResolver.d.mts.map +0 -1
  8. package/dist/browser/AbstractModuleResolver.d.ts +0 -36
  9. package/dist/browser/AbstractModuleResolver.d.ts.map +0 -1
  10. package/dist/browser/CompositeModuleResolver.d.cts +0 -34
  11. package/dist/browser/CompositeModuleResolver.d.cts.map +0 -1
  12. package/dist/browser/CompositeModuleResolver.d.mts +0 -34
  13. package/dist/browser/CompositeModuleResolver.d.mts.map +0 -1
  14. package/dist/browser/CompositeModuleResolver.d.ts +0 -34
  15. package/dist/browser/CompositeModuleResolver.d.ts.map +0 -1
  16. package/dist/browser/NameRegistrarTransformer.d.cts +0 -10
  17. package/dist/browser/NameRegistrarTransformer.d.cts.map +0 -1
  18. package/dist/browser/NameRegistrarTransformer.d.mts +0 -10
  19. package/dist/browser/NameRegistrarTransformer.d.mts.map +0 -1
  20. package/dist/browser/NameRegistrarTransformer.d.ts +0 -10
  21. package/dist/browser/NameRegistrarTransformer.d.ts.map +0 -1
  22. package/dist/browser/ResolverEventEmitter.d.cts +0 -22
  23. package/dist/browser/ResolverEventEmitter.d.cts.map +0 -1
  24. package/dist/browser/ResolverEventEmitter.d.mts +0 -22
  25. package/dist/browser/ResolverEventEmitter.d.mts.map +0 -1
  26. package/dist/browser/ResolverEventEmitter.d.ts +0 -22
  27. package/dist/browser/ResolverEventEmitter.d.ts.map +0 -1
  28. package/dist/browser/SimpleModuleResolver.d.cts +0 -26
  29. package/dist/browser/SimpleModuleResolver.d.cts.map +0 -1
  30. package/dist/browser/SimpleModuleResolver.d.mts +0 -26
  31. package/dist/browser/SimpleModuleResolver.d.mts.map +0 -1
  32. package/dist/browser/SimpleModuleResolver.d.ts +0 -26
  33. package/dist/browser/SimpleModuleResolver.d.ts.map +0 -1
  34. package/dist/browser/index.cjs +0 -509
  35. package/dist/browser/index.cjs.map +0 -1
  36. package/dist/browser/index.d.cts +0 -6
  37. package/dist/browser/index.d.cts.map +0 -1
  38. package/dist/browser/index.d.mts +0 -6
  39. package/dist/browser/index.d.mts.map +0 -1
  40. package/dist/browser/index.d.ts +0 -6
  41. package/dist/browser/index.d.ts.map +0 -1
  42. package/dist/browser/index.mjs +0 -488
  43. package/dist/browser/index.mjs.map +0 -1
  44. package/dist/neutral/AbstractModuleResolver.d.cts +0 -36
  45. package/dist/neutral/AbstractModuleResolver.d.cts.map +0 -1
  46. package/dist/neutral/AbstractModuleResolver.d.mts +0 -36
  47. package/dist/neutral/AbstractModuleResolver.d.mts.map +0 -1
  48. package/dist/neutral/AbstractModuleResolver.d.ts +0 -36
  49. package/dist/neutral/AbstractModuleResolver.d.ts.map +0 -1
  50. package/dist/neutral/CompositeModuleResolver.d.cts +0 -34
  51. package/dist/neutral/CompositeModuleResolver.d.cts.map +0 -1
  52. package/dist/neutral/CompositeModuleResolver.d.mts +0 -34
  53. package/dist/neutral/CompositeModuleResolver.d.mts.map +0 -1
  54. package/dist/neutral/CompositeModuleResolver.d.ts +0 -34
  55. package/dist/neutral/CompositeModuleResolver.d.ts.map +0 -1
  56. package/dist/neutral/NameRegistrarTransformer.d.cts +0 -10
  57. package/dist/neutral/NameRegistrarTransformer.d.cts.map +0 -1
  58. package/dist/neutral/NameRegistrarTransformer.d.mts +0 -10
  59. package/dist/neutral/NameRegistrarTransformer.d.mts.map +0 -1
  60. package/dist/neutral/NameRegistrarTransformer.d.ts +0 -10
  61. package/dist/neutral/NameRegistrarTransformer.d.ts.map +0 -1
  62. package/dist/neutral/ResolverEventEmitter.d.cts +0 -22
  63. package/dist/neutral/ResolverEventEmitter.d.cts.map +0 -1
  64. package/dist/neutral/ResolverEventEmitter.d.mts +0 -22
  65. package/dist/neutral/ResolverEventEmitter.d.mts.map +0 -1
  66. package/dist/neutral/ResolverEventEmitter.d.ts +0 -22
  67. package/dist/neutral/ResolverEventEmitter.d.ts.map +0 -1
  68. package/dist/neutral/SimpleModuleResolver.d.cts +0 -26
  69. package/dist/neutral/SimpleModuleResolver.d.cts.map +0 -1
  70. package/dist/neutral/SimpleModuleResolver.d.mts +0 -26
  71. package/dist/neutral/SimpleModuleResolver.d.mts.map +0 -1
  72. package/dist/neutral/SimpleModuleResolver.d.ts +0 -26
  73. package/dist/neutral/SimpleModuleResolver.d.ts.map +0 -1
  74. package/dist/neutral/index.cjs +0 -509
  75. package/dist/neutral/index.cjs.map +0 -1
  76. package/dist/neutral/index.d.cts +0 -6
  77. package/dist/neutral/index.d.cts.map +0 -1
  78. package/dist/neutral/index.d.mts +0 -6
  79. package/dist/neutral/index.d.mts.map +0 -1
  80. package/dist/neutral/index.d.ts.map +0 -1
  81. package/dist/node/AbstractModuleResolver.d.cts +0 -36
  82. package/dist/node/AbstractModuleResolver.d.cts.map +0 -1
  83. package/dist/node/AbstractModuleResolver.d.mts +0 -36
  84. package/dist/node/AbstractModuleResolver.d.mts.map +0 -1
  85. package/dist/node/AbstractModuleResolver.d.ts +0 -36
  86. package/dist/node/AbstractModuleResolver.d.ts.map +0 -1
  87. package/dist/node/CompositeModuleResolver.d.cts +0 -34
  88. package/dist/node/CompositeModuleResolver.d.cts.map +0 -1
  89. package/dist/node/CompositeModuleResolver.d.mts +0 -34
  90. package/dist/node/CompositeModuleResolver.d.mts.map +0 -1
  91. package/dist/node/CompositeModuleResolver.d.ts +0 -34
  92. package/dist/node/CompositeModuleResolver.d.ts.map +0 -1
  93. package/dist/node/NameRegistrarTransformer.d.cts +0 -10
  94. package/dist/node/NameRegistrarTransformer.d.cts.map +0 -1
  95. package/dist/node/NameRegistrarTransformer.d.mts +0 -10
  96. package/dist/node/NameRegistrarTransformer.d.mts.map +0 -1
  97. package/dist/node/NameRegistrarTransformer.d.ts +0 -10
  98. package/dist/node/NameRegistrarTransformer.d.ts.map +0 -1
  99. package/dist/node/ResolverEventEmitter.d.cts +0 -22
  100. package/dist/node/ResolverEventEmitter.d.cts.map +0 -1
  101. package/dist/node/ResolverEventEmitter.d.mts +0 -22
  102. package/dist/node/ResolverEventEmitter.d.mts.map +0 -1
  103. package/dist/node/ResolverEventEmitter.d.ts +0 -22
  104. package/dist/node/ResolverEventEmitter.d.ts.map +0 -1
  105. package/dist/node/SimpleModuleResolver.d.cts +0 -26
  106. package/dist/node/SimpleModuleResolver.d.cts.map +0 -1
  107. package/dist/node/SimpleModuleResolver.d.mts +0 -26
  108. package/dist/node/SimpleModuleResolver.d.mts.map +0 -1
  109. package/dist/node/SimpleModuleResolver.d.ts +0 -26
  110. package/dist/node/SimpleModuleResolver.d.ts.map +0 -1
  111. package/dist/node/index.cjs +0 -521
  112. package/dist/node/index.cjs.map +0 -1
  113. package/dist/node/index.d.cts +0 -6
  114. package/dist/node/index.d.cts.map +0 -1
  115. package/dist/node/index.d.mts +0 -6
  116. package/dist/node/index.d.mts.map +0 -1
  117. package/dist/node/index.d.ts +0 -6
  118. package/dist/node/index.d.ts.map +0 -1
  119. package/dist/node/index.mjs +0 -492
  120. package/dist/node/index.mjs.map +0 -1
@@ -1,26 +0,0 @@
1
- import { Address } from '@xylabs/hex';
2
- import { Promisable } from '@xylabs/promise';
3
- import { ModuleFilter, ModuleFilterOptions, ModuleIdentifier, ModuleInstance, ModuleRepository, ModuleResolverInstance, ObjectFilterOptions } from '@xyo-network/module-model';
4
- import { AbstractModuleResolver, ModuleResolverParams } from './AbstractModuleResolver.ts';
5
- export type SimpleModuleResolverParams = ModuleResolverParams & {
6
- allowNameResolution?: boolean;
7
- };
8
- export declare class SimpleModuleResolver extends AbstractModuleResolver<SimpleModuleResolverParams> implements ModuleRepository {
9
- private modules;
10
- private nameToModule;
11
- constructor(params: SimpleModuleResolverParams);
12
- get allowNameResolution(): boolean;
13
- add(mods: ModuleInstance): this;
14
- add(mods: ModuleInstance[]): this;
15
- addResolver(_resolver: ModuleResolverInstance): this;
16
- remove(address: Address | Address[]): this;
17
- removeResolver(_resolver: ModuleResolverInstance): this;
18
- resolveHandler<T extends ModuleInstance = ModuleInstance>(idOrFilter?: ModuleFilter<T> | string, options?: ModuleFilterOptions<T>): Promisable<T[]>;
19
- resolveIdentifier(id: ModuleIdentifier, _options?: ObjectFilterOptions): Promisable<Address | undefined>;
20
- private addSingleModule;
21
- private removeSingleModule;
22
- private resolveByAddress;
23
- private resolveByName;
24
- private resolveByQuery;
25
- }
26
- //# sourceMappingURL=SimpleModuleResolver.d.ts.map
@@ -1 +0,0 @@
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,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAE1F,MAAM,MAAM,0BAA0B,GAAG,oBAAoB,GAAG;IAC9D,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B,CAAA;AAED,qBAAa,oBAAqB,SAAQ,sBAAsB,CAAC,0BAA0B,CAAE,YAAW,gBAAgB;IACtH,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,YAAY,CAAyC;gBAEjD,MAAM,EAAE,0BAA0B;IAI9C,IAAI,mBAAmB,YAEtB;IAED,GAAG,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAC/B,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI;IAUjC,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,CAAC;IAiDlB,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,mBAAmB,GAAG,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;IAexG,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,cAAc;CAevB"}
@@ -1,26 +0,0 @@
1
- import { Address } from '@xylabs/hex';
2
- import { Promisable } from '@xylabs/promise';
3
- import { ModuleFilter, ModuleFilterOptions, ModuleIdentifier, ModuleInstance, ModuleRepository, ModuleResolverInstance, ObjectFilterOptions } from '@xyo-network/module-model';
4
- import { AbstractModuleResolver, ModuleResolverParams } from './AbstractModuleResolver.ts';
5
- export type SimpleModuleResolverParams = ModuleResolverParams & {
6
- allowNameResolution?: boolean;
7
- };
8
- export declare class SimpleModuleResolver extends AbstractModuleResolver<SimpleModuleResolverParams> implements ModuleRepository {
9
- private modules;
10
- private nameToModule;
11
- constructor(params: SimpleModuleResolverParams);
12
- get allowNameResolution(): boolean;
13
- add(mods: ModuleInstance): this;
14
- add(mods: ModuleInstance[]): this;
15
- addResolver(_resolver: ModuleResolverInstance): this;
16
- remove(address: Address | Address[]): this;
17
- removeResolver(_resolver: ModuleResolverInstance): this;
18
- resolveHandler<T extends ModuleInstance = ModuleInstance>(idOrFilter?: ModuleFilter<T> | string, options?: ModuleFilterOptions<T>): Promisable<T[]>;
19
- resolveIdentifier(id: ModuleIdentifier, _options?: ObjectFilterOptions): Promisable<Address | undefined>;
20
- private addSingleModule;
21
- private removeSingleModule;
22
- private resolveByAddress;
23
- private resolveByName;
24
- private resolveByQuery;
25
- }
26
- //# sourceMappingURL=SimpleModuleResolver.d.ts.map
@@ -1 +0,0 @@
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,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAE1F,MAAM,MAAM,0BAA0B,GAAG,oBAAoB,GAAG;IAC9D,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B,CAAA;AAED,qBAAa,oBAAqB,SAAQ,sBAAsB,CAAC,0BAA0B,CAAE,YAAW,gBAAgB;IACtH,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,YAAY,CAAyC;gBAEjD,MAAM,EAAE,0BAA0B;IAI9C,IAAI,mBAAmB,YAEtB;IAED,GAAG,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAC/B,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI;IAUjC,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,CAAC;IAiDlB,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,mBAAmB,GAAG,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;IAexG,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,cAAc;CAevB"}
@@ -1,26 +0,0 @@
1
- import { Address } from '@xylabs/hex';
2
- import { Promisable } from '@xylabs/promise';
3
- import { ModuleFilter, ModuleFilterOptions, ModuleIdentifier, ModuleInstance, ModuleRepository, ModuleResolverInstance, ObjectFilterOptions } from '@xyo-network/module-model';
4
- import { AbstractModuleResolver, ModuleResolverParams } from './AbstractModuleResolver.ts';
5
- export type SimpleModuleResolverParams = ModuleResolverParams & {
6
- allowNameResolution?: boolean;
7
- };
8
- export declare class SimpleModuleResolver extends AbstractModuleResolver<SimpleModuleResolverParams> implements ModuleRepository {
9
- private modules;
10
- private nameToModule;
11
- constructor(params: SimpleModuleResolverParams);
12
- get allowNameResolution(): boolean;
13
- add(mods: ModuleInstance): this;
14
- add(mods: ModuleInstance[]): this;
15
- addResolver(_resolver: ModuleResolverInstance): this;
16
- remove(address: Address | Address[]): this;
17
- removeResolver(_resolver: ModuleResolverInstance): this;
18
- resolveHandler<T extends ModuleInstance = ModuleInstance>(idOrFilter?: ModuleFilter<T> | string, options?: ModuleFilterOptions<T>): Promisable<T[]>;
19
- resolveIdentifier(id: ModuleIdentifier, _options?: ObjectFilterOptions): Promisable<Address | undefined>;
20
- private addSingleModule;
21
- private removeSingleModule;
22
- private resolveByAddress;
23
- private resolveByName;
24
- private resolveByQuery;
25
- }
26
- //# sourceMappingURL=SimpleModuleResolver.d.ts.map
@@ -1 +0,0 @@
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,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAE1F,MAAM,MAAM,0BAA0B,GAAG,oBAAoB,GAAG;IAC9D,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B,CAAA;AAED,qBAAa,oBAAqB,SAAQ,sBAAsB,CAAC,0BAA0B,CAAE,YAAW,gBAAgB;IACtH,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,YAAY,CAAyC;gBAEjD,MAAM,EAAE,0BAA0B;IAI9C,IAAI,mBAAmB,YAEtB;IAED,GAAG,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAC/B,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI;IAUjC,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,CAAC;IAiDlB,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,mBAAmB,GAAG,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;IAexG,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,cAAc;CAevB"}
@@ -1,509 +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
- AbstractModuleResolver: () => AbstractModuleResolver,
25
- CompositeModuleResolver: () => CompositeModuleResolver,
26
- NameRegistrarTransformer: () => NameRegistrarTransformer,
27
- SimpleModuleResolver: () => SimpleModuleResolver,
28
- mixinResolverEventEmitter: () => mixinResolverEventEmitter
29
- });
30
- module.exports = __toCommonJS(src_exports);
31
-
32
- // src/AbstractModuleResolver.ts
33
- var import_assert = require("@xylabs/assert");
34
- var import_object = require("@xylabs/object");
35
- var import_module_model = require("@xyo-network/module-model");
36
- var AbstractModuleResolver = class extends import_object.Base {
37
- static {
38
- __name(this, "AbstractModuleResolver");
39
- }
40
- get priority() {
41
- return this.params.priority ?? import_module_model.ObjectResolverPriority.Normal;
42
- }
43
- set priority(value) {
44
- this.params.priority = value;
45
- }
46
- get root() {
47
- return (0, import_assert.assertEx)(this.params.root, () => "root is not set");
48
- }
49
- async resolve(idOrFilter = "*", options) {
50
- if (idOrFilter === "*") {
51
- const values = await this.resolveHandler(idOrFilter, options);
52
- (0, import_assert.assertEx)(Array.isArray(values), () => "resolveHandler returned a non-array");
53
- return values.map((value) => (0, import_module_model.asModuleInstance)(value, () => {
54
- return `resolveHandler returned invalid result (*) [${value?.constructor?.name}][${(0, import_object.toJsonString)(value)}]`;
55
- }));
56
- }
57
- switch (typeof idOrFilter) {
58
- case "string": {
59
- const [value] = await this.resolveHandler(idOrFilter, options);
60
- return (0, import_module_model.asModuleInstance)(value, () => (
61
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
62
- `resolveHandler returned invalid result (string) [${value?.constructor?.name}][${(0, import_object.toJsonString)(value)}]`
63
- ));
64
- }
65
- default: {
66
- const values = await this.resolveHandler(idOrFilter, options);
67
- (0, import_assert.assertEx)(Array.isArray(values), () => "resolveHandler returned a non-array");
68
- return values.map((value) => (0, import_module_model.asModuleInstance)(value, () => {
69
- return `resolveHandler returned invalid result (filter) [${value?.constructor?.name}][${(0, import_object.toJsonString)(value)}]`;
70
- }));
71
- }
72
- }
73
- }
74
- async resolvePrivate(id, _options) {
75
- if (id === "*") return await Promise.resolve([]);
76
- }
77
- };
78
-
79
- // src/CompositeModuleResolver.ts
80
- var import_assert3 = require("@xylabs/assert");
81
- var import_exists = require("@xylabs/exists");
82
- var import_module_model3 = require("@xyo-network/module-model");
83
- var import_lru_cache = require("lru-cache");
84
-
85
- // src/SimpleModuleResolver.ts
86
- var import_assert2 = require("@xylabs/assert");
87
- var import_hex = require("@xylabs/hex");
88
- var import_lodash = require("@xylabs/lodash");
89
- var import_module_model2 = require("@xyo-network/module-model");
90
- var SimpleModuleResolver = class extends AbstractModuleResolver {
91
- static {
92
- __name(this, "SimpleModuleResolver");
93
- }
94
- modules = {};
95
- nameToModule = {};
96
- constructor(params) {
97
- super(params);
98
- }
99
- get allowNameResolution() {
100
- return this.params.allowNameResolution ?? true;
101
- }
102
- add(mods) {
103
- if (Array.isArray(mods)) {
104
- for (const mod of mods) this.addSingleModule(mod);
105
- } else {
106
- this.addSingleModule(mods);
107
- }
108
- return this;
109
- }
110
- addResolver(_resolver) {
111
- throw "Adding resolvers not supported";
112
- }
113
- remove(address) {
114
- if (Array.isArray(address)) {
115
- for (const addr of address) this.removeSingleModule(addr);
116
- } else {
117
- this.removeSingleModule(address);
118
- }
119
- return this;
120
- }
121
- removeResolver(_resolver) {
122
- throw "Removing resolvers not supported";
123
- }
124
- resolveHandler(idOrFilter = "*", options) {
125
- const unfiltered = (() => {
126
- if (idOrFilter) {
127
- if (typeof idOrFilter === "string") {
128
- if (idOrFilter === "*") {
129
- return Object.values(this.modules);
130
- }
131
- const id = idOrFilter;
132
- const name = (0, import_module_model2.isModuleName)(id) ? id : void 0;
133
- const address = (0, import_hex.isAddress)(id) ? id : void 0;
134
- (0, import_assert2.assertEx)(name || address, () => "module identifier must be a ModuleName or Address");
135
- return (name ? this.resolveByName(Object.values(this.modules), [
136
- name
137
- ]).pop() : void 0) ?? (address ? this.resolveByAddress(this.modules, [
138
- address
139
- ]).pop() : void 0);
140
- } else {
141
- const filter = idOrFilter;
142
- if ((0, import_module_model2.isAddressModuleFilter)(filter)) {
143
- return this.resolveByAddress(this.modules, filter.address);
144
- } else if ((0, import_module_model2.isNameModuleFilter)(filter)) {
145
- return this.resolveByName(Object.values(this.modules), filter.name);
146
- } else if ((0, import_module_model2.isQueryModuleFilter)(filter)) {
147
- return this.resolveByQuery(Object.values(this.modules), filter.query);
148
- }
149
- }
150
- } else {
151
- return Object.values(this.modules);
152
- }
153
- })();
154
- const identity = options?.identity;
155
- if (identity) {
156
- return Array.isArray(unfiltered) ? unfiltered?.filter((mod) => identity(mod)) : identity(unfiltered) ? [
157
- unfiltered
158
- ] : [];
159
- } else {
160
- return unfiltered ? Array.isArray(unfiltered) ? unfiltered : [
161
- unfiltered
162
- ] : [];
163
- }
164
- }
165
- resolveIdentifier(id, _options) {
166
- const moduleFromName = this.nameToModule[id];
167
- if (moduleFromName) {
168
- return moduleFromName.address;
169
- }
170
- for (const mod of Object.values(this.modules)) {
171
- if (mod.address === id) {
172
- return mod.address;
173
- }
174
- }
175
- }
176
- addSingleModule(mod) {
177
- if (mod) {
178
- const modName = mod.modName;
179
- if (modName && this.allowNameResolution) {
180
- (0, import_assert2.assertEx)(this.nameToModule[modName] === void 0, () => `Module with name ${modName} already added`);
181
- this.nameToModule[modName] = mod;
182
- }
183
- this.modules[mod.address] = mod;
184
- }
185
- }
186
- removeSingleModule(address) {
187
- (0, import_assert2.assertEx)((0, import_hex.isAddress)(address), () => "Invalid address");
188
- const mod = (0, import_assert2.assertEx)(this.modules[address], () => "Address not found in modules");
189
- delete this.modules[address];
190
- const modName = mod.modName;
191
- if (modName) {
192
- delete this.nameToModule[modName];
193
- }
194
- }
195
- resolveByAddress(modules, address) {
196
- return (0, import_lodash.compact)(address.map((address2) => {
197
- return modules[address2];
198
- }));
199
- }
200
- resolveByName(modules, name) {
201
- return (0, import_lodash.compact)(name.map((name2) => {
202
- return modules.find((mod) => mod.modName === name2);
203
- }));
204
- }
205
- resolveByQuery(modules, query) {
206
- return (0, import_lodash.compact)(modules.filter((mod) => query?.reduce((supported, queryList) => {
207
- return (
208
- // eslint-disable-next-line unicorn/no-array-reduce
209
- queryList.reduce((supported2, query2) => {
210
- const queryable = mod.queries.includes(query2);
211
- return supported2 && queryable;
212
- }, true) || supported
213
- );
214
- }, false)));
215
- }
216
- };
217
-
218
- // src/CompositeModuleResolver.ts
219
- var moduleIdentifierParts = /* @__PURE__ */ __name((moduleIdentifier) => {
220
- return moduleIdentifier?.split(":");
221
- }, "moduleIdentifierParts");
222
- var CompositeModuleResolver = class _CompositeModuleResolver extends AbstractModuleResolver {
223
- static {
224
- __name(this, "CompositeModuleResolver");
225
- }
226
- static defaultMaxDepth = 3;
227
- _cache;
228
- resolvers = [];
229
- _allowAddResolver = true;
230
- _localResolver;
231
- constructor(params) {
232
- super(params);
233
- const localResolver = new SimpleModuleResolver({
234
- allowNameResolution: params.allowNameResolution,
235
- root: params.root
236
- });
237
- this.addResolver(localResolver);
238
- const {
239
- max = 100,
240
- ttl = 1e3 * 5
241
- /* five seconds */
242
- } = params.cache ?? {};
243
- this._cache = new import_lru_cache.LRUCache({
244
- max,
245
- ttl,
246
- ...params.cache
247
- });
248
- this._localResolver = localResolver;
249
- }
250
- get allowAddResolver() {
251
- return this._allowAddResolver;
252
- }
253
- set allowAddResolver(value) {
254
- this.resolvers = [
255
- this._localResolver
256
- ];
257
- this._allowAddResolver = value;
258
- }
259
- get allowNameResolution() {
260
- return this.params.allowNameResolution ?? true;
261
- }
262
- get moduleIdentifierTransformers() {
263
- return this.params.moduleIdentifierTransformers ?? import_module_model3.ResolveHelper.transformers;
264
- }
265
- add(mod) {
266
- if (Array.isArray(mod)) {
267
- for (const modItem of mod) this.addSingleModule(modItem);
268
- } else {
269
- this.addSingleModule(mod);
270
- }
271
- return this;
272
- }
273
- addResolver(resolver) {
274
- if (this.allowAddResolver) {
275
- this.resolvers.push(resolver);
276
- }
277
- return this;
278
- }
279
- remove(addresses) {
280
- if (Array.isArray(addresses)) {
281
- for (const address of addresses) this.removeSingleModule(address);
282
- } else {
283
- this.removeSingleModule(addresses);
284
- }
285
- return this;
286
- }
287
- removeResolver(resolver) {
288
- this.resolvers = this.resolvers.filter((item) => item !== resolver);
289
- return this;
290
- }
291
- // eslint-disable-next-line complexity
292
- async resolveHandler(idOrFilter = "*", options = {}) {
293
- const mutatedOptions = {
294
- ...options,
295
- maxDepth: options?.maxDepth ?? _CompositeModuleResolver.defaultMaxDepth
296
- };
297
- if (idOrFilter === "*") {
298
- const all = idOrFilter;
299
- if (mutatedOptions.maxDepth < 0) {
300
- return [];
301
- }
302
- if (mutatedOptions.maxDepth === 0) {
303
- return await this._localResolver.resolve(all, mutatedOptions) ?? [];
304
- }
305
- const childOptions = {
306
- ...mutatedOptions,
307
- maxDepth: mutatedOptions?.maxDepth - 1
308
- };
309
- const result = await Promise.all(this.resolvers.map(async (resolver) => {
310
- const result2 = await resolver.resolve(all, childOptions);
311
- return result2;
312
- }));
313
- const flatResult = result.flat().filter(import_exists.exists);
314
- return flatResult.filter(import_module_model3.duplicateModules);
315
- }
316
- if (typeof idOrFilter === "string") {
317
- if (mutatedOptions.maxDepth < 0) {
318
- return [];
319
- }
320
- const idParts = moduleIdentifierParts(idOrFilter);
321
- if (idParts.length > 1) {
322
- const mod = await this.resolveMultipartIdentifier(idOrFilter);
323
- return mod ? Array.isArray(mod) ? mod : [
324
- mod
325
- ] : [];
326
- }
327
- const id = await import_module_model3.ResolveHelper.transformModuleIdentifier(idOrFilter, this.moduleIdentifierTransformers);
328
- if (id) {
329
- if (mutatedOptions.maxDepth < 0) {
330
- return [];
331
- }
332
- const cachedResult = this._cache.get(id);
333
- if (cachedResult) {
334
- if (cachedResult.status === "dead") {
335
- this._cache.delete(id);
336
- } else {
337
- return [
338
- cachedResult
339
- ];
340
- }
341
- }
342
- if (mutatedOptions.maxDepth === 0) {
343
- const mod2 = await this._localResolver.resolve(idOrFilter, mutatedOptions);
344
- return mod2 ? Array.isArray(mod2) ? mod2 : [
345
- mod2
346
- ] : [];
347
- }
348
- const resolvePriority = /* @__PURE__ */ __name(async (priority) => {
349
- const resolvers = this.resolvers.filter((resolver) => resolver.priority === priority);
350
- const results = (await Promise.all(resolvers.map(async (resolver) => {
351
- const result2 = await resolver.resolve(id, mutatedOptions);
352
- return result2;
353
- }))).filter(import_exists.exists);
354
- const result = results.filter(import_exists.exists).findLast(import_module_model3.duplicateModules);
355
- if (result) {
356
- this._cache.set(id, result);
357
- return result;
358
- }
359
- return priority === import_module_model3.ObjectResolverPriority.VeryLow ? void 0 : await resolvePriority(priority - 1);
360
- }, "resolvePriority");
361
- const mod = await resolvePriority(import_module_model3.ObjectResolverPriority.VeryHigh);
362
- return mod ? Array.isArray(mod) ? mod : [
363
- mod
364
- ] : [];
365
- }
366
- } else if (typeof idOrFilter === "object") {
367
- if (mutatedOptions.maxDepth < 0) {
368
- return [];
369
- }
370
- const filter = idOrFilter;
371
- if (mutatedOptions.maxDepth === 0) {
372
- return await this._localResolver.resolve(filter, mutatedOptions);
373
- }
374
- const childOptions = {
375
- ...mutatedOptions,
376
- maxDepth: mutatedOptions?.maxDepth - 1
377
- };
378
- const result = await Promise.all(this.resolvers.map(async (resolver) => {
379
- const result2 = await resolver.resolve(filter, childOptions);
380
- return result2;
381
- }));
382
- const flatResult = result.flat().filter(import_exists.exists);
383
- return flatResult.filter(import_module_model3.duplicateModules);
384
- }
385
- return [];
386
- }
387
- async resolveIdentifier(id, _options) {
388
- const idParts = id.split(":");
389
- if (idParts.length > 1) {
390
- return this.resolveComplexIdentifier(id);
391
- }
392
- const results = (await Promise.all(this.resolvers.map(async (resolver) => {
393
- return await resolver.resolveIdentifier(id);
394
- }))).filter(import_exists.exists);
395
- const result = results.shift();
396
- if (results.length > 0) {
397
- for (const altResult of results) {
398
- (0, import_assert3.assertEx)(altResult === result, () => `Inconsistent results for ${id} [${result}][${altResult}]`);
399
- }
400
- }
401
- return result;
402
- }
403
- resolveComplexIdentifier(_id, _options) {
404
- throw new Error("Method not implemented.");
405
- }
406
- addSingleModule(mod) {
407
- if (mod) {
408
- this._localResolver.add(mod);
409
- }
410
- }
411
- removeSingleModule(address) {
412
- this._localResolver.remove(address);
413
- }
414
- async resolveMultipartIdentifier(moduleIdentifier) {
415
- const idParts = moduleIdentifierParts(moduleIdentifier);
416
- (0, import_assert3.assertEx)(idParts.length >= 2, () => "Not a valid multipart identifier");
417
- const id = (0, import_assert3.assertEx)(idParts.shift());
418
- const mod = await this.resolve(id) ?? await this.resolvePrivate(id);
419
- return await mod?.resolve(idParts.join(":")) ?? await mod?.resolvePrivate(idParts.join(":"));
420
- }
421
- };
422
-
423
- // src/NameRegistrarTransformer.ts
424
- var import_diviner_payload_model = require("@xyo-network/diviner-payload-model");
425
- var import_lru_cache2 = require("lru-cache");
426
- var NameRegistrarTransformer = class {
427
- static {
428
- __name(this, "NameRegistrarTransformer");
429
- }
430
- registrarDiviner;
431
- root;
432
- _cache;
433
- constructor(registrarDiviner, root) {
434
- this.registrarDiviner = registrarDiviner;
435
- this.root = root;
436
- this._cache = new import_lru_cache2.LRUCache({
437
- max: 1e3,
438
- ttl: 1e3 * 5
439
- });
440
- }
441
- async transform(identifier) {
442
- const parts = identifier.split(":");
443
- const first = parts.shift();
444
- const nameParts = first?.split(".");
445
- if (nameParts?.length === 2 && nameParts[1] === this.root) {
446
- const cachedResult = this._cache.get(identifier);
447
- if (cachedResult) return cachedResult;
448
- const query = {
449
- domain: nameParts[0],
450
- order: "desc",
451
- schema: import_diviner_payload_model.PayloadDivinerQuerySchema,
452
- tld: nameParts[1]
453
- };
454
- const result = await this.registrarDiviner?.divine([
455
- query
456
- ]);
457
- const resultPayload = result?.shift();
458
- if (!resultPayload) {
459
- throw new Error(`Unable to resolve registrar name (failed) [${first}]`);
460
- }
461
- if (resultPayload) {
462
- const address = resultPayload.address?.shift();
463
- if (address) {
464
- this._cache.set(identifier, address);
465
- return address;
466
- }
467
- }
468
- throw new Error(`Unable to resolve registrar name (not found) [${first}]`);
469
- }
470
- return identifier;
471
- }
472
- };
473
-
474
- // src/ResolverEventEmitter.ts
475
- var getMixin = /* @__PURE__ */ __name((resolver) => {
476
- const listeners = [];
477
- const emit = /* @__PURE__ */ __name((event, args) => {
478
- if (listeners.length === 0) return false;
479
- for (const listener of listeners) listener(args);
480
- return true;
481
- }, "emit");
482
- const onModuleResolved = /* @__PURE__ */ __name((mod, filter) => {
483
- const args = {
484
- filter,
485
- mod
486
- };
487
- emit("moduleResolved", args);
488
- }, "onModuleResolved");
489
- const { resolve } = resolver;
490
- function originalResolve(filter) {
491
- return resolve.bind(resolver)(filter);
492
- }
493
- __name(originalResolve, "originalResolve");
494
- return {
495
- on: /* @__PURE__ */ __name((event, listener) => {
496
- listeners.push(listener);
497
- }, "on"),
498
- resolve: /* @__PURE__ */ __name(async (filter) => {
499
- const modules = await originalResolve(filter);
500
- await Promise.allSettled(modules.map((mod) => onModuleResolved(mod, filter)));
501
- return modules;
502
- }, "resolve")
503
- };
504
- }, "getMixin");
505
- var mixinResolverEventEmitter = /* @__PURE__ */ __name((resolver) => {
506
- const mixin = getMixin(resolver);
507
- return Object.assign(resolver, mixin);
508
- }, "mixinResolverEventEmitter");
509
- //# sourceMappingURL=index.cjs.map