@xyo-network/module-wrapper 4.0.3 → 4.1.1

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.
@@ -49,7 +49,7 @@ export declare class ModuleWrapper<TWrappedModule extends Module = Module> exten
49
49
  get status(): ModuleStatus;
50
50
  get upResolver(): ModuleResolverInstance;
51
51
  protected set status(value: ModuleStatus);
52
- static canWrap(mod?: Module): mod is Module<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>>;
52
+ static canWrap(mod?: Module): mod is Module<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>>;
53
53
  static hasRequiredQueries(mod: Module): void;
54
54
  static is<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, wrapper: any): wrapper is TModuleWrapper;
55
55
  static missingRequiredQueries(mod: Module): string[];
@@ -0,0 +1,106 @@
1
+ import { BaseParams, Base } from '@xylabs/base';
2
+ import { AccountInstance } from '@xyo-network/account-model';
3
+ import * as _xyo_network_module_model from '@xyo-network/module-model';
4
+ import { Module, AttachableModuleInstance, InstanceTypeCheck, ModuleTypeCheck, ModuleResolverInstance, ModuleStatus, ModuleInstance, AddressPreviousHashPayload, ModuleQueryResult, ModuleFilterOptions, ModuleIdentifier } from '@xyo-network/module-model';
5
+ import * as _xylabs_events from '@xylabs/events';
6
+ import { EventListener, EventAnyListener } from '@xylabs/events';
7
+ import { Address } from '@xylabs/hex';
8
+ import { Logger } from '@xylabs/logger';
9
+ import { Promisable, PromiseEx } from '@xylabs/promise';
10
+ import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
11
+ import { ModuleManifestPayload } from '@xyo-network/manifest-model';
12
+ import { Payload, Query, ModuleError } from '@xyo-network/payload-model';
13
+ import { LRUCache } from 'lru-cache';
14
+
15
+ type ModuleWrapperParams<TWrappedModule extends Module = Module> = BaseParams<{
16
+ account: AccountInstance;
17
+ additionalSigners?: AccountInstance[];
18
+ mod: TWrappedModule;
19
+ }>;
20
+
21
+ type ConstructableModuleWrapper<TWrapper extends ModuleWrapper> = {
22
+ defaultLogger?: Logger;
23
+ instanceIdentityCheck: InstanceTypeCheck;
24
+ moduleIdentityCheck: ModuleTypeCheck;
25
+ requiredQueries: string[];
26
+ new (params: ModuleWrapperParams<TWrapper['mod']>): TWrapper;
27
+ canWrap(mod: Module | undefined): boolean;
28
+ is<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, wrapper?: any): wrapper is TModuleWrapper;
29
+ tryWrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, mod: Module | undefined, account: AccountInstance, checkIdentity?: boolean): TModuleWrapper | undefined;
30
+ wrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, mod: Module | undefined, account: AccountInstance, checkIdentity?: boolean): TModuleWrapper;
31
+ };
32
+ declare function constructableModuleWrapper<TWrapper extends ModuleWrapper>(): <U extends ConstructableModuleWrapper<TWrapper>>(constructor: U) => void;
33
+ declare class ModuleWrapper<TWrappedModule extends Module = Module> extends Base<Exclude<Omit<TWrappedModule['params'], 'config'> & {
34
+ config: Exclude<TWrappedModule['params']['config'], undefined>;
35
+ }, undefined>> implements AttachableModuleInstance<TWrappedModule['params'], TWrappedModule['eventData']> {
36
+ static readonly instanceIdentityCheck: InstanceTypeCheck;
37
+ static readonly moduleIdentityCheck: ModuleTypeCheck;
38
+ static readonly requiredQueries: string[];
39
+ eventData: TWrappedModule["eventData"];
40
+ protected readonly cachedCalls: LRUCache<string, Payload[], unknown>;
41
+ protected readonly wrapperParams: ModuleWrapperParams<TWrappedModule>;
42
+ private _parents;
43
+ private _status;
44
+ constructor(params: ModuleWrapperParams<TWrappedModule>);
45
+ get account(): AccountInstance;
46
+ get additionalSigners(): AccountInstance[];
47
+ get address(): Lowercase<string>;
48
+ get config(): Exclude<TWrappedModule["params"]["config"], undefined>;
49
+ get downResolver(): ModuleResolverInstance;
50
+ get id(): string;
51
+ get mod(): TWrappedModule;
52
+ get modName(): string | undefined;
53
+ get name(): string;
54
+ get priority(): 1;
55
+ get privateResolver(): ModuleResolverInstance;
56
+ get queries(): string[];
57
+ get status(): ModuleStatus;
58
+ get upResolver(): ModuleResolverInstance;
59
+ protected set status(value: ModuleStatus);
60
+ static canWrap(mod?: Module): mod is Module<_xyo_network_module_model.ModuleParams<_xyo_network_module_model.AnyConfigSchema<_xyo_network_module_model.ModuleConfig<object, void>>>, _xyo_network_module_model.ModuleEventData<object>>;
61
+ static hasRequiredQueries(mod: Module): void;
62
+ static is<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, wrapper: any): wrapper is TModuleWrapper;
63
+ static missingRequiredQueries(mod: Module): string[];
64
+ static tryWrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, mod: Module | undefined, account: AccountInstance, checkIdentity?: boolean): TModuleWrapper | undefined;
65
+ static with<TModuleWrapper extends ModuleWrapper, R extends Promisable<void> = void>(this: ConstructableModuleWrapper<TModuleWrapper>, mod: any, closure: (mod: TModuleWrapper) => R): R | undefined;
66
+ static wrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, mod: Module | undefined, account: AccountInstance, checkIdentity?: boolean): TModuleWrapper;
67
+ addParent(mod: ModuleInstance): void;
68
+ addressPreviousHash(): Promise<AddressPreviousHashPayload>;
69
+ clearListeners(eventNames: Parameters<TWrappedModule['clearListeners']>[0]): void;
70
+ emit(eventName: Parameters<TWrappedModule['emit']>[0], eventArgs: Parameters<TWrappedModule['emit']>[1]): Promise<void>;
71
+ emitSerial(eventName: Parameters<TWrappedModule['emitSerial']>[0], eventArgs: Parameters<TWrappedModule['emitSerial']>[1]): Promise<void>;
72
+ listenerCount(eventNames: Parameters<TWrappedModule['listenerCount']>[0]): number;
73
+ manifest(maxDepth?: number): Promise<ModuleManifestPayload>;
74
+ manifestQuery(account: AccountInstance, maxDepth?: number): Promise<ModuleQueryResult<ModuleManifestPayload>>;
75
+ moduleAddress(): Promise<AddressPreviousHashPayload[]>;
76
+ off<TEventName extends keyof TWrappedModule['eventData']>(eventNames: TEventName, listener: EventListener<TWrappedModule['eventData'][TEventName]>): void;
77
+ offAny(listener: EventAnyListener): void;
78
+ on<TEventName extends keyof TWrappedModule['eventData']>(eventNames: TEventName, listener: EventListener<TWrappedModule['eventData'][TEventName]>): _xylabs_events.EventUnsubscribeFunction;
79
+ onAny(listener: EventAnyListener): _xylabs_events.EventUnsubscribeFunction;
80
+ once<TEventName extends keyof TWrappedModule['eventData']>(eventName: TEventName, listener: EventListener<TWrappedModule['eventData'][TEventName]>): _xylabs_events.EventUnsubscribeFunction;
81
+ parents(): Promisable<ModuleInstance[]>;
82
+ previousHash(): Promise<string | undefined>;
83
+ previousHashQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPreviousHashPayload>>;
84
+ privateChildren(): Promise<ModuleInstance[]>;
85
+ publicChildren(): Promise<ModuleInstance[]>;
86
+ query<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads?: Payload[]): Promise<ModuleQueryResult>;
87
+ queryable<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads?: Payload[]): Promisable<boolean>;
88
+ removeParent(address: Address): void;
89
+ /** @deprecated do not pass undefined. If trying to get all, pass '*' */
90
+ resolve<T extends ModuleInstance = ModuleInstance>(): Promise<T[]>;
91
+ resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
92
+ resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T> | undefined): Promise<ModuleInstance>;
93
+ resolvePrivate<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
94
+ resolvePrivate<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
95
+ siblings(): Promise<ModuleInstance[]>;
96
+ state(): Promise<Payload[]>;
97
+ stateQuery(_account: AccountInstance): Promise<ModuleQueryResult>;
98
+ protected bindQuery<T extends Query>(query: T, payloads?: Payload[], account?: AccountInstance, additionalSigners?: AccountInstance[]): PromiseEx<[QueryBoundWitness, Payload[], ModuleError[]], AccountInstance>;
99
+ protected bindQueryInternal<T extends Query>(query: T, payloads?: Payload[], account?: AccountInstance, additionalSigners?: AccountInstance[]): Promise<[QueryBoundWitness, Payload[], ModuleError[]]>;
100
+ protected filterErrors(result: ModuleQueryResult): ModuleError[];
101
+ protected sendQuery<T extends Query, P extends Payload = Payload, R extends Payload = Payload>(queryPayload: T, payloads?: P[]): Promise<R[]>;
102
+ protected sendQueryRaw<T extends Query, P extends Payload = Payload, R extends Payload = Payload>(queryPayload: T, payloads?: P[], account?: AccountInstance): Promise<ModuleQueryResult<R>>;
103
+ }
104
+
105
+ export { ModuleWrapper, constructableModuleWrapper };
106
+ export type { ConstructableModuleWrapper, ModuleWrapperParams };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/module-wrapper",
3
- "version": "4.0.3",
3
+ "version": "4.1.1",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -21,33 +21,33 @@
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.13.4",
33
- "@xylabs/base": "^4.13.4",
34
- "@xylabs/events": "^4.13.4",
35
- "@xylabs/exists": "^4.13.4",
36
- "@xylabs/hex": "^4.13.4",
37
- "@xylabs/logger": "^4.13.4",
38
- "@xylabs/promise": "^4.13.4",
39
- "@xyo-network/account-model": "^4.0.3",
40
- "@xyo-network/boundwitness-builder": "^4.0.3",
41
- "@xyo-network/boundwitness-model": "^4.0.3",
42
- "@xyo-network/boundwitness-wrapper": "^4.0.3",
43
- "@xyo-network/manifest-model": "^4.0.3",
44
- "@xyo-network/module-model": "^4.0.3",
45
- "@xyo-network/payload-model": "^4.0.3",
32
+ "@xylabs/assert": "^4.13.15",
33
+ "@xylabs/base": "^4.13.15",
34
+ "@xylabs/events": "^4.13.15",
35
+ "@xylabs/exists": "^4.13.15",
36
+ "@xylabs/hex": "^4.13.15",
37
+ "@xylabs/logger": "^4.13.15",
38
+ "@xylabs/promise": "^4.13.15",
39
+ "@xyo-network/account-model": "^4.1.1",
40
+ "@xyo-network/boundwitness-builder": "^4.1.1",
41
+ "@xyo-network/boundwitness-model": "^4.1.1",
42
+ "@xyo-network/boundwitness-wrapper": "^4.1.1",
43
+ "@xyo-network/manifest-model": "^4.1.1",
44
+ "@xyo-network/module-model": "^4.1.1",
45
+ "@xyo-network/payload-model": "^4.1.1",
46
46
  "lru-cache": "^11.1.0"
47
47
  },
48
48
  "devDependencies": {
49
- "@xylabs/ts-scripts-yarn3": "^6.5.18",
50
- "@xylabs/tsconfig": "^6.5.18",
49
+ "@xylabs/ts-scripts-yarn3": "^7.0.0-rc.23",
50
+ "@xylabs/tsconfig": "^7.0.0-rc.23",
51
51
  "typescript": "^5.8.3"
52
52
  },
53
53
  "publishConfig": {
@@ -1,3 +0,0 @@
1
- export * from './models.ts';
2
- export * from './ModuleWrapper.ts';
3
- //# sourceMappingURL=index.d.ts.map
File without changes
File without changes
File without changes
File without changes