@xyo-network/module-abstract 2.74.5 → 2.75.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.
Files changed (202) hide show
  1. package/dist/browser/AbstractModule.cjs +756 -0
  2. package/dist/browser/AbstractModule.cjs.map +1 -0
  3. package/dist/browser/AbstractModule.d.cts.map +1 -0
  4. package/dist/browser/AbstractModule.d.mts.map +1 -0
  5. package/dist/browser/AbstractModule.d.ts +84 -0
  6. package/dist/browser/AbstractModule.d.ts.map +1 -0
  7. package/dist/browser/AbstractModule.js +571 -0
  8. package/dist/browser/AbstractModule.js.map +1 -0
  9. package/dist/browser/AbstractModuleInstance.cjs +798 -0
  10. package/dist/browser/AbstractModuleInstance.cjs.map +1 -0
  11. package/dist/browser/AbstractModuleInstance.d.cts.map +1 -0
  12. package/dist/browser/AbstractModuleInstance.d.mts.map +1 -0
  13. package/dist/browser/AbstractModuleInstance.d.ts +14 -0
  14. package/dist/browser/AbstractModuleInstance.d.ts.map +1 -0
  15. package/dist/browser/AbstractModuleInstance.js +45 -0
  16. package/dist/browser/AbstractModuleInstance.js.map +1 -0
  17. package/dist/browser/BaseEmitter.cjs +68 -0
  18. package/dist/browser/BaseEmitter.cjs.map +1 -0
  19. package/dist/browser/BaseEmitter.d.cts.map +1 -0
  20. package/dist/browser/BaseEmitter.d.mts.map +1 -0
  21. package/dist/browser/BaseEmitter.d.ts +17 -0
  22. package/dist/browser/BaseEmitter.d.ts.map +1 -0
  23. package/dist/browser/BaseEmitter.js +47 -0
  24. package/dist/browser/BaseEmitter.js.map +1 -0
  25. package/dist/browser/Error.cjs +68 -0
  26. package/dist/browser/Error.cjs.map +1 -0
  27. package/dist/browser/Error.d.cts.map +1 -0
  28. package/dist/browser/Error.d.mts.map +1 -0
  29. package/dist/browser/Error.d.ts +15 -0
  30. package/dist/browser/Error.d.ts.map +1 -0
  31. package/dist/browser/Error.js +47 -0
  32. package/dist/browser/Error.js.map +1 -0
  33. package/dist/browser/QueryValidator/ModuleConfigQueryValidator.cjs +83 -0
  34. package/dist/browser/QueryValidator/ModuleConfigQueryValidator.cjs.map +1 -0
  35. package/dist/browser/QueryValidator/ModuleConfigQueryValidator.d.cts.map +1 -0
  36. package/dist/browser/QueryValidator/ModuleConfigQueryValidator.d.mts.map +1 -0
  37. package/dist/browser/QueryValidator/ModuleConfigQueryValidator.d.ts +15 -0
  38. package/dist/browser/QueryValidator/ModuleConfigQueryValidator.d.ts.map +1 -0
  39. package/dist/browser/QueryValidator/ModuleConfigQueryValidator.js +62 -0
  40. package/dist/browser/QueryValidator/ModuleConfigQueryValidator.js.map +1 -0
  41. package/dist/browser/QueryValidator/QueryValidator.cjs +19 -0
  42. package/dist/browser/QueryValidator/QueryValidator.cjs.map +1 -0
  43. package/dist/browser/QueryValidator/QueryValidator.d.cts.map +1 -0
  44. package/dist/browser/QueryValidator/QueryValidator.d.mts.map +1 -0
  45. package/dist/browser/QueryValidator/QueryValidator.d.ts +8 -0
  46. package/dist/browser/QueryValidator/QueryValidator.d.ts.map +1 -0
  47. package/dist/browser/QueryValidator/QueryValidator.js +1 -0
  48. package/dist/browser/QueryValidator/QueryValidator.js.map +1 -0
  49. package/dist/browser/QueryValidator/SupportedQueryValidator.cjs +47 -0
  50. package/dist/browser/QueryValidator/SupportedQueryValidator.cjs.map +1 -0
  51. package/dist/browser/QueryValidator/SupportedQueryValidator.d.cts.map +1 -0
  52. package/dist/browser/QueryValidator/SupportedQueryValidator.d.mts.map +1 -0
  53. package/dist/browser/QueryValidator/SupportedQueryValidator.d.ts +22 -0
  54. package/dist/browser/QueryValidator/SupportedQueryValidator.d.ts.map +1 -0
  55. package/dist/browser/QueryValidator/SupportedQueryValidator.js +26 -0
  56. package/dist/browser/QueryValidator/SupportedQueryValidator.js.map +1 -0
  57. package/dist/browser/QueryValidator/index.cjs +108 -0
  58. package/dist/browser/QueryValidator/index.cjs.map +1 -0
  59. package/dist/browser/QueryValidator/index.d.cts.map +1 -0
  60. package/dist/browser/QueryValidator/index.d.mts.map +1 -0
  61. package/dist/browser/QueryValidator/index.d.ts +4 -0
  62. package/dist/browser/QueryValidator/index.d.ts.map +1 -0
  63. package/dist/browser/QueryValidator/index.js +4 -0
  64. package/dist/browser/QueryValidator/index.js.map +1 -0
  65. package/dist/{index.js → browser/index.cjs} +1 -11
  66. package/dist/browser/index.cjs.map +1 -0
  67. package/dist/browser/index.d.cts.map +1 -0
  68. package/dist/browser/index.d.mts.map +1 -0
  69. package/dist/browser/index.d.ts +6 -0
  70. package/dist/browser/index.d.ts.map +1 -0
  71. package/dist/browser/index.js +6 -0
  72. package/dist/browser/index.js.map +1 -0
  73. package/dist/docs.json +1031 -1031
  74. package/dist/node/AbstractModule.d.cts +84 -0
  75. package/dist/node/AbstractModule.d.cts.map +1 -0
  76. package/dist/node/AbstractModule.d.mts +84 -0
  77. package/dist/node/AbstractModule.d.mts.map +1 -0
  78. package/dist/node/AbstractModule.d.ts +84 -0
  79. package/dist/node/AbstractModule.d.ts.map +1 -0
  80. package/dist/node/AbstractModule.js +778 -0
  81. package/dist/node/AbstractModule.js.map +1 -0
  82. package/dist/node/AbstractModule.mjs +755 -0
  83. package/dist/node/AbstractModule.mjs.map +1 -0
  84. package/dist/node/AbstractModuleInstance.d.cts +14 -0
  85. package/dist/node/AbstractModuleInstance.d.cts.map +1 -0
  86. package/dist/node/AbstractModuleInstance.d.mts +14 -0
  87. package/dist/node/AbstractModuleInstance.d.mts.map +1 -0
  88. package/dist/node/AbstractModuleInstance.d.ts +14 -0
  89. package/dist/node/AbstractModuleInstance.d.ts.map +1 -0
  90. package/dist/node/AbstractModuleInstance.js +819 -0
  91. package/dist/node/AbstractModuleInstance.js.map +1 -0
  92. package/dist/node/AbstractModuleInstance.mjs +796 -0
  93. package/dist/node/AbstractModuleInstance.mjs.map +1 -0
  94. package/dist/node/BaseEmitter.d.cts +17 -0
  95. package/dist/node/BaseEmitter.d.cts.map +1 -0
  96. package/dist/node/BaseEmitter.d.mts +17 -0
  97. package/dist/node/BaseEmitter.d.mts.map +1 -0
  98. package/dist/node/BaseEmitter.d.ts +17 -0
  99. package/dist/node/BaseEmitter.d.ts.map +1 -0
  100. package/dist/node/BaseEmitter.js +71 -0
  101. package/dist/node/BaseEmitter.js.map +1 -0
  102. package/dist/node/BaseEmitter.mjs +48 -0
  103. package/dist/node/BaseEmitter.mjs.map +1 -0
  104. package/dist/node/Error.d.cts +15 -0
  105. package/dist/node/Error.d.cts.map +1 -0
  106. package/dist/node/Error.d.mts +15 -0
  107. package/dist/node/Error.d.mts.map +1 -0
  108. package/dist/node/Error.d.ts +15 -0
  109. package/dist/node/Error.d.ts.map +1 -0
  110. package/dist/node/Error.js +71 -0
  111. package/dist/node/Error.js.map +1 -0
  112. package/dist/node/Error.mjs +48 -0
  113. package/dist/node/Error.mjs.map +1 -0
  114. package/dist/node/QueryValidator/ModuleConfigQueryValidator.d.cts +15 -0
  115. package/dist/node/QueryValidator/ModuleConfigQueryValidator.d.cts.map +1 -0
  116. package/dist/node/QueryValidator/ModuleConfigQueryValidator.d.mts +15 -0
  117. package/dist/node/QueryValidator/ModuleConfigQueryValidator.d.mts.map +1 -0
  118. package/dist/node/QueryValidator/ModuleConfigQueryValidator.d.ts +15 -0
  119. package/dist/node/QueryValidator/ModuleConfigQueryValidator.d.ts.map +1 -0
  120. package/dist/node/QueryValidator/ModuleConfigQueryValidator.js +94 -0
  121. package/dist/node/QueryValidator/ModuleConfigQueryValidator.js.map +1 -0
  122. package/dist/node/QueryValidator/ModuleConfigQueryValidator.mjs +71 -0
  123. package/dist/node/QueryValidator/ModuleConfigQueryValidator.mjs.map +1 -0
  124. package/dist/node/QueryValidator/QueryValidator.d.cts +8 -0
  125. package/dist/node/QueryValidator/QueryValidator.d.cts.map +1 -0
  126. package/dist/node/QueryValidator/QueryValidator.d.mts +8 -0
  127. package/dist/node/QueryValidator/QueryValidator.d.mts.map +1 -0
  128. package/dist/node/QueryValidator/QueryValidator.d.ts +8 -0
  129. package/dist/node/QueryValidator/QueryValidator.d.ts.map +1 -0
  130. package/dist/node/QueryValidator/QueryValidator.js +19 -0
  131. package/dist/node/QueryValidator/QueryValidator.js.map +1 -0
  132. package/dist/node/QueryValidator/QueryValidator.mjs +1 -0
  133. package/dist/node/QueryValidator/QueryValidator.mjs.map +1 -0
  134. package/dist/node/QueryValidator/SupportedQueryValidator.d.cts +22 -0
  135. package/dist/node/QueryValidator/SupportedQueryValidator.d.cts.map +1 -0
  136. package/dist/node/QueryValidator/SupportedQueryValidator.d.mts +22 -0
  137. package/dist/node/QueryValidator/SupportedQueryValidator.d.mts.map +1 -0
  138. package/dist/node/QueryValidator/SupportedQueryValidator.d.ts +22 -0
  139. package/dist/node/QueryValidator/SupportedQueryValidator.d.ts.map +1 -0
  140. package/dist/node/QueryValidator/SupportedQueryValidator.js +51 -0
  141. package/dist/node/QueryValidator/SupportedQueryValidator.js.map +1 -0
  142. package/dist/node/QueryValidator/SupportedQueryValidator.mjs +27 -0
  143. package/dist/node/QueryValidator/SupportedQueryValidator.mjs.map +1 -0
  144. package/dist/node/QueryValidator/index.d.cts +4 -0
  145. package/dist/node/QueryValidator/index.d.cts.map +1 -0
  146. package/dist/node/QueryValidator/index.d.mts +4 -0
  147. package/dist/node/QueryValidator/index.d.mts.map +1 -0
  148. package/dist/node/QueryValidator/index.d.ts +4 -0
  149. package/dist/node/QueryValidator/index.d.ts.map +1 -0
  150. package/dist/node/QueryValidator/index.js +120 -0
  151. package/dist/node/QueryValidator/index.js.map +1 -0
  152. package/dist/node/QueryValidator/index.mjs +93 -0
  153. package/dist/node/QueryValidator/index.mjs.map +1 -0
  154. package/dist/node/index.d.cts +6 -0
  155. package/dist/node/index.d.cts.map +1 -0
  156. package/dist/node/index.d.mts +6 -0
  157. package/dist/node/index.d.mts.map +1 -0
  158. package/dist/node/index.d.ts +6 -0
  159. package/dist/node/index.d.ts.map +1 -0
  160. package/dist/node/index.js +831 -0
  161. package/dist/node/index.js.map +1 -0
  162. package/dist/{index.mjs → node/index.mjs} +78 -61
  163. package/dist/node/index.mjs.map +1 -0
  164. package/package.json +46 -43
  165. package/dist/AbstractModule.d.mts.map +0 -1
  166. package/dist/AbstractModule.d.ts.map +0 -1
  167. package/dist/AbstractModuleInstance.d.mts.map +0 -1
  168. package/dist/AbstractModuleInstance.d.ts.map +0 -1
  169. package/dist/BaseEmitter.d.mts.map +0 -1
  170. package/dist/BaseEmitter.d.ts.map +0 -1
  171. package/dist/Error.d.mts.map +0 -1
  172. package/dist/Error.d.ts.map +0 -1
  173. package/dist/QueryValidator/ModuleConfigQueryValidator.d.mts.map +0 -1
  174. package/dist/QueryValidator/ModuleConfigQueryValidator.d.ts.map +0 -1
  175. package/dist/QueryValidator/QueryValidator.d.mts.map +0 -1
  176. package/dist/QueryValidator/QueryValidator.d.ts.map +0 -1
  177. package/dist/QueryValidator/SupportedQueryValidator.d.mts.map +0 -1
  178. package/dist/QueryValidator/SupportedQueryValidator.d.ts.map +0 -1
  179. package/dist/QueryValidator/index.d.mts.map +0 -1
  180. package/dist/QueryValidator/index.d.ts.map +0 -1
  181. package/dist/index.d.mts.map +0 -1
  182. package/dist/index.d.ts.map +0 -1
  183. package/dist/index.js.map +0 -1
  184. package/dist/index.mjs.map +0 -1
  185. /package/dist/{AbstractModule.d.mts → browser/AbstractModule.d.cts} +0 -0
  186. /package/dist/{AbstractModule.d.ts → browser/AbstractModule.d.mts} +0 -0
  187. /package/dist/{AbstractModuleInstance.d.mts → browser/AbstractModuleInstance.d.cts} +0 -0
  188. /package/dist/{AbstractModuleInstance.d.ts → browser/AbstractModuleInstance.d.mts} +0 -0
  189. /package/dist/{BaseEmitter.d.mts → browser/BaseEmitter.d.cts} +0 -0
  190. /package/dist/{BaseEmitter.d.ts → browser/BaseEmitter.d.mts} +0 -0
  191. /package/dist/{Error.d.mts → browser/Error.d.cts} +0 -0
  192. /package/dist/{Error.d.ts → browser/Error.d.mts} +0 -0
  193. /package/dist/{QueryValidator/ModuleConfigQueryValidator.d.mts → browser/QueryValidator/ModuleConfigQueryValidator.d.cts} +0 -0
  194. /package/dist/{QueryValidator/ModuleConfigQueryValidator.d.ts → browser/QueryValidator/ModuleConfigQueryValidator.d.mts} +0 -0
  195. /package/dist/{QueryValidator/QueryValidator.d.mts → browser/QueryValidator/QueryValidator.d.cts} +0 -0
  196. /package/dist/{QueryValidator/QueryValidator.d.ts → browser/QueryValidator/QueryValidator.d.mts} +0 -0
  197. /package/dist/{QueryValidator/SupportedQueryValidator.d.mts → browser/QueryValidator/SupportedQueryValidator.d.cts} +0 -0
  198. /package/dist/{QueryValidator/SupportedQueryValidator.d.ts → browser/QueryValidator/SupportedQueryValidator.d.mts} +0 -0
  199. /package/dist/{QueryValidator/index.d.mts → browser/QueryValidator/index.d.cts} +0 -0
  200. /package/dist/{QueryValidator/index.d.ts → browser/QueryValidator/index.d.mts} +0 -0
  201. /package/dist/{index.d.mts → browser/index.d.cts} +0 -0
  202. /package/dist/{index.d.ts → browser/index.d.mts} +0 -0
