@xyo-network/module-wrapper 2.107.5 → 2.108.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/browser/ModuleWrapper.d.cts +16 -16
  2. package/dist/browser/ModuleWrapper.d.cts.map +1 -1
  3. package/dist/browser/ModuleWrapper.d.mts +16 -16
  4. package/dist/browser/ModuleWrapper.d.mts.map +1 -1
  5. package/dist/browser/ModuleWrapper.d.ts +16 -16
  6. package/dist/browser/ModuleWrapper.d.ts.map +1 -1
  7. package/dist/browser/index.cjs +47 -47
  8. package/dist/browser/index.cjs.map +1 -1
  9. package/dist/browser/index.js +47 -47
  10. package/dist/browser/index.js.map +1 -1
  11. package/dist/browser/models.d.cts +1 -1
  12. package/dist/browser/models.d.cts.map +1 -1
  13. package/dist/browser/models.d.mts +1 -1
  14. package/dist/browser/models.d.mts.map +1 -1
  15. package/dist/browser/models.d.ts +1 -1
  16. package/dist/browser/models.d.ts.map +1 -1
  17. package/dist/neutral/ModuleWrapper.d.cts +16 -16
  18. package/dist/neutral/ModuleWrapper.d.cts.map +1 -1
  19. package/dist/neutral/ModuleWrapper.d.mts +16 -16
  20. package/dist/neutral/ModuleWrapper.d.mts.map +1 -1
  21. package/dist/neutral/ModuleWrapper.d.ts +16 -16
  22. package/dist/neutral/ModuleWrapper.d.ts.map +1 -1
  23. package/dist/neutral/index.cjs +47 -47
  24. package/dist/neutral/index.cjs.map +1 -1
  25. package/dist/neutral/index.js +47 -47
  26. package/dist/neutral/index.js.map +1 -1
  27. package/dist/neutral/models.d.cts +1 -1
  28. package/dist/neutral/models.d.cts.map +1 -1
  29. package/dist/neutral/models.d.mts +1 -1
  30. package/dist/neutral/models.d.mts.map +1 -1
  31. package/dist/neutral/models.d.ts +1 -1
  32. package/dist/neutral/models.d.ts.map +1 -1
  33. package/dist/node/ModuleWrapper.d.cts +16 -16
  34. package/dist/node/ModuleWrapper.d.cts.map +1 -1
  35. package/dist/node/ModuleWrapper.d.mts +16 -16
  36. package/dist/node/ModuleWrapper.d.mts.map +1 -1
  37. package/dist/node/ModuleWrapper.d.ts +16 -16
  38. package/dist/node/ModuleWrapper.d.ts.map +1 -1
  39. package/dist/node/index.cjs +48 -48
  40. package/dist/node/index.cjs.map +1 -1
  41. package/dist/node/index.js +48 -48
  42. package/dist/node/index.js.map +1 -1
  43. package/dist/node/models.d.cts +1 -1
  44. package/dist/node/models.d.cts.map +1 -1
  45. package/dist/node/models.d.mts +1 -1
  46. package/dist/node/models.d.mts.map +1 -1
  47. package/dist/node/models.d.ts +1 -1
  48. package/dist/node/models.d.ts.map +1 -1
  49. package/package.json +21 -21
  50. package/src/ModuleWrapper.ts +58 -61
  51. package/src/models.ts +1 -1
@@ -15,13 +15,13 @@ export type ConstructableModuleWrapper<TWrapper extends ModuleWrapper> = {
15
15
  instanceIdentityCheck: InstanceTypeCheck;
16
16
  moduleIdentityCheck: ModuleTypeCheck;
17
17
  requiredQueries: string[];
18
- new (params: ModuleWrapperParams<TWrapper['module']>): TWrapper;
19
- canWrap(module: Module | undefined): boolean;
18
+ new (params: ModuleWrapperParams<TWrapper['mod']>): TWrapper;
19
+ canWrap(mod: Module | undefined): boolean;
20
20
  is<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, wrapper?: any): wrapper is TModuleWrapper;
21
- tryWrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, module: Module | undefined): TModuleWrapper | undefined;
22
- tryWrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, module: Module | undefined, account: AccountInstance, checkIdentity?: boolean): TModuleWrapper | undefined;
23
- wrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, module: Module | undefined): TModuleWrapper;
24
- wrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, module: Module | undefined, account: AccountInstance, checkIdentity?: boolean): TModuleWrapper;
21
+ tryWrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, mod: Module | undefined): TModuleWrapper | undefined;
22
+ tryWrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, mod: Module | undefined, account: AccountInstance, checkIdentity?: boolean): TModuleWrapper | undefined;
23
+ wrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, mod: Module | undefined): TModuleWrapper;
24
+ wrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, mod: Module | undefined, account: AccountInstance, checkIdentity?: boolean): TModuleWrapper;
25
25
  };
26
26
  export declare function constructableModuleWrapper<TWrapper extends ModuleWrapper>(): <U extends ConstructableModuleWrapper<TWrapper>>(constructor: U) => void;
27
27
  export declare class ModuleWrapper<TWrappedModule extends Module = Module> extends Base<Exclude<Omit<TWrappedModule['params'], 'config'> & {
@@ -44,15 +44,15 @@ export declare class ModuleWrapper<TWrappedModule extends Module = Module> exten
44
44
  get config(): Exclude<TWrappedModule["params"]["config"], undefined>;
45
45
  get downResolver(): ModuleResolverInstance;
46
46
  get id(): string;
47
+ get mod(): TWrappedModule;
47
48
  get modName(): string | undefined;
48
- get module(): TWrappedModule;
49
49
  get priority(): ObjectResolverPriority;
50
50
  get privateResolver(): ModuleResolverInstance;
51
51
  get queries(): string[];
52
52
  get status(): ModuleStatus;
53
53
  get upResolver(): ModuleResolverInstance;
54
54
  protected set status(value: ModuleStatus);
55
- static canWrap(module?: Module): module is Module<import("@xylabs/object").BaseParamsFields & {
55
+ static canWrap(mod?: Module): mod is Module<import("@xylabs/object").BaseParamsFields & {
56
56
  account?: AccountInstance | "random";
57
57
  addToResolvers?: boolean;
58
58
  additionalSigners?: AccountInstance[];
@@ -65,15 +65,15 @@ export declare class ModuleWrapper<TWrappedModule extends Module = Module> exten
65
65
  ephemeralQueryAccountEnabled?: boolean;
66
66
  moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
67
67
  }, import("@xyo-network/module-model").ModuleEventData<object>>;
68
- static hasRequiredQueries(module: Module): boolean;
68
+ static hasRequiredQueries(mod: Module): boolean;
69
69
  static is<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, wrapper: any): wrapper is TModuleWrapper;
70
- static missingRequiredQueries(module: Module): string[];
71
- static tryWrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, module: Module | undefined): TModuleWrapper | undefined;
72
- static tryWrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, module: Module | undefined, account: AccountInstance, checkIdentity?: boolean): TModuleWrapper | undefined;
73
- static with<TModuleWrapper extends ModuleWrapper, R extends Promisable<void> = void>(this: ConstructableModuleWrapper<TModuleWrapper>, module: any, closure: (module: TModuleWrapper) => R): R | undefined;
74
- static wrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, module: Module | undefined): TModuleWrapper;
75
- static wrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, module: Module | undefined, account: AccountInstance, checkIdentity?: boolean): TModuleWrapper;
76
- addParent(module: ModuleInstance): void;
70
+ static missingRequiredQueries(mod: Module): string[];
71
+ static tryWrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, mod: Module | undefined): TModuleWrapper | undefined;
72
+ static tryWrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, mod: Module | undefined, account: AccountInstance, checkIdentity?: boolean): TModuleWrapper | undefined;
73
+ static with<TModuleWrapper extends ModuleWrapper, R extends Promisable<void> = void>(this: ConstructableModuleWrapper<TModuleWrapper>, mod: any, closure: (mod: TModuleWrapper) => R): R | undefined;
74
+ static wrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, mod: Module | undefined): TModuleWrapper;
75
+ static wrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, mod: Module | undefined, account: AccountInstance, checkIdentity?: boolean): TModuleWrapper;
76
+ addParent(mod: ModuleInstance): void;
77
77
  addressPreviousHash(): Promise<AddressPreviousHashPayload>;
