@tokamakdev/plugin-local-authentication 0.1.0-beta.126 → 0.1.0-beta.128
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -8
- package/package.json +3 -5
- package/src/index.ts +4 -0
- package/tokamak-plugin.json +0 -25
- package/android/Bindings.kt +0 -271
- package/android/bindings.ts +0 -1144
- package/apple/Bindings.swift +0 -532
- package/apple/bindings.ts +0 -721
package/apple/Bindings.swift
DELETED
|
@@ -1,532 +0,0 @@
|
|
|
1
|
-
// Generated by `tok bindings` from the iOS and macOS 26.2 SDKs: LocalAuthentication. Do not edit.
|
|
2
|
-
|
|
3
|
-
import Foundation
|
|
4
|
-
import LocalAuthentication
|
|
5
|
-
|
|
6
|
-
#if hasAttribute(diagnose)
|
|
7
|
-
@diagnose(DeprecatedDeclaration, as: ignored)
|
|
8
|
-
#endif
|
|
9
|
-
final class TokamakBindings_local_authentication: TokamakPlugin {
|
|
10
|
-
let id = "local-authentication/apple"
|
|
11
|
-
private let host: TokamakHost
|
|
12
|
-
|
|
13
|
-
init(host: TokamakHost) { self.host = host }
|
|
14
|
-
|
|
15
|
-
func callBytes(method: String, payload: Data, reply: @escaping TokamakPluginBytesReply)
|
|
16
|
-
throws(TokamakPluginError) -> (() -> Void)?
|
|
17
|
-
{
|
|
18
|
-
let b = try TokamakBinding(payload, resources: host.resources, reply: reply)
|
|
19
|
-
switch method {
|
|
20
|
-
case "LAAuthenticationRequirement.biometry":
|
|
21
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
22
|
-
return b.run { let value = LAAuthenticationRequirement.biometry; return b.encode(object: value) }
|
|
23
|
-
case "LAAuthenticationRequirement.biometryCurrentSet":
|
|
24
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
25
|
-
return b.run { let value = LAAuthenticationRequirement.biometryCurrentSet; return b.encode(object: value) }
|
|
26
|
-
case "LAAuthenticationRequirement.default":
|
|
27
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
28
|
-
return b.run { let value = LAAuthenticationRequirement.default; return b.encode(object: value) }
|
|
29
|
-
case "LAAuthenticationRequirement.init()":
|
|
30
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
31
|
-
return b.run { let value = LAAuthenticationRequirement(); return b.encode(object: value) }
|
|
32
|
-
case "LABiometryFallbackRequirement.default":
|
|
33
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
34
|
-
return b.run { let value = LABiometryFallbackRequirement.default; return b.encode(object: value) }
|
|
35
|
-
case "LABiometryFallbackRequirement.devicePasscode":
|
|
36
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
37
|
-
return b.run { let value = LABiometryFallbackRequirement.devicePasscode; return b.encode(object: value) }
|
|
38
|
-
case "LABiometryFallbackRequirement.init()":
|
|
39
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
40
|
-
return b.run { let value = LABiometryFallbackRequirement(); return b.encode(object: value) }
|
|
41
|
-
case "LAContext.biometryType":
|
|
42
|
-
guard #available(iOS 11.0, macOS 10.13.2, *) else { throw TokamakBinding.unavailable }
|
|
43
|
-
return b.run { let value = try b.target(LAContext.self).biometryType; return TokamakBindings_local_authentication.encode(value, b) }
|
|
44
|
-
case "LAContext.canEvaluatePolicy(_:error:)":
|
|
45
|
-
guard #available(iOS 8.0, macOS 10.10, *) else { throw TokamakBinding.unavailable }
|
|
46
|
-
return b.run { var error: NSError?; let value = try b.target(LAContext.self).canEvaluatePolicy(TokamakBindings_local_authentication.decode(b[0], b, as: LAPolicy.self), error: &error); if let error { throw error }; return b.encode(value) }
|
|
47
|
-
case "LAContext.domainState":
|
|
48
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
49
|
-
return b.run { let value = try b.target(LAContext.self).domainState; return b.encode(object: value) }
|
|
50
|
-
case "LAContext.evaluatePolicy(_:localizedReason:)":
|
|
51
|
-
guard #available(iOS 8.0, macOS 10.10, *) else { throw TokamakBinding.unavailable }
|
|
52
|
-
return b.task { let value = try await b.target(LAContext.self).evaluatePolicy(TokamakBindings_local_authentication.decode(b[0], b, as: LAPolicy.self), localizedReason: b.decode(b[1], as: String.self)); return b.encode(value) }
|
|
53
|
-
case "LAContext.evaluatedPolicyDomainState":
|
|
54
|
-
guard #available(iOS 9.0, macOS 10.11, *) else { throw TokamakBinding.unavailable }
|
|
55
|
-
return b.run { let value = try b.target(LAContext.self).evaluatedPolicyDomainState; return b.encode(optional: value) { b.encode($0) } }
|
|
56
|
-
case "LAContext.interactionNotAllowed":
|
|
57
|
-
guard #available(iOS 11.0, macOS 10.13, *) else { throw TokamakBinding.unavailable }
|
|
58
|
-
return b.run { let value = try b.target(LAContext.self).interactionNotAllowed; return b.encode(value) }
|
|
59
|
-
case "LAContext.interactionNotAllowed=":
|
|
60
|
-
guard #available(iOS 11.0, macOS 10.13, *) else { throw TokamakBinding.unavailable }
|
|
61
|
-
return b.run { try b.target(LAContext.self).interactionNotAllowed = b.decode(b[0], as: Bool.self); return nil }
|
|
62
|
-
case "LAContext.invalidate()":
|
|
63
|
-
guard #available(iOS 9.0, macOS 10.11, *) else { throw TokamakBinding.unavailable }
|
|
64
|
-
return b.run { try b.target(LAContext.self).invalidate(); return nil }
|
|
65
|
-
case "LAContext.isCredentialSet(_:)":
|
|
66
|
-
guard #available(iOS 9.0, macOS 10.11, *) else { throw TokamakBinding.unavailable }
|
|
67
|
-
return b.run { let value = try b.target(LAContext.self).isCredentialSet(TokamakBindings_local_authentication.decode(b[0], b, as: LACredentialType.self)); return b.encode(value) }
|
|
68
|
-
case "LAContext.localizedCancelTitle":
|
|
69
|
-
guard #available(iOS 10.0, macOS 10.12, *) else { throw TokamakBinding.unavailable }
|
|
70
|
-
return b.run { let value = try b.target(LAContext.self).localizedCancelTitle; return b.encode(optional: value) { b.encode($0) } }
|
|
71
|
-
case "LAContext.localizedCancelTitle=":
|
|
72
|
-
guard #available(iOS 10.0, macOS 10.12, *) else { throw TokamakBinding.unavailable }
|
|
73
|
-
return b.run { try b.target(LAContext.self).localizedCancelTitle = b.optional(b[0]) { try b.decode($0, as: String.self) }; return nil }
|
|
74
|
-
case "LAContext.localizedFallbackTitle":
|
|
75
|
-
guard #available(iOS 8.0, macOS 10.10, *) else { throw TokamakBinding.unavailable }
|
|
76
|
-
return b.run { let value = try b.target(LAContext.self).localizedFallbackTitle; return b.encode(optional: value) { b.encode($0) } }
|
|
77
|
-
case "LAContext.localizedFallbackTitle=":
|
|
78
|
-
guard #available(iOS 8.0, macOS 10.10, *) else { throw TokamakBinding.unavailable }
|
|
79
|
-
return b.run { try b.target(LAContext.self).localizedFallbackTitle = b.optional(b[0]) { try b.decode($0, as: String.self) }; return nil }
|
|
80
|
-
case "LAContext.localizedReason":
|
|
81
|
-
guard #available(iOS 11.0, macOS 10.13, *) else { throw TokamakBinding.unavailable }
|
|
82
|
-
return b.run { let value = try b.target(LAContext.self).localizedReason; return b.encode(value) }
|
|
83
|
-
case "LAContext.localizedReason=":
|
|
84
|
-
guard #available(iOS 11.0, macOS 10.13, *) else { throw TokamakBinding.unavailable }
|
|
85
|
-
return b.run { try b.target(LAContext.self).localizedReason = b.decode(b[0], as: String.self); return nil }
|
|
86
|
-
case "LAContext.maxBiometryFailures":
|
|
87
|
-
guard #available(iOS 8.3, macOS 10.10.3, *) else { throw TokamakBinding.unavailable }
|
|
88
|
-
return b.run { let value = try b.target(LAContext.self).maxBiometryFailures; return b.encode(optional: value) { b.encode($0) } }
|
|
89
|
-
case "LAContext.maxBiometryFailures=":
|
|
90
|
-
guard #available(iOS 8.3, macOS 10.10.3, *) else { throw TokamakBinding.unavailable }
|
|
91
|
-
return b.run { try b.target(LAContext.self).maxBiometryFailures = b.optional(b[0]) { try b.decode($0, as: NSNumber.self) }; return nil }
|
|
92
|
-
case "LAContext.setCredential(_:type:)":
|
|
93
|
-
guard #available(iOS 9.0, macOS 10.11, *) else { throw TokamakBinding.unavailable }
|
|
94
|
-
return b.run { let value = try b.target(LAContext.self).setCredential(b.optional(b[0]) { try b.decode($0, as: Data.self) }, type: TokamakBindings_local_authentication.decode(b[1], b, as: LACredentialType.self)); return b.encode(value) }
|
|
95
|
-
case "LAContext.touchIDAuthenticationAllowableReuseDuration":
|
|
96
|
-
guard #available(iOS 9.0, macOS 10.12, *) else { throw TokamakBinding.unavailable }
|
|
97
|
-
return b.run { let value = try b.target(LAContext.self).touchIDAuthenticationAllowableReuseDuration; return b.encode(value) }
|
|
98
|
-
case "LAContext.touchIDAuthenticationAllowableReuseDuration=":
|
|
99
|
-
guard #available(iOS 9.0, macOS 10.12, *) else { throw TokamakBinding.unavailable }
|
|
100
|
-
return b.run { try b.target(LAContext.self).touchIDAuthenticationAllowableReuseDuration = b.decode(b[0], as: TimeInterval.self); return nil }
|
|
101
|
-
case "LAContext.init()":
|
|
102
|
-
guard #available(iOS 8.0, macOS 10.10, *) else { throw TokamakBinding.unavailable }
|
|
103
|
-
return b.run { let value = LAContext(); return b.encode(object: value) }
|
|
104
|
-
case "LADomainState.biometry":
|
|
105
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
106
|
-
return b.run { let value = try b.target(LADomainState.self).biometry; return b.encode(object: value) }
|
|
107
|
-
case "LADomainState.companion":
|
|
108
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
109
|
-
return b.run { let value = try b.target(LADomainState.self).companion; return b.encode(object: value) }
|
|
110
|
-
case "LADomainState.stateHash":
|
|
111
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
112
|
-
return b.run { let value = try b.target(LADomainState.self).stateHash; return b.encode(optional: value) { b.encode($0) } }
|
|
113
|
-
case "LADomainStateBiometry.biometryType":
|
|
114
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
115
|
-
return b.run { let value = try b.target(LADomainStateBiometry.self).biometryType; return TokamakBindings_local_authentication.encode(value, b) }
|
|
116
|
-
case "LADomainStateBiometry.stateHash":
|
|
117
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
118
|
-
return b.run { let value = try b.target(LADomainStateBiometry.self).stateHash; return b.encode(optional: value) { b.encode($0) } }
|
|
119
|
-
case "LADomainStateCompanion.availableCompanionTypes":
|
|
120
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
121
|
-
return b.run { let value = try b.target(LADomainStateCompanion.self).availableCompanionTypes; return b.encode(array: value) { TokamakBindings_local_authentication.encode($0, b) } }
|
|
122
|
-
case "LADomainStateCompanion.stateHash":
|
|
123
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
124
|
-
return b.run { let value = try b.target(LADomainStateCompanion.self).stateHash; return b.encode(optional: value) { b.encode($0) } }
|
|
125
|
-
case "LADomainStateCompanion.stateHash(for:)":
|
|
126
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
127
|
-
return b.run { let value = try b.target(LADomainStateCompanion.self).stateHash(for: TokamakBindings_local_authentication.decode(b[0], b, as: LACompanionType.self)); return b.encode(optional: value) { b.encode($0) } }
|
|
128
|
-
case "LAEnvironment.addObserver(_:)":
|
|
129
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
130
|
-
return b.run { try b.target(LAEnvironment.self).addObserver(b.object(b[0], as: (any LAEnvironment.Observer).self)); return nil }
|
|
131
|
-
case "LAEnvironment.currentUser":
|
|
132
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
133
|
-
return b.run { let value = LAEnvironment.currentUser; return b.encode(object: value) }
|
|
134
|
-
case "LAEnvironment.removeObserver(_:)":
|
|
135
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
136
|
-
return b.run { try b.target(LAEnvironment.self).removeObserver(b.object(b[0], as: (any LAEnvironment.Observer).self)); return nil }
|
|
137
|
-
case "LAEnvironment.state":
|
|
138
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
139
|
-
return b.run { let value = try b.target(LAEnvironment.self).state; return b.encode(object: value) }
|
|
140
|
-
case "LAEnvironment.Mechanism.iconSystemName":
|
|
141
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
142
|
-
return b.run { let value = try b.target(LAEnvironment.Mechanism.self).iconSystemName; return b.encode(value) }
|
|
143
|
-
case "LAEnvironment.Mechanism.isUsable":
|
|
144
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
145
|
-
return b.run { let value = try b.target(LAEnvironment.Mechanism.self).isUsable; return b.encode(value) }
|
|
146
|
-
case "LAEnvironment.Mechanism.localizedName":
|
|
147
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
148
|
-
return b.run { let value = try b.target(LAEnvironment.Mechanism.self).localizedName; return b.encode(value) }
|
|
149
|
-
case "LAEnvironment.MechanismBiometry.biometryType":
|
|
150
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
151
|
-
return b.run { let value = try b.target(LAEnvironment.MechanismBiometry.self).biometryType; return TokamakBindings_local_authentication.encode(value, b) }
|
|
152
|
-
case "LAEnvironment.MechanismBiometry.builtInSensorInaccessible":
|
|
153
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
154
|
-
return b.run { let value = try b.target(LAEnvironment.MechanismBiometry.self).builtInSensorInaccessible; return b.encode(value) }
|
|
155
|
-
case "LAEnvironment.MechanismBiometry.isEnrolled":
|
|
156
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
157
|
-
return b.run { let value = try b.target(LAEnvironment.MechanismBiometry.self).isEnrolled; return b.encode(value) }
|
|
158
|
-
case "LAEnvironment.MechanismBiometry.isLockedOut":
|
|
159
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
160
|
-
return b.run { let value = try b.target(LAEnvironment.MechanismBiometry.self).isLockedOut; return b.encode(value) }
|
|
161
|
-
case "LAEnvironment.MechanismBiometry.stateHash":
|
|
162
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
163
|
-
return b.run { let value = try b.target(LAEnvironment.MechanismBiometry.self).stateHash; return b.encode(value) }
|
|
164
|
-
case "LAEnvironment.MechanismCompanion.stateHash":
|
|
165
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
166
|
-
return b.run { let value = try b.target(LAEnvironment.MechanismCompanion.self).stateHash; return b.encode(optional: value) { b.encode($0) } }
|
|
167
|
-
case "LAEnvironment.MechanismCompanion.type":
|
|
168
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
169
|
-
return b.run { let value = try b.target(LAEnvironment.MechanismCompanion.self).type; return TokamakBindings_local_authentication.encode(value, b) }
|
|
170
|
-
case "LAEnvironment.MechanismUserPassword.isSet":
|
|
171
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
172
|
-
return b.run { let value = try b.target(LAEnvironment.MechanismUserPassword.self).isSet; return b.encode(value) }
|
|
173
|
-
case "LAEnvironment.State.allMechanisms":
|
|
174
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
175
|
-
return b.run { let value = try b.target(LAEnvironment.State.self).allMechanisms; return b.encode(array: value) { b.encode(object: $0) } }
|
|
176
|
-
case "LAEnvironment.State.biometry":
|
|
177
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
178
|
-
return b.run { let value = try b.target(LAEnvironment.State.self).biometry; return b.encode(optional: value) { b.encode(object: $0) } }
|
|
179
|
-
case "LAEnvironment.State.companions":
|
|
180
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
181
|
-
return b.run { let value = try b.target(LAEnvironment.State.self).companions; return b.encode(array: value) { b.encode(object: $0) } }
|
|
182
|
-
case "LAEnvironment.State.userPassword":
|
|
183
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
184
|
-
return b.run { let value = try b.target(LAEnvironment.State.self).userPassword; return b.encode(optional: value) { b.encode(object: $0) } }
|
|
185
|
-
case "LAPersistedRight.key":
|
|
186
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
187
|
-
return b.run { let value = try b.target(LAPersistedRight.self).key; return b.encode(object: value) }
|
|
188
|
-
case "LAPersistedRight.secret":
|
|
189
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
190
|
-
return b.run { let value = try b.target(LAPersistedRight.self).secret; return b.encode(object: value) }
|
|
191
|
-
case "LAPrivateKey.publicKey":
|
|
192
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
193
|
-
return b.run { let value = try b.target(LAPrivateKey.self).publicKey; return b.encode(object: value) }
|
|
194
|
-
case "LAPublicKey.bytes":
|
|
195
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
196
|
-
return b.task { let value = try await b.target(LAPublicKey.self).bytes; return b.encode(value) }
|
|
197
|
-
case "LARight.authorize(localizedReason:)":
|
|
198
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
199
|
-
return b.task { try await b.target(LARight.self).authorize(localizedReason: b.decode(b[0], as: String.self)); return nil }
|
|
200
|
-
case "LARight.checkCanAuthorize()":
|
|
201
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
202
|
-
return b.task { try await b.target(LARight.self).checkCanAuthorize(); return nil }
|
|
203
|
-
case "LARight.deauthorize()":
|
|
204
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
205
|
-
return b.task { try await b.target(LARight.self).deauthorize(); return nil }
|
|
206
|
-
case "LARight.init()":
|
|
207
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
208
|
-
return b.run { let value = LARight(); return b.encode(object: value) }
|
|
209
|
-
case "LARight.init(requirement:)":
|
|
210
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
211
|
-
return b.run { let value = try LARight(requirement: b.object(b[0], as: LAAuthenticationRequirement.self)); return b.encode(object: value) }
|
|
212
|
-
case "LARight.state":
|
|
213
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
214
|
-
return b.run { let value = try b.target(LARight.self).state; return TokamakBindings_local_authentication.encode(value, b) }
|
|
215
|
-
case "LARight.tag":
|
|
216
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
217
|
-
return b.run { let value = try b.target(LARight.self).tag; return b.encode(value) }
|
|
218
|
-
case "LARight.tag=":
|
|
219
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
220
|
-
return b.run { try b.target(LARight.self).tag = b.decode(b[0], as: Int.self); return nil }
|
|
221
|
-
case "LARightStore.removeAllRights()":
|
|
222
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
223
|
-
return b.task { try await b.target(LARightStore.self).removeAllRights(); return nil }
|
|
224
|
-
case "LARightStore.removeRight(_:)":
|
|
225
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
226
|
-
return b.task { try await b.target(LARightStore.self).removeRight(b.object(b[0], as: LAPersistedRight.self)); return nil }
|
|
227
|
-
case "LARightStore.removeRight(forIdentifier:)":
|
|
228
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
229
|
-
return b.task { try await b.target(LARightStore.self).removeRight(forIdentifier: b.decode(b[0], as: String.self)); return nil }
|
|
230
|
-
case "LARightStore.right(forIdentifier:)":
|
|
231
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
232
|
-
return b.task { let value = try await b.target(LARightStore.self).right(forIdentifier: b.decode(b[0], as: String.self)); return b.encode(object: value) }
|
|
233
|
-
case "LARightStore.saveRight(_:identifier:)":
|
|
234
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
235
|
-
return b.task { let value = try await b.target(LARightStore.self).saveRight(b.object(b[0], as: LARight.self), identifier: b.decode(b[1], as: String.self)); return b.encode(object: value) }
|
|
236
|
-
case "LARightStore.saveRight(_:identifier:secret:)":
|
|
237
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
238
|
-
return b.task { let value = try await b.target(LARightStore.self).saveRight(b.object(b[0], as: LARight.self), identifier: b.decode(b[1], as: String.self), secret: b.decode(b[2], as: Data.self)); return b.encode(object: value) }
|
|
239
|
-
case "LARightStore.shared":
|
|
240
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
241
|
-
return b.run { let value = LARightStore.shared; return b.encode(object: value) }
|
|
242
|
-
case "LASecret.rawData":
|
|
243
|
-
guard #available(iOS 16.0, macOS 13.0, *) else { throw TokamakBinding.unavailable }
|
|
244
|
-
return b.task { let value = try await b.target(LASecret.self).rawData; return b.encode(value) }
|
|
245
|
-
case "LAErrorDomain":
|
|
246
|
-
guard #available(iOS 8.3, macOS 10.11, *) else { throw TokamakBinding.unavailable }
|
|
247
|
-
return b.run { let value = LAErrorDomain; return b.encode(value) }
|
|
248
|
-
case "LATouchIDAuthenticationMaximumAllowableReuseDuration":
|
|
249
|
-
guard #available(iOS 9.0, macOS 10.12, *) else { throw TokamakBinding.unavailable }
|
|
250
|
-
return b.run { let value = LATouchIDAuthenticationMaximumAllowableReuseDuration; return b.encode(value) }
|
|
251
|
-
case "kLAAccessControlOperationCreateItem":
|
|
252
|
-
return b.run { let value = kLAAccessControlOperationCreateItem; return b.encode(value) }
|
|
253
|
-
case "kLAAccessControlOperationCreateKey":
|
|
254
|
-
return b.run { let value = kLAAccessControlOperationCreateKey; return b.encode(value) }
|
|
255
|
-
case "kLAAccessControlOperationUseItem":
|
|
256
|
-
return b.run { let value = kLAAccessControlOperationUseItem; return b.encode(value) }
|
|
257
|
-
case "kLAAccessControlOperationUseKeyDecrypt":
|
|
258
|
-
return b.run { let value = kLAAccessControlOperationUseKeyDecrypt; return b.encode(value) }
|
|
259
|
-
case "kLAAccessControlOperationUseKeyKeyExchange":
|
|
260
|
-
return b.run { let value = kLAAccessControlOperationUseKeyKeyExchange; return b.encode(value) }
|
|
261
|
-
case "kLAAccessControlOperationUseKeySign":
|
|
262
|
-
return b.run { let value = kLAAccessControlOperationUseKeySign; return b.encode(value) }
|
|
263
|
-
case "kLABiometryTypeFaceID":
|
|
264
|
-
return b.run { let value = kLABiometryTypeFaceID; return b.encode(value) }
|
|
265
|
-
case "kLABiometryTypeNone":
|
|
266
|
-
return b.run { let value = kLABiometryTypeNone; return b.encode(value) }
|
|
267
|
-
case "kLABiometryTypeOpticID":
|
|
268
|
-
return b.run { let value = kLABiometryTypeOpticID; return b.encode(value) }
|
|
269
|
-
case "kLABiometryTypeTouchID":
|
|
270
|
-
return b.run { let value = kLABiometryTypeTouchID; return b.encode(value) }
|
|
271
|
-
case "kLACompanionTypeMac":
|
|
272
|
-
return b.run { let value = kLACompanionTypeMac; return b.encode(value) }
|
|
273
|
-
case "kLACompanionTypeNone":
|
|
274
|
-
return b.run { let value = kLACompanionTypeNone; return b.encode(value) }
|
|
275
|
-
case "kLACompanionTypeVision":
|
|
276
|
-
return b.run { let value = kLACompanionTypeVision; return b.encode(value) }
|
|
277
|
-
case "kLACompanionTypeWatch":
|
|
278
|
-
return b.run { let value = kLACompanionTypeWatch; return b.encode(value) }
|
|
279
|
-
case "kLACredentialSmartCardPIN":
|
|
280
|
-
return b.run { let value = kLACredentialSmartCardPIN; return b.encode(value) }
|
|
281
|
-
case "kLACredentialTypeApplicationPassword":
|
|
282
|
-
return b.run { let value = kLACredentialTypeApplicationPassword; return b.encode(value) }
|
|
283
|
-
case "kLAErrorAppCancel":
|
|
284
|
-
return b.run { let value = kLAErrorAppCancel; return b.encode(value) }
|
|
285
|
-
case "kLAErrorAuthenticationFailed":
|
|
286
|
-
return b.run { let value = kLAErrorAuthenticationFailed; return b.encode(value) }
|
|
287
|
-
case "kLAErrorBiometryDisconnected":
|
|
288
|
-
return b.run { let value = kLAErrorBiometryDisconnected; return b.encode(value) }
|
|
289
|
-
case "kLAErrorBiometryLockout":
|
|
290
|
-
return b.run { let value = kLAErrorBiometryLockout; return b.encode(value) }
|
|
291
|
-
case "kLAErrorBiometryNotAvailable":
|
|
292
|
-
return b.run { let value = kLAErrorBiometryNotAvailable; return b.encode(value) }
|
|
293
|
-
case "kLAErrorBiometryNotEnrolled":
|
|
294
|
-
return b.run { let value = kLAErrorBiometryNotEnrolled; return b.encode(value) }
|
|
295
|
-
case "kLAErrorBiometryNotPaired":
|
|
296
|
-
return b.run { let value = kLAErrorBiometryNotPaired; return b.encode(value) }
|
|
297
|
-
case "kLAErrorCompanionNotAvailable":
|
|
298
|
-
return b.run { let value = kLAErrorCompanionNotAvailable; return b.encode(value) }
|
|
299
|
-
case "kLAErrorDomain":
|
|
300
|
-
return b.run { let value = kLAErrorDomain; return b.encode(value) }
|
|
301
|
-
case "kLAErrorInvalidContext":
|
|
302
|
-
return b.run { let value = kLAErrorInvalidContext; return b.encode(value) }
|
|
303
|
-
case "kLAErrorInvalidDimensions":
|
|
304
|
-
return b.run { let value = kLAErrorInvalidDimensions; return b.encode(value) }
|
|
305
|
-
case "kLAErrorNotInteractive":
|
|
306
|
-
return b.run { let value = kLAErrorNotInteractive; return b.encode(value) }
|
|
307
|
-
case "kLAErrorPasscodeNotSet":
|
|
308
|
-
return b.run { let value = kLAErrorPasscodeNotSet; return b.encode(value) }
|
|
309
|
-
case "kLAErrorSystemCancel":
|
|
310
|
-
return b.run { let value = kLAErrorSystemCancel; return b.encode(value) }
|
|
311
|
-
case "kLAErrorTouchIDLockout":
|
|
312
|
-
return b.run { let value = kLAErrorTouchIDLockout; return b.encode(value) }
|
|
313
|
-
case "kLAErrorTouchIDNotAvailable":
|
|
314
|
-
return b.run { let value = kLAErrorTouchIDNotAvailable; return b.encode(value) }
|
|
315
|
-
case "kLAErrorTouchIDNotEnrolled":
|
|
316
|
-
return b.run { let value = kLAErrorTouchIDNotEnrolled; return b.encode(value) }
|
|
317
|
-
case "kLAErrorUserCancel":
|
|
318
|
-
return b.run { let value = kLAErrorUserCancel; return b.encode(value) }
|
|
319
|
-
case "kLAErrorUserFallback":
|
|
320
|
-
return b.run { let value = kLAErrorUserFallback; return b.encode(value) }
|
|
321
|
-
case "kLAErrorWatchNotAvailable":
|
|
322
|
-
return b.run { let value = kLAErrorWatchNotAvailable; return b.encode(value) }
|
|
323
|
-
case "kLAPolicyDeviceOwnerAuthentication":
|
|
324
|
-
return b.run { let value = kLAPolicyDeviceOwnerAuthentication; return b.encode(value) }
|
|
325
|
-
case "kLAPolicyDeviceOwnerAuthenticationWithBiometrics":
|
|
326
|
-
return b.run { let value = kLAPolicyDeviceOwnerAuthenticationWithBiometrics; return b.encode(value) }
|
|
327
|
-
case "kLAPolicyDeviceOwnerAuthenticationWithBiometricsOrCompanion":
|
|
328
|
-
return b.run { let value = kLAPolicyDeviceOwnerAuthenticationWithBiometricsOrCompanion; return b.encode(value) }
|
|
329
|
-
case "kLAPolicyDeviceOwnerAuthenticationWithBiometricsOrWatch":
|
|
330
|
-
return b.run { let value = kLAPolicyDeviceOwnerAuthenticationWithBiometricsOrWatch; return b.encode(value) }
|
|
331
|
-
case "kLAPolicyDeviceOwnerAuthenticationWithCompanion":
|
|
332
|
-
return b.run { let value = kLAPolicyDeviceOwnerAuthenticationWithCompanion; return b.encode(value) }
|
|
333
|
-
case "kLAPolicyDeviceOwnerAuthenticationWithWatch":
|
|
334
|
-
return b.run { let value = kLAPolicyDeviceOwnerAuthenticationWithWatch; return b.encode(value) }
|
|
335
|
-
case "kLAPolicyDeviceOwnerAuthenticationWithWristDetection":
|
|
336
|
-
return b.run { let value = kLAPolicyDeviceOwnerAuthenticationWithWristDetection; return b.encode(value) }
|
|
337
|
-
default:
|
|
338
|
-
throw .notSupported("\(method) is not supported")
|
|
339
|
-
}
|
|
340
|
-
}
|
|
341
|
-
|
|
342
|
-
func subscribeBytes(method: String, payload: Data, reply: @escaping TokamakPluginBytesReply)
|
|
343
|
-
throws(TokamakPluginError) -> () -> Void
|
|
344
|
-
{
|
|
345
|
-
let b = try TokamakBinding(payload, resources: host.resources, reply: reply)
|
|
346
|
-
switch method {
|
|
347
|
-
case "LAEnvironment.Observer":
|
|
348
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
349
|
-
return b.implement(LAEnvironment_ObserverImplementation.self)
|
|
350
|
-
default:
|
|
351
|
-
throw .notSupported("\(method) is not supported")
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
@available(iOS 9.0, macOS 10.11, *)
|
|
356
|
-
private static func encode(_ value: LAAccessControlOperation, _ b: TokamakBinding) -> Any {
|
|
357
|
-
if value == .createItem { return "createItem" }
|
|
358
|
-
if value == .createKey { return "createKey" }
|
|
359
|
-
if value == .useItem { return "useItem" }
|
|
360
|
-
if #available(iOS 10.0, macOS 10.12, *), value == .useKeyDecrypt { return "useKeyDecrypt" }
|
|
361
|
-
if #available(iOS 10.0, macOS 10.12, *), value == .useKeyKeyExchange { return "useKeyKeyExchange" }
|
|
362
|
-
if value == .useKeySign { return "useKeySign" }
|
|
363
|
-
return "\(value)"
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
@available(iOS 9.0, macOS 10.11, *)
|
|
367
|
-
private static func decode(_ value: Any, _ b: TokamakBinding, as type: LAAccessControlOperation.Type) throws -> LAAccessControlOperation {
|
|
368
|
-
switch try b.decode(value, as: String.self) {
|
|
369
|
-
case "createItem":
|
|
370
|
-
return .createItem
|
|
371
|
-
case "createKey":
|
|
372
|
-
return .createKey
|
|
373
|
-
case "useItem":
|
|
374
|
-
return .useItem
|
|
375
|
-
case "useKeyDecrypt":
|
|
376
|
-
guard #available(iOS 10.0, macOS 10.12, *) else { throw TokamakBinding.unavailable }
|
|
377
|
-
return .useKeyDecrypt
|
|
378
|
-
case "useKeyKeyExchange":
|
|
379
|
-
guard #available(iOS 10.0, macOS 10.12, *) else { throw TokamakBinding.unavailable }
|
|
380
|
-
return .useKeyKeyExchange
|
|
381
|
-
case "useKeySign":
|
|
382
|
-
return .useKeySign
|
|
383
|
-
default: throw b.mismatch(value, type)
|
|
384
|
-
}
|
|
385
|
-
}
|
|
386
|
-
|
|
387
|
-
@available(iOS 11.0, macOS 10.13.2, *)
|
|
388
|
-
private static func encode(_ value: LABiometryType, _ b: TokamakBinding) -> Any {
|
|
389
|
-
if #available(macOS 10.15, *), value == .faceID { return "faceID" }
|
|
390
|
-
if #available(iOS 11.2, *), value == .none { return "none" }
|
|
391
|
-
if #available(iOS 17.0, macOS 14.0, *), value == .opticID { return "opticID" }
|
|
392
|
-
if value == .touchID { return "touchID" }
|
|
393
|
-
return "\(value)"
|
|
394
|
-
}
|
|
395
|
-
|
|
396
|
-
@available(iOS 11.0, macOS 10.13.2, *)
|
|
397
|
-
private static func decode(_ value: Any, _ b: TokamakBinding, as type: LABiometryType.Type) throws -> LABiometryType {
|
|
398
|
-
switch try b.decode(value, as: String.self) {
|
|
399
|
-
case "faceID":
|
|
400
|
-
guard #available(macOS 10.15, *) else { throw TokamakBinding.unavailable }
|
|
401
|
-
return .faceID
|
|
402
|
-
case "none":
|
|
403
|
-
guard #available(iOS 11.2, *) else { throw TokamakBinding.unavailable }
|
|
404
|
-
return .none
|
|
405
|
-
case "opticID":
|
|
406
|
-
guard #available(iOS 17.0, macOS 14.0, *) else { throw TokamakBinding.unavailable }
|
|
407
|
-
return .opticID
|
|
408
|
-
case "touchID":
|
|
409
|
-
return .touchID
|
|
410
|
-
default: throw b.mismatch(value, type)
|
|
411
|
-
}
|
|
412
|
-
}
|
|
413
|
-
|
|
414
|
-
@available(iOS 18.0, macOS 15.0, *)
|
|
415
|
-
private static func encode(_ value: LACompanionType, _ b: TokamakBinding) -> Any {
|
|
416
|
-
#if os(iOS)
|
|
417
|
-
if value == .mac { return "mac" }
|
|
418
|
-
#endif
|
|
419
|
-
#if os(iOS)
|
|
420
|
-
if #available(iOS 26.0, *), value == .vision { return "vision" }
|
|
421
|
-
#endif
|
|
422
|
-
#if os(macOS)
|
|
423
|
-
if value == .watch { return "watch" }
|
|
424
|
-
#endif
|
|
425
|
-
return "\(value)"
|
|
426
|
-
}
|
|
427
|
-
|
|
428
|
-
@available(iOS 18.0, macOS 15.0, *)
|
|
429
|
-
private static func decode(_ value: Any, _ b: TokamakBinding, as type: LACompanionType.Type) throws -> LACompanionType {
|
|
430
|
-
switch try b.decode(value, as: String.self) {
|
|
431
|
-
#if os(iOS)
|
|
432
|
-
case "mac":
|
|
433
|
-
return .mac
|
|
434
|
-
#endif
|
|
435
|
-
#if os(iOS)
|
|
436
|
-
case "vision":
|
|
437
|
-
guard #available(iOS 26.0, *) else { throw TokamakBinding.unavailable }
|
|
438
|
-
return .vision
|
|
439
|
-
#endif
|
|
440
|
-
#if os(macOS)
|
|
441
|
-
case "watch":
|
|
442
|
-
return .watch
|
|
443
|
-
#endif
|
|
444
|
-
default: throw b.mismatch(value, type)
|
|
445
|
-
}
|
|
446
|
-
}
|
|
447
|
-
|
|
448
|
-
@available(iOS 9.0, macOS 10.11, *)
|
|
449
|
-
private static func encode(_ value: LACredentialType, _ b: TokamakBinding) -> Any {
|
|
450
|
-
if value == .applicationPassword { return "applicationPassword" }
|
|
451
|
-
if #available(iOS 13.4, macOS 10.15.4, *), value == .smartCardPIN { return "smartCardPIN" }
|
|
452
|
-
return "\(value)"
|
|
453
|
-
}
|
|
454
|
-
|
|
455
|
-
@available(iOS 9.0, macOS 10.11, *)
|
|
456
|
-
private static func decode(_ value: Any, _ b: TokamakBinding, as type: LACredentialType.Type) throws -> LACredentialType {
|
|
457
|
-
switch try b.decode(value, as: String.self) {
|
|
458
|
-
case "applicationPassword":
|
|
459
|
-
return .applicationPassword
|
|
460
|
-
case "smartCardPIN":
|
|
461
|
-
guard #available(iOS 13.4, macOS 10.15.4, *) else { throw TokamakBinding.unavailable }
|
|
462
|
-
return .smartCardPIN
|
|
463
|
-
default: throw b.mismatch(value, type)
|
|
464
|
-
}
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
@available(iOS 18.0, macOS 15.0, *)
|
|
468
|
-
private final class LAEnvironment_ObserverImplementation: TokamakBindingImplementation, LAEnvironment.Observer {
|
|
469
|
-
override class var selectors: [Selector: String] {
|
|
470
|
-
[
|
|
471
|
-
NSSelectorFromString("environment:stateDidChangeFromOldState:"): "environmentStateDidChangeFromOldState",
|
|
472
|
-
]
|
|
473
|
-
}
|
|
474
|
-
|
|
475
|
-
@available(iOS 18.0, macOS 15.0, *)
|
|
476
|
-
func environment(_ environment: LAEnvironment, stateDidChangeFromOldState oldState: LAEnvironment.State) {
|
|
477
|
-
call("environmentStateDidChangeFromOldState") { b in [b.encode(object: environment), b.encode(object: oldState)] }
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
|
-
|
|
481
|
-
@available(iOS 8.0, macOS 10.10, *)
|
|
482
|
-
private static func encode(_ value: LAPolicy, _ b: TokamakBinding) -> Any {
|
|
483
|
-
if #available(iOS 9.0, macOS 10.11, *), value == .deviceOwnerAuthentication { return "deviceOwnerAuthentication" }
|
|
484
|
-
if #available(macOS 10.12.2, *), value == .deviceOwnerAuthenticationWithBiometrics { return "deviceOwnerAuthenticationWithBiometrics" }
|
|
485
|
-
if #available(iOS 18.0, macOS 15.0, *), value == .deviceOwnerAuthenticationWithBiometricsOrCompanion { return "deviceOwnerAuthenticationWithBiometricsOrCompanion" }
|
|
486
|
-
if #available(iOS 18.0, macOS 15.0, *), value == .deviceOwnerAuthenticationWithCompanion { return "deviceOwnerAuthenticationWithCompanion" }
|
|
487
|
-
return "\(value)"
|
|
488
|
-
}
|
|
489
|
-
|
|
490
|
-
@available(iOS 8.0, macOS 10.10, *)
|
|
491
|
-
private static func decode(_ value: Any, _ b: TokamakBinding, as type: LAPolicy.Type) throws -> LAPolicy {
|
|
492
|
-
switch try b.decode(value, as: String.self) {
|
|
493
|
-
case "deviceOwnerAuthentication":
|
|
494
|
-
guard #available(iOS 9.0, macOS 10.11, *) else { throw TokamakBinding.unavailable }
|
|
495
|
-
return .deviceOwnerAuthentication
|
|
496
|
-
case "deviceOwnerAuthenticationWithBiometrics":
|
|
497
|
-
guard #available(macOS 10.12.2, *) else { throw TokamakBinding.unavailable }
|
|
498
|
-
return .deviceOwnerAuthenticationWithBiometrics
|
|
499
|
-
case "deviceOwnerAuthenticationWithBiometricsOrCompanion":
|
|
500
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
501
|
-
return .deviceOwnerAuthenticationWithBiometricsOrCompanion
|
|
502
|
-
case "deviceOwnerAuthenticationWithCompanion":
|
|
503
|
-
guard #available(iOS 18.0, macOS 15.0, *) else { throw TokamakBinding.unavailable }
|
|
504
|
-
return .deviceOwnerAuthenticationWithCompanion
|
|
505
|
-
default: throw b.mismatch(value, type)
|
|
506
|
-
}
|
|
507
|
-
}
|
|
508
|
-
|
|
509
|
-
@available(iOS 16.0, macOS 13.0, *)
|
|
510
|
-
private static func encode(_ value: LARight.State, _ b: TokamakBinding) -> Any {
|
|
511
|
-
if value == .authorized { return "authorized" }
|
|
512
|
-
if value == .authorizing { return "authorizing" }
|
|
513
|
-
if value == .notAuthorized { return "notAuthorized" }
|
|
514
|
-
if value == .unknown { return "unknown" }
|
|
515
|
-
return "\(value)"
|
|
516
|
-
}
|
|
517
|
-
|
|
518
|
-
@available(iOS 16.0, macOS 13.0, *)
|
|
519
|
-
private static func decode(_ value: Any, _ b: TokamakBinding, as type: LARight.State.Type) throws -> LARight.State {
|
|
520
|
-
switch try b.decode(value, as: String.self) {
|
|
521
|
-
case "authorized":
|
|
522
|
-
return .authorized
|
|
523
|
-
case "authorizing":
|
|
524
|
-
return .authorizing
|
|
525
|
-
case "notAuthorized":
|
|
526
|
-
return .notAuthorized
|
|
527
|
-
case "unknown":
|
|
528
|
-
return .unknown
|
|
529
|
-
default: throw b.mismatch(value, type)
|
|
530
|
-
}
|
|
531
|
-
}
|
|
532
|
-
}
|