-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathHapticEngineClientLive.swift
47 lines (39 loc) · 1.3 KB
/
HapticEngineClientLive.swift
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#if os(iOS)
import HapticEngineClient
import UIKit
extension HapticEngineClient {
public static let live: HapticEngineClient = .init(generator: .live)
}
extension HapticEngineClient.Operations.CreateFeedback {
public static var live: Self {
return .init { input in
switch input {
case .success : return .success
case .warning : return .warning
case .error : return .error
case .selection : return .selection
case let .light(intensity):
guard let intensity = intensity
else { return .light }
return .light(intensity: CGFloat(intensity))
case let .medium(intensity):
guard let intensity = intensity
else { return .medium }
return .medium(intensity: CGFloat(intensity))
case let .heavy(intensity):
guard let intensity = intensity
else { return .heavy }
return .heavy(intensity: CGFloat(intensity))
case let .soft(intensity):
guard let intensity = intensity
else { return .soft }
return .soft(intensity: CGFloat(intensity))
case let .rigid(intensity):
guard let intensity = intensity
else { return .rigid }
return .rigid(intensity: CGFloat(intensity))
}
}
}
}
#endif