@firebase/firestore 3.4.14 → 3.4.15-20220831174748

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/firestore/src/api/credentials.d.ts +13 -3
  3. package/dist/firestore/src/api/database.d.ts +34 -3
  4. package/dist/firestore/src/api/index_configuration.d.ts +5 -0
  5. package/dist/firestore/src/core/database_info.d.ts +4 -0
  6. package/dist/firestore/src/lite-api/database.d.ts +51 -7
  7. package/dist/firestore/test/integration/api/provider.test.d.ts +17 -0
  8. package/dist/firestore/test/integration/util/firebase_export.d.ts +2 -1
  9. package/dist/firestore/test/integration/util/helpers.d.ts +1 -0
  10. package/dist/index.d.ts +15 -94
  11. package/dist/index.esm2017.js +1713 -1704
  12. package/dist/index.esm2017.js.map +1 -1
  13. package/dist/index.esm5.js +2343 -2330
  14. package/dist/index.esm5.js.map +1 -1
  15. package/dist/index.node.cjs.js +81 -58
  16. package/dist/index.node.cjs.js.map +1 -1
  17. package/dist/index.node.mjs +81 -58
  18. package/dist/index.node.mjs.map +1 -1
  19. package/dist/index.rn.js +1713 -1704
  20. package/dist/index.rn.js.map +1 -1
  21. package/dist/internal.d.ts +48 -6
  22. package/dist/lite/firestore/src/api/credentials.d.ts +13 -3
  23. package/dist/lite/firestore/src/api/database.d.ts +34 -3
  24. package/dist/lite/firestore/src/api/index_configuration.d.ts +5 -0
  25. package/dist/lite/firestore/src/core/database_info.d.ts +4 -0
  26. package/dist/lite/firestore/src/lite-api/database.d.ts +51 -7
  27. package/dist/lite/firestore/test/integration/api/provider.test.d.ts +17 -0
  28. package/dist/lite/firestore/test/integration/util/firebase_export.d.ts +2 -1
  29. package/dist/lite/firestore/test/integration/util/helpers.d.ts +1 -0
  30. package/dist/lite/index.browser.esm2017.js +273 -277
  31. package/dist/lite/index.browser.esm2017.js.map +1 -1
  32. package/dist/lite/index.browser.esm5.js +621 -608
  33. package/dist/lite/index.browser.esm5.js.map +1 -1
  34. package/dist/lite/index.d.ts +15 -4
  35. package/dist/lite/index.node.cjs.js +71 -61
  36. package/dist/lite/index.node.cjs.js.map +1 -1
  37. package/dist/lite/index.node.mjs +71 -61
  38. package/dist/lite/index.node.mjs.map +1 -1
  39. package/dist/lite/index.rn.esm2017.js +273 -277
  40. package/dist/lite/index.rn.esm2017.js.map +1 -1
  41. package/dist/lite/internal.d.ts +58 -7
  42. package/dist/lite/packages/firestore/dist/lite/index.browser.esm2017.d.ts +29 -66
  43. package/dist/lite/packages/firestore/src/api/credentials.d.ts +13 -3
  44. package/dist/lite/packages/firestore/src/api/database.d.ts +34 -3
  45. package/dist/lite/packages/firestore/src/api/index_configuration.d.ts +5 -0
  46. package/dist/lite/packages/firestore/src/core/database_info.d.ts +4 -0
  47. package/dist/lite/packages/firestore/src/lite-api/database.d.ts +51 -7
  48. package/dist/lite/packages/firestore/test/integration/api/provider.test.d.ts +17 -0
  49. package/dist/lite/packages/firestore/test/integration/util/firebase_export.d.ts +2 -1
  50. package/dist/lite/packages/firestore/test/integration/util/helpers.d.ts +1 -0
  51. package/dist/lite/private.d.ts +25 -7
  52. package/dist/packages/firestore/dist/index.esm2017.d.ts +70 -65
  53. package/dist/packages/firestore/src/api/credentials.d.ts +13 -3
  54. package/dist/packages/firestore/src/api/database.d.ts +34 -3
  55. package/dist/packages/firestore/src/api/index_configuration.d.ts +5 -0
  56. package/dist/packages/firestore/src/core/database_info.d.ts +4 -0
  57. package/dist/packages/firestore/src/lite-api/database.d.ts +51 -7
  58. package/dist/packages/firestore/test/integration/api/provider.test.d.ts +17 -0
  59. package/dist/packages/firestore/test/integration/util/firebase_export.d.ts +2 -1
  60. package/dist/packages/firestore/test/integration/util/helpers.d.ts +1 -0
  61. package/dist/private.d.ts +28 -99
  62. package/package.json +5 -4
