|
15 | 15 | import Foundation |
16 | 16 |
|
17 | 17 | /// A type that can be represented as a ``TemplateInput``. |
| 18 | +@available(iOS 15.0, macOS 12.0, macCatalyst 15.0, tvOS 15.0, watchOS 8.0, *) |
18 | 19 | public protocol TemplateInputRepresentable: Encodable, Sendable { |
19 | 20 | var templateInputRepresentation: TemplateInput { get } |
20 | 21 | } |
21 | 22 |
|
| 23 | +@available(iOS 15.0, macOS 12.0, macCatalyst 15.0, tvOS 15.0, watchOS 8.0, *) |
22 | 24 | extension String: TemplateInputRepresentable { |
23 | 25 | public var templateInputRepresentation: TemplateInput { TemplateInput(value: .string(self)) } |
24 | 26 | } |
25 | 27 |
|
| 28 | +@available(iOS 15.0, macOS 12.0, macCatalyst 15.0, tvOS 15.0, watchOS 8.0, *) |
26 | 29 | extension Int: TemplateInputRepresentable { |
27 | 30 | public var templateInputRepresentation: TemplateInput { |
28 | 31 | TemplateInput(value: .number(Double(self))) |
29 | 32 | } |
30 | 33 | } |
31 | 34 |
|
| 35 | +@available(iOS 15.0, macOS 12.0, macCatalyst 15.0, tvOS 15.0, watchOS 8.0, *) |
32 | 36 | extension Double: TemplateInputRepresentable { |
33 | 37 | public var templateInputRepresentation: TemplateInput { TemplateInput(value: .number(self)) } |
34 | 38 | } |
35 | 39 |
|
| 40 | +@available(iOS 15.0, macOS 12.0, macCatalyst 15.0, tvOS 15.0, watchOS 8.0, *) |
36 | 41 | extension Float: TemplateInputRepresentable { |
37 | 42 | public var templateInputRepresentation: TemplateInput { |
38 | 43 | TemplateInput(value: .number(Double(self))) |
39 | 44 | } |
40 | 45 | } |
41 | 46 |
|
| 47 | +@available(iOS 15.0, macOS 12.0, macCatalyst 15.0, tvOS 15.0, watchOS 8.0, *) |
42 | 48 | extension Bool: TemplateInputRepresentable { |
43 | 49 | public var templateInputRepresentation: TemplateInput { TemplateInput(value: .bool(self)) } |
44 | 50 | } |
45 | 51 |
|
| 52 | +@available(iOS 15.0, macOS 12.0, macCatalyst 15.0, tvOS 15.0, watchOS 8.0, *) |
46 | 53 | extension Array: TemplateInputRepresentable where Element: TemplateInputRepresentable { |
47 | 54 | public var templateInputRepresentation: TemplateInput { |
48 | 55 | TemplateInput(value: .array(map { TemplateInput($0).value })) |
49 | 56 | } |
50 | 57 | } |
51 | 58 |
|
| 59 | +@available(iOS 15.0, macOS 12.0, macCatalyst 15.0, tvOS 15.0, watchOS 8.0, *) |
52 | 60 | extension Dictionary: TemplateInputRepresentable |
53 | 61 | where Key == String, Value: TemplateInputRepresentable { |
54 | 62 | public var templateInputRepresentation: TemplateInput { |
|
0 commit comments