@@ -38,6 +38,10 @@ class MemoryLocalCacheImpl implements MemoryLocalCache {
3838 this . _onlineComponentProvider = new OnlineComponentProvider ( ) ;
3939 this . _offlineComponentProvider = new MemoryOfflineComponentProvider ( ) ;
4040 }
41+
42+ toJSON ( ) {
43+ return { kind : this . kind } ;
44+ }
4145}
4246
4347export interface IndexedDbLocalCache {
@@ -54,15 +58,19 @@ class IndexedDbLocalCacheImpl implements IndexedDbLocalCache {
5458 constructor ( settings : IndexedDbSettings | undefined ) {
5559 let tabManager : IndexedDbTabManager ;
5660 if ( settings ?. tabManager ) {
57- settings . tabManager . initialize ( settings ) ;
61+ settings . tabManager . _initialize ( settings ) ;
5862 tabManager = settings . tabManager ;
5963 } else {
6064 tabManager = indexedDbSingleTabManager ( undefined ) ;
61- tabManager . initialize ( settings ) ;
65+ tabManager . _initialize ( settings ) ;
6266 }
6367 this . _onlineComponentProvider = tabManager . _onlineComponentProvider ! ;
6468 this . _offlineComponentProvider = tabManager . _offlineComponentProvider ! ;
6569 }
70+
71+ toJSON ( ) {
72+ return { kind : this . kind } ;
73+ }
6674}
6775
6876export type FirestoreLocalCache = MemoryLocalCache | IndexedDbLocalCache ;
@@ -87,7 +95,7 @@ export function indexedDbLocalCache(
8795
8896export interface IndexedDbSingleTabManager {
8997 kind : 'indexedDbSingleTab' ;
90- initialize : (
98+ _initialize : (
9199 settings : Omit < IndexedDbSettings , 'tabManager' > | undefined
92100 ) => void ;
93101 _onlineComponentProvider ?: OnlineComponentProvider ;
@@ -102,7 +110,11 @@ class SingleTabManagerImpl implements IndexedDbSingleTabManager {
102110
103111 constructor ( private forceOwnership ?: boolean ) { }
104112
105- initialize (
113+ toJSON ( ) {
114+ return { kind : this . kind } ;
115+ }
116+
117+ _initialize (
106118 settings : Omit < IndexedDbSettings , 'tabManager' > | undefined
107119 ) : void {
108120 this . _onlineComponentProvider = new OnlineComponentProvider ( ) ;
@@ -116,7 +128,7 @@ class SingleTabManagerImpl implements IndexedDbSingleTabManager {
116128
117129export interface IndexedDbMultipleTabManager {
118130 kind : 'IndexedDbMultipleTab' ;
119- initialize : ( settings : Omit < IndexedDbSettings , 'tabManager' > ) => void ;
131+ _initialize : ( settings : Omit < IndexedDbSettings , 'tabManager' > ) => void ;
120132 _onlineComponentProvider ?: OnlineComponentProvider ;
121133 _offlineComponentProvider ?: OfflineComponentProvider ;
122134}
@@ -127,7 +139,11 @@ class MultiTabManagerImpl implements IndexedDbMultipleTabManager {
127139 _onlineComponentProvider ?: OnlineComponentProvider ;
128140 _offlineComponentProvider ?: OfflineComponentProvider ;
129141
130- initialize (
142+ toJSON ( ) {
143+ return { kind : this . kind } ;
144+ }
145+
146+ _initialize (
131147 settings : Omit < IndexedDbSettings , 'tabManager' > | undefined
132148 ) : void {
133149 this . _onlineComponentProvider = new OnlineComponentProvider ( ) ;
0 commit comments