Я использую TS и Graphql
Прежде чем использовать подписку, мой набор для распознавателей (который называется ResolverMap - показан ниже) мог нормально работать без подписки. Теперь, когда я хотел добавить распознаватель подписки, мой машинопись кричит на меня. Что касается формы распознавателя подписки, она отличается от распознавателя запросов и мутаций.
Я использовал SubscriptionResolverMap - показанный ниже. Это работает для моих распознавателей подписки, но другие ошибки появляются ясно, потому что форма типа распознавателя не соответствует Query and Mutation
Как мне набрать ResolverMap для поддержки всех трех - Subscription, Mutation и Queries?
Спасибо
Resolver
export const TaskResolvers: ResolverMap = {
Subscription: {
taskAdded: {
subscribe: (_: any, __: any, { pubsub }: any) => {
return pubsub.asyncIterator(TASK_ADDED);
},
},
},
Query: {
getTasks: combineResolvers(isAuthenticated, async (_, __, { Task }) => {
const tasks = await Task.find({});
return tasks;
}),
countTaskComment: async (
_,
{ taskId }: QueryCountTaskCommentArgs,
{ Task }
) => {
const task = await Task.findById(taskId);
const count = task.commentCount;
return count;
},
},
ResolverMap
export interface ResolverMap {
[key: string]: {
[key: string]: Resolver;
};
}
SubscriptionResolverMap
export interface SubscriptionResolverMap {
[key: string]: {
[key: string]: {
[key: string]: Resolver;
};
};
}