Skip to content

Instantly share code, notes, and snippets.

@grafele
grafele / Publisher+Anonymous.swift
Last active December 27, 2023 01:27
Easiest way of creating a Combine-Publisher using a closure. Equivalent to Observable.create from RxSwift
extension Publishers {
public struct Anonymous<Output, Failure: Swift.Error>: Publisher {
private var closure: (AnySubscriber<Output, Failure>) -> Void
public init(closure: @escaping (AnySubscriber<Output, Failure>) -> Void) {
self.closure = closure
}
public func receive<S>(subscriber: S) where S : Subscriber, Anonymous.Failure == S.Failure, Anonymous.Output == S.Input {
protocol JSONSerializable {
func serializeAsJSON() -> Data?
}
protocol JSONDeserializable {
static func deserialize(_ jsonData: Any) -> AnyObject?
static func deserializeArray(_ jsonData: Any) -> [AnyObject]?
}
// MARK: Default implementations
<a href="itms-services://?action=download-manifest&url=http://169.254.158.178/mainifest.plist">
click this link to install
</a>