Как преобразовать строку в Input<String> - Kotlin

Я использую клиентский вызов GraphQL Apollo, и он генерирует файлы. В результате я получил это

val storeNumber: Input<String> = Input.absent()

Вместо обычной строки. Итак, как я могу привести параметр к Input<String>, чтобы избежать этой ошибки

Как преобразовать строку в Input&lt;String&gt; - Kotlin

0
0
31
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я не использую Apollo, но нашел исходный код Input. Это зависит от того, какую версию этой библиотеки вы используете. Если вы используете более старую версию, чтобы обернуть (не «привести»!) строку в качестве входных данных, используйте Input.Present:

storeNumber = Input.Present(storeNumber)

Обратите внимание, что термин «приведение» означает обещание компилятору, что ваш существующий экземпляр также является экземпляром чего-то еще. Это сильно отличается от преобразования или упаковки экземпляра чего-либо.

Если вы используете более новую версию библиотеки, вам вообще не следует использовать класс Input. Он был заменен необязательным классом, и в этом случае вы должны использовать Optional.Present(storeNumber).

Если вы хотите в будущем самостоятельно разбираться в подобных вещах, попробуйте Ctrl+щелчок по функции, с которой вы работаете, чтобы перейти к ее исходному коду. В свою очередь, вы можете Ctrl+Click типы параметров функции. Это приведет вас к исходному коду Input, чтобы вы могли увидеть, как создать экземпляр.

Другие вопросы по теме