@xyo-network/module-abstract 2.99.1 → 2.99.3

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 (65) hide show
  1. package/dist/neutral/AbstractModule.d.cts +108 -0
  2. package/dist/neutral/AbstractModule.d.cts.map +1 -0
  3. package/dist/neutral/AbstractModule.d.mts +108 -0
  4. package/dist/neutral/AbstractModule.d.mts.map +1 -0
  5. package/dist/neutral/AbstractModule.d.ts +108 -0
  6. package/dist/neutral/AbstractModule.d.ts.map +1 -0
  7. package/dist/neutral/AbstractModuleInstance.d.cts +53 -0
  8. package/dist/neutral/AbstractModuleInstance.d.cts.map +1 -0
  9. package/dist/neutral/AbstractModuleInstance.d.mts +53 -0
  10. package/dist/neutral/AbstractModuleInstance.d.mts.map +1 -0
  11. package/dist/neutral/AbstractModuleInstance.d.ts +53 -0
  12. package/dist/neutral/AbstractModuleInstance.d.ts.map +1 -0
  13. package/dist/neutral/BaseEmitter.d.cts +17 -0
  14. package/dist/neutral/BaseEmitter.d.cts.map +1 -0
  15. package/dist/neutral/BaseEmitter.d.mts +17 -0
  16. package/dist/neutral/BaseEmitter.d.mts.map +1 -0
  17. package/dist/neutral/BaseEmitter.d.ts +17 -0
  18. package/dist/neutral/BaseEmitter.d.ts.map +1 -0
  19. package/dist/neutral/Error.d.cts +16 -0
  20. package/dist/neutral/Error.d.cts.map +1 -0
  21. package/dist/neutral/Error.d.mts +16 -0
  22. package/dist/neutral/Error.d.mts.map +1 -0
  23. package/dist/neutral/Error.d.ts +16 -0
  24. package/dist/neutral/Error.d.ts.map +1 -0
  25. package/dist/neutral/QueryValidator/ModuleConfigQueryValidator.d.cts +17 -0
  26. package/dist/neutral/QueryValidator/ModuleConfigQueryValidator.d.cts.map +1 -0
  27. package/dist/neutral/QueryValidator/ModuleConfigQueryValidator.d.mts +17 -0
  28. package/dist/neutral/QueryValidator/ModuleConfigQueryValidator.d.mts.map +1 -0
  29. package/dist/neutral/QueryValidator/ModuleConfigQueryValidator.d.ts +17 -0
  30. package/dist/neutral/QueryValidator/ModuleConfigQueryValidator.d.ts.map +1 -0
  31. package/dist/neutral/QueryValidator/QueryValidator.d.cts +8 -0
  32. package/dist/neutral/QueryValidator/QueryValidator.d.cts.map +1 -0
  33. package/dist/neutral/QueryValidator/QueryValidator.d.mts +8 -0
  34. package/dist/neutral/QueryValidator/QueryValidator.d.mts.map +1 -0
  35. package/dist/neutral/QueryValidator/QueryValidator.d.ts +8 -0
  36. package/dist/neutral/QueryValidator/QueryValidator.d.ts.map +1 -0
  37. package/dist/neutral/QueryValidator/SupportedQueryValidator.d.cts +22 -0
  38. package/dist/neutral/QueryValidator/SupportedQueryValidator.d.cts.map +1 -0
  39. package/dist/neutral/QueryValidator/SupportedQueryValidator.d.mts +22 -0
  40. package/dist/neutral/QueryValidator/SupportedQueryValidator.d.mts.map +1 -0
  41. package/dist/neutral/QueryValidator/SupportedQueryValidator.d.ts +22 -0
  42. package/dist/neutral/QueryValidator/SupportedQueryValidator.d.ts.map +1 -0
  43. package/dist/neutral/QueryValidator/index.d.cts +4 -0
  44. package/dist/neutral/QueryValidator/index.d.cts.map +1 -0
  45. package/dist/neutral/QueryValidator/index.d.mts +4 -0
  46. package/dist/neutral/QueryValidator/index.d.mts.map +1 -0
  47. package/dist/neutral/QueryValidator/index.d.ts +4 -0
  48. package/dist/neutral/QueryValidator/index.d.ts.map +1 -0
  49. package/dist/neutral/determineAccount.d.cts +14 -0
  50. package/dist/neutral/determineAccount.d.cts.map +1 -0
  51. package/dist/neutral/determineAccount.d.mts +14 -0
  52. package/dist/neutral/determineAccount.d.mts.map +1 -0
  53. package/dist/neutral/determineAccount.d.ts +14 -0
  54. package/dist/neutral/determineAccount.d.ts.map +1 -0
  55. package/dist/neutral/index.cjs +1059 -0
  56. package/dist/neutral/index.cjs.map +1 -0
  57. package/dist/neutral/index.d.cts +6 -0
  58. package/dist/neutral/index.d.cts.map +1 -0
  59. package/dist/neutral/index.d.mts +6 -0
  60. package/dist/neutral/index.d.mts.map +1 -0
  61. package/dist/neutral/index.d.ts +6 -0
  62. package/dist/neutral/index.d.ts.map +1 -0
  63. package/dist/neutral/index.js +1038 -0
  64. package/dist/neutral/index.js.map +1 -0
  65. package/package.json +28 -28
