mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-11-09 07:10:34 +01:00
Reviewed and verified at d1e3afa4af.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
16 lines
646 B
TypeScript
16 lines
646 B
TypeScript
/** Process-local hint only; Cloud retains the durable target until event acknowledgment. */
|
|
const receivers = new WeakMap<object, () => void>();
|
|
export function registerConnectionEventWake(owner: object, wake: () => void) {
|
|
receivers.set(owner, wake);
|
|
return () => { if (receivers.get(owner) === wake) receivers.delete(owner); };
|
|
}
|
|
export function wakeConnectionEvents(owner: object): boolean {
|
|
const wake = receivers.get(owner);
|
|
if (!wake) return false;
|
|
wake();
|
|
return true;
|
|
}
|
|
|
|
/** Inspection never emits a wake or polls the broker. */
|
|
export const hasConnectionEventWakeReceiver = (owner: object): boolean => receivers.has(owner);
|