78
78
  clearListeners(eventNames: Parameters<TWrappedModule['clearListeners']>[0]): void;
79
79
  emit(eventName: Parameters<TWrappedModule['emit']>[0], eventArgs: Parameters<TWrappedModule['emit']>[1]): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"ModuleWrapper.d.ts","sourceRoot":"","sources":["../../src/ModuleWrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModuleWrapper.d.ts","sourceRoot":"","sources":["../../src/ModuleWrapper.ts"],"names":[],"mappings":"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"}
@@ -72,9 +72,9 @@ var _ModuleWrapper = class _ModuleWrapper extends import_object.Base {
72
72
  ...params
73
73
  };
74
74
  const mutatedParams = {
75
- ...params.module.params,
75
+ ...params.mod.params,
76
76
  config: {
77
- ...params.module.params.config
77
+ ...params.mod.params.config
78
78
  }
79
79
  };
80
80
  super(mutatedParams);
@@ -87,45 +87,45 @@ var _ModuleWrapper = class _ModuleWrapper extends import_object.Base {
87
87
  return this.wrapperParams.additionalSigners ?? [];
88
88
  }
89
89
  get address() {
90
- return this.module.address;
90
+ return this.mod.address;
91
91
  }
92
92
  get config() {
93
- return this.module.config;
93
+ return this.mod.config;
94
94
  }
95
95
  get downResolver() {
96
- const instance = (0, import_module_model.asAttachableModuleInstance)(this.module);
96
+ const instance = (0, import_module_model.asAttachableModuleInstance)(this.mod);
97
97
  if (instance) {
98
98
  return instance.downResolver;
99
99
  }
100
100
  throw new Error("Unsupported");
101
101
  }
102
102
  get id() {
103
- return this.module.id;
103
+ return this.mod.id;
104
104
  }
