@xyo-network/module-wrapper 2.107.6 → 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.
- package/dist/browser/ModuleWrapper.d.cts +16 -16
- package/dist/browser/ModuleWrapper.d.cts.map +1 -1
- package/dist/browser/ModuleWrapper.d.mts +16 -16
- package/dist/browser/ModuleWrapper.d.mts.map +1 -1
- package/dist/browser/ModuleWrapper.d.ts +16 -16
- package/dist/browser/ModuleWrapper.d.ts.map +1 -1
- package/dist/browser/index.cjs +47 -47
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +47 -47
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/models.d.cts +1 -1
- package/dist/browser/models.d.cts.map +1 -1
- package/dist/browser/models.d.mts +1 -1
- package/dist/browser/models.d.mts.map +1 -1
- package/dist/browser/models.d.ts +1 -1
- package/dist/browser/models.d.ts.map +1 -1
- package/dist/neutral/ModuleWrapper.d.cts +16 -16
- package/dist/neutral/ModuleWrapper.d.cts.map +1 -1
- package/dist/neutral/ModuleWrapper.d.mts +16 -16
- package/dist/neutral/ModuleWrapper.d.mts.map +1 -1
- package/dist/neutral/ModuleWrapper.d.ts +16 -16
- package/dist/neutral/ModuleWrapper.d.ts.map +1 -1
- package/dist/neutral/index.cjs +47 -47
- package/dist/neutral/index.cjs.map +1 -1
- package/dist/neutral/index.js +47 -47
- package/dist/neutral/index.js.map +1 -1
- package/dist/neutral/models.d.cts +1 -1
- package/dist/neutral/models.d.cts.map +1 -1
- package/dist/neutral/models.d.mts +1 -1
- package/dist/neutral/models.d.mts.map +1 -1
- package/dist/neutral/models.d.ts +1 -1
- package/dist/neutral/models.d.ts.map +1 -1
- package/dist/node/ModuleWrapper.d.cts +16 -16
- package/dist/node/ModuleWrapper.d.cts.map +1 -1
- package/dist/node/ModuleWrapper.d.mts +16 -16
- package/dist/node/ModuleWrapper.d.mts.map +1 -1
- package/dist/node/ModuleWrapper.d.ts +16 -16
- package/dist/node/ModuleWrapper.d.ts.map +1 -1
- package/dist/node/index.cjs +48 -48
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +48 -48
- package/dist/node/index.js.map +1 -1
- package/dist/node/models.d.cts +1 -1
- package/dist/node/models.d.cts.map +1 -1
- package/dist/node/models.d.mts +1 -1
- package/dist/node/models.d.mts.map +1 -1
- package/dist/node/models.d.ts +1 -1
- package/dist/node/models.d.ts.map +1 -1
- package/package.json +12 -12
- package/src/ModuleWrapper.ts +58 -61
- package/src/models.ts +1 -1
package/src/ModuleWrapper.ts
CHANGED
|
@@ -49,9 +49,9 @@ export type ConstructableModuleWrapper<TWrapper extends ModuleWrapper> = {
|
|
|
49
49
|
instanceIdentityCheck: InstanceTypeCheck
|
|
50
50
|
moduleIdentityCheck: ModuleTypeCheck
|
|
51
51
|
requiredQueries: string[]
|
|
52
|
-
new (params: ModuleWrapperParams<TWrapper['
|
|
52
|
+
new (params: ModuleWrapperParams<TWrapper['mod']>): TWrapper
|
|
53
53
|
|
|
54
|
-
canWrap(
|
|
54
|
+
canWrap(mod: Module | undefined): boolean
|
|
55
55
|
|
|
56
56
|
is<TModuleWrapper extends ModuleWrapper>(
|
|
57
57
|
this: ConstructableModuleWrapper<TModuleWrapper>,
|
|
@@ -60,22 +60,19 @@ export type ConstructableModuleWrapper<TWrapper extends ModuleWrapper> = {
|
|
|
60
60
|
): wrapper is TModuleWrapper
|
|
61
61
|
|
|
62
62
|
/** @deprecated pass an account for second parameter */
|
|
63
|
+
tryWrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, mod: Module | undefined): TModuleWrapper | undefined
|
|
63
64
|
tryWrap<TModuleWrapper extends ModuleWrapper>(
|
|
64
65
|
this: ConstructableModuleWrapper<TModuleWrapper>,
|
|
65
|
-
|
|
66
|
-
): TModuleWrapper | undefined
|
|
67
|
-
tryWrap<TModuleWrapper extends ModuleWrapper>(
|
|
68
|
-
this: ConstructableModuleWrapper<TModuleWrapper>,
|
|
69
|
-
module: Module | undefined,
|
|
66
|
+
mod: Module | undefined,
|
|
70
67
|
account: AccountInstance,
|
|
71
68
|
checkIdentity?: boolean,
|
|
72
69
|
): TModuleWrapper | undefined
|
|
73
70
|
|
|
74
71
|
/** @deprecated pass an account for second parameter */
|
|
75
|
-
wrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>,
|
|
72
|
+
wrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, mod: Module | undefined): TModuleWrapper
|
|
76
73
|
wrap<TModuleWrapper extends ModuleWrapper>(
|
|
77
74
|
this: ConstructableModuleWrapper<TModuleWrapper>,
|
|
78
|
-
|
|
75
|
+
mod: Module | undefined,
|
|
79
76
|
account: AccountInstance,
|
|
80
77
|
checkIdentity?: boolean,
|
|
81
78
|
): TModuleWrapper
|
|
@@ -107,12 +104,12 @@ export class ModuleWrapper<TWrappedModule extends Module = Module>
|
|
|
107
104
|
|
|
108
105
|
constructor(params: ModuleWrapperParams<TWrappedModule>) {
|
|
109
106
|
const mutatedWrapperParams = { ...params } as ModuleWrapperParams<TWrappedModule>
|
|
110
|
-
const mutatedParams = { ...params.
|
|
107
|
+
const mutatedParams = { ...params.mod.params, config: { ...params.mod.params.config } } as Exclude<
|
|
111
108
|
Omit<TWrappedModule['params'], 'config'> & { config: Exclude<TWrappedModule['params']['config'], undefined> },
|
|
112
109
|
undefined
|
|
113
110
|
>
|
|
114
111
|
|
|
115
|
-
//set the root params to the wrapped
|
|
112
|
+
//set the root params to the wrapped mod params
|
|
116
113
|
super(mutatedParams)
|
|
117
114
|
this.wrapperParams = mutatedWrapperParams
|
|
118
115
|
}
|
|
@@ -126,16 +123,16 @@ export class ModuleWrapper<TWrappedModule extends Module = Module>
|
|
|
126
123
|
}
|
|
127
124
|
|
|
128
125
|
get address() {
|
|
129
|
-
return this.
|
|
126
|
+
return this.mod.address
|
|
130
127
|
}
|
|
131
128
|
|
|
132
129
|
get config() {
|
|
133
|
-
return this.
|
|
130
|
+
return this.mod.config as Exclude<TWrappedModule['params']['config'], undefined>
|
|
134
131
|
}
|
|
135
132
|
|
|
136
133
|
get downResolver(): ModuleResolverInstance {
|
|
137
134
|
//Should we be allowing this?
|
|
138
|
-
const instance: AttachableModuleInstance | undefined = asAttachableModuleInstance(this.
|
|
135
|
+
const instance: AttachableModuleInstance | undefined = asAttachableModuleInstance(this.mod)
|
|
139
136
|
if (instance) {
|
|
140
137
|
return instance.downResolver as ModuleResolverInstance
|
|
141
138
|
}
|
|
@@ -143,15 +140,15 @@ export class ModuleWrapper<TWrappedModule extends Module = Module>
|
|
|
143
140
|
}
|
|
144
141
|
|
|
145
142
|
get id() {
|
|
146
|
-
return this.
|
|
143
|
+
return this.mod.id
|
|
147
144
|
}
|
|
148
145
|
|
|
149
|
-
get
|
|
150
|
-
return this.
|
|
146
|
+
get mod() {
|
|
147
|
+
return this.wrapperParams.mod
|
|
151
148
|
}
|
|
152
149
|
|
|
153
|
-
get
|
|
154
|
-
return this.
|
|
150
|
+
get modName() {
|
|
151
|
+
return this.mod.modName
|
|
155
152
|
}
|
|
156
153
|
|
|
157
154
|
get priority() {
|
|
@@ -160,7 +157,7 @@ export class ModuleWrapper<TWrappedModule extends Module = Module>
|
|
|
160
157
|
|
|
161
158
|
get privateResolver(): ModuleResolverInstance {
|
|
162
159
|
//Should we be allowing this?
|
|
163
|
-
const instance = asAttachableModuleInstance(this.
|
|
160
|
+
const instance = asAttachableModuleInstance(this.mod)
|
|
164
161
|
if (instance) {
|
|
165
162
|
return instance.privateResolver as ModuleResolverInstance
|
|
166
163
|
}
|
|
@@ -168,7 +165,7 @@ export class ModuleWrapper<TWrappedModule extends Module = Module>
|
|
|
168
165
|
}
|
|
169
166
|
|
|
170
167
|
get queries(): string[] {
|
|
171
|
-
return this.
|
|
168
|
+
return this.mod.queries
|
|
172
169
|
}
|
|
173
170
|
|
|
174
171
|
get status() {
|
|
@@ -177,7 +174,7 @@ export class ModuleWrapper<TWrappedModule extends Module = Module>
|
|
|
177
174
|
|
|
178
175
|
get upResolver(): ModuleResolverInstance {
|
|
179
176
|
//Should we be allowing this?
|
|
180
|
-
const instance = asAttachableModuleInstance(this.
|
|
177
|
+
const instance = asAttachableModuleInstance(this.mod)
|
|
181
178
|
if (instance) {
|
|
182
179
|
return instance.upResolver as ModuleResolverInstance
|
|
183
180
|
}
|
|
@@ -190,12 +187,12 @@ export class ModuleWrapper<TWrappedModule extends Module = Module>
|
|
|
190
187
|
}
|
|
191
188
|
}
|
|
192
189
|
|
|
193
|
-
static canWrap(
|
|
194
|
-
return !!
|
|
190
|
+
static canWrap(mod?: Module) {
|
|
191
|
+
return !!mod && this.moduleIdentityCheck(mod)
|
|
195
192
|
}
|
|
196
193
|
|
|
197
|
-
static hasRequiredQueries(
|
|
198
|
-
return this.missingRequiredQueries(
|
|
194
|
+
static hasRequiredQueries(mod: Module) {
|
|
195
|
+
return this.missingRequiredQueries(mod).length === 0
|
|
199
196
|
}
|
|
200
197
|
|
|
201
198
|
static is<TModuleWrapper extends ModuleWrapper>(
|
|
@@ -206,11 +203,11 @@ export class ModuleWrapper<TWrappedModule extends Module = Module>
|
|
|
206
203
|
return wrapper instanceof this
|
|
207
204
|
}
|
|
208
205
|
|
|
209
|
-
static missingRequiredQueries(
|
|
210
|
-
const
|
|
206
|
+
static missingRequiredQueries(mod: Module): string[] {
|
|
207
|
+
const modQueries = mod.queries
|
|
211
208
|
return compact(
|
|
212
209
|
this.requiredQueries.map((query) => {
|
|
213
|
-
return
|
|
210
|
+
return modQueries.includes(query) ? null : query
|
|
214
211
|
}),
|
|
215
212
|
)
|
|
216
213
|
}
|
|
@@ -218,60 +215,60 @@ export class ModuleWrapper<TWrappedModule extends Module = Module>
|
|
|
218
215
|
/** @deprecated pass an account for second parameter */
|
|
219
216
|
static tryWrap<TModuleWrapper extends ModuleWrapper>(
|
|
220
217
|
this: ConstructableModuleWrapper<TModuleWrapper>,
|
|
221
|
-
|
|
218
|
+
mod: Module | undefined,
|
|
222
219
|
): TModuleWrapper | undefined
|
|
223
220
|
static tryWrap<TModuleWrapper extends ModuleWrapper>(
|
|
224
221
|
this: ConstructableModuleWrapper<TModuleWrapper>,
|
|
225
|
-
|
|
222
|
+
mod: Module | undefined,
|
|
226
223
|
account: AccountInstance,
|
|
227
224
|
checkIdentity?: boolean,
|
|
228
225
|
): TModuleWrapper | undefined
|
|
229
226
|
static tryWrap<TModuleWrapper extends ModuleWrapper>(
|
|
230
227
|
this: ConstructableModuleWrapper<TModuleWrapper>,
|
|
231
|
-
|
|
228
|
+
mod: Module | undefined,
|
|
232
229
|
account?: AccountInstance,
|
|
233
230
|
checkIdentity = true,
|
|
234
231
|
): TModuleWrapper | undefined {
|
|
235
|
-
if (!checkIdentity || this.canWrap(
|
|
232
|
+
if (!checkIdentity || this.canWrap(mod)) {
|
|
236
233
|
if (!account) {
|
|
237
234
|
this.defaultLogger?.info('Anonymous Module Wrapper Created')
|
|
238
235
|
}
|
|
239
|
-
return new this({ account: account ?? Account.randomSync(),
|
|
236
|
+
return new this({ account: account ?? Account.randomSync(), mod: mod as TModuleWrapper['mod'] })
|
|
240
237
|
}
|
|
241
238
|
}
|
|
242
239
|
|
|
243
240
|
static with<TModuleWrapper extends ModuleWrapper, R extends Promisable<void> = void>(
|
|
244
241
|
this: ConstructableModuleWrapper<TModuleWrapper>,
|
|
245
242
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
246
|
-
|
|
243
|
+
mod: any,
|
|
247
244
|
|
|
248
|
-
closure: (
|
|
245
|
+
closure: (mod: TModuleWrapper) => R,
|
|
249
246
|
): R | undefined {
|
|
250
|
-
return this.is(
|
|
247
|
+
return this.is(mod) ? closure(mod) : undefined
|
|
251
248
|
}
|
|
252
249
|
|
|
253
250
|
/** @deprecated pass an account for second parameter */
|
|
254
|
-
static wrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>,
|
|
251
|
+
static wrap<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, mod: Module | undefined): TModuleWrapper
|
|
255
252
|
static wrap<TModuleWrapper extends ModuleWrapper>(
|
|
256
253
|
this: ConstructableModuleWrapper<TModuleWrapper>,
|
|
257
|
-
|
|
254
|
+
mod: Module | undefined,
|
|
258
255
|
account: AccountInstance,
|
|
259
256
|
checkIdentity?: boolean,
|
|
260
257
|
): TModuleWrapper
|
|
261
258
|
static wrap<TModuleWrapper extends ModuleWrapper>(
|
|
262
259
|
this: ConstructableModuleWrapper<TModuleWrapper>,
|
|
263
|
-
|
|
260
|
+
mod: Module | undefined,
|
|
264
261
|
account?: AccountInstance,
|
|
265
262
|
checkIdentity = true,
|
|
266
263
|
): TModuleWrapper {
|
|
267
|
-
assertEx(!checkIdentity || (
|
|
268
|
-
return assertEx(this.tryWrap(
|
|
264
|
+
assertEx(!checkIdentity || (mod && this.moduleIdentityCheck(mod)), () => `Passed mod failed identity check: ${mod?.config?.schema}`)
|
|
265
|
+
return assertEx(this.tryWrap(mod, account ?? Account.randomSync(), checkIdentity), () => 'Unable to wrap mod as ModuleWrapper')
|
|
269
266
|
}
|
|
270
267
|
|
|
271
|
-
addParent(
|
|
272
|
-
const existingEntry = this._parents.find((parent) => parent.address ===
|
|
268
|
+
addParent(mod: ModuleInstance) {
|
|
269
|
+
const existingEntry = this._parents.find((parent) => parent.address === mod.address)
|
|
273
270
|
if (!existingEntry) {
|
|
274
|
-
this._parents.push(
|
|
271
|
+
this._parents.push(mod)
|
|
275
272
|
}
|
|
276
273
|
}
|
|
277
274
|
|
|
@@ -284,19 +281,19 @@ export class ModuleWrapper<TWrappedModule extends Module = Module>
|
|
|
284
281
|
}
|
|
285
282
|
|
|
286
283
|
clearListeners(eventNames: Parameters<TWrappedModule['clearListeners']>[0]) {
|
|
287
|
-
return this.
|
|
284
|
+
return this.mod.clearListeners(eventNames)
|
|
288
285
|
}
|
|
289
286
|
|
|
290
287
|
emit(eventName: Parameters<TWrappedModule['emit']>[0], eventArgs: Parameters<TWrappedModule['emit']>[1]) {
|
|
291
|
-
return this.
|
|
288
|
+
return this.mod.emit(eventName, eventArgs)
|
|
292
289
|
}
|
|
293
290
|
|
|
294
291
|
emitSerial(eventName: Parameters<TWrappedModule['emitSerial']>[0], eventArgs: Parameters<TWrappedModule['emitSerial']>[1]) {
|
|
295
|
-
return this.
|
|
292
|
+
return this.mod.emitSerial(eventName, eventArgs)
|
|
296
293
|
}
|
|
297
294
|
|
|
298
295
|
listenerCount(eventNames: Parameters<TWrappedModule['listenerCount']>[0]) {
|
|
299
|
-
return this.
|
|
296
|
+
return this.mod.listenerCount(eventNames)
|
|
300
297
|
}
|
|
301
298
|
|
|
302
299
|
async manifest(maxDepth?: number): Promise<ModuleManifestPayload> {
|
|
@@ -318,26 +315,26 @@ export class ModuleWrapper<TWrappedModule extends Module = Module>
|
|
|
318
315
|
eventNames: TEventName,
|
|
319
316
|
listener: EventListener<TWrappedModule['eventData'][TEventName]>,
|
|
320
317
|
) {
|
|
321
|
-
return this.
|
|
318
|
+
return this.mod.off(eventNames, listener)
|
|
322
319
|
}
|
|
323
320
|
|
|
324
321
|
offAny(listener: EventAnyListener) {
|
|
325
|
-
return this.
|
|
322
|
+
return this.mod.offAny(listener)
|
|
326
323
|
}
|
|
327
324
|
|
|
328
325
|
on<TEventName extends keyof TWrappedModule['eventData']>(eventNames: TEventName, listener: EventListener<TWrappedModule['eventData'][TEventName]>) {
|
|
329
|
-
return this.
|
|
326
|
+
return this.mod.on(eventNames, listener)
|
|
330
327
|
}
|
|
331
328
|
|
|
332
329
|
onAny(listener: EventAnyListener) {
|
|
333
|
-
return this.
|
|
330
|
+
return this.mod.onAny(listener)
|
|
334
331
|
}
|
|
335
332
|
|
|
336
333
|
once<TEventName extends keyof TWrappedModule['eventData']>(
|
|
337
334
|
eventName: TEventName,
|
|
338
335
|
listener: EventListener<TWrappedModule['eventData'][TEventName]>,
|
|
339
336
|
) {
|
|
340
|
-
return this.
|
|
337
|
+
return this.mod.once(eventName, listener)
|
|
341
338
|
}
|
|
342
339
|
|
|
343
340
|
parents(): Promisable<ModuleInstance[]> {
|
|
@@ -355,25 +352,25 @@ export class ModuleWrapper<TWrappedModule extends Module = Module>
|
|
|
355
352
|
}
|
|
356
353
|
|
|
357
354
|
async privateChildren(): Promise<ModuleInstance[]> {
|
|
358
|
-
if (isModuleInstance(this.
|
|
359
|
-
return await this.
|
|
355
|
+
if (isModuleInstance(this.mod)) {
|
|
356
|
+
return await this.mod.privateChildren()
|
|
360
357
|
}
|
|
361
358
|
return []
|
|
362
359
|
}
|
|
363
360
|
|
|
364
361
|
async publicChildren(): Promise<ModuleInstance[]> {
|
|
365
|
-
if (isModuleInstance(this.
|
|
366
|
-
return await this.
|
|
362
|
+
if (isModuleInstance(this.mod)) {
|
|
363
|
+
return await this.mod.publicChildren()
|
|
367
364
|
}
|
|
368
365
|
return []
|
|
369
366
|
}
|
|
370
367
|
|
|
371
368
|
async query<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads?: Payload[]): Promise<ModuleQueryResult> {
|
|
372
|
-
return await this.
|
|
369
|
+
return await this.mod.query(query, payloads)
|
|
373
370
|
}
|
|
374
371
|
|
|
375
372
|
queryable<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads?: Payload[]) {
|
|
376
|
-
return this.
|
|
373
|
+
return this.mod.queryable(query, payloads)
|
|
377
374
|
}
|
|
378
375
|
|
|
379
376
|
removeParent(address: Address) {
|
|
@@ -394,7 +391,7 @@ export class ModuleWrapper<TWrappedModule extends Module = Module>
|
|
|
394
391
|
idOrFilter: ModuleIdentifier | ModuleFilter<T> = '*',
|
|
395
392
|
options?: ModuleFilterOptions<T>,
|
|
396
393
|
): Promise<T | T[] | undefined> {
|
|
397
|
-
const instance = asModuleInstance(this.
|
|
394
|
+
const instance = asModuleInstance(this.mod)
|
|
398
395
|
if (instance?.['resolve']) {
|
|
399
396
|
if (idOrFilter === '*') {
|
|
400
397
|
return await instance.resolve<T>('*', options)
|
package/src/models.ts
CHANGED