Обновление мутаций с типами - PullRequest
0 голосов
/ 18 марта 2019

Я начинаю использовать генератор кода для Angular.

У меня есть базовый запрос

mutation upsert_test($test: String!) {
  insert_test(objects: [{test: $test}]) {
    affected_rows
    returning {
      id
      test
    }
  }
}

Я сгенерировал Mutation Service, используя угловой плагин из генератора кода graphql

@Injectable({
  providedIn: "root"
})
export class UpsertTestGQL extends Apollo.Mutation<
  UpsertTest.Mutation,
  UpsertTest.Variables
> {
  document: any = gql`
    mutation upsert_test($test: String!) {
      insert_test(objects: [{ test: $test }]) {
        affected_rows
        returning {
          id
          test
        }
      }
    }
  `;
}

И я хочу выполнить мутацию и обновить мой магазин

this.upsertTestGQL.mutate({ test: 'ghi' }, {
  update: (proxy, {data: insert_test}) => {
    console.log(proxy);
    console.log(insert_test);
  }
}).subscribe(({data}) => {
  console.log('got data', data);
}, (error) => {
  console.log('there was an error sending the query', error);
});

Каковы правильные параметры и импорт для update, потому что я получаю следующую ошибку: Тип аргумента {update: (proxy: any, {data: insert_test}: {data: any}) => void} нельзя назначить типу параметра MutationOptions | не определено Информация о проверке: проверяет, вызваны ли в TypeScript параметры функций, возвращаемые значения, присвоенные выражения правильного типа.

...