105
- get modName() {
106
- return this.module.modName;
105
+ get mod() {
106
+ return this.wrapperParams.mod;
107
107
  }
108
- get module() {
109
- return this.wrapperParams.module;
108
+ get modName() {
109
+ return this.mod.modName;
110
110
  }
111
111
  get priority() {
112
112
  return import_module_model.ObjectResolverPriority.Low;
113
113
  }
114
114
  get privateResolver() {
115
- const instance = (0, import_module_model.asAttachableModuleInstance)(this.module);
115
+ const instance = (0, import_module_model.asAttachableModuleInstance)(this.mod);
116
116
  if (instance) {
117
117
  return instance.privateResolver;
118
118
  }
119
119
  throw new Error("Unsupported");
120
120
  }
121
121
  get queries() {
122
- return this.module.queries;
122
+ return this.mod.queries;
123
123
  }
124
124
  get status() {
125
125
  return this._status;
126
126
  }
127
127
  get upResolver() {
128
- const instance = (0, import_module_model.asAttachableModuleInstance)(this.module);
128
+ const instance = (0, import_module_model.asAttachableModuleInstance)(this.mod);
129
129
  if (instance) {
130
130
  return instance.upResolver;
131
131
  }
@@ -136,47 +136,47 @@ var _ModuleWrapper = class _ModuleWrapper extends import_object.Base {
136
136
  this._status = value;
137
137
  }
138
138
  }
139
- static canWrap(module2) {
140
- return !!module2 && this.moduleIdentityCheck(module2);
139
+ static canWrap(mod) {
140
+ return !!mod && this.moduleIdentityCheck(mod);
141
141
  }
142
- static hasRequiredQueries(module2) {
143
- return this.missingRequiredQueries(module2).length === 0;
142
+ static hasRequiredQueries(mod) {
143
+ return this.missingRequiredQueries(mod).length === 0;
144
144
  }
145
145
  static is(wrapper) {
146
146
  return wrapper instanceof this;
147
147
  }
148
- static missingRequiredQueries(module2) {
149
- const moduleQueries = module2.queries;
148
+ static missingRequiredQueries(mod) {
149
+ const modQueries = mod.queries;
150
150
  return (0, import_lodash.compact)(this.requiredQueries.map((query) => {
151
- return moduleQueries.includes(query) ? null : query;
151
+ return modQueries.includes(query) ? null : query;
152
152
  }));
153
153
  }
154
- static tryWrap(module2, account, checkIdentity = true) {
154
+ static tryWrap(mod, account, checkIdentity = true) {
155
155
  var _a;
156
- if (!checkIdentity || this.canWrap(module2)) {
156
+ if (!checkIdentity || this.canWrap(mod)) {
157
157
  if (!account) {
158
158
  (_a = this.defaultLogger) == null ? void 0 : _a.info("Anonymous Module Wrapper Created");
159
159
  }
160
160
  return new this({
161
161
  account: account ?? import_account.Account.randomSync(),
162
- module: module2
162
+ mod
163
163
  });
164
164
  }
165
165
  }
166
- static with(module2, closure) {
167
- return this.is(module2) ? closure(module2) : void 0;
166
+ static with(mod, closure) {
167
+ return this.is(mod) ? closure(mod) : void 0;
168
168
  }
169
- static wrap(module2, account, checkIdentity = true) {
170
- (0, import_assert.assertEx)(!checkIdentity || module2 && this.moduleIdentityCheck(module2), () => {
169
+ static wrap(mod, account, checkIdentity = true) {
170
+ (0, import_assert.assertEx)(!checkIdentity || mod && this.moduleIdentityCheck(mod), () => {
171
171
  var _a;
172
- return `Passed module failed identity check: ${(_a = module2 == null ? void 0 : module2.config) == null ? void 0 : _a.schema}`;
172
+ return `Passed mod failed identity check: ${(_a = mod == null ? void 0 : mod.config) == null ? void 0 : _a.schema}`;
173
173
  });
174
- return (0, import_assert.assertEx)(this.tryWrap(module2, account ?? import_account.Account.randomSync(), checkIdentity), () => "Unable to wrap module as ModuleWrapper");
174
+ return (0, import_assert.assertEx)(this.tryWrap(mod, account ?? import_account.Account.randomSync(), checkIdentity), () => "Unable to wrap mod as ModuleWrapper");
175
175
  }
176
- addParent(module2) {
177
- const existingEntry = this._parents.find((parent) => parent.address === module2.address);
176
+ addParent(mod) {
177
+ const existingEntry = this._parents.find((parent) => parent.address === mod.address);
178
178
  if (!existingEntry) {
179
- this._parents.push(module2);
179
+ this._parents.push(mod);
180
180
  }
181
181
  }
182
182
  async addressPreviousHash() {
@@ -186,16 +186,16 @@ var _ModuleWrapper = class _ModuleWrapper extends import_object.Base {
186
186
  return (0, import_assert.assertEx)((await this.sendQuery(queryPayload)).find((payload) => payload.schema === import_module_model.AddressPreviousHashSchema), () => "Result did not include correct payload");
187
187
  }
188
188
  clearListeners(eventNames) {
189
- return this.module.clearListeners(eventNames);
189
+ return this.mod.clearListeners(eventNames);
190
190
  }
191
191
  emit(eventName, eventArgs) {
192
- return this.module.emit(eventName, eventArgs);
192
+ return this.mod.emit(eventName, eventArgs);
193
193
  }
194
194
  emitSerial(eventName, eventArgs) {
195
- return this.module.emitSerial(eventName, eventArgs);
195
+ return this.mod.emitSerial(eventName, eventArgs);
196
196
  }
197
197
  listenerCount(eventNames) {
198
- return this.module.listenerCount(eventNames);
198
+ return this.mod.listenerCount(eventNames);
199
199
  }
200
200
  async manifest(maxDepth) {
201
201
  const queryPayload = {
@@ -222,19 +222,19 @@ var _ModuleWrapper = class _ModuleWrapper extends import_object.Base {
222
222
  return await this.sendQuery(queryPayload);
223
223
  }
224
224
  off(eventNames, listener) {
225
- return this.module.off(eventNames, listener);
225
+ return this.mod.off(eventNames, listener);
226
226
  }
227
227
  offAny(listener) {
228
- return this.module.offAny(listener);
228
+ return this.mod.offAny(listener);
229
229
  }
230
230
  on(eventNames, listener) {
231
- return this.module.on(eventNames, listener);
231
+ return this.mod.on(eventNames, listener);
232
232
  }
233
233
  onAny(listener) {
234
- return this.module.onAny(listener);
234
+ return this.mod.onAny(listener);
235
235
  }
236
236
  once(eventName, listener) {
237
- return this.module.once(eventName, listener);
237
+ return this.mod.once(eventName, listener);
238
238
  }
239
239
  parents() {
240
240
  return this._parents;
@@ -252,28 +252,28 @@ var _ModuleWrapper = class _ModuleWrapper extends import_object.Base {
252
252
  return await this.sendQueryRaw(queryPayload, void 0, account);
253
253
  }
254
254
  async privateChildren() {
255
- if ((0, import_module_model.isModuleInstance)(this.module)) {
256
- return await this.module.privateChildren();
255
+ if ((0, import_module_model.isModuleInstance)(this.mod)) {
256
+ return await this.mod.privateChildren();
257
257
  }
258
258
  return [];
259
259
  }
260
260
  async publicChildren() {
261
- if ((0, import_module_model.isModuleInstance)(this.module)) {
262
- return await this.module.publicChildren();
261
+ if ((0, import_module_model.isModuleInstance)(this.mod)) {
262
+ return await this.mod.publicChildren();
263
263
  }
264
264
  return [];
265
265
  }
266
266
  async query(query, payloads) {
267
- return await this.module.query(query, payloads);
267
+ return await this.mod.query(query, payloads);
268
268
  }
269
269
  queryable(query, payloads) {
270
- return this.module.queryable(query, payloads);
270
+ return this.mod.queryable(query, payloads);
271
271
  }
272
272
  removeParent(address) {
273
273
  this._parents = this._parents.filter((item) => item.address !== address);
274
274
  }
275
275
  async resolve(idOrFilter = "*", options) {
276
- const instance = (0, import_module_model.asModuleInstance)(this.module);
276
+ const instance = (0, import_module_model.asModuleInstance)(this.mod);
277
277
  if (instance == null ? void 0 : instance["resolve"]) {
278
278
  if (idOrFilter === "*") {
279
279
  return await instance.resolve("*", options);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/ModuleWrapper.ts"],"sourcesContent":["export * from './models'\nexport * from './ModuleWrapper'\n","import { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport { Address } from '@xylabs/hex'\nimport { compact } from '@xylabs/lodash'\nimport { Logger } from '@xylabs/logger'\nimport { Base } from '@xylabs/object'\nimport { Promisable, PromiseEx } from '@xylabs/promise'\nimport { Account } from '@xyo-network/account'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { QueryBoundWitnessBuilder } from '@xyo-network/boundwitness-builder'\nimport { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { ModuleManifestPayload } from '@xyo-network/manifest-model'\nimport { EventAnyListener, EventListener } from '@xyo-network/module-events'\nimport {\n AddressPreviousHashPayload,\n AddressPreviousHashSchema,\n asAttachableModuleInstance,\n asModuleInstance,\n AttachableModuleInstance,\n duplicateModules,\n InstanceTypeCheck,\n isModule,\n isModuleInstance,\n Module,\n ModuleAddressQuery,\n ModuleAddressQuerySchema,\n ModuleFilter,\n ModuleFilterOptions,\n ModuleIdentifier,\n ModuleInstance,\n ModuleManifestQuery,\n ModuleManifestQuerySchema,\n ModuleQueryResult,\n ModuleResolverInstance,\n ModuleStateQuery,\n ModuleStateQuerySchema,\n ModuleStatus,\n ModuleTypeCheck,\n ObjectResolverPriority,\n} from '@xyo-network/module-model'\nimport { ModuleError, ModuleErrorSchema, Payload, Query, WithMeta } from '@xyo-network/payload-model'\nimport { LRUCache } from 'lru-cache'\n\nimport type { ModuleWrapperParams } from './models'\n\nexport type ConstructableModuleWrapper<TWrapper extends ModuleWrapper> = {\n defaultLogger?: Logger\n instanceIdentityCheck: InstanceTypeCheck\n moduleIdentityCheck: ModuleTypeCheck\n requiredQueries: string[]\n new (params: ModuleWrapperParams<TWrapper['module']>): TWrapper\n\n canWrap(module: Module | undefined): boolean\n\n is<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n wrapper?: any,\n ): wrapper is TModuleWrapper\n\n /** @deprecated pass an account for second parameter */\n tryWrap<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n module: Module | undefined,\n ): TModuleWrapper | undefined\n tryWrap<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n module: Module | undefined,\n account: AccountInstance,\n checkIdentity?: boolean,\n ): TModuleWrapper | undefined\n\n /** @deprecated pass an account for second parameter */\n wrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, module: Module | undefined): TModuleWrapper\n wrap<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n module: Module | undefined,\n account: AccountInstance,\n checkIdentity?: boolean,\n ): TModuleWrapper\n}\n\nexport function constructableModuleWrapper<TWrapper extends ModuleWrapper>() {\n return <U extends ConstructableModuleWrapper<TWrapper>>(constructor: U) => {\n constructor\n }\n}\n\n@constructableModuleWrapper()\nexport class ModuleWrapper<TWrappedModule extends Module = Module>\n extends Base<Exclude<Omit<TWrappedModule['params'], 'config'> & { config: Exclude<TWrappedModule['params']['config'], undefined> }, undefined>>\n implements AttachableModuleInstance<TWrappedModule['params'], TWrappedModule['eventData']>\n{\n static instanceIdentityCheck: InstanceTypeCheck = isModuleInstance\n static moduleIdentityCheck: ModuleTypeCheck = isModule\n static requiredQueries: string[] = [ModuleStateQuerySchema]\n\n eventData = {} as TWrappedModule['eventData']\n\n protected readonly cachedCalls = new LRUCache<string, Payload[]>({ max: 1000, ttl: 1000 * 60, ttlAutopurge: true })\n\n protected readonly wrapperParams: ModuleWrapperParams<TWrappedModule>\n\n private _parents: ModuleInstance[] = []\n private _status: ModuleStatus = 'wrapped'\n\n constructor(params: ModuleWrapperParams<TWrappedModule>) {\n const mutatedWrapperParams = { ...params } as ModuleWrapperParams<TWrappedModule>\n const mutatedParams = { ...params.module.params, config: { ...params.module.params.config } } as Exclude<\n Omit<TWrappedModule['params'], 'config'> & { config: Exclude<TWrappedModule['params']['config'], undefined> },\n undefined\n >\n\n //set the root params to the wrapped module params\n super(mutatedParams)\n this.wrapperParams = mutatedWrapperParams\n }\n\n get account() {\n return this.wrapperParams.account\n }\n\n get additionalSigners() {\n return this.wrapperParams.additionalSigners ?? []\n }\n\n get address() {\n return this.module.address\n }\n\n get config() {\n return this.module.config as Exclude<TWrappedModule['params']['config'], undefined>\n }\n\n get downResolver(): ModuleResolverInstance {\n //Should we be allowing this?\n const instance: AttachableModuleInstance | undefined = asAttachableModuleInstance(this.module)\n if (instance) {\n return instance.downResolver as ModuleResolverInstance\n }\n throw new Error('Unsupported')\n }\n\n get id() {\n return this.module.id\n }\n\n get modName() {\n return this.module.modName\n }\n\n get module() {\n return this.wrapperParams.module\n }\n\n get priority() {\n return ObjectResolverPriority.Low\n }\n\n get privateResolver(): ModuleResolverInstance {\n //Should we be allowing this?\n const instance = asAttachableModuleInstance(this.module)\n if (instance) {\n return instance.privateResolver as ModuleResolverInstance\n }\n throw new Error('Unsupported')\n }\n\n get queries(): string[] {\n return this.module.queries\n }\n\n get status() {\n return this._status\n }\n\n get upResolver(): ModuleResolverInstance {\n //Should we be allowing this?\n const instance = asAttachableModuleInstance(this.module)\n if (instance) {\n return instance.upResolver as ModuleResolverInstance\n }\n throw new Error('Unsupported')\n }\n\n protected set status(value: ModuleStatus) {\n if (this._status !== 'dead') {\n this._status = value\n }\n }\n\n static canWrap(module?: Module) {\n return !!module && this.moduleIdentityCheck(module)\n }\n\n static hasRequiredQueries(module: Module) {\n return this.missingRequiredQueries(module).length === 0\n }\n\n static is<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n wrapper: any,\n ): wrapper is TModuleWrapper {\n return wrapper instanceof this\n }\n\n static missingRequiredQueries(module: Module): string[] {\n const moduleQueries = module.queries\n return compact(\n this.requiredQueries.map((query) => {\n return moduleQueries.includes(query) ? null : query\n }),\n )\n }\n\n /** @deprecated pass an account for second parameter */\n static tryWrap<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n module: Module | undefined,\n ): TModuleWrapper | undefined\n static tryWrap<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n module: Module | undefined,\n account: AccountInstance,\n checkIdentity?: boolean,\n ): TModuleWrapper | undefined\n static tryWrap<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n module: Module | undefined,\n account?: AccountInstance,\n checkIdentity = true,\n ): TModuleWrapper | undefined {\n if (!checkIdentity || this.canWrap(module)) {\n if (!account) {\n this.defaultLogger?.info('Anonymous Module Wrapper Created')\n }\n return new this({ account: account ?? Account.randomSync(), module: module as TModuleWrapper['module'] })\n }\n }\n\n static with<TModuleWrapper extends ModuleWrapper, R extends Promisable<void> = void>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n module: any,\n\n closure: (module: TModuleWrapper) => R,\n ): R | undefined {\n return this.is(module) ? closure(module) : undefined\n }\n\n /** @deprecated pass an account for second parameter */\n static wrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, module: Module | undefined): TModuleWrapper\n static wrap<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n module: Module | undefined,\n account: AccountInstance,\n checkIdentity?: boolean,\n ): TModuleWrapper\n static wrap<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n module: Module | undefined,\n account?: AccountInstance,\n checkIdentity = true,\n ): TModuleWrapper {\n assertEx(!checkIdentity || (module && this.moduleIdentityCheck(module)), () => `Passed module failed identity check: ${module?.config?.schema}`)\n return assertEx(this.tryWrap(module, account ?? Account.randomSync(), checkIdentity), () => 'Unable to wrap module as ModuleWrapper')\n }\n\n addParent(module: ModuleInstance) {\n const existingEntry = this._parents.find((parent) => parent.address === module.address)\n if (!existingEntry) {\n this._parents.push(module)\n }\n }\n\n async addressPreviousHash(): Promise<AddressPreviousHashPayload> {\n const queryPayload: ModuleAddressQuery = { schema: ModuleAddressQuerySchema }\n return assertEx(\n (await this.sendQuery(queryPayload)).find((payload) => payload.schema === AddressPreviousHashSchema) as WithMeta<AddressPreviousHashPayload>,\n () => 'Result did not include correct payload',\n )\n }\n\n clearListeners(eventNames: Parameters<TWrappedModule['clearListeners']>[0]) {\n return this.module.clearListeners(eventNames)\n }\n\n emit(eventName: Parameters<TWrappedModule['emit']>[0], eventArgs: Parameters<TWrappedModule['emit']>[1]) {\n return this.module.emit(eventName, eventArgs)\n }\n\n emitSerial(eventName: Parameters<TWrappedModule['emitSerial']>[0], eventArgs: Parameters<TWrappedModule['emitSerial']>[1]) {\n return this.module.emitSerial(eventName, eventArgs)\n }\n\n listenerCount(eventNames: Parameters<TWrappedModule['listenerCount']>[0]) {\n return this.module.listenerCount(eventNames)\n }\n\n async manifest(maxDepth?: number): Promise<ModuleManifestPayload> {\n const queryPayload: ModuleManifestQuery = { schema: ModuleManifestQuerySchema, ...(maxDepth === undefined ? {} : { maxDepth }) }\n return (await this.sendQuery(queryPayload))[0] as WithMeta<ModuleManifestPayload>\n }\n\n async manifestQuery(account: AccountInstance, maxDepth?: number): Promise<ModuleQueryResult<ModuleManifestPayload>> {\n const queryPayload: ModuleManifestQuery = { schema: ModuleManifestQuerySchema, ...(maxDepth === undefined ? {} : { maxDepth }) }\n return await this.sendQueryRaw(queryPayload, undefined, account)\n }\n\n async moduleAddress(): Promise<AddressPreviousHashPayload[]> {\n const queryPayload: ModuleAddressQuery = { schema: ModuleAddressQuerySchema }\n return (await this.sendQuery(queryPayload)) as WithMeta<AddressPreviousHashPayload>[]\n }\n\n off<TEventName extends keyof TWrappedModule['eventData']>(\n eventNames: TEventName,\n listener: EventListener<TWrappedModule['eventData'][TEventName]>,\n ) {\n return this.module.off(eventNames, listener)\n }\n\n offAny(listener: EventAnyListener) {\n return this.module.offAny(listener)\n }\n\n on<TEventName extends keyof TWrappedModule['eventData']>(eventNames: TEventName, listener: EventListener<TWrappedModule['eventData'][TEventName]>) {\n return this.module.on(eventNames, listener)\n }\n\n onAny(listener: EventAnyListener) {\n return this.module.onAny(listener)\n }\n\n once<TEventName extends keyof TWrappedModule['eventData']>(\n eventName: TEventName,\n listener: EventListener<TWrappedModule['eventData'][TEventName]>,\n ) {\n return this.module.once(eventName, listener)\n }\n\n parents(): Promisable<ModuleInstance[]> {\n return this._parents\n }\n\n async previousHash(): Promise<string | undefined> {\n const queryPayload: ModuleAddressQuery = { schema: ModuleAddressQuerySchema }\n return ((await this.sendQuery(queryPayload)).pop() as WithMeta<AddressPreviousHashPayload>).previousHash\n }\n\n async previousHashQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPreviousHashPayload>> {\n const queryPayload: ModuleAddressQuery = { schema: ModuleAddressQuerySchema }\n return await this.sendQueryRaw(queryPayload, undefined, account)\n }\n\n async privateChildren(): Promise<ModuleInstance[]> {\n if (isModuleInstance(this.module)) {\n return await this.module.privateChildren()\n }\n return []\n }\n\n async publicChildren(): Promise<ModuleInstance[]> {\n if (isModuleInstance(this.module)) {\n return await this.module.publicChildren()\n }\n return []\n }\n\n async query<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads?: Payload[]): Promise<ModuleQueryResult> {\n return await this.module.query(query, payloads)\n }\n\n queryable<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads?: Payload[]) {\n return this.module.queryable(query, payloads)\n }\n\n removeParent(address: Address) {\n this._parents = this._parents.filter((item) => item.address !== address)\n }\n\n /** @deprecated do not pass undefined. If trying to get all, pass '*' */\n async resolve<T extends ModuleInstance = ModuleInstance>(): Promise<T[]>\n async resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>\n async resolve<T extends ModuleInstance = ModuleInstance>(filter: ModuleFilter<T> | undefined, options?: ModuleFilterOptions<T>): Promise<T[]>\n async resolve<T extends ModuleInstance = ModuleInstance>(\n id: ModuleIdentifier,\n options?: ModuleFilterOptions<T> | undefined,\n ): Promise<ModuleInstance>\n /** @deprecated use '*' if trying to resolve all */\n async resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter<T> | undefined, options?: ModuleFilterOptions<T>): Promise<T[]>\n async resolve<T extends ModuleInstance = ModuleInstance>(\n idOrFilter: ModuleIdentifier | ModuleFilter<T> = '*',\n options?: ModuleFilterOptions<T>,\n ): Promise<T | T[] | undefined> {\n const instance = asModuleInstance(this.module)\n if (instance?.['resolve']) {\n if (idOrFilter === '*') {\n return await instance.resolve<T>('*', options)\n }\n switch (typeof idOrFilter) {\n case 'string': {\n return await instance.resolve<T>(idOrFilter, options)\n }\n default: {\n return await instance.resolve<T>(idOrFilter, options)\n }\n }\n }\n return typeof idOrFilter === 'string' && idOrFilter !== '*' ? undefined : []\n }\n\n async resolvePrivate<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>\n async resolvePrivate<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>\n async resolvePrivate<T extends ModuleInstance = ModuleInstance>(\n id: ModuleIdentifier,\n _options?: ModuleFilterOptions<T>,\n ): Promise<T | T[] | undefined> {\n if (id === '*') return await Promise.resolve([])\n }\n\n async siblings(): Promise<ModuleInstance[]> {\n return (await Promise.all((await this.parents()).map((parent) => parent.publicChildren()))).flat().filter(duplicateModules)\n }\n\n async state(): Promise<Payload[]> {\n const cachedResult = this.cachedCalls.get('state')\n if (cachedResult) {\n return cachedResult\n }\n const queryPayload: ModuleStateQuery = { schema: ModuleStateQuerySchema }\n const result = await this.sendQuery(queryPayload)\n this.cachedCalls.set('state', result)\n return result\n }\n\n async stateQuery(_account: AccountInstance): Promise<ModuleQueryResult> {\n const queryPayload: ModuleStateQuery = { schema: ModuleStateQuerySchema }\n return await this.sendQueryRaw(queryPayload)\n }\n\n protected bindQuery<T extends Query>(\n query: T,\n payloads?: Payload[],\n account = this.account,\n additionalSigners = this.additionalSigners,\n ): PromiseEx<[QueryBoundWitness, Payload[], ModuleError[]], AccountInstance> {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n const promise = new PromiseEx<[QueryBoundWitness, Payload[], ModuleError[]], AccountInstance>(async (resolve) => {\n const result = await this.bindQueryInternal(query, payloads, account, additionalSigners)\n resolve?.(result)\n return result\n }, account)\n return promise\n }\n\n protected async bindQueryInternal<T extends Query>(\n query: T,\n payloads?: Payload[],\n account = this.account,\n additionalSigners = this.additionalSigners,\n ): Promise<[QueryBoundWitness, Payload[], ModuleError[]]> {\n const builder = await new QueryBoundWitnessBuilder().payloads(payloads).query(query)\n const accounts = [account, ...additionalSigners].filter(exists)\n const result = await (account ? builder.signers(accounts) : builder).build()\n return result\n }\n\n protected async filterErrors(result: ModuleQueryResult): Promise<ModuleError[]> {\n const wrapper = await BoundWitnessWrapper.wrap(result[0], result[1])\n return wrapper.payloadsBySchema<WithMeta<ModuleError>>(ModuleErrorSchema)\n }\n\n protected async sendQuery<T extends Query, P extends Payload = Payload, R extends Payload = Payload>(\n queryPayload: T,\n payloads?: P[],\n ): Promise<WithMeta<R>[]> {\n const queryResults = await this.sendQueryRaw(queryPayload, payloads)\n const [, resultPayloads, errors] = queryResults\n\n /* TODO: Figure out what to do with the returning BW. Should we store them in a queue in case the caller wants to see them? */\n\n if (errors && errors.length > 0) {\n /* TODO: Figure out how to rollup multiple Errors */\n throw errors[0]\n }\n\n return resultPayloads as WithMeta<R>[]\n }\n\n protected async sendQueryRaw<T extends Query, P extends Payload = Payload, R extends Payload = Payload>(\n queryPayload: T,\n payloads?: P[],\n account?: AccountInstance,\n ): Promise<ModuleQueryResult<R>> {\n // Bind them\n const query = await this.bindQuery(queryPayload, payloads, account)\n\n // Send them off\n return (await this.query(query[0], query[1])) as ModuleQueryResult<R>\n }\n}\n"],"mappings":"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","names":["constructableModuleWrapper","constructor","ModuleWrapper","Base","eventData","cachedCalls","LRUCache","max","ttl","ttlAutopurge","wrapperParams","_parents","_status","params","mutatedWrapperParams","mutatedParams","module","config","account","additionalSigners","address","downResolver","instance","asAttachableModuleInstance","Error","id","modName","priority","ObjectResolverPriority","Low","privateResolver","queries","status","upResolver","value","canWrap","moduleIdentityCheck","hasRequiredQueries","missingRequiredQueries","length","is","wrapper","moduleQueries","compact","requiredQueries","map","query","includes","tryWrap","checkIdentity","defaultLogger","info","Account","randomSync","with","closure","undefined","wrap","assertEx","schema","addParent","existingEntry","find","parent","push","addressPreviousHash","queryPayload","ModuleAddressQuerySchema","sendQuery","payload","AddressPreviousHashSchema","clearListeners","eventNames","emit","eventName","eventArgs","emitSerial","listenerCount","manifest","maxDepth","ModuleManifestQuerySchema","manifestQuery","sendQueryRaw","moduleAddress","off","listener","offAny","on","onAny","once","parents","previousHash","pop","previousHashQuery","privateChildren","isModuleInstance","publicChildren","payloads","queryable","removeParent","filter","item","resolve","idOrFilter","options","asModuleInstance","resolvePrivate","_options","Promise","siblings","all","flat","duplicateModules","state","cachedResult","get","ModuleStateQuerySchema","result","set","stateQuery","_account","bindQuery","promise","PromiseEx","bindQueryInternal","builder","QueryBoundWitnessBuilder","accounts","exists","signers","build","filterErrors","BoundWitnessWrapper","payloadsBySchema","ModuleErrorSchema","queryResults","resultPayloads","errors","instanceIdentityCheck","isModule"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/ModuleWrapper.ts"],"sourcesContent":["export * from './models'\nexport * from './ModuleWrapper'\n","import { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport { Address } from '@xylabs/hex'\nimport { compact } from '@xylabs/lodash'\nimport { Logger } from '@xylabs/logger'\nimport { Base } from '@xylabs/object'\nimport { Promisable, PromiseEx } from '@xylabs/promise'\nimport { Account } from '@xyo-network/account'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { QueryBoundWitnessBuilder } from '@xyo-network/boundwitness-builder'\nimport { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { ModuleManifestPayload } from '@xyo-network/manifest-model'\nimport { EventAnyListener, EventListener } from '@xyo-network/module-events'\nimport {\n AddressPreviousHashPayload,\n AddressPreviousHashSchema,\n asAttachableModuleInstance,\n asModuleInstance,\n AttachableModuleInstance,\n duplicateModules,\n InstanceTypeCheck,\n isModule,\n isModuleInstance,\n Module,\n ModuleAddressQuery,\n ModuleAddressQuerySchema,\n ModuleFilter,\n ModuleFilterOptions,\n ModuleIdentifier,\n ModuleInstance,\n ModuleManifestQuery,\n ModuleManifestQuerySchema,\n ModuleQueryResult,\n ModuleResolverInstance,\n ModuleStateQuery,\n ModuleStateQuerySchema,\n ModuleStatus,\n ModuleTypeCheck,\n ObjectResolverPriority,\n} from '@xyo-network/module-model'\nimport { ModuleError, ModuleErrorSchema, Payload, Query, WithMeta } from '@xyo-network/payload-model'\nimport { LRUCache } from 'lru-cache'\n\nimport type { ModuleWrapperParams } from './models'\n\nexport type ConstructableModuleWrapper<TWrapper extends ModuleWrapper> = {\n defaultLogger?: Logger\n instanceIdentityCheck: InstanceTypeCheck\n moduleIdentityCheck: ModuleTypeCheck\n requiredQueries: string[]\n new (params: ModuleWrapperParams<TWrapper['mod']>): TWrapper\n\n canWrap(mod: Module | undefined): boolean\n\n is<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n wrapper?: any,\n ): wrapper is TModuleWrapper\n\n /** @deprecated pass an account for second parameter */\n tryWrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, mod: Module | undefined): TModuleWrapper | undefined\n tryWrap<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n mod: Module | undefined,\n account: AccountInstance,\n checkIdentity?: boolean,\n ): TModuleWrapper | undefined\n\n /** @deprecated pass an account for second parameter */\n wrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, mod: Module | undefined): TModuleWrapper\n wrap<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n mod: Module | undefined,\n account: AccountInstance,\n checkIdentity?: boolean,\n ): TModuleWrapper\n}\n\nexport function constructableModuleWrapper<TWrapper extends ModuleWrapper>() {\n return <U extends ConstructableModuleWrapper<TWrapper>>(constructor: U) => {\n constructor\n }\n}\n\n@constructableModuleWrapper()\nexport class ModuleWrapper<TWrappedModule extends Module = Module>\n extends Base<Exclude<Omit<TWrappedModule['params'], 'config'> & { config: Exclude<TWrappedModule['params']['config'], undefined> }, undefined>>\n implements AttachableModuleInstance<TWrappedModule['params'], TWrappedModule['eventData']>\n{\n static instanceIdentityCheck: InstanceTypeCheck = isModuleInstance\n static moduleIdentityCheck: ModuleTypeCheck = isModule\n static requiredQueries: string[] = [ModuleStateQuerySchema]\n\n eventData = {} as TWrappedModule['eventData']\n\n protected readonly cachedCalls = new LRUCache<string, Payload[]>({ max: 1000, ttl: 1000 * 60, ttlAutopurge: true })\n\n protected readonly wrapperParams: ModuleWrapperParams<TWrappedModule>\n\n private _parents: ModuleInstance[] = []\n private _status: ModuleStatus = 'wrapped'\n\n constructor(params: ModuleWrapperParams<TWrappedModule>) {\n const mutatedWrapperParams = { ...params } as ModuleWrapperParams<TWrappedModule>\n const mutatedParams = { ...params.mod.params, config: { ...params.mod.params.config } } as Exclude<\n Omit<TWrappedModule['params'], 'config'> & { config: Exclude<TWrappedModule['params']['config'], undefined> },\n undefined\n >\n\n //set the root params to the wrapped mod params\n super(mutatedParams)\n this.wrapperParams = mutatedWrapperParams\n }\n\n get account() {\n return this.wrapperParams.account\n }\n\n get additionalSigners() {\n return this.wrapperParams.additionalSigners ?? []\n }\n\n get address() {\n return this.mod.address\n }\n\n get config() {\n return this.mod.config as Exclude<TWrappedModule['params']['config'], undefined>\n }\n\n get downResolver(): ModuleResolverInstance {\n //Should we be allowing this?\n const instance: AttachableModuleInstance | undefined = asAttachableModuleInstance(this.mod)\n if (instance) {\n return instance.downResolver as ModuleResolverInstance\n }\n throw new Error('Unsupported')\n }\n\n get id() {\n return this.mod.id\n }\n\n get mod() {\n return this.wrapperParams.mod\n }\n\n get modName() {\n return this.mod.modName\n }\n\n get priority() {\n return ObjectResolverPriority.Low\n }\n\n get privateResolver(): ModuleResolverInstance {\n //Should we be allowing this?\n const instance = asAttachableModuleInstance(this.mod)\n if (instance) {\n return instance.privateResolver as ModuleResolverInstance\n }\n throw new Error('Unsupported')\n }\n\n get queries(): string[] {\n return this.mod.queries\n }\n\n get status() {\n return this._status\n }\n\n get upResolver(): ModuleResolverInstance {\n //Should we be allowing this?\n const instance = asAttachableModuleInstance(this.mod)\n if (instance) {\n return instance.upResolver as ModuleResolverInstance\n }\n throw new Error('Unsupported')\n }\n\n protected set status(value: ModuleStatus) {\n if (this._status !== 'dead') {\n this._status = value\n }\n }\n\n static canWrap(mod?: Module) {\n return !!mod && this.moduleIdentityCheck(mod)\n }\n\n static hasRequiredQueries(mod: Module) {\n return this.missingRequiredQueries(mod).length === 0\n }\n\n static is<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n wrapper: any,\n ): wrapper is TModuleWrapper {\n return wrapper instanceof this\n }\n\n static missingRequiredQueries(mod: Module): string[] {\n const modQueries = mod.queries\n return compact(\n this.requiredQueries.map((query) => {\n return modQueries.includes(query) ? null : query\n }),\n )\n }\n\n /** @deprecated pass an account for second parameter */\n static tryWrap<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n mod: Module | undefined,\n ): TModuleWrapper | undefined\n static tryWrap<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n mod: Module | undefined,\n account: AccountInstance,\n checkIdentity?: boolean,\n ): TModuleWrapper | undefined\n static tryWrap<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n mod: Module | undefined,\n account?: AccountInstance,\n checkIdentity = true,\n ): TModuleWrapper | undefined {\n if (!checkIdentity || this.canWrap(mod)) {\n if (!account) {\n this.defaultLogger?.info('Anonymous Module Wrapper Created')\n }\n return new this({ account: account ?? Account.randomSync(), mod: mod as TModuleWrapper['mod'] })\n }\n }\n\n static with<TModuleWrapper extends ModuleWrapper, R extends Promisable<void> = void>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mod: any,\n\n closure: (mod: TModuleWrapper) => R,\n ): R | undefined {\n return this.is(mod) ? closure(mod) : undefined\n }\n\n /** @deprecated pass an account for second parameter */\n static wrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, mod: Module | undefined): TModuleWrapper\n static wrap<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n mod: Module | undefined,\n account: AccountInstance,\n checkIdentity?: boolean,\n ): TModuleWrapper\n static wrap<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n mod: Module | undefined,\n account?: AccountInstance,\n checkIdentity = true,\n ): TModuleWrapper {\n assertEx(!checkIdentity || (mod && this.moduleIdentityCheck(mod)), () => `Passed mod failed identity check: ${mod?.config?.schema}`)\n return assertEx(this.tryWrap(mod, account ?? Account.randomSync(), checkIdentity), () => 'Unable to wrap mod as ModuleWrapper')\n }\n\n addParent(mod: ModuleInstance) {\n const existingEntry = this._parents.find((parent) => parent.address === mod.address)\n if (!existingEntry) {\n this._parents.push(mod)\n }\n }\n\n async addressPreviousHash(): Promise<AddressPreviousHashPayload> {\n const queryPayload: ModuleAddressQuery = { schema: ModuleAddressQuerySchema }\n return assertEx(\n (await this.sendQuery(queryPayload)).find((payload) => payload.schema === AddressPreviousHashSchema) as WithMeta<AddressPreviousHashPayload>,\n () => 'Result did not include correct payload',\n )\n }\n\n clearListeners(eventNames: Parameters<TWrappedModule['clearListeners']>[0]) {\n return this.mod.clearListeners(eventNames)\n }\n\n emit(eventName: Parameters<TWrappedModule['emit']>[0], eventArgs: Parameters<TWrappedModule['emit']>[1]) {\n return this.mod.emit(eventName, eventArgs)\n }\n\n emitSerial(eventName: Parameters<TWrappedModule['emitSerial']>[0], eventArgs: Parameters<TWrappedModule['emitSerial']>[1]) {\n return this.mod.emitSerial(eventName, eventArgs)\n }\n\n listenerCount(eventNames: Parameters<TWrappedModule['listenerCount']>[0]) {\n return this.mod.listenerCount(eventNames)\n }\n\n async manifest(maxDepth?: number): Promise<ModuleManifestPayload> {\n const queryPayload: ModuleManifestQuery = { schema: ModuleManifestQuerySchema, ...(maxDepth === undefined ? {} : { maxDepth }) }\n return (await this.sendQuery(queryPayload))[0] as WithMeta<ModuleManifestPayload>\n }\n\n async manifestQuery(account: AccountInstance, maxDepth?: number): Promise<ModuleQueryResult<ModuleManifestPayload>> {\n const queryPayload: ModuleManifestQuery = { schema: ModuleManifestQuerySchema, ...(maxDepth === undefined ? {} : { maxDepth }) }\n return await this.sendQueryRaw(queryPayload, undefined, account)\n }\n\n async moduleAddress(): Promise<AddressPreviousHashPayload[]> {\n const queryPayload: ModuleAddressQuery = { schema: ModuleAddressQuerySchema }\n return (await this.sendQuery(queryPayload)) as WithMeta<AddressPreviousHashPayload>[]\n }\n\n off<TEventName extends keyof TWrappedModule['eventData']>(\n eventNames: TEventName,\n listener: EventListener<TWrappedModule['eventData'][TEventName]>,\n ) {\n return this.mod.off(eventNames, listener)\n }\n\n offAny(listener: EventAnyListener) {\n return this.mod.offAny(listener)\n }\n\n on<TEventName extends keyof TWrappedModule['eventData']>(eventNames: TEventName, listener: EventListener<TWrappedModule['eventData'][TEventName]>) {\n return this.mod.on(eventNames, listener)\n }\n\n onAny(listener: EventAnyListener) {\n return this.mod.onAny(listener)\n }\n\n once<TEventName extends keyof TWrappedModule['eventData']>(\n eventName: TEventName,\n listener: EventListener<TWrappedModule['eventData'][TEventName]>,\n ) {\n return this.mod.once(eventName, listener)\n }\n\n parents(): Promisable<ModuleInstance[]> {\n return this._parents\n }\n\n async previousHash(): Promise<string | undefined> {\n const queryPayload: ModuleAddressQuery = { schema: ModuleAddressQuerySchema }\n return ((await this.sendQuery(queryPayload)).pop() as WithMeta<AddressPreviousHashPayload>).previousHash\n }\n\n async previousHashQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPreviousHashPayload>> {\n const queryPayload: ModuleAddressQuery = { schema: ModuleAddressQuerySchema }\n return await this.sendQueryRaw(queryPayload, undefined, account)\n }\n\n async privateChildren(): Promise<ModuleInstance[]> {\n if (isModuleInstance(this.mod)) {\n return await this.mod.privateChildren()\n }\n return []\n }\n\n async publicChildren(): Promise<ModuleInstance[]> {\n if (isModuleInstance(this.mod)) {\n return await this.mod.publicChildren()\n }\n return []\n }\n\n async query<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads?: Payload[]): Promise<ModuleQueryResult> {\n return await this.mod.query(query, payloads)\n }\n\n queryable<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads?: Payload[]) {\n return this.mod.queryable(query, payloads)\n }\n\n removeParent(address: Address) {\n this._parents = this._parents.filter((item) => item.address !== address)\n }\n\n /** @deprecated do not pass undefined. If trying to get all, pass '*' */\n async resolve<T extends ModuleInstance = ModuleInstance>(): Promise<T[]>\n async resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>\n async resolve<T extends ModuleInstance = ModuleInstance>(filter: ModuleFilter<T> | undefined, options?: ModuleFilterOptions<T>): Promise<T[]>\n async resolve<T extends ModuleInstance = ModuleInstance>(\n id: ModuleIdentifier,\n options?: ModuleFilterOptions<T> | undefined,\n ): Promise<ModuleInstance>\n /** @deprecated use '*' if trying to resolve all */\n async resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter<T> | undefined, options?: ModuleFilterOptions<T>): Promise<T[]>\n async resolve<T extends ModuleInstance = ModuleInstance>(\n idOrFilter: ModuleIdentifier | ModuleFilter<T> = '*',\n options?: ModuleFilterOptions<T>,\n ): Promise<T | T[] | undefined> {\n const instance = asModuleInstance(this.mod)\n if (instance?.['resolve']) {\n if (idOrFilter === '*') {\n return await instance.resolve<T>('*', options)\n }\n switch (typeof idOrFilter) {\n case 'string': {\n return await instance.resolve<T>(idOrFilter, options)\n }\n default: {\n return await instance.resolve<T>(idOrFilter, options)\n }\n }\n }\n return typeof idOrFilter === 'string' && idOrFilter !== '*' ? undefined : []\n }\n\n async resolvePrivate<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>\n async resolvePrivate<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>\n async resolvePrivate<T extends ModuleInstance = ModuleInstance>(\n id: ModuleIdentifier,\n _options?: ModuleFilterOptions<T>,\n ): Promise<T | T[] | undefined> {\n if (id === '*') return await Promise.resolve([])\n }\n\n async siblings(): Promise<ModuleInstance[]> {\n return (await Promise.all((await this.parents()).map((parent) => parent.publicChildren()))).flat().filter(duplicateModules)\n }\n\n async state(): Promise<Payload[]> {\n const cachedResult = this.cachedCalls.get('state')\n if (cachedResult) {\n return cachedResult\n }\n const queryPayload: ModuleStateQuery = { schema: ModuleStateQuerySchema }\n const result = await this.sendQuery(queryPayload)\n this.cachedCalls.set('state', result)\n return result\n }\n\n async stateQuery(_account: AccountInstance): Promise<ModuleQueryResult> {\n const queryPayload: ModuleStateQuery = { schema: ModuleStateQuerySchema }\n return await this.sendQueryRaw(queryPayload)\n }\n\n protected bindQuery<T extends Query>(\n query: T,\n payloads?: Payload[],\n account = this.account,\n additionalSigners = this.additionalSigners,\n ): PromiseEx<[QueryBoundWitness, Payload[], ModuleError[]], AccountInstance> {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n const promise = new PromiseEx<[QueryBoundWitness, Payload[], ModuleError[]], AccountInstance>(async (resolve) => {\n const result = await this.bindQueryInternal(query, payloads, account, additionalSigners)\n resolve?.(result)\n return result\n }, account)\n return promise\n }\n\n protected async bindQueryInternal<T extends Query>(\n query: T,\n payloads?: Payload[],\n account = this.account,\n additionalSigners = this.additionalSigners,\n ): Promise<[QueryBoundWitness, Payload[], ModuleError[]]> {\n const builder = await new QueryBoundWitnessBuilder().payloads(payloads).query(query)\n const accounts = [account, ...additionalSigners].filter(exists)\n const result = await (account ? builder.signers(accounts) : builder).build()\n return result\n }\n\n protected async filterErrors(result: ModuleQueryResult): Promise<ModuleError[]> {\n const wrapper = await BoundWitnessWrapper.wrap(result[0], result[1])\n return wrapper.payloadsBySchema<WithMeta<ModuleError>>(ModuleErrorSchema)\n }\n\n protected async sendQuery<T extends Query, P extends Payload = Payload, R extends Payload = Payload>(\n queryPayload: T,\n payloads?: P[],\n ): Promise<WithMeta<R>[]> {\n const queryResults = await this.sendQueryRaw(queryPayload, payloads)\n const [, resultPayloads, errors] = queryResults\n\n /* TODO: Figure out what to do with the returning BW. Should we store them in a queue in case the caller wants to see them? */\n\n if (errors && errors.length > 0) {\n /* TODO: Figure out how to rollup multiple Errors */\n throw errors[0]\n }\n\n return resultPayloads as WithMeta<R>[]\n }\n\n protected async sendQueryRaw<T extends Query, P extends Payload = Payload, R extends Payload = Payload>(\n queryPayload: T,\n payloads?: P[],\n account?: AccountInstance,\n ): Promise<ModuleQueryResult<R>> {\n // Bind them\n const query = await this.bindQuery(queryPayload, payloads, account)\n\n // Send them off\n return (await this.query(query[0], query[1])) as ModuleQueryResult<R>\n }\n}\n"],"mappings":"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","names":["constructableModuleWrapper","constructor","ModuleWrapper","Base","eventData","cachedCalls","LRUCache","max","ttl","ttlAutopurge","wrapperParams","_parents","_status","params","mutatedWrapperParams","mutatedParams","mod","config","account","additionalSigners","address","downResolver","instance","asAttachableModuleInstance","Error","id","modName","priority","ObjectResolverPriority","Low","privateResolver","queries","status","upResolver","value","canWrap","moduleIdentityCheck","hasRequiredQueries","missingRequiredQueries","length","is","wrapper","modQueries","compact","requiredQueries","map","query","includes","tryWrap","checkIdentity","defaultLogger","info","Account","randomSync","with","closure","undefined","wrap","assertEx","schema","addParent","existingEntry","find","parent","push","addressPreviousHash","queryPayload","ModuleAddressQuerySchema","sendQuery","payload","AddressPreviousHashSchema","clearListeners","eventNames","emit","eventName","eventArgs","emitSerial","listenerCount","manifest","maxDepth","ModuleManifestQuerySchema","manifestQuery","sendQueryRaw","moduleAddress","off","listener","offAny","on","onAny","once","parents","previousHash","pop","previousHashQuery","privateChildren","isModuleInstance","publicChildren","payloads","queryable","removeParent","filter","item","resolve","idOrFilter","options","asModuleInstance","resolvePrivate","_options","Promise","siblings","all","flat","duplicateModules","state","cachedResult","get","ModuleStateQuerySchema","result","set","stateQuery","_account","bindQuery","promise","PromiseEx","bindQueryInternal","builder","QueryBoundWitnessBuilder","accounts","exists","signers","build","filterErrors","BoundWitnessWrapper","payloadsBySchema","ModuleErrorSchema","queryResults","resultPayloads","errors","instanceIdentityCheck","isModule"]}