@@ -138,6 +138,8 @@ declare interface AsyncQueue {
138
138
  verifyOperationInProgress(): void;
139
139
  }
140
140
 
141
+ declare type AuthTokenFactory = () => string;
142
+
141
143
  /**
142
144
  * Path represents an ordered sequence of string segments.
143
145
  */
@@ -1558,7 +1560,7 @@ export declare class Firestore extends Firestore_2 {
1558
1560
  readonly _persistenceKey: string;
1559
1561
  _firestoreClient: FirestoreClient | undefined;
1560
1562
  /** @hideconstructor */
1561
- constructor(databaseIdOrApp: _DatabaseId | FirebaseApp, authCredentialsProvider: CredentialsProvider<User>, appCheckCredentialsProvider: CredentialsProvider<string>);
1563
+ constructor(authCredentialsProvider: CredentialsProvider<User>, appCheckCredentialsProvider: CredentialsProvider<string>, databaseId: _DatabaseId, app?: FirebaseApp);
1562
1564
  _terminate(): Promise<void>;
1563
1565
  }
1564
1566
 
@@ -1570,18 +1572,18 @@ export declare class Firestore extends Firestore_2 {
1570
1572
  declare class Firestore_2 implements FirestoreService {
1571
1573
  _authCredentials: CredentialsProvider<User>;
1572
1574
  _appCheckCredentials: CredentialsProvider<string>;
1575
+ readonly _databaseId: _DatabaseId;
1576
+ readonly _app?: FirebaseApp | undefined;
1573
1577
  /**
1574
1578
  * Whether it's a Firestore or Firestore Lite instance.
1575
1579
  */
1576
1580
  type: 'firestore-lite' | 'firestore';
1577
- readonly _databaseId: _DatabaseId;
1578
1581
  readonly _persistenceKey: string;
1579
1582
  private _settings;
1580
1583
  private _settingsFrozen;
1581
1584
  private _terminateTask?;
1582
- _app?: FirebaseApp;
1583
1585
  /** @hideconstructor */
1584
- constructor(databaseIdOrApp: _DatabaseId | FirebaseApp, _authCredentials: CredentialsProvider<User>, _appCheckCredentials: CredentialsProvider<string>);
1586
+ constructor(_authCredentials: CredentialsProvider<User>, _appCheckCredentials: CredentialsProvider<string>, _databaseId: _DatabaseId, _app?: FirebaseApp | undefined);
1585
1587
  /**
1586
1588
  * The {@link @firebase/app#FirebaseApp} associated with this `Firestore` service
1587
1589
  * instance.
@@ -2233,6 +2235,7 @@ declare interface FirstPartyCredentialsSettings {
2233
2235
  ['client']: unknown;
2234
2236
  ['sessionIndex']: string;
2235
2237
  ['iamToken']: string | null;
2238
+ ['authTokenFactory']: AuthTokenFactory | null;
2236
2239
  }
2237
2240
 
2238
2241
  /**
@@ -2373,6 +2376,37 @@ export declare function getDocsFromCache<T>(query: Query<T>): Promise<QuerySnaps
2373
2376
  */
2374
2377
  export declare function getDocsFromServer<T>(query: Query<T>): Promise<QuerySnapshot<T>>;
2375
2378
 
2379
+ /**
2380
+ * Returns the existing default {@link Firestore} instance that is associated with the
2381
+ * default {@link @firebase/app#FirebaseApp}. If no instance exists, initializes a new
2382
+ * instance with default settings.
2383
+ *
2384
+ * @returns The {@link Firestore} instance of the provided app.
2385
+ */
2386
+ export declare function getFirestore(): Firestore;
2387
+
2388
+ /**
2389
+ * Returns the existing default {@link Firestore} instance that is associated with the
2390
+ * provided {@link @firebase/app#FirebaseApp}. If no instance exists, initializes a new
2391
+ * instance with default settings.
2392
+ *
2393
+ * @param app - The {@link @firebase/app#FirebaseApp} instance that the returned {@link Firestore}
2394
+ * instance is associated with.
2395
+ * @returns The {@link Firestore} instance of the provided app.
2396
+ */
2397
+ export declare function getFirestore(app: FirebaseApp): Firestore;
2398
+
2399
+ /**
2400
+ * Returns the existing {@link Firestore} instance that is associated with the
2401
+ * default {@link @firebase/app#FirebaseApp}. If no instance exists, initializes a new
2402
+ * instance with default settings.
2403
+ *
2404
+ * @param databaseId - The name of database.
2405
+ * @returns The {@link Firestore} instance of the provided app.
2406
+ * @internal
2407
+ */
2408
+ export declare function getFirestore(databaseId: string): Firestore;
2409
+
2376
2410
  /**
2377
2411
  * Returns the existing {@link Firestore} instance that is associated with the
2378
2412
  * provided {@link @firebase/app#FirebaseApp}. If no instance exists, initializes a new
@@ -2380,9 +2414,11 @@ export declare function getDocsFromServer<T>(query: Query<T>): Promise<QuerySnap
2380
2414
  *
2381
2415
  * @param app - The {@link @firebase/app#FirebaseApp} instance that the returned {@link Firestore}
2382
2416
  * instance is associated with.
2417
+ * @param databaseId - The name of database.
2383
2418
  * @returns The {@link Firestore} instance of the provided app.
2419
+ * @internal
2384
2420
  */
2385
- export declare function getFirestore(app?: FirebaseApp): Firestore;
2421
+ export declare function getFirestore(app: FirebaseApp, databaseId: string): Firestore;
2386
2422
 
2387
2423
  /**
2388
2424
  * Returns a special value that can be used with {@link @firebase/firestore/lite#(setDoc:1)} or {@link
@@ -2407,6 +2443,7 @@ export declare function increment(n: number): FieldValue;
2407
2443
 
2408
2444
  /**
2409
2445
  * The SDK definition of a Firestore index.
2446
+ * @beta
2410
2447
  */
2411
2448
  export declare interface Index {
2412
2449
  /** The ID of the collection to index. */
@@ -2421,6 +2458,7 @@ export declare interface Index {
2421
2458
  *
2422
2459
  * See {@link https://firebase.google.com/docs/reference/firestore/indexes/#json_format | JSON Format}
2423
2460
  * for a description of the format of the index definition.
2461
+ * @beta
2424
2462
  */
2425
2463
  export declare interface IndexConfiguration {
2426
2464
  /** A list of all Firestore indexes. */
@@ -2430,6 +2468,7 @@ export declare interface IndexConfiguration {
2430
2468
 
2431
2469
  /**
2432
2470
  * A single field element in an index configuration.
2471
+ * @beta
2433
2472
  */
2434
2473
  export declare interface IndexField {
2435
2474
  /** The field path to index. */
@@ -2644,9 +2683,10 @@ declare const enum IndexType {
2644
2683
  * @param app - The {@link @firebase/app#FirebaseApp} with which the {@link Firestore} instance will
2645
2684
  * be associated.
2646
2685
  * @param settings - A settings object to configure the {@link Firestore} instance.
2686
+ * @param databaseId - The name of database.
2647
2687
  * @returns A newly initialized {@link Firestore} instance.
2648
2688
  */
2649
- export declare function initializeFirestore(app: FirebaseApp, settings: FirestoreSettings): Firestore;
2689
+ export declare function initializeFirestore(app: FirebaseApp, settings: FirestoreSettings, databaseId?: string): Firestore;
2650
2690
 
2651
2691
  /**
2652
2692
  * True if and only if the Base64 conversion functions are available.
@@ -4737,6 +4777,7 @@ export declare function setDoc<T>(reference: DocumentReference<T>, data: Partial
4737
4777
  * @throws FirestoreError if the JSON format is invalid.
4738
4778
  * @returns A `Promise` that resolves once all indices are successfully
4739
4779
  * configured.
4780
+ * @beta
4740
4781
  */
4741
4782
  export declare function setIndexConfiguration(firestore: Firestore, configuration: IndexConfiguration): Promise<void>;
4742
4783
 
@@ -4764,6 +4805,7 @@ export declare function setIndexConfiguration(firestore: Firestore, configuratio
4764
4805
  * @throws FirestoreError if the JSON format is invalid.
4765
4806
  * @returns A `Promise` that resolves once all indices are successfully
4766
4807
  * configured.
4808
+ * @beta
4767
4809
  */
4768
4810
  export declare function setIndexConfiguration(firestore: Firestore, json: string): Promise<void>;
4769
4811
 
@@ -19,11 +19,13 @@ import { FirebaseAuthInternalName } from '@firebase/auth-interop-types';
19
19
  import { Provider } from '@firebase/component';
20
20
  import { User } from '../auth/user';
21
21
  import { AsyncQueue } from '../util/async_queue';
22
+ export declare type AuthTokenFactory = () => string;
22
23
  export interface FirstPartyCredentialsSettings {
23
24
  ['type']: 'gapi';
24
25
  ['client']: unknown;
25
26
  ['sessionIndex']: string;
26
27
  ['iamToken']: string | null;
28
+ ['authTokenFactory']: AuthTokenFactory | null;
27
29
  }
28
30
  export interface ProviderCredentialsSettings {
29
31
  ['type']: 'provider';
@@ -146,16 +148,24 @@ interface Gapi {
146
148
  };
147
149
  }
148
150
  export declare class FirstPartyToken implements Token {
151
+ private readonly gapi;
152
+ private readonly sessionIndex;
153
+ private readonly iamToken;
154
+ private readonly authTokenFactory;
149
155
  type: TokenType;
150
156
  user: User;
151
- headers: Map<any, any>;
152
- constructor(gapi: Gapi, sessionIndex: string, iamToken: string | null);
157
+ private _headers;
158
+ constructor(gapi: Gapi | null, sessionIndex: string, iamToken: string | null, authTokenFactory: AuthTokenFactory | null);
159
+ /** Gets an authorization token, using a provided factory function, or falling back to First Party GAPI. */
160
+ private getAuthToken;
161
+ get headers(): Map<string, string>;
153
162
  }
154
163
  export declare class FirstPartyAuthCredentialsProvider implements CredentialsProvider<User> {
155
164
  private gapi;
156
165
  private sessionIndex;
157
166
  private iamToken;
158
- constructor(gapi: Gapi, sessionIndex: string, iamToken: string | null);
167
+ private authTokenFactory;
168
+ constructor(gapi: Gapi | null, sessionIndex: string, iamToken: string | null, authTokenFactory: AuthTokenFactory | null);
159
169
  getToken(): Promise<Token | null>;
160
170
  start(asyncQueue: AsyncQueue, changeListener: CredentialChangeListener<User>): void;
161
171
  shutdown(): void;
@@ -50,7 +50,7 @@ export declare class Firestore extends LiteFirestore {
50
50
  readonly _persistenceKey: string;
51
51
  _firestoreClient: FirestoreClient | undefined;
52
52
  /** @hideconstructor */
53
- constructor(databaseIdOrApp: DatabaseId | FirebaseApp, authCredentialsProvider: CredentialsProvider<User>, appCheckCredentialsProvider: CredentialsProvider<string>);
53
+ constructor(authCredentialsProvider: CredentialsProvider<User>, appCheckCredentialsProvider: CredentialsProvider<string>, databaseId: DatabaseId, app?: FirebaseApp);
54
54
  _terminate(): Promise<void>;
55
55
  }
56
56
  /**
@@ -62,9 +62,38 @@ export declare class Firestore extends LiteFirestore {
62
62
  * @param app - The {@link @firebase/app#FirebaseApp} with which the {@link Firestore} instance will
63
63
  * be associated.
64
64
  * @param settings - A settings object to configure the {@link Firestore} instance.
65
+ * @param databaseId - The name of database.
65
66
  * @returns A newly initialized {@link Firestore} instance.
66
67
  */
67
- export declare function initializeFirestore(app: FirebaseApp, settings: FirestoreSettings): Firestore;
68
+ export declare function initializeFirestore(app: FirebaseApp, settings: FirestoreSettings, databaseId?: string): Firestore;
69
+ /**
70
+ * Returns the existing default {@link Firestore} instance that is associated with the
71
+ * default {@link @firebase/app#FirebaseApp}. If no instance exists, initializes a new
72
+ * instance with default settings.
73
+ *
74
+ * @returns The {@link Firestore} instance of the provided app.
75
+ */
76
+ export declare function getFirestore(): Firestore;
77
+ /**
78
+ * Returns the existing default {@link Firestore} instance that is associated with the
79
+ * provided {@link @firebase/app#FirebaseApp}. If no instance exists, initializes a new
80
+ * instance with default settings.
81
+ *
82
+ * @param app - The {@link @firebase/app#FirebaseApp} instance that the returned {@link Firestore}
83
+ * instance is associated with.
84
+ * @returns The {@link Firestore} instance of the provided app.
85
+ */
86
+ export declare function getFirestore(app: FirebaseApp): Firestore;
87
+ /**
88
+ * Returns the existing {@link Firestore} instance that is associated with the
89
+ * default {@link @firebase/app#FirebaseApp}. If no instance exists, initializes a new
90
+ * instance with default settings.
91
+ *
92
+ * @param databaseId - The name of database.
93
+ * @returns The {@link Firestore} instance of the provided app.
94
+ * @internal
95
+ */
96
+ export declare function getFirestore(databaseId: string): Firestore;
68
97
  /**
69
98
  * Returns the existing {@link Firestore} instance that is associated with the
70
99
  * provided {@link @firebase/app#FirebaseApp}. If no instance exists, initializes a new
@@ -72,9 +101,11 @@ export declare function initializeFirestore(app: FirebaseApp, settings: Firestor
72
101
  *
73
102
  * @param app - The {@link @firebase/app#FirebaseApp} instance that the returned {@link Firestore}
74
103
  * instance is associated with.
104
+ * @param databaseId - The name of database.
75
105
  * @returns The {@link Firestore} instance of the provided app.
106
+ * @internal
76
107
  */
77
- export declare function getFirestore(app?: FirebaseApp): Firestore;
108
+ export declare function getFirestore(app: FirebaseApp, databaseId: string): Firestore;
78
109
  /**
79
110
  * @internal
80
111
  */
@@ -19,6 +19,7 @@ import { Firestore } from './database';
19
19
  export { connectFirestoreEmulator, EmulatorMockTokenOptions } from '../lite-api/database';
20
20
  /**
21
21
  * A single field element in an index configuration.
22
+ * @beta
22
23
  */
23
24
  export interface IndexField {
24
25
  /** The field path to index. */
@@ -41,6 +42,7 @@ export interface IndexField {
41
42
  }
42
43
  /**
43
44
  * The SDK definition of a Firestore index.
45
+ * @beta
44
46
  */
45
47
  export interface Index {
46
48
  /** The ID of the collection to index. */
@@ -54,6 +56,7 @@ export interface Index {
54
56
  *
55
57
  * See {@link https://firebase.google.com/docs/reference/firestore/indexes/#json_format | JSON Format}
56
58
  * for a description of the format of the index definition.
59
+ * @beta
57
60
  */
58
61
  export interface IndexConfiguration {
59
62
  /** A list of all Firestore indexes. */
@@ -80,6 +83,7 @@ export interface IndexConfiguration {
80
83
  * @throws FirestoreError if the JSON format is invalid.
81
84
  * @returns A `Promise` that resolves once all indices are successfully
82
85
  * configured.
86
+ * @beta
83
87
  */
84
88
  export declare function setIndexConfiguration(firestore: Firestore, configuration: IndexConfiguration): Promise<void>;
85
89
  /**
@@ -106,6 +110,7 @@ export declare function setIndexConfiguration(firestore: Firestore, configuratio
106
110
  * @throws FirestoreError if the JSON format is invalid.
107
111
  * @returns A `Promise` that resolves once all indices are successfully
108
112
  * configured.
113
+ * @beta
109
114
  */
110
115
  export declare function setIndexConfiguration(firestore: Firestore, json: string): Promise<void>;
111
116
  export declare function parseIndexes(jsonOrConfiguration: string | IndexConfiguration): FieldIndex[];
@@ -1,3 +1,4 @@
1
+ import { FirebaseApp } from '@firebase/app';
1
2
  /**
2
3
  * @license
3
4
  * Copyright 2017 Google LLC
@@ -42,6 +43,8 @@ export declare class DatabaseInfo {
42
43
  */
43
44
  constructor(databaseId: DatabaseId, appId: string, persistenceKey: string, host: string, ssl: boolean, forceLongPolling: boolean, autoDetectLongPolling: boolean, useFetchStreams: boolean);
44
45
  }
46
+ /** The default database name for a project. */
47
+ export declare const DEFAULT_DATABASE_NAME = "(default)";
45
48
  /**
46
49
  * Represents the database ID a Firestore client is associated with.
47
50
  * @internal
@@ -54,3 +57,4 @@ export declare class DatabaseId {
54
57
  get isDefaultDatabase(): boolean;
55
58
  isEqual(other: {}): boolean;
56
59
  }
60
+ export declare function databaseIdFromApp(app: FirebaseApp, database?: string): DatabaseId;
@@ -34,18 +34,18 @@ declare module '@firebase/component' {
34
34
  export declare class Firestore implements FirestoreService {
35
35
  _authCredentials: CredentialsProvider<User>;
36
36
  _appCheckCredentials: CredentialsProvider<string>;
37
+ readonly _databaseId: DatabaseId;
38
+ readonly _app?: FirebaseApp | undefined;
37
39
  /**
38
40
  * Whether it's a Firestore or Firestore Lite instance.
39
41
  */
40
42
  type: 'firestore-lite' | 'firestore';
41
- readonly _databaseId: DatabaseId;
42
43
  readonly _persistenceKey: string;
43
44
  private _settings;
44
45
  private _settingsFrozen;
45
46
  private _terminateTask?;
46
- _app?: FirebaseApp;
47
47
  /** @hideconstructor */
48
- constructor(databaseIdOrApp: DatabaseId | FirebaseApp, _authCredentials: CredentialsProvider<User>, _appCheckCredentials: CredentialsProvider<string>);
48
+ constructor(_authCredentials: CredentialsProvider<User>, _appCheckCredentials: CredentialsProvider<string>, _databaseId: DatabaseId, _app?: FirebaseApp | undefined);
49
49
  /**
50
50
  * The {@link @firebase/app#FirebaseApp} associated with this `Firestore` service
51
51
  * instance.
@@ -81,15 +81,59 @@ export declare class Firestore implements FirestoreService {
81
81
  */
82
82
  export declare function initializeFirestore(app: FirebaseApp, settings: FirestoreSettings): Firestore;
83
83
  /**
84
- * Returns the existing `Firestore` instance that is associated with the
84
+ * Initializes a new instance of Cloud Firestore with the provided settings.
85
+ * Can only be called before any other functions, including
86
+ * {@link getFirestore}. If the custom settings are empty, this function is
87
+ * equivalent to calling {@link getFirestore}.
88
+ *
89
+ * @param app - The {@link @firebase/app#FirebaseApp} with which the `Firestore` instance will
90
+ * be associated.
91
+ * @param settings - A settings object to configure the `Firestore` instance.
92
+ * @param databaseId - The name of database.
93
+ * @returns A newly initialized `Firestore` instance.
94
+ * @internal
95
+ */
96
+ export declare function initializeFirestore(app: FirebaseApp, settings: FirestoreSettings, databaseId?: string): Firestore;
97
+ /**
98
+ * Returns the existing default {@link Firestore} instance that is associated with the
99
+ * default {@link @firebase/app#FirebaseApp}. If no instance exists, initializes a new
100
+ * instance with default settings.
101
+ *
102
+ * @returns The {@link Firestore} instance of the provided app.
103
+ */
104
+ export declare function getFirestore(): Firestore;
105
+ /**
106
+ * Returns the existing default {@link Firestore} instance that is associated with the
107
+ * provided {@link @firebase/app#FirebaseApp}. If no instance exists, initializes a new
108
+ * instance with default settings.
109
+ *
110
+ * @param app - The {@link @firebase/app#FirebaseApp} instance that the returned {@link Firestore}
111
+ * instance is associated with.
112
+ * @returns The {@link Firestore} instance of the provided app.
113
+ */
114
+ export declare function getFirestore(app: FirebaseApp): Firestore;
115
+ /**
116
+ * Returns the existing {@link Firestore} instance that is associated with the
117
+ * default {@link @firebase/app#FirebaseApp}. If no instance exists, initializes a new
118
+ * instance with default settings.
119
+ *
120
+ * @param databaseId - The name of database.
121
+ * @returns The {@link Firestore} instance of the provided app.
122
+ * @internal
123
+ */
124
+ export declare function getFirestore(databaseId: string): Firestore;
125
+ /**
126
+ * Returns the existing {@link Firestore} instance that is associated with the
85
127
  * provided {@link @firebase/app#FirebaseApp}. If no instance exists, initializes a new
86
128
  * instance with default settings.
87
129
  *
88
- * @param app - The {@link @firebase/app#FirebaseApp} instance that the returned `Firestore`
130
+ * @param app - The {@link @firebase/app#FirebaseApp} instance that the returned {@link Firestore}
89
131
  * instance is associated with.
90
- * @returns The `Firestore` instance of the provided app.
132
+ * @param databaseId - The name of database.
133
+ * @returns The {@link Firestore} instance of the provided app.
134
+ * @internal
91
135
  */
92
- export declare function getFirestore(app?: FirebaseApp): Firestore;
136
+ export declare function getFirestore(app: FirebaseApp, databaseId: string): Firestore;
93
137
  export { EmulatorMockTokenOptions } from '@firebase/util';
94
138
  /**
95
139
  * Modify this instance to communicate with the Cloud Firestore emulator.
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022 Google LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ export {};
@@ -17,6 +17,7 @@
17
17
  import { FirebaseApp } from '@firebase/app';
18
18
  import { Firestore } from '../../../src';
19
19
  import { PrivateSettings } from '../../../src/lite-api/settings';
20
- export declare function newTestFirestore(projectId: string, nameOrApp?: string | FirebaseApp, settings?: PrivateSettings): Firestore;
20
+ export declare function newTestApp(projectId: string, appName?: string): FirebaseApp;
21
+ export declare function newTestFirestore(app: FirebaseApp, settings?: PrivateSettings, dbName?: string): Firestore;
21
22
  export * from '../../../src';
22
23
  export { PrivateSettings };
@@ -37,6 +37,7 @@ export declare function withTestDb(persistence: boolean, fn: (db: Firestore) =>
37
37
  export declare function withAlternateTestDb(persistence: boolean, fn: (db: Firestore) => Promise<void>): Promise<void>;
38
38
  export declare function withTestDbs(persistence: boolean, numDbs: number, fn: (db: Firestore[]) => Promise<void>): Promise<void>;
39
39
  export declare function withTestDbsSettings(persistence: boolean, projectId: string, settings: PrivateSettings, numDbs: number, fn: (db: Firestore[]) => Promise<void>): Promise<void>;
40
+ export declare function withNamedTestDbsOrSkipUnlessUsingEmulator(persistence: boolean, dbNames: string[], fn: (db: Firestore[]) => Promise<void>): Promise<void>;
40
41
  export declare function withTestDoc(persistence: boolean, fn: (doc: DocumentReference, db: Firestore) => Promise<void>): Promise<void>;
41
42
  export declare function withTestDocAndSettings(persistence: boolean, settings: PrivateSettings, fn: (doc: DocumentReference) => Promise<void>): Promise<void>;
42
43
  export declare function withTestDocAndInitialData(persistence: boolean, initialData: DocumentData | null, fn: (doc: DocumentReference, db: Firestore) => Promise<void>): Promise<void>;