File tree 6 files changed +32
-9
lines changed
androidMain/kotlin/dev/gitlive/firebase/storage
commonMain/kotlin/dev/gitlive/firebase/storage
iosMain/kotlin/dev/gitlive/firebase/storage
jsMain/kotlin/dev/gitlive/firebase/storage
jvmMain/kotlin/dev/gitlive/firebase/storage
6 files changed +32
-9
lines changed Original file line number Diff line number Diff line change @@ -26,11 +26,13 @@ import kotlinx.coroutines.flow.first
26
26
import kotlinx.coroutines.launch
27
27
import kotlinx.coroutines.tasks.await
28
28
29
- actual val Firebase .storage get() =
30
- FirebaseStorage (com.google.firebase.storage.FirebaseStorage .getInstance())
29
+ actual val Firebase .storage get() = FirebaseStorage (com.google.firebase.storage.FirebaseStorage .getInstance())
31
30
32
- actual fun Firebase.storage (app : FirebaseApp ) =
33
- FirebaseStorage (com.google.firebase.storage.FirebaseStorage .getInstance(app.android))
31
+ actual fun Firebase.storage (url : String ): FirebaseStorage = FirebaseStorage (com.google.firebase.storage.FirebaseStorage .getInstance(url))
32
+
33
+ actual fun Firebase.storage (app : FirebaseApp ) = FirebaseStorage (com.google.firebase.storage.FirebaseStorage .getInstance(app.android))
34
+
35
+ actual fun Firebase.storage (app : FirebaseApp , url : String ) = FirebaseStorage (com.google.firebase.storage.FirebaseStorage .getInstance(app.android, url))
34
36
35
37
actual class FirebaseStorage (val android : com.google.firebase.storage.FirebaseStorage ) {
36
38
actual val maxOperationRetryTimeMillis = android.maxOperationRetryTimeMillis
Original file line number Diff line number Diff line change @@ -11,9 +11,15 @@ import kotlinx.coroutines.launch
11
11
/* * Returns the [FirebaseStorage] instance of the default [FirebaseApp]. */
12
12
expect val Firebase .storage: FirebaseStorage
13
13
14
+ /* * Returns the [FirebaseStorage] instance of the default [FirebaseApp]. */
15
+ expect fun Firebase.storage (url : String ): FirebaseStorage
16
+
14
17
/* * Returns the [FirebaseStorage] instance of a given [FirebaseApp]. */
15
18
expect fun Firebase.storage (app : FirebaseApp ): FirebaseStorage
16
19
20
+ /* * Returns the [FirebaseStorage] instance of a given [FirebaseApp]. */
21
+ expect fun Firebase.storage (app : FirebaseApp , url : String ): FirebaseStorage
22
+
17
23
/* *
18
24
* FirebaseStorage is a service that supports uploading and downloading large objects to Google
19
25
* Cloud Storage. Pass a custom instance of [FirebaseApp] to [Firebase.storage]
Original file line number Diff line number Diff line change @@ -31,10 +31,18 @@ import platform.Foundation.NSURL
31
31
actual val Firebase .storage get() =
32
32
FirebaseStorage (FIRStorage .storage())
33
33
34
+ actual fun Firebase.storage (url : String ): FirebaseStorage = FirebaseStorage (
35
+ FIRStorage .storageWithURL(url)
36
+ )
37
+
34
38
actual fun Firebase.storage (app : FirebaseApp ): FirebaseStorage = FirebaseStorage (
35
39
FIRStorage .storageForApp(app.ios as objcnames.classes.FIRApp )
36
40
)
37
41
42
+ actual fun Firebase.storage (app : FirebaseApp , url : String ) = FirebaseStorage (
43
+ FIRStorage .storageForApp(app.ios as objcnames.classes.FIRApp , url)
44
+ )
45
+
38
46
actual class FirebaseStorage (val ios : FIRStorage ) {
39
47
actual val maxOperationRetryTimeMillis = ios.maxOperationRetryTime().toLong()
40
48
actual val maxUploadRetryTimeMillis = ios.maxUploadRetryTime().toLong()
Original file line number Diff line number Diff line change @@ -6,6 +6,8 @@ package dev.gitlive.firebase.storage.externals
6
6
import dev.gitlive.firebase.externals.FirebaseApp
7
7
import kotlin.js.Promise
8
8
9
+ external fun getStorage (app : FirebaseApp ? = definedExternally, url : String ): FirebaseStorage
10
+
9
11
external fun getStorage (app : FirebaseApp ? = definedExternally): FirebaseStorage
10
12
11
13
external fun ref (storage : FirebaseStorage , url : String? = definedExternally): StorageReference
Original file line number Diff line number Diff line change @@ -18,8 +18,11 @@ import kotlinx.coroutines.flow.emitAll
18
18
actual val Firebase .storage
19
19
get() = FirebaseStorage (getStorage())
20
20
21
- actual fun Firebase.storage (app : FirebaseApp ) =
22
- FirebaseStorage (getStorage(app.js))
21
+ actual fun Firebase.storage (url : String ): FirebaseStorage = FirebaseStorage (getStorage(null , url), )
22
+
23
+ actual fun Firebase.storage (app : FirebaseApp ) = FirebaseStorage (getStorage(app.js))
24
+
25
+ actual fun Firebase.storage (app : FirebaseApp , url : String ) = FirebaseStorage (getStorage(app.js, url))
23
26
24
27
actual class FirebaseStorage (val js : dev.gitlive.firebase.storage.externals.FirebaseStorage ) {
25
28
actual val maxOperationRetryTimeMillis = js.maxOperationRetryTime.toLong()
Original file line number Diff line number Diff line change @@ -8,10 +8,12 @@ import dev.gitlive.firebase.FirebaseException
8
8
actual val Firebase .storage: FirebaseStorage
9
9
get() = TODO (" Not yet implemented" )
10
10
11
+ actual fun Firebase.storage (url : String ): FirebaseStorage = TODO (" Not yet implemented" )
12
+
11
13
/* * Returns the [FirebaseStorage] instance of a given [FirebaseApp]. */
12
- actual fun Firebase.storage (app : FirebaseApp ): FirebaseStorage {
13
- TODO ( " Not yet implemented " )
14
- }
14
+ actual fun Firebase.storage (app : FirebaseApp ): FirebaseStorage = TODO ( " Not yet implemented " )
15
+
16
+ actual fun Firebase. storage ( app : FirebaseApp , url : String ): FirebaseStorage = TODO ( " Not yet implemented " )
15
17
16
18
actual class FirebaseStorage {
17
19
actual val maxOperationRetryTimeMillis: Long
You can’t perform that action at this time.
0 commit comments