Compare commits

..

11 Commits

Author SHA1 Message Date
Mathew Polzin 4cd697aae4 Merge pull request #17 from mattpolzin/swift-5
Default to Swift version 5.0 and Swift Tools version 5.0
2019-04-16 22:35:11 -07:00
Mathew Polzin db0f7329e4 Comment out playground code that is failing in Xcode 10.2 2019-04-16 22:11:09 -07:00
Mathew Polzin fb710c397b Entirely remove Result type that not only is unneeded with Swift 5 but also was not being used by this library (it was left over from before Poly became its own library). Fix a few redundent public warnings. 2019-04-16 21:56:49 -07:00
Mathew Polzin b1adc60719 Update package and podspec files 2019-04-16 21:52:50 -07:00
Mathew Polzin 423e61b285 Merge branch 'master' into swift-5 2019-04-16 21:42:17 -07:00
Mathew Polzin 895d575cdb Fix indentation in README 2019-04-14 21:03:14 -07:00
Mathew Polzin 16004051e9 Update language version to 5.0 and specify deployment targets for iOS and Mac OS. 2019-02-17 15:13:02 -08:00
Mathew Polzin 864a66f1ea Merge remote-tracking branch 'origin/master' into swift-5 2019-02-17 14:43:19 -08:00
Mathew Polzin 0c7bf9a92d Merge branch 'master' into swift-5 2019-01-29 16:42:59 -08:00
Mathew Polzin b294cec542 Merge remote-tracking branch 'origin/master' into swift-5 2019-01-08 21:27:39 -08:00
Mathew Polzin 11e8d13f02 Switch package to swift 5, fix warnings. 2019-01-08 20:47:12 -08:00
8 changed files with 21 additions and 58 deletions
@@ -49,11 +49,15 @@ print("-----")
// MARK: - Pass successfully parsed body to other parts of the code
/*
---- CRASHING IN XCODE 10.2 PLAYGROUND ----
if case let .data(bodyData) = peopleResponse.body {
print("first person's name: \(bodyData.primary.values[0][\.fullName])")
} else {
print("no body data")
}
*/
// MARK: - Work in the abstract
+1 -1
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<playground version='6.0' target-platform='macos' executeOnSourceChanges='false'>
<playground version='6.0' target-platform='macos'>
<pages>
<page name='Test Library'/>
<page name='Usage'/>
+3 -3
View File
@@ -16,7 +16,7 @@ Pod::Spec.new do |spec|
#
spec.name = "JSONAPI"
spec.version = "0.19.0"
spec.version = "0.20.0"
spec.summary = "Swift Codable JSON API framework."
# This description is used to generate tags and improve search results.
@@ -132,10 +132,10 @@ See the JSON API Spec here: https://jsonapi.org/format/
# where they will only apply to your library. If you depend on other Podspecs
# you can include multiple dependencies to ensure it works.
spec.swift_version = "4.2"
spec.swift_version = "5.0"
# spec.requires_arc = true
# spec.xcconfig = { "HEADER_SEARCH_PATHS" => "$(SDKROOT)/usr/include/libxml2" }
spec.dependency "Poly", "~> 1.1"
spec.dependency "Poly", "~> 2.0"
end
+2 -2
View File
@@ -6,8 +6,8 @@
"repositoryURL": "https://github.com/mattpolzin/Poly.git",
"state": {
"branch": null,
"revision": "77f45b8963a51c02d71fc4075eba5cff47ff0d07",
"version": "1.0.0"
"revision": "d24d4c1214dd05f89eb1182a46592856dd0a0645",
"version": "2.0.0"
}
}
]
+7 -3
View File
@@ -1,10 +1,14 @@
// swift-tools-version:4.2
// swift-tools-version:5.0
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "JSONAPI",
platforms: [
.macOS(.v10_10),
.iOS(.v10)
],
products: [
.library(
name: "JSONAPI",
@@ -14,7 +18,7 @@ let package = Package(
targets: ["JSONAPITesting"])
],
dependencies: [
.package(url: "https://github.com/mattpolzin/Poly.git", from: "1.0.0"),
.package(url: "https://github.com/mattpolzin/Poly.git", from: "2.0.0"),
],
targets: [
.target(
@@ -30,5 +34,5 @@ let package = Package(
name: "JSONAPITestingTests",
dependencies: ["JSONAPI", "JSONAPITesting"])
],
swiftLanguageVersions: [.v4_2]
swiftLanguageVersions: [.v5]
)
+1 -1
View File
@@ -90,7 +90,7 @@ If you find something wrong with this library and it isn't already mentioned und
To use this framework in your project via Cocoapods instead of Swift Package Manager, add the following dependencies to your Podfile.
```
pod 'Poly', :git => 'https://github.com/mattpolzin/Poly.git'
pod 'JSONAPI', :git => 'https://github.com/mattpolzin/JSONAPI.git'
pod 'JSONAPI', :git => 'https://github.com/mattpolzin/JSONAPI.git'
```
### Xcode project
-45
View File
@@ -1,45 +0,0 @@
//
// Result.swift
// JSONAPI
//
// Created by Mathew Polzin on 12/5/18.
//
enum Result<T, E: Swift.Error> {
case success(T)
case failure(E)
var value: T? {
guard case .success(let val) = self else {
return nil
}
return val
}
var error: E? {
guard case .failure(let err) = self else {
return nil
}
return err
}
func map<U>(_ transform: (T) -> U) -> Result<U, E> {
switch self {
case .failure(let err):
return .failure(err)
case .success(let val):
return .success(transform(val))
}
}
}
extension Result: CustomStringConvertible where T: CustomStringConvertible, E: CustomStringConvertible {
var description: String {
switch self {
case .success(let val):
return String(describing: val)
case .failure(let err):
return String(describing: err)
}
}
}
+3 -3
View File
@@ -86,10 +86,10 @@ public extension PolyProxyTests {
public typealias Relationships = NoRelationships
}
public typealias UserA = BasicEntity<UserDescription1>
public typealias UserB = BasicEntity<UserDescription2>
typealias UserA = BasicEntity<UserDescription1>
typealias UserB = BasicEntity<UserDescription2>
public typealias User = Poly2<UserA, UserB>
typealias User = Poly2<UserA, UserB>
}
extension Poly2: EntityProxy, JSONTyped where A == PolyProxyTests.UserA, B == PolyProxyTests.UserB {