@firebase/firestore 3.4.8-canary.aa41fd662 → 3.4.8-canary.adb9aaa34

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 (77) hide show
  1. package/dist/firestore/lite/index.d.ts +1 -0
  2. package/dist/firestore/src/api/transaction.d.ts +2 -1
  3. package/dist/firestore/src/api/transaction_options.d.ts +17 -0
  4. package/dist/firestore/src/api.d.ts +1 -0
  5. package/dist/firestore/src/core/firestore_client.d.ts +2 -1
  6. package/dist/firestore/src/core/target.d.ts +4 -4
  7. package/dist/firestore/src/core/transaction_options.d.ts +25 -0
  8. package/dist/firestore/src/core/transaction_runner.d.ts +3 -2
  9. package/dist/firestore/src/lite-api/transaction.d.ts +2 -1
  10. package/dist/firestore/src/lite-api/transaction_options.d.ts +23 -0
  11. package/dist/firestore/src/local/indexeddb_index_manager.d.ts +0 -5
  12. package/dist/firestore/src/model/values.d.ts +14 -2
  13. package/dist/index.d.ts +24 -1
  14. package/dist/index.esm2017.js +1368 -1327
  15. package/dist/index.esm2017.js.map +1 -1
  16. package/dist/index.esm5.js +2335 -2296
  17. package/dist/index.esm5.js.map +1 -1
  18. package/dist/index.node.cjs.js +80 -62
  19. package/dist/index.node.cjs.js.map +1 -1
  20. package/dist/index.node.mjs +80 -62
  21. package/dist/index.node.mjs.map +1 -1
  22. package/dist/index.rn.js +1396 -1355
  23. package/dist/index.rn.js.map +1 -1
  24. package/dist/internal.d.ts +25 -1
  25. package/dist/lite/firestore/lite/index.d.ts +1 -0
  26. package/dist/lite/firestore/src/api/transaction.d.ts +2 -1
  27. package/dist/lite/firestore/src/api/transaction_options.d.ts +17 -0
  28. package/dist/lite/firestore/src/api.d.ts +1 -0
  29. package/dist/lite/firestore/src/core/firestore_client.d.ts +2 -1
  30. package/dist/lite/firestore/src/core/target.d.ts +4 -4
  31. package/dist/lite/firestore/src/core/transaction_options.d.ts +25 -0
  32. package/dist/lite/firestore/src/core/transaction_runner.d.ts +3 -2
  33. package/dist/lite/firestore/src/lite-api/transaction.d.ts +2 -1
  34. package/dist/lite/firestore/src/lite-api/transaction_options.d.ts +23 -0
  35. package/dist/lite/firestore/src/local/indexeddb_index_manager.d.ts +0 -5
  36. package/dist/lite/firestore/src/model/values.d.ts +14 -2
  37. package/dist/lite/index.browser.esm2017.js +613 -580
  38. package/dist/lite/index.browser.esm2017.js.map +1 -1
  39. package/dist/lite/index.browser.esm5.js +580 -568
  40. package/dist/lite/index.browser.esm5.js.map +1 -1
  41. package/dist/lite/index.d.ts +24 -1
  42. package/dist/lite/index.node.cjs.js +53 -10
  43. package/dist/lite/index.node.cjs.js.map +1 -1
  44. package/dist/lite/index.node.mjs +53 -10
  45. package/dist/lite/index.node.mjs.map +1 -1
  46. package/dist/lite/index.rn.esm2017.js +1275 -1242
  47. package/dist/lite/index.rn.esm2017.js.map +1 -1
  48. package/dist/lite/internal.d.ts +25 -1
  49. package/dist/lite/packages/firestore/dist/lite/index.browser.esm2017.d.ts +94 -94
  50. package/dist/lite/packages/firestore/lite/index.d.ts +1 -0
  51. package/dist/lite/packages/firestore/src/api/transaction.d.ts +2 -1
  52. package/dist/lite/packages/firestore/src/api/transaction_options.d.ts +17 -0
  53. package/dist/lite/packages/firestore/src/api.d.ts +1 -0
  54. package/dist/lite/packages/firestore/src/core/firestore_client.d.ts +2 -1
  55. package/dist/lite/packages/firestore/src/core/target.d.ts +4 -4
  56. package/dist/lite/packages/firestore/src/core/transaction_options.d.ts +25 -0
  57. package/dist/lite/packages/firestore/src/core/transaction_runner.d.ts +3 -2
  58. package/dist/lite/packages/firestore/src/lite-api/transaction.d.ts +2 -1
  59. package/dist/lite/packages/firestore/src/lite-api/transaction_options.d.ts +23 -0
  60. package/dist/lite/packages/firestore/src/local/indexeddb_index_manager.d.ts +0 -5
  61. package/dist/lite/packages/firestore/src/model/values.d.ts +14 -2
  62. package/dist/lite/private.d.ts +25 -1
  63. package/dist/packages/firestore/dist/index.esm2017.d.ts +76 -75
  64. package/dist/packages/firestore/lite/index.d.ts +1 -0
  65. package/dist/packages/firestore/src/api/transaction.d.ts +2 -1
  66. package/dist/packages/firestore/src/api/transaction_options.d.ts +17 -0
  67. package/dist/packages/firestore/src/api.d.ts +1 -0
  68. package/dist/packages/firestore/src/core/firestore_client.d.ts +2 -1
  69. package/dist/packages/firestore/src/core/target.d.ts +4 -4
  70. package/dist/packages/firestore/src/core/transaction_options.d.ts +25 -0
  71. package/dist/packages/firestore/src/core/transaction_runner.d.ts +3 -2
  72. package/dist/packages/firestore/src/lite-api/transaction.d.ts +2 -1
  73. package/dist/packages/firestore/src/lite-api/transaction_options.d.ts +23 -0
  74. package/dist/packages/firestore/src/local/indexeddb_index_manager.d.ts +0 -5
  75. package/dist/packages/firestore/src/model/values.d.ts +14 -2
  76. package/dist/private.d.ts +25 -1
  77. package/package.json +10 -10
