@@ -31,6 +31,7 @@ import { User } from '../auth/user';
3131import { Query as LiteQuery } from '../lite-api/reference' ;
3232import { LocalStore } from '../local/local_store' ;
3333import {
34+ localStoreConfigureFieldIndexes ,
3435 localStoreExecuteQuery ,
3536 localStoreGetNamedQuery ,
3637 localStoreHandleUserChange ,
@@ -39,6 +40,7 @@ import {
3940import { Persistence } from '../local/persistence' ;
4041import { Document } from '../model/document' ;
4142import { DocumentKey } from '../model/document_key' ;
43+ import { FieldIndex } from '../model/field_index' ;
4244import { Mutation } from '../model/mutation' ;
4345import { toByteStreamReader } from '../platform/byte_stream_reader' ;
4446import { newSerializer , newTextEncoder } from '../platform/serializer' ;
@@ -114,6 +116,7 @@ export class FirestoreClient {
114116 ) => Promise < void > = ( ) => Promise . resolve ( ) ;
115117 uninitializedComponentsProvider ?: {
116118 offline : OfflineComponentProvider ;
119+ offlineKind : 'memory' | 'indexeddb' ;
117120 online : OnlineComponentProvider ;
118121 } ;
119122
@@ -768,3 +771,15 @@ function createBundleReader(
768771 }
769772 return newBundleReader ( toByteStreamReader ( content ) , serializer ) ;
770773}
774+
775+ export function firestoreClientSetIndexConfiguration (
776+ client : FirestoreClient ,
777+ indexes : FieldIndex [ ]
778+ ) : Promise < void > {
779+ return client . asyncQueue . enqueue ( async ( ) => {
780+ return localStoreConfigureFieldIndexes (
781+ await getLocalStore ( client ) ,
782+ indexes
783+ ) ;
784+ } ) ;
785+ }
0 commit comments