From 8134d59f776be0ef3df77c16b640d473f8a91433 Mon Sep 17 00:00:00 2001 From: Mathias Quintero Date: Sun, 19 Dec 2021 22:18:49 +0000 Subject: [PATCH] Consolidating api name camelcasing --- .../Model/Schema/TypeReference.swift | 2 +- .../Component/Generation/BasicGenerator.swift | 4 +-- .../BasicApolloCodegenRequestProcessor.swift | 5 ++- .../BasicApolloProcessInstantiator.swift | 2 +- templates/swift/API.swift.stencil | 28 +++++++-------- .../swift/FragmentPlaceholder.swift.stencil | 6 ++-- .../GraphQLConnectionFragment.swift.stencil | 8 ++--- templates/swift/GraphQLType.swift.stencil | 2 +- .../MissingFragmentsStruct.swift.stencil | 2 +- .../MissingReferencedFragment.swift.stencil | 6 ++-- templates/swift/MutationStruct.swift.stencil | 6 ++-- .../swift/PagingFromFragment.swift.stencil | 2 +- ...laceholderPagingFromFragment.swift.stencil | 2 +- .../swift/QueryDataPlaceholder.swift.stencil | 6 ++-- .../swift/Struct.swift.stencil | 34 +++++++++---------- 15 files changed, 59 insertions(+), 56 deletions(-) diff --git a/Sources/Graphaello/Processing/Model/Schema/TypeReference.swift b/Sources/Graphaello/Processing/Model/Schema/TypeReference.swift index 8e83712..f95b14a 100644 --- a/Sources/Graphaello/Processing/Model/Schema/TypeReference.swift +++ b/Sources/Graphaello/Processing/Model/Schema/TypeReference.swift @@ -70,7 +70,7 @@ extension Schema.GraphQLType.Field.TypeReference { return "Apollo\(api.upperCamelized).\(fragment.name.upperCamelized)?" } - return "\(api).\(name.upperCamelized)?" + return "\(api.upperCamelized).\(name.upperCamelized)?" case .complex(let definition, let ofType): switch definition.kind { diff --git a/Sources/Graphaello/Processing/Pipeline/Component/Generation/BasicGenerator.swift b/Sources/Graphaello/Processing/Pipeline/Component/Generation/BasicGenerator.swift index 35d154f..0c785dc 100644 --- a/Sources/Graphaello/Processing/Pipeline/Component/Generation/BasicGenerator.swift +++ b/Sources/Graphaello/Processing/Pipeline/Component/Generation/BasicGenerator.swift @@ -3,8 +3,8 @@ import Foundation struct BasicGenerator: Generator { private let structureAPIVersion = 12 - private let apiCodeGenVersion = 5 - private let connectionFragmentCodeGenVersion = 2 + private let apiCodeGenVersion = 6 + private let connectionFragmentCodeGenVersion = 3 func generate(prepared: Project.State, useFormatting: Bool) throws -> String { let usedTypesThatTriggerCacheMiss = prepared diff --git a/Sources/Graphaello/Processing/Pipeline/Component/Preparation/Implementation/BasicApolloCodegenRequestProcessor.swift b/Sources/Graphaello/Processing/Pipeline/Component/Preparation/Implementation/BasicApolloCodegenRequestProcessor.swift index ad89af6..40450d9 100644 --- a/Sources/Graphaello/Processing/Pipeline/Component/Preparation/Implementation/BasicApolloCodegenRequestProcessor.swift +++ b/Sources/Graphaello/Processing/Pipeline/Component/Preparation/Implementation/BasicApolloCodegenRequestProcessor.swift @@ -2,13 +2,16 @@ import Foundation import CLIKit struct BasicApolloCodegenRequestProcessor: ApolloCodegenRequestProcessor { + private let version = 2 + let instantiator: ApolloProcessInstantiator func process(request: ApolloCodeGenRequest, using apollo: ApolloReference, cache: PersistentCache?) throws -> ApolloCodeGenResponse { - let code = try cache.tryCache(key: request) { + let key = ComposedHashable(c0: request, c1: version) + let code = try cache.tryCache(key: key) { try process(request: request, using: apollo) } diff --git a/Sources/Graphaello/Processing/Pipeline/Component/Preparation/Implementation/BasicApolloProcessInstantiator.swift b/Sources/Graphaello/Processing/Pipeline/Component/Preparation/Implementation/BasicApolloProcessInstantiator.swift index effbaa2..5da6471 100644 --- a/Sources/Graphaello/Processing/Pipeline/Component/Preparation/Implementation/BasicApolloProcessInstantiator.swift +++ b/Sources/Graphaello/Processing/Pipeline/Component/Preparation/Implementation/BasicApolloProcessInstantiator.swift @@ -28,7 +28,7 @@ extension ApolloReference { fileprivate func arguments(api: API, graphql: Path, outputFile: Path) -> [String] { return [ command, - "--namespace=Apollo\(api.name)", + "--namespace=Apollo\(api.name.upperCamelized)", "--target=swift", "--includes=\(graphql)", "--localSchemaFile=\(api.path)", diff --git a/templates/swift/API.swift.stencil b/templates/swift/API.swift.stencil index 6855ddb..71c5fda 100644 --- a/templates/swift/API.swift.stencil +++ b/templates/swift/API.swift.stencil @@ -1,18 +1,18 @@ -// MARK: - {{ api.name }} +// MARK: - {{ api.name|upperCamelized }} #if {{ unifiedMacroFlag }} -struct {{ api.name }}: API { +struct {{ api.name|upperCamelized }}: API { let client: ApolloClient - typealias Query = {{ api.name }} - typealias Path = GraphQLPath<{{ api.name }}, V> - typealias FragmentPath = GraphQLFragmentPath<{{ api.name }}, V> + typealias Query = {{ api.name|upperCamelized }} + typealias Path = GraphQLPath<{{ api.name|upperCamelized }}, V> + typealias FragmentPath = GraphQLFragmentPath<{{ api.name|upperCamelized }}, V> {% if api.mutation %} enum Mutation: MutationTarget { - typealias Path = GraphQLPath<{{ api.name }}.Mutation, V> - typealias FragmentPath = GraphQLFragmentPath<{{ api.name }}.Mutation, V> + typealias Path = GraphQLPath<{{ api.name|upperCamelized }}.Mutation, V> + typealias FragmentPath = GraphQLFragmentPath<{{ api.name|upperCamelized }}.Mutation, V> {{ api.mutation.fields|code:"static" }} } @@ -22,7 +22,7 @@ struct {{ api.name }}: API { {{ api.types|code }} } -extension {{ api.name }} { +extension {{ api.name|upperCamelized }} { init(url: URL{% if api.url %} = URL(string: "{{ api.url }}")!{% endif %}, client: URLSessionClient = URLSessionClient(), @@ -45,27 +45,27 @@ extension {{ api.name }} { } {% for type in api.types %} -extension GraphQLFragmentPath where UnderlyingType == {{ api.name }}.{{ type.name|upperCamelized }} { +extension GraphQLFragmentPath where UnderlyingType == {{ api.name|upperCamelized }}.{{ type.name|upperCamelized }} { {{ type.fields|code }} {% for interface in type.interfaces %} - var {{ interface.name|camelized|keywordProtected }}: FragmentPath<{{ api.name }}.{{ interface.name|upperCamelized }}> { .init() } + var {{ interface.name|camelized|keywordProtected }}: FragmentPath<{{ api.name|upperCamelized }}.{{ interface.name|upperCamelized }}> { .init() } {% endfor %} {% for possibleType in type.possibleTypes %} - var {{ possibleType.name|camelized|keywordProtected }}: FragmentPath<{{ api.name }}.{{ possibleType.name|upperCamelized }}?> { .init() } + var {{ possibleType.name|camelized|keywordProtected }}: FragmentPath<{{ api.name|upperCamelized }}.{{ possibleType.name|upperCamelized }}?> { .init() } {% endfor %} } -extension GraphQLFragmentPath where UnderlyingType == {{ api.name }}.{{ type.name|upperCamelized }}? { +extension GraphQLFragmentPath where UnderlyingType == {{ api.name|upperCamelized }}.{{ type.name|upperCamelized }}? { {{ type.fields|code:"optional" }} {% for interface in type.interfaces %} - var {{ interface.name|camelized|keywordProtected }}: FragmentPath<{{ api.name }}.{{ interface.name|upperCamelized }}?> { .init() } + var {{ interface.name|camelized|keywordProtected }}: FragmentPath<{{ api.name|upperCamelized }}.{{ interface.name|upperCamelized }}?> { .init() } {% endfor %} {% for possibleType in type.possibleTypes %} - var {{ possibleType.name|camelized|keywordProtected }}: FragmentPath<{{ api.name }}.{{ possibleType.name|upperCamelized }}?> { .init() } + var {{ possibleType.name|camelized|keywordProtected }}: FragmentPath<{{ api.name|upperCamelized }}.{{ possibleType.name|upperCamelized }}?> { .init() } {% endfor %} } {% endfor %} diff --git a/templates/swift/FragmentPlaceholder.swift.stencil b/templates/swift/FragmentPlaceholder.swift.stencil index 104a2be..dd3fe9f 100644 --- a/templates/swift/FragmentPlaceholder.swift.stencil +++ b/templates/swift/FragmentPlaceholder.swift.stencil @@ -1,7 +1,7 @@ -extension Apollo{{ fragmentPlaceholder.api.name }}.{{ fragmentPlaceholder.fragmentName|upperCamelized }} { +extension Apollo{{ fragmentPlaceholder.api.name|upperCamelized }}.{{ fragmentPlaceholder.fragmentName|upperCamelized }} { private static let placeholderMap: ResultMap = {{ placeholderCode }} - static let placeholder = Apollo{{ fragmentPlaceholder.api.name }}.{{ fragmentPlaceholder.fragmentName|upperCamelized }}( - unsafeResultMap: Apollo{{ fragmentPlaceholder.api.name }}.{{ fragmentPlaceholder.fragmentName|upperCamelized }}.placeholderMap + static let placeholder = Apollo{{ fragmentPlaceholder.api.name|upperCamelized }}.{{ fragmentPlaceholder.fragmentName|upperCamelized }}( + unsafeResultMap: Apollo{{ fragmentPlaceholder.api.name|upperCamelized }}.{{ fragmentPlaceholder.fragmentName|upperCamelized }}.placeholderMap ) } diff --git a/templates/swift/GraphQLConnectionFragment.swift.stencil b/templates/swift/GraphQLConnectionFragment.swift.stencil index c3b0e0a..46e1fc1 100644 --- a/templates/swift/GraphQLConnectionFragment.swift.stencil +++ b/templates/swift/GraphQLConnectionFragment.swift.stencil @@ -1,14 +1,14 @@ -extension Apollo{{ graphQlConnectionFragment.fragment.api.name }}.{{ graphQlConnectionFragment.fragment.name|upperCamelized }} { - typealias Completion = (Result) -> Void +extension Apollo{{ graphQlConnectionFragment.fragment.api.name|upperCamelized }}.{{ graphQlConnectionFragment.fragment.name|upperCamelized }} { + typealias Completion = (Result) -> Void typealias Loader = (String, Int?, @escaping Completion) -> Void - private var response: Paging.Response { + private var response: Paging.Response { return Paging.Response(values: edges{% if graphQlConnectionFragment.isEdgesArrayNullable %}?{% endif %}.compactMap { $0{% if graphQlConnectionFragment.areEdgesNullable %}?{% endif %}.node{% if graphQlConnectionFragment.areNodesNullable %}?{% endif %}.fragments.{{ graphQlConnectionFragment.nodeFragment.name|camelized }} }{% if graphQlConnectionFragment.isEdgesArrayNullable %} ?? []{% endif %}, cursor: pageInfo.endCursor, hasMore: pageInfo.hasNextPage) } - fileprivate func paging(loader: @escaping Loader) -> Paging { + fileprivate func paging(loader: @escaping Loader) -> Paging { return Paging(response) { cursor, pageSize, completion in loader(cursor, pageSize) { result in completion(result.map { $0?.response ?? .empty }) diff --git a/templates/swift/GraphQLType.swift.stencil b/templates/swift/GraphQLType.swift.stencil index 70203b3..d2ef31c 100644 --- a/templates/swift/GraphQLType.swift.stencil +++ b/templates/swift/GraphQLType.swift.stencil @@ -1,5 +1,5 @@ {% if shouldBeTypealias %} -typealias {{ graphQlType.name|upperCamelized }} = Apollo{{ api.name }}.{{ graphQlType.name }} +typealias {{ graphQlType.name|upperCamelized }} = Apollo{{ api.name|upperCamelized }}.{{ graphQlType.name }} {% else %} {% if graphQlType.inputFields %}struct{% else %}enum{% endif %} {{ graphQlType.name|upperCamelized }}: {%if hasEnumValues %}String, {% endif %}Target{% if connectionNodeType %}, Connection{% endif %} { diff --git a/templates/swift/MissingFragmentsStruct.swift.stencil b/templates/swift/MissingFragmentsStruct.swift.stencil index 500cc7a..1535f09 100644 --- a/templates/swift/MissingFragmentsStruct.swift.stencil +++ b/templates/swift/MissingFragmentsStruct.swift.stencil @@ -1,4 +1,4 @@ -extension Apollo{{ missingFragmentsStruct.api.name }}.{{ missingFragmentsStruct.path|join:"." }} { +extension Apollo{{ missingFragmentsStruct.api.name|upperCamelized }}.{{ missingFragmentsStruct.path|join:"." }} { public struct Fragments { public private(set) var resultMap: ResultMap diff --git a/templates/swift/MissingReferencedFragment.swift.stencil b/templates/swift/MissingReferencedFragment.swift.stencil index ee56444..8fbbbd4 100644 --- a/templates/swift/MissingReferencedFragment.swift.stencil +++ b/templates/swift/MissingReferencedFragment.swift.stencil @@ -1,8 +1,8 @@ -extension Apollo{{ missingReferencedFragment.api.name }}.{{ missingReferencedFragment.path|join:"." }}.Fragments { +extension Apollo{{ missingReferencedFragment.api.name|upperCamelized }}.{{ missingReferencedFragment.path|join:"." }}.Fragments { - public var {{ missingReferencedFragment.fragmentName|camelized }}: Apollo{{ missingReferencedFragment.api.name }}.{{ missingReferencedFragment.fragmentName }} { + public var {{ missingReferencedFragment.fragmentName|camelized }}: Apollo{{ missingReferencedFragment.api.name|upperCamelized }}.{{ missingReferencedFragment.fragmentName }} { get { - return Apollo{{ missingReferencedFragment.api.name }}.{{ missingReferencedFragment.fragmentName }}(unsafeResultMap: resultMap) + return Apollo{{ missingReferencedFragment.api.name|upperCamelized }}.{{ missingReferencedFragment.fragmentName }}(unsafeResultMap: resultMap) } set { resultMap += newValue.resultMap diff --git a/templates/swift/MutationStruct.swift.stencil b/templates/swift/MutationStruct.swift.stencil index 9f516e3..6271cfc 100644 --- a/templates/swift/MutationStruct.swift.stencil +++ b/templates/swift/MutationStruct.swift.stencil @@ -9,13 +9,13 @@ extension {{ structPrepared.name }} { @Published private var mutationCounter = 0 - private let api: {{ mutationStruct.mutation.api.name }} + private let api: {{ mutationStruct.mutation.api.name|upperCamelized }} var isLoading: Bool { return mutationCounter > 0 } - init(api: {{ mutationStruct.mutation.api.name }}) { + init(api: {{ mutationStruct.mutation.api.name|upperCamelized }}) { self.api = api } } @@ -30,7 +30,7 @@ extension {{ structPrepared.name }}.{{ mutationStruct.mutation.name }} { @discardableResult func commit({{ queryRendererArguments|codeArray|join:", " }}, completion: ((Result) -> Void)? = nil) -> Self { mutationCounter += 1 - api.client.perform(mutation: Apollo{{ mutationStruct.mutation.api.name }}.{{ mutationStruct.mutation.parentName }}{{ mutationStruct.mutation.name }}Mutation({{ queryArgumentAssignments|codeArray|join:", " }})) { result in + api.client.perform(mutation: Apollo{{ mutationStruct.mutation.api.name|upperCamelized }}.{{ mutationStruct.mutation.parentName }}{{ mutationStruct.mutation.name }}Mutation({{ queryArgumentAssignments|codeArray|join:", " }})) { result in self.mutationCounter -= 1 switch result { case let .success(response): diff --git a/templates/swift/PagingFromFragment.swift.stencil b/templates/swift/PagingFromFragment.swift.stencil index 7a83c10..2d0a77f 100644 --- a/templates/swift/PagingFromFragment.swift.stencil +++ b/templates/swift/PagingFromFragment.swift.stencil @@ -1,5 +1,5 @@ {{ pathExpression }}.paging { _cursor, _pageSize, _completion in - self.client.fetch(query: Apollo{{ pagingFromFragment.query.query.api.name }}.{{ pagingFromFragment.query.query.name|upperCamelized }}Query({{ queryArgumentAssignments|codeArray|join:", " }})) { result in + self.client.fetch(query: Apollo{{ pagingFromFragment.query.query.api.name|upperCamelized }}.{{ pagingFromFragment.query.query.name|upperCamelized }}Query({{ queryArgumentAssignments|codeArray|join:", " }})) { result in _completion(result.map { $0.{{ optionalPathExpression }} }) } } diff --git a/templates/swift/PlaceholderPagingFromFragment.swift.stencil b/templates/swift/PlaceholderPagingFromFragment.swift.stencil index 68ed83d..5e260fb 100644 --- a/templates/swift/PlaceholderPagingFromFragment.swift.stencil +++ b/templates/swift/PlaceholderPagingFromFragment.swift.stencil @@ -1,3 +1,3 @@ -Apollo{{ placeholderPagingFromFragment.query.api.name }}.{{ placeholderPagingFromFragment.query.name|upperCamelized }}Query.Data.{{ pathExpression }}.paging { _, _, _ in +Apollo{{ placeholderPagingFromFragment.query.api.name|upperCamelized }}.{{ placeholderPagingFromFragment.query.name|upperCamelized }}Query.Data.{{ pathExpression }}.paging { _, _, _ in // no-op } diff --git a/templates/swift/QueryDataPlaceholder.swift.stencil b/templates/swift/QueryDataPlaceholder.swift.stencil index 4962e93..4c92c42 100644 --- a/templates/swift/QueryDataPlaceholder.swift.stencil +++ b/templates/swift/QueryDataPlaceholder.swift.stencil @@ -1,7 +1,7 @@ -extension Apollo{{ queryDataPlaceholder.api.name }}.{{ queryDataPlaceholder.queryName }}Query.Data { +extension Apollo{{ queryDataPlaceholder.api.name|upperCamelized }}.{{ queryDataPlaceholder.queryName }}Query.Data { private static let placeholderMap: ResultMap = {{ placeholderCode }} - static let placeholder = Apollo{{ queryDataPlaceholder.api.name }}.{{ queryDataPlaceholder.queryName }}Query.Data( - unsafeResultMap: Apollo{{ queryDataPlaceholder.api.name }}.{{ queryDataPlaceholder.queryName }}Query.Data.placeholderMap + static let placeholder = Apollo{{ queryDataPlaceholder.api.name|upperCamelized }}.{{ queryDataPlaceholder.queryName }}Query.Data( + unsafeResultMap: Apollo{{ queryDataPlaceholder.api.name|upperCamelized }}.{{ queryDataPlaceholder.queryName }}Query.Data.placeholderMap ) } diff --git a/templates/swift/Struct.swift.stencil b/templates/swift/Struct.swift.stencil index 0f0f204..91bcb06 100644 --- a/templates/swift/Struct.swift.stencil +++ b/templates/swift/Struct.swift.stencil @@ -2,17 +2,17 @@ #if {{ unifiedMacroFlag }} {% for fragment in fragments %} -extension Apollo{{ fragment.api.name }}.{{ fragment.name|upperCamelized }} : Fragment { - typealias UnderlyingType = {{ fragment.api.name }}.{{ fragment.target.name|upperCamelized }} +extension Apollo{{ fragment.api.name|upperCamelized }}.{{ fragment.name|upperCamelized }} : Fragment { + typealias UnderlyingType = {{ fragment.api.name|upperCamelized }}.{{ fragment.target.name|upperCamelized }} } {% endfor %} extension {{ structPrepared.name }} { {% for fragment in fragments %} - typealias {{ fragment.target.name|upperCamelized }} = Apollo{{ fragment.api.name }}.{{ fragment.name|upperCamelized }} + typealias {{ fragment.target.name|upperCamelized }} = Apollo{{ fragment.api.name|upperCamelized }}.{{ fragment.name|upperCamelized }} {% endfor %} {% if query %} - typealias Data = Apollo{{ query.api.name }}.{{ structPrepared.name }}Query.Data + typealias Data = Apollo{{ query.api.name|upperCamelized }}.{{ structPrepared.name }}Query.Data {% endif %} init({{ initializerArguments|codeArray|join:", " }}) { @@ -32,12 +32,12 @@ extension {{ structPrepared.name }} { } {% if singleFragment %} extension {{ structPrepared.name }} : Fragment { - typealias UnderlyingType = {{ singleFragment.api.name }}.{{ singleFragment.target.name|upperCamelized }} + typealias UnderlyingType = {{ singleFragment.api.name|upperCamelized }}.{{ singleFragment.target.name|upperCamelized }} static let placeholder = Self({{ placeholderInitializerValueAssignments|codeArray|join:", " }}) } -extension Apollo{{ singleFragment.api.name }}.{{ singleFragment.name|upperCamelized }} { +extension Apollo{{ singleFragment.api.name|upperCamelized }}.{{ singleFragment.name|upperCamelized }} { func referencedSingleFragmentStruct() -> {{ structPrepared.name }} { return {{ structPrepared.name }}({{ singleFragment.target.name|camelized }}: self) @@ -47,16 +47,16 @@ extension Apollo{{ singleFragment.api.name }}.{{ singleFragment.name|upperCameli {% endif %} {% if query %} -extension {{ query.api.name }} { +extension {{ query.api.name|upperCamelized }} { {% if isSwiftUIView %} func {{ functionName }}({{ queryRendererArguments|codeArray|join:", " }}{% if queryRendererArguments %},{% endif %} @ViewBuilder loading: () -> Loading, @ViewBuilder error: @escaping (QueryError) -> Error) -> some View { return QueryRenderer(client: client, - query: Apollo{{ query.api.name }}.{{ structPrepared.name }}Query({{ queryArgumentAssignments|codeArray|join:", " }}), + query: Apollo{{ query.api.name|upperCamelized }}.{{ structPrepared.name }}Query({{ queryArgumentAssignments|codeArray|join:", " }}), loading: loading(), - error: error) { (data: Apollo{{ query.api.name }}.{{ structPrepared.name }}Query.Data) -> {{ structPrepared.name }} in + error: error) { (data: Apollo{{ query.api.name|upperCamelized }}.{{ structPrepared.name }}Query.Data) -> {{ structPrepared.name }} in {{ structPrepared.name }}({{ initializerArgumentAssignmentFromQueryData|codeArray|join:", " }}) } @@ -65,9 +65,9 @@ extension {{ query.api.name }} { func {{ functionName }}({{ queryRendererArguments|codeArray|join:", " }}{% if queryRendererArguments %},{% endif %} @ViewBuilder loading: () -> Loading) -> some View { return QueryRenderer(client: client, - query: Apollo{{ query.api.name }}.{{ structPrepared.name }}Query({{ queryArgumentAssignments|codeArray|join:", " }}), + query: Apollo{{ query.api.name|upperCamelized }}.{{ structPrepared.name }}Query({{ queryArgumentAssignments|codeArray|join:", " }}), loading: loading(), - error: { BasicErrorView(error: $0) }) { (data: Apollo{{ query.api.name }}.{{ structPrepared.name }}Query.Data) -> {{ structPrepared.name }} in + error: { BasicErrorView(error: $0) }) { (data: Apollo{{ query.api.name|upperCamelized }}.{{ structPrepared.name }}Query.Data) -> {{ structPrepared.name }} in {{ structPrepared.name }}({{ initializerArgumentAssignmentFromQueryData|codeArray|join:", " }}) } @@ -76,9 +76,9 @@ extension {{ query.api.name }} { func {{ functionName }}({{ queryRendererArguments|codeArray|join:", " }}{% if queryRendererArguments %},{% endif %} @ViewBuilder error: @escaping (QueryError) -> Error) -> some View { return QueryRenderer(client: client, - query: Apollo{{ query.api.name }}.{{ structPrepared.name }}Query({{ queryArgumentAssignments|codeArray|join:", " }}), + query: Apollo{{ query.api.name|upperCamelized }}.{{ structPrepared.name }}Query({{ queryArgumentAssignments|codeArray|join:", " }}), loading: {{ structPrepared.name }}.placeholderView({{ placeholderInitializerArgumentAssignmentFromQuery|codeArray|join:", " }}), - error: error) { (data: Apollo{{ query.api.name }}.{{ structPrepared.name }}Query.Data) -> {{ structPrepared.name }} in + error: error) { (data: Apollo{{ query.api.name|upperCamelized }}.{{ structPrepared.name }}Query.Data) -> {{ structPrepared.name }} in {{ structPrepared.name }}({{ initializerArgumentAssignmentFromQueryData|codeArray|join:", " }}) } @@ -86,16 +86,16 @@ extension {{ query.api.name }} { func {{ functionName }}({{ queryRendererArguments|codeArray|join:", " }}) -> some View { return QueryRenderer(client: client, - query: Apollo{{ query.api.name }}.{{ structPrepared.name }}Query({{ queryArgumentAssignments|codeArray|join:", " }}), + query: Apollo{{ query.api.name|upperCamelized }}.{{ structPrepared.name }}Query({{ queryArgumentAssignments|codeArray|join:", " }}), loading: {{ structPrepared.name }}.placeholderView({{ placeholderInitializerArgumentAssignmentFromQuery|codeArray|join:", " }}), - error: { BasicErrorView(error: $0) }) { (data: Apollo{{ query.api.name }}.{{ structPrepared.name }}Query.Data) -> {{ structPrepared.name }} in + error: { BasicErrorView(error: $0) }) { (data: Apollo{{ query.api.name|upperCamelized }}.{{ structPrepared.name }}Query.Data) -> {{ structPrepared.name }} in {{ structPrepared.name }}({{ initializerArgumentAssignmentFromQueryData|codeArray|join:", " }}) } } {% else %} - func {{ functionName }}({{ queryRendererArguments|codeArray|join:", " }}{% if queryRendererArguments %}, {% endif %}completion: @escaping (Result<{{ structPrepared.name }}, GraphQLLoadingError<{{ query.api.name }}>>) -> Void) { - let query = Apollo{{ query.api.name }}.{{ structPrepared.name }}Query({{ queryArgumentAssignments|codeArray|join:", " }}) + func {{ functionName }}({{ queryRendererArguments|codeArray|join:", " }}{% if queryRendererArguments %}, {% endif %}completion: @escaping (Result<{{ structPrepared.name }}, GraphQLLoadingError<{{ query.api.name|upperCamelized }}>>) -> Void) { + let query = Apollo{{ query.api.name|upperCamelized }}.{{ structPrepared.name }}Query({{ queryArgumentAssignments|codeArray|join:", " }}) fetch(query: query) { result in completion(result.map { data in {{ structPrepared.name }}({{ initializerArgumentAssignmentFromQueryData|codeArray|join:", " }}) }) }