From 05002bdf9b215ba8be456dce459d508cfe00e7cb Mon Sep 17 00:00:00 2001 From: Madhas Date: Sun, 20 May 2018 14:39:21 +0300 Subject: [PATCH] adapt method generation to Decodable --- Swift/NetworkService.swift.twig | 2 +- Swift/blocks/method/method-func.twig | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Swift/NetworkService.swift.twig b/Swift/NetworkService.swift.twig index b0949bf..1668b23 100644 --- a/Swift/NetworkService.swift.twig +++ b/Swift/NetworkService.swift.twig @@ -11,7 +11,7 @@ class {{ serviceName }}: NetworkService { self.init(configuration: NetworkServiceConfiguration(baseUrl: {{ serviceName }}.apiBaseUrl)) } - func apiRequest(with parameters: ApiRequestParameters, decoder: JSONDecoder = JSONDecoder()) -> Single { + func apiRequest(with parameters: ApiRequestParameters, decoder: JSONDecoder) -> Single { return rxRequest(with: parameters, decoder: decoder).map { $0.model }.asSingle() } diff --git a/Swift/blocks/method/method-func.twig b/Swift/blocks/method/method-func.twig index 444a52c..38bb1f9 100644 --- a/Swift/blocks/method/method-func.twig +++ b/Swift/blocks/method/method-func.twig @@ -13,12 +13,14 @@ /// {{ method.description }} {{ isStatic ? "static " : "" }}func {{ funcName }}({%- if hasBody -%}{{ bodyParamName }}: {{ bodyTypeName }},{{ "\n " }}{%- endif -%} requestEncoding: ParameterEncoding? = nil, - requestHeaders: HTTPHeaders? = nil) -> Single<{{ method.responseType.type.typeName }}> { + requestHeaders: HTTPHeaders? = nil, + decoder: JSONDecoder = JSONDecoder()) -> Single<{{ method.responseType.type.typeName }}> { {% if isStatic -%} return shared.{{ funcName }}({%- if hasBody -%}{{ bodyParamName }}: {{ bodyParamName }},{{ "\n " }}{%- endif -%} requestEncoding: requestEncoding, - requestHeaders: requestHeaders) + requestHeaders: requestHeaders, + decoder: decoder) {%- else -%} let parameters = apiRequestParameters(relativeUrl: "{{ method.url }}", method: .{{ methodType }}, @@ -26,6 +28,6 @@ requestEncoding: requestEncoding, requestHeaders: requestHeaders) - return apiRequest(with: parameters) + return apiRequest(with: parameters, decoder) {%- endif %} - } \ No newline at end of file + }