Skip to content

Commit f0d874f

Browse files
add the rest of the js externals
1 parent 4ec6dce commit f0d874f

File tree

1 file changed

+83
-0
lines changed
  • firebase-common/src/jsMain/kotlin/dev/gitlive/firebase

1 file changed

+83
-0
lines changed

firebase-common/src/jsMain/kotlin/dev/gitlive/firebase/externals.kt

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@
66

77
package dev.gitlive.firebase
88

9+
import kotlinx.serialization.StringFormat
10+
import org.khronos.webgl.Uint8Array
11+
import org.w3c.files.Blob
12+
import org.w3c.files.File
913
import kotlin.js.Json
1014
import kotlin.js.Promise
1115

@@ -516,6 +520,85 @@ external object firebase {
516520
fun useEmulator(host: String, port: Int)
517521
}
518522

523+
open class Reference {
524+
val bucket: String
525+
val fullPath: String
526+
val name: String
527+
val parent: Reference?
528+
val root: Reference
529+
val storage: Storage
530+
531+
fun child(path: String): Reference
532+
fun delete(): Promise<Unit>
533+
fun getDownloadURL(): Promise<String>
534+
fun getMetadata(): Promise<FullMetadata>
535+
fun list(options: ListOptions? = definedExternally): Promise<ListResult>
536+
fun listAll(): Promise<ListResult>
537+
fun put(data: Blob, metadata: UploadMetadata? = definedExternally): UploadTask
538+
fun put(data: Uint8Array, metadata: UploadMetadata? = definedExternally): UploadTask
539+
fun put(data: File, metadata: UploadMetadata? = definedExternally): UploadTask
540+
fun putString(data: String, format: StringFormat? = definedExternally, metadata: UploadMetadata? = definedExternally): UploadTask
541+
fun updateMetadata(metadata: SettableMetadata): Promise<FullMetadata>
542+
}
543+
544+
open class FullMetadata {
545+
val bucket: String
546+
val fullPath: String
547+
val generation: String
548+
val metageneration: String
549+
val name: String
550+
val size: Number
551+
val timeCreated: String
552+
val updated: String
553+
val customMetadata: Json
554+
}
555+
556+
open class ListOptions {
557+
val maxResults: Number
558+
val pageToken: String
559+
}
560+
561+
open class ListResult {
562+
val items: Array<Reference>
563+
val nextPageToken: String
564+
val prefixes: Array<Reference>
565+
}
566+
567+
open class SettableMetadata {
568+
var cacheControl: String?
569+
var contentDisposition: String?
570+
var contentEncoding: String?
571+
var contentLanguage: String?
572+
var contentType: String?
573+
var customMetadata: Json?
574+
}
575+
576+
open class UploadMetadata {
577+
var cacheControl: String?
578+
var contentDisposition: String?
579+
var contentEncoding: String?
580+
var contentLanguage: String?
581+
var contentType: String?
582+
var customMetadata: Json?
583+
}
584+
585+
open class UploadTask {
586+
val snapshot: UploadTaskSnapshot
587+
588+
fun cancel(): Boolean
589+
fun pause(): Boolean
590+
fun resume(): Boolean
591+
}
592+
593+
open class UploadTaskSnapshot {
594+
val bytesTransferred: Number
595+
val metadata: FullMetadata
596+
val ref: Reference
597+
val state: String
598+
val task: UploadTask
599+
val totalBytes: Number
600+
}
601+
519602
}
520603

521604
fun remoteConfig(app: App? = definedExternally): remoteConfig.RemoteConfig

0 commit comments

Comments
 (0)