@@ -17,6 +17,7 @@ export { FieldValue } from '../src/lite-api/field_value';
17
17
  export { increment, arrayRemove, arrayUnion, serverTimestamp, deleteField } from '../src/lite-api/field_value_impl';
18
18
  export { FirestoreDataConverter, DocumentSnapshot, QueryDocumentSnapshot, QuerySnapshot, snapshotEqual } from '../src/lite-api/snapshot';
19
19
  export { WriteBatch, writeBatch } from '../src/lite-api/write_batch';
20
+ export { TransactionOptions } from '../src/lite-api/transaction_options';
20
21
  export { Transaction, runTransaction } from '../src/lite-api/transaction';
21
22
  export { setLogLevel, LogLevelString as LogLevel } from '../src/util/log';
22
23
  export { Bytes } from '../src/lite-api/bytes';
@@ -19,6 +19,7 @@ import { DocumentReference } from '../lite-api/reference';
19
19
  import { Transaction as LiteTransaction } from '../lite-api/transaction';
20
20
  import { Firestore } from './database';
21
21
  import { DocumentSnapshot } from './snapshot';
22
+ import { TransactionOptions } from './transaction_options';
22
23
  /**
23
24
  * A reference to a transaction.
24
25
  *
@@ -55,4 +56,4 @@ export declare class Transaction extends LiteTransaction {
55
56
  * `updateFunction `is returned here. Otherwise, if the transaction failed, a
56
57
  * rejected promise with the corresponding failure error is returned.
57
58
  */