@@ -0,0 +1,108 @@
1
+ import { Address, Hash } from '@xylabs/hex';
2
+ import { Logger } from '@xylabs/logger';
3
+ import { Promisable, PromiseEx } from '@xylabs/promise';
4
+ import { AccountInstance } from '@xyo-network/account-model';
5
+ import { ArchivistInstance } from '@xyo-network/archivist-model';
6
+ import { BoundWitness, QueryBoundWitness } from '@xyo-network/boundwitness-model';
7
+ import { ModuleManifestPayload } from '@xyo-network/manifest-model';
8
+ import { AddressPreviousHashPayload, ArchivingModuleConfig, AttachableModuleInstance, CreatableModule, CreatableModuleFactory, Labels, Module, ModuleConfig, ModuleDescriptionPayload, ModuleEventData, ModuleParams, ModuleQueries, ModuleQueryHandlerResult, ModuleQueryResult, ModuleResolverInstance, ModuleStatus, ObjectResolverPriority } from '@xyo-network/module-model';
9
+ import { ModuleError, Payload, Query, Schema, WithMeta } from '@xyo-network/payload-model';
10
+ import { WalletInstance } from '@xyo-network/wallet-model';
11
+ import { LRUCache } from 'lru-cache';
12
+ import { BaseEmitter } from './BaseEmitter';
13
+ import { Queryable } from './QueryValidator';
14
+ export declare abstract class AbstractModule<TParams extends ModuleParams = ModuleParams, TEventData extends ModuleEventData = ModuleEventData> extends BaseEmitter<TParams, TEventData> implements Module<TParams, TEventData> {
15
+ static readonly allowRandomAccount: boolean;
16
+ static readonly configSchemas: Schema[];
17
+ static readonly defaultConfigSchema: Schema;
18
+ static defaultLogger: Logger;
19
+ static enableLazyLoad: boolean;
20
+ static readonly labels: Labels;
21
+ static readonly uniqueName: string;
22
+ protected static privateConstructorKey: string;
23
+ protected _account: AccountInstance | undefined;
24
+ protected readonly _baseModuleQueryAccountPaths: Record<ModuleQueries['schema'], string>;
25
+ protected _cachedManifests: LRUCache<number, (import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & import("@xyo-network/manifest-model").ModuleManifest & {
26
+ schema: "network.xyo.module.manifest";
27
+ }) | (import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & import("@xyo-network/manifest-model").ModuleManifest & {
28
+ schema: "network.xyo.node.manifest";
29
+ }), unknown>;
30
+ protected _lastError?: Error;
31
+ protected readonly _queryAccounts: Record<ModuleQueries['schema'], AccountInstance | undefined>;
32
+ protected _startPromise: Promisable<boolean> | undefined;
33
+ protected _started: Promisable<boolean> | undefined;
34
+ protected readonly moduleConfigQueryValidator: Queryable;
35
+ protected readonly supportedQueryValidator: Queryable;
36
+ private _busyCount;
37
+ private _status;
38
+ protected constructor(privateConstructorKey: string, params: TParams, account: AccountInstance);
39
+ get account(): AccountInstance;
40
+ get address(): Lowercase<string>;
41
+ get allowAnonymous(): boolean;
42
+ get allowNameResolution(): boolean;
43
+ get archiving(): ArchivingModuleConfig['archiving'] | undefined;
44
+ get archivist(): string | undefined;
45
+ get config(): TParams['config'];
46
+ get dead(): boolean;
47
+ get ephemeralQueryAccountEnabled(): boolean;
48
+ get id(): string;
49
+ get logger(): Logger;
50
+ get priority(): ObjectResolverPriority;
51
+ get queries(): string[];
52
+ get queryAccountPaths(): Readonly<Record<Query['schema'], string | undefined>>;
53
+ get queryAccounts(): Readonly<Record<Query['schema'], AccountInstance | undefined>>;
54
+ get status(): ModuleStatus;
55
+ get timestamp(): boolean;
56
+ protected get baseModuleQueryAccountPaths(): Record<ModuleQueries['schema'], string>;
57
+ protected set status(value: ModuleStatus);
58
+ abstract get downResolver(): ModuleResolverInstance;
59
+ abstract get upResolver(): ModuleResolverInstance;
60
+ protected abstract get _queryAccountPaths(): Record<Query['schema'], string>;
61
+ static _getRootFunction(funcName: string): any;
62
+ static _noOverride(functionName: string): void;
63
+ static create<TModule extends AttachableModuleInstance>(this: CreatableModule<TModule>, params?: Omit<TModule['params'], 'config'> & {
64
+ config?: TModule['params']['config'];
65
+ }): Promise<TModule>;
66
+ static determineAccount(params: {
67
+ account?: AccountInstance | 'random';
68
+ accountPath?: string;
69
+ wallet?: WalletInstance;
70
+ }): Promise<AccountInstance>;
71
+ static factory<TModule extends AttachableModuleInstance>(this: CreatableModule<TModule>, params?: Omit<TModule['params'], 'config'> & {
72
+ config?: TModule['params']['config'];
73
+ }): CreatableModuleFactory<TModule>;
74
+ _getRootFunction(funcName: string): any;
75
+ busy<R>(closure: () => Promise<R>): Promise<R>;
76
+ emit<TEventName extends keyof TEventData = keyof TEventData, TEventArgs extends TEventData[TEventName] = TEventData[TEventName]>(eventName: TEventName, eventArgs: TEventArgs): Promise<void>;
77
+ previousHash(): Promisable<string | undefined>;
78
+ query<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryResult>;
79
+ queryable<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<boolean>;
80
+ start(_timeout?: number): Promisable<boolean>;
81
+ started(notStartedAction?: 'error' | 'throw' | 'warn' | 'log' | 'none', tryStart?: boolean): Promise<boolean>;
82
+ stop(_timeout?: number): Promise<boolean>;
83
+ protected _checkDead(): void;
84
+ protected _noOverride(functionName: string): void;
85
+ protected archivistInstance(): Promise<ArchivistInstance | undefined>;
86
+ protected archivistInstance(required: true): Promise<ArchivistInstance>;
87
+ protected bindHashes(hashes: Hash[], schema: Schema[], account?: AccountInstance): PromiseEx<unknown, AccountInstance>;
88
+ protected bindHashesInternal(hashes: Hash[], schema: Schema[], account?: AccountInstance): Promise<BoundWitness>;
89
+ protected bindQuery<T extends Query>(query: T, payloads?: Payload[], account?: AccountInstance): PromiseEx<[WithMeta<QueryBoundWitness>, WithMeta<Payload>[], WithMeta<Payload>[]], AccountInstance>;
90
+ protected bindQueryInternal<T extends Query>(query: T, payloads?: Payload[], account?: AccountInstance): Promise<[WithMeta<QueryBoundWitness>, WithMeta<Payload>[], WithMeta<Payload>[]]>;
91
+ protected bindQueryResult<T extends Query>(query: WithMeta<T>, payloads: Payload[], additionalWitnesses?: AccountInstance[], errors?: ModuleError[]): Promise<ModuleQueryResult>;
92
+ protected generateConfigAndAddress(_maxDepth?: number): Promise<Payload[]>;
93
+ protected generateDescribe(): Promise<ModuleDescriptionPayload>;
94
+ /** @deprecated use archivistInstance() instead */
95
+ protected getArchivist(): Promise<ArchivistInstance | undefined>;
96
+ protected initializeQueryAccounts(): Promise<void>;
97
+ protected manifestHandler(_maxDepth?: number, _ignoreAddresses?: Address[]): Promisable<ModuleManifestPayload>;
98
+ protected moduleAddressHandler(): Promisable<AddressPreviousHashPayload[]>;
99
+ protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
100
+ protected startHandler(): Promise<boolean>;
101
+ protected stateHandler(): Promise<Payload[]>;
102
+ protected stopHandler(_timeout?: number): Promisable<boolean>;
103
+ protected subscribeHandler(): void;
104
+ protected validateConfig(config?: unknown, parents?: string[]): boolean;
105
+ private isAllowedArchivingQuery;
106
+ protected abstract storeToArchivists(payloads: Payload[]): Promise<Payload[]>;
107
+ }
108
+ //# sourceMappingURL=AbstractModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractModule.d.ts","sourceRoot":"","sources":["../../src/AbstractModule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ import { Address, Hash } from '@xylabs/hex';
2
+ import { Logger } from '@xylabs/logger';
3
+ import { Promisable, PromiseEx } from '@xylabs/promise';
4
+ import { AccountInstance } from '@xyo-network/account-model';
5
+ import { ArchivistInstance } from '@xyo-network/archivist-model';
6
+ import { BoundWitness, QueryBoundWitness } from '@xyo-network/boundwitness-model';
7
+ import { ModuleManifestPayload } from '@xyo-network/manifest-model';
8
+ import { AddressPreviousHashPayload, ArchivingModuleConfig, AttachableModuleInstance, CreatableModule, CreatableModuleFactory, Labels, Module, ModuleConfig, ModuleDescriptionPayload, ModuleEventData, ModuleParams, ModuleQueries, ModuleQueryHandlerResult, ModuleQueryResult, ModuleResolverInstance, ModuleStatus, ObjectResolverPriority } from '@xyo-network/module-model';
9
+ import { ModuleError, Payload, Query, Schema, WithMeta } from '@xyo-network/payload-model';
10
+ import { WalletInstance } from '@xyo-network/wallet-model';
11
+ import { LRUCache } from 'lru-cache';
12
+ import { BaseEmitter } from './BaseEmitter';
13
+ import { Queryable } from './QueryValidator';
14
+ export declare abstract class AbstractModule<TParams extends ModuleParams = ModuleParams, TEventData extends ModuleEventData = ModuleEventData> extends BaseEmitter<TParams, TEventData> implements Module<TParams, TEventData> {
15
+ static readonly allowRandomAccount: boolean;
16
+ static readonly configSchemas: Schema[];
17
+ static readonly defaultConfigSchema: Schema;
18
+ static defaultLogger: Logger;
19
+ static enableLazyLoad: boolean;
20
+ static readonly labels: Labels;
21
+ static readonly uniqueName: string;
22
+ protected static privateConstructorKey: string;
23
+ protected _account: AccountInstance | undefined;
24
+ protected readonly _baseModuleQueryAccountPaths: Record<ModuleQueries['schema'], string>;
25
+ protected _cachedManifests: LRUCache<number, (import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & import("@xyo-network/manifest-model").ModuleManifest & {
26
+ schema: "network.xyo.module.manifest";
27
+ }) | (import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & import("@xyo-network/manifest-model").ModuleManifest & {
28
+ schema: "network.xyo.node.manifest";
29
+ }), unknown>;
30
+ protected _lastError?: Error;
31
+ protected readonly _queryAccounts: Record<ModuleQueries['schema'], AccountInstance | undefined>;
32
+ protected _startPromise: Promisable<boolean> | undefined;
33
+ protected _started: Promisable<boolean> | undefined;
34
+ protected readonly moduleConfigQueryValidator: Queryable;
35
+ protected readonly supportedQueryValidator: Queryable;
36
+ private _busyCount;
37
+ private _status;
38
+ protected constructor(privateConstructorKey: string, params: TParams, account: AccountInstance);
39
+ get account(): AccountInstance;
40
+ get address(): Lowercase<string>;
41
+ get allowAnonymous(): boolean;
42
+ get allowNameResolution(): boolean;
43
+ get archiving(): ArchivingModuleConfig['archiving'] | undefined;
44
+ get archivist(): string | undefined;
45
+ get config(): TParams['config'];
46
+ get dead(): boolean;
47
+ get ephemeralQueryAccountEnabled(): boolean;
48
+ get id(): string;
49
+ get logger(): Logger;
50
+ get priority(): ObjectResolverPriority;
51
+ get queries(): string[];
52
+ get queryAccountPaths(): Readonly<Record<Query['schema'], string | undefined>>;
53
+ get queryAccounts(): Readonly<Record<Query['schema'], AccountInstance | undefined>>;
54
+ get status(): ModuleStatus;
55
+ get timestamp(): boolean;
56
+ protected get baseModuleQueryAccountPaths(): Record<ModuleQueries['schema'], string>;
57
+ protected set status(value: ModuleStatus);
58
+ abstract get downResolver(): ModuleResolverInstance;
59
+ abstract get upResolver(): ModuleResolverInstance;
60
+ protected abstract get _queryAccountPaths(): Record<Query['schema'], string>;
61
+ static _getRootFunction(funcName: string): any;
62
+ static _noOverride(functionName: string): void;
63
+ static create<TModule extends AttachableModuleInstance>(this: CreatableModule<TModule>, params?: Omit<TModule['params'], 'config'> & {
64
+ config?: TModule['params']['config'];
65
+ }): Promise<TModule>;
66
+ static determineAccount(params: {
67
+ account?: AccountInstance | 'random';
68
+ accountPath?: string;
69
+ wallet?: WalletInstance;
70
+ }): Promise<AccountInstance>;
71
+ static factory<TModule extends AttachableModuleInstance>(this: CreatableModule<TModule>, params?: Omit<TModule['params'], 'config'> & {
72
+ config?: TModule['params']['config'];
73
+ }): CreatableModuleFactory<TModule>;
74
+ _getRootFunction(funcName: string): any;
75
+ busy<R>(closure: () => Promise<R>): Promise<R>;
76
+ emit<TEventName extends keyof TEventData = keyof TEventData, TEventArgs extends TEventData[TEventName] = TEventData[TEventName]>(eventName: TEventName, eventArgs: TEventArgs): Promise<void>;
77
+ previousHash(): Promisable<string | undefined>;
78
+ query<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryResult>;
79
+ queryable<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<boolean>;
80
+ start(_timeout?: number): Promisable<boolean>;
81
+ started(notStartedAction?: 'error' | 'throw' | 'warn' | 'log' | 'none', tryStart?: boolean): Promise<boolean>;
82
+ stop(_timeout?: number): Promise<boolean>;
83
+ protected _checkDead(): void;
84
+ protected _noOverride(functionName: string): void;
85
+ protected archivistInstance(): Promise<ArchivistInstance | undefined>;
86
+ protected archivistInstance(required: true): Promise<ArchivistInstance>;
87
+ protected bindHashes(hashes: Hash[], schema: Schema[], account?: AccountInstance): PromiseEx<unknown, AccountInstance>;
88
+ protected bindHashesInternal(hashes: Hash[], schema: Schema[], account?: AccountInstance): Promise<BoundWitness>;
89
+ protected bindQuery<T extends Query>(query: T, payloads?: Payload[], account?: AccountInstance): PromiseEx<[WithMeta<QueryBoundWitness>, WithMeta<Payload>[], WithMeta<Payload>[]], AccountInstance>;
90
+ protected bindQueryInternal<T extends Query>(query: T, payloads?: Payload[], account?: AccountInstance): Promise<[WithMeta<QueryBoundWitness>, WithMeta<Payload>[], WithMeta<Payload>[]]>;
91
+ protected bindQueryResult<T extends Query>(query: WithMeta<T>, payloads: Payload[], additionalWitnesses?: AccountInstance[], errors?: ModuleError[]): Promise<ModuleQueryResult>;
92
+ protected generateConfigAndAddress(_maxDepth?: number): Promise<Payload[]>;
93
+ protected generateDescribe(): Promise<ModuleDescriptionPayload>;
94
+ /** @deprecated use archivistInstance() instead */
95
+ protected getArchivist(): Promise<ArchivistInstance | undefined>;
96
+ protected initializeQueryAccounts(): Promise<void>;
97
+ protected manifestHandler(_maxDepth?: number, _ignoreAddresses?: Address[]): Promisable<ModuleManifestPayload>;
98
+ protected moduleAddressHandler(): Promisable<AddressPreviousHashPayload[]>;
99
+ protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
100
+ protected startHandler(): Promise<boolean>;
101
+ protected stateHandler(): Promise<Payload[]>;
102
+ protected stopHandler(_timeout?: number): Promisable<boolean>;
103
+ protected subscribeHandler(): void;
104
+ protected validateConfig(config?: unknown, parents?: string[]): boolean;
105
+ private isAllowedArchivingQuery;
106
+ protected abstract storeToArchivists(payloads: Payload[]): Promise<Payload[]>;
107
+ }
108
+ //# sourceMappingURL=AbstractModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractModule.d.ts","sourceRoot":"","sources":["../../src/AbstractModule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ import { Address, Hash } from '@xylabs/hex';
2
+ import { Logger } from '@xylabs/logger';
3
+ import { Promisable, PromiseEx } from '@xylabs/promise';
4
+ import { AccountInstance } from '@xyo-network/account-model';
5
+ import { ArchivistInstance } from '@xyo-network/archivist-model';
6
+ import { BoundWitness, QueryBoundWitness } from '@xyo-network/boundwitness-model';
7
+ import { ModuleManifestPayload } from '@xyo-network/manifest-model';
8
+ import { AddressPreviousHashPayload, ArchivingModuleConfig, AttachableModuleInstance, CreatableModule, CreatableModuleFactory, Labels, Module, ModuleConfig, ModuleDescriptionPayload, ModuleEventData, ModuleParams, ModuleQueries, ModuleQueryHandlerResult, ModuleQueryResult, ModuleResolverInstance, ModuleStatus, ObjectResolverPriority } from '@xyo-network/module-model';
9
+ import { ModuleError, Payload, Query, Schema, WithMeta } from '@xyo-network/payload-model';
10
+ import { WalletInstance } from '@xyo-network/wallet-model';
11
+ import { LRUCache } from 'lru-cache';
12
+ import { BaseEmitter } from './BaseEmitter';
13
+ import { Queryable } from './QueryValidator';
14
+ export declare abstract class AbstractModule<TParams extends ModuleParams = ModuleParams, TEventData extends ModuleEventData = ModuleEventData> extends BaseEmitter<TParams, TEventData> implements Module<TParams, TEventData> {
15
+ static readonly allowRandomAccount: boolean;
16
+ static readonly configSchemas: Schema[];
17
+ static readonly defaultConfigSchema: Schema;
18
+ static defaultLogger: Logger;
19
+ static enableLazyLoad: boolean;
20
+ static readonly labels: Labels;
21
+ static readonly uniqueName: string;
22
+ protected static privateConstructorKey: string;
23
+ protected _account: AccountInstance | undefined;
24
+ protected readonly _baseModuleQueryAccountPaths: Record<ModuleQueries['schema'], string>;
25
+ protected _cachedManifests: LRUCache<number, (import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & import("@xyo-network/manifest-model").ModuleManifest & {
26
+ schema: "network.xyo.module.manifest";
27
+ }) | (import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & import("@xyo-network/manifest-model").ModuleManifest & {
28
+ schema: "network.xyo.node.manifest";
29
+ }), unknown>;
30
+ protected _lastError?: Error;
31
+ protected readonly _queryAccounts: Record<ModuleQueries['schema'], AccountInstance | undefined>;
32
+ protected _startPromise: Promisable<boolean> | undefined;
33
+ protected _started: Promisable<boolean> | undefined;
34
+ protected readonly moduleConfigQueryValidator: Queryable;
35
+ protected readonly supportedQueryValidator: Queryable;
36
+ private _busyCount;
37
+ private _status;
38
+ protected constructor(privateConstructorKey: string, params: TParams, account: AccountInstance);
39
+ get account(): AccountInstance;
40
+ get address(): Lowercase<string>;
41
+ get allowAnonymous(): boolean;
42
+ get allowNameResolution(): boolean;
43
+ get archiving(): ArchivingModuleConfig['archiving'] | undefined;
44
+ get archivist(): string | undefined;
45
+ get config(): TParams['config'];
46
+ get dead(): boolean;
47
+ get ephemeralQueryAccountEnabled(): boolean;
48
+ get id(): string;
49
+ get logger(): Logger;
50
+ get priority(): ObjectResolverPriority;
51
+ get queries(): string[];
52
+ get queryAccountPaths(): Readonly<Record<Query['schema'], string | undefined>>;
53
+ get queryAccounts(): Readonly<Record<Query['schema'], AccountInstance | undefined>>;
54
+ get status(): ModuleStatus;
55
+ get timestamp(): boolean;
56
+ protected get baseModuleQueryAccountPaths(): Record<ModuleQueries['schema'], string>;
57
+ protected set status(value: ModuleStatus);
58
+ abstract get downResolver(): ModuleResolverInstance;
59
+ abstract get upResolver(): ModuleResolverInstance;
60
+ protected abstract get _queryAccountPaths(): Record<Query['schema'], string>;
61
+ static _getRootFunction(funcName: string): any;
62
+ static _noOverride(functionName: string): void;
63
+ static create<TModule extends AttachableModuleInstance>(this: CreatableModule<TModule>, params?: Omit<TModule['params'], 'config'> & {
64
+ config?: TModule['params']['config'];
65
+ }): Promise<TModule>;
66
+ static determineAccount(params: {
67
+ account?: AccountInstance | 'random';
68
+ accountPath?: string;
69
+ wallet?: WalletInstance;
70
+ }): Promise<AccountInstance>;
71
+ static factory<TModule extends AttachableModuleInstance>(this: CreatableModule<TModule>, params?: Omit<TModule['params'], 'config'> & {
72
+ config?: TModule['params']['config'];
73
+ }): CreatableModuleFactory<TModule>;
74
+ _getRootFunction(funcName: string): any;
75
+ busy<R>(closure: () => Promise<R>): Promise<R>;
76
+ emit<TEventName extends keyof TEventData = keyof TEventData, TEventArgs extends TEventData[TEventName] = TEventData[TEventName]>(eventName: TEventName, eventArgs: TEventArgs): Promise<void>;
77
+ previousHash(): Promisable<string | undefined>;
78
+ query<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryResult>;
79
+ queryable<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<boolean>;
80
+ start(_timeout?: number): Promisable<boolean>;
81
+ started(notStartedAction?: 'error' | 'throw' | 'warn' | 'log' | 'none', tryStart?: boolean): Promise<boolean>;
82
+ stop(_timeout?: number): Promise<boolean>;
83
+ protected _checkDead(): void;
84
+ protected _noOverride(functionName: string): void;
85
+ protected archivistInstance(): Promise<ArchivistInstance | undefined>;
86
+ protected archivistInstance(required: true): Promise<ArchivistInstance>;
87
+ protected bindHashes(hashes: Hash[], schema: Schema[], account?: AccountInstance): PromiseEx<unknown, AccountInstance>;
88
+ protected bindHashesInternal(hashes: Hash[], schema: Schema[], account?: AccountInstance): Promise<BoundWitness>;
89
+ protected bindQuery<T extends Query>(query: T, payloads?: Payload[], account?: AccountInstance): PromiseEx<[WithMeta<QueryBoundWitness>, WithMeta<Payload>[], WithMeta<Payload>[]], AccountInstance>;
90
+ protected bindQueryInternal<T extends Query>(query: T, payloads?: Payload[], account?: AccountInstance): Promise<[WithMeta<QueryBoundWitness>, WithMeta<Payload>[], WithMeta<Payload>[]]>;
91
+ protected bindQueryResult<T extends Query>(query: WithMeta<T>, payloads: Payload[], additionalWitnesses?: AccountInstance[], errors?: ModuleError[]): Promise<ModuleQueryResult>;
92
+ protected generateConfigAndAddress(_maxDepth?: number): Promise<Payload[]>;
93
+ protected generateDescribe(): Promise<ModuleDescriptionPayload>;
94
+ /** @deprecated use archivistInstance() instead */
95
+ protected getArchivist(): Promise<ArchivistInstance | undefined>;
96
+ protected initializeQueryAccounts(): Promise<void>;
97
+ protected manifestHandler(_maxDepth?: number, _ignoreAddresses?: Address[]): Promisable<ModuleManifestPayload>;
98
+ protected moduleAddressHandler(): Promisable<AddressPreviousHashPayload[]>;
99
+ protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
100
+ protected startHandler(): Promise<boolean>;
101
+ protected stateHandler(): Promise<Payload[]>;
102
+ protected stopHandler(_timeout?: number): Promisable<boolean>;
103
+ protected subscribeHandler(): void;
104
+ protected validateConfig(config?: unknown, parents?: string[]): boolean;
105
+ private isAllowedArchivingQuery;
106
+ protected abstract storeToArchivists(payloads: Payload[]): Promise<Payload[]>;
107
+ }
108
+ //# sourceMappingURL=AbstractModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractModule.d.ts","sourceRoot":"","sources":["../../src/AbstractModule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { Address } from '@xylabs/hex';
2
+ import { Promisable } from '@xylabs/promise';
3
+ import { AccountInstance } from '@xyo-network/account-model';
4
+ import { ArchivistInstance } from '@xyo-network/archivist-model';
5
+ import { ModuleManifestPayload } from '@xyo-network/manifest-model';
6
+ import { AddressPreviousHashPayload, AttachableModuleInstance, ModuleEventData, ModuleFilter, ModuleFilterOptions, ModuleIdentifier, ModuleInstance, ModuleNameResolver, ModuleParams, ModuleQueryResult, ObjectFilterOptions } from '@xyo-network/module-model';
7
+ import { CompositeModuleResolver } from '@xyo-network/module-resolver';
8
+ import { Payload, Query, WithMeta } from '@xyo-network/payload-model';
9
+ import { AbstractModule } from './AbstractModule';
10
+ export declare abstract class AbstractModuleInstance<TParams extends ModuleParams = ModuleParams, TEventData extends ModuleEventData = ModuleEventData> extends AbstractModule<TParams, TEventData> implements AttachableModuleInstance<TParams, TEventData>, ModuleNameResolver {
11
+ static readonly uniqueName: string;
12
+ private _downResolver?;
13
+ private _parents;
14
+ private _privateResolver?;
15
+ private _upResolver?;
16
+ constructor(privateConstructorKey: string, params: TParams, account: AccountInstance);
17
+ get downResolver(): CompositeModuleResolver<import("@xyo-network/module-resolver").CompositeModuleResolverParams>;
18
+ get localName(): string | undefined;
19
+ get moduleIdentifierTransformers(): import("@xyo-network/module-model").ModuleIdentifierTransformer[];
20
+ get privateResolver(): CompositeModuleResolver<import("@xyo-network/module-resolver").CompositeModuleResolverParams>;
21
+ get root(): this;
22
+ get upResolver(): CompositeModuleResolver<import("@xyo-network/module-resolver").CompositeModuleResolverParams>;
23
+ addParent(module: ModuleInstance): void;
24
+ manifest(maxDepth?: number): Promise<ModuleManifestPayload>;
25
+ manifestQuery(account: AccountInstance, maxDepth?: number): Promise<ModuleQueryResult<ModuleManifestPayload>>;
26
+ moduleAddress(): Promise<AddressPreviousHashPayload[]>;
27
+ parents(): Promisable<ModuleInstance[]>;
28
+ privateChildren(): Promisable<ModuleInstance[]>;
29
+ publicChildren(): Promisable<ModuleInstance[]>;
30
+ removeParent(address: Address): void;
31
+ /** @deprecated do not pass undefined. If trying to get all, pass '*' */
32
+ resolve(): Promise<ModuleInstance[]>;
33
+ resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
34
+ resolve<T extends ModuleInstance = ModuleInstance>(filter: ModuleFilter, options?: ModuleFilterOptions<T>): Promise<T[]>;
35
+ resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
36
+ /** @deprecated use '*' if trying to resolve all */
37
+ resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter, options?: ModuleFilterOptions<T>): Promise<T[]>;
38
+ resolveIdentifier(id: ModuleIdentifier, options?: ObjectFilterOptions): Promise<Address | undefined>;
39
+ resolvePrivate<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
40
+ resolvePrivate<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
41
+ siblings(): Promise<ModuleInstance[]>;
42
+ state(): Promise<({
43
+ schema: string;
44
+ } & import("@xyo-network/payload-model").PayloadFields)[]>;
45
+ stateQuery(account: AccountInstance): Promise<ModuleQueryResult>;
46
+ subscribe(_queryAccount?: AccountInstance): void;
47
+ protected manifestHandler(maxDepth?: number, _ignoreAddresses?: Address[]): Promise<ModuleManifestPayload>;
48
+ protected resolveArchivingArchivists(): Promise<ArchivistInstance[]>;
49
+ protected sendQuery<T extends Query, P extends Payload = Payload, R extends Payload = Payload>(queryPayload: T, payloads?: P[], account?: AccountInstance): Promise<WithMeta<R>[]>;
50
+ protected sendQueryRaw<T extends Query, P extends Payload = Payload, R extends Payload = Payload>(queryPayload: T, payloads?: P[], account?: AccountInstance): Promise<ModuleQueryResult<R>>;
51
+ protected storeToArchivists(payloads: Payload[]): Promise<Payload[]>;
52
+ }
53
+ //# sourceMappingURL=AbstractModuleInstance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractModuleInstance.d.ts","sourceRoot":"","sources":["../../src/AbstractModuleInstance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { Address } from '@xylabs/hex';
2
+ import { Promisable } from '@xylabs/promise';
3
+ import { AccountInstance } from '@xyo-network/account-model';
4
+ import { ArchivistInstance } from '@xyo-network/archivist-model';
5
+ import { ModuleManifestPayload } from '@xyo-network/manifest-model';
6
+ import { AddressPreviousHashPayload, AttachableModuleInstance, ModuleEventData, ModuleFilter, ModuleFilterOptions, ModuleIdentifier, ModuleInstance, ModuleNameResolver, ModuleParams, ModuleQueryResult, ObjectFilterOptions } from '@xyo-network/module-model';
7
+ import { CompositeModuleResolver } from '@xyo-network/module-resolver';
8
+ import { Payload, Query, WithMeta } from '@xyo-network/payload-model';
9
+ import { AbstractModule } from './AbstractModule';
10
+ export declare abstract class AbstractModuleInstance<TParams extends ModuleParams = ModuleParams, TEventData extends ModuleEventData = ModuleEventData> extends AbstractModule<TParams, TEventData> implements AttachableModuleInstance<TParams, TEventData>, ModuleNameResolver {
11
+ static readonly uniqueName: string;
12
+ private _downResolver?;
13
+ private _parents;
14
+ private _privateResolver?;
15
+ private _upResolver?;
16
+ constructor(privateConstructorKey: string, params: TParams, account: AccountInstance);
17
+ get downResolver(): CompositeModuleResolver<import("@xyo-network/module-resolver").CompositeModuleResolverParams>;
18
+ get localName(): string | undefined;
19
+ get moduleIdentifierTransformers(): import("@xyo-network/module-model").ModuleIdentifierTransformer[];
20
+ get privateResolver(): CompositeModuleResolver<import("@xyo-network/module-resolver").CompositeModuleResolverParams>;
21
+ get root(): this;
22
+ get upResolver(): CompositeModuleResolver<import("@xyo-network/module-resolver").CompositeModuleResolverParams>;
23
+ addParent(module: ModuleInstance): void;
24
+ manifest(maxDepth?: number): Promise<ModuleManifestPayload>;
25
+ manifestQuery(account: AccountInstance, maxDepth?: number): Promise<ModuleQueryResult<ModuleManifestPayload>>;
26
+ moduleAddress(): Promise<AddressPreviousHashPayload[]>;
27
+ parents(): Promisable<ModuleInstance[]>;
28
+ privateChildren(): Promisable<ModuleInstance[]>;
29
+ publicChildren(): Promisable<ModuleInstance[]>;
30
+ removeParent(address: Address): void;
31
+ /** @deprecated do not pass undefined. If trying to get all, pass '*' */
32
+ resolve(): Promise<ModuleInstance[]>;
33
+ resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
34
+ resolve<T extends ModuleInstance = ModuleInstance>(filter: ModuleFilter, options?: ModuleFilterOptions<T>): Promise<T[]>;
35
+ resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
36
+ /** @deprecated use '*' if trying to resolve all */
37
+ resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter, options?: ModuleFilterOptions<T>): Promise<T[]>;
38
+ resolveIdentifier(id: ModuleIdentifier, options?: ObjectFilterOptions): Promise<Address | undefined>;
39
+ resolvePrivate<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
40
+ resolvePrivate<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
41
+ siblings(): Promise<ModuleInstance[]>;
42
+ state(): Promise<({
43
+ schema: string;
44
+ } & import("@xyo-network/payload-model").PayloadFields)[]>;
45
+ stateQuery(account: AccountInstance): Promise<ModuleQueryResult>;
46
+ subscribe(_queryAccount?: AccountInstance): void;
47
+ protected manifestHandler(maxDepth?: number, _ignoreAddresses?: Address[]): Promise<ModuleManifestPayload>;
48
+ protected resolveArchivingArchivists(): Promise<ArchivistInstance[]>;
49
+ protected sendQuery<T extends Query, P extends Payload = Payload, R extends Payload = Payload>(queryPayload: T, payloads?: P[], account?: AccountInstance): Promise<WithMeta<R>[]>;
50
+ protected sendQueryRaw<T extends Query, P extends Payload = Payload, R extends Payload = Payload>(queryPayload: T, payloads?: P[], account?: AccountInstance): Promise<ModuleQueryResult<R>>;
51
+ protected storeToArchivists(payloads: Payload[]): Promise<Payload[]>;
52
+ }
53
+ //# sourceMappingURL=AbstractModuleInstance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractModuleInstance.d.ts","sourceRoot":"","sources":["../../src/AbstractModuleInstance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { Address } from '@xylabs/hex';
2
+ import { Promisable } from '@xylabs/promise';
3
+ import { AccountInstance } from '@xyo-network/account-model';
4
+ import { ArchivistInstance } from '@xyo-network/archivist-model';
5
+ import { ModuleManifestPayload } from '@xyo-network/manifest-model';
6
+ import { AddressPreviousHashPayload, AttachableModuleInstance, ModuleEventData, ModuleFilter, ModuleFilterOptions, ModuleIdentifier, ModuleInstance, ModuleNameResolver, ModuleParams, ModuleQueryResult, ObjectFilterOptions } from '@xyo-network/module-model';
7
+ import { CompositeModuleResolver } from '@xyo-network/module-resolver';
8
+ import { Payload, Query, WithMeta } from '@xyo-network/payload-model';
9
+ import { AbstractModule } from './AbstractModule';
10
+ export declare abstract class AbstractModuleInstance<TParams extends ModuleParams = ModuleParams, TEventData extends ModuleEventData = ModuleEventData> extends AbstractModule<TParams, TEventData> implements AttachableModuleInstance<TParams, TEventData>, ModuleNameResolver {
11
+ static readonly uniqueName: string;
12
+ private _downResolver?;
13
+ private _parents;
14
+ private _privateResolver?;
15
+ private _upResolver?;
16
+ constructor(privateConstructorKey: string, params: TParams, account: AccountInstance);
17
+ get downResolver(): CompositeModuleResolver<import("@xyo-network/module-resolver").CompositeModuleResolverParams>;
18
+ get localName(): string | undefined;
19
+ get moduleIdentifierTransformers(): import("@xyo-network/module-model").ModuleIdentifierTransformer[];
20
+ get privateResolver(): CompositeModuleResolver<import("@xyo-network/module-resolver").CompositeModuleResolverParams>;
21
+ get root(): this;
22
+ get upResolver(): CompositeModuleResolver<import("@xyo-network/module-resolver").CompositeModuleResolverParams>;
23
+ addParent(module: ModuleInstance): void;
24
+ manifest(maxDepth?: number): Promise<ModuleManifestPayload>;
25
+ manifestQuery(account: AccountInstance, maxDepth?: number): Promise<ModuleQueryResult<ModuleManifestPayload>>;
26
+ moduleAddress(): Promise<AddressPreviousHashPayload[]>;
27
+ parents(): Promisable<ModuleInstance[]>;
28
+ privateChildren(): Promisable<ModuleInstance[]>;
29
+ publicChildren(): Promisable<ModuleInstance[]>;
30
+ removeParent(address: Address): void;
31
+ /** @deprecated do not pass undefined. If trying to get all, pass '*' */
32
+ resolve(): Promise<ModuleInstance[]>;
33
+ resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
34
+ resolve<T extends ModuleInstance = ModuleInstance>(filter: ModuleFilter, options?: ModuleFilterOptions<T>): Promise<T[]>;
35
+ resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
36
+ /** @deprecated use '*' if trying to resolve all */
37
+ resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter, options?: ModuleFilterOptions<T>): Promise<T[]>;
38
+ resolveIdentifier(id: ModuleIdentifier, options?: ObjectFilterOptions): Promise<Address | undefined>;
39
+ resolvePrivate<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
40
+ resolvePrivate<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
41
+ siblings(): Promise<ModuleInstance[]>;
42
+ state(): Promise<({
43
+ schema: string;
44
+ } & import("@xyo-network/payload-model").PayloadFields)[]>;
45
+ stateQuery(account: AccountInstance): Promise<ModuleQueryResult>;
46
+ subscribe(_queryAccount?: AccountInstance): void;
47
+ protected manifestHandler(maxDepth?: number, _ignoreAddresses?: Address[]): Promise<ModuleManifestPayload>;
48
+ protected resolveArchivingArchivists(): Promise<ArchivistInstance[]>;
49
+ protected sendQuery<T extends Query, P extends Payload = Payload, R extends Payload = Payload>(queryPayload: T, payloads?: P[], account?: AccountInstance): Promise<WithMeta<R>[]>;
50
+ protected sendQueryRaw<T extends Query, P extends Payload = Payload, R extends Payload = Payload>(queryPayload: T, payloads?: P[], account?: AccountInstance): Promise<ModuleQueryResult<R>>;
51
+ protected storeToArchivists(payloads: Payload[]): Promise<Payload[]>;
52
+ }
53
+ //# sourceMappingURL=AbstractModuleInstance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractModuleInstance.d.ts","sourceRoot":"","sources":["../../src/AbstractModuleInstance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { Base, BaseParams } from '@xylabs/object';
2
+ import { EventAnyListener, EventData, EventFunctions, EventListener } from '@xyo-network/module-events';
3
+ export declare class BaseEmitter<TParams extends BaseParams = BaseParams, TEventData extends EventData = EventData> extends Base<TParams> implements EventFunctions<TEventData> {
4
+ eventData: TEventData;
5
+ private events;
6
+ constructor(params: TParams);
7
+ clearListeners(eventNames: keyof TEventData | (keyof TEventData)[]): void;
8
+ emit<TEventName extends keyof TEventData = keyof TEventData, TEventArgs extends TEventData[TEventName] = TEventData[TEventName]>(eventName: TEventName, eventArgs: TEventArgs): Promise<void>;
9
+ emitSerial<TEventName extends keyof TEventData = keyof TEventData, TEventArgs extends TEventData[TEventName] = TEventData[TEventName]>(eventName: TEventName, eventArgs: TEventArgs): Promise<void>;
10
+ listenerCount(eventNames: keyof TEventData | (keyof TEventData)[]): number;
11
+ off<TEventName extends keyof TEventData>(eventNames: TEventName | TEventName[], listener: EventListener<TEventData[TEventName]>): void;
12
+ offAny(listener: EventAnyListener): void;
13
+ on<TEventName extends keyof TEventData>(eventNames: TEventName | TEventName[], listener: EventListener<TEventData[TEventName]>): () => void;
14
+ onAny(listener: EventAnyListener): () => void;
15
+ once<TEventName extends keyof TEventData>(eventName: TEventName, listener: EventListener<TEventData[TEventName]>): () => void;
16
+ }
17
+ //# sourceMappingURL=BaseEmitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseEmitter.d.ts","sourceRoot":"","sources":["../../src/BaseEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAU,MAAM,4BAA4B,CAAA;AAE/G,qBAAa,WAAW,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,UAAU,SAAS,SAAS,GAAG,SAAS,CACxG,SAAQ,IAAI,CAAC,OAAO,CACpB,YAAW,cAAc,CAAC,UAAU,CAAC;IAGrC,SAAS,aAAmB;IAE5B,OAAO,CAAC,MAAM,CAAoB;gBAEtB,MAAM,EAAE,OAAO;IAK3B,cAAc,CAAC,UAAU,EAAE,MAAM,UAAU,GAAG,CAAC,MAAM,UAAU,CAAC,EAAE;IAIlE,IAAI,CAAC,UAAU,SAAS,MAAM,UAAU,GAAG,MAAM,UAAU,EAAE,UAAU,SAAS,UAAU,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,EAC7H,SAAS,EAAE,UAAU,EACrB,SAAS,EAAE,UAAU;IAKvB,UAAU,CAAC,UAAU,SAAS,MAAM,UAAU,GAAG,MAAM,UAAU,EAAE,UAAU,SAAS,UAAU,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,EACnI,SAAS,EAAE,UAAU,EACrB,SAAS,EAAE,UAAU;IAKvB,aAAa,CAAC,UAAU,EAAE,MAAM,UAAU,GAAG,CAAC,MAAM,UAAU,CAAC,EAAE;IAIjE,GAAG,CAAC,UAAU,SAAS,MAAM,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,UAAU,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAI/H,MAAM,CAAC,QAAQ,EAAE,gBAAgB;IAIjC,EAAE,CAAC,UAAU,SAAS,MAAM,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,UAAU,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAI9H,KAAK,CAAC,QAAQ,EAAE,gBAAgB;IAIhC,IAAI,CAAC,UAAU,SAAS,MAAM,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;CAGjH"}