Как упростить ответ graphql

var=$(echo "asdf")
echo $var
# => asdf

Используя этот метод, команда сразу оценивается и сохраняется ее возвращаемое значение.

stored_date=$(date)
echo $stored_date
# => Thu Jan 15 10:57:16 EST 2015
# (wait a few seconds)
echo $stored_date
# => Thu Jan 15 10:57:16 EST 2015

То же самое с обратным шагом

stored_date=`date`
echo $stored_date
# => Thu Jan 15 11:02:19 EST 2015
# (wait a few seconds)
echo $stored_date
# => Thu Jan 15 11:02:19 EST 2015

Использование eval в $(...) не будет оцениваться позже

stored_date=$(eval "date")
echo $stored_date
# => Thu Jan 15 11:05:30 EST 2015
# (wait a few seconds)
echo $stored_date
# => Thu Jan 15 11:05:30 EST 2015

Используя eval, он оценивается при использовании eval

stored_date="date" # < storing the command itself
echo $(eval $stored_date)
# => Thu Jan 15 11:07:05 EST 2015
# (wait a few seconds)
echo $(eval $stored_date)
# => Thu Jan 15 11:07:16 EST 2015
#                     ^^ Time changed

В приведенном выше примере, если вам нужно запустить команду с аргументами, поместите их в строку, которую вы храните

stored_date="date -u"
# ...

. Для сценариев bash это редко актуально, но последнее примечание. Будьте осторожны с eval. Eval только строки, которыми вы управляете, никогда не строки, исходящие от ненадежного пользователя или созданные из ненадежного пользовательского ввода.

0
задан Artem Komarov 18 January 2019 в 09:45
поделиться

1 ответ

В настоящее время, без каких-либо дополнительных зависимостей, и если вы не хотите обновлять схему, вы не можете контролировать форму объекта, возвращаемого GraphQL, если вы хотите контролировать форму, которая может быть возможна с помощью graphql-leveler.

graphql-leveler предоставит вызов метода _get, с помощью которого вы можете управлять формой вашего объекта, который вы можете сделать просто:

{
    brandName: _get(products: 'brand.name')
}

Примечание: чтобы использовать graphql-leveler, просто добавьте graphql-leveler к вашим зависимостям требуется LevelerObjectType и используйте его вместо GraphQLObjectType. Готово!

0
ответ дан Piyush Zalani 18 January 2019 в 09:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: