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:
Eli Bosley
2025-08-19 12:32:02 -04:00
parent 0fadb6fbd9
commit 99da8bf309
2 changed files with 5 additions and 4 deletions

View File

@@ -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);
};

View File

@@ -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);