@xyo-network/module-resolver 4.0.2 → 4.1.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.
@@ -11,7 +11,7 @@ export interface ModuleResolverParams extends BaseParams {
11
11
  export declare abstract class AbstractModuleResolver<TParams extends ModuleResolverParams = ModuleResolverParams> extends Base<TParams> implements ModuleResolverInstance {
12
12
  get priority(): ObjectResolverPriority;
13
13
  set priority(value: ObjectResolverPriority);
14
- get root(): ModuleInstance<import("@xyo-network/module-model").ModuleParams<import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/module-model").ModuleConfig>>, import("@xyo-network/module-model").ModuleEventData<object>>;
14
+ get root(): ModuleInstance<import("@xyo-network/module-model").ModuleParams<import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/module-model").ModuleConfig<object, void>>>, import("@xyo-network/module-model").ModuleEventData<object>>;
15
15
  resolve<T extends ModuleInstance = ModuleInstance>(): Promise<T[]>;
16
16
  resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
17
17
  resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractModuleResolver.d.ts","sourceRoot":"","sources":["../../src/AbstractModuleResolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAEL,sBAAsB,EACvB,MAAM,2BAA2B,CAAA;AAElC,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACtD,QAAQ,CAAC,EAAE,sBAAsB,CAAA;IACjC,IAAI,EAAE,cAAc,CAAA;CACrB;AAED,8BAAsB,sBAAsB,CAAC,OAAO,SAAS,oBAAoB,GAAG,oBAAoB,CACtG,SAAQ,IAAI,CAAC,OAAO,CACpB,YAAW,sBAAsB;IACjC,IAAI,QAAQ,IAIQ,sBAAsB,CAFzC;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,sBAAsB,EAEzC;IAED,IAAI,IAAI,yOAEP;IAEK,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC;IAClE,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,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IA8BlI,cAAc,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IACnH,cAAc,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;IAQ/I,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAC5D,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAE/D,QAAQ,CAAC,cAAc,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAC/D,EAAE,EAAE,gBAAgB,EACpB,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC/B,UAAU,CAAC,CAAC,EAAE,CAAC;IAElB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;CACjH"}
1
+ {"version":3,"file":"AbstractModuleResolver.d.ts","sourceRoot":"","sources":["../../src/AbstractModuleResolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAEL,sBAAsB,EACvB,MAAM,2BAA2B,CAAA;AAElC,MAAM,WAAW,oBAAqB,SAAQ,UAAU;IACtD,QAAQ,CAAC,EAAE,sBAAsB,CAAA;IACjC,IAAI,EAAE,cAAc,CAAA;CACrB;AAED,8BAAsB,sBAAsB,CAAC,OAAO,SAAS,oBAAoB,GAAG,oBAAoB,CACtG,SAAQ,IAAI,CAAC,OAAO,CACpB,YAAW,sBAAsB;IACjC,IAAI,QAAQ,IAIQ,sBAAsB,CAFzC;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,sBAAsB,EAEzC;IAED,IAAI,IAAI,uPAEP;IAEK,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC;IAClE,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,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IA8BlI,cAAc,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IACnH,cAAc,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;IAQ/I,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAC5D,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAE/D,QAAQ,CAAC,cAAc,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAC/D,EAAE,EAAE,gBAAgB,EACpB,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC/B,UAAU,CAAC,CAAC,EAAE,CAAC;IAElB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;CACjH"}
@@ -0,0 +1,97 @@
1
+ import * as _xyo_network_module_model from '@xyo-network/module-model';
2
+ import { ObjectResolverPriority, ModuleInstance, ModuleResolverInstance, ModuleFilterOptions, ModuleIdentifier, ObjectFilterOptions, CacheConfig, ModuleIdentifierTransformer, ModuleRepository, Module, ModuleResolver } from '@xyo-network/module-model';
3
+ import { BaseParams, Base } from '@xylabs/base';
4
+ import { Address } from '@xylabs/hex';
5
+ import { Promisable } from '@xylabs/promise';
6
+ import { LRUCache } from 'lru-cache';
7
+ import { DivinerInstance } from '@xyo-network/diviner-model';
8
+
9
+ interface ModuleResolverParams extends BaseParams {
10
+ priority?: ObjectResolverPriority;
11
+ root: ModuleInstance;
12
+ }
13
+ declare abstract class AbstractModuleResolver<TParams extends ModuleResolverParams = ModuleResolverParams> extends Base<TParams> implements ModuleResolverInstance {
14
+ get priority(): ObjectResolverPriority;
15
+ set priority(value: ObjectResolverPriority);
16
+ get root(): ModuleInstance<_xyo_network_module_model.ModuleParams<_xyo_network_module_model.AnyConfigSchema<_xyo_network_module_model.ModuleConfig<object, void>>>, _xyo_network_module_model.ModuleEventData<object>>;
17
+ resolve<T extends ModuleInstance = ModuleInstance>(): Promise<T[]>;
18
+ resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
19
+ resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
20
+ resolvePrivate<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ObjectFilterOptions<T>): Promise<T[]>;
21
+ resolvePrivate<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ObjectFilterOptions<T>): Promise<T | undefined>;
22
+ abstract addResolver(resolver: ModuleResolverInstance): this;
23
+ abstract removeResolver(resolver: ModuleResolverInstance): this;
24
+ abstract resolveHandler<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promisable<T[]>;
25
+ abstract resolveIdentifier(id: ModuleIdentifier, options?: ObjectFilterOptions): Promisable<Address | undefined>;
26
+ }
27
+
28
+ interface CompositeModuleResolverParams extends ModuleResolverParams {
29
+ allowNameResolution?: boolean;
30
+ cache?: CacheConfig;
31
+ moduleIdentifierTransformers?: ModuleIdentifierTransformer[];
32
+ }
33
+ declare class CompositeModuleResolver<T extends CompositeModuleResolverParams = CompositeModuleResolverParams> extends AbstractModuleResolver<T> implements ModuleRepository, ModuleResolverInstance {
34
+ static readonly defaultMaxDepth = 3;
35
+ protected _cache: LRUCache<ModuleIdentifier, ModuleInstance>;
36
+ protected resolvers: ModuleResolverInstance[];
37
+ private _allowAddResolver;
38
+ private _localResolver;
39
+ constructor(params: T);
40
+ get allowAddResolver(): boolean;
41
+ set allowAddResolver(value: boolean);
42
+ get allowNameResolution(): boolean;
43
+ private get moduleIdentifierTransformers();
44
+ add(mod: ModuleInstance): this;
45
+ add(mod: ModuleInstance[]): this;
46
+ addResolver(resolver: ModuleResolverInstance): this;
47
+ remove(addresses: Address[] | Address): this;
48
+ removeResolver(resolver: ModuleResolverInstance): this;
49
+ resolveHandler<T extends ModuleInstance = ModuleInstance>(id?: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T[]>;
50
+ resolveIdentifier(id: ModuleIdentifier, _options?: ObjectFilterOptions): Promise<Address | undefined>;
51
+ protected resolveComplexIdentifier(_id: ModuleIdentifier, _options?: ObjectFilterOptions): Promisable<Address | undefined>;
52
+ private addSingleModule;
53
+ private removeSingleModule;
54
+ private resolveMultipartIdentifier;
55
+ }
56
+
57
+ declare class NameRegistrarTransformer implements ModuleIdentifierTransformer {
58
+ private registrarDiviner;
59
+ private root;
60
+ private _cache;
61
+ constructor(registrarDiviner: DivinerInstance, root: string);
62
+ transform(identifier: ModuleIdentifier): Promise<ModuleIdentifier>;
63
+ }
64
+
65
+ interface ModuleResolvedEventArgs {
66
+ id?: ModuleIdentifier;
67
+ mod: Module;
68
+ }
69
+ interface ResolverEventEmitter {
70
+ on(event: 'moduleResolved', listener: (args: ModuleResolvedEventArgs) => void): void;
71
+ }
72
+ declare const mixinResolverEventEmitter: <T extends ModuleResolver = ModuleResolver>(resolver: T) => T & ResolverEventEmitter;
73
+
74
+ type SimpleModuleResolverParams = ModuleResolverParams & {
75
+ allowNameResolution?: boolean;
76
+ };
77
+ declare class SimpleModuleResolver extends AbstractModuleResolver<SimpleModuleResolverParams> implements ModuleRepository {
78
+ private modules;
79
+ private nameToModule;
80
+ constructor(params: SimpleModuleResolverParams);
81
+ get allowNameResolution(): boolean;
82
+ add(mods: ModuleInstance): this;
83
+ add(mods: ModuleInstance[]): this;
84
+ addResolver(_resolver: ModuleResolverInstance): this;
85
+ remove(address: Address | Address[]): this;
86
+ removeResolver(_resolver: ModuleResolverInstance): this;
87
+ resolveHandler<T extends ModuleInstance = ModuleInstance>(id?: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promisable<T[]>;
88
+ resolveIdentifier(id: ModuleIdentifier, _options?: ObjectFilterOptions): Promisable<Address | undefined>;
89
+ private addSingleModule;
90
+ private removeSingleModule;
91
+ private resolveByAddress;
92
+ private resolveByName;
93
+ private resolveByQuery;
94
+ }
95
+
96
+ export { AbstractModuleResolver, CompositeModuleResolver, NameRegistrarTransformer, SimpleModuleResolver, mixinResolverEventEmitter };
97
+ export type { CompositeModuleResolverParams, ModuleResolvedEventArgs, ModuleResolverParams, ResolverEventEmitter, SimpleModuleResolverParams };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/module-resolver",
3
- "version": "4.0.2",
3
+ "version": "4.1.0",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -21,30 +21,30 @@
21
21
  "type": "module",
22
22
  "exports": {
23
23
  ".": {
24
- "types": "./dist/types/index.d.ts",
24
+ "types": "./dist/neutral/index.d.ts",
25
25
  "default": "./dist/neutral/index.mjs"
26
26
  },
27
27
  "./package.json": "./package.json"
28
28
  },
29
29
  "module": "dist/neutral/index.mjs",
30
- "types": "dist/types/index.d.ts",
30
+ "types": "dist/neutral/index.d.ts",
31
31
  "dependencies": {
32
- "@xylabs/assert": "^4.12.33",
33
- "@xylabs/base": "^4.12.33",
34
- "@xylabs/exists": "^4.12.33",
35
- "@xylabs/hex": "^4.12.33",
36
- "@xylabs/object": "^4.12.33",
37
- "@xylabs/promise": "^4.12.33",
38
- "@xylabs/typeof": "^4.12.33",
39
- "@xyo-network/diviner-model": "^4.0.2",
40
- "@xyo-network/diviner-payload-model": "^4.0.2",
41
- "@xyo-network/module-model": "^4.0.2",
32
+ "@xylabs/assert": "^4.13.15",
33
+ "@xylabs/base": "^4.13.15",
34
+ "@xylabs/exists": "^4.13.15",
35
+ "@xylabs/hex": "^4.13.15",
36
+ "@xylabs/object": "^4.13.15",
37
+ "@xylabs/promise": "^4.13.15",
38
+ "@xylabs/typeof": "^4.13.15",
39
+ "@xyo-network/diviner-model": "^4.1.0",
40
+ "@xyo-network/diviner-payload-model": "^4.1.0",
41
+ "@xyo-network/module-model": "^4.1.0",
42
42
  "lru-cache": "^11.1.0"
43
43
  },
44
44
  "devDependencies": {
45
- "@xylabs/ts-scripts-yarn3": "^6.5.12",
46
- "@xylabs/tsconfig": "^6.5.12",
47
- "@xylabs/vitest-extended": "^4.12.33",
45
+ "@xylabs/ts-scripts-yarn3": "^7.0.0-rc.20",
46
+ "@xylabs/tsconfig": "^7.0.0-rc.20",
47
+ "@xylabs/vitest-extended": "^4.13.15",
48
48
  "typescript": "^5.8.3",
49
49
  "vitest": "^3.2.4"
50
50
  },
File without changes
File without changes