From f3a2dc432e8d5fea7acddb90d57adb2e9d421f7e Mon Sep 17 00:00:00 2001 From: Mubarak Sadoon Date: Tue, 2 May 2023 15:11:58 -0400 Subject: [PATCH] Introduce Swift Package Manager Support (#99) * removed tv-os targets as a Swift Package is platform independent. * added Package.swift * minor update to Package.swift * formatting * added all targets under a sources folder * added exclusion of info.plust * cleaned up warnings, updated to recommended projects settings, ensured tests pass locally. * removed exlude now that info plist is referenced correctly from within build settings. * updated circle.yml to support newer versions of iOS and removed unused framework * fixed linter issues * fixed bin/test in circleci.yml to reflect new schema names * made adjustments to schema naming to support test script. * ci doesn't support same simulator versions as locally so updating accordingly. * fixing import that is only an issue once the swift package is being built via SPM in another project. * added target dependency for Prelude in PreludeUI-UIKit target * corrected nesting of dependencies array in Package.swift * explicitly set enable_testing_search_paths to true even though compiler should link xctest with the import xctest statement. * added public access modifier to some UIKit Lens properties. * added public access modifier to dictionary property. * moved all test files into their own directory called Tests because they were inside Sources, which seems to run them when the app gets built. Also modified the Swift Package file to include a specific path to the tests. * added missing test file to test target * removed pre-existing test file from within directory folder. * updated the package libraries to link dynamicly explicitly. Trying to fix a runtime crash on devices in Kickstarter-iOS. * Revert "updated the package libraries to link dynamicly explicitly. Trying to fix a runtime crash on devices in Kickstarter-iOS." This reverts commit c9be2576eae42f2cb15985a7f6ae7c6842ab169f. * added iOS 15 navigation bar lens for appearance. * updated deployment target to iOS 13 for Prelude_UIKit only (from 12.0) * added availability tags to the new properties for iOS 13 navigation bar appearance. * removed webview lenses, updated min deploy version to 14, cleaned up warnings. * update ci * addressing linter comments * fixed some naming references to ReactiveExtensions * Test Prelude and Prelude-UIKit updates in makefile and ci file. * reference correction to ci file * more reference corrections * updated targets to use fewer targets, also set the min platform versions on the Package.swift file. --- .circleci/config.yml | 115 +++ Frameworks/Runes | 1 - Makefile | 4 + Package.swift | 34 + Prelude-UIKit/lenses/UIWebViewLenses.swift | 38 - .../04-Lenses.xcplaygroundpage/Contents.swift | 2 + .../Sources/playgroundController.swift | 1 + Prelude.playground/contents.xcplayground | 2 +- Prelude.xcodeproj/project.pbxproj | 907 +++--------------- .../xcschemes/Prelude-UIKit-iOS.xcscheme | 33 +- .../xcschemes/Prelude-UIKit-tvOS.xcscheme | 100 -- .../xcschemes/Prelude-iOS.xcscheme | 47 +- .../xcschemes/Prelude-tvOS.xcscheme | 100 -- .../Prelude-UIKit}/LensHolder.swift | 0 .../Prelude-UIKit}/UIButton.swift | 0 .../Prelude-UIKit}/UIEdgeInsets.swift | 0 .../Prelude-UIKit}/UIImage.swift | 0 .../Prelude-UIKit}/UITraitCollection.swift | 0 .../Prelude-UIKit}/lenses/CALayerLenses.swift | 0 .../Prelude-UIKit}/lenses/CGPointLenses.swift | 1 + .../Prelude-UIKit}/lenses/CGRectLenses.swift | 1 + .../Prelude-UIKit}/lenses/CGSizeLenses.swift | 1 + .../NSMutableParagraphStyleLenses.swift | 0 .../Prelude-UIKit}/lenses/NSObject.swift | 0 .../lenses/NSTextContainerLenses.swift | 2 +- .../lenses/UIAccessibilityLenses.swift | 18 +- .../UIActivityIndicatorViewLenses.swift | 12 +- .../lenses/UIBarButtonItemLenses.swift | 30 +- .../lenses/UIBarItemLenses.swift | 16 +- .../lenses/UIButtonLenses.swift | 26 +- .../lenses/UIControlLenses.swift | 12 +- .../lenses/UIEdgeInsetsLenses.swift | 1 + .../lenses/UIImageViewLenses.swift | 0 .../Prelude-UIKit}/lenses/UILabelLenses.swift | 18 +- .../lenses/UINavigationBarLenses.swift | 30 +- .../lenses/UINavigationControllerLenses.swift | 8 +- .../lenses/UINavigationItemLenses.swift | 2 +- .../lenses/UIProgressViewLenses.swift | 4 +- .../lenses/UIScrollViewLenses.swift | 18 +- .../lenses/UIStackViewLenses.swift | 14 +- .../lenses/UIStepperLenses.swift | 4 +- .../lenses/UISwitchLenses.swift | 8 +- .../lenses/UITabBarItemLenses.swift | 4 +- .../lenses/UITabBarLenses.swift | 2 +- .../lenses/UITableViewCellLenses.swift | 4 +- .../lenses/UITableViewControllerLenses.swift | 2 +- .../lenses/UITableViewLenses.swift | 22 +- .../lenses/UITextFieldLenses.swift | 12 +- .../lenses/UITextInputTraitsLenses.swift | 14 +- .../lenses/UITextViewLenses.swift | 14 +- .../lenses/UITraitEnvironment.swift | 0 .../lenses/UIViewControllerLenses.swift | 16 +- .../Prelude-UIKit}/lenses/UIViewLenses.swift | 64 +- .../lenses/WKWebViewLenses.swift | 2 +- {Prelude => Sources/Prelude}/Array.swift | 16 +- {Prelude => Sources/Prelude}/Bool.swift | 0 {Prelude => Sources/Prelude}/Comparable.swift | 0 {Prelude => Sources/Prelude}/Comparator.swift | 0 {Prelude => Sources/Prelude}/Dictionary.swift | 12 +- {Prelude => Sources/Prelude}/Either.swift | 0 {Prelude => Sources/Prelude}/Empty.swift | 0 {Prelude => Sources/Prelude}/Function.swift | 0 {Prelude => Sources/Prelude}/Info.plist | 0 {Prelude => Sources/Prelude}/Lens.swift | 2 +- {Prelude => Sources/Prelude}/LensHolder.swift | 2 +- {Prelude => Sources/Prelude}/Monoid.swift | 0 {Prelude => Sources/Prelude}/NonEmpty.swift | 0 .../Prelude}/NumericType.swift | 0 {Prelude => Sources/Prelude}/Operators.swift | 0 {Prelude => Sources/Prelude}/Optional.swift | 0 {Prelude => Sources/Prelude}/Ordering.swift | 0 {Prelude => Sources/Prelude}/Prelude.h | 0 {Prelude => Sources/Prelude}/Semigroup.swift | 0 {Prelude => Sources/Prelude}/Set.swift | 0 {Prelude => Sources/Prelude}/SomeError.swift | 0 {Prelude => Sources/Prelude}/String.swift | 0 {Prelude => Sources/Prelude}/Tuple.swift | 0 {Prelude => Sources/Prelude}/Unit.swift | 0 {Prelude => Sources/Prelude}/Unpack.swift | 0 {Prelude => Sources/Prelude}/VectorType.swift | 7 +- .../Prelude-UIKitTests}/UIButtonTests.swift | 0 .../UITraitCollectionTests.swift | 0 .../PreludeTests}/ArrayTests.swift | 2 +- .../PreludeTests}/BooleanTests.swift | 0 .../PreludeTests}/ComparableTests.swift | 2 +- .../PreludeTests}/ComparatorTests.swift | 2 +- .../PreludeTests}/DictionaryTest.swift | 2 +- .../PreludeTests}/EitherTests.swift | 0 .../PreludeTests}/FunctionTest.swift | 2 +- .../PreludeTests}/LensTests.swift | 3 +- .../PreludeTests}/NonEmptyTests.swift | 0 .../PreludeTests}/OptionalTests.swift | 2 +- .../PreludeTests}/OrderingTests.swift | 2 +- .../PreludeTests}/StringTests.swift | 2 +- .../PreludeTests}/TupleTests.swift | 2 +- .../PreludeTests}/UnitTests.swift | 2 +- .../PreludeTests}/UnpackTests.swift | 2 +- .../PreludeTests}/VectorTypeTest.swift | 24 +- circle.yml | 29 - 99 files changed, 531 insertions(+), 1352 deletions(-) create mode 100644 .circleci/config.yml delete mode 160000 Frameworks/Runes create mode 100644 Makefile create mode 100644 Package.swift delete mode 100644 Prelude-UIKit/lenses/UIWebViewLenses.swift delete mode 100644 Prelude.xcodeproj/xcshareddata/xcschemes/Prelude-UIKit-tvOS.xcscheme delete mode 100644 Prelude.xcodeproj/xcshareddata/xcschemes/Prelude-tvOS.xcscheme rename {Prelude-UIKit => Sources/Prelude-UIKit}/LensHolder.swift (100%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/UIButton.swift (100%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/UIEdgeInsets.swift (100%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/UIImage.swift (100%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/UITraitCollection.swift (100%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/CALayerLenses.swift (100%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/CGPointLenses.swift (91%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/CGRectLenses.swift (97%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/CGSizeLenses.swift (92%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/NSMutableParagraphStyleLenses.swift (100%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/NSObject.swift (100%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/NSTextContainerLenses.swift (86%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UIAccessibilityLenses.swift (69%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UIActivityIndicatorViewLenses.swift (74%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UIBarButtonItemLenses.swift (79%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UIBarItemLenses.swift (83%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UIButtonLenses.swift (78%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UIControlLenses.swift (87%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UIEdgeInsetsLenses.swift (97%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UIImageViewLenses.swift (100%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UILabelLenses.swift (76%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UINavigationBarLenses.swift (54%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UINavigationControllerLenses.swift (82%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UINavigationItemLenses.swift (88%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UIProgressViewLenses.swift (82%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UIScrollViewLenses.swift (76%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UIStackViewLenses.swift (78%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UIStepperLenses.swift (81%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UISwitchLenses.swift (80%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UITabBarItemLenses.swift (82%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UITabBarLenses.swift (86%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UITableViewCellLenses.swift (84%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UITableViewControllerLenses.swift (94%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UITableViewLenses.swift (76%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UITextFieldLenses.swift (77%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UITextInputTraitsLenses.swift (74%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UITextViewLenses.swift (79%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UITraitEnvironment.swift (100%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UIViewControllerLenses.swift (67%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/UIViewLenses.swift (73%) rename {Prelude-UIKit => Sources/Prelude-UIKit}/lenses/WKWebViewLenses.swift (90%) rename {Prelude => Sources/Prelude}/Array.swift (84%) rename {Prelude => Sources/Prelude}/Bool.swift (100%) rename {Prelude => Sources/Prelude}/Comparable.swift (100%) rename {Prelude => Sources/Prelude}/Comparator.swift (100%) rename {Prelude => Sources/Prelude}/Dictionary.swift (81%) rename {Prelude => Sources/Prelude}/Either.swift (100%) rename {Prelude => Sources/Prelude}/Empty.swift (100%) rename {Prelude => Sources/Prelude}/Function.swift (100%) rename {Prelude => Sources/Prelude}/Info.plist (100%) rename {Prelude => Sources/Prelude}/Lens.swift (99%) rename {Prelude => Sources/Prelude}/LensHolder.swift (75%) rename {Prelude => Sources/Prelude}/Monoid.swift (100%) rename {Prelude => Sources/Prelude}/NonEmpty.swift (100%) rename {Prelude => Sources/Prelude}/NumericType.swift (100%) rename {Prelude => Sources/Prelude}/Operators.swift (100%) rename {Prelude => Sources/Prelude}/Optional.swift (100%) rename {Prelude => Sources/Prelude}/Ordering.swift (100%) rename {Prelude => Sources/Prelude}/Prelude.h (100%) rename {Prelude => Sources/Prelude}/Semigroup.swift (100%) rename {Prelude => Sources/Prelude}/Set.swift (100%) rename {Prelude => Sources/Prelude}/SomeError.swift (100%) rename {Prelude => Sources/Prelude}/String.swift (100%) rename {Prelude => Sources/Prelude}/Tuple.swift (100%) rename {Prelude => Sources/Prelude}/Unit.swift (100%) rename {Prelude => Sources/Prelude}/Unpack.swift (100%) rename {Prelude => Sources/Prelude}/VectorType.swift (95%) rename {Prelude-UIKit => Tests/Prelude-UIKitTests}/UIButtonTests.swift (100%) rename {Prelude-UIKit => Tests/Prelude-UIKitTests}/UITraitCollectionTests.swift (100%) rename {Prelude => Tests/PreludeTests}/ArrayTests.swift (98%) rename {Prelude => Tests/PreludeTests}/BooleanTests.swift (100%) rename {Prelude => Tests/PreludeTests}/ComparableTests.swift (91%) rename {Prelude => Tests/PreludeTests}/ComparatorTests.swift (96%) rename {Prelude => Tests/PreludeTests}/DictionaryTest.swift (97%) rename {Prelude => Tests/PreludeTests}/EitherTests.swift (100%) rename {Prelude => Tests/PreludeTests}/FunctionTest.swift (98%) rename {Prelude => Tests/PreludeTests}/LensTests.swift (99%) rename {Prelude => Tests/PreludeTests}/NonEmptyTests.swift (100%) rename {Prelude => Tests/PreludeTests}/OptionalTests.swift (98%) rename {Prelude => Tests/PreludeTests}/OrderingTests.swift (96%) rename {Prelude => Tests/PreludeTests}/StringTests.swift (94%) rename {Prelude => Tests/PreludeTests}/TupleTests.swift (97%) rename {Prelude => Tests/PreludeTests}/UnitTests.swift (84%) rename {Prelude => Tests/PreludeTests}/UnpackTests.swift (96%) rename {Prelude => Tests/PreludeTests}/VectorTypeTest.swift (57%) delete mode 100644 circle.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..e252ac1 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,115 @@ +version: 2.1 + +xcode_version: &xcode_version 14.2.0 +iphone_name: &iphone_name iPhone 14 Pro Max +preload_iphone_simulator: &preload_iphone_simulator xcrun instruments -w "iPhone 14 Pro Max (16.2) [" || true +ipad_name: &ipad_name iPad Air (5th generation) +preload_ipad_simulator: &preload_ipad_simulator xcrun instruments -w "iPad Air (5th generation) (16.2) [" || true + +# Templates + +iphone_default_environment: &iphone_default_environment + CIRCLE_ARTIFACTS: /tmp + BUNDLE_PATH: vendor/bundle + FL_OUTPUT_DIR: output + LC_ALL: en_US.UTF-8 + LANG: en_US.UTF-8 + IPHONE_NAME: *iphone_name + XCODE_VERSION: *xcode_version + PLATFORM: iOS + +ipad_default_environment: &ipad_default_environment + CIRCLE_ARTIFACTS: /tmp + BUNDLE_PATH: vendor/bundle + FL_OUTPUT_DIR: output + LC_ALL: en_US.UTF-8 + LANG: en_US.UTF-8 + IPHONE_NAME: *ipad_name + XCODE_VERSION: *xcode_version + PLATFORM: iOS + +base_job: &base_job + macos: + xcode: *xcode_version + working_directory: ~/Prelude + +test_prelude_setup_job: &test_prelude_setup_job + steps: + - checkout + - run: HOMEBREW_NO_AUTO_UPDATE=1 brew install swiftlint + - run: set -o pipefail && + swiftlint lint --strict --reporter json | + tee $CIRCLE_ARTIFACTS/swiftlint-report.json + - run: + name: Store Xcode Version + command: xcodebuild -version > xcode_version.txt + - run: + name: Pre-load iOS simulator + command: *preload_iphone_simulator + - run: + name: Run Prelude-iOS Tests + command: make test-prelude + no_output_timeout: "20m" # 20 minutes + - store_artifacts: + name: Swiftlint Artifacts + path: /tmp/swiftlint-report.json + - store_artifacts: + name: Xcode Artifacts + path: /tmp/xcode_raw.log + +test_prelude_uikit_setup_job: &test_prelude_uikit_setup_job + steps: + - checkout + - run: HOMEBREW_NO_AUTO_UPDATE=1 brew install swiftlint + - run: set -o pipefail && + swiftlint lint --strict --reporter json | + tee $CIRCLE_ARTIFACTS/swiftlint-report.json + - run: + name: Store Xcode Version + command: xcodebuild -version > xcode_version.txt + - run: + name: Pre-load iOS simulator + command: *preload_ipad_simulator + - run: + name: Run Prelude-UIKit-iOS Tests + command: make test-prelude-uikit + no_output_timeout: "20m" # 20 minutes + - store_artifacts: + name: Swiftlint Artifacts + path: /tmp/swiftlint-report.json + - store_artifacts: + name: Xcode Artifacts + path: /tmp/xcode_raw.log + +# Jobs + +jobs: + # Prelude-iOS tests + prelude-ios-tests: + <<: *base_job + <<: *test_prelude_setup_job + environment: + - *iphone_default_environment + - SCHEME=Prelude-iOS + + # Prelude-UIKit-iOS tests + prelude-uikit-ios-tests: + <<: *base_job + <<: *test_prelude_uikit_setup_job + environment: + - *ipad_default_environment + - SCHEME=Prelude-UIKit-iOS + +# Workflows +workflows: + version: 2 + build: + jobs: + - prelude-ios-tests + - prelude-uikit-ios-tests + +experimental: + notify: + branches: + only: + - master diff --git a/Frameworks/Runes b/Frameworks/Runes deleted file mode 160000 index 30701f9..0000000 --- a/Frameworks/Runes +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 30701f9587e31eca105318a5612691bf35a95d0b diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..3f22a46 --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +test-prelude: + xcodebuild test -scheme Prelude-iOS -destination platform='iOS Simulator',name='iPhone 14 Pro Max',OS=16.2 +test-prelude-uikit: + xcodebuild test -scheme Prelude-UIKit-iOS -destination platform='iOS Simulator',name='iPad Air (5th generation)',OS=16.2 \ No newline at end of file diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..0f90d42 --- /dev/null +++ b/Package.swift @@ -0,0 +1,34 @@ +// swift-tools-version:5.5 +import PackageDescription + +let package = Package( + name: "Prelude", + platforms: [ + .iOS(.v14) + ], + products: [ + .library( + name: "Prelude", + targets: ["Prelude"] + ), + .library( + name: "Prelude_UIKit", + targets: ["Prelude-UIKit"] + ) + ], + targets: [ + .target(name: "Prelude"), + .testTarget( + name: "PreludeTests", + dependencies: ["Prelude"], + path: "Tests/PreludeTests" + ), + .target(name: "Prelude-UIKit", + dependencies: ["Prelude"]), + .testTarget( + name: "Prelude-UIKitTests", + dependencies: ["Prelude-UIKit"], + path: "Tests/Prelude-UIKitTests" + ) + ] +) diff --git a/Prelude-UIKit/lenses/UIWebViewLenses.swift b/Prelude-UIKit/lenses/UIWebViewLenses.swift deleted file mode 100644 index 820f142..0000000 --- a/Prelude-UIKit/lenses/UIWebViewLenses.swift +++ /dev/null @@ -1,38 +0,0 @@ -#if os(iOS) -import Prelude -import WebKit - -public protocol UIWebViewProtocol: UIViewProtocol { - var scrollView: UIScrollView { get } - var suppressesIncrementalRendering: Bool { get set } -} - -extension UIWebView: UIWebViewProtocol {} - -public extension LensHolder where Object: UIWebViewProtocol { - - public var scrollView: Lens { - return Lens( - view: { $0.scrollView }, - set: { $1 } - ) - } - - public var suppressesIncrementalRendering: Lens { - return Lens( - view: { $0.suppressesIncrementalRendering }, - set: { $1.suppressesIncrementalRendering = $0; return $1 } - ) - } -} - -extension Lens where Whole: UIWebViewProtocol, Part == UIScrollView { - public var delaysContentTouches: Lens { - return Whole.lens.scrollView..Part.lens.delaysContentTouches - } - - public var decelerationRate: Lens { - return Whole.lens.scrollView..Part.lens.decelerationRate - } -} -#endif diff --git a/Prelude.playground/Pages/04-Lenses.xcplaygroundpage/Contents.swift b/Prelude.playground/Pages/04-Lenses.xcplaygroundpage/Contents.swift index 112f711..3009319 100644 --- a/Prelude.playground/Pages/04-Lenses.xcplaygroundpage/Contents.swift +++ b/Prelude.playground/Pages/04-Lenses.xcplaygroundpage/Contents.swift @@ -293,3 +293,5 @@ p10.creator.location.name * [Chris Eidhof - Lenses in Swift](http://chris.eidhof.nl/post/lenses-in-swift/) * [A Little Lens Tutorial](https://www.schoolofhaskell.com/school/to-infinity-and-beyond/pick-of-the-week/a-little-lens-starter-tutorial) */ +// swiftlint:enable line_length +// swiftlint:enable type_name diff --git a/Prelude.playground/Sources/playgroundController.swift b/Prelude.playground/Sources/playgroundController.swift index 9352ea8..5026b95 100644 --- a/Prelude.playground/Sources/playgroundController.swift +++ b/Prelude.playground/Sources/playgroundController.swift @@ -110,3 +110,4 @@ public func playgroundControllers(device: Device = .phone4_7inch, return (parent, child) } +// swiftlint:enable function_body_length diff --git a/Prelude.playground/contents.xcplayground b/Prelude.playground/contents.xcplayground index 99963a5..3a35728 100644 --- a/Prelude.playground/contents.xcplayground +++ b/Prelude.playground/contents.xcplayground @@ -1,5 +1,5 @@ - + diff --git a/Prelude.xcodeproj/project.pbxproj b/Prelude.xcodeproj/project.pbxproj index fbea2db..6162f98 100644 --- a/Prelude.xcodeproj/project.pbxproj +++ b/Prelude.xcodeproj/project.pbxproj @@ -9,58 +9,28 @@ /* Begin PBXBuildFile section */ 01AFE2C11D58FF6E0094C263 /* UITabBarLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01AFE2BF1D58FF680094C263 /* UITabBarLenses.swift */; }; 01F547EA1D539636000A98EF /* UITabBarItemLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01F547E81D539629000A98EF /* UITabBarItemLenses.swift */; }; + 06EA2D3D280F2A4E00F4DE2E /* UIButtonTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8CD1E7F465B001F9E62 /* UIButtonTests.swift */; }; + 06EA2D3E280F2A5000F4DE2E /* UITraitCollectionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8CE1E7F465B001F9E62 /* UITraitCollectionTests.swift */; }; + 06EA2D42280F35EA00F4DE2E /* VectorTypeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06EA2D41280F35EA00F4DE2E /* VectorTypeTest.swift */; }; 37E54B7E22658F0E00F1A2F7 /* UIStepperLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37E54B7D22658F0E00F1A2F7 /* UIStepperLenses.swift */; }; - 37E54B7F22658F0E00F1A2F7 /* UIStepperLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37E54B7D22658F0E00F1A2F7 /* UIStepperLenses.swift */; }; 7758A83B209B926F0018B96D /* UnpackTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7758A83A209B926F0018B96D /* UnpackTests.swift */; }; - 8023ED321E9AC7860044504B /* Runes.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8023ED241E9AC7560044504B /* Runes.framework */; }; 804FA7031D2EF79A001876A7 /* UIBarItemLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = 804FA7021D2EF79A001876A7 /* UIBarItemLenses.swift */; }; 804FA7041D2EF7A2001876A7 /* UIBarButtonItemLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = 804FA7001D2EF6FC001876A7 /* UIBarButtonItemLenses.swift */; }; 8051B93F1D4049B600F653A7 /* UINavigationBarLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8051B93E1D4049B600F653A7 /* UINavigationBarLenses.swift */; }; 8051B9411D4049DD00F653A7 /* UINavigationItemLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8051B9401D4049DD00F653A7 /* UINavigationItemLenses.swift */; }; 8051B9431D4049FB00F653A7 /* UINavigationControllerLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8051B9421D4049FB00F653A7 /* UINavigationControllerLenses.swift */; }; 80904E761D3D461300B897F0 /* NSTextContainerLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80904E751D3D461300B897F0 /* NSTextContainerLenses.swift */; }; - 80904E771D3D48F200B897F0 /* NSTextContainerLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80904E751D3D461300B897F0 /* NSTextContainerLenses.swift */; }; 8094255B1D1463A00021DEEE /* UITextViewLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8094255A1D1463A00021DEEE /* UITextViewLenses.swift */; }; 80A0E1A61EB0076A00D69242 /* NonEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80A0E1A51EB0076A00D69242 /* NonEmpty.swift */; }; - 80A0E1A71EB0076A00D69242 /* NonEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80A0E1A51EB0076A00D69242 /* NonEmpty.swift */; }; 80A0E1AE1EB02D4A00D69242 /* NonEmptyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80A0E1AD1EB02D4A00D69242 /* NonEmptyTests.swift */; }; - 80A0E1AF1EB02D4A00D69242 /* NonEmptyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80A0E1AD1EB02D4A00D69242 /* NonEmptyTests.swift */; }; 80A9DF3B1EB1A9AE00CEF5CC /* Set.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80A9DF3A1EB1A9AE00CEF5CC /* Set.swift */; }; - 80A9DF3C1EB1A9AE00CEF5CC /* Set.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80A9DF3A1EB1A9AE00CEF5CC /* Set.swift */; }; 9DCD741E1D429AA200B238E5 /* Ordering.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DCD741D1D429AA200B238E5 /* Ordering.swift */; }; - 9DCD741F1D429AA200B238E5 /* Ordering.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DCD741D1D429AA200B238E5 /* Ordering.swift */; }; 9DCD74241D42A42100B238E5 /* Comparator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DCD74231D42A42100B238E5 /* Comparator.swift */; }; - 9DCD74251D42A42100B238E5 /* Comparator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DCD74231D42A42100B238E5 /* Comparator.swift */; }; 9DCD74271D42A43500B238E5 /* Monoid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DCD74261D42A43500B238E5 /* Monoid.swift */; }; - 9DCD74281D42A43500B238E5 /* Monoid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DCD74261D42A43500B238E5 /* Monoid.swift */; }; A7013C9E1D538AD100BCEE9C /* WKWebViewLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7013C9D1D538AD100BCEE9C /* WKWebViewLenses.swift */; }; - A7013C9F1D538AD100BCEE9C /* WKWebViewLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7013C9D1D538AD100BCEE9C /* WKWebViewLenses.swift */; }; - A70969121D14373400DB39D3 /* Prelude_UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A70969081D14373400DB39D3 /* Prelude_UIKit.framework */; }; - A709691F1D1437AD00DB39D3 /* LensHolder.swift in Sources */ = {isa = PBXBuildFile; fileRef = A733794B1D0E417300C91445 /* LensHolder.swift */; }; - A70969201D1437AD00DB39D3 /* UIButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = A727E0511D07984500D8FE43 /* UIButton.swift */; }; - A70969211D1437AD00DB39D3 /* UIEdgeInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7FD55A01D104199007F976D /* UIEdgeInsets.swift */; }; - A70969221D1437AD00DB39D3 /* UIImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = A727E04F1D0797EB00D8FE43 /* UIImage.swift */; }; - A70969231D1437B200DB39D3 /* CALayerLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A727E03A1D07972F00D8FE43 /* CALayerLenses.swift */; }; - A70969241D1437B200DB39D3 /* CGPointLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A727E03B1D07972F00D8FE43 /* CGPointLenses.swift */; }; - A70969251D1437B200DB39D3 /* CGRectLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A727E03C1D07972F00D8FE43 /* CGRectLenses.swift */; }; - A70969261D1437B200DB39D3 /* CGSizeLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A727E03D1D07972F00D8FE43 /* CGSizeLenses.swift */; }; - A70969271D1437B200DB39D3 /* UIButtonLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A727E03E1D07972F00D8FE43 /* UIButtonLenses.swift */; }; - A70969281D1437B200DB39D3 /* UIControlLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A727E03F1D07972F00D8FE43 /* UIControlLenses.swift */; }; - A70969291D1437B200DB39D3 /* UIEdgeInsetsLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A727E0401D07972F00D8FE43 /* UIEdgeInsetsLenses.swift */; }; - A709692A1D1437B200DB39D3 /* UILabelLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A727E0411D07972F00D8FE43 /* UILabelLenses.swift */; }; - A709692B1D1437B200DB39D3 /* UIStackViewLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A77480BF1D0855C800774DEC /* UIStackViewLenses.swift */; }; - A709692C1D1437B200DB39D3 /* UITextFieldLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A77480BB1D08333F00774DEC /* UITextFieldLenses.swift */; }; - A709692D1D1437B200DB39D3 /* UITextInputTraitsLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A77480BD1D083BC000774DEC /* UITextInputTraitsLenses.swift */; }; - A709692E1D1437B200DB39D3 /* UIViewControllerLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A77480C11D089AF100774DEC /* UIViewControllerLenses.swift */; }; - A709692F1D1437B200DB39D3 /* UIViewLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A727E0421D07972F00D8FE43 /* UIViewLenses.swift */; }; - A70969331D14383A00DB39D3 /* Prelude.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA0923F81BB6291900C9EC88 /* Prelude.framework */; }; A711FCDD1CECB53A00659DB4 /* Unpack.swift in Sources */ = {isa = PBXBuildFile; fileRef = A711FCDC1CECB53A00659DB4 /* Unpack.swift */; }; - A711FCDE1CECB53A00659DB4 /* Unpack.swift in Sources */ = {isa = PBXBuildFile; fileRef = A711FCDC1CECB53A00659DB4 /* Unpack.swift */; }; A711FD721CECF7A300659DB4 /* Lens.swift in Sources */ = {isa = PBXBuildFile; fileRef = A711FD701CECF7A300659DB4 /* Lens.swift */; }; - A711FD731CECF7A300659DB4 /* Lens.swift in Sources */ = {isa = PBXBuildFile; fileRef = A711FD701CECF7A300659DB4 /* Lens.swift */; }; A72549F91D779C1200F07272 /* UIProgressViewLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72549F81D779C1200F07272 /* UIProgressViewLenses.swift */; }; - A72549FA1D779C1200F07272 /* UIProgressViewLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A72549F81D779C1200F07272 /* UIProgressViewLenses.swift */; }; - A727E02C1D0796D700D8FE43 /* Prelude_UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A727E0221D0796D600D8FE43 /* Prelude_UIKit.framework */; }; A727E0431D07972F00D8FE43 /* CALayerLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A727E03A1D07972F00D8FE43 /* CALayerLenses.swift */; }; A727E0441D07972F00D8FE43 /* CGPointLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A727E03B1D07972F00D8FE43 /* CGPointLenses.swift */; }; A727E0451D07972F00D8FE43 /* CGRectLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A727E03C1D07972F00D8FE43 /* CGRectLenses.swift */; }; @@ -75,83 +45,39 @@ A727E0521D07984500D8FE43 /* UIButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = A727E0511D07984500D8FE43 /* UIButton.swift */; }; A733794C1D0E417300C91445 /* LensHolder.swift in Sources */ = {isa = PBXBuildFile; fileRef = A733794B1D0E417300C91445 /* LensHolder.swift */; }; A743813A1D33D49600040A95 /* UIAccessibilityLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A74381391D33D49600040A95 /* UIAccessibilityLenses.swift */; }; - A743813B1D33D49600040A95 /* UIAccessibilityLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A74381391D33D49600040A95 /* UIAccessibilityLenses.swift */; }; A747D8E11D353A17004B612D /* NSObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = A747D8E01D353A17004B612D /* NSObject.swift */; }; - A747D8E21D353A17004B612D /* NSObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = A747D8E01D353A17004B612D /* NSObject.swift */; }; A747D9381D35654D004B612D /* UIScrollViewLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A747D9371D35654D004B612D /* UIScrollViewLenses.swift */; }; - A747D9391D35654D004B612D /* UIScrollViewLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A747D9371D35654D004B612D /* UIScrollViewLenses.swift */; }; A74B3C0A1C9DCC7600F938C4 /* String.swift in Sources */ = {isa = PBXBuildFile; fileRef = A74B3C091C9DCC7600F938C4 /* String.swift */; }; - A74B3C0B1C9DCC7600F938C4 /* String.swift in Sources */ = {isa = PBXBuildFile; fileRef = A74B3C091C9DCC7600F938C4 /* String.swift */; }; A74B3C0D1C9DCD9A00F938C4 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = A74B3C0C1C9DCD9A00F938C4 /* Operators.swift */; }; - A74B3C0E1C9DCD9A00F938C4 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = A74B3C0C1C9DCD9A00F938C4 /* Operators.swift */; }; A757EBED1D1B134B00A5C978 /* UIImageViewLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A757EBEC1D1B134B00A5C978 /* UIImageViewLenses.swift */; }; - A757EBEE1D1B134B00A5C978 /* UIImageViewLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A757EBEC1D1B134B00A5C978 /* UIImageViewLenses.swift */; }; A75EC8151CCBEB4F009BEC10 /* Bool.swift in Sources */ = {isa = PBXBuildFile; fileRef = A75EC8141CCBEB4F009BEC10 /* Bool.swift */; }; - A75EC8161CCBEB4F009BEC10 /* Bool.swift in Sources */ = {isa = PBXBuildFile; fileRef = A75EC8141CCBEB4F009BEC10 /* Bool.swift */; }; - A75EFFE21C0E7B8E0002C7D2 /* Unit.swift in Sources */ = {isa = PBXBuildFile; fileRef = A75EFFE11C0E7B8E0002C7D2 /* Unit.swift */; }; - A75EFFE41C0E7BF40002C7D2 /* Empty.swift in Sources */ = {isa = PBXBuildFile; fileRef = A75EFFE31C0E7BF40002C7D2 /* Empty.swift */; }; A76BAF9D1D5CC48D00BC2483 /* UITraitCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = A76BAF9C1D5CC48D00BC2483 /* UITraitCollection.swift */; }; - A76BAF9E1D5CC48D00BC2483 /* UITraitCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = A76BAF9C1D5CC48D00BC2483 /* UITraitCollection.swift */; }; A77480BC1D08333F00774DEC /* UITextFieldLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A77480BB1D08333F00774DEC /* UITextFieldLenses.swift */; }; A77480BE1D083BC000774DEC /* UITextInputTraitsLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A77480BD1D083BC000774DEC /* UITextInputTraitsLenses.swift */; }; A77480C01D0855C800774DEC /* UIStackViewLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A77480BF1D0855C800774DEC /* UIStackViewLenses.swift */; }; A77480C21D089AF100774DEC /* UIViewControllerLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A77480C11D089AF100774DEC /* UIViewControllerLenses.swift */; }; A78011DE1D2DBF090027396E /* UITraitEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = A78011DD1D2DBF090027396E /* UITraitEnvironment.swift */; }; - A78011DF1D2DBF090027396E /* UITraitEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = A78011DD1D2DBF090027396E /* UITraitEnvironment.swift */; }; - A782B4521D2C375A0069D10E /* UITextViewLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8094255A1D1463A00021DEEE /* UITextViewLenses.swift */; }; A78323AD1CB9615D000B094C /* Either.swift in Sources */ = {isa = PBXBuildFile; fileRef = A78323AC1CB9615D000B094C /* Either.swift */; }; - A78323AE1CB9615D000B094C /* Either.swift in Sources */ = {isa = PBXBuildFile; fileRef = A78323AC1CB9615D000B094C /* Either.swift */; }; A788518B1D6C8C8B00617930 /* UIActivityIndicatorViewLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A788518A1D6C8C8B00617930 /* UIActivityIndicatorViewLenses.swift */; }; - A788518C1D6C8C8B00617930 /* UIActivityIndicatorViewLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A788518A1D6C8C8B00617930 /* UIActivityIndicatorViewLenses.swift */; }; - A788518E1D6C8DAC00617930 /* UIWebViewLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A788518D1D6C8DAC00617930 /* UIWebViewLenses.swift */; }; - A788518F1D6C8DAC00617930 /* UIWebViewLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A788518D1D6C8DAC00617930 /* UIWebViewLenses.swift */; }; A7A882F21D31826F00E9046E /* NSMutableParagraphStyleLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7A882F11D31826F00E9046E /* NSMutableParagraphStyleLenses.swift */; }; - A7A882F31D31826F00E9046E /* NSMutableParagraphStyleLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7A882F11D31826F00E9046E /* NSMutableParagraphStyleLenses.swift */; }; A7AD8BC01C9DCBC200016122 /* Semigroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7AD8BBF1C9DCBC200016122 /* Semigroup.swift */; }; - A7AD8BC11C9DCBC200016122 /* Semigroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7AD8BBF1C9DCBC200016122 /* Semigroup.swift */; }; - A7B60BE91BFBF44000B7B7ED /* Dictionary.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7B60BE81BFBF44000B7B7ED /* Dictionary.swift */; }; A7C5B8B31E7F45F7001F9E62 /* ArrayTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8A61E7F45F7001F9E62 /* ArrayTests.swift */; }; - A7C5B8B41E7F45F7001F9E62 /* ArrayTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8A61E7F45F7001F9E62 /* ArrayTests.swift */; }; A7C5B8B51E7F45F7001F9E62 /* BooleanTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8A71E7F45F7001F9E62 /* BooleanTests.swift */; }; - A7C5B8B61E7F45F7001F9E62 /* BooleanTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8A71E7F45F7001F9E62 /* BooleanTests.swift */; }; A7C5B8B71E7F45F7001F9E62 /* ComparableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8A81E7F45F7001F9E62 /* ComparableTests.swift */; }; - A7C5B8B81E7F45F7001F9E62 /* ComparableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8A81E7F45F7001F9E62 /* ComparableTests.swift */; }; A7C5B8B91E7F45F7001F9E62 /* ComparatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8A91E7F45F7001F9E62 /* ComparatorTests.swift */; }; - A7C5B8BA1E7F45F7001F9E62 /* ComparatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8A91E7F45F7001F9E62 /* ComparatorTests.swift */; }; A7C5B8BB1E7F45F7001F9E62 /* DictionaryTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8AA1E7F45F7001F9E62 /* DictionaryTest.swift */; }; - A7C5B8BC1E7F45F7001F9E62 /* DictionaryTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8AA1E7F45F7001F9E62 /* DictionaryTest.swift */; }; A7C5B8BD1E7F45F7001F9E62 /* EitherTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8AB1E7F45F7001F9E62 /* EitherTests.swift */; }; - A7C5B8BE1E7F45F7001F9E62 /* EitherTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8AB1E7F45F7001F9E62 /* EitherTests.swift */; }; A7C5B8BF1E7F45F7001F9E62 /* FunctionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8AC1E7F45F7001F9E62 /* FunctionTest.swift */; }; - A7C5B8C01E7F45F7001F9E62 /* FunctionTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8AC1E7F45F7001F9E62 /* FunctionTest.swift */; }; A7C5B8C11E7F45F7001F9E62 /* LensTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8AD1E7F45F7001F9E62 /* LensTests.swift */; }; - A7C5B8C21E7F45F7001F9E62 /* LensTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8AD1E7F45F7001F9E62 /* LensTests.swift */; }; A7C5B8C31E7F45F7001F9E62 /* OptionalTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8AE1E7F45F7001F9E62 /* OptionalTests.swift */; }; - A7C5B8C41E7F45F7001F9E62 /* OptionalTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8AE1E7F45F7001F9E62 /* OptionalTests.swift */; }; A7C5B8C51E7F45F7001F9E62 /* OrderingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8AF1E7F45F7001F9E62 /* OrderingTests.swift */; }; - A7C5B8C61E7F45F7001F9E62 /* OrderingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8AF1E7F45F7001F9E62 /* OrderingTests.swift */; }; A7C5B8C71E7F45F7001F9E62 /* StringTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8B01E7F45F7001F9E62 /* StringTests.swift */; }; - A7C5B8C81E7F45F7001F9E62 /* StringTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8B01E7F45F7001F9E62 /* StringTests.swift */; }; A7C5B8C91E7F45F7001F9E62 /* TupleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8B11E7F45F7001F9E62 /* TupleTests.swift */; }; - A7C5B8CA1E7F45F7001F9E62 /* TupleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8B11E7F45F7001F9E62 /* TupleTests.swift */; }; A7C5B8CB1E7F45F7001F9E62 /* UnitTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8B21E7F45F7001F9E62 /* UnitTests.swift */; }; - A7C5B8CC1E7F45F7001F9E62 /* UnitTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8B21E7F45F7001F9E62 /* UnitTests.swift */; }; - A7C5B8CF1E7F465B001F9E62 /* UIButtonTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8CD1E7F465B001F9E62 /* UIButtonTests.swift */; }; - A7C5B8D01E7F465B001F9E62 /* UIButtonTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8CD1E7F465B001F9E62 /* UIButtonTests.swift */; }; - A7C5B8D11E7F465B001F9E62 /* UITraitCollectionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8CE1E7F465B001F9E62 /* UITraitCollectionTests.swift */; }; - A7C5B8D21E7F465B001F9E62 /* UITraitCollectionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7C5B8CE1E7F465B001F9E62 /* UITraitCollectionTests.swift */; }; A7CBAA6D1D69E9DE009D7B48 /* LensHolder.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7CBAA6C1D69E9DE009D7B48 /* LensHolder.swift */; }; - A7CBAA6E1D69E9DE009D7B48 /* LensHolder.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7CBAA6C1D69E9DE009D7B48 /* LensHolder.swift */; }; A7D11FC71D14927400F364FD /* UITableViewLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7D11FC61D14927400F364FD /* UITableViewLenses.swift */; }; - A7D11FC81D14927400F364FD /* UITableViewLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7D11FC61D14927400F364FD /* UITableViewLenses.swift */; }; A7D11FCA1D14936700F364FD /* UITableViewControllerLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7D11FC91D14936700F364FD /* UITableViewControllerLenses.swift */; }; - A7D11FCB1D14936700F364FD /* UITableViewControllerLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7D11FC91D14936700F364FD /* UITableViewControllerLenses.swift */; }; A7D120231D158A2700F364FD /* UITableViewCellLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7D120221D158A2700F364FD /* UITableViewCellLenses.swift */; }; - A7D120241D158A2700F364FD /* UITableViewCellLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7D120221D158A2700F364FD /* UITableViewCellLenses.swift */; }; - A7DBFCF31C5EB661002150A1 /* SomeError.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7DBFCF21C5EB661002150A1 /* SomeError.swift */; }; - A7EFE1521C28B46900F4CFEB /* NumericType.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7EFE1511C28B46900F4CFEB /* NumericType.swift */; }; - A7EFE1541C28B53D00F4CFEB /* VectorType.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7EFE1531C28B53D00F4CFEB /* VectorType.swift */; }; - A7F7ADE81C53D27300E39792 /* Comparable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7F7ADE71C53D27300E39792 /* Comparable.swift */; }; A7FD084E1C81E1DA00332CCB /* Array.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAC0795C1BBDBF8F00AFDBF0 /* Array.swift */; }; A7FD084F1C81E1DA00332CCB /* Function.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA0924361BB629BC00C9EC88 /* Function.swift */; }; A7FD08501C81E1DA00332CCB /* SomeError.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7DBFCF21C5EB661002150A1 /* SomeError.swift */; }; @@ -164,96 +90,11 @@ A7FD08571C81E1DA00332CCB /* NumericType.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7EFE1511C28B46900F4CFEB /* NumericType.swift */; }; A7FD08581C81E1DA00332CCB /* Dictionary.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7B60BE81BFBF44000B7B7ED /* Dictionary.swift */; }; A7FD085B1C81E1DA00332CCB /* Prelude.h in Headers */ = {isa = PBXBuildFile; fileRef = CA0923FB1BB6291900C9EC88 /* Prelude.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A7FD08731C81E24A00332CCB /* Prelude.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA0923F81BB6291900C9EC88 /* Prelude.framework */; }; A7FD55A11D104199007F976D /* UIEdgeInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7FD55A01D104199007F976D /* UIEdgeInsets.swift */; }; - CA0923FC1BB6291900C9EC88 /* Prelude.h in Headers */ = {isa = PBXBuildFile; fileRef = CA0923FB1BB6291900C9EC88 /* Prelude.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CA0924031BB6291900C9EC88 /* Prelude.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA0923F81BB6291900C9EC88 /* Prelude.framework */; }; - CA0924371BB629BC00C9EC88 /* Function.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA0924361BB629BC00C9EC88 /* Function.swift */; }; - CA3DFCD31BDFFB8000D30C27 /* Tuple.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA3DFCD21BDFFB8000D30C27 /* Tuple.swift */; }; - CAC0795D1BBDBF8F00AFDBF0 /* Array.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAC0795C1BBDBF8F00AFDBF0 /* Array.swift */; }; - CAC0795F1BBDC00200AFDBF0 /* Optional.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAC0795E1BBDC00200AFDBF0 /* Optional.swift */; }; D6089DC5208A3F660032CC99 /* UISwitchLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6089DC4208A3F660032CC99 /* UISwitchLenses.swift */; }; - D6089DC7208A43590032CC99 /* UISwitchLenses.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6089DC4208A3F660032CC99 /* UISwitchLenses.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 8023ED1F1E9AC7560044504B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 8023ED151E9AC7560044504B /* Runes.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = F802D4D21A5F218E005E236C; - remoteInfo = "Runes-iOS"; - }; - 8023ED211E9AC7560044504B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 8023ED151E9AC7560044504B /* Runes.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = F86B2E0B1A5F2B8D00C3B8BD; - remoteInfo = "Runes-Mac"; - }; - 8023ED231E9AC7560044504B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 8023ED151E9AC7560044504B /* Runes.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 51DE8A121BAB363500124320; - remoteInfo = "Runes-tvOS"; - }; - 8023ED251E9AC7560044504B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 8023ED151E9AC7560044504B /* Runes.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = F8624C261A645A9600C883B3; - remoteInfo = "Runes-iOS Tests"; - }; - 8023ED271E9AC7560044504B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 8023ED151E9AC7560044504B /* Runes.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = F8624C451A645C9500C883B3; - remoteInfo = "Runes-Mac Tests"; - }; - 8023ED291E9AC7560044504B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 8023ED151E9AC7560044504B /* Runes.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 51DE8A211BAB36E600124320; - remoteInfo = "Runes-tvOS Tests"; - }; - 8023ED2B1E9AC7560044504B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 8023ED151E9AC7560044504B /* Runes.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = EAA6A5101B2F154D0058E9A8; - remoteInfo = "Runes-watchOS"; - }; - 8023ED2D1E9AC7660044504B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 8023ED151E9AC7560044504B /* Runes.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = F802D4D11A5F218E005E236C; - remoteInfo = "Runes-iOS"; - }; - 8023ED2F1E9AC76C0044504B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 8023ED151E9AC7560044504B /* Runes.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 51DE8A111BAB363500124320; - remoteInfo = "Runes-tvOS"; - }; - A70969131D14373400DB39D3 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CA0923EF1BB6291800C9EC88 /* Project object */; - proxyType = 1; - remoteGlobalIDString = A70969071D14373400DB39D3; - remoteInfo = "Prelude-UIKit-tvOS"; - }; - A70969311D14383400DB39D3 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CA0923EF1BB6291800C9EC88 /* Project object */; - proxyType = 1; - remoteGlobalIDString = CA0923F71BB6291900C9EC88; - remoteInfo = "Prelude-tvOS"; - }; A727E02D1D0796D700D8FE43 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = CA0923EF1BB6291800C9EC88 /* Project object */; @@ -261,13 +102,6 @@ remoteGlobalIDString = A727E0211D0796D600D8FE43; remoteInfo = "Prelude-UIKit-iOS"; }; - A727E04C1D07974300D8FE43 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CA0923EF1BB6291800C9EC88 /* Project object */; - proxyType = 1; - remoteGlobalIDString = A7FD084C1C81E1DA00332CCB; - remoteInfo = "Prelude-iOS"; - }; A7FD087D1C81E27800332CCB /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = CA0923EF1BB6291800C9EC88 /* Project object */; @@ -275,21 +109,15 @@ remoteGlobalIDString = A7FD084C1C81E1DA00332CCB; remoteInfo = "Prelude-iOS"; }; - CA0924041BB6291900C9EC88 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = CA0923EF1BB6291800C9EC88 /* Project object */; - proxyType = 1; - remoteGlobalIDString = CA0923F71BB6291900C9EC88; - remoteInfo = Prelude; - }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ 01AFE2BF1D58FF680094C263 /* UITabBarLenses.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UITabBarLenses.swift; sourceTree = ""; }; 01F547E81D539629000A98EF /* UITabBarItemLenses.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UITabBarItemLenses.swift; sourceTree = ""; }; + 066C915827FCE50B00EDAEEA /* Package.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Package.swift; sourceTree = ""; }; + 06EA2D41280F35EA00F4DE2E /* VectorTypeTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VectorTypeTest.swift; sourceTree = ""; }; 37E54B7D22658F0E00F1A2F7 /* UIStepperLenses.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIStepperLenses.swift; sourceTree = ""; }; 7758A83A209B926F0018B96D /* UnpackTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnpackTests.swift; sourceTree = ""; }; - 8023ED151E9AC7560044504B /* Runes.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Runes.xcodeproj; path = Runes/Runes.xcodeproj; sourceTree = ""; }; 804FA7001D2EF6FC001876A7 /* UIBarButtonItemLenses.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIBarButtonItemLenses.swift; sourceTree = ""; }; 804FA7021D2EF79A001876A7 /* UIBarItemLenses.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIBarItemLenses.swift; sourceTree = ""; }; 8051B93E1D4049B600F653A7 /* UINavigationBarLenses.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UINavigationBarLenses.swift; sourceTree = ""; }; @@ -304,13 +132,11 @@ 9DCD74231D42A42100B238E5 /* Comparator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Comparator.swift; sourceTree = ""; }; 9DCD74261D42A43500B238E5 /* Monoid.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Monoid.swift; sourceTree = ""; }; A7013C9D1D538AD100BCEE9C /* WKWebViewLenses.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WKWebViewLenses.swift; sourceTree = ""; }; - A70969081D14373400DB39D3 /* Prelude_UIKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Prelude_UIKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A70969111D14373400DB39D3 /* Prelude-UIKit-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Prelude-UIKit-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; A711FCDC1CECB53A00659DB4 /* Unpack.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Unpack.swift; sourceTree = ""; }; A711FD701CECF7A300659DB4 /* Lens.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Lens.swift; sourceTree = ""; }; A72549F81D779C1200F07272 /* UIProgressViewLenses.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIProgressViewLenses.swift; sourceTree = ""; }; A727E0221D0796D600D8FE43 /* Prelude_UIKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Prelude_UIKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A727E02B1D0796D600D8FE43 /* Prelude-UIKit-iOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Prelude-UIKit-iOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + A727E02B1D0796D600D8FE43 /* Prelude-UIKitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Prelude-UIKitTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; A727E03A1D07972F00D8FE43 /* CALayerLenses.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CALayerLenses.swift; sourceTree = ""; }; A727E03B1D07972F00D8FE43 /* CGPointLenses.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGPointLenses.swift; sourceTree = ""; }; A727E03C1D07972F00D8FE43 /* CGRectLenses.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGRectLenses.swift; sourceTree = ""; }; @@ -341,7 +167,6 @@ A78011DD1D2DBF090027396E /* UITraitEnvironment.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UITraitEnvironment.swift; sourceTree = ""; }; A78323AC1CB9615D000B094C /* Either.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Either.swift; sourceTree = ""; }; A788518A1D6C8C8B00617930 /* UIActivityIndicatorViewLenses.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIActivityIndicatorViewLenses.swift; sourceTree = ""; }; - A788518D1D6C8DAC00617930 /* UIWebViewLenses.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIWebViewLenses.swift; sourceTree = ""; }; A7A882F11D31826F00E9046E /* NSMutableParagraphStyleLenses.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSMutableParagraphStyleLenses.swift; sourceTree = ""; }; A7AD8BBF1C9DCBC200016122 /* Semigroup.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Semigroup.swift; sourceTree = ""; }; A7B60BE81BFBF44000B7B7ED /* Dictionary.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Dictionary.swift; sourceTree = ""; }; @@ -369,12 +194,10 @@ A7EFE1531C28B53D00F4CFEB /* VectorType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VectorType.swift; sourceTree = ""; }; A7F7ADE71C53D27300E39792 /* Comparable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Comparable.swift; sourceTree = ""; }; A7FD08641C81E1DA00332CCB /* Prelude.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Prelude.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A7FD087B1C81E24A00332CCB /* Prelude-iOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Prelude-iOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + A7FD087B1C81E24A00332CCB /* PreludeTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PreludeTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; A7FD55A01D104199007F976D /* UIEdgeInsets.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIEdgeInsets.swift; sourceTree = ""; }; - CA0923F81BB6291900C9EC88 /* Prelude.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Prelude.framework; sourceTree = BUILT_PRODUCTS_DIR; }; CA0923FB1BB6291900C9EC88 /* Prelude.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Prelude.h; sourceTree = ""; }; CA0923FD1BB6291900C9EC88 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - CA0924021BB6291900C9EC88 /* Prelude-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Prelude-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; CA0924361BB629BC00C9EC88 /* Function.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Function.swift; sourceTree = ""; }; CA3DFCD21BDFFB8000D30C27 /* Tuple.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Tuple.swift; sourceTree = ""; }; CAC0795C1BBDBF8F00AFDBF0 /* Array.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Array.swift; sourceTree = ""; }; @@ -383,22 +206,6 @@ /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - A70969041D14373400DB39D3 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - A70969331D14383A00DB39D3 /* Prelude.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A709690E1D14373400DB39D3 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - A70969121D14373400DB39D3 /* Prelude_UIKit.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; A727E01E1D0796D600D8FE43 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -411,7 +218,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A727E02C1D0796D700D8FE43 /* Prelude_UIKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -426,49 +232,60 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A7FD08731C81E24A00332CCB /* Prelude.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - CA0923F41BB6291900C9EC88 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 8023ED321E9AC7860044504B /* Runes.framework in Frameworks */, +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 06D9B15E27FCEE1A003C8A92 /* Sources */ = { + isa = PBXGroup; + children = ( + CA0923FA1BB6291900C9EC88 /* Prelude */, + A727E0231D0796D600D8FE43 /* Prelude-UIKit */, ); - runOnlyForDeploymentPostprocessing = 0; + path = Sources; + sourceTree = ""; }; - CA0923FF1BB6291900C9EC88 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - CA0924031BB6291900C9EC88 /* Prelude.framework in Frameworks */, + 06EA2D38280F293B00F4DE2E /* Tests */ = { + isa = PBXGroup; + children = ( + 06EA2D3A280F297100F4DE2E /* Prelude-UIKitTests */, + 06EA2D39280F294800F4DE2E /* PreludeTests */, ); - runOnlyForDeploymentPostprocessing = 0; + path = Tests; + sourceTree = ""; }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 8023ED141E9AC72C0044504B /* Frameworks */ = { + 06EA2D39280F294800F4DE2E /* PreludeTests */ = { isa = PBXGroup; children = ( - 8023ED151E9AC7560044504B /* Runes.xcodeproj */, + A7C5B8A61E7F45F7001F9E62 /* ArrayTests.swift */, + A7C5B8A71E7F45F7001F9E62 /* BooleanTests.swift */, + A7C5B8A81E7F45F7001F9E62 /* ComparableTests.swift */, + A7C5B8A91E7F45F7001F9E62 /* ComparatorTests.swift */, + A7C5B8AA1E7F45F7001F9E62 /* DictionaryTest.swift */, + A7C5B8AB1E7F45F7001F9E62 /* EitherTests.swift */, + A7C5B8AC1E7F45F7001F9E62 /* FunctionTest.swift */, + A7C5B8AD1E7F45F7001F9E62 /* LensTests.swift */, + 80A0E1AD1EB02D4A00D69242 /* NonEmptyTests.swift */, + A7C5B8AE1E7F45F7001F9E62 /* OptionalTests.swift */, + A7C5B8AF1E7F45F7001F9E62 /* OrderingTests.swift */, + A7C5B8B01E7F45F7001F9E62 /* StringTests.swift */, + A7C5B8B11E7F45F7001F9E62 /* TupleTests.swift */, + A7C5B8B21E7F45F7001F9E62 /* UnitTests.swift */, + 7758A83A209B926F0018B96D /* UnpackTests.swift */, + 06EA2D41280F35EA00F4DE2E /* VectorTypeTest.swift */, ); - path = Frameworks; + path = PreludeTests; sourceTree = ""; }; - 8023ED161E9AC7560044504B /* Products */ = { + 06EA2D3A280F297100F4DE2E /* Prelude-UIKitTests */ = { isa = PBXGroup; children = ( - 8023ED201E9AC7560044504B /* Runes.framework */, - 8023ED221E9AC7560044504B /* Runes.framework */, - 8023ED241E9AC7560044504B /* Runes.framework */, - 8023ED261E9AC7560044504B /* Runes-iOS Tests.xctest */, - 8023ED281E9AC7560044504B /* Runes-Mac Tests.xctest */, - 8023ED2A1E9AC7560044504B /* Runes-tvOS Tests.xctest */, - 8023ED2C1E9AC7560044504B /* Runes.framework */, + A7C5B8CD1E7F465B001F9E62 /* UIButtonTests.swift */, + A7C5B8CE1E7F465B001F9E62 /* UITraitCollectionTests.swift */, ); - name = Products; + path = "Prelude-UIKitTests"; sourceTree = ""; }; A727E0231D0796D600D8FE43 /* Prelude-UIKit */ = { @@ -476,11 +293,9 @@ children = ( A733794B1D0E417300C91445 /* LensHolder.swift */, A727E0511D07984500D8FE43 /* UIButton.swift */, - A7C5B8CD1E7F465B001F9E62 /* UIButtonTests.swift */, A7FD55A01D104199007F976D /* UIEdgeInsets.swift */, A727E04F1D0797EB00D8FE43 /* UIImage.swift */, A76BAF9C1D5CC48D00BC2483 /* UITraitCollection.swift */, - A7C5B8CE1E7F465B001F9E62 /* UITraitCollectionTests.swift */, A727E0391D07972F00D8FE43 /* lenses */, ); path = "Prelude-UIKit"; @@ -524,7 +339,6 @@ A78011DD1D2DBF090027396E /* UITraitEnvironment.swift */, A77480C11D089AF100774DEC /* UIViewControllerLenses.swift */, A727E0421D07972F00D8FE43 /* UIViewLenses.swift */, - A788518D1D6C8DAC00617930 /* UIWebViewLenses.swift */, A7013C9D1D538AD100BCEE9C /* WKWebViewLenses.swift */, ); path = lenses; @@ -533,10 +347,10 @@ CA0923EE1BB6291800C9EC88 = { isa = PBXGroup; children = ( + 066C915827FCE50B00EDAEEA /* Package.swift */, A7378CC61C80958000F0A562 /* Prelude.playground */, - 8023ED141E9AC72C0044504B /* Frameworks */, - CA0923FA1BB6291900C9EC88 /* Prelude */, - A727E0231D0796D600D8FE43 /* Prelude-UIKit */, + 06EA2D38280F293B00F4DE2E /* Tests */, + 06D9B15E27FCEE1A003C8A92 /* Sources */, CA0923F91BB6291900C9EC88 /* Products */, ); indentWidth = 2; @@ -547,14 +361,10 @@ CA0923F91BB6291900C9EC88 /* Products */ = { isa = PBXGroup; children = ( - CA0923F81BB6291900C9EC88 /* Prelude.framework */, - CA0924021BB6291900C9EC88 /* Prelude-tvOSTests.xctest */, A7FD08641C81E1DA00332CCB /* Prelude.framework */, - A7FD087B1C81E24A00332CCB /* Prelude-iOSTests.xctest */, + A7FD087B1C81E24A00332CCB /* PreludeTests.xctest */, A727E0221D0796D600D8FE43 /* Prelude_UIKit.framework */, - A727E02B1D0796D600D8FE43 /* Prelude-UIKit-iOSTests.xctest */, - A70969081D14373400DB39D3 /* Prelude_UIKit.framework */, - A70969111D14373400DB39D3 /* Prelude-UIKit-tvOSTests.xctest */, + A727E02B1D0796D600D8FE43 /* Prelude-UIKitTests.xctest */, ); name = Products; sourceTree = ""; @@ -565,43 +375,28 @@ CA0923FB1BB6291900C9EC88 /* Prelude.h */, CA0923FD1BB6291900C9EC88 /* Info.plist */, CAC0795C1BBDBF8F00AFDBF0 /* Array.swift */, - A7C5B8A61E7F45F7001F9E62 /* ArrayTests.swift */, A75EC8141CCBEB4F009BEC10 /* Bool.swift */, - A7C5B8A71E7F45F7001F9E62 /* BooleanTests.swift */, A7F7ADE71C53D27300E39792 /* Comparable.swift */, - A7C5B8A81E7F45F7001F9E62 /* ComparableTests.swift */, 9DCD74231D42A42100B238E5 /* Comparator.swift */, - A7C5B8A91E7F45F7001F9E62 /* ComparatorTests.swift */, A7B60BE81BFBF44000B7B7ED /* Dictionary.swift */, - A7C5B8AA1E7F45F7001F9E62 /* DictionaryTest.swift */, A78323AC1CB9615D000B094C /* Either.swift */, - A7C5B8AB1E7F45F7001F9E62 /* EitherTests.swift */, A75EFFE31C0E7BF40002C7D2 /* Empty.swift */, CA0924361BB629BC00C9EC88 /* Function.swift */, - A7C5B8AC1E7F45F7001F9E62 /* FunctionTest.swift */, A711FD701CECF7A300659DB4 /* Lens.swift */, A7CBAA6C1D69E9DE009D7B48 /* LensHolder.swift */, - A7C5B8AD1E7F45F7001F9E62 /* LensTests.swift */, 9DCD74261D42A43500B238E5 /* Monoid.swift */, 80A0E1A51EB0076A00D69242 /* NonEmpty.swift */, - 80A0E1AD1EB02D4A00D69242 /* NonEmptyTests.swift */, A7EFE1511C28B46900F4CFEB /* NumericType.swift */, A74B3C0C1C9DCD9A00F938C4 /* Operators.swift */, CAC0795E1BBDC00200AFDBF0 /* Optional.swift */, - A7C5B8AE1E7F45F7001F9E62 /* OptionalTests.swift */, 9DCD741D1D429AA200B238E5 /* Ordering.swift */, - A7C5B8AF1E7F45F7001F9E62 /* OrderingTests.swift */, A7AD8BBF1C9DCBC200016122 /* Semigroup.swift */, 80A9DF3A1EB1A9AE00CEF5CC /* Set.swift */, A7DBFCF21C5EB661002150A1 /* SomeError.swift */, A74B3C091C9DCC7600F938C4 /* String.swift */, - A7C5B8B01E7F45F7001F9E62 /* StringTests.swift */, CA3DFCD21BDFFB8000D30C27 /* Tuple.swift */, - A7C5B8B11E7F45F7001F9E62 /* TupleTests.swift */, A75EFFE11C0E7B8E0002C7D2 /* Unit.swift */, - A7C5B8B21E7F45F7001F9E62 /* UnitTests.swift */, A711FCDC1CECB53A00659DB4 /* Unpack.swift */, - 7758A83A209B926F0018B96D /* UnpackTests.swift */, A7EFE1531C28B53D00F4CFEB /* VectorType.swift */, ); path = Prelude; @@ -610,13 +405,6 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - A70969051D14373400DB39D3 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; A727E01F1D0796D600D8FE43 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -632,57 +420,12 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - CA0923F51BB6291900C9EC88 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - CA0923FC1BB6291900C9EC88 /* Prelude.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - A70969071D14373400DB39D3 /* Prelude-UIKit-tvOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = A709691D1D14373400DB39D3 /* Build configuration list for PBXNativeTarget "Prelude-UIKit-tvOS" */; - buildPhases = ( - A70969031D14373400DB39D3 /* Sources */, - A70969041D14373400DB39D3 /* Frameworks */, - A70969051D14373400DB39D3 /* Headers */, - A70969061D14373400DB39D3 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - A70969321D14383400DB39D3 /* PBXTargetDependency */, - ); - name = "Prelude-UIKit-tvOS"; - productName = "Prelude-UIKit-tvOS"; - productReference = A70969081D14373400DB39D3 /* Prelude_UIKit.framework */; - productType = "com.apple.product-type.framework"; - }; - A70969101D14373400DB39D3 /* Prelude-UIKit-tvOSTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = A709691E1D14373400DB39D3 /* Build configuration list for PBXNativeTarget "Prelude-UIKit-tvOSTests" */; - buildPhases = ( - A709690D1D14373400DB39D3 /* Sources */, - A709690E1D14373400DB39D3 /* Frameworks */, - A709690F1D14373400DB39D3 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - A70969141D14373400DB39D3 /* PBXTargetDependency */, - ); - name = "Prelude-UIKit-tvOSTests"; - productName = "Prelude-UIKit-tvOSTests"; - productReference = A70969111D14373400DB39D3 /* Prelude-UIKit-tvOSTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - A727E0211D0796D600D8FE43 /* Prelude-UIKit-iOS */ = { + A727E0211D0796D600D8FE43 /* Prelude-UIKit */ = { isa = PBXNativeTarget; - buildConfigurationList = A727E0371D0796D700D8FE43 /* Build configuration list for PBXNativeTarget "Prelude-UIKit-iOS" */; + buildConfigurationList = A727E0371D0796D700D8FE43 /* Build configuration list for PBXNativeTarget "Prelude-UIKit" */; buildPhases = ( A727E01D1D0796D600D8FE43 /* Sources */, A727E01E1D0796D600D8FE43 /* Frameworks */, @@ -692,16 +435,15 @@ buildRules = ( ); dependencies = ( - A727E04D1D07974300D8FE43 /* PBXTargetDependency */, ); - name = "Prelude-UIKit-iOS"; + name = "Prelude-UIKit"; productName = "Prelude-UIKit-iOS"; productReference = A727E0221D0796D600D8FE43 /* Prelude_UIKit.framework */; productType = "com.apple.product-type.framework"; }; - A727E02A1D0796D600D8FE43 /* Prelude-UIKit-iOSTests */ = { + A727E02A1D0796D600D8FE43 /* Prelude-UIKitTests */ = { isa = PBXNativeTarget; - buildConfigurationList = A727E0381D0796D700D8FE43 /* Build configuration list for PBXNativeTarget "Prelude-UIKit-iOSTests" */; + buildConfigurationList = A727E0381D0796D700D8FE43 /* Build configuration list for PBXNativeTarget "Prelude-UIKitTests" */; buildPhases = ( A727E0271D0796D600D8FE43 /* Sources */, A727E0281D0796D600D8FE43 /* Frameworks */, @@ -712,33 +454,32 @@ dependencies = ( A727E02E1D0796D700D8FE43 /* PBXTargetDependency */, ); - name = "Prelude-UIKit-iOSTests"; + name = "Prelude-UIKitTests"; productName = "Prelude-UIKit-iOSTests"; - productReference = A727E02B1D0796D600D8FE43 /* Prelude-UIKit-iOSTests.xctest */; + productReference = A727E02B1D0796D600D8FE43 /* Prelude-UIKitTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; - A7FD084C1C81E1DA00332CCB /* Prelude-iOS */ = { + A7FD084C1C81E1DA00332CCB /* Prelude */ = { isa = PBXNativeTarget; - buildConfigurationList = A7FD085E1C81E1DA00332CCB /* Build configuration list for PBXNativeTarget "Prelude-iOS" */; + buildConfigurationList = A7FD085E1C81E1DA00332CCB /* Build configuration list for PBXNativeTarget "Prelude" */; buildPhases = ( + A7FD085A1C81E1DA00332CCB /* Headers */, A7FD084D1C81E1DA00332CCB /* Sources */, A7FD08591C81E1DA00332CCB /* Frameworks */, - A7FD085A1C81E1DA00332CCB /* Headers */, A7FD085C1C81E1DA00332CCB /* Resources */, ); buildRules = ( ); dependencies = ( - 8023ED2E1E9AC7660044504B /* PBXTargetDependency */, ); - name = "Prelude-iOS"; + name = Prelude; productName = Prelude; productReference = A7FD08641C81E1DA00332CCB /* Prelude.framework */; productType = "com.apple.product-type.framework"; }; - A7FD08661C81E24A00332CCB /* Prelude-iOSTests */ = { + A7FD08661C81E24A00332CCB /* PreludeTests */ = { isa = PBXNativeTarget; - buildConfigurationList = A7FD08751C81E24A00332CCB /* Build configuration list for PBXNativeTarget "Prelude-iOSTests" */; + buildConfigurationList = A7FD08751C81E24A00332CCB /* Build configuration list for PBXNativeTarget "PreludeTests" */; buildPhases = ( A7FD08691C81E24A00332CCB /* Sources */, A7FD08721C81E24A00332CCB /* Frameworks */, @@ -749,46 +490,9 @@ dependencies = ( A7FD087E1C81E27800332CCB /* PBXTargetDependency */, ); - name = "Prelude-iOSTests"; + name = PreludeTests; productName = PreludeTests; - productReference = A7FD087B1C81E24A00332CCB /* Prelude-iOSTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - CA0923F71BB6291900C9EC88 /* Prelude-tvOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = CA09240C1BB6291900C9EC88 /* Build configuration list for PBXNativeTarget "Prelude-tvOS" */; - buildPhases = ( - CA0923F31BB6291900C9EC88 /* Sources */, - CA0923F41BB6291900C9EC88 /* Frameworks */, - CA0923F51BB6291900C9EC88 /* Headers */, - CA0923F61BB6291900C9EC88 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 8023ED301E9AC76C0044504B /* PBXTargetDependency */, - ); - name = "Prelude-tvOS"; - productName = Prelude; - productReference = CA0923F81BB6291900C9EC88 /* Prelude.framework */; - productType = "com.apple.product-type.framework"; - }; - CA0924011BB6291900C9EC88 /* Prelude-tvOSTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = CA09240F1BB6291900C9EC88 /* Build configuration list for PBXNativeTarget "Prelude-tvOSTests" */; - buildPhases = ( - CA0923FE1BB6291900C9EC88 /* Sources */, - CA0923FF1BB6291900C9EC88 /* Frameworks */, - CA0924001BB6291900C9EC88 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - CA0924051BB6291900C9EC88 /* PBXTargetDependency */, - ); - name = "Prelude-tvOSTests"; - productName = PreludeTests; - productReference = CA0924021BB6291900C9EC88 /* Prelude-tvOSTests.xctest */; + productReference = A7FD087B1C81E24A00332CCB /* PreludeTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ @@ -798,17 +502,9 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0730; - LastUpgradeCheck = 1000; + LastUpgradeCheck = 1330; ORGANIZATIONNAME = Kickstarter; TargetAttributes = { - A70969071D14373400DB39D3 = { - CreatedOnToolsVersion = 7.3.1; - LastSwiftMigration = 0800; - }; - A70969101D14373400DB39D3 = { - CreatedOnToolsVersion = 7.3.1; - LastSwiftMigration = 0820; - }; A727E0211D0796D600D8FE43 = { CreatedOnToolsVersion = 7.3.1; LastSwiftMigration = 0920; @@ -823,114 +519,30 @@ A7FD08661C81E24A00332CCB = { LastSwiftMigration = 1000; }; - CA0923F71BB6291900C9EC88 = { - CreatedOnToolsVersion = 7.1; - LastSwiftMigration = 0820; - }; - CA0924011BB6291900C9EC88 = { - CreatedOnToolsVersion = 7.1; - LastSwiftMigration = 0820; - }; }; }; buildConfigurationList = CA0923F21BB6291800C9EC88 /* Build configuration list for PBXProject "Prelude" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - English, en, + Base, ); mainGroup = CA0923EE1BB6291800C9EC88; productRefGroup = CA0923F91BB6291900C9EC88 /* Products */; projectDirPath = ""; - projectReferences = ( - { - ProductGroup = 8023ED161E9AC7560044504B /* Products */; - ProjectRef = 8023ED151E9AC7560044504B /* Runes.xcodeproj */; - }, - ); projectRoot = ""; targets = ( - A7FD084C1C81E1DA00332CCB /* Prelude-iOS */, - A7FD08661C81E24A00332CCB /* Prelude-iOSTests */, - CA0923F71BB6291900C9EC88 /* Prelude-tvOS */, - CA0924011BB6291900C9EC88 /* Prelude-tvOSTests */, - A727E0211D0796D600D8FE43 /* Prelude-UIKit-iOS */, - A727E02A1D0796D600D8FE43 /* Prelude-UIKit-iOSTests */, - A70969071D14373400DB39D3 /* Prelude-UIKit-tvOS */, - A70969101D14373400DB39D3 /* Prelude-UIKit-tvOSTests */, + A7FD084C1C81E1DA00332CCB /* Prelude */, + A7FD08661C81E24A00332CCB /* PreludeTests */, + A727E0211D0796D600D8FE43 /* Prelude-UIKit */, + A727E02A1D0796D600D8FE43 /* Prelude-UIKitTests */, ); }; /* End PBXProject section */ -/* Begin PBXReferenceProxy section */ - 8023ED201E9AC7560044504B /* Runes.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = Runes.framework; - remoteRef = 8023ED1F1E9AC7560044504B /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 8023ED221E9AC7560044504B /* Runes.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = Runes.framework; - remoteRef = 8023ED211E9AC7560044504B /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 8023ED241E9AC7560044504B /* Runes.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = Runes.framework; - remoteRef = 8023ED231E9AC7560044504B /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 8023ED261E9AC7560044504B /* Runes-iOS Tests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = "Runes-iOS Tests.xctest"; - remoteRef = 8023ED251E9AC7560044504B /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 8023ED281E9AC7560044504B /* Runes-Mac Tests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = "Runes-Mac Tests.xctest"; - remoteRef = 8023ED271E9AC7560044504B /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 8023ED2A1E9AC7560044504B /* Runes-tvOS Tests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = "Runes-tvOS Tests.xctest"; - remoteRef = 8023ED291E9AC7560044504B /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 8023ED2C1E9AC7560044504B /* Runes.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = Runes.framework; - remoteRef = 8023ED2B1E9AC7560044504B /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - /* Begin PBXResourcesBuildPhase section */ - A70969061D14373400DB39D3 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A709690F1D14373400DB39D3 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; A727E0201D0796D600D8FE43 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -959,74 +571,9 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - CA0923F61BB6291900C9EC88 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CA0924001BB6291900C9EC88 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - A70969031D14373400DB39D3 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A70969241D1437B200DB39D3 /* CGPointLenses.swift in Sources */, - A7D120241D158A2700F364FD /* UITableViewCellLenses.swift in Sources */, - A747D9391D35654D004B612D /* UIScrollViewLenses.swift in Sources */, - A7A882F31D31826F00E9046E /* NSMutableParagraphStyleLenses.swift in Sources */, - A7D11FC81D14927400F364FD /* UITableViewLenses.swift in Sources */, - A72549FA1D779C1200F07272 /* UIProgressViewLenses.swift in Sources */, - A70969251D1437B200DB39D3 /* CGRectLenses.swift in Sources */, - A709692B1D1437B200DB39D3 /* UIStackViewLenses.swift in Sources */, - A709691F1D1437AD00DB39D3 /* LensHolder.swift in Sources */, - A70969291D1437B200DB39D3 /* UIEdgeInsetsLenses.swift in Sources */, - A70969221D1437AD00DB39D3 /* UIImage.swift in Sources */, - A70969271D1437B200DB39D3 /* UIButtonLenses.swift in Sources */, - 37E54B7F22658F0E00F1A2F7 /* UIStepperLenses.swift in Sources */, - A757EBEE1D1B134B00A5C978 /* UIImageViewLenses.swift in Sources */, - A709692C1D1437B200DB39D3 /* UITextFieldLenses.swift in Sources */, - 80904E771D3D48F200B897F0 /* NSTextContainerLenses.swift in Sources */, - A709692A1D1437B200DB39D3 /* UILabelLenses.swift in Sources */, - A70969281D1437B200DB39D3 /* UIControlLenses.swift in Sources */, - A709692D1D1437B200DB39D3 /* UITextInputTraitsLenses.swift in Sources */, - A788518F1D6C8DAC00617930 /* UIWebViewLenses.swift in Sources */, - D6089DC7208A43590032CC99 /* UISwitchLenses.swift in Sources */, - A78011DF1D2DBF090027396E /* UITraitEnvironment.swift in Sources */, - A70969261D1437B200DB39D3 /* CGSizeLenses.swift in Sources */, - A782B4521D2C375A0069D10E /* UITextViewLenses.swift in Sources */, - A70969201D1437AD00DB39D3 /* UIButton.swift in Sources */, - A709692F1D1437B200DB39D3 /* UIViewLenses.swift in Sources */, - A76BAF9E1D5CC48D00BC2483 /* UITraitCollection.swift in Sources */, - A70969211D1437AD00DB39D3 /* UIEdgeInsets.swift in Sources */, - A747D8E21D353A17004B612D /* NSObject.swift in Sources */, - A7013C9F1D538AD100BCEE9C /* WKWebViewLenses.swift in Sources */, - A709692E1D1437B200DB39D3 /* UIViewControllerLenses.swift in Sources */, - A788518C1D6C8C8B00617930 /* UIActivityIndicatorViewLenses.swift in Sources */, - A70969231D1437B200DB39D3 /* CALayerLenses.swift in Sources */, - A743813B1D33D49600040A95 /* UIAccessibilityLenses.swift in Sources */, - A7D11FCB1D14936700F364FD /* UITableViewControllerLenses.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A709690D1D14373400DB39D3 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A7C5B8D21E7F465B001F9E62 /* UITraitCollectionTests.swift in Sources */, - A7C5B8D01E7F465B001F9E62 /* UIButtonTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; A727E01D1D0796D600D8FE43 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -1065,7 +612,6 @@ A727E0521D07984500D8FE43 /* UIButton.swift in Sources */, A7D120231D158A2700F364FD /* UITableViewCellLenses.swift in Sources */, A727E04A1D07972F00D8FE43 /* UILabelLenses.swift in Sources */, - A788518E1D6C8DAC00617930 /* UIWebViewLenses.swift in Sources */, A7013C9E1D538AD100BCEE9C /* WKWebViewLenses.swift in Sources */, A727E0481D07972F00D8FE43 /* UIControlLenses.swift in Sources */, 804FA7041D2EF7A2001876A7 /* UIBarButtonItemLenses.swift in Sources */, @@ -1080,8 +626,8 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - A7C5B8D11E7F465B001F9E62 /* UITraitCollectionTests.swift in Sources */, - A7C5B8CF1E7F465B001F9E62 /* UIButtonTests.swift in Sources */, + 06EA2D3E280F2A5000F4DE2E /* UITraitCollectionTests.swift in Sources */, + 06EA2D3D280F2A4E00F4DE2E /* UIButtonTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1124,6 +670,7 @@ A7C5B8BD1E7F45F7001F9E62 /* EitherTests.swift in Sources */, A7C5B8B51E7F45F7001F9E62 /* BooleanTests.swift in Sources */, A7C5B8B71E7F45F7001F9E62 /* ComparableTests.swift in Sources */, + 06EA2D42280F35EA00F4DE2E /* VectorTypeTest.swift in Sources */, A7C5B8C51E7F45F7001F9E62 /* OrderingTests.swift in Sources */, A7C5B8C71E7F45F7001F9E62 /* StringTests.swift in Sources */, A7C5B8B31E7F45F7001F9E62 /* ArrayTests.swift in Sources */, @@ -1138,179 +685,35 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - CA0923F31BB6291900C9EC88 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CAC0795D1BBDBF8F00AFDBF0 /* Array.swift in Sources */, - A74B3C0B1C9DCC7600F938C4 /* String.swift in Sources */, - 9DCD74251D42A42100B238E5 /* Comparator.swift in Sources */, - CA0924371BB629BC00C9EC88 /* Function.swift in Sources */, - A7DBFCF31C5EB661002150A1 /* SomeError.swift in Sources */, - A78323AE1CB9615D000B094C /* Either.swift in Sources */, - A711FCDE1CECB53A00659DB4 /* Unpack.swift in Sources */, - 9DCD741F1D429AA200B238E5 /* Ordering.swift in Sources */, - 80A9DF3C1EB1A9AE00CEF5CC /* Set.swift in Sources */, - 80A0E1A71EB0076A00D69242 /* NonEmpty.swift in Sources */, - A7EFE1541C28B53D00F4CFEB /* VectorType.swift in Sources */, - A7F7ADE81C53D27300E39792 /* Comparable.swift in Sources */, - A75EFFE21C0E7B8E0002C7D2 /* Unit.swift in Sources */, - CAC0795F1BBDC00200AFDBF0 /* Optional.swift in Sources */, - A75EFFE41C0E7BF40002C7D2 /* Empty.swift in Sources */, - A74B3C0E1C9DCD9A00F938C4 /* Operators.swift in Sources */, - A711FD731CECF7A300659DB4 /* Lens.swift in Sources */, - CA3DFCD31BDFFB8000D30C27 /* Tuple.swift in Sources */, - A7AD8BC11C9DCBC200016122 /* Semigroup.swift in Sources */, - A7EFE1521C28B46900F4CFEB /* NumericType.swift in Sources */, - 9DCD74281D42A43500B238E5 /* Monoid.swift in Sources */, - A75EC8161CCBEB4F009BEC10 /* Bool.swift in Sources */, - A7B60BE91BFBF44000B7B7ED /* Dictionary.swift in Sources */, - A7CBAA6E1D69E9DE009D7B48 /* LensHolder.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CA0923FE1BB6291900C9EC88 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A7C5B8CA1E7F45F7001F9E62 /* TupleTests.swift in Sources */, - A7C5B8BE1E7F45F7001F9E62 /* EitherTests.swift in Sources */, - A7C5B8B61E7F45F7001F9E62 /* BooleanTests.swift in Sources */, - A7C5B8B81E7F45F7001F9E62 /* ComparableTests.swift in Sources */, - A7C5B8C61E7F45F7001F9E62 /* OrderingTests.swift in Sources */, - A7C5B8C81E7F45F7001F9E62 /* StringTests.swift in Sources */, - A7C5B8B41E7F45F7001F9E62 /* ArrayTests.swift in Sources */, - 80A0E1AF1EB02D4A00D69242 /* NonEmptyTests.swift in Sources */, - A7C5B8BA1E7F45F7001F9E62 /* ComparatorTests.swift in Sources */, - A7C5B8C41E7F45F7001F9E62 /* OptionalTests.swift in Sources */, - A7C5B8CC1E7F45F7001F9E62 /* UnitTests.swift in Sources */, - A7C5B8BC1E7F45F7001F9E62 /* DictionaryTest.swift in Sources */, - A7C5B8C01E7F45F7001F9E62 /* FunctionTest.swift in Sources */, - A7C5B8C21E7F45F7001F9E62 /* LensTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 8023ED2E1E9AC7660044504B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "Runes-iOS"; - targetProxy = 8023ED2D1E9AC7660044504B /* PBXContainerItemProxy */; - }; - 8023ED301E9AC76C0044504B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "Runes-tvOS"; - targetProxy = 8023ED2F1E9AC76C0044504B /* PBXContainerItemProxy */; - }; - A70969141D14373400DB39D3 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = A70969071D14373400DB39D3 /* Prelude-UIKit-tvOS */; - targetProxy = A70969131D14373400DB39D3 /* PBXContainerItemProxy */; - }; - A70969321D14383400DB39D3 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = CA0923F71BB6291900C9EC88 /* Prelude-tvOS */; - targetProxy = A70969311D14383400DB39D3 /* PBXContainerItemProxy */; - }; A727E02E1D0796D700D8FE43 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = A727E0211D0796D600D8FE43 /* Prelude-UIKit-iOS */; + target = A727E0211D0796D600D8FE43 /* Prelude-UIKit */; targetProxy = A727E02D1D0796D700D8FE43 /* PBXContainerItemProxy */; }; - A727E04D1D07974300D8FE43 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = A7FD084C1C81E1DA00332CCB /* Prelude-iOS */; - targetProxy = A727E04C1D07974300D8FE43 /* PBXContainerItemProxy */; - }; A7FD087E1C81E27800332CCB /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = A7FD084C1C81E1DA00332CCB /* Prelude-iOS */; + target = A7FD084C1C81E1DA00332CCB /* Prelude */; targetProxy = A7FD087D1C81E27800332CCB /* PBXContainerItemProxy */; }; - CA0924051BB6291900C9EC88 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = CA0923F71BB6291900C9EC88 /* Prelude-tvOS */; - targetProxy = CA0924041BB6291900C9EC88 /* PBXContainerItemProxy */; - }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - A70969191D14373400DB39D3 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Prelude/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.Prelude-UIKit-tvOS"; - PRODUCT_NAME = Prelude_UIKit; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - A709691A1D14373400DB39D3 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Prelude/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.Prelude-UIKit-tvOS"; - PRODUCT_NAME = Prelude_UIKit; - SKIP_INSTALL = YES; - }; - name = Release; - }; - A709691B1D14373400DB39D3 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ENABLE_MODULES = YES; - INFOPLIST_FILE = Prelude/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.Prelude-UIKit-tvOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - A709691C1D14373400DB39D3 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ENABLE_MODULES = YES; - INFOPLIST_FILE = Prelude/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.Prelude-UIKit-tvOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; A727E0331D0796D700D8FE43 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Prelude/Info.plist; + INFOPLIST_FILE = Sources/Prelude/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; OTHER_SWIFT_FLAGS = "-Xfrontend -debug-time-function-bodies -Onone"; PRODUCT_BUNDLE_IDENTIFIER = "com.Prelude-UIKit-iOS"; @@ -1326,14 +729,15 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; - CODE_SIGN_IDENTITY = "iPhone Distribution"; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Prelude/Info.plist; + INFOPLIST_FILE = Sources/Prelude/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "com.Prelude-UIKit-iOS"; PRODUCT_NAME = Prelude_UIKit; @@ -1351,13 +755,15 @@ CLANG_ANALYZER_NONNULL = YES; CLANG_ENABLE_MODULES = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - INFOPLIST_FILE = Prelude/Info.plist; + INFOPLIST_FILE = Sources/Prelude/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "com.Prelude-UIKit-iOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_SWIFT3_OBJC_INFERENCE = Default; + TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; @@ -1368,12 +774,14 @@ CLANG_ANALYZER_NONNULL = YES; CLANG_ENABLE_MODULES = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - INFOPLIST_FILE = Prelude/Info.plist; + INFOPLIST_FILE = Sources/Prelude/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "com.Prelude-UIKit-iOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; SWIFT_SWIFT3_OBJC_INFERENCE = Default; + TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; }; @@ -1381,13 +789,14 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_MODULES = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Prelude/Info.plist; + INFOPLIST_FILE = Sources/Prelude/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; OTHER_SWIFT_FLAGS = "-Xfrontend -debug-time-function-bodies -Onone"; PRODUCT_BUNDLE_IDENTIFIER = com.kickstarter.Prelude; @@ -1401,13 +810,14 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_MODULES = YES; - CODE_SIGN_IDENTITY = "iPhone Distribution"; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Prelude/Info.plist; + INFOPLIST_FILE = Sources/Prelude/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.kickstarter.Prelude; SDKROOT = iphoneos; @@ -1421,7 +831,8 @@ buildSettings = { APPLICATION_EXTENSION_API_ONLY = NO; CLANG_ENABLE_MODULES = YES; - INFOPLIST_FILE = Prelude/Info.plist; + INFOPLIST_FILE = Sources/Prelude/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.kickstarter.PreludeTests; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1436,7 +847,8 @@ buildSettings = { APPLICATION_EXTENSION_API_ONLY = NO; CLANG_ENABLE_MODULES = YES; - INFOPLIST_FILE = Prelude/Info.plist; + INFOPLIST_FILE = Sources/Prelude/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.kickstarter.PreludeTests; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1450,6 +862,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -1468,6 +881,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -1479,6 +893,7 @@ ENABLE_BITCODE = YES; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; + ENABLE_TESTING_SEARCH_PATHS = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -1493,7 +908,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.4; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; OTHER_SWIFT_FLAGS = "-Xfrontend -warn-long-function-bodies=100"; @@ -1503,8 +918,8 @@ STRIP_BITCODE_FROM_COPIED_FILES = NO; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 11.4; + TARGETED_DEVICE_FAMILY = "1,2"; + TVOS_DEPLOYMENT_TARGET = 12.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; @@ -1515,6 +930,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; APPLICATION_EXTENSION_API_ONLY = YES; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -1533,6 +949,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -1544,6 +961,7 @@ ENABLE_BITCODE = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTING_SEARCH_PATHS = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -1552,7 +970,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.4; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; MTL_ENABLE_DEBUG_INFO = NO; OTHER_SWIFT_FLAGS = "-Xfrontend -warn-long-function-bodies=100"; PRODUCT_NAME = Prelude; @@ -1561,93 +979,18 @@ STRIP_BITCODE_FROM_COPIED_FILES = NO; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 11.4; + TARGETED_DEVICE_FAMILY = "1,2"; + TVOS_DEPLOYMENT_TARGET = 12.0; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; - CA09240D1BB6291900C9EC88 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Prelude/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.kickstarter.Prelude; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - CA09240E1BB6291900C9EC88 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = Prelude/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.kickstarter.Prelude; - SKIP_INSTALL = YES; - }; - name = Release; - }; - CA0924101BB6291900C9EC88 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = NO; - CLANG_ENABLE_MODULES = YES; - INFOPLIST_FILE = Prelude/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.kickstarter.PreludeTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - CA0924111BB6291900C9EC88 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - APPLICATION_EXTENSION_API_ONLY = NO; - CLANG_ENABLE_MODULES = YES; - INFOPLIST_FILE = Prelude/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.kickstarter.PreludeTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - A709691D1D14373400DB39D3 /* Build configuration list for PBXNativeTarget "Prelude-UIKit-tvOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A70969191D14373400DB39D3 /* Debug */, - A709691A1D14373400DB39D3 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - A709691E1D14373400DB39D3 /* Build configuration list for PBXNativeTarget "Prelude-UIKit-tvOSTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A709691B1D14373400DB39D3 /* Debug */, - A709691C1D14373400DB39D3 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - A727E0371D0796D700D8FE43 /* Build configuration list for PBXNativeTarget "Prelude-UIKit-iOS" */ = { + A727E0371D0796D700D8FE43 /* Build configuration list for PBXNativeTarget "Prelude-UIKit" */ = { isa = XCConfigurationList; buildConfigurations = ( A727E0331D0796D700D8FE43 /* Debug */, @@ -1656,7 +999,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A727E0381D0796D700D8FE43 /* Build configuration list for PBXNativeTarget "Prelude-UIKit-iOSTests" */ = { + A727E0381D0796D700D8FE43 /* Build configuration list for PBXNativeTarget "Prelude-UIKitTests" */ = { isa = XCConfigurationList; buildConfigurations = ( A727E0351D0796D700D8FE43 /* Debug */, @@ -1665,7 +1008,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A7FD085E1C81E1DA00332CCB /* Build configuration list for PBXNativeTarget "Prelude-iOS" */ = { + A7FD085E1C81E1DA00332CCB /* Build configuration list for PBXNativeTarget "Prelude" */ = { isa = XCConfigurationList; buildConfigurations = ( A7FD085F1C81E1DA00332CCB /* Debug */, @@ -1674,7 +1017,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A7FD08751C81E24A00332CCB /* Build configuration list for PBXNativeTarget "Prelude-iOSTests" */ = { + A7FD08751C81E24A00332CCB /* Build configuration list for PBXNativeTarget "PreludeTests" */ = { isa = XCConfigurationList; buildConfigurations = ( A7FD08761C81E24A00332CCB /* Debug */, @@ -1692,24 +1035,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - CA09240C1BB6291900C9EC88 /* Build configuration list for PBXNativeTarget "Prelude-tvOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CA09240D1BB6291900C9EC88 /* Debug */, - CA09240E1BB6291900C9EC88 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - CA09240F1BB6291900C9EC88 /* Build configuration list for PBXNativeTarget "Prelude-tvOSTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - CA0924101BB6291900C9EC88 /* Debug */, - CA0924111BB6291900C9EC88 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; /* End XCConfigurationList section */ }; rootObject = CA0923EF1BB6291800C9EC88 /* Project object */; diff --git a/Prelude.xcodeproj/xcshareddata/xcschemes/Prelude-UIKit-iOS.xcscheme b/Prelude.xcodeproj/xcshareddata/xcschemes/Prelude-UIKit-iOS.xcscheme index 7660530..fb65f91 100644 --- a/Prelude.xcodeproj/xcshareddata/xcschemes/Prelude-UIKit-iOS.xcscheme +++ b/Prelude.xcodeproj/xcshareddata/xcschemes/Prelude-UIKit-iOS.xcscheme @@ -1,6 +1,6 @@ @@ -26,7 +26,6 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - codeCoverageEnabled = "YES" shouldUseLaunchSchemeArgsEnv = "YES"> - - - - - - - - - - - - diff --git a/Prelude.xcodeproj/xcshareddata/xcschemes/Prelude-UIKit-tvOS.xcscheme b/Prelude.xcodeproj/xcshareddata/xcschemes/Prelude-UIKit-tvOS.xcscheme deleted file mode 100644 index be3b83e..0000000 --- a/Prelude.xcodeproj/xcshareddata/xcschemes/Prelude-UIKit-tvOS.xcscheme +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Prelude.xcodeproj/xcshareddata/xcschemes/Prelude-iOS.xcscheme b/Prelude.xcodeproj/xcshareddata/xcschemes/Prelude-iOS.xcscheme index 7ff72a3..10fe0aa 100644 --- a/Prelude.xcodeproj/xcshareddata/xcschemes/Prelude-iOS.xcscheme +++ b/Prelude.xcodeproj/xcshareddata/xcschemes/Prelude-iOS.xcscheme @@ -1,6 +1,6 @@ - - - - @@ -40,7 +26,6 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - codeCoverageEnabled = "YES" shouldUseLaunchSchemeArgsEnv = "YES"> - - - - - - - - - - - - diff --git a/Prelude.xcodeproj/xcshareddata/xcschemes/Prelude-tvOS.xcscheme b/Prelude.xcodeproj/xcshareddata/xcschemes/Prelude-tvOS.xcscheme deleted file mode 100644 index db427fb..0000000 --- a/Prelude.xcodeproj/xcshareddata/xcschemes/Prelude-tvOS.xcscheme +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Prelude-UIKit/LensHolder.swift b/Sources/Prelude-UIKit/LensHolder.swift similarity index 100% rename from Prelude-UIKit/LensHolder.swift rename to Sources/Prelude-UIKit/LensHolder.swift diff --git a/Prelude-UIKit/UIButton.swift b/Sources/Prelude-UIKit/UIButton.swift similarity index 100% rename from Prelude-UIKit/UIButton.swift rename to Sources/Prelude-UIKit/UIButton.swift diff --git a/Prelude-UIKit/UIEdgeInsets.swift b/Sources/Prelude-UIKit/UIEdgeInsets.swift similarity index 100% rename from Prelude-UIKit/UIEdgeInsets.swift rename to Sources/Prelude-UIKit/UIEdgeInsets.swift diff --git a/Prelude-UIKit/UIImage.swift b/Sources/Prelude-UIKit/UIImage.swift similarity index 100% rename from Prelude-UIKit/UIImage.swift rename to Sources/Prelude-UIKit/UIImage.swift diff --git a/Prelude-UIKit/UITraitCollection.swift b/Sources/Prelude-UIKit/UITraitCollection.swift similarity index 100% rename from Prelude-UIKit/UITraitCollection.swift rename to Sources/Prelude-UIKit/UITraitCollection.swift diff --git a/Prelude-UIKit/lenses/CALayerLenses.swift b/Sources/Prelude-UIKit/lenses/CALayerLenses.swift similarity index 100% rename from Prelude-UIKit/lenses/CALayerLenses.swift rename to Sources/Prelude-UIKit/lenses/CALayerLenses.swift diff --git a/Prelude-UIKit/lenses/CGPointLenses.swift b/Sources/Prelude-UIKit/lenses/CGPointLenses.swift similarity index 91% rename from Prelude-UIKit/lenses/CGPointLenses.swift rename to Sources/Prelude-UIKit/lenses/CGPointLenses.swift index 54e8e40..e13a404 100644 --- a/Prelude-UIKit/lenses/CGPointLenses.swift +++ b/Sources/Prelude-UIKit/lenses/CGPointLenses.swift @@ -15,3 +15,4 @@ extension CGPoint { ) } } +// swiftlint:enable type_name diff --git a/Prelude-UIKit/lenses/CGRectLenses.swift b/Sources/Prelude-UIKit/lenses/CGRectLenses.swift similarity index 97% rename from Prelude-UIKit/lenses/CGRectLenses.swift rename to Sources/Prelude-UIKit/lenses/CGRectLenses.swift index fa3fe9f..caa62b9 100644 --- a/Prelude-UIKit/lenses/CGRectLenses.swift +++ b/Sources/Prelude-UIKit/lenses/CGRectLenses.swift @@ -42,3 +42,4 @@ extension Lens where Whole == CGRect, Part == CGSize { return _height } } +// swiftlint:enable type_name diff --git a/Prelude-UIKit/lenses/CGSizeLenses.swift b/Sources/Prelude-UIKit/lenses/CGSizeLenses.swift similarity index 92% rename from Prelude-UIKit/lenses/CGSizeLenses.swift rename to Sources/Prelude-UIKit/lenses/CGSizeLenses.swift index 56d9a6e..cfbe80f 100644 --- a/Prelude-UIKit/lenses/CGSizeLenses.swift +++ b/Sources/Prelude-UIKit/lenses/CGSizeLenses.swift @@ -15,3 +15,4 @@ extension CGSize { ) } } +// swiftlint:enable type_name diff --git a/Prelude-UIKit/lenses/NSMutableParagraphStyleLenses.swift b/Sources/Prelude-UIKit/lenses/NSMutableParagraphStyleLenses.swift similarity index 100% rename from Prelude-UIKit/lenses/NSMutableParagraphStyleLenses.swift rename to Sources/Prelude-UIKit/lenses/NSMutableParagraphStyleLenses.swift diff --git a/Prelude-UIKit/lenses/NSObject.swift b/Sources/Prelude-UIKit/lenses/NSObject.swift similarity index 100% rename from Prelude-UIKit/lenses/NSObject.swift rename to Sources/Prelude-UIKit/lenses/NSObject.swift diff --git a/Prelude-UIKit/lenses/NSTextContainerLenses.swift b/Sources/Prelude-UIKit/lenses/NSTextContainerLenses.swift similarity index 86% rename from Prelude-UIKit/lenses/NSTextContainerLenses.swift rename to Sources/Prelude-UIKit/lenses/NSTextContainerLenses.swift index 779acaa..fbd6b5d 100644 --- a/Prelude-UIKit/lenses/NSTextContainerLenses.swift +++ b/Sources/Prelude-UIKit/lenses/NSTextContainerLenses.swift @@ -8,7 +8,7 @@ public protocol NSTextContainerProtocol: KSObjectProtocol { extension NSTextContainer: NSTextContainerProtocol {} public extension LensHolder where Object: NSTextContainerProtocol { - public var lineFragmentPadding: Lens { + var lineFragmentPadding: Lens { return Lens( view: { $0.lineFragmentPadding }, set: { $1.lineFragmentPadding = $0; return $1 } diff --git a/Prelude-UIKit/lenses/UIAccessibilityLenses.swift b/Sources/Prelude-UIKit/lenses/UIAccessibilityLenses.swift similarity index 69% rename from Prelude-UIKit/lenses/UIAccessibilityLenses.swift rename to Sources/Prelude-UIKit/lenses/UIAccessibilityLenses.swift index 99bde20..845de15 100644 --- a/Prelude-UIKit/lenses/UIAccessibilityLenses.swift +++ b/Sources/Prelude-UIKit/lenses/UIAccessibilityLenses.swift @@ -3,56 +3,56 @@ import UIKit // UIAccessibility public extension LensHolder where Object: KSObjectProtocol { - public var isAccessibilityElement: Lens { + var isAccessibilityElement: Lens { return Lens( view: { $0.isAccessibilityElement }, set: { $1.isAccessibilityElement = $0; return $1 } ) } - public var accessibilityElementsHidden: Lens { + var accessibilityElementsHidden: Lens { return Lens( view: { $0.accessibilityElementsHidden }, set: { $1.accessibilityElementsHidden = $0; return $1 } ) } - public var accessibilityHint: Lens { + var accessibilityHint: Lens { return Lens( view: { $0.accessibilityHint }, set: { $1.accessibilityHint = $0; return $1 } ) } - public var accessibilityLabel: Lens { + var accessibilityLabel: Lens { return Lens( view: { $0.accessibilityLabel }, set: { $1.accessibilityLabel = $0; return $1 } ) } - public var accessibilityTraits: Lens { + var accessibilityTraits: Lens { return Lens( view: { $0.accessibilityTraits }, set: { $1.accessibilityTraits = $0; return $1 } ) } - public var accessibilityValue: Lens { + var accessibilityValue: Lens { return Lens( view: { $0.accessibilityValue }, set: { $1.accessibilityValue = $0; return $1 } ) } - public var shouldGroupAccessibilityChildren: Lens { + var shouldGroupAccessibilityChildren: Lens { return Lens( view: { $0.shouldGroupAccessibilityChildren }, set: { $1.shouldGroupAccessibilityChildren = $0; return $1 } ) } - public var accessibilityNavigationStyle: Lens { + var accessibilityNavigationStyle: Lens { return Lens( view: { $0.accessibilityNavigationStyle }, set: { $1.accessibilityNavigationStyle = $0; return $1 } @@ -62,7 +62,7 @@ public extension LensHolder where Object: KSObjectProtocol { // UIAccessibilityContainer public extension LensHolder where Object: NSObject { - public var accessibilityElements: Lens { + var accessibilityElements: Lens { return Lens( view: { $0.accessibilityElements }, set: { $1.accessibilityElements = $0; return $1 } diff --git a/Prelude-UIKit/lenses/UIActivityIndicatorViewLenses.swift b/Sources/Prelude-UIKit/lenses/UIActivityIndicatorViewLenses.swift similarity index 74% rename from Prelude-UIKit/lenses/UIActivityIndicatorViewLenses.swift rename to Sources/Prelude-UIKit/lenses/UIActivityIndicatorViewLenses.swift index 2c5bde4..fc31f51 100644 --- a/Prelude-UIKit/lenses/UIActivityIndicatorViewLenses.swift +++ b/Sources/Prelude-UIKit/lenses/UIActivityIndicatorViewLenses.swift @@ -14,28 +14,30 @@ extension UIActivityIndicatorView: UIActivityIndicatorViewProtocol {} public extension LensHolder where Object: UIActivityIndicatorViewProtocol { - public var style: Lens { + var style: Lens { return Lens( view: { $0.style }, set: { $1.style = $0; return $1 } ) } - public var animating: Lens { + var animating: Lens { return Lens( view: { $0.isAnimating }, - set: { $0 ? $1.startAnimating() : $1.stopAnimating(); return $1 } + set: { if $0 { $1.startAnimating() } else { $1.stopAnimating(); } + return $1 + } ) } - public var color: Lens { + var color: Lens { return Lens( view: { $0.color }, set: { $1.color = $0; return $1 } ) } - public var hidesWhenStopped: Lens { + var hidesWhenStopped: Lens { return Lens( view: { $0.hidesWhenStopped }, set: { $1.hidesWhenStopped = $0; return $1 } diff --git a/Prelude-UIKit/lenses/UIBarButtonItemLenses.swift b/Sources/Prelude-UIKit/lenses/UIBarButtonItemLenses.swift similarity index 79% rename from Prelude-UIKit/lenses/UIBarButtonItemLenses.swift rename to Sources/Prelude-UIKit/lenses/UIBarButtonItemLenses.swift index efa1fec..3698e85 100644 --- a/Prelude-UIKit/lenses/UIBarButtonItemLenses.swift +++ b/Sources/Prelude-UIKit/lenses/UIBarButtonItemLenses.swift @@ -31,35 +31,35 @@ public protocol UIBarButtonItemProtocol: UIBarItemProtocol { extension UIBarButtonItem: UIBarButtonItemProtocol {} public extension LensHolder where Object: UIBarButtonItemProtocol { - public var style: Lens { + var style: Lens { return Lens( view: { $0.style }, set: { $1.style = $0; return $1 } ) } - public var width: Lens { + var width: Lens { return Lens( view: { $0.width }, set: { $1.width = $0; return $1 } ) } - public var possibleTitles: Lens?> { + var possibleTitles: Lens?> { return Lens( view: { $0.possibleTitles }, set: { $1.possibleTitles = $0; return $1 } ) } - public var customView: Lens { + var customView: Lens { return Lens( view: { $0.customView }, set: { $1.customView = $0; return $1 } ) } - public var targetAction: Lens { + var targetAction: Lens { return Lens( view: { item in guard let target = item.target, let action = item.action else { return nil } @@ -69,7 +69,7 @@ public extension LensHolder where Object: UIBarButtonItemProtocol { ) } - public func backgroundImage(forState state: UIControl.State, barMetrics: UIBarMetrics) + func backgroundImage(forState state: UIControl.State, barMetrics: UIBarMetrics) -> Lens { return Lens( @@ -78,23 +78,23 @@ public extension LensHolder where Object: UIBarButtonItemProtocol { ) } - public func backgroundImage(forState state: UIControl.State, - style: UIBarButtonItem.Style, - barMetrics: UIBarMetrics) -> Lens { + func backgroundImage(forState state: UIControl.State, + style: UIBarButtonItem.Style, + barMetrics: UIBarMetrics) -> Lens { return Lens( view: { $0.backgroundImage(for: state, style: style, barMetrics: barMetrics) }, set: { $1.setBackgroundImage($0, for: state, style: style, barMetrics: barMetrics); return $1 } ) } - public var tintColor: Lens { + var tintColor: Lens { return Lens( view: { $0.tintColor }, set: { $1.tintColor = $0; return $1 } ) } - public func backgroundVerticalPositionAdjustment(forBarMetrics barMetrics: UIBarMetrics) + func backgroundVerticalPositionAdjustment(forBarMetrics barMetrics: UIBarMetrics) -> Lens { return Lens( @@ -103,14 +103,14 @@ public extension LensHolder where Object: UIBarButtonItemProtocol { ) } - public func titlePositionAdjustment(forBarMetrics barMetrics: UIBarMetrics) -> Lens { + func titlePositionAdjustment(forBarMetrics barMetrics: UIBarMetrics) -> Lens { return Lens( view: { $0.titlePositionAdjustment(for: barMetrics) }, set: { $1.setTitlePositionAdjustment($0, for: barMetrics); return $1 } ) } - public func backButtonBackgroundImage(forState state: UIControl.State, barMetrics: UIBarMetrics) + func backButtonBackgroundImage(forState state: UIControl.State, barMetrics: UIBarMetrics) -> Lens { return Lens( @@ -119,7 +119,7 @@ public extension LensHolder where Object: UIBarButtonItemProtocol { ) } - public func backButtonTitlePositionAdjustment(forBarMetrics barMetrics: UIBarMetrics) + func backButtonTitlePositionAdjustment(forBarMetrics barMetrics: UIBarMetrics) -> Lens { return Lens( @@ -128,7 +128,7 @@ public extension LensHolder where Object: UIBarButtonItemProtocol { ) } - public func backButtonBackgroundVerticalPositionAdjustment(forBarMetrics barMetrics: UIBarMetrics) + func backButtonBackgroundVerticalPositionAdjustment(forBarMetrics barMetrics: UIBarMetrics) -> Lens { return Lens( diff --git a/Prelude-UIKit/lenses/UIBarItemLenses.swift b/Sources/Prelude-UIKit/lenses/UIBarItemLenses.swift similarity index 83% rename from Prelude-UIKit/lenses/UIBarItemLenses.swift rename to Sources/Prelude-UIKit/lenses/UIBarItemLenses.swift index bc129ba..95cb8c4 100644 --- a/Prelude-UIKit/lenses/UIBarItemLenses.swift +++ b/Sources/Prelude-UIKit/lenses/UIBarItemLenses.swift @@ -27,14 +27,14 @@ extension UIBarItem: UIBarItemProtocol { public extension LensHolder where Object: UIBarItemProtocol { - public var image: Lens { + var image: Lens { return Lens( view: { $0.image }, set: { $1.image = $0; return $1 } ) } - public func titleTextAttributes(for state: UIControl.State) + func titleTextAttributes(for state: UIControl.State) -> Lens { return Lens( view: { $0.titleTextAttributes(for: state) }, @@ -42,42 +42,42 @@ public extension LensHolder where Object: UIBarItemProtocol { ) } - public var imageInsets: Lens { + var imageInsets: Lens { return Lens( view: { $0.imageInsets }, set: { $1.imageInsets = $0; return $1 } ) } - public var isEnabled: Lens { + var isEnabled: Lens { return Lens( view: { $0.isEnabled }, set: { $1.isEnabled = $0; return $1 } ) } - public var landscapeImagePhone: Lens { + var landscapeImagePhone: Lens { return Lens( view: { $0.landscapeImagePhone }, set: { $1.landscapeImagePhone = $0; return $1 } ) } - public var landscapeImagePhoneInsets: Lens { + var landscapeImagePhoneInsets: Lens { return Lens( view: { $0.landscapeImagePhoneInsets }, set: { $1.landscapeImagePhoneInsets = $0; return $1 } ) } - public var tag: Lens { + var tag: Lens { return Lens( view: { $0.tag }, set: { $1.tag = $0; return $1 } ) } - public var title: Lens { + var title: Lens { return Lens( view: { $0.title }, set: { $1.title = $0; return $1 } diff --git a/Prelude-UIKit/lenses/UIButtonLenses.swift b/Sources/Prelude-UIKit/lenses/UIButtonLenses.swift similarity index 78% rename from Prelude-UIKit/lenses/UIButtonLenses.swift rename to Sources/Prelude-UIKit/lenses/UIButtonLenses.swift index fd44bec..17949fc 100644 --- a/Prelude-UIKit/lenses/UIButtonLenses.swift +++ b/Sources/Prelude-UIKit/lenses/UIButtonLenses.swift @@ -26,91 +26,91 @@ public protocol UIButtonProtocol: UIControlProtocol { extension UIButton: UIButtonProtocol {} public extension LensHolder where Object: UIButtonProtocol { - public var adjustsImageWhenDisabled: Lens { + var adjustsImageWhenDisabled: Lens { return Lens( view: { $0.adjustsImageWhenDisabled }, set: { $1.adjustsImageWhenDisabled = $0; return $1 } ) } - public var adjustsImageWhenHighlighted: Lens { + var adjustsImageWhenHighlighted: Lens { return Lens( view: { $0.adjustsImageWhenHighlighted }, set: { $1.adjustsImageWhenHighlighted = $0; return $1 } ) } - public func attributedTitle(for state: UIControl.State) -> Lens { + func attributedTitle(for state: UIControl.State) -> Lens { return Lens( view: { $0.attributedTitle(for: state) ?? NSAttributedString(string: "") }, set: { $1.setAttributedTitle($0, for: state); return $1 } ) } - public func backgroundColor(for state: UIControl.State) -> Lens { + func backgroundColor(for state: UIControl.State) -> Lens { return Lens( view: { _ in .clear }, set: { $1.setBackgroundColor($0, for: state); return $1 } ) } - public func backgroundImage(for state: UIControl.State) -> Lens { + func backgroundImage(for state: UIControl.State) -> Lens { return Lens( view: { $0.backgroundImage(for: state) }, set: { $1.setBackgroundImage($0, for: state); return $1 } ) } - public var contentEdgeInsets: Lens { + var contentEdgeInsets: Lens { return Lens( view: { $0.contentEdgeInsets }, set: { $1.contentEdgeInsets = $0; return $1 } ) } - public var imageEdgeInsets: Lens { + var imageEdgeInsets: Lens { return Lens( view: { $0.imageEdgeInsets }, set: { $1.imageEdgeInsets = $0; return $1 } ) } - public func image(for state: UIControl.State) -> Lens { + func image(for state: UIControl.State) -> Lens { return Lens( view: { $0.image(for: state) }, set: { $1.setImage($0, for: state); return $1 } ) } - public var imageView: Lens { + var imageView: Lens { return Lens( view: { $0.imageView }, set: { $1 } ) } - public func titleColor(for state: UIControl.State) -> Lens { + func titleColor(for state: UIControl.State) -> Lens { return Lens( view: { $0.titleColor(for: state) ?? .clear }, set: { $1.setTitleColor($0, for: state); return $1 } ) } - public var titleEdgeInsets: Lens { + var titleEdgeInsets: Lens { return Lens( view: { $0.titleEdgeInsets }, set: { $1.titleEdgeInsets = $0; return $1 } ) } - public var titleLabel: Lens { + var titleLabel: Lens { return Lens( view: { $0.titleLabel! }, set: { $1 } ) } - public func title(for state: UIControl.State) -> Lens { + func title(for state: UIControl.State) -> Lens { return Lens( view: { $0.title(for: state) }, set: { $1.setTitle($0, for: state); return $1 } diff --git a/Prelude-UIKit/lenses/UIControlLenses.swift b/Sources/Prelude-UIKit/lenses/UIControlLenses.swift similarity index 87% rename from Prelude-UIKit/lenses/UIControlLenses.swift rename to Sources/Prelude-UIKit/lenses/UIControlLenses.swift index ea3f26c..b8c5897 100644 --- a/Prelude-UIKit/lenses/UIControlLenses.swift +++ b/Sources/Prelude-UIKit/lenses/UIControlLenses.swift @@ -20,7 +20,7 @@ extension UIControl: UIControlProtocol {} public extension LensHolder where Object: UIControlProtocol { - public var targets: Lens { + var targets: Lens { return Lens( view: allTargetsSelectorsAndEvents(for:), set: { targets, control in @@ -31,35 +31,35 @@ public extension LensHolder where Object: UIControlProtocol { ) } - public var contentHorizontalAlignment: Lens { + var contentHorizontalAlignment: Lens { return Lens( view: { $0.contentHorizontalAlignment }, set: { $1.contentHorizontalAlignment = $0; return $1 } ) } - public var contentVerticalAlignment: Lens { + var contentVerticalAlignment: Lens { return Lens( view: { $0.contentVerticalAlignment }, set: { $1.contentVerticalAlignment = $0; return $1 } ) } - public var isEnabled: Lens { + var isEnabled: Lens { return Lens( view: { $0.isEnabled }, set: { $1.isEnabled = $0; return $1 } ) } - public var isHighlighted: Lens { + var isHighlighted: Lens { return Lens( view: { $0.isHighlighted }, set: { $1.isHighlighted = $0; return $1 } ) } - public var isSelected: Lens { + var isSelected: Lens { return Lens( view: { $0.isSelected }, set: { $1.isSelected = $0; return $1 } diff --git a/Prelude-UIKit/lenses/UIEdgeInsetsLenses.swift b/Sources/Prelude-UIKit/lenses/UIEdgeInsetsLenses.swift similarity index 97% rename from Prelude-UIKit/lenses/UIEdgeInsetsLenses.swift rename to Sources/Prelude-UIKit/lenses/UIEdgeInsetsLenses.swift index 8a121e5..e42abbc 100644 --- a/Prelude-UIKit/lenses/UIEdgeInsetsLenses.swift +++ b/Sources/Prelude-UIKit/lenses/UIEdgeInsetsLenses.swift @@ -35,3 +35,4 @@ extension UIEdgeInsets { ) } } +// swiftlint:enable type_name diff --git a/Prelude-UIKit/lenses/UIImageViewLenses.swift b/Sources/Prelude-UIKit/lenses/UIImageViewLenses.swift similarity index 100% rename from Prelude-UIKit/lenses/UIImageViewLenses.swift rename to Sources/Prelude-UIKit/lenses/UIImageViewLenses.swift diff --git a/Prelude-UIKit/lenses/UILabelLenses.swift b/Sources/Prelude-UIKit/lenses/UILabelLenses.swift similarity index 76% rename from Prelude-UIKit/lenses/UILabelLenses.swift rename to Sources/Prelude-UIKit/lenses/UILabelLenses.swift index fa9e5a6..16a8307 100644 --- a/Prelude-UIKit/lenses/UILabelLenses.swift +++ b/Sources/Prelude-UIKit/lenses/UILabelLenses.swift @@ -16,63 +16,63 @@ public protocol UILabelProtocol: UIViewProtocol { extension UILabel: UILabelProtocol {} public extension LensHolder where Object: UILabelProtocol { - public var adjustsFontSizeToFitWidth: Lens { + var adjustsFontSizeToFitWidth: Lens { return Lens( view: { $0.adjustsFontSizeToFitWidth }, set: { $1.adjustsFontSizeToFitWidth = $0; return $1; } ) } - public var attributedText: Lens { + var attributedText: Lens { return Lens( view: { $0.attributedText }, set: { $1.attributedText = $0; return $1; } ) } - public var font: Lens { + var font: Lens { return Lens( view: { $0.font }, set: { $1.font = $0; return $1; } ) } - public var lineBreakMode: Lens { + var lineBreakMode: Lens { return Lens( view: { $0.lineBreakMode }, set: { $1.lineBreakMode = $0; return $1; } ) } - public var minimumScaleFactor: Lens { + var minimumScaleFactor: Lens { return Lens( view: { $0.minimumScaleFactor }, set: { $1.minimumScaleFactor = $0; return $1; } ) } - public var numberOfLines: Lens { + var numberOfLines: Lens { return Lens( view: { $0.numberOfLines }, set: { $1.numberOfLines = $0; return $1; } ) } - public var text: Lens { + var text: Lens { return Lens( view: { $0.text ?? "" }, set: { $1.text = $0; return $1; } ) } - public var textAlignment: Lens { + var textAlignment: Lens { return Lens( view: { $0.textAlignment }, set: { $1.textAlignment = $0; return $1; } ) } - public var textColor: Lens { + var textColor: Lens { return Lens( view: { $0.textColor }, set: { $1.textColor = $0; return $1; } diff --git a/Prelude-UIKit/lenses/UINavigationBarLenses.swift b/Sources/Prelude-UIKit/lenses/UINavigationBarLenses.swift similarity index 54% rename from Prelude-UIKit/lenses/UINavigationBarLenses.swift rename to Sources/Prelude-UIKit/lenses/UINavigationBarLenses.swift index d790d33..bcdb460 100644 --- a/Prelude-UIKit/lenses/UINavigationBarLenses.swift +++ b/Sources/Prelude-UIKit/lenses/UINavigationBarLenses.swift @@ -8,41 +8,61 @@ public protocol UINavigationBarProtocol: UIViewProtocol { var shadowImage: UIImage? { get set } var titleTextAttributes: [NSAttributedString.Key: Any]? { get set } var isTranslucent: Bool { get set } + @available(iOS 13.0, *) + var standardAppearance: UINavigationBarAppearance { get set } + @available(iOS 13.0, *) + var scrollEdgeAppearance: UINavigationBarAppearance? { get set } } public extension LensHolder where Object: UINavigationBarProtocol { - public func backgroundImage(for barMetrics: UIBarMetrics) -> Lens { + func backgroundImage(for barMetrics: UIBarMetrics) -> Lens { return Lens( view: { $0.backgroundImage(for: barMetrics) }, set: { $1.setBackgroundImage($0, for: barMetrics); return $1 } ) } - public var barTintColor: Lens { + var barTintColor: Lens { return Lens( view: { $0.barTintColor }, set: { $1.barTintColor = $0; return $1; } ) } - public var isTranslucent: Lens { + var isTranslucent: Lens { return Lens( view: { $0.isTranslucent }, set: { $1.isTranslucent = $0; return $1; } ) } - public var shadowImage: Lens { + var shadowImage: Lens { return Lens( view: { $0.shadowImage }, set: { $1.shadowImage = $0; return $1; } ) } - public var titleTextAttributes: Lens { + var titleTextAttributes: Lens { return Lens( view: { $0.titleTextAttributes ?? [:] }, set: { $1.titleTextAttributes = $0; return $1; } ) } + + @available(iOS 13.0, *) + var standardAppearance: Lens { + return Lens( + view: { $0.standardAppearance }, + set: { $1.standardAppearance = $0; return $1; } + ) + } + + @available(iOS 13.0, *) + var scrollEdgeAppearance: Lens { + return Lens( + view: { $0.scrollEdgeAppearance }, + set: { $1.scrollEdgeAppearance = $0; return $1; } + ) + } } diff --git a/Prelude-UIKit/lenses/UINavigationControllerLenses.swift b/Sources/Prelude-UIKit/lenses/UINavigationControllerLenses.swift similarity index 82% rename from Prelude-UIKit/lenses/UINavigationControllerLenses.swift rename to Sources/Prelude-UIKit/lenses/UINavigationControllerLenses.swift index eac21ee..1974007 100644 --- a/Prelude-UIKit/lenses/UINavigationControllerLenses.swift +++ b/Sources/Prelude-UIKit/lenses/UINavigationControllerLenses.swift @@ -13,28 +13,28 @@ extension UINavigationBar: UINavigationBarProtocol {} public extension LensHolder where Object: UINavigationControllerProtocol { - public var isNavigationBarHidden: Lens { + var isNavigationBarHidden: Lens { return Lens( view: { $0.isNavigationBarHidden }, set: { $1.isNavigationBarHidden = $0; return $1 } ) } - public var navigationBar: Lens { + var navigationBar: Lens { return Lens( view: { $0.navigationBar }, set: { $1 } ) } - public func setNavigationBarHidden(animated: Bool) -> Lens { + func setNavigationBarHidden(animated: Bool) -> Lens { return Lens( view: { $0.isNavigationBarHidden }, set: { $1.setNavigationBarHidden($0, animated: animated); return $1 } ) } - public var viewControllers: Lens { + var viewControllers: Lens { return Lens( view: { $0.viewControllers }, set: { $1.viewControllers = $0; return $1 } diff --git a/Prelude-UIKit/lenses/UINavigationItemLenses.swift b/Sources/Prelude-UIKit/lenses/UINavigationItemLenses.swift similarity index 88% rename from Prelude-UIKit/lenses/UINavigationItemLenses.swift rename to Sources/Prelude-UIKit/lenses/UINavigationItemLenses.swift index 7b02aa0..33ee90f 100644 --- a/Prelude-UIKit/lenses/UINavigationItemLenses.swift +++ b/Sources/Prelude-UIKit/lenses/UINavigationItemLenses.swift @@ -8,7 +8,7 @@ public protocol UINavigationItemProtocol: KSObjectProtocol { extension UINavigationItem: UINavigationItemProtocol {} public extension LensHolder where Object: UINavigationItemProtocol { - public var title: Lens { + var title: Lens { return Lens( view: { $0.title }, set: { $1.title = $0; return $1 } diff --git a/Prelude-UIKit/lenses/UIProgressViewLenses.swift b/Sources/Prelude-UIKit/lenses/UIProgressViewLenses.swift similarity index 82% rename from Prelude-UIKit/lenses/UIProgressViewLenses.swift rename to Sources/Prelude-UIKit/lenses/UIProgressViewLenses.swift index 12db2da..a46ed53 100644 --- a/Prelude-UIKit/lenses/UIProgressViewLenses.swift +++ b/Sources/Prelude-UIKit/lenses/UIProgressViewLenses.swift @@ -10,14 +10,14 @@ extension UIProgressView: UIProgressViewProtocol {} public extension LensHolder where Object: UIProgressViewProtocol { - public var progressViewStyle: Lens { + var progressViewStyle: Lens { return Lens( view: { $0.progressViewStyle }, set: { $1.progressViewStyle = $0; return $1 } ) } - public var progress: Lens { + var progress: Lens { return Lens( view: { $0.progress }, set: { $1.progress = $0; return $1 } diff --git a/Prelude-UIKit/lenses/UIScrollViewLenses.swift b/Sources/Prelude-UIKit/lenses/UIScrollViewLenses.swift similarity index 76% rename from Prelude-UIKit/lenses/UIScrollViewLenses.swift rename to Sources/Prelude-UIKit/lenses/UIScrollViewLenses.swift index e4551fb..5022f0f 100644 --- a/Prelude-UIKit/lenses/UIScrollViewLenses.swift +++ b/Sources/Prelude-UIKit/lenses/UIScrollViewLenses.swift @@ -19,42 +19,42 @@ extension UIScrollView: UIScrollViewProtocol {} public extension LensHolder where Object: UIScrollViewProtocol { - public var canCancelContentTouches: Lens { + var canCancelContentTouches: Lens { return Lens( view: { $0.canCancelContentTouches }, set: { $1.canCancelContentTouches = $0; return $1 } ) } - public var decelerationRate: Lens { + var decelerationRate: Lens { return Lens( view: { $0.decelerationRate }, set: { $1.decelerationRate = $0; return $1 } ) } - public var delaysContentTouches: Lens { + var delaysContentTouches: Lens { return Lens( view: { $0.delaysContentTouches }, set: { $1.delaysContentTouches = $0; return $1 } ) } - public var isScrollEnabled: Lens { + var isScrollEnabled: Lens { return Lens( view: { $0.isScrollEnabled }, set: { $1.isScrollEnabled = $0; return $1 } ) } - public var keyboardDismissMode: Lens { + var keyboardDismissMode: Lens { return Lens( view: { $0.keyboardDismissMode }, set: { $1.keyboardDismissMode = $0; return $1 } ) } - public var scrollIndicatorInsets: Lens { + var scrollIndicatorInsets: Lens { return Lens( view: { $0.scrollIndicatorInsets }, set: { $1.scrollIndicatorInsets = $0; return $1 } @@ -62,7 +62,7 @@ public extension LensHolder where Object: UIScrollViewProtocol { } #if os(iOS) - public var scrollsToTop: Lens { + var scrollsToTop: Lens { return Lens( view: { $0.scrollsToTop }, set: { $1.scrollsToTop = $0; return $1 } @@ -70,14 +70,14 @@ public extension LensHolder where Object: UIScrollViewProtocol { } #endif - public var showsHorizontalScrollIndicator: Lens { + var showsHorizontalScrollIndicator: Lens { return Lens( view: { $0.showsHorizontalScrollIndicator }, set: { $1.showsHorizontalScrollIndicator = $0; return $1 } ) } - public var showsVerticalScrollIndicator: Lens { + var showsVerticalScrollIndicator: Lens { return Lens( view: { $0.showsVerticalScrollIndicator }, set: { $1.showsVerticalScrollIndicator = $0; return $1 } diff --git a/Prelude-UIKit/lenses/UIStackViewLenses.swift b/Sources/Prelude-UIKit/lenses/UIStackViewLenses.swift similarity index 78% rename from Prelude-UIKit/lenses/UIStackViewLenses.swift rename to Sources/Prelude-UIKit/lenses/UIStackViewLenses.swift index 0f2bb56..0054142 100644 --- a/Prelude-UIKit/lenses/UIStackViewLenses.swift +++ b/Sources/Prelude-UIKit/lenses/UIStackViewLenses.swift @@ -15,14 +15,14 @@ public protocol UIStackViewProtocol: UIViewProtocol { extension UIStackView: UIStackViewProtocol {} public extension LensHolder where Object: UIStackViewProtocol { - public var alignment: Lens { + var alignment: Lens { return Lens( view: { $0.alignment }, set: { $1.alignment = $0; return $1 } ) } - public var arrangedSubviews: Lens { + var arrangedSubviews: Lens { return Lens( view: { $0.arrangedSubviews }, set: { @@ -34,7 +34,7 @@ public extension LensHolder where Object: UIStackViewProtocol { } #if os(iOS) - public var axis: Lens { + var axis: Lens { return Lens( view: { $0.axis }, set: { $1.axis = $0; return $1 } @@ -42,28 +42,28 @@ public extension LensHolder where Object: UIStackViewProtocol { } #endif - public var isBaselineRelativeArrangement: Lens { + var isBaselineRelativeArrangement: Lens { return Lens( view: { $0.isBaselineRelativeArrangement }, set: { $1.isBaselineRelativeArrangement = $0; return $1 } ) } - public var distribution: Lens { + var distribution: Lens { return Lens( view: { $0.distribution }, set: { $1.distribution = $0; return $1 } ) } - public var isLayoutMarginsRelativeArrangement: Lens { + var isLayoutMarginsRelativeArrangement: Lens { return Lens( view: { $0.isLayoutMarginsRelativeArrangement }, set: { $1.isLayoutMarginsRelativeArrangement = $0; return $1 } ) } - public var spacing: Lens { + var spacing: Lens { return Lens( view: { $0.spacing }, set: { $1.spacing = $0; return $1 } diff --git a/Prelude-UIKit/lenses/UIStepperLenses.swift b/Sources/Prelude-UIKit/lenses/UIStepperLenses.swift similarity index 81% rename from Prelude-UIKit/lenses/UIStepperLenses.swift rename to Sources/Prelude-UIKit/lenses/UIStepperLenses.swift index f5751eb..f86414c 100644 --- a/Prelude-UIKit/lenses/UIStepperLenses.swift +++ b/Sources/Prelude-UIKit/lenses/UIStepperLenses.swift @@ -12,14 +12,14 @@ public protocol UIStepperProtocol: UIControlProtocol { extension UIStepper: UIStepperProtocol { } public extension LensHolder where Object: UIStepperProtocol { - public func decrementImage(for state: UIControl.State) -> Lens { + func decrementImage(for state: UIControl.State) -> Lens { return Lens( view: { $0.decrementImage(for: state) }, set: { $1.setDecrementImage($0, for: state); return $1 } ) } - public func incrementImage(for state: UIControl.State) -> Lens { + func incrementImage(for state: UIControl.State) -> Lens { return Lens( view: { $0.incrementImage(for: state) }, set: { $1.setIncrementImage($0, for: state); return $1 } diff --git a/Prelude-UIKit/lenses/UISwitchLenses.swift b/Sources/Prelude-UIKit/lenses/UISwitchLenses.swift similarity index 80% rename from Prelude-UIKit/lenses/UISwitchLenses.swift rename to Sources/Prelude-UIKit/lenses/UISwitchLenses.swift index 519ae23..0d83dd4 100644 --- a/Prelude-UIKit/lenses/UISwitchLenses.swift +++ b/Sources/Prelude-UIKit/lenses/UISwitchLenses.swift @@ -14,28 +14,28 @@ extension UISwitch: UISwitchProtocol {} public extension LensHolder where Object: UISwitchProtocol { - public var isOn: Lens { + var isOn: Lens { return Lens( view: { $0.isOn }, set: { $1.isOn = $0; return $1; } ) } - public var onTintColor: Lens { + var onTintColor: Lens { return Lens( view: { $0.onTintColor }, set: { $1.onTintColor = $0; return $1; } ) } - public var thumbTintColor: Lens { + var thumbTintColor: Lens { return Lens( view: { $0.thumbTintColor }, set: { $1.thumbTintColor = $0; return $1; } ) } - public var tintColor: Lens { + var tintColor: Lens { return Lens( view: { $0.tintColor }, set: { $1.tintColor = $0; return $1; } diff --git a/Prelude-UIKit/lenses/UITabBarItemLenses.swift b/Sources/Prelude-UIKit/lenses/UITabBarItemLenses.swift similarity index 82% rename from Prelude-UIKit/lenses/UITabBarItemLenses.swift rename to Sources/Prelude-UIKit/lenses/UITabBarItemLenses.swift index d9a3a14..2e2779d 100644 --- a/Prelude-UIKit/lenses/UITabBarItemLenses.swift +++ b/Sources/Prelude-UIKit/lenses/UITabBarItemLenses.swift @@ -9,14 +9,14 @@ public protocol UITabBarItemProtocol: UIBarItemProtocol { extension UITabBarItem: UITabBarItemProtocol {} public extension LensHolder where Object: UITabBarItemProtocol { - public var selectedImage: Lens { + var selectedImage: Lens { return Lens( view: { $0.selectedImage }, set: { $1.selectedImage = $0; return $1 } ) } - public var titlePositionAdjustment: Lens { + var titlePositionAdjustment: Lens { return Lens( view: { $0.titlePositionAdjustment }, set: { $1.titlePositionAdjustment = $0; return $1 } diff --git a/Prelude-UIKit/lenses/UITabBarLenses.swift b/Sources/Prelude-UIKit/lenses/UITabBarLenses.swift similarity index 86% rename from Prelude-UIKit/lenses/UITabBarLenses.swift rename to Sources/Prelude-UIKit/lenses/UITabBarLenses.swift index 732b6da..ab343b1 100644 --- a/Prelude-UIKit/lenses/UITabBarLenses.swift +++ b/Sources/Prelude-UIKit/lenses/UITabBarLenses.swift @@ -8,7 +8,7 @@ public protocol UITabBarProtocol: UIViewProtocol { extension UITabBar: UITabBarProtocol {} public extension LensHolder where Object: UITabBarProtocol { - public var barTintColor: Lens { + var barTintColor: Lens { return Lens( view: { $0.barTintColor }, set: { $1.barTintColor = $0; return $1 } diff --git a/Prelude-UIKit/lenses/UITableViewCellLenses.swift b/Sources/Prelude-UIKit/lenses/UITableViewCellLenses.swift similarity index 84% rename from Prelude-UIKit/lenses/UITableViewCellLenses.swift rename to Sources/Prelude-UIKit/lenses/UITableViewCellLenses.swift index 7d3795a..f06558f 100644 --- a/Prelude-UIKit/lenses/UITableViewCellLenses.swift +++ b/Sources/Prelude-UIKit/lenses/UITableViewCellLenses.swift @@ -9,14 +9,14 @@ public protocol UITableViewCellProtocol: UIViewProtocol { extension UITableViewCell: UITableViewCellProtocol {} public extension LensHolder where Object: UITableViewCellProtocol { - public var contentView: Lens { + var contentView: Lens { return Lens( view: { $0.contentView }, set: { return $1 } ) } - public var selectionStyle: Lens { + var selectionStyle: Lens { return Lens( view: { $0.selectionStyle }, set: { $1.selectionStyle = $0; return $1 } diff --git a/Prelude-UIKit/lenses/UITableViewControllerLenses.swift b/Sources/Prelude-UIKit/lenses/UITableViewControllerLenses.swift similarity index 94% rename from Prelude-UIKit/lenses/UITableViewControllerLenses.swift rename to Sources/Prelude-UIKit/lenses/UITableViewControllerLenses.swift index ef8333e..3b545f7 100644 --- a/Prelude-UIKit/lenses/UITableViewControllerLenses.swift +++ b/Sources/Prelude-UIKit/lenses/UITableViewControllerLenses.swift @@ -9,7 +9,7 @@ extension UITableViewController: UITableViewControllerProtocol {} public extension LensHolder where Object: UITableViewControllerProtocol { - public var tableView: Lens { + var tableView: Lens { return Lens( view: { $0.tableView }, set: { $1.tableView = $0; return $1 } diff --git a/Prelude-UIKit/lenses/UITableViewLenses.swift b/Sources/Prelude-UIKit/lenses/UITableViewLenses.swift similarity index 76% rename from Prelude-UIKit/lenses/UITableViewLenses.swift rename to Sources/Prelude-UIKit/lenses/UITableViewLenses.swift index 48fad8e..7c8e7c0 100644 --- a/Prelude-UIKit/lenses/UITableViewLenses.swift +++ b/Sources/Prelude-UIKit/lenses/UITableViewLenses.swift @@ -21,56 +21,56 @@ extension UITableView: UITableViewProtocol {} public extension LensHolder where Object: UITableViewProtocol { - public var allowsMultipleSelection: Lens { + var allowsMultipleSelection: Lens { return Lens( view: { $0.allowsMultipleSelection }, set: { $1.allowsMultipleSelection = $0; return $1 } ) } - public var allowsMultipleSelectionDuringEditing: Lens { + var allowsMultipleSelectionDuringEditing: Lens { return Lens( view: { $0.allowsMultipleSelectionDuringEditing }, set: { $1.allowsMultipleSelectionDuringEditing = $0; return $1 } ) } - public var allowsSelection: Lens { + var allowsSelection: Lens { return Lens( view: { $0.allowsSelection }, set: { $1.allowsSelection = $0; return $1 } ) } - public var allowsSelectionDuringEditing: Lens { + var allowsSelectionDuringEditing: Lens { return Lens( view: { $0.allowsSelectionDuringEditing }, set: { $1.allowsSelectionDuringEditing = $0; return $1 } ) } - public var backgroundView: Lens { + var backgroundView: Lens { return Lens( view: { $0.backgroundView }, set: { $1.backgroundView = $0; return $1 } ) } - public var estimatedRowHeight: Lens { + var estimatedRowHeight: Lens { return Lens( view: { $0.estimatedRowHeight }, set: { $1.estimatedRowHeight = $0; return $1 } ) } - public var rowHeight: Lens { + var rowHeight: Lens { return Lens( view: { $0.rowHeight }, set: { $1.rowHeight = $0; return $1 } ) } - public var separatorInset: Lens { + var separatorInset: Lens { return Lens( view: { $0.separatorInset }, set: { $1.separatorInset = $0; return $1 } @@ -78,21 +78,21 @@ public extension LensHolder where Object: UITableViewProtocol { } #if os(iOS) - public var separatorColor: Lens { + var separatorColor: Lens { return Lens( view: { $0.separatorColor }, set: { $1.separatorColor = $0; return $1 } ) } - public var separatorEffect: Lens { + var separatorEffect: Lens { return Lens( view: { $0.separatorEffect }, set: { $1.separatorEffect = $0; return $1 } ) } - public var separatorStyle: Lens { + var separatorStyle: Lens { return Lens( view: { $0.separatorStyle }, set: { $1.separatorStyle = $0; return $1 } diff --git a/Prelude-UIKit/lenses/UITextFieldLenses.swift b/Sources/Prelude-UIKit/lenses/UITextFieldLenses.swift similarity index 77% rename from Prelude-UIKit/lenses/UITextFieldLenses.swift rename to Sources/Prelude-UIKit/lenses/UITextFieldLenses.swift index a60c2cb..d2ed64a 100644 --- a/Prelude-UIKit/lenses/UITextFieldLenses.swift +++ b/Sources/Prelude-UIKit/lenses/UITextFieldLenses.swift @@ -14,42 +14,42 @@ extension UITextField: UITextFieldProtocol {} public extension LensHolder where Object: UITextFieldProtocol { - public var borderStyle: Lens { + var borderStyle: Lens { return Lens( view: { $0.borderStyle }, set: { $1.borderStyle = $0; return $1 } ) } - public var font: Lens { + var font: Lens { return Lens( view: { $0.font }, set: { $1.font = $0; return $1 } ) } - public var placeholder: Lens { + var placeholder: Lens { return Lens( view: { $0.placeholder }, set: { $1.placeholder = $0; return $1 } ) } - public var textAlignment: Lens { + var textAlignment: Lens { return Lens( view: { $0.textAlignment }, set: { $1.textAlignment = $0; return $1 } ) } - public var textColor: Lens { + var textColor: Lens { return Lens( view: { $0.textColor }, set: { $1.textColor = $0; return $1 } ) } - public var text: Lens { + var text: Lens { return Lens( view: { $0.text }, set: { $1.text = $0; return $1 } diff --git a/Prelude-UIKit/lenses/UITextInputTraitsLenses.swift b/Sources/Prelude-UIKit/lenses/UITextInputTraitsLenses.swift similarity index 74% rename from Prelude-UIKit/lenses/UITextInputTraitsLenses.swift rename to Sources/Prelude-UIKit/lenses/UITextInputTraitsLenses.swift index 342c022..e5ac0ca 100644 --- a/Prelude-UIKit/lenses/UITextInputTraitsLenses.swift +++ b/Sources/Prelude-UIKit/lenses/UITextInputTraitsLenses.swift @@ -12,49 +12,49 @@ public protocol UITextInputTraitsProtocol: NSObjectProtocol { } public extension LensHolder where Object: UITextInputTraitsProtocol { - public var autocapitalizationType: Lens { + var autocapitalizationType: Lens { return Lens( view: { $0.autocapitalizationType }, set: { $1.autocapitalizationType = $0; return $1 } ) } - public var autocorrectionType: Lens { + var autocorrectionType: Lens { return Lens( view: { $0.autocorrectionType }, set: { $1.autocorrectionType = $0; return $1 } ) } - public var keyboardAppearance: Lens { + var keyboardAppearance: Lens { return Lens( view: { $0.keyboardAppearance }, set: { $1.keyboardAppearance = $0; return $1 } ) } - public var keyboardType: Lens { + var keyboardType: Lens { return Lens( view: { $0.keyboardType }, set: { $1.keyboardType = $0; return $1 } ) } - public var returnKeyType: Lens { + var returnKeyType: Lens { return Lens( view: { $0.returnKeyType }, set: { $1.returnKeyType = $0; return $1 } ) } - public var secureTextEntry: Lens { + var secureTextEntry: Lens { return Lens( view: { $0.isSecureTextEntry }, set: { $1.isSecureTextEntry = $0; return $1 } ) } - public var spellCheckingType: Lens { + var spellCheckingType: Lens { return Lens( view: { $0.spellCheckingType }, set: { $1.spellCheckingType = $0; return $1 } diff --git a/Prelude-UIKit/lenses/UITextViewLenses.swift b/Sources/Prelude-UIKit/lenses/UITextViewLenses.swift similarity index 79% rename from Prelude-UIKit/lenses/UITextViewLenses.swift rename to Sources/Prelude-UIKit/lenses/UITextViewLenses.swift index a68177d..2165285 100644 --- a/Prelude-UIKit/lenses/UITextViewLenses.swift +++ b/Sources/Prelude-UIKit/lenses/UITextViewLenses.swift @@ -18,7 +18,7 @@ extension UITextView: UITextViewProtocol {} public extension LensHolder where Object: UITextViewProtocol { #if os(iOS) - public var dataDetectorTypes: Lens { + var dataDetectorTypes: Lens { return Lens( view: { $0.dataDetectorTypes }, set: { $1.dataDetectorTypes = $0; return $1 } @@ -26,42 +26,42 @@ public extension LensHolder where Object: UITextViewProtocol { } #endif - public var font: Lens { + var font: Lens { return Lens( view: { $0.font }, set: { $1.font = $0; return $1 } ) } - public var text: Lens { + var text: Lens { return Lens( view: { $0.text ?? "" }, set: { $1.text = $0; return $1 } ) } - public var textAlignment: Lens { + var textAlignment: Lens { return Lens( view: { $0.textAlignment }, set: { $1.textAlignment = $0; return $1 } ) } - public var textColor: Lens { + var textColor: Lens { return Lens( view: { $0.textColor }, set: { $1.textColor = $0; return $1 } ) } - public var textContainer: Lens { + var textContainer: Lens { return Lens( view: { $0.textContainer }, set: { $1 } ) } - public var textContainerInset: Lens { + var textContainerInset: Lens { return Lens( view: { $0.textContainerInset }, set: { $1.textContainerInset = $0; return $1 } diff --git a/Prelude-UIKit/lenses/UITraitEnvironment.swift b/Sources/Prelude-UIKit/lenses/UITraitEnvironment.swift similarity index 100% rename from Prelude-UIKit/lenses/UITraitEnvironment.swift rename to Sources/Prelude-UIKit/lenses/UITraitEnvironment.swift diff --git a/Prelude-UIKit/lenses/UIViewControllerLenses.swift b/Sources/Prelude-UIKit/lenses/UIViewControllerLenses.swift similarity index 67% rename from Prelude-UIKit/lenses/UIViewControllerLenses.swift rename to Sources/Prelude-UIKit/lenses/UIViewControllerLenses.swift index 74eccbf..9970221 100644 --- a/Prelude-UIKit/lenses/UIViewControllerLenses.swift +++ b/Sources/Prelude-UIKit/lenses/UIViewControllerLenses.swift @@ -11,28 +11,28 @@ public protocol UIViewControllerProtocol: UITraitEnvironmentProtocol, LensObject extension UIViewController: UIViewControllerProtocol {} public extension LensHolder where Object: UIViewControllerProtocol { - public var navigationController: Lens { + var navigationController: Lens { return Lens( view: { $0.navigationController }, set: { $1 } ) } - public var navigationItem: Lens { + var navigationItem: Lens { return Lens( view: { $0.navigationItem }, set: { $1 } ) } - public var title: Lens { + var title: Lens { return Lens( view: { $0.title }, set: { $1.title = $0; return $1 } ) } - public var view: Lens { + var view: Lens { return Lens( view: { $0.view }, set: { $1.view = $0; return $1 } @@ -40,16 +40,16 @@ public extension LensHolder where Object: UIViewControllerProtocol { } } -extension Lens where Whole: UIViewControllerProtocol, Part == UIView { - public var backgroundColor: Lens { +public extension Lens where Whole: UIViewControllerProtocol, Part == UIView { + var backgroundColor: Lens { return Whole.lens.view..Part.lens.backgroundColor } - public var layoutMargins: Lens { + var layoutMargins: Lens { return Whole.lens.view..Part.lens.layoutMargins } - public var tintColor: Lens { + var tintColor: Lens { return Whole.lens.view..Part.lens.tintColor } } diff --git a/Prelude-UIKit/lenses/UIViewLenses.swift b/Sources/Prelude-UIKit/lenses/UIViewLenses.swift similarity index 73% rename from Prelude-UIKit/lenses/UIViewLenses.swift rename to Sources/Prelude-UIKit/lenses/UIViewLenses.swift index a1c4ecd..1c71ebc 100644 --- a/Prelude-UIKit/lenses/UIViewLenses.swift +++ b/Sources/Prelude-UIKit/lenses/UIViewLenses.swift @@ -30,28 +30,28 @@ public protocol UIViewProtocol: KSObjectProtocol, UITraitEnvironmentProtocol, Le extension UIView: UIViewProtocol {} public extension LensHolder where Object: UIViewProtocol { - public var alpha: Lens { + var alpha: Lens { return Lens( view: { $0.alpha }, set: { $1.alpha = $0; return $1 } ) } - public var backgroundColor: Lens { + var backgroundColor: Lens { return Lens( view: { $0.backgroundColor ?? .clear }, set: { $1.backgroundColor = $0; return $1 } ) } - public var clipsToBounds: Lens { + var clipsToBounds: Lens { return Lens( view: { $0.clipsToBounds }, set: { $1.clipsToBounds = $0; return $1 } ) } - public var constraints: Lens { + var constraints: Lens { return Lens( view: { $0.constraints }, set: { @@ -62,7 +62,7 @@ public extension LensHolder where Object: UIViewProtocol { ) } - public func contentCompressionResistancePriority(for axis: NSLayoutConstraint.Axis) + func contentCompressionResistancePriority(for axis: NSLayoutConstraint.Axis) -> Lens { return Lens( @@ -71,7 +71,7 @@ public extension LensHolder where Object: UIViewProtocol { ) } - public func contentHuggingPriority(for axis: NSLayoutConstraint.Axis) + func contentHuggingPriority(for axis: NSLayoutConstraint.Axis) -> Lens { return Lens( @@ -80,77 +80,77 @@ public extension LensHolder where Object: UIViewProtocol { ) } - public var contentMode: Lens { + var contentMode: Lens { return Lens( view: { $0.contentMode }, set: { $1.contentMode = $0; return $1 } ) } - public var frame: Lens { + var frame: Lens { return Lens( view: { $0.frame }, set: { $1.frame = $0; return $1 } ) } - public var isHidden: Lens { + var isHidden: Lens { return Lens( view: { $0.isHidden }, set: { $1.isHidden = $0; return $1 } ) } - public var isUserInteractionEnabled: Lens { + var isUserInteractionEnabled: Lens { return Lens( view: { $0.isUserInteractionEnabled }, set: { $1.isUserInteractionEnabled = $0; return $1 } ) } - public var layer: Lens { + var layer: Lens { return Lens( view: { $0.layer }, set: { $1 } ) } - public var layoutMargins: Lens { + var layoutMargins: Lens { return Lens( view: { $0.layoutMargins }, set: { $1.layoutMargins = $0; return $1 } ) } - public var preservesSuperviewLayoutMargins: Lens { + var preservesSuperviewLayoutMargins: Lens { return Lens( view: { $0.preservesSuperviewLayoutMargins }, set: { $1.preservesSuperviewLayoutMargins = $0; return $1 } ) } - public var semanticContentAttribute: Lens { + var semanticContentAttribute: Lens { return Lens( view: { $0.semanticContentAttribute }, set: { $1.semanticContentAttribute = $0; return $1; } ) } - public var tag: Lens { + var tag: Lens { return Lens( view: { $0.tag }, set: { $1.tag = $0; return $1 } ) } - public var tintColor: Lens { + var tintColor: Lens { return Lens( view: { $0.tintColor }, set: { $1.tintColor = $0; return $1 } ) } - public var translatesAutoresizingMaskIntoConstraints: Lens { + var translatesAutoresizingMaskIntoConstraints: Lens { return Lens( view: { $0.translatesAutoresizingMaskIntoConstraints }, set: { $1.translatesAutoresizingMaskIntoConstraints = $0; return $1 } @@ -159,66 +159,66 @@ public extension LensHolder where Object: UIViewProtocol { } public extension Lens where Whole: UIViewProtocol, Part == CGRect { - public var origin: Lens { + var origin: Lens { return Whole.lens.frame..CGRect.lens.origin } - public var size: Lens { + var size: Lens { return Whole.lens.frame..CGRect.lens.size } } public extension Lens where Whole: UIViewProtocol, Part == CGPoint { - public var x: Lens { + var x: Lens { return Whole.lens.frame.origin..CGPoint.lens.x } - public var y: Lens { + var y: Lens { return Whole.lens.frame.origin..CGPoint.lens.y } } public extension Lens where Whole: UIViewProtocol, Part == CGSize { - public var width: Lens { + var width: Lens { return Whole.lens.frame.size..CGSize.lens.width } - public var height: Lens { + var height: Lens { return Whole.lens.frame.size..CGSize.lens.height } } public extension Lens where Whole: UIViewProtocol, Part == CALayer { - public var borderColor: Lens { + var borderColor: Lens { return Whole.lens.layer..Part.lens.borderColor } - public var borderWidth: Lens { + var borderWidth: Lens { return Whole.lens.layer..Part.lens.borderWidth } - public var cornerRadius: Lens { + var cornerRadius: Lens { return Whole.lens.layer..Part.lens.cornerRadius } - public var masksToBounds: Lens { + var masksToBounds: Lens { return Whole.lens.layer..Part.lens.masksToBounds } - public var shadowColor: Lens { + var shadowColor: Lens { return Whole.lens.layer..CALayer.lens.shadowColor } - public var shadowOffset: Lens { + var shadowOffset: Lens { return Whole.lens.layer..CALayer.lens.shadowOffset } - public var shadowOpacity: Lens { + var shadowOpacity: Lens { return Whole.lens.layer..CALayer.lens.shadowOpacity } - public var shadowRadius: Lens { + var shadowRadius: Lens { return Whole.lens.layer..CALayer.lens.shadowRadius } - public var shouldRasterize: Lens { + var shouldRasterize: Lens { return Whole.lens.layer..CALayer.lens.shouldRasterize } } diff --git a/Prelude-UIKit/lenses/WKWebViewLenses.swift b/Sources/Prelude-UIKit/lenses/WKWebViewLenses.swift similarity index 90% rename from Prelude-UIKit/lenses/WKWebViewLenses.swift rename to Sources/Prelude-UIKit/lenses/WKWebViewLenses.swift index 54590f4..c3d04ab 100644 --- a/Prelude-UIKit/lenses/WKWebViewLenses.swift +++ b/Sources/Prelude-UIKit/lenses/WKWebViewLenses.swift @@ -10,7 +10,7 @@ extension WKWebView: WKWebViewProtocol {} public extension LensHolder where Object: WKWebViewProtocol { - public var scrollView: Lens { + var scrollView: Lens { return Lens( view: { $0.scrollView }, set: { $1 } diff --git a/Prelude/Array.swift b/Sources/Prelude/Array.swift similarity index 84% rename from Prelude/Array.swift rename to Sources/Prelude/Array.swift index 1024ec4..5f6be34 100644 --- a/Prelude/Array.swift +++ b/Sources/Prelude/Array.swift @@ -3,7 +3,7 @@ public extension Array where Element: OptionalType { /** - returns: A new array with `nil` values removed. */ - public func compact() -> [Element.Wrapped] { + func compact() -> [Element.Wrapped] { return self.filter { $0.optional != nil }.map { $0.optional! } } } @@ -16,7 +16,7 @@ public extension Array where Element: Semigroup { - returns: The concatenation of all the values. */ - public func sconcat(_ initial: Element) -> Element { + func sconcat(_ initial: Element) -> Element { return self.reduce(initial, <>) } } @@ -26,10 +26,10 @@ public extension Array { /** Returns a random element from the array, or `nil` if the array is empty. */ - public var randomElement: Element? { + var randomElement: Element? { guard !self.isEmpty else { return nil } - let idx = Int(arc4random_uniform(UInt32(self.count))) + let idx = Int.random(in: 0.. Bool) -> Array { + func distincts( _ eq: (Element, Element) -> Bool) -> Array { var result = Array() forEach { x in if !result.contains(where: { eq(x, $0) }) { @@ -59,7 +59,7 @@ public extension Array { - returns: A dictionary where each key contains all the elements of `self` that are mapped to the key via the `grouping` function. */ - public func groupedBy (_ grouping: (Element) -> K) -> [K: [Element]] { + func groupedBy (_ grouping: (Element) -> K) -> [K: [Element]] { var result: [K: [Element]] = [:] for value in self { @@ -78,7 +78,7 @@ public extension Array { - returns: A sorted array. */ - public func sorted(comparator: Comparator) -> Array { + func sorted(comparator: Comparator) -> Array { return self.sorted(by: comparator.isOrdered) } } @@ -91,7 +91,7 @@ public extension Array where Element: Equatable { - returns: An array of distinct values in the array without changing the order. */ - public func distincts() -> Array { + func distincts() -> Array { return self.distincts(==) } } diff --git a/Prelude/Bool.swift b/Sources/Prelude/Bool.swift similarity index 100% rename from Prelude/Bool.swift rename to Sources/Prelude/Bool.swift diff --git a/Prelude/Comparable.swift b/Sources/Prelude/Comparable.swift similarity index 100% rename from Prelude/Comparable.swift rename to Sources/Prelude/Comparable.swift diff --git a/Prelude/Comparator.swift b/Sources/Prelude/Comparator.swift similarity index 100% rename from Prelude/Comparator.swift rename to Sources/Prelude/Comparator.swift diff --git a/Prelude/Dictionary.swift b/Sources/Prelude/Dictionary.swift similarity index 81% rename from Prelude/Dictionary.swift rename to Sources/Prelude/Dictionary.swift index b35a72e..b922cc1 100644 --- a/Prelude/Dictionary.swift +++ b/Sources/Prelude/Dictionary.swift @@ -3,7 +3,7 @@ public extension Dictionary where Value: Prelude.OptionalType { /** - returns: A new dictionary with `nil` values removed. */ - public func compact() -> [Key: Value.Wrapped] { + func compact() -> [Key: Value.Wrapped] { var ret: [Key: Value.Wrapped] = [:] for (key, value) in self { if let value = value.optional { @@ -23,7 +23,7 @@ public extension Dictionary { - returns: A merged dictionary. */ - public func withAllValuesFrom(_ other: Dictionary) -> Dictionary { + func withAllValuesFrom(_ other: Dictionary) -> Dictionary { var result = self other.forEach { result[$0] = $1 } return result @@ -37,7 +37,7 @@ public extension Dictionary { - returns: A dictionary. */ - public static func keyValuePairs(_ pairs: [(Key, Value)]) -> Dictionary { + static func keyValuePairs(_ pairs: [(Key, Value)]) -> Dictionary { var result = Dictionary() pairs.forEach { result[$0] = $1 } return result @@ -52,12 +52,12 @@ public extension Dictionary { - returns: A new dictionary with keys transformed. */ - public func transformedKeys(_ f: (Key) -> Key) -> Dictionary { + func transformedKeys(_ f: (Key) -> Key) -> Dictionary { return Dictionary.keyValuePairs(self.map { (f($0), $1) }) } } -extension Dictionary where Key: Semigroup { +public extension Dictionary where Key: Semigroup { /** Use the semigroup operation on Key to prefix keys with a value. @@ -66,7 +66,7 @@ extension Dictionary where Key: Semigroup { - returns: A new dictionary. */ - public func prefixedKeys(_ prefix: Key) -> Dictionary { + func prefixedKeys(_ prefix: Key) -> Dictionary { return transformedKeys(prefix<>) } } diff --git a/Prelude/Either.swift b/Sources/Prelude/Either.swift similarity index 100% rename from Prelude/Either.swift rename to Sources/Prelude/Either.swift diff --git a/Prelude/Empty.swift b/Sources/Prelude/Empty.swift similarity index 100% rename from Prelude/Empty.swift rename to Sources/Prelude/Empty.swift diff --git a/Prelude/Function.swift b/Sources/Prelude/Function.swift similarity index 100% rename from Prelude/Function.swift rename to Sources/Prelude/Function.swift diff --git a/Prelude/Info.plist b/Sources/Prelude/Info.plist similarity index 100% rename from Prelude/Info.plist rename to Sources/Prelude/Info.plist diff --git a/Prelude/Lens.swift b/Sources/Prelude/Lens.swift similarity index 99% rename from Prelude/Lens.swift rename to Sources/Prelude/Lens.swift index b156821..80f6e82 100644 --- a/Prelude/Lens.swift +++ b/Sources/Prelude/Lens.swift @@ -42,7 +42,7 @@ public struct Lens { public extension Lens where Part: Comparable { /// Constructs a comparator on `Whole` when `Part` conforms to `Comparable`. - public var comparator: Comparator { + var comparator: Comparator { return Comparator { lhs, rhs in self.view(lhs) < self.view(rhs) ? .lt : self.view(lhs) == self.view(rhs) ? .eq diff --git a/Prelude/LensHolder.swift b/Sources/Prelude/LensHolder.swift similarity index 75% rename from Prelude/LensHolder.swift rename to Sources/Prelude/LensHolder.swift index a736cf4..873652f 100644 --- a/Prelude/LensHolder.swift +++ b/Sources/Prelude/LensHolder.swift @@ -3,7 +3,7 @@ public protocol LensObject {} public struct LensHolder {} public extension LensObject { - public static var lens: LensHolder { + static var lens: LensHolder { return LensHolder() } } diff --git a/Prelude/Monoid.swift b/Sources/Prelude/Monoid.swift similarity index 100% rename from Prelude/Monoid.swift rename to Sources/Prelude/Monoid.swift diff --git a/Prelude/NonEmpty.swift b/Sources/Prelude/NonEmpty.swift similarity index 100% rename from Prelude/NonEmpty.swift rename to Sources/Prelude/NonEmpty.swift diff --git a/Prelude/NumericType.swift b/Sources/Prelude/NumericType.swift similarity index 100% rename from Prelude/NumericType.swift rename to Sources/Prelude/NumericType.swift diff --git a/Prelude/Operators.swift b/Sources/Prelude/Operators.swift similarity index 100% rename from Prelude/Operators.swift rename to Sources/Prelude/Operators.swift diff --git a/Prelude/Optional.swift b/Sources/Prelude/Optional.swift similarity index 100% rename from Prelude/Optional.swift rename to Sources/Prelude/Optional.swift diff --git a/Prelude/Ordering.swift b/Sources/Prelude/Ordering.swift similarity index 100% rename from Prelude/Ordering.swift rename to Sources/Prelude/Ordering.swift diff --git a/Prelude/Prelude.h b/Sources/Prelude/Prelude.h similarity index 100% rename from Prelude/Prelude.h rename to Sources/Prelude/Prelude.h diff --git a/Prelude/Semigroup.swift b/Sources/Prelude/Semigroup.swift similarity index 100% rename from Prelude/Semigroup.swift rename to Sources/Prelude/Semigroup.swift diff --git a/Prelude/Set.swift b/Sources/Prelude/Set.swift similarity index 100% rename from Prelude/Set.swift rename to Sources/Prelude/Set.swift diff --git a/Prelude/SomeError.swift b/Sources/Prelude/SomeError.swift similarity index 100% rename from Prelude/SomeError.swift rename to Sources/Prelude/SomeError.swift diff --git a/Prelude/String.swift b/Sources/Prelude/String.swift similarity index 100% rename from Prelude/String.swift rename to Sources/Prelude/String.swift diff --git a/Prelude/Tuple.swift b/Sources/Prelude/Tuple.swift similarity index 100% rename from Prelude/Tuple.swift rename to Sources/Prelude/Tuple.swift diff --git a/Prelude/Unit.swift b/Sources/Prelude/Unit.swift similarity index 100% rename from Prelude/Unit.swift rename to Sources/Prelude/Unit.swift diff --git a/Prelude/Unpack.swift b/Sources/Prelude/Unpack.swift similarity index 100% rename from Prelude/Unpack.swift rename to Sources/Prelude/Unpack.swift diff --git a/Prelude/VectorType.swift b/Sources/Prelude/VectorType.swift similarity index 95% rename from Prelude/VectorType.swift rename to Sources/Prelude/VectorType.swift index 3266505..e1715c5 100644 --- a/Prelude/VectorType.swift +++ b/Sources/Prelude/VectorType.swift @@ -1,3 +1,4 @@ +import CoreGraphics /// A `VectorType` instance is something that behaves like a linear vector does, i.e. it can be /// scaled with numeric values and added to other vectors. public protocol VectorType: Equatable { @@ -18,15 +19,15 @@ public extension VectorType { - returns: A function that interpolates between `self` and `b` as `t` varies from `0` to `1`. */ - public func lerp(_ b: Self) -> ((Self.Scalar) -> Self) { + func lerp(_ b: Self) -> ((Self.Scalar) -> Self) { return { t in self * (Self.Scalar.one() - t) + b * t } } - public func subtract(_ v: Self) -> Self { + func subtract(_ v: Self) -> Self { return self.add(v.negateVector()) } - public func negateVector() -> Self { + func negateVector() -> Self { return self.scale(Self.Scalar.one().negate()) } } diff --git a/Prelude-UIKit/UIButtonTests.swift b/Tests/Prelude-UIKitTests/UIButtonTests.swift similarity index 100% rename from Prelude-UIKit/UIButtonTests.swift rename to Tests/Prelude-UIKitTests/UIButtonTests.swift diff --git a/Prelude-UIKit/UITraitCollectionTests.swift b/Tests/Prelude-UIKitTests/UITraitCollectionTests.swift similarity index 100% rename from Prelude-UIKit/UITraitCollectionTests.swift rename to Tests/Prelude-UIKitTests/UITraitCollectionTests.swift diff --git a/Prelude/ArrayTests.swift b/Tests/PreludeTests/ArrayTests.swift similarity index 98% rename from Prelude/ArrayTests.swift rename to Tests/PreludeTests/ArrayTests.swift index 33e6ec3..7d572c3 100644 --- a/Prelude/ArrayTests.swift +++ b/Tests/PreludeTests/ArrayTests.swift @@ -1,5 +1,5 @@ import XCTest -@testable import Prelude +import Prelude class ArrayTests: XCTestCase { diff --git a/Prelude/BooleanTests.swift b/Tests/PreludeTests/BooleanTests.swift similarity index 100% rename from Prelude/BooleanTests.swift rename to Tests/PreludeTests/BooleanTests.swift diff --git a/Prelude/ComparableTests.swift b/Tests/PreludeTests/ComparableTests.swift similarity index 91% rename from Prelude/ComparableTests.swift rename to Tests/PreludeTests/ComparableTests.swift index 961bbf0..f783d78 100644 --- a/Prelude/ComparableTests.swift +++ b/Tests/PreludeTests/ComparableTests.swift @@ -1,5 +1,5 @@ import XCTest -@testable import Prelude +import Prelude class ComparableTests: XCTestCase { func testClampFreeFunction() { diff --git a/Prelude/ComparatorTests.swift b/Tests/PreludeTests/ComparatorTests.swift similarity index 96% rename from Prelude/ComparatorTests.swift rename to Tests/PreludeTests/ComparatorTests.swift index 400123d..8afba57 100644 --- a/Prelude/ComparatorTests.swift +++ b/Tests/PreludeTests/ComparatorTests.swift @@ -1,5 +1,5 @@ import XCTest -@testable import Prelude +import Prelude final class ComparatorTests: XCTestCase { func testIsOrdered() { diff --git a/Prelude/DictionaryTest.swift b/Tests/PreludeTests/DictionaryTest.swift similarity index 97% rename from Prelude/DictionaryTest.swift rename to Tests/PreludeTests/DictionaryTest.swift index b4510d4..e18111f 100644 --- a/Prelude/DictionaryTest.swift +++ b/Tests/PreludeTests/DictionaryTest.swift @@ -1,5 +1,5 @@ import XCTest -@testable import Prelude +import Prelude class DictionaryTests: XCTestCase { diff --git a/Prelude/EitherTests.swift b/Tests/PreludeTests/EitherTests.swift similarity index 100% rename from Prelude/EitherTests.swift rename to Tests/PreludeTests/EitherTests.swift diff --git a/Prelude/FunctionTest.swift b/Tests/PreludeTests/FunctionTest.swift similarity index 98% rename from Prelude/FunctionTest.swift rename to Tests/PreludeTests/FunctionTest.swift index a6c214e..eeb891c 100644 --- a/Prelude/FunctionTest.swift +++ b/Tests/PreludeTests/FunctionTest.swift @@ -1,5 +1,5 @@ import XCTest -@testable import Prelude +import Prelude class FunctionTest: XCTestCase { diff --git a/Prelude/LensTests.swift b/Tests/PreludeTests/LensTests.swift similarity index 99% rename from Prelude/LensTests.swift rename to Tests/PreludeTests/LensTests.swift index 6aecf3a..6f39eb6 100644 --- a/Prelude/LensTests.swift +++ b/Tests/PreludeTests/LensTests.swift @@ -1,6 +1,5 @@ import XCTest -@testable import Prelude -import Foundation +import Prelude private let square: (Int) -> Int = { $0 * $0 } private let plus: (Int) -> (Int) -> Int = { lhs in { lhs + $0 } } diff --git a/Prelude/NonEmptyTests.swift b/Tests/PreludeTests/NonEmptyTests.swift similarity index 100% rename from Prelude/NonEmptyTests.swift rename to Tests/PreludeTests/NonEmptyTests.swift diff --git a/Prelude/OptionalTests.swift b/Tests/PreludeTests/OptionalTests.swift similarity index 98% rename from Prelude/OptionalTests.swift rename to Tests/PreludeTests/OptionalTests.swift index ce58aa5..1b2fec1 100644 --- a/Prelude/OptionalTests.swift +++ b/Tests/PreludeTests/OptionalTests.swift @@ -1,5 +1,5 @@ import XCTest -@testable import Prelude +import Prelude final class OptionalTests: XCTestCase { diff --git a/Prelude/OrderingTests.swift b/Tests/PreludeTests/OrderingTests.swift similarity index 96% rename from Prelude/OrderingTests.swift rename to Tests/PreludeTests/OrderingTests.swift index 7755796..5ccf43e 100644 --- a/Prelude/OrderingTests.swift +++ b/Tests/PreludeTests/OrderingTests.swift @@ -1,5 +1,5 @@ import XCTest -@testable import Prelude +import Prelude final class OrderingTests: XCTestCase { func testOp() { diff --git a/Prelude/StringTests.swift b/Tests/PreludeTests/StringTests.swift similarity index 94% rename from Prelude/StringTests.swift rename to Tests/PreludeTests/StringTests.swift index a0de24b..53bdfae 100644 --- a/Prelude/StringTests.swift +++ b/Tests/PreludeTests/StringTests.swift @@ -1,5 +1,5 @@ import XCTest -@testable import Prelude +import Prelude public final class StringTests: XCTestCase { diff --git a/Prelude/TupleTests.swift b/Tests/PreludeTests/TupleTests.swift similarity index 97% rename from Prelude/TupleTests.swift rename to Tests/PreludeTests/TupleTests.swift index 5e518b8..ef7c1e5 100644 --- a/Prelude/TupleTests.swift +++ b/Tests/PreludeTests/TupleTests.swift @@ -1,5 +1,5 @@ import XCTest -@testable import Prelude +import Prelude final class TupleTests: XCTestCase { diff --git a/Prelude/UnitTests.swift b/Tests/PreludeTests/UnitTests.swift similarity index 84% rename from Prelude/UnitTests.swift rename to Tests/PreludeTests/UnitTests.swift index 8f7e1b3..f37c7bd 100644 --- a/Prelude/UnitTests.swift +++ b/Tests/PreludeTests/UnitTests.swift @@ -1,5 +1,5 @@ import XCTest -@testable import Prelude +import Prelude final class UnitTests: XCTestCase { diff --git a/Prelude/UnpackTests.swift b/Tests/PreludeTests/UnpackTests.swift similarity index 96% rename from Prelude/UnpackTests.swift rename to Tests/PreludeTests/UnpackTests.swift index 869289c..1d9d17c 100644 --- a/Prelude/UnpackTests.swift +++ b/Tests/PreludeTests/UnpackTests.swift @@ -1,5 +1,5 @@ import XCTest -@testable import Prelude +import Prelude class UnpackTests: XCTestCase { func testABUnpack() { diff --git a/Prelude/VectorTypeTest.swift b/Tests/PreludeTests/VectorTypeTest.swift similarity index 57% rename from Prelude/VectorTypeTest.swift rename to Tests/PreludeTests/VectorTypeTest.swift index e7da13b..a094f1c 100644 --- a/Prelude/VectorTypeTest.swift +++ b/Tests/PreludeTests/VectorTypeTest.swift @@ -1,5 +1,5 @@ import XCTest -@testable import Prelude +import Prelude class VectorTypeTest: XCTestCase { @@ -31,19 +31,19 @@ class VectorTypeTest: XCTestCase { } func testLerp() { - XCTAssertEqualWithAccuracy(0.0, 0.0.lerp(4.0)(0.00), accuracy: 0.0) - XCTAssertEqualWithAccuracy(1.0, 0.0.lerp(4.0)(0.25), accuracy: 0.0) - XCTAssertEqualWithAccuracy(2.0, 0.0.lerp(4.0)(0.50), accuracy: 0.0) - XCTAssertEqualWithAccuracy(3.0, 0.0.lerp(4.0)(0.75), accuracy: 0.0) - XCTAssertEqualWithAccuracy(4.0, 0.0.lerp(4.0)(1.00), accuracy: 0.0) + XCTAssertEqual(0.0, 0.0.lerp(4.0)(0.00), accuracy: 0.0) + XCTAssertEqual(1.0, 0.0.lerp(4.0)(0.25), accuracy: 0.0) + XCTAssertEqual(2.0, 0.0.lerp(4.0)(0.50), accuracy: 0.0) + XCTAssertEqual(3.0, 0.0.lerp(4.0)(0.75), accuracy: 0.0) + XCTAssertEqual(4.0, 0.0.lerp(4.0)(1.00), accuracy: 0.0) } func testLerpFreeFunction() { - XCTAssertEqualWithAccuracy(0.0, lerp(0.0, 4.0)(0.00), accuracy: 0.0) - XCTAssertEqualWithAccuracy(1.0, lerp(0.0, 4.0)(0.25), accuracy: 0.0) - XCTAssertEqualWithAccuracy(2.0, lerp(0.0, 4.0)(0.50), accuracy: 0.0) - XCTAssertEqualWithAccuracy(3.0, lerp(0.0, 4.0)(0.75), accuracy: 0.0) - XCTAssertEqualWithAccuracy(4.0, lerp(0.0, 4.0)(1.00), accuracy: 0.0) + XCTAssertEqual(0.0, lerp(0.0, 4.0)(0.00), accuracy: 0.0) + XCTAssertEqual(1.0, lerp(0.0, 4.0)(0.25), accuracy: 0.0) + XCTAssertEqual(2.0, lerp(0.0, 4.0)(0.50), accuracy: 0.0) + XCTAssertEqual(3.0, lerp(0.0, 4.0)(0.75), accuracy: 0.0) + XCTAssertEqual(4.0, lerp(0.0, 4.0)(1.00), accuracy: 0.0) } func testOperatorPrecedence() { @@ -52,6 +52,6 @@ class VectorTypeTest: XCTestCase { return x * A.one() + A.one() + A.one() } - XCTAssertEqualWithAccuracy(4.0, naiveTimesTwoPlusOne(2.0), accuracy: 0.0) + XCTAssertEqual(4.0, naiveTimesTwoPlusOne(2.0), accuracy: 0.0) } } diff --git a/circle.yml b/circle.yml deleted file mode 100644 index d3f5084..0000000 --- a/circle.yml +++ /dev/null @@ -1,29 +0,0 @@ -# CircleCI version -version: 2 - -jobs: - build: - macos: - xcode: "12.5.1" - working_directory: ~/Kickstarter-Prelude - environment: - CIRCLE_ARTIFACTS: /tmp - - steps: - - checkout - - run: git submodule sync --recursive - - run: git submodule update --init --recursive - - - run: HOMEBREW_NO_AUTO_UPDATE=1 brew install swiftlint - - run: set -o pipefail && - swiftlint lint --strict --reporter json | - tee $CIRCLE_ARTIFACTS/swiftlint-report.json - - run: bin/test iOS 13.7 - - run: bin/test iOS 14.5 - - run: bin/test UIKit-iOS 13.7 - - run: bin/test UIKit-iOS 14.5 - - - store_artifacts: - path: /tmp/swiftlint-report.json - - store_artifacts: - path: /tmp/xcode_raw.log