|
6 | 6 |
|
7 | 7 | package dev.gitlive.firebase
|
8 | 8 |
|
| 9 | +import kotlinx.serialization.StringFormat |
| 10 | +import org.khronos.webgl.Uint8Array |
| 11 | +import org.w3c.files.Blob |
| 12 | +import org.w3c.files.File |
9 | 13 | import kotlin.js.Json
|
10 | 14 | import kotlin.js.Promise
|
11 | 15 |
|
@@ -516,6 +520,85 @@ external object firebase {
|
516 | 520 | fun useEmulator(host: String, port: Int)
|
517 | 521 | }
|
518 | 522 |
|
| 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 | + |
519 | 602 | }
|
520 | 603 |
|
521 | 604 | fun remoteConfig(app: App? = definedExternally): remoteConfig.RemoteConfig
|
|
0 commit comments