Как печатать на шрифтах - PullRequest
0 голосов
/ 16 апреля 2020

Я использую 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;
    };
  };
}
...