From 616c242b29fb4786147b5f3546774ae3cef8ef9b Mon Sep 17 00:00:00 2001 From: Kyle Matthew Hedden Date: Wed, 1 Jul 2020 11:26:52 -0400 Subject: [PATCH] remove extra custom protocol --- .../Atomic/Protocols/TemplateProtocol.swift | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/MVMCoreUI/Atomic/Protocols/TemplateProtocol.swift b/MVMCoreUI/Atomic/Protocols/TemplateProtocol.swift index 699c217c..4696ce38 100644 --- a/MVMCoreUI/Atomic/Protocols/TemplateProtocol.swift +++ b/MVMCoreUI/Atomic/Protocols/TemplateProtocol.swift @@ -11,10 +11,8 @@ import Foundation public protocol TemplateProtocol: AnyObject { associatedtype TemplateModel: TemplateModelProtocol var templateModel: TemplateModel? { get set } -} - -public protocol CustomTemplateDecoder { - func decodeTemplate(using decoder: JSONDecoder, from data: Data) throws -> TemplateModelProtocol + + func decodeTemplate(using decoder: JSONDecoder, from data: Data) throws -> TemplateModel } public extension TemplateProtocol where Self: ViewController { @@ -24,14 +22,12 @@ public extension TemplateProtocol where Self: ViewController { let data = try JSONSerialization.data(withJSONObject: pageJSON) let decoder = JSONDecoder() try decoder.add(delegateObject: delegateObjectIVar) - let templateModel: TemplateModel - if let customDecoder = self as? CustomTemplateDecoder { - templateModel = try customDecoder.decodeTemplate(using: decoder, from: data) as! Self.TemplateModel - } else { - templateModel = try decoder.decode(TemplateModel.self, from: data) - } - self.templateModel = templateModel + self.templateModel = try decodeTemplate(using: decoder, from: data) self.pageModel = templateModel as? MVMControllerModelProtocol } + func decodeTemplate(using decoder: JSONDecoder, from data: Data) throws -> TemplateModel { + return try decoder.decode(TemplateModel.self, from: data) + } + }