Как сгенерировать полный AST из входного объекта GraphQL - PullRequest
1 голос
/ 22 апреля 2020

Я играю с утилитами visit и TypeInfo для анализа некоторых запросов graphql. Я хочу проанализировать и, в конечном итоге, изменить фильтр, указанный как входной фильтр в стиле Graphcool

Однако я не могу получить ожидаемую информацию. Учитывая этот запрос:

{
    Systems (filter: { code_in: ["lemon"] }) {
        code
    }
}

с этим кодом:

    visit(parse(systemFilter), {
        enter: node => {
            typeInfo.enter(node);
            console.log(JSON.stringify( typeInfo.getFieldDef(), null, 2))
            console.log(JSON.stringify( typeInfo.getArgument(), null, 2))
        },
        leave: node => {
            typeInfo.leave(node);
        },
    });

Я не нахожу никаких ссылок на code_in или lemon в журналах.

Являются ли свойства входных объектов менее доступными для инструментария graphql AST, или я что-то не так делаю?

1 Ответ

0 голосов
/ 22 апреля 2020

Существует ошибка / недокументированное ограничение в утилите TypeInfo. Если я выйду из необработанного узла и grep для «лимона», я найду то, что мне нужно.

...