mirror of
https://github.com/unraid/api.git
synced 2026-01-11 02:59:59 -06:00
fix(api): enhance type safety in pubsub subscription methods
- Updated `createSubscription` and `createTrackedSubscription` methods to include generic type parameters, improving type safety and ensuring correct async iterable handling.
This commit is contained in:
@@ -15,6 +15,8 @@ export const pubsub = new PubSub({ eventEmitter });
|
||||
* Create a pubsub subscription.
|
||||
* @param channel The pubsub channel to subscribe to.
|
||||
*/
|
||||
export const createSubscription = (channel: GRAPHQL_PUBSUB_CHANNEL) => {
|
||||
return pubsub.asyncIterableIterator(channel);
|
||||
export const createSubscription = <T = any>(
|
||||
channel: GRAPHQL_PUBSUB_CHANNEL
|
||||
): AsyncIterableIterator<T> => {
|
||||
return pubsub.asyncIterableIterator<T>(channel);
|
||||
};
|
||||
|
||||
@@ -16,8 +16,7 @@ export class SubscriptionHelperService {
|
||||
* @returns A proxy async iterator with automatic cleanup
|
||||
*/
|
||||
public createTrackedSubscription<T = any>(topic: PUBSUB_CHANNEL): AsyncIterableIterator<T> {
|
||||
const iterator = createSubscription(topic) as AsyncIterable<T>;
|
||||
const innerIterator = iterator[Symbol.asyncIterator]();
|
||||
const innerIterator = createSubscription<T>(topic);
|
||||
|
||||
// Subscribe when the subscription starts
|
||||
this.subscriptionTracker.subscribe(topic);
|
||||
|
||||
Reference in New Issue
Block a user