Я в настоящее время находится в процессе преобразования REST API в GraphQL, но я ударил немного в одной из конечных точек.Создание типа GraphQLObjectType с индексируемой сигнатурой поля?
В настоящее время эта конечная точка возвращает объект, ключи которого могут быть неограниченным набором строк, а значения whos соответствуют определенной форме.
Итак, как рудиментарный меня, например, такая ситуация ...
// response
{
foo: { id: 'foo', count: 3 },
bar: { id: 'bar', count: 6 },
baz: { id: 'baz', count: 1 },
}
Опять же, ключи не известны во время выполнения и может быть неограниченным множеством строк.
В машинопись, например, такая ситуация обрабатывается путем создания интерфейса с помощью индексируемая подпись поля, как так ...
interface Data {
id: string;
count: number;
}
interface Response {
[key: string]: Data;
}
Итак, мой вопрос: Является ли такого рода вещи возможной с графом? Как я могу создать тип/схему для этого?
Заранее благодарен!
Спасибо за отзыв. Извините за задержку! Я закончил с чем-то подобным для одного конкретного маршрута, но также закончил просто преобразование аналогичного ответа на массив в методе разрешения этого типа. Другими словами ... 'solve: myObj => Object.keys (myObj) .map (key => ({key, value: myObj [key]}));' – dsifford