@nolag/queue 1.1.0 → 1.2.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/NoLagQueue.d.ts +2 -2
- package/dist/QueueRoom.d.ts +33 -2
- package/dist/browser.js +1 -1
- package/dist/browser.js.map +1 -1
- package/dist/index.cjs +149 -13
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.mjs +149 -13
- package/dist/index.mjs.map +1 -1
- package/dist/react-native.js +149 -13
- package/dist/react-native.js.map +1 -1
- package/dist/types.d.ts +38 -0
- package/dist/utils.d.ts +49 -0
- package/package.json +1 -1
package/dist/react-native.js
CHANGED
|
@@ -354,6 +354,78 @@ function createLogger(prefix, enabled) {
|
|
|
354
354
|
console.log(`[${prefix}]`, ...args);
|
|
355
355
|
};
|
|
356
356
|
}
|
|
357
|
+
// ============ Filters ============
|
|
358
|
+
/**
|
|
359
|
+
* Build the filter fragment of an emit options object.
|
|
360
|
+
*
|
|
361
|
+
* `filter` wins over `filters`: a publish is routed to exactly one topic, so
|
|
362
|
+
* honouring both would silently drop one of them.
|
|
363
|
+
*/
|
|
364
|
+
function filterEmitOptions(opts) {
|
|
365
|
+
if (opts?.filter)
|
|
366
|
+
return { filter: opts.filter };
|
|
367
|
+
if (opts?.filters && opts.filters.length > 0)
|
|
368
|
+
return { filters: opts.filters };
|
|
369
|
+
return {};
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* Rebuild publish options from the filter a message arrived with, so a reply
|
|
373
|
+
* to it reaches the same audience the original did.
|
|
374
|
+
*
|
|
375
|
+
* The server joins AND groups into one composite value with '|', which is not
|
|
376
|
+
* a legal character in a plain filter, so split those back apart.
|
|
377
|
+
*/
|
|
378
|
+
function inheritFilter(filter) {
|
|
379
|
+
if (!filter)
|
|
380
|
+
return {};
|
|
381
|
+
if (filter.includes('|'))
|
|
382
|
+
return { filters: filter.split('|') };
|
|
383
|
+
return { filter };
|
|
384
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* Merge OR terms into an existing filter set. AND groups (nested arrays) are
|
|
387
|
+
* preserved as-is — only plain string terms are deduplicated.
|
|
388
|
+
*/
|
|
389
|
+
function mergeFilters(existing, add) {
|
|
390
|
+
const simple = new Set();
|
|
391
|
+
const groups = [];
|
|
392
|
+
for (const f of existing) {
|
|
393
|
+
if (typeof f === 'string')
|
|
394
|
+
simple.add(f);
|
|
395
|
+
else
|
|
396
|
+
groups.push(f);
|
|
397
|
+
}
|
|
398
|
+
for (const v of add)
|
|
399
|
+
simple.add(v);
|
|
400
|
+
return [...simple, ...groups];
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
* Drop OR terms from a filter set. AND groups are left untouched — remove
|
|
404
|
+
* those by calling `setFilters` with the set you want.
|
|
405
|
+
*/
|
|
406
|
+
function withoutFilters(existing, remove) {
|
|
407
|
+
const drop = new Set(remove);
|
|
408
|
+
return existing.filter((f) => typeof f !== 'string' || !drop.has(f));
|
|
409
|
+
}
|
|
410
|
+
/**
|
|
411
|
+
* The composite key the server derives from an AND filter group: values are
|
|
412
|
+
* lowercased, sorted, and joined with '|'. Mirrored here so an item created
|
|
413
|
+
* locally carries the same filter string as one arriving off the wire.
|
|
414
|
+
*/
|
|
415
|
+
function compositeFilterKey(values) {
|
|
416
|
+
return [...values].map((v) => v.toLowerCase()).sort().join('|');
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* The single string form of whatever filter a publish used, for recording on
|
|
420
|
+
* the local copy of an item. Round-trips through `inheritFilter`.
|
|
421
|
+
*/
|
|
422
|
+
function recordedFilter(opts) {
|
|
423
|
+
if (opts?.filter)
|
|
424
|
+
return opts.filter;
|
|
425
|
+
if (opts?.filters && opts.filters.length > 0)
|
|
426
|
+
return compositeFilterKey(opts.filters);
|
|
427
|
+
return undefined;
|
|
428
|
+
}
|
|
357
429
|
// ============ Wrapper registry ============
|
|
358
430
|
// One wrapper instance per (client, appName): two wrappers sharing an app on
|
|
359
431
|
// one connection would collide on topics, presence and the online lobby.
|
|
@@ -406,6 +478,8 @@ class QueueRoom extends EventEmitter {
|
|
|
406
478
|
// handlers for a topic (the client may be shared with other consumers).
|
|
407
479
|
this._onJobsRef = null;
|
|
408
480
|
this._onProgressRef = null;
|
|
481
|
+
/** Filter values applied to the jobs subscription. */
|
|
482
|
+
this._filters = [];
|
|
409
483
|
this.name = name;
|
|
410
484
|
this._roomContext = roomContext;
|
|
411
485
|
this._localWorkerId = localWorkerId;
|
|
@@ -438,11 +512,12 @@ class QueueRoom extends EventEmitter {
|
|
|
438
512
|
createdBy: this._localWorkerId,
|
|
439
513
|
createdAt: now,
|
|
440
514
|
updatedAt: now,
|
|
515
|
+
filter: recordedFilter(opts),
|
|
441
516
|
isReplay: false,
|
|
442
517
|
};
|
|
443
518
|
this._jobStore.add(job);
|
|
444
519
|
this._log('Job added:', job.id, job.type);
|
|
445
|
-
this._roomContext.emit(TOPIC_JOBS, { event: 'jobAdded', job }, { echo: true });
|
|
520
|
+
this._roomContext.emit(TOPIC_JOBS, { event: 'jobAdded', job }, { echo: true, ...filterEmitOptions(opts) });
|
|
446
521
|
this.emit('jobAdded', job);
|
|
447
522
|
return job;
|
|
448
523
|
}
|
|
@@ -457,7 +532,7 @@ class QueueRoom extends EventEmitter {
|
|
|
457
532
|
if (!updated)
|
|
458
533
|
return null;
|
|
459
534
|
this._log('Job claimed:', jobId, 'by', this._localWorkerId);
|
|
460
|
-
this._roomContext.emit(TOPIC_JOBS, { event: 'jobClaimed', job: updated }, { echo: true });
|
|
535
|
+
this._roomContext.emit(TOPIC_JOBS, { event: 'jobClaimed', job: updated }, { echo: true, ...inheritFilter(updated.filter) });
|
|
461
536
|
this.emit('jobClaimed', updated);
|
|
462
537
|
return updated;
|
|
463
538
|
}
|
|
@@ -475,7 +550,7 @@ class QueueRoom extends EventEmitter {
|
|
|
475
550
|
timestamp: Date.now(),
|
|
476
551
|
};
|
|
477
552
|
this._log('Job progress:', jobId, job.progress + '%');
|
|
478
|
-
this._roomContext.emit(TOPIC_PROGRESS, progressEvent, { echo: true });
|
|
553
|
+
this._roomContext.emit(TOPIC_PROGRESS, progressEvent, { echo: true, ...inheritFilter(job.filter) });
|
|
479
554
|
this.emit('jobProgress', progressEvent);
|
|
480
555
|
}
|
|
481
556
|
/**
|
|
@@ -494,7 +569,7 @@ class QueueRoom extends EventEmitter {
|
|
|
494
569
|
if (!completed)
|
|
495
570
|
return null;
|
|
496
571
|
this._log('Job completed:', jobId);
|
|
497
|
-
this._roomContext.emit(TOPIC_JOBS, { event: 'jobCompleted', job: completed }, { echo: true });
|
|
572
|
+
this._roomContext.emit(TOPIC_JOBS, { event: 'jobCompleted', job: completed }, { echo: true, ...inheritFilter(completed.filter) });
|
|
498
573
|
this.emit('jobCompleted', completed);
|
|
499
574
|
return completed;
|
|
500
575
|
}
|
|
@@ -518,19 +593,62 @@ class QueueRoom extends EventEmitter {
|
|
|
518
593
|
if (!failed)
|
|
519
594
|
return null;
|
|
520
595
|
this._log('Job failed:', jobId, 'attempts:', nextAttempts, '/', failed.maxAttempts);
|
|
521
|
-
this._roomContext.emit(TOPIC_JOBS, { event: 'jobFailed', job: failed }, { echo: true });
|
|
596
|
+
this._roomContext.emit(TOPIC_JOBS, { event: 'jobFailed', job: failed }, { echo: true, ...inheritFilter(failed.filter) });
|
|
522
597
|
this.emit('jobFailed', failed);
|
|
523
598
|
// Auto-retry if under maxAttempts
|
|
524
599
|
if (nextAttempts < failed.maxAttempts) {
|
|
525
600
|
const retried = this._jobStore.updateStatus(jobId, 'pending');
|
|
526
601
|
if (retried) {
|
|
527
602
|
this._log('Job retrying:', jobId, 'attempt', nextAttempts + 1);
|
|
528
|
-
this._roomContext.emit(TOPIC_JOBS, { event: 'jobRetrying', job: retried }, { echo: true });
|
|
603
|
+
this._roomContext.emit(TOPIC_JOBS, { event: 'jobRetrying', job: retried }, { echo: true, ...inheritFilter(retried.filter) });
|
|
529
604
|
this.emit('jobRetrying', retried);
|
|
530
605
|
}
|
|
531
606
|
}
|
|
532
607
|
return failed;
|
|
533
608
|
}
|
|
609
|
+
// ============ Filters ============
|
|
610
|
+
/** The filter values currently applied to this queue's subscription. */
|
|
611
|
+
get filters() {
|
|
612
|
+
return [...this._filters];
|
|
613
|
+
}
|
|
614
|
+
/**
|
|
615
|
+
* Replace this queue's filters — only jobs published with one of these
|
|
616
|
+
* values are delivered. For a worker this declares its capabilities: it is
|
|
617
|
+
* offered only the jobs it can actually run, and load balancing still hands
|
|
618
|
+
* each such job to exactly one matching worker.
|
|
619
|
+
*
|
|
620
|
+
* Passing an empty array clears filtering and restores the wildcard
|
|
621
|
+
* subscription, which receives every job on the queue.
|
|
622
|
+
*
|
|
623
|
+
* Not to be confused with `getJobs(filter)`, which filters the local cache
|
|
624
|
+
* by status/type and does not change what the server sends.
|
|
625
|
+
*
|
|
626
|
+
* @example
|
|
627
|
+
* ```ts
|
|
628
|
+
* queue.setFilters(['gpu', 'render']); // gpu OR render jobs
|
|
629
|
+
* queue.setFilters([['gpu', 'eu-west']]); // gpu AND eu-west
|
|
630
|
+
* queue.setFilters([]); // every job
|
|
631
|
+
* ```
|
|
632
|
+
*/
|
|
633
|
+
setFilters(values) {
|
|
634
|
+
this._filters = [...values];
|
|
635
|
+
for (const topic of [TOPIC_JOBS, TOPIC_PROGRESS]) {
|
|
636
|
+
// The core types filters as `string[]`, but both its implementation and
|
|
637
|
+
// the wire protocol accept AND groups (nested arrays).
|
|
638
|
+
this._roomContext.setFilters(topic, this._filters);
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
/** Add filter values to the existing set. Existing AND groups are kept. */
|
|
642
|
+
addFilters(values) {
|
|
643
|
+
this.setFilters(mergeFilters(this._filters, values));
|
|
644
|
+
}
|
|
645
|
+
/**
|
|
646
|
+
* Remove filter values from the existing set. Removing the last value
|
|
647
|
+
* restores the wildcard subscription.
|
|
648
|
+
*/
|
|
649
|
+
removeFilters(values) {
|
|
650
|
+
this.setFilters(withoutFilters(this._filters, values));
|
|
651
|
+
}
|
|
534
652
|
// ============ Monitor / Query Methods ============
|
|
535
653
|
/**
|
|
536
654
|
* Get a single job by ID.
|
|
@@ -570,20 +688,34 @@ class QueueRoom extends EventEmitter {
|
|
|
570
688
|
}
|
|
571
689
|
// ============ Internal (called by NoLagQueue) ============
|
|
572
690
|
/** @internal Subscribe to jobs and progress topics, attach listeners */
|
|
573
|
-
_subscribe() {
|
|
691
|
+
_subscribe(filters) {
|
|
574
692
|
this._log('Room subscribe:', this.name);
|
|
693
|
+
this._filters = filters ? [...filters] : [];
|
|
694
|
+
// Filters and load balancing compose: the server shares each filtered
|
|
695
|
+
// sub-topic across the group, so one matching worker claims each job.
|
|
696
|
+
const filterOpts = this._filters.length > 0 ? { filters: this._filters } : {};
|
|
575
697
|
// Workers use load balancing so each job event is delivered to only ONE worker
|
|
576
698
|
// (round-robin across all workers in the same group). Producers and monitors
|
|
577
699
|
// receive all messages so they can track full queue state.
|
|
578
700
|
if (this._options.role === 'worker') {
|
|
579
701
|
const group = this._options.loadBalanceGroup ?? `queue-workers-${this.name}`;
|
|
580
702
|
this._log('Subscribing with load balance, group:', group);
|
|
581
|
-
this._roomContext.subscribe(TOPIC_JOBS, { loadBalance: true, loadBalanceGroup: group });
|
|
703
|
+
this._roomContext.subscribe(TOPIC_JOBS, { loadBalance: true, loadBalanceGroup: group, ...filterOpts });
|
|
704
|
+
}
|
|
705
|
+
else if (this._filters.length > 0) {
|
|
706
|
+
this._roomContext.subscribe(TOPIC_JOBS, filterOpts);
|
|
582
707
|
}
|
|
583
708
|
else {
|
|
584
709
|
this._roomContext.subscribe(TOPIC_JOBS);
|
|
585
710
|
}
|
|
586
|
-
|
|
711
|
+
// Progress is never load balanced — every monitor wants every update —
|
|
712
|
+
// but it carries the job's filter so it tracks the jobs topic.
|
|
713
|
+
if (this._filters.length > 0) {
|
|
714
|
+
this._roomContext.subscribe(TOPIC_PROGRESS, filterOpts);
|
|
715
|
+
}
|
|
716
|
+
else {
|
|
717
|
+
this._roomContext.subscribe(TOPIC_PROGRESS);
|
|
718
|
+
}
|
|
587
719
|
// Listen for job lifecycle messages (refs stored for handler-specific removal)
|
|
588
720
|
this._onJobsRef = (data) => {
|
|
589
721
|
this._handleJobMessage(data);
|
|
@@ -1030,13 +1162,17 @@ class NoLagQueue extends EventEmitter {
|
|
|
1030
1162
|
* Join a queue room. Creates, subscribes, and activates it.
|
|
1031
1163
|
* Returns an existing room if already joined.
|
|
1032
1164
|
*/
|
|
1033
|
-
joinQueue(name) {
|
|
1165
|
+
joinQueue(name, opts) {
|
|
1034
1166
|
this._assertUsable();
|
|
1035
1167
|
let room = this._queues.get(name);
|
|
1036
1168
|
if (!room) {
|
|
1037
|
-
room = this._subscribeQueue(name);
|
|
1169
|
+
room = this._subscribeQueue(name, opts?.filters);
|
|
1038
1170
|
room._activate();
|
|
1039
1171
|
}
|
|
1172
|
+
else if (opts?.filters) {
|
|
1173
|
+
// Already joined — re-point its filters rather than ignoring them.
|
|
1174
|
+
room.setFilters(opts.filters);
|
|
1175
|
+
}
|
|
1040
1176
|
return room;
|
|
1041
1177
|
}
|
|
1042
1178
|
/**
|
|
@@ -1073,13 +1209,13 @@ class NoLagQueue extends EventEmitter {
|
|
|
1073
1209
|
}
|
|
1074
1210
|
}
|
|
1075
1211
|
// ============ Private: Queue Setup ============
|
|
1076
|
-
_subscribeQueue(name) {
|
|
1212
|
+
_subscribeQueue(name, filters) {
|
|
1077
1213
|
this._log('Subscribing queue:', name);
|
|
1078
1214
|
const roomContext = this._client.setApp(this._options.appName).setRoom(name);
|
|
1079
1215
|
const room = new QueueRoom(name, roomContext, this._workerId, this._options, createLogger(`QueueRoom:${name}`, this._options.debug), () => this._client.connected);
|
|
1080
1216
|
room._setLocalActorId(this._localWorker.actorTokenId);
|
|
1081
1217
|
this._queues.set(name, room);
|
|
1082
|
-
room._subscribe();
|
|
1218
|
+
room._subscribe(filters);
|
|
1083
1219
|
return room;
|
|
1084
1220
|
}
|
|
1085
1221
|
// ============ Private: Scope Filtering ============
|
package/dist/react-native.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-native.js","sources":["../src/EventEmitter.ts","../src/JobStore.ts","../src/WorkerManager.ts","../src/PresenceManager.ts","../src/utils.ts","../src/constants.ts","../src/QueueRoom.ts","../src/NoLagQueue.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react-native.js","sources":["../src/EventEmitter.ts","../src/JobStore.ts","../src/WorkerManager.ts","../src/PresenceManager.ts","../src/utils.ts","../src/constants.ts","../src/QueueRoom.ts","../src/NoLagQueue.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -79,6 +79,12 @@ export interface Job {
|
|
|
79
79
|
updatedAt: number;
|
|
80
80
|
/** Timestamp when the job completed or failed */
|
|
81
81
|
completedAt?: number;
|
|
82
|
+
/**
|
|
83
|
+
* The filter this job was routed with, if any. Every later lifecycle event
|
|
84
|
+
* for the job (claimed, progress, completed, failed, retrying) is published
|
|
85
|
+
* with the same value so it reaches the same workers and monitors.
|
|
86
|
+
*/
|
|
87
|
+
filter?: string;
|
|
82
88
|
/** Whether this job was replayed from history */
|
|
83
89
|
isReplay: boolean;
|
|
84
90
|
}
|
|
@@ -91,6 +97,30 @@ export interface AddJobOptions {
|
|
|
91
97
|
priority?: JobPriority;
|
|
92
98
|
/** Maximum number of attempts (default: DEFAULT_MAX_ATTEMPTS) */
|
|
93
99
|
maxAttempts?: number;
|
|
100
|
+
/**
|
|
101
|
+
* Route this job to workers filtering on this value — the capability-routing
|
|
102
|
+
* case, e.g. `'gpu'` so only GPU workers see it. Load balancing still applies
|
|
103
|
+
* within the matching workers, so exactly one of them claims it.
|
|
104
|
+
*
|
|
105
|
+
* Workers subscribed without filters receive every job regardless.
|
|
106
|
+
*/
|
|
107
|
+
filter?: string;
|
|
108
|
+
/**
|
|
109
|
+
* AND composite filter — reaches only workers filtering on all of these
|
|
110
|
+
* values together, e.g. `['gpu', 'eu-west']`. Ignored when `filter` is set.
|
|
111
|
+
*/
|
|
112
|
+
filters?: string[];
|
|
113
|
+
}
|
|
114
|
+
/** Options for `NoLagQueue.joinQueue()`. */
|
|
115
|
+
export interface JoinQueueOptions {
|
|
116
|
+
/**
|
|
117
|
+
* Only receive jobs published with one of these filter values — declare the
|
|
118
|
+
* capabilities this worker has. Combines with load balancing: the job goes
|
|
119
|
+
* to exactly one worker among those matching the filter.
|
|
120
|
+
*
|
|
121
|
+
* Omit (or pass an empty array) to receive every job on the queue.
|
|
122
|
+
*/
|
|
123
|
+
filters?: FilterValue[];
|
|
94
124
|
}
|
|
95
125
|
export interface JobProgress {
|
|
96
126
|
/** ID of the job being updated */
|
|
@@ -150,3 +180,11 @@ export interface QueueRoomEvents {
|
|
|
150
180
|
replayStart: [];
|
|
151
181
|
replayEnd: [count: number];
|
|
152
182
|
}
|
|
183
|
+
/**
|
|
184
|
+
* A single subscription filter value.
|
|
185
|
+
*
|
|
186
|
+
* A plain string is an OR term: `['alice', 'bob']` matches either. A nested
|
|
187
|
+
* array is an AND group: `[['alice', 'admin']]` matches only what was
|
|
188
|
+
* published tagged with both.
|
|
189
|
+
*/
|
|
190
|
+
export type FilterValue = string | string[];
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,5 +1,54 @@
|
|
|
1
|
+
import type { FilterValue } from './types';
|
|
1
2
|
export declare function generateId(): string;
|
|
2
3
|
export declare function createLogger(prefix: string, enabled: boolean): (..._args: unknown[]) => void;
|
|
4
|
+
/**
|
|
5
|
+
* Build the filter fragment of an emit options object.
|
|
6
|
+
*
|
|
7
|
+
* `filter` wins over `filters`: a publish is routed to exactly one topic, so
|
|
8
|
+
* honouring both would silently drop one of them.
|
|
9
|
+
*/
|
|
10
|
+
export declare function filterEmitOptions(opts?: {
|
|
11
|
+
filter?: string;
|
|
12
|
+
filters?: string[];
|
|
13
|
+
}): {
|
|
14
|
+
filter?: string;
|
|
15
|
+
filters?: string[];
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Rebuild publish options from the filter a message arrived with, so a reply
|
|
19
|
+
* to it reaches the same audience the original did.
|
|
20
|
+
*
|
|
21
|
+
* The server joins AND groups into one composite value with '|', which is not
|
|
22
|
+
* a legal character in a plain filter, so split those back apart.
|
|
23
|
+
*/
|
|
24
|
+
export declare function inheritFilter(filter?: string): {
|
|
25
|
+
filter?: string;
|
|
26
|
+
filters?: string[];
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Merge OR terms into an existing filter set. AND groups (nested arrays) are
|
|
30
|
+
* preserved as-is — only plain string terms are deduplicated.
|
|
31
|
+
*/
|
|
32
|
+
export declare function mergeFilters(existing: FilterValue[], add: string[]): FilterValue[];
|
|
33
|
+
/**
|
|
34
|
+
* Drop OR terms from a filter set. AND groups are left untouched — remove
|
|
35
|
+
* those by calling `setFilters` with the set you want.
|
|
36
|
+
*/
|
|
37
|
+
export declare function withoutFilters(existing: FilterValue[], remove: string[]): FilterValue[];
|
|
38
|
+
/**
|
|
39
|
+
* The composite key the server derives from an AND filter group: values are
|
|
40
|
+
* lowercased, sorted, and joined with '|'. Mirrored here so an item created
|
|
41
|
+
* locally carries the same filter string as one arriving off the wire.
|
|
42
|
+
*/
|
|
43
|
+
export declare function compositeFilterKey(values: string[]): string;
|
|
44
|
+
/**
|
|
45
|
+
* The single string form of whatever filter a publish used, for recording on
|
|
46
|
+
* the local copy of an item. Round-trips through `inheritFilter`.
|
|
47
|
+
*/
|
|
48
|
+
export declare function recordedFilter(opts?: {
|
|
49
|
+
filter?: string;
|
|
50
|
+
filters?: string[];
|
|
51
|
+
}): string | undefined;
|
|
3
52
|
/** Register a wrapper against a client + appName; warns on collision. */
|
|
4
53
|
export declare function registerWrapper(client: object, appName: string, wrapperName: string): void;
|
|
5
54
|
/** Release a wrapper's (client, appName) registration on detach. */
|