From 4a5f35820cfaa9b1515730ae70f4773cfac5f5f8 Mon Sep 17 00:00:00 2001 From: "Pfeil, Scott Robert" Date: Mon, 29 Mar 2021 17:03:35 -0400 Subject: [PATCH] kyle enhancements --- .../EyebrowHeadlineBodyLinkModel.swift | 3 +-- MVMCoreUI/Atomic/Protocols/TemplateProtocol.swift | 2 +- MVMCoreUI/Behaviors/GetContactBehavior.swift | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/MVMCoreUI/Atomic/Molecules/VerticalCombinationViews/EyebrowHeadlineBodyLinkModel.swift b/MVMCoreUI/Atomic/Molecules/VerticalCombinationViews/EyebrowHeadlineBodyLinkModel.swift index 17aa4ea8..ec646f86 100644 --- a/MVMCoreUI/Atomic/Molecules/VerticalCombinationViews/EyebrowHeadlineBodyLinkModel.swift +++ b/MVMCoreUI/Atomic/Molecules/VerticalCombinationViews/EyebrowHeadlineBodyLinkModel.swift @@ -21,8 +21,7 @@ public class EyebrowHeadlineBodyLinkModel: MoleculeModelProtocol, ParentMolecule public var link: LinkModel? public var children: [MoleculeModelProtocol] { - let molecules: [MoleculeModelProtocol?] = [eyebrow, headline, body, link] - return molecules.compactMap{ $0 } + [eyebrow, headline, body, link].compactMap { (molecule: MoleculeModelProtocol?) in molecule } } //-------------------------------------------------- diff --git a/MVMCoreUI/Atomic/Protocols/TemplateProtocol.swift b/MVMCoreUI/Atomic/Protocols/TemplateProtocol.swift index 3aadd665..9a7e9e33 100644 --- a/MVMCoreUI/Atomic/Protocols/TemplateProtocol.swift +++ b/MVMCoreUI/Atomic/Protocols/TemplateProtocol.swift @@ -37,7 +37,7 @@ public extension TemplateProtocol where Self: ViewController { /// Traverses all models and adds any required behavior models. func traverseAndAddRequiredBehaviors() { guard var model = model else { return } - let behaviorModels: [PageBehaviorModelProtocol] = model.rootMolecules.reduceDepthFirstTraverse(options: .childFirst, depth: 0, initialResult: []) { (accumulator, molecule, depth) in + let behaviorModels: [PageBehaviorModelProtocol] = model.reduceDepthFirstTraverse(options: .childFirst, depth: 0, initialResult: []) { (accumulator, molecule, depth) in if let behaviorRequirer = molecule as? PageBehaviorProtocolRequirer { return accumulator + behaviorRequirer.getRequiredBehaviors() } diff --git a/MVMCoreUI/Behaviors/GetContactBehavior.swift b/MVMCoreUI/Behaviors/GetContactBehavior.swift index b83553db..71eb7180 100644 --- a/MVMCoreUI/Behaviors/GetContactBehavior.swift +++ b/MVMCoreUI/Behaviors/GetContactBehavior.swift @@ -56,7 +56,7 @@ public class PageGetContactBehavior: PageVisibilityBehavior { // Iterate models and provide contact let page = self?.delegate?.moleculeDelegate as? PageProtocol let store = CNContactStore() - let consumers: [PageGetContactBehaviorConsumerProtocol] = model.rootMolecules.allMoleculesOfType() + let consumers: [PageGetContactBehaviorConsumerProtocol] = model.allMoleculesOfType() for consumer in consumers { guard let parameters = consumer.getMatchParameters(), let contacts = try? store.unifiedContacts(matching: parameters.0, keysToFetch: parameters.1) else { return }