@@ -88,6 +88,17 @@ const std::string& GetRequestText() noexcept
8888 # Try a field with a C++ keyword
8989 default
9090 }
91+
92+ mutation CompleteTaskMutation($input: CompleteTaskInput = {id: "ZmFrZVRhc2tJZA==", isComplete: true, clientMutationId: "Hi There!"}, $skipClientMutationId: Boolean!) {
93+ completedTask: completeTask(input: $input) {
94+ completedTask: task {
95+ completedTaskId: id
96+ title
97+ isComplete
98+ }
99+ clientMutationId @skip(if: $skipClientMutationId)
100+ }
101+ }
91102 )gql" s;
92103
93104 return s_request;
@@ -573,4 +584,134 @@ Response parseResponse(response::Value&& response)
573584}
574585
575586} // namespace query::Miscellaneous
587+
588+ template <>
589+ constexpr bool isInputType<CompleteTaskInput>() noexcept
590+ {
591+ return true ;
592+ }
593+
594+ template <>
595+ response::Value ModifiedVariable<TaskState>::serialize(TaskState&& value)
596+ {
597+ response::Value result { response::Type::EnumValue };
598+
599+ result.set <std::string>(std::string { s_namesTaskState[static_cast <size_t >(value)] });
600+
601+ return result;
602+ }
603+
604+ template <>
605+ response::Value ModifiedVariable<CompleteTaskInput>::serialize(CompleteTaskInput&& inputValue)
606+ {
607+ response::Value result { response::Type::Map };
608+
609+ result.emplace_back (R"js( id)js" s, ModifiedVariable<response::IdType>::serialize (std::move (inputValue.id )));
610+ result.emplace_back (R"js( testTaskState)js" s, ModifiedVariable<TaskState>::serialize<TypeModifier::Nullable>(std::move (inputValue.testTaskState )));
611+ result.emplace_back (R"js( isComplete)js" s, ModifiedVariable<bool >::serialize<TypeModifier::Nullable>(std::move (inputValue.isComplete )));
612+ result.emplace_back (R"js( clientMutationId)js" s, ModifiedVariable<std::string>::serialize<TypeModifier::Nullable>(std::move (inputValue.clientMutationId )));
613+
614+ return result;
615+ }
616+
617+ template <>
618+ mutation::CompleteTaskMutation::Response::completedTask_CompleteTaskPayload::completedTask_Task ModifiedResponse<mutation::CompleteTaskMutation::Response::completedTask_CompleteTaskPayload::completedTask_Task>::parse(response::Value&& response)
619+ {
620+ mutation::CompleteTaskMutation::Response::completedTask_CompleteTaskPayload::completedTask_Task result;
621+
622+ if (response.type () == response::Type::Map)
623+ {
624+ auto members = response.release <response::MapType>();
625+
626+ for (auto & member : members)
627+ {
628+ if (member.first == R"js( completedTaskId)js" sv)
629+ {
630+ result.completedTaskId = ModifiedResponse<response::IdType>::parse (std::move (member.second ));
631+ continue ;
632+ }
633+ if (member.first == R"js( title)js" sv)
634+ {
635+ result.title = ModifiedResponse<std::string>::parse<TypeModifier::Nullable>(std::move (member.second ));
636+ continue ;
637+ }
638+ if (member.first == R"js( isComplete)js" sv)
639+ {
640+ result.isComplete = ModifiedResponse<bool >::parse (std::move (member.second ));
641+ continue ;
642+ }
643+ }
644+ }
645+
646+ return result;
647+ }
648+
649+ template <>
650+ mutation::CompleteTaskMutation::Response::completedTask_CompleteTaskPayload ModifiedResponse<mutation::CompleteTaskMutation::Response::completedTask_CompleteTaskPayload>::parse(response::Value&& response)
651+ {
652+ mutation::CompleteTaskMutation::Response::completedTask_CompleteTaskPayload result;
653+
654+ if (response.type () == response::Type::Map)
655+ {
656+ auto members = response.release <response::MapType>();
657+
658+ for (auto & member : members)
659+ {
660+ if (member.first == R"js( completedTask)js" sv)
661+ {
662+ result.completedTask = ModifiedResponse<mutation::CompleteTaskMutation::Response::completedTask_CompleteTaskPayload::completedTask_Task>::parse<TypeModifier::Nullable>(std::move (member.second ));
663+ continue ;
664+ }
665+ if (member.first == R"js( clientMutationId)js" sv)
666+ {
667+ result.clientMutationId = ModifiedResponse<std::string>::parse<TypeModifier::Nullable>(std::move (member.second ));
668+ continue ;
669+ }
670+ }
671+ }
672+
673+ return result;
674+ }
675+
676+ namespace mutation ::CompleteTaskMutation {
677+
678+ const std::string& GetOperationName () noexcept
679+ {
680+ static const auto s_name = R"gql( CompleteTaskMutation)gql" s;
681+
682+ return s_name;
683+ }
684+
685+ response::Value serializeVariables (Variables&& variables)
686+ {
687+ response::Value result { response::Type::Map };
688+
689+ result.emplace_back (R"js( input)js" s, ModifiedVariable<CompleteTaskInput>::serialize<TypeModifier::Nullable>(std::move (variables.input )));
690+ result.emplace_back (R"js( skipClientMutationId)js" s, ModifiedVariable<bool >::serialize (std::move (variables.skipClientMutationId )));
691+
692+ return result;
693+ }
694+
695+ Response parseResponse (response::Value&& response)
696+ {
697+ Response result;
698+
699+ if (response.type () == response::Type::Map)
700+ {
701+ auto members = response.release <response::MapType>();
702+
703+ for (auto & member : members)
704+ {
705+ if (member.first == R"js( completedTask)js" sv)
706+ {
707+ result.completedTask = ModifiedResponse<mutation::CompleteTaskMutation::Response::completedTask_CompleteTaskPayload>::parse (std::move (member.second ));
708+ continue ;
709+ }
710+ }
711+ }
712+
713+ return result;
714+ }
715+
716+ } // namespace mutation::CompleteTaskMutation
576717} // namespace graphql::client
0 commit comments