blob: 89e205924960d128d0ea014240824e46df73d5d1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
//
// PromiseObserver.swift
// PromiseObserver
//
// Created by pronebird on 22/08/2021.
// Copyright © 2021 Mullvad VPN AB. All rights reserved.
//
import Foundation
protocol PromiseObserver {
associatedtype Value
func receiveCompletion(_ completion: PromiseCompletion<Value>)
}
final class AnyPromiseObserver<Value>: PromiseObserver {
private let onReceiveCompletion: (PromiseCompletion<Value>) -> Void
init(_ receiveCompletionHandler: @escaping (PromiseCompletion<Value>) -> Void) {
onReceiveCompletion = receiveCompletionHandler
}
func receiveCompletion(_ completion: PromiseCompletion<Value>) {
onReceiveCompletion(completion)
}
}
|