@@ -0,0 +1,84 @@
1
+ import { AccountInstance } from '@xyo-network/account-model';
2
+ import { ArchivistInstance } from '@xyo-network/archivist-model';
3
+ import { QueryBoundWitness } from '@xyo-network/boundwitness-builder';
4
+ import { BoundWitness } from '@xyo-network/boundwitness-model';
5
+ import { ModuleManifestPayload } from '@xyo-network/manifest-model';
6
+ import { AddressPreviousHashPayload, CreatableModule, CreatableModuleFactory, IndividualArchivistConfig, Module, ModuleConfig, ModuleDescriptionPayload, ModuleEventData, ModuleFilter, ModuleFilterOptions, ModuleInstance, ModuleParams, ModuleQueryBase, ModuleQueryHandlerResult, ModuleQueryResult, SchemaString } from '@xyo-network/module-model';
7
+ import { CompositeModuleResolver } from '@xyo-network/module-resolver';
8
+ import { ModuleError, Payload, Query } from '@xyo-network/payload-model';
9
+ import { Promisable, PromiseEx } from '@xyo-network/promise';
10
+ import { WalletInstance } from '@xyo-network/wallet-model';
11
+ import { BaseEmitter } from './BaseEmitter';
12
+ import { Queryable } from './QueryValidator';
13
+ export declare abstract class AbstractModule<TParams extends ModuleParams = ModuleParams, TEventData extends ModuleEventData = ModuleEventData> extends BaseEmitter<TParams, TEventData> implements Module<TParams, TEventData> {
14
+ static configSchemas: string[];
15
+ static enableLazyLoad: boolean;
16
+ protected static privateConstructorKey: string;
17
+ readonly downResolver: Omit<CompositeModuleResolver, 'resolve'>;
18
+ readonly upResolver: Omit<CompositeModuleResolver, 'resolve>'>;
19
+ protected _account: AccountInstance | undefined;
20
+ protected readonly _baseModuleQueryAccountPaths: Record<ModuleQueryBase['schema'], string>;
21
+ protected readonly _queryAccounts: Record<ModuleQueryBase['schema'], AccountInstance | undefined>;
22
+ protected _startPromise: Promisable<boolean> | undefined;
23
+ protected _started: Promisable<boolean> | undefined;
24
+ protected readonly moduleConfigQueryValidator: Queryable;
25
+ protected readonly supportedQueryValidator: Queryable;
26
+ private _busyCount;
27
+ constructor(privateConstructorKey: string, params: TParams, account: AccountInstance);
28
+ static get configSchema(): string;
29
+ get account(): AccountInstance;
30
+ get address(): string;
31
+ get allowAnonymous(): boolean;
32
+ get config(): TParams['config'];
33
+ get ephemeralQueryAccountEnabled(): boolean;
34
+ get queries(): string[];
35
+ get queryAccountPaths(): Readonly<Record<Query['schema'], string | undefined>>;
36
+ get queryAccounts(): Readonly<Record<Query['schema'], AccountInstance | undefined>>;
37
+ get timestamp(): boolean;
38
+ protected abstract get _queryAccountPaths(): Record<Query['schema'], string>;
39
+ static _getRootFunction(funcName: string): any;
40
+ static _noOverride(functionName: string): void;
41
+ static create<TModule extends ModuleInstance>(this: CreatableModule<TModule>, params?: Omit<TModule['params'], 'config'> & {
42
+ config?: TModule['params']['config'];
43
+ }): Promise<TModule>;
44
+ static determineAccount({ account, accountDerivationPath, wallet, }: {
45
+ account?: AccountInstance | 'random';
46
+ accountDerivationPath?: string;
47
+ wallet?: WalletInstance;
48
+ }): Promise<AccountInstance>;
49
+ static factory<TModule extends ModuleInstance>(this: CreatableModule<TModule>, params?: Omit<TModule['params'], 'config'> & {
50
+ config?: TModule['params']['config'];
51
+ }): CreatableModuleFactory<TModule>;
52
+ _getRootFunction(funcName: string): any;
53
+ _noOverride(functionName: string): void;
54
+ busy<R>(closure: () => Promise<R>): Promise<R>;
55
+ emit<TEventName extends keyof TEventData = keyof TEventData, TEventArgs extends TEventData[TEventName] = TEventData[TEventName]>(eventName: TEventName, eventArgs: TEventArgs): Promise<void>;
56
+ previousHash(): Promisable<string | undefined>;
57
+ query<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryResult>;
58
+ queryable<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): boolean;
59
+ resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter, options?: ModuleFilterOptions<T>): Promise<T[]>;
60
+ resolve<T extends ModuleInstance = ModuleInstance>(nameOrAddress: string, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
61
+ start(_timeout?: number): Promisable<boolean>;
62
+ started(notStartedAction?: 'error' | 'throw' | 'warn' | 'log' | 'none', tryStart?: boolean): Promise<boolean>;
63
+ stop(_timeout?: number): Promise<boolean>;
64
+ protected bindHashes(hashes: string[], schema: SchemaString[], account?: AccountInstance): PromiseEx<unknown, AccountInstance>;
65
+ protected bindHashesInternal(hashes: string[], schema: SchemaString[], account?: AccountInstance): Promise<BoundWitness>;
66
+ protected bindQuery<T extends Query>(query: T, payloads?: Payload[], account?: AccountInstance): PromiseEx<[QueryBoundWitness, Payload[], Payload[]], AccountInstance>;
67
+ protected bindQueryInternal<T extends Query>(query: T, payloads?: Payload[], account?: AccountInstance): Promise<[QueryBoundWitness, Payload[], Payload[]]>;
68
+ protected bindQueryResult<T extends Query>(query: T, payloads: Payload[], additionalWitnesses?: AccountInstance[], errors?: ModuleError[]): Promise<ModuleQueryResult>;
69
+ protected commitArchivist: () => Promise<ArchivistInstance | undefined>;
70
+ protected describeHandler(): Promise<ModuleDescriptionPayload>;
71
+ protected discoverHandler(): Promisable<Payload[]>;
72
+ protected getArchivist(kind: keyof IndividualArchivistConfig): Promise<ArchivistInstance | undefined>;
73
+ protected initializeQueryAccounts(): Promise<void>;
74
+ protected manifestHandler(_ignoreAddresses?: string[]): Promisable<ModuleManifestPayload>;
75
+ protected moduleAddressHandler(): Promisable<AddressPreviousHashPayload[]>;
76
+ protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
77
+ protected readArchivist: () => Promise<ArchivistInstance | undefined>;
78
+ protected startHandler(): Promise<boolean>;
79
+ protected stopHandler(_timeout?: number): Promisable<boolean>;
80
+ protected subscribeHandler(): void;
81
+ protected validateConfig(config?: unknown, parents?: string[]): boolean;
82
+ protected writeArchivist: () => Promise<ArchivistInstance | undefined>;
83
+ }
84
+ //# 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,84 @@
1
+ import { AccountInstance } from '@xyo-network/account-model';
2
+ import { ArchivistInstance } from '@xyo-network/archivist-model';
3
+ import { QueryBoundWitness } from '@xyo-network/boundwitness-builder';
4
+ import { BoundWitness } from '@xyo-network/boundwitness-model';
5
+ import { ModuleManifestPayload } from '@xyo-network/manifest-model';
6
+ import { AddressPreviousHashPayload, CreatableModule, CreatableModuleFactory, IndividualArchivistConfig, Module, ModuleConfig, ModuleDescriptionPayload, ModuleEventData, ModuleFilter, ModuleFilterOptions, ModuleInstance, ModuleParams, ModuleQueryBase, ModuleQueryHandlerResult, ModuleQueryResult, SchemaString } from '@xyo-network/module-model';
7
+ import { CompositeModuleResolver } from '@xyo-network/module-resolver';
8
+ import { ModuleError, Payload, Query } from '@xyo-network/payload-model';
9
+ import { Promisable, PromiseEx } from '@xyo-network/promise';
10
+ import { WalletInstance } from '@xyo-network/wallet-model';
11
+ import { BaseEmitter } from './BaseEmitter';
12
+ import { Queryable } from './QueryValidator';
13
+ export declare abstract class AbstractModule<TParams extends ModuleParams = ModuleParams, TEventData extends ModuleEventData = ModuleEventData> extends BaseEmitter<TParams, TEventData> implements Module<TParams, TEventData> {
14
+ static configSchemas: string[];
15
+ static enableLazyLoad: boolean;
16
+ protected static privateConstructorKey: string;
17
+ readonly downResolver: Omit<CompositeModuleResolver, 'resolve'>;
18
+ readonly upResolver: Omit<CompositeModuleResolver, 'resolve>'>;
19
+ protected _account: AccountInstance | undefined;
20
+ protected readonly _baseModuleQueryAccountPaths: Record<ModuleQueryBase['schema'], string>;
21
+ protected readonly _queryAccounts: Record<ModuleQueryBase['schema'], AccountInstance | undefined>;
22
+ protected _startPromise: Promisable<boolean> | undefined;
23
+ protected _started: Promisable<boolean> | undefined;
24
+ protected readonly moduleConfigQueryValidator: Queryable;
25
+ protected readonly supportedQueryValidator: Queryable;
26
+ private _busyCount;
27
+ constructor(privateConstructorKey: string, params: TParams, account: AccountInstance);
28
+ static get configSchema(): string;
29
+ get account(): AccountInstance;
30
+ get address(): string;
31
+ get allowAnonymous(): boolean;
32
+ get config(): TParams['config'];
33
+ get ephemeralQueryAccountEnabled(): boolean;
34
+ get queries(): string[];
35
+ get queryAccountPaths(): Readonly<Record<Query['schema'], string | undefined>>;
36
+ get queryAccounts(): Readonly<Record<Query['schema'], AccountInstance | undefined>>;
37
+ get timestamp(): boolean;
38
+ protected abstract get _queryAccountPaths(): Record<Query['schema'], string>;
39
+ static _getRootFunction(funcName: string): any;
40
+ static _noOverride(functionName: string): void;
41
+ static create<TModule extends ModuleInstance>(this: CreatableModule<TModule>, params?: Omit<TModule['params'], 'config'> & {
42
+ config?: TModule['params']['config'];
43
+ }): Promise<TModule>;
44
+ static determineAccount({ account, accountDerivationPath, wallet, }: {
45
+ account?: AccountInstance | 'random';
46
+ accountDerivationPath?: string;
47
+ wallet?: WalletInstance;
48
+ }): Promise<AccountInstance>;
49
+ static factory<TModule extends ModuleInstance>(this: CreatableModule<TModule>, params?: Omit<TModule['params'], 'config'> & {
50
+ config?: TModule['params']['config'];
51
+ }): CreatableModuleFactory<TModule>;
52
+ _getRootFunction(funcName: string): any;
53
+ _noOverride(functionName: string): void;
54
+ busy<R>(closure: () => Promise<R>): Promise<R>;
55
+ emit<TEventName extends keyof TEventData = keyof TEventData, TEventArgs extends TEventData[TEventName] = TEventData[TEventName]>(eventName: TEventName, eventArgs: TEventArgs): Promise<void>;
56
+ previousHash(): Promisable<string | undefined>;
57
+ query<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryResult>;
58
+ queryable<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): boolean;
59
+ resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter, options?: ModuleFilterOptions<T>): Promise<T[]>;
60
+ resolve<T extends ModuleInstance = ModuleInstance>(nameOrAddress: string, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
61
+ start(_timeout?: number): Promisable<boolean>;
62
+ started(notStartedAction?: 'error' | 'throw' | 'warn' | 'log' | 'none', tryStart?: boolean): Promise<boolean>;
63
+ stop(_timeout?: number): Promise<boolean>;
64
+ protected bindHashes(hashes: string[], schema: SchemaString[], account?: AccountInstance): PromiseEx<unknown, AccountInstance>;
65
+ protected bindHashesInternal(hashes: string[], schema: SchemaString[], account?: AccountInstance): Promise<BoundWitness>;
66
+ protected bindQuery<T extends Query>(query: T, payloads?: Payload[], account?: AccountInstance): PromiseEx<[QueryBoundWitness, Payload[], Payload[]], AccountInstance>;
67
+ protected bindQueryInternal<T extends Query>(query: T, payloads?: Payload[], account?: AccountInstance): Promise<[QueryBoundWitness, Payload[], Payload[]]>;
68
+ protected bindQueryResult<T extends Query>(query: T, payloads: Payload[], additionalWitnesses?: AccountInstance[], errors?: ModuleError[]): Promise<ModuleQueryResult>;
69
+ protected commitArchivist: () => Promise<ArchivistInstance | undefined>;
70
+ protected describeHandler(): Promise<ModuleDescriptionPayload>;
71
+ protected discoverHandler(): Promisable<Payload[]>;
72
+ protected getArchivist(kind: keyof IndividualArchivistConfig): Promise<ArchivistInstance | undefined>;
73
+ protected initializeQueryAccounts(): Promise<void>;
74
+ protected manifestHandler(_ignoreAddresses?: string[]): Promisable<ModuleManifestPayload>;
75
+ protected moduleAddressHandler(): Promisable<AddressPreviousHashPayload[]>;
76
+ protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
77
+ protected readArchivist: () => Promise<ArchivistInstance | undefined>;
78
+ protected startHandler(): Promise<boolean>;
79
+ protected stopHandler(_timeout?: number): Promisable<boolean>;
80
+ protected subscribeHandler(): void;
81
+ protected validateConfig(config?: unknown, parents?: string[]): boolean;
82
+ protected writeArchivist: () => Promise<ArchivistInstance | undefined>;
83
+ }
84
+ //# 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,84 @@
1
+ import { AccountInstance } from '@xyo-network/account-model';
2
+ import { ArchivistInstance } from '@xyo-network/archivist-model';
3
+ import { QueryBoundWitness } from '@xyo-network/boundwitness-builder';
4
+ import { BoundWitness } from '@xyo-network/boundwitness-model';
5
+ import { ModuleManifestPayload } from '@xyo-network/manifest-model';
6
+ import { AddressPreviousHashPayload, CreatableModule, CreatableModuleFactory, IndividualArchivistConfig, Module, ModuleConfig, ModuleDescriptionPayload, ModuleEventData, ModuleFilter, ModuleFilterOptions, ModuleInstance, ModuleParams, ModuleQueryBase, ModuleQueryHandlerResult, ModuleQueryResult, SchemaString } from '@xyo-network/module-model';
7
+ import { CompositeModuleResolver } from '@xyo-network/module-resolver';
8
+ import { ModuleError, Payload, Query } from '@xyo-network/payload-model';
9
+ import { Promisable, PromiseEx } from '@xyo-network/promise';
10
+ import { WalletInstance } from '@xyo-network/wallet-model';
11
+ import { BaseEmitter } from './BaseEmitter';
12
+ import { Queryable } from './QueryValidator';
13
+ export declare abstract class AbstractModule<TParams extends ModuleParams = ModuleParams, TEventData extends ModuleEventData = ModuleEventData> extends BaseEmitter<TParams, TEventData> implements Module<TParams, TEventData> {
14
+ static configSchemas: string[];
15
+ static enableLazyLoad: boolean;
16
+ protected static privateConstructorKey: string;
17
+ readonly downResolver: Omit<CompositeModuleResolver, 'resolve'>;
18
+ readonly upResolver: Omit<CompositeModuleResolver, 'resolve>'>;
19
+ protected _account: AccountInstance | undefined;
20
+ protected readonly _baseModuleQueryAccountPaths: Record<ModuleQueryBase['schema'], string>;
21
+ protected readonly _queryAccounts: Record<ModuleQueryBase['schema'], AccountInstance | undefined>;
22
+ protected _startPromise: Promisable<boolean> | undefined;
23
+ protected _started: Promisable<boolean> | undefined;
24
+ protected readonly moduleConfigQueryValidator: Queryable;
25
+ protected readonly supportedQueryValidator: Queryable;
26
+ private _busyCount;
27
+ constructor(privateConstructorKey: string, params: TParams, account: AccountInstance);
28
+ static get configSchema(): string;
29
+ get account(): AccountInstance;
30
+ get address(): string;
31
+ get allowAnonymous(): boolean;
32
+ get config(): TParams['config'];
33
+ get ephemeralQueryAccountEnabled(): boolean;
34
+ get queries(): string[];
35
+ get queryAccountPaths(): Readonly<Record<Query['schema'], string | undefined>>;
36
+ get queryAccounts(): Readonly<Record<Query['schema'], AccountInstance | undefined>>;
37
+ get timestamp(): boolean;
38
+ protected abstract get _queryAccountPaths(): Record<Query['schema'], string>;
39
+ static _getRootFunction(funcName: string): any;
40
+ static _noOverride(functionName: string): void;
41
+ static create<TModule extends ModuleInstance>(this: CreatableModule<TModule>, params?: Omit<TModule['params'], 'config'> & {
42
+ config?: TModule['params']['config'];
43
+ }): Promise<TModule>;
44
+ static determineAccount({ account, accountDerivationPath, wallet, }: {
45
+ account?: AccountInstance | 'random';
46
+ accountDerivationPath?: string;
47
+ wallet?: WalletInstance;
48
+ }): Promise<AccountInstance>;
49
+ static factory<TModule extends ModuleInstance>(this: CreatableModule<TModule>, params?: Omit<TModule['params'], 'config'> & {
50
+ config?: TModule['params']['config'];
51
+ }): CreatableModuleFactory<TModule>;
52
+ _getRootFunction(funcName: string): any;
53
+ _noOverride(functionName: string): void;
54
+ busy<R>(closure: () => Promise<R>): Promise<R>;
55
+ emit<TEventName extends keyof TEventData = keyof TEventData, TEventArgs extends TEventData[TEventName] = TEventData[TEventName]>(eventName: TEventName, eventArgs: TEventArgs): Promise<void>;
56
+ previousHash(): Promisable<string | undefined>;
57
+ query<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryResult>;
58
+ queryable<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): boolean;
59
+ resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter, options?: ModuleFilterOptions<T>): Promise<T[]>;
60
+ resolve<T extends ModuleInstance = ModuleInstance>(nameOrAddress: string, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
61
+ start(_timeout?: number): Promisable<boolean>;
62
+ started(notStartedAction?: 'error' | 'throw' | 'warn' | 'log' | 'none', tryStart?: boolean): Promise<boolean>;
63
+ stop(_timeout?: number): Promise<boolean>;
64
+ protected bindHashes(hashes: string[], schema: SchemaString[], account?: AccountInstance): PromiseEx<unknown, AccountInstance>;
65
+ protected bindHashesInternal(hashes: string[], schema: SchemaString[], account?: AccountInstance): Promise<BoundWitness>;
66
+ protected bindQuery<T extends Query>(query: T, payloads?: Payload[], account?: AccountInstance): PromiseEx<[QueryBoundWitness, Payload[], Payload[]], AccountInstance>;
67
+ protected bindQueryInternal<T extends Query>(query: T, payloads?: Payload[], account?: AccountInstance): Promise<[QueryBoundWitness, Payload[], Payload[]]>;
68
+ protected bindQueryResult<T extends Query>(query: T, payloads: Payload[], additionalWitnesses?: AccountInstance[], errors?: ModuleError[]): Promise<ModuleQueryResult>;
69
+ protected commitArchivist: () => Promise<ArchivistInstance | undefined>;
70
+ protected describeHandler(): Promise<ModuleDescriptionPayload>;
71
+ protected discoverHandler(): Promisable<Payload[]>;
72
+ protected getArchivist(kind: keyof IndividualArchivistConfig): Promise<ArchivistInstance | undefined>;
73
+ protected initializeQueryAccounts(): Promise<void>;
74
+ protected manifestHandler(_ignoreAddresses?: string[]): Promisable<ModuleManifestPayload>;
75
+ protected moduleAddressHandler(): Promisable<AddressPreviousHashPayload[]>;
76
+ protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
77
+ protected readArchivist: () => Promise<ArchivistInstance | undefined>;
78
+ protected startHandler(): Promise<boolean>;
79
+ protected stopHandler(_timeout?: number): Promisable<boolean>;
80
+ protected subscribeHandler(): void;
81
+ protected validateConfig(config?: unknown, parents?: string[]): boolean;
82
+ protected writeArchivist: () => Promise<ArchivistInstance | undefined>;
83
+ }
84
+ //# 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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"}