@@ -56,33 +56,26 @@ public actor AuthClient {
56
56
}
57
57
}
58
58
59
- private var configuration : Configuration {
60
- Dependencies . current. value!. configuration
61
- }
59
+ @Dependency ( \. configuration)
60
+ private var configuration : Configuration
62
61
63
- private var api : APIClient {
64
- Dependencies . current. value!. api
65
- }
62
+ @Dependency ( \. api)
63
+ private var api : APIClient
66
64
67
- private var sessionManager : any SessionManager {
68
- Dependencies . current. value!. sessionManager
69
- }
65
+ @Dependency ( \. eventEmitter)
66
+ private var eventEmitter : EventEmitter
70
67
71
- private var codeVerifierStorage : CodeVerifierStorage {
72
- Dependencies . current. value!. codeVerifierStorage
73
- }
68
+ @Dependency ( \. sessionManager)
69
+ private var sessionManager : SessionManager
74
70
75
- private var eventEmitter : any EventEmitter {
76
- Dependencies . current. value!. eventEmitter
77
- }
71
+ @Dependency ( \. codeVerifierStorage)
72
+ private var codeVerifierStorage : CodeVerifierStorage
78
73
79
- private var currentDate : @Sendable ( ) -> Date {
80
- Dependencies . current. value!. currentDate
81
- }
74
+ @Dependency ( \. currentDate)
75
+ private var currentDate : @Sendable ( ) -> Date
82
76
83
- private var logger : ( any SupabaseLogger ) ? {
84
- Dependencies . current. value!. logger
85
- }
77
+ @Dependency ( \. logger)
78
+ private var logger : ( any SupabaseLogger ) ?
86
79
87
80
/// Returns the session, refreshing it if necessary.
88
81
///
@@ -141,17 +134,20 @@ public actor AuthClient {
141
134
/// - Parameters:
142
135
/// - configuration: The client configuration.
143
136
public init ( configuration: Configuration ) {
144
- let api = APIClient . live ( http: HTTPClient (
145
- logger: configuration. logger,
146
- fetchHandler: configuration. fetch
147
- ) )
137
+ let api = APIClient . live (
138
+ configuration: configuration,
139
+ http: HTTPClient (
140
+ logger: configuration. logger,
141
+ fetchHandler: configuration. fetch
142
+ )
143
+ )
148
144
149
145
self . init (
150
146
configuration: configuration,
151
- sessionManager: DefaultSessionManager . shared ,
147
+ sessionManager: . live ,
152
148
codeVerifierStorage: . live,
153
149
api: api,
154
- eventEmitter: DefaultEventEmitter . shared ,
150
+ eventEmitter: . live ,
155
151
sessionStorage: . live,
156
152
logger: configuration. logger
157
153
)
@@ -160,31 +156,29 @@ public actor AuthClient {
160
156
/// This internal initializer is here only for easy injecting mock instances when testing.
161
157
init (
162
158
configuration: Configuration ,
163
- sessionManager: any SessionManager ,
159
+ sessionManager: SessionManager ,
164
160
codeVerifierStorage: CodeVerifierStorage ,
165
161
api: APIClient ,
166
- eventEmitter: any EventEmitter ,
162
+ eventEmitter: EventEmitter ,
167
163
sessionStorage: SessionStorage ,
168
164
logger: ( any SupabaseLogger ) ?
169
165
) {
170
166
mfa = AuthMFA ( )
171
167
admin = AuthAdmin ( )
172
168
173
- Dependencies . current. setValue (
174
- Dependencies (
175
- configuration: configuration,
176
- sessionManager: sessionManager,
177
- api: api,
178
- eventEmitter: eventEmitter,
179
- sessionStorage: sessionStorage,
180
- sessionRefresher: SessionRefresher (
181
- refreshSession: { [ weak self] in
182
- try await self ? . refreshSession ( refreshToken: $0) ?? . empty
183
- }
184
- ) ,
185
- codeVerifierStorage: codeVerifierStorage,
186
- logger: logger
187
- )
169
+ Current = Dependencies (
170
+ configuration: configuration,
171
+ sessionManager: sessionManager,
172
+ api: api,
173
+ eventEmitter: eventEmitter,
174
+ sessionStorage: sessionStorage,
175
+ sessionRefresher: SessionRefresher (
176
+ refreshSession: { [ weak self] in
177
+ try await self ? . refreshSession ( refreshToken: $0) ?? . empty
178
+ }
179
+ ) ,
180
+ codeVerifierStorage: codeVerifierStorage,
181
+ logger: logger
188
182
)
189
183
}
190
184
@@ -310,7 +304,11 @@ public actor AuthClient {
310
304
311
305
/// Log in an existing user with an email and password.
312
306
@discardableResult
313
- public func signIn( email: String , password: String , captchaToken: String ? = nil ) async throws -> Session {
307
+ public func signIn(
308
+ email: String ,
309
+ password: String ,
310
+ captchaToken: String ? = nil
311
+ ) async throws -> Session {
314
312
try await _signIn (
315
313
request: . init(
316
314
path: " /token " ,
@@ -329,7 +327,11 @@ public actor AuthClient {
329
327
330
328
/// Log in an existing user with a phone and password.
331
329
@discardableResult
332
- public func signIn( phone: String , password: String , captchaToken: String ? = nil ) async throws -> Session {
330
+ public func signIn(
331
+ phone: String ,
332
+ password: String ,
333
+ captchaToken: String ? = nil
334
+ ) async throws -> Session {
333
335
try await _signIn (
334
336
request: . init(
335
337
path: " /token " ,
@@ -931,7 +933,7 @@ public actor AuthClient {
931
933
932
934
private func emitInitialSession( forToken token: ObservationToken ) async {
933
935
let session = try ? await session
934
- eventEmitter. emit ( . initialSession, session: session , token : token)
936
+ eventEmitter. emit ( . initialSession, session, token)
935
937
}
936
938
937
939
private func prepareForPKCE( ) -> ( codeChallenge: String ? , codeChallengeMethod: String ? ) {
0 commit comments