58
- export declare function runTransaction<T>(firestore: Firestore, updateFunction: (transaction: Transaction) => Promise<T>): Promise<T>;
59
+ export declare function runTransaction<T>(firestore: Firestore, updateFunction: (transaction: Transaction) => Promise<T>, options?: TransactionOptions): Promise<T>;
@@ -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 { TransactionOptions } from '../lite-api/transaction_options';
@@ -22,6 +22,7 @@ export { DocumentChange, DocumentSnapshot, QueryDocumentSnapshot, QuerySnapshot,
22
22
  export { DocumentReference, CollectionReference, Query, doc, collection, collectionGroup, SetOptions, DocumentData, UpdateData, WithFieldValue, PartialWithFieldValue, refEqual, queryEqual } from './api/reference';
23
23
  export { endAt, endBefore, startAt, startAfter, limit, limitToLast, where, orderBy, query, QueryConstraint, QueryConstraintType, OrderByDirection, WhereFilterOp } from './api/filter';
24
24
  export { Unsubscribe, SnapshotListenOptions } from './api/reference_impl';
25
+ export { TransactionOptions } from './api/transaction_options';
25
26
  export { runTransaction, Transaction } from './api/transaction';
26
27
  export { getDoc, getDocFromCache, getDocFromServer, getDocs, getDocsFromCache, getDocsFromServer, onSnapshot, onSnapshotsInSync, setDoc, updateDoc, deleteDoc, addDoc, executeWrite } from './api/reference_impl';
27
28
  export { FieldValue } from './api/field_value';
@@ -30,6 +30,7 @@ import { EventManager, ListenOptions, Observer } from './event_manager';
30
30
  import { Query } from './query';
31
31
  import { SyncEngine } from './sync_engine';
32
32
  import { Transaction } from './transaction';
33
+ import { TransactionOptions } from './transaction_options';
33
34
  import { ViewSnapshot } from './view_snapshot';
34
35
  export declare const MAX_CONCURRENT_LIMBO_RESOLUTIONS = 100;
35
36
  /**
@@ -113,6 +114,6 @@ export declare function firestoreClientAddSnapshotsInSyncListener(client: Firest
113
114
  * been committed. For this reason, it is required that all reads are
114
115
  * performed before any writes. Transactions must be performed while online.
115
116
  */
116
- export declare function firestoreClientTransaction<T>(client: FirestoreClient, updateFunction: (transaction: Transaction) => Promise<T>): Promise<T>;
117
+ export declare function firestoreClientTransaction<T>(client: FirestoreClient, updateFunction: (transaction: Transaction) => Promise<T>, options: TransactionOptions): Promise<T>;
117
118
  export declare function firestoreClientLoadBundle(client: FirestoreClient, databaseId: DatabaseId, data: ReadableStream<Uint8Array> | ArrayBuffer | string, resultTask: LoadBundleTask): void;
118
119
  export declare function firestoreClientGetNamedQuery(client: FirestoreClient, queryName: string): Promise<NamedQuery | undefined>;
@@ -72,16 +72,16 @@ export declare function targetGetArrayValues(target: Target, fieldIndex: FieldIn
72
72
  export declare function targetGetNotInValues(target: Target, fieldIndex: FieldIndex): ProtoValue[] | null;
73
73
  /**
74
74
  * Returns a lower bound of field values that can be used as a starting point to
75
- * scan the index defined by `fieldIndex`. Returns `null` if no lower bound
75
+ * scan the index defined by `fieldIndex`. Returns `MIN_VALUE` if no lower bound
76
76
  * exists.
77
77
  */
78
- export declare function targetGetLowerBound(target: Target, fieldIndex: FieldIndex): Bound | null;
78
+ export declare function targetGetLowerBound(target: Target, fieldIndex: FieldIndex): Bound;
79
79
  /**
80
80
  * Returns an upper bound of field values that can be used as an ending point
81
- * when scanning the index defined by `fieldIndex`. Returns `null` if no
81
+ * when scanning the index defined by `fieldIndex`. Returns `MAX_VALUE` if no
82
82
  * upper bound exists.
83
83
  */
84
- export declare function targetGetUpperBound(target: Target, fieldIndex: FieldIndex): Bound | null;
84
+ export declare function targetGetUpperBound(target: Target, fieldIndex: FieldIndex): Bound;
85
85
  /** Returns the number of segments of a perfect index for this target. */
86
86
  export declare function targetGetSegmentCount(target: Target): number;
87
87
  export declare abstract class Filter {
@@ -0,0 +1,25 @@
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 declare const DEFAULT_TRANSACTION_OPTIONS: TransactionOptions;
18
+ /**
19
+ * Options to customize transaction behavior.
20
+ */
21
+ export declare interface TransactionOptions {
22
+ /** Maximum number of attempts to commit, after which transaction fails. Default is 5. */
23
+ readonly maxAttempts: number;
24
+ }
25
+ export declare function validateTransactionOptions(options: TransactionOptions): void;
@@ -18,7 +18,7 @@ import { Datastore } from '../remote/datastore';
18
18
  import { AsyncQueue } from '../util/async_queue';
19
19
  import { Deferred } from '../util/promise';
20
20
  import { Transaction } from './transaction';
21
- export declare const DEFAULT_MAX_ATTEMPTS_COUNT = 5;
21
+ import { TransactionOptions } from './transaction_options';
22
22
  /**
23
23
  * TransactionRunner encapsulates the logic needed to run and retry transactions
24
24
  * with backoff.
@@ -26,11 +26,12 @@ export declare const DEFAULT_MAX_ATTEMPTS_COUNT = 5;
26
26
  export declare class TransactionRunner<T> {
27
27
  private readonly asyncQueue;
28
28
  private readonly datastore;
29
+ private readonly options;
29
30
  private readonly updateFunction;
30
31
  private readonly deferred;
31
32
  private attemptsRemaining;
32
33
  private backoff;
33
- constructor(asyncQueue: AsyncQueue, datastore: Datastore, updateFunction: (transaction: Transaction) => Promise<T>, deferred: Deferred<T>);
34
+ constructor(asyncQueue: AsyncQueue, datastore: Datastore, options: TransactionOptions, updateFunction: (transaction: Transaction) => Promise<T>, deferred: Deferred<T>);
34
35
  /** Runs the transaction and sets the result on deferred. */
35
36
  run(): void;
36
37
  private runWithBackOff;
@@ -19,6 +19,7 @@ import { Firestore } from './database';
19
19
  import { FieldPath } from './field_path';
20
20
  import { DocumentReference, PartialWithFieldValue, SetOptions, UpdateData, WithFieldValue } from './reference';
21
21
  import { DocumentSnapshot } from './snapshot';
22
+ import { TransactionOptions } from './transaction_options';
22
23
  /**
23
24
  * A reference to a transaction.
24
25
  *
@@ -116,4 +117,4 @@ export declare class Transaction {
116
117
  * `updateFunction `is returned here. Otherwise, if the transaction failed, a
117
118
  * rejected promise with the corresponding failure error is returned.
118
119
  */
119
- export declare function runTransaction<T>(firestore: Firestore, updateFunction: (transaction: Transaction) => Promise<T>): Promise<T>;
120
+ export declare function runTransaction<T>(firestore: Firestore, updateFunction: (transaction: Transaction) => Promise<T>, options?: TransactionOptions): Promise<T>;
@@ -0,0 +1,23 @@
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
+ /**
18
+ * Options to customize transaction behavior.
19
+ */
20
+ export declare interface TransactionOptions {
21
+ /** Maximum number of attempts to commit, after which transaction fails. Default is 5. */
22
+ readonly maxAttempts?: number;
23
+ }
@@ -70,11 +70,6 @@ export declare class IndexedDbIndexManager implements IndexManager {
70
70
  private generateLowerBound;
71
71
  /** Generates the upper bound for `arrayValue` and `directionalValue`. */
72
72
  private generateUpperBound;
73
- /**
74
- * Generates an empty bound that scopes the index scan to the current index
75
- * and user.
76
- */
77
- private generateEmptyBound;
78
73
  private getFieldIndex;
79
74
  getIndexType(transaction: PersistenceTransaction, target: Target): PersistencePromise<IndexType>;
80
75
  /**
@@ -81,5 +81,17 @@ export declare function isMaxValue(value: Value): boolean;
81
81
  export declare function valuesGetLowerBound(value: Value): Value;
82
82
  /** Returns the largest value for the given value type (exclusive). */
83
83
  export declare function valuesGetUpperBound(value: Value): Value;
84
- export declare function valuesMax(left: Value | undefined, right: Value | undefined): Value | undefined;
85
- export declare function valuesMin(left: Value | undefined, right: Value | undefined): Value | undefined;
84
+ export declare function lowerBoundCompare(left: {
85
+ value: Value;
86
+ inclusive: boolean;
87
+ }, right: {
88
+ value: Value;
89
+ inclusive: boolean;
90
+ }): number;
91
+ export declare function upperBoundCompare(left: {
92
+ value: Value;
93
+ inclusive: boolean;
94
+ }, right: {
95
+ value: Value;
96
+ inclusive: boolean;
97
+ }): number;
package/dist/private.d.ts CHANGED
@@ -4282,7 +4282,7 @@ declare type Resolver<T> = (value?: T) => void;
4282
4282
  * `updateFunction `is returned here. Otherwise, if the transaction failed, a
4283
4283
  * rejected promise with the corresponding failure error is returned.
4284
4284
  */
4285
- export declare function runTransaction<T>(firestore: Firestore, updateFunction: (transaction: Transaction) => Promise<T>): Promise<T>;
4285
+ export declare function runTransaction<T>(firestore: Firestore, updateFunction: (transaction: Transaction) => Promise<T>, options?: TransactionOptions): Promise<T>;
4286
4286
 
4287
4287
  /**
4288
4288
  * Returns a sentinel used with {@link @firebase/firestore/lite#(setDoc:1)} or {@link @firebase/firestore/lite#(updateDoc:1)} to
@@ -5359,6 +5359,30 @@ declare class Transaction_3 {
5359
5359
  private ensureCommitNotCalled;
5360
5360
  }
5361
5361
 
5362
+ /**
5363
+ * @license
5364
+ * Copyright 2022 Google LLC
5365
+ *
5366
+ * Licensed under the Apache License, Version 2.0 (the "License");
5367
+ * you may not use this file except in compliance with the License.
5368
+ * You may obtain a copy of the License at
5369
+ *
5370
+ * http://www.apache.org/licenses/LICENSE-2.0
5371
+ *
5372
+ * Unless required by applicable law or agreed to in writing, software
5373
+ * distributed under the License is distributed on an "AS IS" BASIS,
5374
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
5375
+ * See the License for the specific language governing permissions and
5376
+ * limitations under the License.
5377
+ */
5378
+ /**
5379
+ * Options to customize transaction behavior.
5380
+ */
5381
+ export declare interface TransactionOptions {
5382
+ /** Maximum number of attempts to commit, after which transaction fails. Default is 5. */
5383
+ readonly maxAttempts?: number;
5384
+ }
5385
+
5362
5386
  /** Used to represent a field transform on a mutation. */
5363
5387
  declare class TransformOperation {
5364
5388
  private _;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@firebase/firestore",
3
- "version": "3.4.8-canary.aa41fd662",
3
+ "version": "3.4.8-canary.adb9aaa34",
4
4
  "engines": {
5
5
  "node": ">=10.10.0"
6
6
  },
@@ -77,22 +77,22 @@
77
77
  "lite/package.json"
78
78
  ],
79
79
  "dependencies": {
80
- "@firebase/component": "0.5.13-canary.aa41fd662",
81
- "@firebase/logger": "0.3.2-canary.aa41fd662",
82
- "@firebase/util": "1.5.2-canary.aa41fd662",
83
- "@firebase/webchannel-wrapper": "0.6.1-canary.aa41fd662",
80
+ "@firebase/component": "0.5.13-canary.adb9aaa34",
81
+ "@firebase/logger": "0.3.2-canary.adb9aaa34",
82
+ "@firebase/util": "1.5.2-canary.adb9aaa34",
83
+ "@firebase/webchannel-wrapper": "0.6.1-canary.adb9aaa34",
84
84
  "@grpc/grpc-js": "^1.3.2",
85
85
  "@grpc/proto-loader": "^0.6.0",
86
86
  "node-fetch": "2.6.7",
87
87
  "tslib": "^2.1.0"
88
88
  },
89
89
  "peerDependencies": {
90
- "@firebase/app": "0.7.21-canary.aa41fd662"
90
+ "@firebase/app": "0.7.22-canary.adb9aaa34"
91
91
  },
92
92
  "devDependencies": {
93
- "@firebase/app": "0.7.21-canary.aa41fd662",
94
- "@firebase/app-compat": "0.1.22-canary.aa41fd662",
95
- "@firebase/auth": "0.19.12-canary.aa41fd662",
93
+ "@firebase/app": "0.7.22-canary.adb9aaa34",
94
+ "@firebase/app-compat": "0.1.23-canary.adb9aaa34",
95
+ "@firebase/auth": "0.19.12-canary.adb9aaa34",
96
96
  "@rollup/plugin-alias": "3.1.5",
97
97
  "@rollup/plugin-json": "4.1.0",
98
98
  "@types/eslint": "7.28.0",
@@ -106,7 +106,7 @@
106
106
  "rollup-plugin-sourcemaps": "0.6.3",
107
107
  "rollup-plugin-terser": "7.0.2",
108
108
  "rollup-plugin-typescript2": "0.30.0",
109
- "ts-node": "10.2.1",
109
+ "ts-node": "10.7.0",
110
110
  "typescript": "4.2.2"
111
111
  },
112
112
  "repository": {