@firebase/firestore 3.4.13 → 3.4.14-canary.04dcdbb0f
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.
- package/CHANGELOG.md +8 -0
- package/dist/firestore/src/api/credentials.d.ts +13 -3
- package/dist/firestore/src/api/database.d.ts +34 -3
- package/dist/firestore/src/api/index_configuration.d.ts +7 -8
- package/dist/firestore/src/api.d.ts +1 -1
- package/dist/firestore/src/core/database_info.d.ts +4 -0
- package/dist/firestore/src/lite-api/database.d.ts +51 -7
- package/dist/firestore/src/local/indexeddb_schema.d.ts +1 -3
- package/dist/firestore/src/local/local_store_impl.d.ts +2 -0
- package/dist/firestore/src/util/array.d.ts +18 -0
- package/dist/firestore/test/integration/api/provider.test.d.ts +17 -0
- package/dist/firestore/test/integration/util/firebase_export.d.ts +2 -1
- package/dist/firestore/test/integration/util/helpers.d.ts +1 -0
- package/dist/firestore/test/unit/local/counting_query_engine.d.ts +11 -0
- package/dist/firestore/test/unit/local/local_store_indexeddb.test.d.ts +17 -0
- package/dist/firestore/test/unit/specs/index_spec.test.d.ts +17 -0
- package/dist/firestore/test/unit/specs/spec_builder.d.ts +5 -0
- package/dist/firestore/test/unit/specs/spec_test_runner.d.ts +8 -0
- package/dist/firestore/test/unit/util/array.test.d.ts +17 -0
- package/dist/index.d.ts +15 -4
- package/dist/index.esm2017.js +3793 -3646
- package/dist/index.esm2017.js.map +1 -1
- package/dist/index.esm5.js +3762 -3648
- package/dist/index.esm5.js.map +1 -1
- package/dist/index.node.cjs.js +295 -93
- package/dist/index.node.cjs.js.map +1 -1
- package/dist/index.node.mjs +295 -93
- package/dist/index.node.mjs.map +1 -1
- package/dist/index.rn.js +3732 -3586
- package/dist/index.rn.js.map +1 -1
- package/dist/internal.d.ts +53 -19
- package/dist/lite/firestore/src/api/credentials.d.ts +13 -3
- package/dist/lite/firestore/src/api/database.d.ts +34 -3
- package/dist/lite/firestore/src/api/index_configuration.d.ts +7 -8
- package/dist/lite/firestore/src/api.d.ts +1 -1
- package/dist/lite/firestore/src/core/database_info.d.ts +4 -0
- package/dist/lite/firestore/src/lite-api/database.d.ts +51 -7
- package/dist/lite/firestore/src/local/indexeddb_schema.d.ts +1 -3
- package/dist/lite/firestore/src/local/local_store_impl.d.ts +2 -0
- package/dist/lite/firestore/src/util/array.d.ts +18 -0
- package/dist/lite/firestore/test/integration/api/provider.test.d.ts +17 -0
- package/dist/lite/firestore/test/integration/util/firebase_export.d.ts +2 -1
- package/dist/lite/firestore/test/integration/util/helpers.d.ts +1 -0
- package/dist/lite/firestore/test/unit/local/counting_query_engine.d.ts +11 -0
- package/dist/lite/firestore/test/unit/local/local_store_indexeddb.test.d.ts +17 -0
- package/dist/lite/firestore/test/unit/specs/index_spec.test.d.ts +17 -0
- package/dist/lite/firestore/test/unit/specs/spec_builder.d.ts +5 -0
- package/dist/lite/firestore/test/unit/specs/spec_test_runner.d.ts +8 -0
- package/dist/lite/firestore/test/unit/util/array.test.d.ts +17 -0
- package/dist/lite/index.browser.esm2017.js +273 -277
- package/dist/lite/index.browser.esm2017.js.map +1 -1
- package/dist/lite/index.browser.esm5.js +506 -493
- package/dist/lite/index.browser.esm5.js.map +1 -1
- package/dist/lite/index.d.ts +15 -4
- package/dist/lite/index.node.cjs.js +71 -61
- package/dist/lite/index.node.cjs.js.map +1 -1
- package/dist/lite/index.node.mjs +71 -61
- package/dist/lite/index.node.mjs.map +1 -1
- package/dist/lite/index.rn.esm2017.js +273 -277
- package/dist/lite/index.rn.esm2017.js.map +1 -1
- package/dist/lite/internal.d.ts +58 -7
- package/dist/lite/packages/firestore/dist/lite/index.browser.esm2017.d.ts +29 -66
- package/dist/lite/packages/firestore/src/api/credentials.d.ts +13 -3
- package/dist/lite/packages/firestore/src/api/database.d.ts +34 -3
- package/dist/lite/packages/firestore/src/api/index_configuration.d.ts +7 -8
- package/dist/lite/packages/firestore/src/api.d.ts +1 -1
- package/dist/lite/packages/firestore/src/core/database_info.d.ts +4 -0
- package/dist/lite/packages/firestore/src/lite-api/database.d.ts +51 -7
- package/dist/lite/packages/firestore/src/local/indexeddb_schema.d.ts +1 -3
- package/dist/lite/packages/firestore/src/local/local_store_impl.d.ts +2 -0
- package/dist/lite/packages/firestore/src/util/array.d.ts +18 -0
- package/dist/lite/packages/firestore/test/integration/api/provider.test.d.ts +17 -0
- package/dist/lite/packages/firestore/test/integration/util/firebase_export.d.ts +2 -1
- package/dist/lite/packages/firestore/test/integration/util/helpers.d.ts +1 -0
- package/dist/lite/packages/firestore/test/unit/local/counting_query_engine.d.ts +11 -0
- package/dist/lite/packages/firestore/test/unit/local/local_store_indexeddb.test.d.ts +17 -0
- package/dist/lite/packages/firestore/test/unit/specs/index_spec.test.d.ts +17 -0
- package/dist/lite/packages/firestore/test/unit/specs/spec_builder.d.ts +5 -0
- package/dist/lite/packages/firestore/test/unit/specs/spec_test_runner.d.ts +8 -0
- package/dist/lite/packages/firestore/test/unit/util/array.test.d.ts +17 -0
- package/dist/lite/private.d.ts +25 -7
- package/dist/packages/firestore/dist/index.esm2017.d.ts +208 -203
- package/dist/packages/firestore/src/api/credentials.d.ts +13 -3
- package/dist/packages/firestore/src/api/database.d.ts +34 -3
- package/dist/packages/firestore/src/api/index_configuration.d.ts +7 -8
- package/dist/packages/firestore/src/api.d.ts +1 -1
- package/dist/packages/firestore/src/core/database_info.d.ts +4 -0
- package/dist/packages/firestore/src/lite-api/database.d.ts +51 -7
- package/dist/packages/firestore/src/local/indexeddb_schema.d.ts +1 -3
- package/dist/packages/firestore/src/local/local_store_impl.d.ts +2 -0
- package/dist/packages/firestore/src/util/array.d.ts +18 -0
- package/dist/packages/firestore/test/integration/api/provider.test.d.ts +17 -0
- package/dist/packages/firestore/test/integration/util/firebase_export.d.ts +2 -1
- package/dist/packages/firestore/test/integration/util/helpers.d.ts +1 -0
- package/dist/packages/firestore/test/unit/local/counting_query_engine.d.ts +11 -0
- package/dist/packages/firestore/test/unit/local/local_store_indexeddb.test.d.ts +17 -0
- package/dist/packages/firestore/test/unit/specs/index_spec.test.d.ts +17 -0
- package/dist/packages/firestore/test/unit/specs/spec_builder.d.ts +5 -0
- package/dist/packages/firestore/test/unit/specs/spec_test_runner.d.ts +8 -0
- package/dist/packages/firestore/test/unit/util/array.test.d.ts +17 -0
- package/dist/private.d.ts +25 -8
- package/package.json +11 -9
|
@@ -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
|
-
|
|
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
|
-
|
|
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(
|
|
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
|
|
108
|
+
export declare function getFirestore(app: FirebaseApp, databaseId: string): Firestore;
|
|
78
109
|
/**
|
|
79
110
|
* @internal
|
|
80
111
|
*/
|
|
@@ -14,12 +14,12 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
+
import { FieldIndex } from '../model/field_index';
|
|
17
18
|
import { Firestore } from './database';
|
|
18
19
|
export { connectFirestoreEmulator, EmulatorMockTokenOptions } from '../lite-api/database';
|
|
19
20
|
/**
|
|
20
21
|
* A single field element in an index configuration.
|
|
21
|
-
*
|
|
22
|
-
* @internal
|
|
22
|
+
* @beta
|
|
23
23
|
*/
|
|
24
24
|
export interface IndexField {
|
|
25
25
|
/** The field path to index. */
|
|
@@ -42,8 +42,7 @@ export interface IndexField {
|
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
44
44
|
* The SDK definition of a Firestore index.
|
|
45
|
-
*
|
|
46
|
-
* @internal
|
|
45
|
+
* @beta
|
|
47
46
|
*/
|
|
48
47
|
export interface Index {
|
|
49
48
|
/** The ID of the collection to index. */
|
|
@@ -57,8 +56,7 @@ export interface Index {
|
|
|
57
56
|
*
|
|
58
57
|
* See {@link https://firebase.google.com/docs/reference/firestore/indexes/#json_format | JSON Format}
|
|
59
58
|
* for a description of the format of the index definition.
|
|
60
|
-
*
|
|
61
|
-
* @internal
|
|
59
|
+
* @beta
|
|
62
60
|
*/
|
|
63
61
|
export interface IndexConfiguration {
|
|
64
62
|
/** A list of all Firestore indexes. */
|
|
@@ -80,12 +78,12 @@ export interface IndexConfiguration {
|
|
|
80
78
|
* before setting an index configuration. If IndexedDb is not enabled, any
|
|
81
79
|
* index configuration is ignored.
|
|
82
80
|
*
|
|
83
|
-
* @internal
|
|
84
81
|
* @param firestore - The {@link Firestore} instance to configure indexes for.
|
|
85
82
|
* @param configuration -The index definition.
|
|
86
83
|
* @throws FirestoreError if the JSON format is invalid.
|
|
87
84
|
* @returns A `Promise` that resolves once all indices are successfully
|
|
88
85
|
* configured.
|
|
86
|
+
* @beta
|
|
89
87
|
*/
|
|
90
88
|
export declare function setIndexConfiguration(firestore: Firestore, configuration: IndexConfiguration): Promise<void>;
|
|
91
89
|
/**
|
|
@@ -107,11 +105,12 @@ export declare function setIndexConfiguration(firestore: Firestore, configuratio
|
|
|
107
105
|
* firestore:indexes`). If the JSON format is invalid, this method throws an
|
|
108
106
|
* error.
|
|
109
107
|
*
|
|
110
|
-
* @internal
|
|
111
108
|
* @param firestore - The {@link Firestore} instance to configure indexes for.
|
|
112
109
|
* @param json -The JSON format exported by the Firebase CLI.
|
|
113
110
|
* @throws FirestoreError if the JSON format is invalid.
|
|
114
111
|
* @returns A `Promise` that resolves once all indices are successfully
|
|
115
112
|
* configured.
|
|
113
|
+
* @beta
|
|
116
114
|
*/
|
|
117
115
|
export declare function setIndexConfiguration(firestore: Firestore, json: string): Promise<void>;
|
|
116
|
+
export declare function parseIndexes(jsonOrConfiguration: string | IndexConfiguration): FieldIndex[];
|
|
@@ -36,6 +36,7 @@ export { CACHE_SIZE_UNLIMITED } from './api/database';
|
|
|
36
36
|
export { FirestoreErrorCode, FirestoreError } from './util/error';
|
|
37
37
|
export { AbstractUserDataWriter } from './lite-api/user_data_writer';
|
|
38
38
|
export { Primitive, NestedUpdateFields, ChildUpdateFields, AddPrefixToKeys, UnionToIntersection } from '../src/lite-api/types';
|
|
39
|
+
export { setIndexConfiguration, Index, IndexConfiguration, IndexField } from './api/index_configuration';
|
|
39
40
|
/**
|
|
40
41
|
* Internal exports
|
|
41
42
|
*/
|
|
@@ -50,4 +51,3 @@ export type { ByteString as _ByteString } from './util/byte_string';
|
|
|
50
51
|
export { logWarn as _logWarn } from './util/log';
|
|
51
52
|
export { EmptyAuthCredentialsProvider as _EmptyAuthCredentialsProvider } from './api/credentials';
|
|
52
53
|
export { EmptyAppCheckTokenProvider as _EmptyAppCheckTokenProvider } from './api/credentials';
|
|
53
|
-
export { setIndexConfiguration as _setIndexConfiguration } from './api/index_configuration';
|
|
@@ -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(
|
|
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
|
-
*
|
|
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
|
|
130
|
+
* @param app - The {@link @firebase/app#FirebaseApp} instance that the returned {@link Firestore}
|
|
89
131
|
* instance is associated with.
|
|
90
|
-
* @
|
|
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
|
|
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.
|
|
@@ -20,8 +20,6 @@ import { BundledQuery } from '../protos/firestore_bundle_proto';
|
|
|
20
20
|
import { Document as ProtoDocument, DocumentsTarget as ProtoDocumentsTarget, QueryTarget as ProtoQueryTarget, Write as ProtoWrite } from '../protos/firestore_proto_api';
|
|
21
21
|
import { EncodedResourcePath } from './encoded_resource_path';
|
|
22
22
|
import { DbTimestampKey } from './indexeddb_sentinels';
|
|
23
|
-
export declare const INDEXING_ENABLED = false;
|
|
24
|
-
export declare const INDEXING_SCHEMA_VERSION = 15;
|
|
25
23
|
/**
|
|
26
24
|
* Schema Version for the Web client:
|
|
27
25
|
* 1. Initial version including Mutation Queue, Query Cache, and Remote
|
|
@@ -46,7 +44,7 @@ export declare const INDEXING_SCHEMA_VERSION = 15;
|
|
|
46
44
|
* 14. Add overlays.
|
|
47
45
|
* 15. Add indexing support.
|
|
48
46
|
*/
|
|
49
|
-
export declare const SCHEMA_VERSION
|
|
47
|
+
export declare const SCHEMA_VERSION = 15;
|
|
50
48
|
/**
|
|
51
49
|
* Wrapper class to store timestamps (seconds and nanos) in IndexedDb objects.
|
|
52
50
|
*/
|
|
@@ -23,6 +23,7 @@ import { BatchId, TargetId } from '../core/types';
|
|
|
23
23
|
import { DocumentKeySet, DocumentMap } from '../model/collections';
|
|
24
24
|
import { Document } from '../model/document';
|
|
25
25
|
import { DocumentKey } from '../model/document_key';
|
|
26
|
+
import { FieldIndex } from '../model/field_index';
|
|
26
27
|
import { Mutation } from '../model/mutation';
|
|
27
28
|
import { MutationBatch, MutationBatchResult } from '../model/mutation_batch';
|
|
28
29
|
import { BundleMetadata, NamedQuery as ProtoNamedQuery } from '../protos/firestore_bundle_proto';
|
|
@@ -192,3 +193,4 @@ export declare function localStoreGetNamedQuery(localStore: LocalStore, queryNam
|
|
|
192
193
|
* Saves the given `NamedQuery` to local persistence.
|
|
193
194
|
*/
|
|
194
195
|
export declare function localStoreSaveNamedQuery(localStore: LocalStore, query: ProtoNamedQuery, documents?: DocumentKeySet): Promise<void>;
|
|
196
|
+
export declare function localStoreConfigureFieldIndexes(localStore: LocalStore, newFieldIndexes: FieldIndex[]): Promise<void>;
|
|
@@ -28,3 +28,21 @@ export declare function some<T>(array: T[], predicate: (t: T) => boolean): boole
|
|
|
28
28
|
* predicate does not return true for any item, null is returned.
|
|
29
29
|
*/
|
|
30
30
|
export declare function findIndex<A>(array: A[], predicate: (value: A) => boolean): number | null;
|
|
31
|
+
/**
|
|
32
|
+
* Compares two array for equality using comparator. The method computes the
|
|
33
|
+
* intersection and invokes `onAdd` for every element that is in `after` but not
|
|
34
|
+
* `before`. `onRemove` is invoked for every element in `before` but missing
|
|
35
|
+
* from `after`.
|
|
36
|
+
*
|
|
37
|
+
* The method creates a copy of both `before` and `after` and runs in O(n log
|
|
38
|
+
* n), where n is the size of the two lists.
|
|
39
|
+
*
|
|
40
|
+
* @param before - The elements that exist in the original array.
|
|
41
|
+
* @param after - The elements to diff against the original array.
|
|
42
|
+
* @param comparator - The comparator for the elements in before and after.
|
|
43
|
+
* @param onAdd - A function to invoke for every element that is part of `
|
|
44
|
+
* after` but not `before`.
|
|
45
|
+
* @param onRemove - A function to invoke for every element that is part of
|
|
46
|
+
* `before` but not `after`.
|
|
47
|
+
*/
|
|
48
|
+
export declare function diffArrays<T>(before: T[], after: T[], comparator: (l: T, r: T) => number, onAdd: (entry: T) => void, onRemove: (entry: T) => void): void;
|
|
@@ -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
|
|
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>;
|
|
@@ -50,9 +50,20 @@ export declare class CountingQueryEngine extends QueryEngine {
|
|
|
50
50
|
* and `getEntries()` APIs (since the last call to `resetCounts()`)
|
|
51
51
|
*/
|
|
52
52
|
documentsReadByKey: number;
|
|
53
|
+
/**
|
|
54
|
+
* The number of documents returned by the OverlayCache's `getOverlays()`
|
|
55
|
+
* API (since the last call to `resetCounts()`)
|
|
56
|
+
*/
|
|
57
|
+
overlaysReadByCollection: number;
|
|
58
|
+
/**
|
|
59
|
+
* The number of documents returned by the OverlayCache's `getOverlay()`
|
|
60
|
+
* APIs (since the last call to `resetCounts()`)
|
|
61
|
+
*/
|
|
62
|
+
overlaysReadByKey: number;
|
|
53
63
|
resetCounts(): void;
|
|
54
64
|
getDocumentsMatchingQuery(transaction: PersistenceTransaction, query: Query, lastLimboFreeSnapshotVersion: SnapshotVersion, remoteKeys: DocumentKeySet): PersistencePromise<DocumentMap>;
|
|
55
65
|
initialize(localDocuments: LocalDocumentsView, indexManager: IndexManager): void;
|
|
56
66
|
private wrapRemoteDocumentCache;
|
|
57
67
|
private wrapMutationQueue;
|
|
68
|
+
private wrapDocumentOverlayCache;
|
|
58
69
|
}
|
|
@@ -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 {};
|
|
@@ -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 {};
|
|
@@ -14,12 +14,14 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
+
import { IndexConfiguration } from '../../../src/api/index_configuration';
|
|
17
18
|
import { Query } from '../../../src/core/query';
|
|
18
19
|
import { Target } from '../../../src/core/target';
|
|
19
20
|
import { TargetIdGenerator } from '../../../src/core/target_id_generator';
|
|
20
21
|
import { TargetId } from '../../../src/core/types';
|
|
21
22
|
import { Document } from '../../../src/model/document';
|
|
22
23
|
import { DocumentKey } from '../../../src/model/document_key';
|
|
24
|
+
import { FieldIndex } from '../../../src/model/field_index';
|
|
23
25
|
import { JsonObject } from '../../../src/model/object_value';
|
|
24
26
|
import { TimerId } from '../../../src/util/async_queue';
|
|
25
27
|
import { Code } from '../../../src/util/error';
|
|
@@ -113,6 +115,7 @@ export declare class SpecBuilder {
|
|
|
113
115
|
userAddsSnapshotsInSyncListener(): this;
|
|
114
116
|
userRemovesSnapshotsInSyncListener(): this;
|
|
115
117
|
loadBundle(bundleContent: string): this;
|
|
118
|
+
setIndexConfiguration(jsonOrConfiguration: string | IndexConfiguration): this;
|
|
116
119
|
becomeHidden(): this;
|
|
117
120
|
becomeVisible(): this;
|
|
118
121
|
runTimer(timerId: TimerId): this;
|
|
@@ -130,6 +133,8 @@ export declare class SpecBuilder {
|
|
|
130
133
|
/** Stops failing database operations. */
|
|
131
134
|
recoverDatabase(): this;
|
|
132
135
|
expectIsShutdown(): this;
|
|
136
|
+
/** Expects indexes to exist (in any order) */
|
|
137
|
+
expectIndexes(indexes: FieldIndex[]): this;
|
|
133
138
|
/** Overrides the currently expected set of active targets. */
|
|
134
139
|
expectActiveTargets(...targets: Array<{
|
|
135
140
|
query: Query;
|
|
@@ -14,8 +14,10 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
+
import { IndexConfiguration } from '../../../src/api/index_configuration';
|
|
17
18
|
import { Query } from '../../../src/core/query';
|
|
18
19
|
import { TargetId } from '../../../src/core/types';
|
|
20
|
+
import { FieldIndex } from '../../../src/model/field_index';
|
|
19
21
|
import { JsonObject } from '../../../src/model/object_value';
|
|
20
22
|
import { TestSnapshotVersion } from '../../util/helpers';
|
|
21
23
|
import { ActiveTargetMap } from './spec_builder';
|
|
@@ -95,6 +97,10 @@ export interface SpecStep {
|
|
|
95
97
|
waitForPendingWrites?: true;
|
|
96
98
|
/** Fails the listed database actions. */
|
|
97
99
|
failDatabase?: false | PersistenceAction[];
|
|
100
|
+
/**
|
|
101
|
+
* Set Index Configuration
|
|
102
|
+
*/
|
|
103
|
+
setIndexConfiguration?: string | IndexConfiguration;
|
|
98
104
|
/**
|
|
99
105
|
* Run a queued timer task (without waiting for the delay to expire). See
|
|
100
106
|
* TimerId enum definition for possible values).
|
|
@@ -306,5 +312,7 @@ export interface StateExpectation {
|
|
|
306
312
|
acknowledgedDocs: string[];
|
|
307
313
|
rejectedDocs: string[];
|
|
308
314
|
};
|
|
315
|
+
/** Indexes */
|
|
316
|
+
indexes?: FieldIndex[];
|
|
309
317
|
}
|
|
310
318
|
export {};
|
|
@@ -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 {};
|
package/dist/private.d.ts
CHANGED
|
@@ -121,6 +121,8 @@ declare interface AsyncQueue {
|
|
|
121
121
|
verifyOperationInProgress(): void;
|
|
122
122
|
}
|
|
123
123
|
|
|
124
|
+
declare type AuthTokenFactory = () => string;
|
|
125
|
+
|
|
124
126
|
/**
|
|
125
127
|
* Path represents an ordered sequence of string segments.
|
|
126
128
|
*/
|
|
@@ -1390,7 +1392,7 @@ export declare class Firestore extends Firestore_2 {
|
|
|
1390
1392
|
readonly _persistenceKey: string;
|
|
1391
1393
|
_firestoreClient: FirestoreClient | undefined;
|
|
1392
1394
|
/** @hideconstructor */
|
|
1393
|
-
constructor(
|
|
1395
|
+
constructor(authCredentialsProvider: CredentialsProvider<User>, appCheckCredentialsProvider: CredentialsProvider<string>, databaseId: _DatabaseId, app?: FirebaseApp);
|
|
1394
1396
|
_terminate(): Promise<void>;
|
|
1395
1397
|
}
|
|
1396
1398
|
|
|
@@ -1402,18 +1404,18 @@ export declare class Firestore extends Firestore_2 {
|
|
|
1402
1404
|
declare class Firestore_2 implements FirestoreService {
|
|
1403
1405
|
_authCredentials: CredentialsProvider<User>;
|
|
1404
1406
|
_appCheckCredentials: CredentialsProvider<string>;
|
|
1407
|
+
readonly _databaseId: _DatabaseId;
|
|
1408
|
+
readonly _app?: FirebaseApp | undefined;
|
|
1405
1409
|
/**
|
|
1406
1410
|
* Whether it's a Firestore or Firestore Lite instance.
|
|
1407
1411
|
*/
|
|
1408
1412
|
type: 'firestore-lite' | 'firestore';
|
|
1409
|
-
readonly _databaseId: _DatabaseId;
|
|
1410
1413
|
readonly _persistenceKey: string;
|
|
1411
1414
|
private _settings;
|
|
1412
1415
|
private _settingsFrozen;
|
|
1413
1416
|
private _terminateTask?;
|
|
1414
|
-
_app?: FirebaseApp;
|
|
1415
1417
|
/** @hideconstructor */
|
|
1416
|
-
constructor(
|
|
1418
|
+
constructor(_authCredentials: CredentialsProvider<User>, _appCheckCredentials: CredentialsProvider<string>, _databaseId: _DatabaseId, _app?: FirebaseApp | undefined);
|
|
1417
1419
|
/**
|
|
1418
1420
|
* The {@link @firebase/app#FirebaseApp} associated with this `Firestore` service
|
|
1419
1421
|
* instance.
|
|
@@ -2065,6 +2067,7 @@ declare interface FirstPartyCredentialsSettings {
|
|
|
2065
2067
|
['client']: unknown;
|
|
2066
2068
|
['sessionIndex']: string;
|
|
2067
2069
|
['iamToken']: string | null;
|
|
2070
|
+
['authTokenFactory']: AuthTokenFactory | null;
|
|
2068
2071
|
}
|
|
2069
2072
|
|
|
2070
2073
|
/**
|
|
@@ -2206,7 +2209,16 @@ export declare function getDocsFromCache<T>(query: Query<T>): Promise<QuerySnaps
|
|
|
2206
2209
|
export declare function getDocsFromServer<T>(query: Query<T>): Promise<QuerySnapshot<T>>;
|
|
2207
2210
|
|
|
2208
2211
|
/**
|
|
2209
|
-
* Returns the existing {@link Firestore} instance that is associated with the
|
|
2212
|
+
* Returns the existing default {@link Firestore} instance that is associated with the
|
|
2213
|
+
* default {@link @firebase/app#FirebaseApp}. If no instance exists, initializes a new
|
|
2214
|
+
* instance with default settings.
|
|
2215
|
+
*
|
|
2216
|
+
* @returns The {@link Firestore} instance of the provided app.
|
|
2217
|
+
*/
|
|
2218
|
+
export declare function getFirestore(): Firestore;
|
|
2219
|
+
|
|
2220
|
+
/**
|
|
2221
|
+
* Returns the existing default {@link Firestore} instance that is associated with the
|
|
2210
2222
|
* provided {@link @firebase/app#FirebaseApp}. If no instance exists, initializes a new
|
|
2211
2223
|
* instance with default settings.
|
|
2212
2224
|
*
|
|
@@ -2214,7 +2226,11 @@ export declare function getDocsFromServer<T>(query: Query<T>): Promise<QuerySnap
|
|
|
2214
2226
|
* instance is associated with.
|
|
2215
2227
|
* @returns The {@link Firestore} instance of the provided app.
|
|
2216
2228
|
*/
|
|
2217
|
-
export declare function getFirestore(app
|
|
2229
|
+
export declare function getFirestore(app: FirebaseApp): Firestore;
|
|
2230
|
+
|
|
2231
|
+
/* Excluded declaration from this release type: getFirestore */
|
|
2232
|
+
|
|
2233
|
+
/* Excluded declaration from this release type: getFirestore */
|
|
2218
2234
|
|
|
2219
2235
|
/**
|
|
2220
2236
|
* Returns a special value that can be used with {@link @firebase/firestore/lite#(setDoc:1)} or {@link
|
|
@@ -2436,9 +2452,10 @@ declare const enum IndexType {
|
|
|
2436
2452
|
* @param app - The {@link @firebase/app#FirebaseApp} with which the {@link Firestore} instance will
|
|
2437
2453
|
* be associated.
|
|
2438
2454
|
* @param settings - A settings object to configure the {@link Firestore} instance.
|
|
2455
|
+
* @param databaseId - The name of database.
|
|
2439
2456
|
* @returns A newly initialized {@link Firestore} instance.
|
|
2440
2457
|
*/
|
|
2441
|
-
export declare function initializeFirestore(app: FirebaseApp, settings: FirestoreSettings): Firestore;
|
|
2458
|
+
export declare function initializeFirestore(app: FirebaseApp, settings: FirestoreSettings, databaseId?: string): Firestore;
|
|
2442
2459
|
|
|
2443
2460
|
/* Excluded from this release type: _isBase64Available */
|
|
2444
2461
|
|
|
@@ -4485,7 +4502,7 @@ export declare function setDoc<T>(reference: DocumentReference<T>, data: WithFie
|
|
|
4485
4502
|
*/
|
|
4486
4503
|
export declare function setDoc<T>(reference: DocumentReference<T>, data: PartialWithFieldValue<T>, options: SetOptions): Promise<void>;
|
|
4487
4504
|
|
|
4488
|
-
/* Excluded from this release type:
|
|
4505
|
+
/* Excluded from this release type: setIndexConfiguration */
|
|
4489
4506
|
|
|
4490
4507
|
/**
|
|
4491
4508
|
* Sets the verbosity of Cloud Firestore logs (debug, error, or silent).
|