ObjectMapper extensions for RxSwift
RxObjectMapper is a set of extensions over Observable<Element>
that transforms an Observable<Any>
in Observable<T>
or Observable<[T]>
where T is Mappable
.
mapObject
transforms Observable<Any>
into Observable<T>
where T is Mappable
.
let url = URL(string: "https://jsonplaceholder.typicode.com/posts/1")!
URLSession.shared
.rx.json(url: url)
.mapObject(type: Post.self)
.subscribe(
onNext: { (post: Post) in
print("Post title => \(post.title)")
},
onError: { _ in
print("Error")
}
)
.addDisposableTo(disposeBag)
mapArray
transforms Observable<Any>
into Observable<[T]>
where T is Mappable
.
URLSession.shared
.rx.json(url: URL(string: "https://jsonplaceholder.typicode.com/posts")!)
.mapArray(type: Post.self)
.subscribe(
onNext: { (posts: [Post]) in
// ...
},
onError: { _ in
print("Error")
}
)
.addDisposableTo(disposeBag)
To run the example project, clone the repo, and run pod install
from the Example directory first.
RxObjectMapper relies on:
RxObjectMapper is available through CocoaPods. To install
it, simply add the following line to your Podfile:
pod "RxObjectMapper"
fmo91, ortizfernandomartin@gmail.com
RxObjectMapper is available under the MIT license. See the LICENSE file for more info.