@coasys/ad4m / Exports / WakerSubscriptionManager
Class: WakerSubscriptionManager
Table of contents
Constructors
Properties
- QuerySubscriptionProxyCtor
- activeSubscriptions
- debounceMs
- debounceTimers
- logger
- onPersist
- onWake
- perspectiveClient
- previousSeenMessages
- proxies
- seenMessages
Methods
Constructors
constructor
• new WakerSubscriptionManager(options)
Parameters
| Name | Type |
|---|---|
options | WakerSubscriptionManagerOptions |
Defined in
perspectives/WakerSubscriptionManager.ts:68 (opens in a new tab)
Properties
QuerySubscriptionProxyCtor
• Private QuerySubscriptionProxyCtor: any
Defined in
perspectives/WakerSubscriptionManager.ts:58 (opens in a new tab)
activeSubscriptions
• Private activeSubscriptions: Map<string, WakerSubscription>
Defined in
perspectives/WakerSubscriptionManager.ts:62 (opens in a new tab)
debounceMs
• Private debounceMs: number
Defined in
perspectives/WakerSubscriptionManager.ts:55 (opens in a new tab)
debounceTimers
• Private debounceTimers: Map<string, Timeout>
Defined in
perspectives/WakerSubscriptionManager.ts:63 (opens in a new tab)
logger
• Private logger: WakerLogger
Defined in
perspectives/WakerSubscriptionManager.ts:54 (opens in a new tab)
onPersist
• Private Optional onPersist: (subscriptions: WakerSubscription[], seenMessages: Record<string, string[]>) => void
Type declaration
▸ (subscriptions, seenMessages): void
Parameters
| Name | Type |
|---|---|
subscriptions | WakerSubscription[] |
seenMessages | Record<string, string[]> |
Returns
void
Defined in
perspectives/WakerSubscriptionManager.ts:57 (opens in a new tab)
onWake
• Private onWake: (sub: WakerSubscription, result: any, mentions?: MentionMessage[]) => void
Type declaration
▸ (sub, result, mentions?): void
Parameters
| Name | Type |
|---|---|
sub | WakerSubscription |
result | any |
mentions? | MentionMessage[] |
Returns
void
Defined in
perspectives/WakerSubscriptionManager.ts:56 (opens in a new tab)
perspectiveClient
• Private perspectiveClient: any
Defined in
perspectives/WakerSubscriptionManager.ts:53 (opens in a new tab)
previousSeenMessages
• Private previousSeenMessages: Record<string, string[]>
Defined in
perspectives/WakerSubscriptionManager.ts:59 (opens in a new tab)
proxies
• Private proxies: Map<string, any>
Defined in
perspectives/WakerSubscriptionManager.ts:61 (opens in a new tab)
seenMessages
• Private seenMessages: Map<string, Set<string>>
Per-subscription set of already-processed message addresses (for mention subs) or serialized result hash (for channel-messages subs).
Defined in
perspectives/WakerSubscriptionManager.ts:66 (opens in a new tab)
Methods
dispose
▸ dispose(id, persist?): void
Dispose a single subscription.
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
id | string | undefined | - |
persist | boolean | true | — if false, skip calling onPersist (used during batch cleanup). |
Returns
void
Defined in
perspectives/WakerSubscriptionManager.ts:246 (opens in a new tab)
disposeAll
▸ disposeAll(): void
Dispose all active subscriptions.
Returns
void
Defined in
perspectives/WakerSubscriptionManager.ts:267 (opens in a new tab)
getActive
▸ getActive(): WakerSubscription[]
Get all active subscriptions.
Returns
Defined in
perspectives/WakerSubscriptionManager.ts:274 (opens in a new tab)
has
▸ has(id): boolean
Check if a subscription exists.
Parameters
| Name | Type |
|---|---|
id | string |
Returns
boolean
Defined in
perspectives/WakerSubscriptionManager.ts:279 (opens in a new tab)
persist
▸ Private persist(): void
Returns
void
Defined in
perspectives/WakerSubscriptionManager.ts:283 (opens in a new tab)
subscribe
▸ subscribe(sub): Promise<void>
Create a live SurrealDB subscription. If a subscription with the same id already exists, it is disposed first.
Parameters
| Name | Type |
|---|---|
sub | WakerSubscription |
Returns
Promise<void>
Defined in
perspectives/WakerSubscriptionManager.ts:82 (opens in a new tab)