diff --git a/.gitignore b/.gitignore index 32f147b..4170c40 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,98 @@ +# Created by https://www.toptal.com/developers/gitignore/api/swift,swiftpm +# Edit at https://www.toptal.com/developers/gitignore?templates=swift,swiftpm + +### Swift ### +# Xcode +# +# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore + +## User settings +xcuserdata/ + +## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) +*.xcscmblueprint +*.xccheckout + +## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) +build/ +DerivedData/ +*.moved-aside +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 + +## Obj-C/Swift specific +*.hmap + +## App packaging +*.ipa +*.dSYM.zip +*.dSYM + +## Playgrounds +timeline.xctimeline +playground.xcworkspace + +# Swift Package Manager +# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. +# Packages/ +# Package.pins +# Package.resolved +# *.xcodeproj +# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata +# hence it is not needed unless you have added a package configuration file to your project +# .swiftpm + +.build/ + +# CocoaPods +# We recommend against adding the Pods directory to your .gitignore. However +# you should judge for yourself, the pros and cons are mentioned at: +# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control +# Pods/ +# Add this line if you want to avoid checking in source code from the Xcode workspace +# *.xcworkspace + +# Carthage +# Add this line if you want to avoid checking in source code from Carthage dependencies. +# Carthage/Checkouts + +Carthage/Build/ + +# Accio dependency management +Dependencies/ +.accio/ + +# fastlane +# It is recommended to not store the screenshots in the git repo. +# Instead, use fastlane to re-generate the screenshots whenever they are needed. +# For more information about the recommended setup visit: +# https://docs.fastlane.tools/best-practices/source-control/#source-control + +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots/**/*.png +fastlane/test_output + +# Code Injection +# After new code Injection tools there's a generated folder /iOSInjectionProject +# https://github.com/johnno1962/injectionforxcode + +iOSInjectionProject/ + +### SwiftPM ### Packages -.build +xcuserdata +*.xcodeproj + + +# End of https://www.toptal.com/developers/gitignore/api/swift,swiftpm + .DS_Store -/*.xcodeproj -DerivedData/ -Package.resolved -.swiftpm Tests/LinuxMain.swift -.vscode -xcuserdata/ +.vscode \ No newline at end of file diff --git a/Example/Wrp/WrpSample/WrpSampleReducer.swift b/Example/Wrp/WrpSample/WrpSampleReducer.swift index 2b04498..c2b141a 100644 --- a/Example/Wrp/WrpSample/WrpSampleReducer.swift +++ b/Example/Wrp/WrpSample/WrpSampleReducer.swift @@ -88,6 +88,7 @@ extension WrpSampleReducer { .toPublisher() .map { Double($0.value) } .replaceError(with: 0.0) + .receive(on: DispatchQueue.main) .catchToEffect() .map(WrpSampleAction.getSliderValueResult) diff --git a/Example/Wrp/WrpSample/WrpSampleTCAView.swift b/Example/Wrp/WrpSample/WrpSampleTCAView.swift index 085d573..32aa5c9 100644 --- a/Example/Wrp/WrpSample/WrpSampleTCAView.swift +++ b/Example/Wrp/WrpSample/WrpSampleTCAView.swift @@ -18,7 +18,6 @@ struct WrpSampleView: View { private let store: WrpSampleStore let url: String = "https://pbkit.dev/wrp-example" - @State var wrpExampleClient: Pbkit_Wrp_Example_WrpExampleServiceWrpClient! init(store: WrpSampleStore) { self.viewStore = ViewStore(store) diff --git a/Package.swift b/Package.swift index 6a0d8a8..9cc0834 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 5.6 +// swift-tools-version: 5.5 import PackageDescription @@ -6,10 +6,10 @@ let package = Package( name: "wrp-swift", platforms: [ .macOS(.v10_15), - .iOS(.v13), + .iOS(.v13) ], products: [ - .library(name: "Wrp", targets: ["Wrp"]), + .library(name: "Wrp", targets: ["Wrp"]) ], dependencies: [ // GRPC library for protobuf serializer/deserializer @@ -17,7 +17,7 @@ let package = Package( // Protobuf library for en/decoding Wrp messages .package(url: "https://github.com/apple/swift-protobuf.git", from: "1.19.0"), // Swift logging API - .package(url: "https://github.com/apple/swift-log.git", from: "1.0.0"), + .package(url: "https://github.com/apple/swift-log.git", from: "1.0.0") ], targets: [ .target( @@ -32,6 +32,6 @@ let package = Package( .testTarget( name: "WrpTests", dependencies: ["Wrp"] - ), + ) ] ) diff --git a/WrpSwift.xcworkspace/xcshareddata/swiftpm/Package.resolved b/WrpSwift.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 0000000..6d02a43 --- /dev/null +++ b/WrpSwift.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,142 @@ +{ + "object": { + "pins": [ + { + "package": "combine-schedulers", + "repositoryURL": "https://github.com/pointfreeco/combine-schedulers", + "state": { + "branch": null, + "revision": "0ba3a562716efabb585ccb169450c5389107286b", + "version": "0.6.0" + } + }, + { + "package": "grpc-swift", + "repositoryURL": "https://github.com/grpc/grpc-swift", + "state": { + "branch": null, + "revision": "593fe0fe931f7e838969243cd137be48e8055b1d", + "version": "1.7.3" + } + }, + { + "package": "swift-case-paths", + "repositoryURL": "https://github.com/pointfreeco/swift-case-paths", + "state": { + "branch": null, + "revision": "b4a872984463070c71e2e97e5c02c73a07d0fe36", + "version": "0.9.0" + } + }, + { + "package": "swift-collections", + "repositoryURL": "https://github.com/apple/swift-collections", + "state": { + "branch": null, + "revision": "48254824bb4248676bf7ce56014ff57b142b77eb", + "version": "1.0.2" + } + }, + { + "package": "swift-composable-architecture", + "repositoryURL": "https://github.com/pointfreeco/swift-composable-architecture", + "state": { + "branch": null, + "revision": "c307541328a636b9e8e25ac868d89be54a8f8dbf", + "version": "0.35.0" + } + }, + { + "package": "swift-custom-dump", + "repositoryURL": "https://github.com/pointfreeco/swift-custom-dump", + "state": { + "branch": null, + "revision": "21ec1d717c07cea5a026979cb0471dd95c7087e7", + "version": "0.5.0" + } + }, + { + "package": "swift-identified-collections", + "repositoryURL": "https://github.com/pointfreeco/swift-identified-collections", + "state": { + "branch": null, + "revision": "2d6b7ffcc67afd9077fac5e5a29bcd6d39b71076", + "version": "0.4.0" + } + }, + { + "package": "swift-log", + "repositoryURL": "https://github.com/apple/swift-log.git", + "state": { + "branch": null, + "revision": "5d66f7ba25daf4f94100e7022febf3c75e37a6c7", + "version": "1.4.2" + } + }, + { + "package": "swift-nio", + "repositoryURL": "https://github.com/apple/swift-nio.git", + "state": { + "branch": null, + "revision": "124119f0bb12384cef35aa041d7c3a686108722d", + "version": "2.40.0" + } + }, + { + "package": "swift-nio-extras", + "repositoryURL": "https://github.com/apple/swift-nio-extras.git", + "state": { + "branch": null, + "revision": "a75e92bde3683241c15df3dd905b7a6dcac4d551", + "version": "1.12.1" + } + }, + { + "package": "swift-nio-http2", + "repositoryURL": "https://github.com/apple/swift-nio-http2.git", + "state": { + "branch": null, + "revision": "108ac15087ea9b79abb6f6742699cf31de0e8772", + "version": "1.22.0" + } + }, + { + "package": "swift-nio-ssl", + "repositoryURL": "https://github.com/apple/swift-nio-ssl.git", + "state": { + "branch": null, + "revision": "fd5f38b0039148e76c2e863a2fc868cc39bb451b", + "version": "2.20.1" + } + }, + { + "package": "swift-nio-transport-services", + "repositoryURL": "https://github.com/apple/swift-nio-transport-services.git", + "state": { + "branch": null, + "revision": "2cb54f91ddafc90832c5fa247faf5798d0a7c204", + "version": "1.13.0" + } + }, + { + "package": "SwiftProtobuf", + "repositoryURL": "https://github.com/apple/swift-protobuf.git", + "state": { + "branch": null, + "revision": "e1499bc69b9040b29184f7f2996f7bab467c1639", + "version": "1.19.0" + } + }, + { + "package": "xctest-dynamic-overlay", + "repositoryURL": "https://github.com/pointfreeco/xctest-dynamic-overlay", + "state": { + "branch": null, + "revision": "046aba2944a7e197e5dc070836f8fe2d47d0e471", + "version": "0.3.2" + } + } + ] + }, + "version": 1 +}