Skip to content

Commit 99da8bf

Browse files
committed
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.
1 parent 0fadb6f commit 99da8bf

2 files changed

Lines changed: 5 additions & 4 deletions

File tree

api/src/core/pubsub.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ export const pubsub = new PubSub({ eventEmitter });
1515
* Create a pubsub subscription.
1616
* @param channel The pubsub channel to subscribe to.
1717
*/
18-
export const createSubscription = (channel: GRAPHQL_PUBSUB_CHANNEL) => {
19-
return pubsub.asyncIterableIterator(channel);
18+
export const createSubscription = <T = any>(
19+
channel: GRAPHQL_PUBSUB_CHANNEL
20+
): AsyncIterableIterator<T> => {
21+
return pubsub.asyncIterableIterator<T>(channel);
2022
};

api/src/unraid-api/graph/services/subscription-helper.service.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@ export class SubscriptionHelperService {
1616
* @returns A proxy async iterator with automatic cleanup
1717
*/
1818
public createTrackedSubscription<T = any>(topic: PUBSUB_CHANNEL): AsyncIterableIterator<T> {
19-
const iterator = createSubscription(topic) as AsyncIterable<T>;
20-
const innerIterator = iterator[Symbol.asyncIterator]();
19+
const innerIterator = createSubscription<T>(topic);
2120

2221
// Subscribe when the subscription starts
2322
this.subscriptionTracker.subscribe(topic);

0 commit comments

Comments
 (0)