@dereekb/firebase 8.13.0 → 8.13.3
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 +17 -0
- package/package.json +7 -8
- package/src/lib/client/firestore/driver.accessor.batch.js +1 -0
- package/src/lib/client/firestore/driver.accessor.batch.js.map +1 -1
- package/src/lib/client/firestore/driver.accessor.default.js +4 -4
- package/src/lib/client/firestore/driver.accessor.default.js.map +1 -1
- package/src/lib/client/firestore/driver.accessor.transaction.js +1 -0
- package/src/lib/client/firestore/driver.accessor.transaction.js.map +1 -1
- package/src/lib/common/auth/auth.d.ts +6 -0
- package/src/lib/common/firestore/accessor/accessor.d.ts +34 -4
- package/src/lib/common/firestore/accessor/accessor.js +31 -1
- package/src/lib/common/firestore/accessor/accessor.js.map +1 -1
- package/src/lib/common/firestore/accessor/document.d.ts +21 -6
- package/src/lib/common/firestore/accessor/document.js +22 -3
- package/src/lib/common/firestore/accessor/document.js.map +1 -1
- package/src/lib/common/firestore/accessor/document.utility.d.ts +13 -8
- package/src/lib/common/firestore/accessor/document.utility.js +5 -1
- package/src/lib/common/firestore/accessor/document.utility.js.map +1 -1
- package/src/lib/common/firestore/error.d.ts +13 -0
- package/src/lib/common/firestore/error.js +22 -1
- package/src/lib/common/firestore/error.js.map +1 -1
- package/src/lib/common/firestore/snapshot/snapshot.field.d.ts +9 -1
- package/src/lib/common/firestore/snapshot/snapshot.field.js +14 -1
- package/src/lib/common/firestore/snapshot/snapshot.field.js.map +1 -1
- package/src/lib/common/firestore/types.d.ts +3 -0
- package/test/CHANGELOG.md +17 -0
- package/test/package.json +7 -8
- package/test/src/lib/common/firestore/test.driver.accessor.d.ts +4 -3
- package/test/src/lib/common/firestore/test.driver.accessor.js +286 -155
- package/test/src/lib/common/firestore/test.driver.accessor.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [8.13.3](https://github.com/dereekb/dbx-components/compare/v8.13.2-dev...v8.13.3) (2022-07-21)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## [8.13.2](https://github.com/dereekb/dbx-components/compare/v8.13.1-dev...v8.13.2) (2022-07-20)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* firebase-server update fix ([38a52ca](https://github.com/dereekb/dbx-components/commit/38a52ca5894cded928127848b7a3b2e7283dbf18))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## [8.13.1](https://github.com/dereekb/dbx-components/compare/v8.13.0-dev...v8.13.1) (2022-07-19)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
5
22
|
# [8.13.0](https://github.com/dereekb/dbx-components/compare/v8.12.13-dev...v8.13.0) (2022-07-16)
|
|
6
23
|
|
|
7
24
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase",
|
|
3
|
-
"version": "8.13.
|
|
3
|
+
"version": "8.13.3",
|
|
4
4
|
"devDependencies": {
|
|
5
5
|
"@firebase/rules-unit-testing": "^2.0.0"
|
|
6
6
|
},
|
|
@@ -20,19 +20,18 @@
|
|
|
20
20
|
"typings": "./src/index.d.ts",
|
|
21
21
|
"dependencies": {},
|
|
22
22
|
"peerDependencies": {
|
|
23
|
-
"
|
|
24
|
-
"rxjs": "^7.0.0",
|
|
25
|
-
"firebase": "^9.8.0",
|
|
26
|
-
"@dereekb/util": "8.13.0",
|
|
23
|
+
"@dereekb/util": "8.13.3",
|
|
27
24
|
"make-error": "^1.3.0",
|
|
28
25
|
"ts-essentials": "^9.1.2",
|
|
29
26
|
"extra-set": "^2.2.11",
|
|
30
|
-
"
|
|
27
|
+
"rxjs": "^7.0.0",
|
|
28
|
+
"firebase": "^9.8.0",
|
|
29
|
+
"@dereekb/rxjs": "8.13.3",
|
|
31
30
|
"ms": "^3.0.0-canary.1",
|
|
32
|
-
"@dereekb/model": "8.13.
|
|
31
|
+
"@dereekb/model": "8.13.3",
|
|
33
32
|
"class-transformer": "^0.5.1",
|
|
34
33
|
"class-validator": "^0.13.2",
|
|
35
|
-
"@dereekb/date": "8.13.
|
|
34
|
+
"@dereekb/date": "8.13.3",
|
|
36
35
|
"date-fns": "^2.28.0",
|
|
37
36
|
"date-fns-tz": "^1.3.0",
|
|
38
37
|
"rrule": "git+https://git@github.com/dereekb/rrule#2b13b1ea881059ba2ecfec380e12ef244ef54570",
|
|
@@ -21,6 +21,7 @@ class WriteBatchFirestoreDocumentDataAccessor extends driver_accessor_default_1.
|
|
|
21
21
|
return Promise.resolve();
|
|
22
22
|
}
|
|
23
23
|
update(data) {
|
|
24
|
+
(0, firestore_1.assertFirestoreUpdateHasData)(data);
|
|
24
25
|
this.batch.update(this.documentRef, data);
|
|
25
26
|
return Promise.resolve();
|
|
26
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.accessor.batch.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.accessor.batch.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"driver.accessor.batch.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.accessor.batch.ts"],"names":[],"mappings":";;;AAEA,sDAA2O;AAC3O,uEAAiF;AAEjF,iBAAiB;AACjB;;GAEG;AACH,MAAa,uCAA2C,SAAQ,8DAAuC;IACrG,YAAqB,KAAkC,EAAE,WAAiC;QACxF,KAAK,CAAC,WAAW,CAAC,CAAC;QADA,UAAK,GAAL,KAAK,CAA6B;IAEvD,CAAC;IAEQ,MAAM;QACb,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEQ,GAAG,CAAC,IAAuB,EAAE,OAAoB;QACxD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,OAAqB,CAAC,CAAC;QAC9D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEQ,MAAM,CAAC,IAAyB;QACvC,IAAA,wCAA4B,EAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAA8B,CAAC,CAAC;QACpE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF;AApBD,0FAoBC;AAED;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAI,UAAuC;IAClF,OAAO;QACL,WAAW,EAAE,CAAC,GAAyB,EAAE,EAAE,CAAC,IAAI,uCAAuC,CAAC,UAAU,EAAE,GAAG,CAAC;KACzG,CAAC;AACJ,CAAC;AAJD,8DAIC;AAED,gBAAgB;AAChB,MAAa,kCAAkC;IAI7C,YAAqB,KAAkC;QAAlC,UAAK,GAAL,KAAK,CAA6B;QAH9C,gBAAW,GAAG,wCAA4B,CAAC,KAAK,CAAC;QACjD,oBAAe,GAAG,yBAAyB,CAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAEV,CAAC;CAC5D;AALD,gFAKC;AAED,SAAgB,yBAAyB,CAAI,KAAkC;IAC7E,OAAO,IAAI,kCAAkC,CAAI,KAAK,CAAC,CAAC;AAC1D,CAAC;AAFD,8DAEC"}
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.defaultFirestoreDocumentContext = exports.defaultFirestoreAccessorFactory = exports.DefaultFirestoreDocumentDataAccessor = void 0;
|
|
4
4
|
const firestore_1 = require("@firebase/firestore");
|
|
5
|
-
const firestore_2 = require("
|
|
6
|
-
const firestore_3 = require("../../common/firestore");
|
|
5
|
+
const firestore_2 = require("../../common/firestore");
|
|
7
6
|
const driver_accessor_create_1 = require("./driver.accessor.create");
|
|
8
7
|
// MARK: Accessor
|
|
9
8
|
class DefaultFirestoreDocumentDataAccessor {
|
|
@@ -11,7 +10,7 @@ class DefaultFirestoreDocumentDataAccessor {
|
|
|
11
10
|
this.documentRef = documentRef;
|
|
12
11
|
}
|
|
13
12
|
stream() {
|
|
14
|
-
return (0, firestore_2.
|
|
13
|
+
return (0, firestore_2.streamFromOnSnapshot)(({ next, error }) => (0, firestore_1.onSnapshot)(this.documentRef, next, error));
|
|
15
14
|
}
|
|
16
15
|
create(data) {
|
|
17
16
|
return (0, driver_accessor_create_1.createWithAccessor)(this)(data);
|
|
@@ -32,6 +31,7 @@ class DefaultFirestoreDocumentDataAccessor {
|
|
|
32
31
|
return (0, firestore_1.setDoc)(this.documentRef, data, options);
|
|
33
32
|
}
|
|
34
33
|
update(data) {
|
|
34
|
+
(0, firestore_2.assertFirestoreUpdateHasData)(data);
|
|
35
35
|
return (0, firestore_1.updateDoc)(this.documentRef, data);
|
|
36
36
|
}
|
|
37
37
|
}
|
|
@@ -45,7 +45,7 @@ exports.defaultFirestoreAccessorFactory = defaultFirestoreAccessorFactory;
|
|
|
45
45
|
// MARK: Context
|
|
46
46
|
function defaultFirestoreDocumentContext() {
|
|
47
47
|
return {
|
|
48
|
-
contextType:
|
|
48
|
+
contextType: firestore_2.FirestoreDocumentContextType.NONE,
|
|
49
49
|
accessorFactory: defaultFirestoreAccessorFactory()
|
|
50
50
|
};
|
|
51
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.accessor.default.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.accessor.default.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"driver.accessor.default.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.accessor.default.ts"],"names":[],"mappings":";;;AAAA,mDAAwJ;AAExJ,sDAA2Q;AAC3Q,qEAA8D;AAE9D,iBAAiB;AACjB,MAAa,oCAAoC;IAC/C,YAAqB,WAAiC;QAAjC,gBAAW,GAAX,WAAW,CAAsB;IAAG,CAAC;IAE1D,MAAM;QACJ,OAAO,IAAA,gCAAoB,EAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAA,sBAAU,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM,CAAC,IAAuB;QAC5B,OAAO,IAAA,2CAAkB,EAAC,IAAI,CAAC,CAAC,IAAI,CAAkB,CAAC;IACzD,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,GAAG;QACD,OAAO,IAAA,kBAAM,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAED,gBAAgB,CAAmB,SAA2C;QAC5E,OAAO,IAAA,kBAAM,EAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAI,SAAsC,CAAC,CAAiC,CAAC;IAC3H,CAAC;IAED,MAAM;QACJ,OAAO,IAAA,qBAAS,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAED,GAAG,CAAC,IAAuB,EAAE,OAAoB;QAC/C,OAAO,IAAA,kBAAM,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,OAAqB,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,IAAyB;QAC9B,IAAA,wCAA4B,EAAC,IAAI,CAAC,CAAC;QACnC,OAAO,IAAA,qBAAS,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF;AAnCD,oFAmCC;AAED,SAAgB,+BAA+B;IAC7C,OAAO;QACL,WAAW,EAAE,CAAC,GAAyB,EAAE,EAAE,CAAC,IAAI,oCAAoC,CAAC,GAAG,CAAC;KAC1F,CAAC;AACJ,CAAC;AAJD,0EAIC;AAED,gBAAgB;AAChB,SAAgB,+BAA+B;IAC7C,OAAO;QACL,WAAW,EAAE,wCAA4B,CAAC,IAAI;QAC9C,eAAe,EAAE,+BAA+B,EAAK;KACtD,CAAC;AACJ,CAAC;AALD,0EAKC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.accessor.transaction.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.accessor.transaction.ts"],"names":[],"mappings":";;;AACA,+BAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"driver.accessor.transaction.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.accessor.transaction.ts"],"names":[],"mappings":";;;AACA,+BAAwC;AACxC,sDAAqP;AACrP,qEAA8D;AAE9D,iBAAiB;AACjB;;GAEG;AACH,MAAa,wCAAwC;IACnD,YAAqB,WAAyC,EAAW,WAAiC;QAArF,gBAAW,GAAX,WAAW,CAA8B;QAAW,gBAAW,GAAX,WAAW,CAAsB;IAAG,CAAC;IAE9G,MAAM;QACJ,OAAO,IAAA,WAAI,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,IAAuB;QAC5B,OAAO,IAAA,2CAAkB,EAAC,IAAI,CAAC,CAAC,IAAI,CAAkB,CAAC;IACzD,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,gBAAgB,CAAmB,SAA2C;QAC5E,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAI,SAAsC,CAAC,CAAiC,CAAC;IACzI,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,IAAuB,EAAE,OAAoB;QAC/C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,OAAqB,CAAC,CAAC;QACpE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,IAAyB;QAC9B,IAAA,wCAA4B,EAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF;AAtCD,4FAsCC;AAED;;;;;GAKG;AACH,SAAgB,0BAA0B,CAAI,WAAyC;IACrF,OAAO;QACL,WAAW,EAAE,CAAC,GAAyB,EAAE,EAAE,CAAC,IAAI,wCAAwC,CAAC,WAAW,EAAE,GAAG,CAAC;KAC3G,CAAC;AACJ,CAAC;AAJD,gEAIC;AAED,gBAAgB;AAChB,MAAa,mCAAmC;IAI9C,YAAqB,WAAyC;QAAzC,gBAAW,GAAX,WAAW,CAA8B;QAHrD,gBAAW,GAAG,wCAA4B,CAAC,WAAW,CAAC;QACvD,oBAAe,GAAG,0BAA0B,CAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IAEV,CAAC;CACnE;AALD,kFAKC;AAED,SAAgB,0BAA0B,CAAI,WAAyC;IACrF,OAAO,IAAI,mCAAmC,CAAI,WAAW,CAAC,CAAC;AACjE,CAAC;AAFD,gEAEC"}
|
|
@@ -11,3 +11,9 @@ export declare type FirebaseAuthToken = {
|
|
|
11
11
|
emailVerified?: Maybe<boolean>;
|
|
12
12
|
phoneNumber?: Maybe<string>;
|
|
13
13
|
};
|
|
14
|
+
/**
|
|
15
|
+
* A string key used to test for ownership of a particular set of objects.
|
|
16
|
+
*
|
|
17
|
+
* For instance, a database model (or its parent) may have an ownership key associated with it that is compared with the user's current claims.
|
|
18
|
+
*/
|
|
19
|
+
export declare type FirebaseAuthOwnershipKey = string;
|
|
@@ -47,12 +47,11 @@ export interface FirestoreDocumentDataAccessor<T, D = DocumentData> extends Docu
|
|
|
47
47
|
set(data: PartialWithFieldValue<T>, options: SetOptions): Promise<WriteResult | void>;
|
|
48
48
|
set(data: WithFieldValue<T>): Promise<WriteResult | void>;
|
|
49
49
|
/**
|
|
50
|
-
* Directly updates the data in the database, skipping
|
|
50
|
+
* Directly updates the data in the database, skipping the use of the converter, etc.
|
|
51
51
|
*
|
|
52
|
+
* If the input data is undefined or an empty object, it will fail.
|
|
52
53
|
* If the document doesn't exist, it will fail.
|
|
53
54
|
*
|
|
54
|
-
* NOTE: If you rely on the converter/conversion functionality, use set() with merge: true instead of update.
|
|
55
|
-
*
|
|
56
55
|
* @param data
|
|
57
56
|
*/
|
|
58
57
|
update(data: UpdateData<D>, params?: FirestoreDocumentUpdateParams): Promise<WriteResult | void>;
|
|
@@ -95,11 +94,18 @@ export declare function mapDataFromSnapshot<T>(options?: SnapshotOptions): Opera
|
|
|
95
94
|
* If it does exist, update is done using set + merge on all defined values.
|
|
96
95
|
*
|
|
97
96
|
* @param data
|
|
97
|
+
* @deprecated See createOrUpdateWithAccessorSet()
|
|
98
98
|
*/
|
|
99
99
|
export declare type CreateOrUpdateWithAccessorSetFunction<T> = (data: Partial<T>) => Promise<WriteResult | void>;
|
|
100
|
+
/**
|
|
101
|
+
*
|
|
102
|
+
* @param accessor
|
|
103
|
+
* @returns
|
|
104
|
+
* @deprecated Use either create or update. Behavior of this function is undesirable, and it can trip up transactions since it will perform a read.
|
|
105
|
+
*/
|
|
100
106
|
export declare function createOrUpdateWithAccessorSet<T>(accessor: FirestoreDocumentDataAccessor<T>): CreateOrUpdateWithAccessorSetFunction<T>;
|
|
101
107
|
/**
|
|
102
|
-
* Updates the target object using the input data.
|
|
108
|
+
* Updates the target object using the input data after checking existence.
|
|
103
109
|
*
|
|
104
110
|
* Calls accessor's set configured for updating/merging, and filters all undefined values from the input data.
|
|
105
111
|
* If it does exist, update will fail.
|
|
@@ -107,4 +113,28 @@ export declare function createOrUpdateWithAccessorSet<T>(accessor: FirestoreDocu
|
|
|
107
113
|
* @param data
|
|
108
114
|
*/
|
|
109
115
|
export declare type UpdateWithAccessorSetFunction<T> = (data: Partial<T>, forceUpdate?: boolean) => Promise<WriteResult | void>;
|
|
116
|
+
/**
|
|
117
|
+
* @deprecated This does not behave well within transactions.
|
|
118
|
+
*
|
|
119
|
+
* @param accessor
|
|
120
|
+
* @returns
|
|
121
|
+
*/
|
|
110
122
|
export declare function updateWithAccessorSet<T>(accessor: FirestoreDocumentDataAccessor<T>): UpdateWithAccessorSetFunction<T>;
|
|
123
|
+
/**
|
|
124
|
+
* Updates the target object using the input data that uses the input converter to build data suitable for the update function.
|
|
125
|
+
*
|
|
126
|
+
* If the input data after conversion is empty then returns void.
|
|
127
|
+
*
|
|
128
|
+
* If the target object does not exist, this will fail.
|
|
129
|
+
*
|
|
130
|
+
* @param data
|
|
131
|
+
*/
|
|
132
|
+
export declare type UpdateWithAccessorUpdateAndConverterFunction<T> = (data: Partial<T>, params?: FirestoreDocumentUpdateParams) => Promise<WriteResult | void>;
|
|
133
|
+
/**
|
|
134
|
+
* Creates an UpdateWithAccessorUpdateAndConverterFunction.
|
|
135
|
+
*
|
|
136
|
+
* @param accessor
|
|
137
|
+
* @param converter
|
|
138
|
+
* @returns
|
|
139
|
+
*/
|
|
140
|
+
export declare function updateWithAccessorUpdateAndConverterFunction<T>(accessor: FirestoreDocumentDataAccessor<T>, converter: FirestoreDataConverter<T>): UpdateWithAccessorUpdateAndConverterFunction<T>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.updateWithAccessorSet = exports.createOrUpdateWithAccessorSet = exports.mapDataFromSnapshot = exports.dataFromSnapshotStream = void 0;
|
|
3
|
+
exports.updateWithAccessorUpdateAndConverterFunction = exports.updateWithAccessorSet = exports.createOrUpdateWithAccessorSet = exports.mapDataFromSnapshot = exports.dataFromSnapshotStream = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const rxjs_1 = require("@dereekb/rxjs");
|
|
6
6
|
const util_1 = require("@dereekb/util");
|
|
@@ -29,6 +29,12 @@ function mapDataFromSnapshot(options) {
|
|
|
29
29
|
return (0, rxjs_2.map)((x) => x.data(options));
|
|
30
30
|
}
|
|
31
31
|
exports.mapDataFromSnapshot = mapDataFromSnapshot;
|
|
32
|
+
/**
|
|
33
|
+
*
|
|
34
|
+
* @param accessor
|
|
35
|
+
* @returns
|
|
36
|
+
* @deprecated Use either create or update. Behavior of this function is undesirable, and it can trip up transactions since it will perform a read.
|
|
37
|
+
*/
|
|
32
38
|
function createOrUpdateWithAccessorSet(accessor) {
|
|
33
39
|
return (data) => {
|
|
34
40
|
return accessor.exists().then((exists) => {
|
|
@@ -42,6 +48,12 @@ function createOrUpdateWithAccessorSet(accessor) {
|
|
|
42
48
|
};
|
|
43
49
|
}
|
|
44
50
|
exports.createOrUpdateWithAccessorSet = createOrUpdateWithAccessorSet;
|
|
51
|
+
/**
|
|
52
|
+
* @deprecated This does not behave well within transactions.
|
|
53
|
+
*
|
|
54
|
+
* @param accessor
|
|
55
|
+
* @returns
|
|
56
|
+
*/
|
|
45
57
|
function updateWithAccessorSet(accessor) {
|
|
46
58
|
return (data, forceUpdate) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
47
59
|
const exists = forceUpdate || (yield accessor.exists());
|
|
@@ -53,4 +65,22 @@ function updateWithAccessorSet(accessor) {
|
|
|
53
65
|
});
|
|
54
66
|
}
|
|
55
67
|
exports.updateWithAccessorSet = updateWithAccessorSet;
|
|
68
|
+
/**
|
|
69
|
+
* Creates an UpdateWithAccessorUpdateAndConverterFunction.
|
|
70
|
+
*
|
|
71
|
+
* @param accessor
|
|
72
|
+
* @param converter
|
|
73
|
+
* @returns
|
|
74
|
+
*/
|
|
75
|
+
function updateWithAccessorUpdateAndConverterFunction(accessor, converter) {
|
|
76
|
+
return (data, params) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
77
|
+
const updateInput = (0, util_1.filterUndefinedValues)(data);
|
|
78
|
+
const updateData = converter.toFirestore(updateInput, { merge: true }); // treat it as a merge
|
|
79
|
+
// Only update
|
|
80
|
+
if (!(0, util_1.objectHasNoKeys)(updateData)) {
|
|
81
|
+
return params != null ? accessor.update(updateData, params) : accessor.update(updateData);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
exports.updateWithAccessorUpdateAndConverterFunction = updateWithAccessorUpdateAndConverterFunction;
|
|
56
86
|
//# sourceMappingURL=accessor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessor.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/accessor.ts"],"names":[],"mappings":";;;;AAAA,wCAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"accessor.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/accessor.ts"],"names":[],"mappings":";;;;AAAA,wCAA4C;AAC5C,wCAA8E;AAE9E,+BAAyD;AA0EzD,gBAAgB;AAChB;;;;;;;;GAQG;AACH,SAAgB,sBAAsB,CAAI,MAAuC,EAAE,OAAyB;IAC1G,OAAO,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,IAAA,kBAAW,GAAE,CAAC,CAAC;AAClE,CAAC;AAFD,wDAEC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAI,OAAyB;IAC9D,OAAO,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACrC,CAAC;AAFD,kDAEC;AAeD;;;;;GAKG;AACH,SAAgB,6BAA6B,CAAI,QAA0C;IACzF,OAAO,CAAC,IAAgB,EAAE,EAAE;QAC1B,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACvC,IAAI,MAAM,EAAE;gBACV,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aACpD;iBAAM;gBACL,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAyB,CAAC,CAAC;aAChD;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAVD,sEAUC;AAYD;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAI,QAA0C;IACjF,OAAO,CAAO,IAAgB,EAAE,WAAqB,EAAE,EAAE;QACvD,MAAM,MAAM,GAAY,WAAW,IAAI,CAAC,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAEjE,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,CAAC,WAAW,CAAC,IAAI,mBAAmB,CAAC,CAAC;SACzE;QAED,MAAM,MAAM,GAAG,IAAA,4BAAqB,EAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAA,CAAC;AACJ,CAAC;AAXD,sDAWC;AAaD;;;;;;GAMG;AACH,SAAgB,4CAA4C,CAAI,QAA0C,EAAE,SAAoC;IAC9I,OAAO,CAAO,IAAgB,EAAE,MAAsC,EAAE,EAAE;QACxE,MAAM,WAAW,GAAG,IAAA,4BAAqB,EAAC,IAAI,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,sBAAsB;QAE9F,cAAc;QACd,IAAI,CAAC,IAAA,sBAAe,EAAC,UAAU,CAAC,EAAE;YAChC,OAAO,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;SAC3F;IACH,CAAC,CAAA,CAAC;AACJ,CAAC;AAVD,oGAUC"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
2
|
import { FirestoreAccessorDriverRef } from '../driver/accessor';
|
|
3
3
|
import { FirestoreCollectionNameRef, FirestoreModelId, FirestoreModelIdentityCollectionName, FirestoreModelIdentityModelType, FirestoreModelIdentityRef, FirestoreModelIdRef, FirestoreModelKey, FirestoreModelKeyRef } from './../collection/collection';
|
|
4
|
-
import { DocumentReference, CollectionReference, Transaction, WriteBatch, DocumentSnapshot, SnapshotOptions, WriteResult } from '../types';
|
|
5
|
-
import { FirestoreDocumentDataAccessor } from './accessor';
|
|
4
|
+
import { DocumentReference, CollectionReference, Transaction, WriteBatch, DocumentSnapshot, SnapshotOptions, WriteResult, FirestoreDataConverter } from '../types';
|
|
5
|
+
import { FirestoreDocumentDataAccessor, FirestoreDocumentUpdateParams } from './accessor';
|
|
6
6
|
import { CollectionReferenceRef, DocumentReferenceRef, FirestoreContextReference, FirestoreDataConverterRef } from '../reference';
|
|
7
7
|
import { FirestoreDocumentContext } from './context';
|
|
8
8
|
import { Maybe } from '@dereekb/util';
|
|
9
9
|
import { FirestoreModelTypeRef, FirestoreModelIdentity, FirestoreModelTypeModelIdentityRef } from '../collection/collection';
|
|
10
10
|
import { InterceptAccessorFactoryFunction } from './accessor.wrap';
|
|
11
|
-
export interface FirestoreDocument<T, I extends FirestoreModelIdentity = FirestoreModelIdentity> extends DocumentReferenceRef<T>, CollectionReferenceRef<T>, FirestoreModelIdentityRef<I>, FirestoreModelTypeRef<FirestoreModelIdentityModelType<I>>, FirestoreCollectionNameRef<FirestoreModelIdentityCollectionName<I>>, FirestoreModelKeyRef, FirestoreModelIdRef {
|
|
11
|
+
export interface FirestoreDocument<T, I extends FirestoreModelIdentity = FirestoreModelIdentity> extends FirestoreDataConverterRef<T>, DocumentReferenceRef<T>, CollectionReferenceRef<T>, FirestoreModelIdentityRef<I>, FirestoreModelTypeRef<FirestoreModelIdentityModelType<I>>, FirestoreCollectionNameRef<FirestoreModelIdentityCollectionName<I>>, FirestoreModelKeyRef, FirestoreModelIdRef {
|
|
12
12
|
readonly accessor: FirestoreDocumentDataAccessor<T>;
|
|
13
13
|
readonly id: string;
|
|
14
14
|
snapshot(): Promise<DocumentSnapshot<T>>;
|
|
15
15
|
snapshotData(options?: SnapshotOptions): Promise<T | undefined>;
|
|
16
|
+
exists(): Promise<boolean>;
|
|
16
17
|
create(data: T): Promise<WriteResult | void>;
|
|
17
18
|
update(data: Partial<T>): Promise<WriteResult | void>;
|
|
18
19
|
createOrUpdate(data: Partial<T>): Promise<WriteResult | void>;
|
|
@@ -37,6 +38,7 @@ export declare abstract class AbstractFirestoreDocument<T, D extends AbstractFir
|
|
|
37
38
|
get key(): FirestoreModelKey;
|
|
38
39
|
get documentRef(): DocumentReference<T>;
|
|
39
40
|
get collection(): CollectionReference<T>;
|
|
41
|
+
get converter(): FirestoreDataConverter<T>;
|
|
40
42
|
/**
|
|
41
43
|
* Retrieves a DocumentSnapshot of the document.
|
|
42
44
|
* @returns
|
|
@@ -48,6 +50,13 @@ export declare abstract class AbstractFirestoreDocument<T, D extends AbstractFir
|
|
|
48
50
|
* @returns
|
|
49
51
|
*/
|
|
50
52
|
snapshotData(options?: SnapshotOptions): Promise<T | undefined>;
|
|
53
|
+
/**
|
|
54
|
+
* Returns true if the model exists.
|
|
55
|
+
*
|
|
56
|
+
* @param data
|
|
57
|
+
* @returns
|
|
58
|
+
*/
|
|
59
|
+
exists(): Promise<boolean>;
|
|
51
60
|
/**
|
|
52
61
|
* Creates the document if it does not exist, using the accessor's create functionality.
|
|
53
62
|
*
|
|
@@ -56,17 +65,23 @@ export declare abstract class AbstractFirestoreDocument<T, D extends AbstractFir
|
|
|
56
65
|
*/
|
|
57
66
|
create(data: T): Promise<WriteResult | void>;
|
|
58
67
|
/**
|
|
59
|
-
* Updates the document
|
|
68
|
+
* Updates the document using the accessor's update functionalty if the document exists. This differs from Firestore's default
|
|
69
|
+
* update implementation which does not use the configured converter. This update function will, allowing the use of
|
|
70
|
+
* snapshotConverterFunctions().
|
|
71
|
+
*
|
|
72
|
+
* Throws an exception when it does not exist.
|
|
60
73
|
*
|
|
61
74
|
* @param data
|
|
62
75
|
* @returns
|
|
63
76
|
*/
|
|
64
|
-
update(data: Partial<T
|
|
77
|
+
update(data: Partial<T>, params?: FirestoreDocumentUpdateParams): Promise<WriteResult | void>;
|
|
65
78
|
/**
|
|
66
79
|
* Creates or updates the existing document using the accessor's set functionality.
|
|
67
80
|
*
|
|
68
81
|
* @param data
|
|
69
82
|
* @returns
|
|
83
|
+
*
|
|
84
|
+
* @deprecated Use either create or update. Behavior of this function is undesirable, and it can trip up transactions since it will perform a read.
|
|
70
85
|
*/
|
|
71
86
|
createOrUpdate(data: Partial<T>): Promise<WriteResult | void>;
|
|
72
87
|
}
|
|
@@ -74,7 +89,7 @@ export interface LimitedFirestoreDocumentAccessorRef<T, D extends FirestoreDocum
|
|
|
74
89
|
readonly documentAccessor: A;
|
|
75
90
|
}
|
|
76
91
|
export declare type FirestoreDocumentAccessorRef<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> = LimitedFirestoreDocumentAccessorRef<T, D, FirestoreDocumentAccessor<T, D>>;
|
|
77
|
-
export interface LimitedFirestoreDocumentAccessor<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends FirestoreModelTypeModelIdentityRef, FirestoreAccessorDriverRef {
|
|
92
|
+
export interface LimitedFirestoreDocumentAccessor<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends FirestoreDataConverterRef<T>, FirestoreModelTypeModelIdentityRef, FirestoreAccessorDriverRef {
|
|
78
93
|
readonly databaseContext: FirestoreDocumentContext<T>;
|
|
79
94
|
/**
|
|
80
95
|
* Loads a document from the datastore.
|
|
@@ -33,6 +33,9 @@ class AbstractFirestoreDocument {
|
|
|
33
33
|
get collection() {
|
|
34
34
|
return this.accessor.documentRef.parent;
|
|
35
35
|
}
|
|
36
|
+
get converter() {
|
|
37
|
+
return this.documentAccessor.converter;
|
|
38
|
+
}
|
|
36
39
|
/**
|
|
37
40
|
* Retrieves a DocumentSnapshot of the document.
|
|
38
41
|
* @returns
|
|
@@ -48,6 +51,15 @@ class AbstractFirestoreDocument {
|
|
|
48
51
|
snapshotData(options) {
|
|
49
52
|
return this.snapshot().then((x) => x.data(options));
|
|
50
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Returns true if the model exists.
|
|
56
|
+
*
|
|
57
|
+
* @param data
|
|
58
|
+
* @returns
|
|
59
|
+
*/
|
|
60
|
+
exists() {
|
|
61
|
+
return this.accessor.exists();
|
|
62
|
+
}
|
|
51
63
|
/**
|
|
52
64
|
* Creates the document if it does not exist, using the accessor's create functionality.
|
|
53
65
|
*
|
|
@@ -58,19 +70,25 @@ class AbstractFirestoreDocument {
|
|
|
58
70
|
return this.accessor.create(data);
|
|
59
71
|
}
|
|
60
72
|
/**
|
|
61
|
-
* Updates the document
|
|
73
|
+
* Updates the document using the accessor's update functionalty if the document exists. This differs from Firestore's default
|
|
74
|
+
* update implementation which does not use the configured converter. This update function will, allowing the use of
|
|
75
|
+
* snapshotConverterFunctions().
|
|
76
|
+
*
|
|
77
|
+
* Throws an exception when it does not exist.
|
|
62
78
|
*
|
|
63
79
|
* @param data
|
|
64
80
|
* @returns
|
|
65
81
|
*/
|
|
66
|
-
update(data) {
|
|
67
|
-
return (0, accessor_1.
|
|
82
|
+
update(data, params) {
|
|
83
|
+
return (0, accessor_1.updateWithAccessorUpdateAndConverterFunction)(this.accessor, this.converter)(data, params);
|
|
68
84
|
}
|
|
69
85
|
/**
|
|
70
86
|
* Creates or updates the existing document using the accessor's set functionality.
|
|
71
87
|
*
|
|
72
88
|
* @param data
|
|
73
89
|
* @returns
|
|
90
|
+
*
|
|
91
|
+
* @deprecated Use either create or update. Behavior of this function is undesirable, and it can trip up transactions since it will perform a read.
|
|
74
92
|
*/
|
|
75
93
|
createOrUpdate(data) {
|
|
76
94
|
return (0, accessor_1.createOrUpdateWithAccessorSet)(this.accessor)(data);
|
|
@@ -103,6 +121,7 @@ function limitedFirestoreDocumentAccessorFactory(config) {
|
|
|
103
121
|
return loadDocument(ref);
|
|
104
122
|
}
|
|
105
123
|
const documentAccessor = {
|
|
124
|
+
converter,
|
|
106
125
|
modelIdentity,
|
|
107
126
|
loadDocumentFrom(document) {
|
|
108
127
|
return loadDocument(document.documentRef);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/document.ts"],"names":[],"mappings":";AAAA,mDAAmD;AACnD,0GAA0G;;;AAM1G,
|
|
1
|
+
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/document.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AsyncGetterOrValue, Maybe, UseAsync } from '@dereekb/util';
|
|
2
2
|
import { FirestoreModelId, FirestoreModelKey } from '../collection';
|
|
3
3
|
import { DocumentDataWithId, DocumentReference, DocumentSnapshot, QuerySnapshot, Transaction } from '../types';
|
|
4
|
-
import { FirestoreDocument, FirestoreDocumentAccessor, LimitedFirestoreDocumentAccessor, LimitedFirestoreDocumentAccessorContextExtension } from './document';
|
|
4
|
+
import { FirestoreDocumentData, FirestoreDocument, FirestoreDocumentAccessor, LimitedFirestoreDocumentAccessor, LimitedFirestoreDocumentAccessorContextExtension } from './document';
|
|
5
5
|
export declare function newDocuments<T, D extends FirestoreDocument<T>>(documentAccessor: FirestoreDocumentAccessor<T, D>, count: number): D[];
|
|
6
6
|
export interface MakeDocumentsParams<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> {
|
|
7
7
|
count: number;
|
|
@@ -24,11 +24,16 @@ export interface MakeDocumentsParams<T, D extends FirestoreDocument<T> = Firesto
|
|
|
24
24
|
* @returns
|
|
25
25
|
*/
|
|
26
26
|
export declare function makeDocuments<T, D extends FirestoreDocument<T>>(documentAccessor: FirestoreDocumentAccessor<T, D>, make: MakeDocumentsParams<T, D>): Promise<D[]>;
|
|
27
|
-
export declare function getDocumentSnapshots<
|
|
28
|
-
export declare
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
export declare function getDocumentSnapshots<D extends FirestoreDocument<any>>(documents: D[]): Promise<DocumentSnapshot<FirestoreDocumentData<D>>[]>;
|
|
28
|
+
export declare type FirestoreDocumentSnapshotPair<D extends FirestoreDocument<any>> = {
|
|
29
|
+
document: D;
|
|
30
|
+
snapshot: DocumentSnapshot<FirestoreDocumentData<D>>;
|
|
31
|
+
};
|
|
32
|
+
export declare function getDocumentSnapshotPairs<D extends FirestoreDocument<any>>(documents: D[]): Promise<FirestoreDocumentSnapshotPair<D>[]>;
|
|
33
|
+
export declare function getDocumentSnapshotsData<D extends FirestoreDocument<any>>(documents: D[]): Promise<DocumentDataWithId<FirestoreDocumentData<D>>[]>;
|
|
34
|
+
export declare function getDocumentSnapshotsData<D extends FirestoreDocument<any>>(documents: D[], withId: true): Promise<DocumentDataWithId<FirestoreDocumentData<D>>[]>;
|
|
35
|
+
export declare function getDocumentSnapshotsData<D extends FirestoreDocument<any>>(documents: D[], withId: false): Promise<FirestoreDocumentData<D>[]>;
|
|
36
|
+
export declare function getDocumentSnapshotsData<D extends FirestoreDocument<any>>(documents: D[], withId?: boolean): Promise<DocumentDataWithId<FirestoreDocumentData<D>>[] | FirestoreDocumentData<D>[]>;
|
|
32
37
|
export declare function getDataFromDocumentSnapshots<T>(snapshots: DocumentSnapshot<T>[]): DocumentDataWithId<T>[];
|
|
33
38
|
export declare function getDataFromDocumentSnapshots<T>(snapshots: DocumentSnapshot<T>[], withId: true): DocumentDataWithId<T>[];
|
|
34
39
|
export declare function getDataFromDocumentSnapshots<T>(snapshots: DocumentSnapshot<T>[], withId: false): T[];
|
|
@@ -81,11 +86,11 @@ export declare function documentDataWithId<T>(snapshot: DocumentSnapshot<T>): Ma
|
|
|
81
86
|
* @param defaultValue
|
|
82
87
|
* @returns
|
|
83
88
|
*/
|
|
84
|
-
export declare function useDocumentSnapshot<
|
|
89
|
+
export declare function useDocumentSnapshot<D extends FirestoreDocument<any>, O = void>(document: Maybe<D>, use: UseAsync<DocumentSnapshot<FirestoreDocumentData<D>>, O>, defaultValue?: Maybe<AsyncGetterOrValue<O>>): Promise<Maybe<O>>;
|
|
85
90
|
/**
|
|
86
91
|
* MappedUseAsyncFunction to load snapshot data from the input document and use it.
|
|
87
92
|
*/
|
|
88
|
-
export declare const useDocumentSnapshotData:
|
|
93
|
+
export declare const useDocumentSnapshotData: <D extends FirestoreDocument<any, import("../collection").FirestoreModelIdentity<string, string>>, O = void>(document: Maybe<D>, use: UseAsync<FirestoreDocumentData<D>, O>, defaultValue?: Maybe<AsyncGetterOrValue<O>>) => Promise<Maybe<O>>;
|
|
89
94
|
export declare function firestoreModelIdFromDocument<T, D extends FirestoreDocument<T>>(document: D): FirestoreModelId;
|
|
90
95
|
export declare function firestoreModelIdsFromDocuments<T, D extends FirestoreDocument<T>>(documents: D[]): FirestoreModelId[];
|
|
91
96
|
export declare function firestoreModelKeyFromDocument<T, D extends FirestoreDocument<T>>(document: D): FirestoreModelKey;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.documentReferencesFromDocuments = exports.documentReferenceFromDocument = exports.firestoreModelKeysFromDocuments = exports.firestoreModelKeyFromDocument = exports.firestoreModelIdsFromDocuments = exports.firestoreModelIdFromDocument = exports.useDocumentSnapshotData = exports.useDocumentSnapshot = exports.documentDataWithId = exports.documentDataFunction = exports.documentData = exports.firestoreDocumentLoader = exports.loadDocumentsForIds = exports.loadDocumentsForIdsFromValues = exports.loadDocumentsForKeys = exports.loadDocumentsForKeysFromValues = exports.loadDocumentsForDocumentReferences = exports.loadDocumentsForValues = exports.loadDocumentsForDocumentReferencesFromValues = exports.loadDocumentsForSnapshots = exports.getDataFromDocumentSnapshots = exports.getDocumentSnapshotsData = exports.getDocumentSnapshots = exports.makeDocuments = exports.newDocuments = void 0;
|
|
3
|
+
exports.documentReferencesFromDocuments = exports.documentReferenceFromDocument = exports.firestoreModelKeysFromDocuments = exports.firestoreModelKeyFromDocument = exports.firestoreModelIdsFromDocuments = exports.firestoreModelIdFromDocument = exports.useDocumentSnapshotData = exports.useDocumentSnapshot = exports.documentDataWithId = exports.documentDataFunction = exports.documentData = exports.firestoreDocumentLoader = exports.loadDocumentsForIds = exports.loadDocumentsForIdsFromValues = exports.loadDocumentsForKeys = exports.loadDocumentsForKeysFromValues = exports.loadDocumentsForDocumentReferences = exports.loadDocumentsForValues = exports.loadDocumentsForDocumentReferencesFromValues = exports.loadDocumentsForSnapshots = exports.getDataFromDocumentSnapshots = exports.getDocumentSnapshotsData = exports.getDocumentSnapshotPairs = exports.getDocumentSnapshots = exports.makeDocuments = exports.newDocuments = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const util_1 = require("@dereekb/util");
|
|
6
6
|
function newDocuments(documentAccessor, count) {
|
|
@@ -34,6 +34,10 @@ function getDocumentSnapshots(documents) {
|
|
|
34
34
|
return util_1.PromiseUtility.runTasksForValues(documents, (x) => x.accessor.get());
|
|
35
35
|
}
|
|
36
36
|
exports.getDocumentSnapshots = getDocumentSnapshots;
|
|
37
|
+
function getDocumentSnapshotPairs(documents) {
|
|
38
|
+
return util_1.PromiseUtility.runTasksForValues(documents, (document) => document.accessor.get().then((snapshot) => ({ document, snapshot })));
|
|
39
|
+
}
|
|
40
|
+
exports.getDocumentSnapshotPairs = getDocumentSnapshotPairs;
|
|
37
41
|
function getDocumentSnapshotsData(documents, withId = true) {
|
|
38
42
|
return getDocumentSnapshots(documents).then((x) => getDataFromDocumentSnapshots(x, withId));
|
|
39
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.utility.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/document.utility.ts"],"names":[],"mappings":";;;;AAAA,wCAAyK;AAKzK,SAAgB,YAAY,CAAoC,gBAAiD,EAAE,KAAa;IAC9H,OAAO,IAAA,sBAAe,EAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;AACtE,CAAC;AAFD,oCAEC;AAkBD;;;;;;GAMG;AACH,SAAgB,aAAa,CAAoC,gBAAiD,EAAE,IAA+B;;IACjJ,MAAM,aAAa,GAAG,MAAA,IAAI,CAAC,WAAW,mCAAI,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC;IACjF,OAAO,IAAA,sBAAe,EAAC;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,CAAO,CAAS,EAAE,EAAE;YACxB,MAAM,QAAQ,GAAM,aAAa,CAAC,gBAAgB,CAAC,CAAC;YACpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAE1C,IAAI,IAAI,IAAI,IAAI,EAAE;gBAChB,MAAM,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACnC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAA;KACF,CAAC,CAAC;AACL,CAAC;AAfD,sCAeC;AAED,SAAgB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"document.utility.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/document.utility.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1,14 @@
|
|
|
1
|
+
import { UpdateData } from '@firebase/firestore';
|
|
1
2
|
export declare function unsupportedFirestoreDriverFunctionError(message?: string): void;
|
|
3
|
+
/**
|
|
4
|
+
* Asserts that the input data is not an empty object and has keys.
|
|
5
|
+
*
|
|
6
|
+
* Used to help bring pairity to update(), as google-cloud/firestore will throw an error if the input data has no keys defined.
|
|
7
|
+
*
|
|
8
|
+
* @param data
|
|
9
|
+
*/
|
|
10
|
+
export declare function assertFirestoreUpdateHasData(data: UpdateData<unknown>): void;
|
|
11
|
+
/**
|
|
12
|
+
* Throws an error related to an empty object being passed to a FirestoreDocumentDataAccessor's update() function.
|
|
13
|
+
*/
|
|
14
|
+
export declare function firestoreUpdateWithNoDataError(): void;
|
|
@@ -1,8 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.unsupportedFirestoreDriverFunctionError = void 0;
|
|
3
|
+
exports.firestoreUpdateWithNoDataError = exports.assertFirestoreUpdateHasData = exports.unsupportedFirestoreDriverFunctionError = void 0;
|
|
4
|
+
const util_1 = require("@dereekb/util");
|
|
4
5
|
function unsupportedFirestoreDriverFunctionError(message) {
|
|
5
6
|
throw new Error(message !== null && message !== void 0 ? message : 'This function is not supported by this Firestore driver.');
|
|
6
7
|
}
|
|
7
8
|
exports.unsupportedFirestoreDriverFunctionError = unsupportedFirestoreDriverFunctionError;
|
|
9
|
+
/**
|
|
10
|
+
* Asserts that the input data is not an empty object and has keys.
|
|
11
|
+
*
|
|
12
|
+
* Used to help bring pairity to update(), as google-cloud/firestore will throw an error if the input data has no keys defined.
|
|
13
|
+
*
|
|
14
|
+
* @param data
|
|
15
|
+
*/
|
|
16
|
+
function assertFirestoreUpdateHasData(data) {
|
|
17
|
+
if ((0, util_1.objectHasNoKeys)(data)) {
|
|
18
|
+
throw firestoreUpdateWithNoDataError();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.assertFirestoreUpdateHasData = assertFirestoreUpdateHasData;
|
|
22
|
+
/**
|
|
23
|
+
* Throws an error related to an empty object being passed to a FirestoreDocumentDataAccessor's update() function.
|
|
24
|
+
*/
|
|
25
|
+
function firestoreUpdateWithNoDataError() {
|
|
26
|
+
throw new Error('No data or an empty object was passed to update().');
|
|
27
|
+
}
|
|
28
|
+
exports.firestoreUpdateWithNoDataError = firestoreUpdateWithNoDataError;
|
|
8
29
|
//# sourceMappingURL=error.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/common/firestore/error.ts"],"names":[],"mappings":";;;AAAA,SAAgB,uCAAuC,CAAC,OAAgB;IACtE,MAAM,IAAI,KAAK,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,0DAA0D,CAAC,CAAC;AACzF,CAAC;AAFD,0FAEC"}
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/common/firestore/error.ts"],"names":[],"mappings":";;;AAAA,wCAAgD;AAGhD,SAAgB,uCAAuC,CAAC,OAAgB;IACtE,MAAM,IAAI,KAAK,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,0DAA0D,CAAC,CAAC;AACzF,CAAC;AAFD,0FAEC;AAED;;;;;;GAMG;AACH,SAAgB,4BAA4B,CAAC,IAAyB;IACpE,IAAI,IAAA,sBAAe,EAAC,IAAI,CAAC,EAAE;QACzB,MAAM,8BAA8B,EAAE,CAAC;KACxC;AACH,CAAC;AAJD,oEAIC;AAED;;GAEG;AACH,SAAgB,8BAA8B;IAC5C,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;AACxE,CAAC;AAFD,wEAEC"}
|