Swiftpack.co - Package - onurhuseyincantay/Hover



apmCocoaPods compatible Carthage compatible Swift Package Manager compatible

Currently Available

| Platform | Version | | ------------- |:------------- | | iOS | 13.0 | | tvOS | 13.0 | | macOS | 10.15 | | watchOS | 6.0 | | macCatalyst | 13.0 |

Hover is a Network layer which uses Apple's new framework Combine and provides async network calls with different kind of request functions.

Cocoapods Installation

target 'MyApp' do
  pod 'HoverKitSDK', "~> 1.0.3"
end

Carthage Installation

github "onurhuseyincantay/Hover" ~> "1.0.3"

Swift Package Manager Installation

Package | branch :-------------------------:|:-------------------------: |

Sample Usage

Provide Target

 enum UserTarget {
  case login(email: String, password: String) 
 }
 
 extension UserTarget: NetworkTarget { 
    var path: String {
        switch self {
        ...
    }
    var providerType: AuthProviderType {
        ...
    }
    
    var baseURL: URL {
        ...
    }
    
    var methodType: MethodType {
        switch self {
          ...
        }
    }
    
    var contentType: ContentType? {
        switch self {
         ...
        }
    }
    
    var workType: WorkType {
        switch self {
          ...
        }
    }
    
    var headers: [String : String]? {
        ...
    }
 }

Request With Publisher

let provider = Hover()
let publisher = provider.request(
            with: UserTarget.login(email: "ohc3807@gmail.com", password: "123456")
            class: UserModel.self
        )
...
publisher.sink({ ... })

Request With Subscriber

let provider = Hover()
let userSubscriber = UserSubscriber()
provider.request(with: UserTarget.login(email: "ohc3807@gmail.com", password: "123456"), class: UserModel.self, subscriber: userSubscriber)

Tested with JsonPlaceholder Inspired By Moya Developed with 🧡

Github

link
Stars: 22

Dependencies

Used By

Total: 0

Releases

First Stable Version - 2020-01-17 12:28:35

First Baby Steps

Minor refactors - 2019-12-23 10:59:38

removed unnecesary code updated Podspec with targets

- 2019-11-11 12:25:18

First Release - 2019-10-28 13:55:38