@@ -24,6 +24,8 @@ import {
2424 FirestoreClient ,
2525 firestoreClientDisableNetwork ,
2626 firestoreClientEnableNetwork ,
27+ firestoreClientGetNamedQuery ,
28+ firestoreClientLoadBundle ,
2729 firestoreClientWaitForPendingWrites ,
2830 setOfflineComponentProvider ,
2931 setOnlineComponentProvider
@@ -53,6 +55,8 @@ import {
5355 indexedDbStoragePrefix
5456} from '../../../src/local/indexeddb_persistence' ;
5557import { PersistenceSettings } from '../../../exp-types' ;
58+ import { Query } from '../../../lite/src/api/reference' ;
59+ import { LoadBundleTask } from '../../../src/api/bundle' ;
5660
5761/** DOMException error code constants. */
5862const DOM_EXCEPTION_INVALID_STATE = 11 ;
@@ -430,3 +434,29 @@ function verifyNotInitialized(firestore: FirestoreCompat): void {
430434 ) ;
431435 }
432436}
437+
438+ export function loadBundle (
439+ firestore : FirebaseFirestore ,
440+ bundleData : ArrayBuffer | ReadableStream < Uint8Array > | string
441+ ) : LoadBundleTask {
442+ const client = ensureFirestoreConfigured ( firestore ) ;
443+ const resultTask = new LoadBundleTask ( ) ;
444+
445+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
446+ firestoreClientLoadBundle ( client , bundleData , resultTask ) ;
447+ return resultTask ;
448+ }
449+
450+ export function namedQuery (
451+ firestore : FirebaseFirestore ,
452+ name : string
453+ ) : Promise < Query | null > {
454+ const client = ensureFirestoreConfigured ( firestore ) ;
455+ return firestoreClientGetNamedQuery ( client , name ) . then ( namedQuery => {
456+ if ( ! namedQuery ) {
457+ return null ;
458+ }
459+
460+ return new Query ( firestore , null , namedQuery . query ) ;
461+ } ) ;
462+ }
0 commit comments