@dereekb/firebase 5.0.0 → 5.2.0
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 +23 -0
- package/package.json +5 -5
- package/src/lib/client/firestore/driver.accessor.batch.d.ts +3 -3
- package/src/lib/client/firestore/driver.accessor.batch.js +1 -1
- package/src/lib/client/firestore/driver.accessor.batch.js.map +1 -1
- package/src/lib/client/firestore/driver.accessor.d.ts +1 -1
- package/src/lib/client/firestore/driver.accessor.default.d.ts +3 -3
- package/src/lib/client/firestore/driver.accessor.default.js +1 -1
- package/src/lib/client/firestore/driver.accessor.default.js.map +1 -1
- package/src/lib/client/firestore/driver.accessor.js +1 -0
- package/src/lib/client/firestore/driver.accessor.js.map +1 -1
- package/src/lib/client/firestore/driver.accessor.transaction.d.ts +3 -3
- package/src/lib/client/firestore/driver.accessor.transaction.js +1 -1
- package/src/lib/client/firestore/driver.accessor.transaction.js.map +1 -1
- package/src/lib/client/firestore/driver.query.d.ts +3 -3
- package/src/lib/client/firestore/driver.query.js +2 -2
- package/src/lib/client/firestore/driver.query.js.map +1 -1
- package/src/lib/client/firestore/firestore.d.ts +1 -1
- package/src/lib/client/function/function.factory.d.ts +1 -1
- package/src/lib/client/function/function.factory.js.map +1 -1
- package/src/lib/common/firestore/accessor/accessor.batch.d.ts +2 -2
- package/src/lib/common/firestore/accessor/accessor.d.ts +2 -2
- package/src/lib/common/firestore/accessor/accessor.default.d.ts +1 -1
- package/src/lib/common/firestore/accessor/accessor.js.map +1 -1
- package/src/lib/common/firestore/accessor/accessor.transaction.d.ts +2 -2
- package/src/lib/common/firestore/accessor/context.batch.d.ts +2 -2
- package/src/lib/common/firestore/accessor/context.d.ts +1 -1
- package/src/lib/common/firestore/accessor/context.default.d.ts +1 -1
- package/src/lib/common/firestore/accessor/context.transaction.d.ts +2 -2
- package/src/lib/common/firestore/accessor/document.d.ts +56 -27
- package/src/lib/common/firestore/accessor/document.js +40 -23
- package/src/lib/common/firestore/accessor/document.js.map +1 -1
- package/src/lib/common/firestore/accessor/document.utility.d.ts +5 -5
- package/src/lib/common/firestore/accessor/document.utility.js +4 -4
- package/src/lib/common/firestore/accessor/document.utility.js.map +1 -1
- package/src/lib/common/firestore/collection/collection.d.ts +20 -13
- package/src/lib/common/firestore/collection/collection.group.d.ts +20 -0
- package/src/lib/common/firestore/collection/collection.group.js +31 -0
- package/src/lib/common/firestore/collection/collection.group.js.map +1 -0
- package/src/lib/common/firestore/collection/collection.js +6 -5
- package/src/lib/common/firestore/collection/collection.js.map +1 -1
- package/src/lib/common/firestore/collection/collection.query.d.ts +7 -7
- package/src/lib/common/firestore/collection/collection.query.js +3 -3
- package/src/lib/common/firestore/collection/collection.query.js.map +1 -1
- package/src/lib/common/firestore/collection/index.d.ts +1 -0
- package/src/lib/common/firestore/collection/index.js +1 -0
- package/src/lib/common/firestore/collection/index.js.map +1 -1
- package/src/lib/common/firestore/collection/subcollection.d.ts +1 -1
- package/src/lib/common/firestore/collection/subcollection.js +1 -0
- package/src/lib/common/firestore/collection/subcollection.js.map +1 -1
- package/src/lib/common/firestore/collection/subcollection.single.d.ts +1 -1
- package/src/lib/common/firestore/collection/subcollection.single.js.map +1 -1
- package/src/lib/common/firestore/context.d.ts +7 -3
- package/src/lib/common/firestore/context.js +7 -1
- package/src/lib/common/firestore/context.js.map +1 -1
- package/src/lib/common/firestore/driver/accessor.d.ts +3 -1
- package/src/lib/common/firestore/driver/driver.d.ts +2 -2
- package/src/lib/common/firestore/driver/query.d.ts +2 -2
- package/src/lib/common/firestore/driver/query.handler.d.ts +1 -1
- package/src/lib/common/firestore/driver/query.handler.js.map +1 -1
- package/src/lib/common/firestore/query/accumulator.d.ts +4 -4
- package/src/lib/common/firestore/query/accumulator.js +1 -1
- package/src/lib/common/firestore/query/accumulator.js.map +1 -1
- package/src/lib/common/firestore/query/constraint.d.ts +1 -1
- package/src/lib/common/firestore/query/constraint.js +2 -2
- package/src/lib/common/firestore/query/constraint.js.map +1 -1
- package/src/lib/common/firestore/query/iterator.d.ts +4 -4
- package/src/lib/common/firestore/query/iterator.js +10 -9
- package/src/lib/common/firestore/query/iterator.js.map +1 -1
- package/src/lib/common/firestore/query/query.d.ts +5 -5
- package/src/lib/common/firestore/query/query.js +2 -2
- package/src/lib/common/firestore/query/query.js.map +1 -1
- package/src/lib/common/firestore/query/query.util.d.ts +1 -1
- package/src/lib/common/firestore/query/query.util.js +2 -3
- package/src/lib/common/firestore/query/query.util.js.map +1 -1
- package/src/lib/common/firestore/query/watcher.d.ts +1 -1
- package/src/lib/common/firestore/query/watcher.js +1 -1
- package/src/lib/common/firestore/query/watcher.js.map +1 -1
- package/src/lib/common/firestore/reference.d.ts +8 -2
- package/src/lib/common/firestore/snapshot/snapshot.d.ts +2 -2
- package/src/lib/common/firestore/snapshot/snapshot.field.js +12 -12
- package/src/lib/common/firestore/snapshot/snapshot.field.js.map +1 -1
- package/src/lib/common/firestore/snapshot/snapshot.js.map +1 -1
- package/src/lib/common/firestore/types.d.ts +7 -2
- package/src/lib/common/firestore/types.js +0 -3
- package/src/lib/common/firestore/types.js.map +1 -1
- package/src/lib/common/function/action.d.ts +1 -1
- package/src/lib/model/user.d.ts +1 -1
- package/test/CHANGELOG.md +18 -0
- package/test/package.json +7 -7
- package/test/src/lib/client/firestore.d.ts +1 -1
- package/test/src/lib/client/firestore.js.map +1 -1
- package/test/src/lib/common/firestore.d.ts +3 -0
- package/test/src/lib/common/firestore.js +15 -6
- package/test/src/lib/common/firestore.js.map +1 -1
- package/test/src/lib/common/firestore.mock.d.ts +2 -2
- package/test/src/lib/common/firestore.mock.item.d.ts +5 -1
- package/test/src/lib/common/firestore.mock.item.fixture.d.ts +1 -0
- package/test/src/lib/common/firestore.mock.item.fixture.js +4 -1
- package/test/src/lib/common/firestore.mock.item.fixture.js.map +1 -1
- package/test/src/lib/common/firestore.mock.item.js +16 -2
- package/test/src/lib/common/firestore.mock.item.js.map +1 -1
- package/test/src/lib/common/firestore.mock.js.map +1 -1
- package/test/src/lib/common/test.driver.accessor.d.ts +1 -1
- package/test/src/lib/common/test.driver.accessor.js +6 -6
- package/test/src/lib/common/test.driver.accessor.js.map +1 -1
- package/test/src/lib/common/test.driver.query.d.ts +1 -1
- package/test/src/lib/common/test.driver.query.js +126 -13
- package/test/src/lib/common/test.driver.query.js.map +1 -1
- package/test/src/lib/common/test.iterator.d.ts +1 -1
- package/test/src/lib/common/test.iterator.js +8 -8
- package/test/src/lib/common/test.iterator.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
# [5.2.0](https://github.com/dereekb/dbx-components/compare/v5.1.0-dev...v5.2.0) (2022-05-29)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* added collection group support to dbx-firebase components ([9f746c1](https://github.com/dereekb/dbx-components/commit/9f746c12a0e219970dcde12d920f1ef540514ce9))
|
|
11
|
+
* added firestore collection group support ([3b4c4cf](https://github.com/dereekb/dbx-components/commit/3b4c4cfa1dd860604c347ade69acdc2fea1063f8))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
# [5.1.0](https://github.com/dereekb/dbx-components/compare/v5.0.1-dev...v5.1.0) (2022-05-27)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
## [5.0.1](https://github.com/dereekb/dbx-components/compare/v5.0.0-dev...v5.0.1) (2022-05-26)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Bug Fixes
|
|
23
|
+
|
|
24
|
+
* setup-project fixes ([d700370](https://github.com/dereekb/dbx-components/commit/d700370301483b64cf561ab3fe9b0492c697cd45))
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
5
28
|
# [5.0.0](https://github.com/dereekb/dbx-components/compare/v4.1.0-dev...v5.0.0) (2022-05-25)
|
|
6
29
|
|
|
7
30
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.2.0",
|
|
4
4
|
"devDependencies": {
|
|
5
5
|
"@firebase/rules-unit-testing": "^2.0.0"
|
|
6
6
|
},
|
|
@@ -22,18 +22,18 @@
|
|
|
22
22
|
"rxjs": "^7.0.0",
|
|
23
23
|
"rxfire": "^6.0.3",
|
|
24
24
|
"firebase": "^9.8.0",
|
|
25
|
-
"@dereekb/util": "5.
|
|
25
|
+
"@dereekb/util": "5.2.0",
|
|
26
26
|
"make-error": "^1.3.0",
|
|
27
27
|
"extra-set": "^2.2.11",
|
|
28
|
-
"@dereekb/rxjs": "5.
|
|
28
|
+
"@dereekb/rxjs": "5.2.0",
|
|
29
29
|
"ms": "^3.0.0-canary.1",
|
|
30
|
-
"@dereekb/date": "5.
|
|
30
|
+
"@dereekb/date": "5.2.0",
|
|
31
31
|
"class-transformer": "^0.5.1",
|
|
32
32
|
"date-fns": "^2.28.0",
|
|
33
33
|
"class-validator": "^0.13.2",
|
|
34
34
|
"date-fns-tz": "^1.3.0",
|
|
35
35
|
"rrule": "git+https://git@github.com/dereekb/rrule.git#17adf5708d6567b4d01a3a8afd106261421ea492",
|
|
36
|
-
"@dereekb/model": "5.
|
|
36
|
+
"@dereekb/model": "5.2.0",
|
|
37
37
|
"tslib": "^2.0.0"
|
|
38
38
|
}
|
|
39
39
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { DocumentReference, DocumentSnapshot, WriteBatch as FirebaseFirestoreWriteBatch } from
|
|
2
|
-
import { Observable } from
|
|
3
|
-
import { FirestoreDocumentContext, UpdateData, WithFieldValue, FirestoreDocumentContextType, FirestoreDocumentDataAccessor, FirestoreDocumentDataAccessorFactory, SetOptions } from
|
|
1
|
+
import { DocumentReference, DocumentSnapshot, WriteBatch as FirebaseFirestoreWriteBatch } from '@firebase/firestore';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { FirestoreDocumentContext, UpdateData, WithFieldValue, FirestoreDocumentContextType, FirestoreDocumentDataAccessor, FirestoreDocumentDataAccessorFactory, SetOptions } from '../../common/firestore';
|
|
4
4
|
/**
|
|
5
5
|
* FirestoreDocumentDataAccessor implementation for a batch.
|
|
6
6
|
*/
|
|
@@ -17,7 +17,7 @@ class WriteBatchFirestoreDocumentDataAccessor {
|
|
|
17
17
|
return (0, rxjs_1.from)(this.get());
|
|
18
18
|
}
|
|
19
19
|
exists() {
|
|
20
|
-
return this.get().then(x => x.exists());
|
|
20
|
+
return this.get().then((x) => x.exists());
|
|
21
21
|
}
|
|
22
22
|
get() {
|
|
23
23
|
return (0, firestore_1.getDoc)(this.documentRef);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.accessor.batch.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.accessor.batch.ts"],"names":[],"mappings":";;;AAAA,mDAAgK;AAChK,+BAAwC;AACxC,sDAA6M;AAE7M,iBAAiB;AACjB;;GAEG;AACH,MAAa,uCAAuC;
|
|
1
|
+
{"version":3,"file":"driver.accessor.batch.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.accessor.batch.ts"],"names":[],"mappings":";;;AAAA,mDAAgK;AAChK,+BAAwC;AACxC,sDAA6M;AAE7M,iBAAiB;AACjB;;GAEG;AACH,MAAa,uCAAuC;IAClD,YAAqB,KAAkC,EAAW,WAAiC;QAA9E,UAAK,GAAL,KAAK,CAA6B;QAAW,gBAAW,GAAX,WAAW,CAAsB;IAAG,CAAC;IAEvG,MAAM;QACJ,OAAO,IAAA,WAAI,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1B,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,MAAM;QACJ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,IAAuB,EAAE,OAAoB;QAC/C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,OAAqB,CAAC,CAAC;QAC9D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,IAAyB;QAC9B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAA8B,CAAC,CAAC;QACpE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF;AA7BD,0FA6BC;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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { FirestoreAccessorDriver } from
|
|
1
|
+
import { FirestoreAccessorDriver } from '../../common/firestore/driver/accessor';
|
|
2
2
|
export declare function firestoreClientAccessorDriver(): FirestoreAccessorDriver;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { DocumentReference, DocumentSnapshot, UpdateData, WithFieldValue } from
|
|
2
|
-
import { Observable } from
|
|
3
|
-
import { FirestoreDocumentContext, FirestoreDocumentDataAccessor, FirestoreDocumentDataAccessorFactory, SetOptions } from
|
|
1
|
+
import { DocumentReference, DocumentSnapshot, UpdateData, WithFieldValue } from '@firebase/firestore';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { FirestoreDocumentContext, FirestoreDocumentDataAccessor, FirestoreDocumentDataAccessorFactory, SetOptions } from '../../common/firestore';
|
|
4
4
|
export declare class DefaultFirestoreDocumentDataAccessor<T> implements FirestoreDocumentDataAccessor<T> {
|
|
5
5
|
readonly documentRef: DocumentReference<T>;
|
|
6
6
|
constructor(documentRef: DocumentReference<T>);
|
|
@@ -13,7 +13,7 @@ class DefaultFirestoreDocumentDataAccessor {
|
|
|
13
13
|
return (0, firestore_2.fromRef)(this.documentRef);
|
|
14
14
|
}
|
|
15
15
|
exists() {
|
|
16
|
-
return this.get().then(x => x.exists());
|
|
16
|
+
return this.get().then((x) => x.exists());
|
|
17
17
|
}
|
|
18
18
|
get() {
|
|
19
19
|
return (0, firestore_1.getDoc)(this.documentRef);
|
|
@@ -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,mDAA4I;AAC5I,gDAA2C;AAE3C,sDAAiL;AAEjL,iBAAiB;AACjB,MAAa,oCAAoC;
|
|
1
|
+
{"version":3,"file":"driver.accessor.default.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.accessor.default.ts"],"names":[],"mappings":";;;AAAA,mDAA4I;AAC5I,gDAA2C;AAE3C,sDAAiL;AAEjL,iBAAiB;AACjB,MAAa,oCAAoC;IAC/C,YAAqB,WAAiC;QAAjC,gBAAW,GAAX,WAAW,CAAsB;IAAG,CAAC;IAE1D,MAAM;QACJ,OAAO,IAAA,mBAAO,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACnC,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,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,OAAO,IAAA,qBAAS,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF;AA1BD,oFA0BC;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"}
|
|
@@ -10,6 +10,7 @@ const driver_accessor_transaction_1 = require("./driver.accessor.transaction");
|
|
|
10
10
|
function firestoreClientAccessorDriver() {
|
|
11
11
|
return {
|
|
12
12
|
doc: firestore_2.doc,
|
|
13
|
+
collectionGroup: firestore_2.collectionGroup,
|
|
13
14
|
collection: firestore_2.collection,
|
|
14
15
|
subcollection: firestore_2.collection,
|
|
15
16
|
transactionFactoryForFirestore: (firestore) => (fn) => tslib_1.__awaiter(this, void 0, void 0, function* () { return yield (0, firestore_1.runTransaction)(firestore, fn); }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.accessor.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.accessor.ts"],"names":[],"mappings":";;;;AAAA,mDAAgE;AAChE,
|
|
1
|
+
{"version":3,"file":"driver.accessor.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.accessor.ts"],"names":[],"mappings":";;;;AAAA,mDAAgE;AAChE,kDAA+F;AAG/F,mEAAoE;AACpE,uEAA4E;AAC5E,+EAA2E;AAI3E,SAAgB,6BAA6B;IAC3C,OAAO;QACL,GAAG,EAAE,eAA4D;QACjE,eAAe,EAAE,2BAA4E;QAC7F,UAAU,EAAE,sBAAqE;QACjF,aAAa,EAAE,sBAAwE;QACvF,8BAA8B,EAC5B,CAAC,SAAS,EAAE,EAAE,CACd,CAAU,EAA0B,EAAE,EAAE,wDACtC,OAAA,MAAM,IAAA,0BAAc,EAAC,SAAsB,EAAE,EAA8C,CAAC,CAAA,GAAA;QAChG,6BAA6B,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,IAAA,sBAAU,EAAC,SAAsB,CAAC;QACtF,qBAAqB,EAAE,yDAA+B;QACtD,yBAAyB,EAAE,wDAAwE;QACnG,wBAAwB,EAAE,iDAAiF;KAC5G,CAAC;AACJ,CAAC;AAfD,sEAeC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { DocumentReference, DocumentSnapshot, Transaction as FirebaseFirestoreTransaction, UpdateData, WithFieldValue } from
|
|
2
|
-
import { Observable } from
|
|
3
|
-
import { FirestoreDocumentDataAccessor, FirestoreDocumentDataAccessorFactory, FirestoreDocumentContext, FirestoreDocumentContextType, SetOptions } from
|
|
1
|
+
import { DocumentReference, DocumentSnapshot, Transaction as FirebaseFirestoreTransaction, UpdateData, WithFieldValue } from '@firebase/firestore';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { FirestoreDocumentDataAccessor, FirestoreDocumentDataAccessorFactory, FirestoreDocumentContext, FirestoreDocumentContextType, SetOptions } from '../../common/firestore';
|
|
4
4
|
/**
|
|
5
5
|
* FirestoreDocumentDataAccessor implementation for a transaction.
|
|
6
6
|
*/
|
|
@@ -16,7 +16,7 @@ class TransactionFirestoreDocumentDataAccessor {
|
|
|
16
16
|
return (0, rxjs_1.from)(this.get());
|
|
17
17
|
}
|
|
18
18
|
exists() {
|
|
19
|
-
return this.get().then(x => x.exists());
|
|
19
|
+
return this.get().then((x) => x.exists());
|
|
20
20
|
}
|
|
21
21
|
get() {
|
|
22
22
|
return this.transaction.get(this.documentRef);
|
|
@@ -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,sDAAiL;AAEjL,iBAAiB;AACjB;;GAEG;AACH,MAAa,wCAAwC;
|
|
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,sDAAiL;AAEjL,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;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,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,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF;AA7BD,4FA6BC;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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ArrayOrValue } from '@dereekb/util';
|
|
2
|
-
import { QueryConstraint } from
|
|
2
|
+
import { QueryConstraint } from 'firebase/firestore';
|
|
3
3
|
import { FullFirestoreQueryConstraintHandlersMapping } from './../../common/firestore/query/constraint';
|
|
4
|
-
import { FirestoreQueryConstraintFunctionsDriver, FirestoreQueryDriver } from
|
|
5
|
-
import { Query } from
|
|
4
|
+
import { FirestoreQueryConstraintFunctionsDriver, FirestoreQueryDriver } from '../../common/firestore/driver/query';
|
|
5
|
+
import { Query } from '../../common/firestore/types';
|
|
6
6
|
export interface FirebaseFirestoreQueryBuilder {
|
|
7
7
|
query: Query;
|
|
8
8
|
constraints: QueryConstraint[];
|
|
@@ -21,7 +21,7 @@ exports.FIRESTORE_CLIENT_QUERY_CONSTRAINT_HANDLER_MAPPING = {
|
|
|
21
21
|
[constraint_1.FIRESTORE_START_AT_QUERY_CONSTRAINT_TYPE]: (builder, data) => addConstraintToBuilder(builder, (0, firestore_1.startAt)(data.snapshot)),
|
|
22
22
|
[constraint_1.FIRESTORE_START_AFTER_QUERY_CONSTRAINT_TYPE]: (builder, data) => addConstraintToBuilder(builder, (0, firestore_1.startAfter)(data.snapshot)),
|
|
23
23
|
[constraint_1.FIRESTORE_END_AT_QUERY_CONSTRAINT_TYPE]: (builder, data) => addConstraintToBuilder(builder, (0, firestore_1.endAt)(data.snapshot)),
|
|
24
|
-
[constraint_1.FIRESTORE_END_BEFORE_QUERY_CONSTRAINT_TYPE]: (builder, data) => addConstraintToBuilder(builder, (0, firestore_1.endBefore)(data.snapshot))
|
|
24
|
+
[constraint_1.FIRESTORE_END_BEFORE_QUERY_CONSTRAINT_TYPE]: (builder, data) => addConstraintToBuilder(builder, (0, firestore_1.endBefore)(data.snapshot))
|
|
25
25
|
};
|
|
26
26
|
function firebaseFirestoreQueryConstraintFunctionsDriver() {
|
|
27
27
|
return (0, query_handler_1.makeFirestoreQueryConstraintFunctionsDriver)({
|
|
@@ -40,7 +40,7 @@ function firebaseFirestoreQueryDriver() {
|
|
|
40
40
|
return (0, firestore_1.getDocs)(query);
|
|
41
41
|
},
|
|
42
42
|
streamDocs(query, options) {
|
|
43
|
-
return (0, query_util_1.streamFromOnSnapshot)((obs) => (options
|
|
43
|
+
return (0, query_util_1.streamFromOnSnapshot)((obs) => (options ? (0, firestore_1.onSnapshot)(query, options, obs) : (0, firestore_1.onSnapshot)(query, obs)));
|
|
44
44
|
} });
|
|
45
45
|
}
|
|
46
46
|
exports.firebaseFirestoreQueryDriver = firebaseFirestoreQueryDriver;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.query.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.query.ts"],"names":[],"mappings":";;;AAEA,kDAA+M;AAC/M,0EAAke;AACle,+EAA0G;AAG1G,wEAA+E;AAO/E,SAAgB,sBAAsB,CAAC,OAAsC,EAAE,UAAyC;IACtH,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC;KACpD,CAAC;AACJ,CAAC;AALD,wDAKC;AAEY,QAAA,iDAAiD,GAA+E;IAC3I,CAAC,kDAAqC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAA,iBAAK,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9G,CAAC,0DAA6C,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAA,uBAAW,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5H,CAAC,qDAAwC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAA,mBAAO,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1I,CAAC,kDAAqC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAA,iBAAK,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1I,CAAC,mDAAsC,CAAC,EAAE,SAAS;IACnD,CAAC,qDAAwC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAA,mBAAO,EAAC,IAAI,CAAC,QAA4B,CAAC,CAAC;IAC1I,CAAC,wDAA2C,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAA,sBAAU,EAAC,IAAI,CAAC,QAA4B,CAAC,CAAC;IAChJ,CAAC,mDAAsC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAA,iBAAK,EAAC,IAAI,CAAC,QAA4B,CAAC,CAAC;IACtI,CAAC,uDAA0C,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAA,qBAAS,EAAC,IAAI,CAAC,QAA4B,CAAC,CAAC;CAC/I,CAAC;AAEF,SAAgB,+CAA+C;IAC7D,OAAO,IAAA,2DAA2C,EAAC;QACjD,OAAO,EAAE,yDAAiD;QAC1D,IAAI,EAAE,CAAI,KAAe,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QAC1D,KAAK,EAAE,CAAI,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAiC,EAAE,EAAE,CAAC,IAAA,iBAAK,EAAC,YAAyC,EAAE,GAAG,WAAW,CAAC;KACpJ,CAAC,CAAC;AACL,CAAC;AAND,0GAMC;AAED,SAAgB,4BAA4B;IAC1C,uCACK,+CAA+C,EAAE,KACpD,OAAO,CAAI,KAAe,EAAE,WAAyB;YACnD,IAAI,WAAW,EAAE;gBACf,qFAAqF;gBACrF,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;aACjG;YAED,OAAO,IAAA,mBAAO,EAAC,KAAkC,CAAC,CAAC;QACrD,CAAC;QACD,UAAU,CAAI,KAAe,EAAE,OAAsC;YACnE,OAAO,IAAA,iCAAoB,EAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"driver.query.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.query.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ClassLikeType, Getter, Maybe } from '@dereekb/util';
|
|
2
|
-
import { Functions, HttpsCallableOptions } from
|
|
2
|
+
import { Functions, HttpsCallableOptions } from 'firebase/functions';
|
|
3
3
|
import { FirebaseFunctionMap, FirebaseFunctionTypeMap } from './function';
|
|
4
4
|
export interface FirebaseFunctionTypeConfig {
|
|
5
5
|
options?: HttpsCallableOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function.factory.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/function/function.factory.ts"],"names":[],"mappings":";;;AAAA,wCAAyF;AACzF,kDAAoF;AAiBpF,SAAgB,0BAA0B,CAAoC,SAA2C;IACvH,OAAO,CAAC,iBAA4B,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG,CAAoB,MAA2C,EAAE,GAAM,EAAE,EAAE;YACvF,IAAI,mBAAqD,CAAC;YAE1D,IAAI,MAAM,EAAE;gBACV,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC;aACtC;YAED,MAAM,EAAE,GAAsC,IAAA,yBAAa,EAAC,iBAAiB,EAAE,GAAa,EAAE,mBAAmB,CAAC,CAAC;YACnH,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAmC,SAAS,EAAE,KAAK,CAA2B,CAAC;QAC1G,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAhBD,gEAgBC;AA+BD,SAAgB,4BAA4B,CAA0G,SAAY;IAChK,OAAO,CAAC,SAAoB,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"function.factory.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/function/function.factory.ts"],"names":[],"mappings":";;;AAAA,wCAAyF;AACzF,kDAAoF;AAiBpF,SAAgB,0BAA0B,CAAoC,SAA2C;IACvH,OAAO,CAAC,iBAA4B,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG,CAAoB,MAA2C,EAAE,GAAM,EAAE,EAAE;YACvF,IAAI,mBAAqD,CAAC;YAE1D,IAAI,MAAM,EAAE;gBACV,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC;aACtC;YAED,MAAM,EAAE,GAAsC,IAAA,yBAAa,EAAC,iBAAiB,EAAE,GAAa,EAAE,mBAAmB,CAAC,CAAC;YACnH,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAmC,SAAS,EAAE,KAAK,CAA2B,CAAC;QAC1G,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAhBD,gEAgBC;AA+BD,SAAgB,4BAA4B,CAA0G,SAAY;IAChK,OAAO,CAAC,SAAoB,EAAE,EAAE;QAC9B,MAAM,KAAK,GAAG,CAAoB,MAA6C,EAAE,GAAM,EAAE,EAAE;YACzF,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,OAAO,GAAqC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAA4C,CAAC;YACjG,MAAM,CAAC,KAAK,GAAG,IAA2B,CAAC;YAC3C,MAAM,CAAC,IAAI,GAAG,GAAa,CAAC;YAC5B,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAEF,MAAM,MAAM,GAA6B,IAAA,mBAAY,EAAC,SAAS,EAAE,KAAY,CAAC,CAAC;QAC/E,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAdD,oEAcC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { WriteBatch } from
|
|
2
|
-
import { FirestoreDocumentDataAccessorFactory } from
|
|
1
|
+
import { WriteBatch } from '../types';
|
|
2
|
+
import { FirestoreDocumentDataAccessorFactory } from './accessor';
|
|
3
3
|
export declare type WriteBatchAccessorFactory = <T>(writeBatch: WriteBatch) => FirestoreDocumentDataAccessorFactory<T>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Maybe } from
|
|
2
|
-
import { WriteResult, SnapshotOptions, DocumentReference, DocumentSnapshot, UpdateData, WithFieldValue, PartialWithFieldValue, SetOptions, Precondition, DocumentData } from
|
|
1
|
+
import { Maybe } from '@dereekb/util';
|
|
2
|
+
import { WriteResult, SnapshotOptions, DocumentReference, DocumentSnapshot, UpdateData, WithFieldValue, PartialWithFieldValue, SetOptions, Precondition, DocumentData } from '../types';
|
|
3
3
|
import { Observable, OperatorFunction } from 'rxjs';
|
|
4
4
|
import { DocumentReferenceRef } from '../reference';
|
|
5
5
|
export interface FirestoreDocumentDeleteParams {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { FirestoreDocumentDataAccessorFactory } from
|
|
1
|
+
import { FirestoreDocumentDataAccessorFactory } from './accessor';
|
|
2
2
|
export declare type DefaultFirestoreAccessorFactory<T> = () => FirestoreDocumentDataAccessorFactory<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessor.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/accessor.ts"],"names":[],"mappings":";;;AAAA,wCAA4C;AAC5C,wCAA6D;AAE7D,+BAAyD;
|
|
1
|
+
{"version":3,"file":"accessor.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/accessor.ts"],"names":[],"mappings":";;;AAAA,wCAA4C;AAC5C,wCAA6D;AAE7D,+BAAyD;AA8DzD,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;AAcD,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,MAAM,MAAM,GAAG,IAAA,4BAAqB,EAAC,IAAI,CAAC,CAAC;gBAC3C,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAyB,CAAC,CAAC;aAChD;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAXD,sEAWC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { Transaction } from
|
|
2
|
-
import { FirestoreDocumentDataAccessorFactory } from
|
|
1
|
+
import { Transaction } from '../types';
|
|
2
|
+
import { FirestoreDocumentDataAccessorFactory } from './accessor';
|
|
3
3
|
export declare type TransactionAccessorFactory<T = unknown> = (transaction: Transaction) => FirestoreDocumentDataAccessorFactory<T>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { WriteBatch } from
|
|
2
|
-
import { FirestoreDocumentContext, FirestoreDocumentContextType } from
|
|
1
|
+
import { WriteBatch } from '../types';
|
|
2
|
+
import { FirestoreDocumentContext, FirestoreDocumentContextType } from './context';
|
|
3
3
|
export declare type WriteBatchFirestoreDocumentContextFactory = <T>(writeBatch: WriteBatch) => WriteBatchFirestoreDocumentContext<T>;
|
|
4
4
|
export interface WriteBatchFirestoreDocumentContext<T> extends FirestoreDocumentContext<T> {
|
|
5
5
|
readonly contextType: FirestoreDocumentContextType.BATCH;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FirestoreDocumentContext, FirestoreDocumentContextType } from
|
|
1
|
+
import { FirestoreDocumentContext, FirestoreDocumentContextType } from './context';
|
|
2
2
|
export declare type DefaultFirestoreDocumentContextFactory = <T>() => FirestoreDocumentContext<T>;
|
|
3
3
|
export interface DefaultFirestoreDocumentContext<T> extends FirestoreDocumentContext<T> {
|
|
4
4
|
readonly contextType: FirestoreDocumentContextType.NONE;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Transaction } from
|
|
2
|
-
import { FirestoreDocumentContext, FirestoreDocumentContextType } from
|
|
1
|
+
import { Transaction } from '../types';
|
|
2
|
+
import { FirestoreDocumentContext, FirestoreDocumentContextType } from './context';
|
|
3
3
|
export declare type TransactionFirestoreDocumentContextFactory = <T>(transaction: Transaction) => TransactionFirestoreDocumentContext<T>;
|
|
4
4
|
export interface TransactionFirestoreDocumentContext<T> extends FirestoreDocumentContext<T> {
|
|
5
5
|
readonly contextType: FirestoreDocumentContextType.TRANSACTION;
|
|
@@ -4,6 +4,7 @@ import { DocumentReference, CollectionReference, Transaction, WriteBatch, Docume
|
|
|
4
4
|
import { FirestoreDocumentDataAccessor } from './accessor';
|
|
5
5
|
import { CollectionReferenceRef, DocumentReferenceRef } from '../reference';
|
|
6
6
|
import { FirestoreDocumentContext } from './context';
|
|
7
|
+
import { Maybe } from '@dereekb/util';
|
|
7
8
|
export interface FirestoreDocument<T, A extends FirestoreDocumentDataAccessor<T> = FirestoreDocumentDataAccessor<T>> extends DocumentReferenceRef<T>, CollectionReferenceRef<T> {
|
|
8
9
|
readonly accessor: A;
|
|
9
10
|
readonly id: string;
|
|
@@ -11,12 +12,12 @@ export interface FirestoreDocument<T, A extends FirestoreDocumentDataAccessor<T>
|
|
|
11
12
|
/**
|
|
12
13
|
* Abstract FirestoreDocument implementation that extends a FirestoreDocumentDataAccessor.
|
|
13
14
|
*/
|
|
14
|
-
export declare abstract class AbstractFirestoreDocument<T, D extends AbstractFirestoreDocument<T, any, any>, A extends FirestoreDocumentDataAccessor<T> = FirestoreDocumentDataAccessor<T>> implements FirestoreDocument<T, A>,
|
|
15
|
+
export declare abstract class AbstractFirestoreDocument<T, D extends AbstractFirestoreDocument<T, any, any>, A extends FirestoreDocumentDataAccessor<T> = FirestoreDocumentDataAccessor<T>> implements FirestoreDocument<T, A>, LimitedFirestoreDocumentAccessorRef<T, D>, CollectionReferenceRef<T> {
|
|
15
16
|
readonly accessor: A;
|
|
16
|
-
readonly documentAccessor:
|
|
17
|
+
readonly documentAccessor: LimitedFirestoreDocumentAccessor<T, D>;
|
|
17
18
|
readonly stream$: Observable<DocumentSnapshot<T>>;
|
|
18
19
|
readonly data$: Observable<T>;
|
|
19
|
-
constructor(accessor: A, documentAccessor:
|
|
20
|
+
constructor(accessor: A, documentAccessor: LimitedFirestoreDocumentAccessor<T, D>);
|
|
20
21
|
get id(): string;
|
|
21
22
|
get documentRef(): DocumentReference<T>;
|
|
22
23
|
get collection(): CollectionReference<T>;
|
|
@@ -24,21 +25,12 @@ export declare abstract class AbstractFirestoreDocument<T, D extends AbstractFir
|
|
|
24
25
|
snapshotData(options?: SnapshotOptions): Promise<T | undefined>;
|
|
25
26
|
createOrUpdate(data: Partial<T>): Promise<WriteResult | void>;
|
|
26
27
|
}
|
|
27
|
-
export interface
|
|
28
|
-
readonly documentAccessor:
|
|
28
|
+
export interface LimitedFirestoreDocumentAccessorRef<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, A extends LimitedFirestoreDocumentAccessor<T, D> = LimitedFirestoreDocumentAccessor<T, D>> {
|
|
29
|
+
readonly documentAccessor: A;
|
|
29
30
|
}
|
|
30
|
-
export
|
|
31
|
+
export declare type FirestoreDocumentAccessorRef<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> = LimitedFirestoreDocumentAccessorRef<T, D, FirestoreDocumentAccessor<T, D>>;
|
|
32
|
+
export interface LimitedFirestoreDocumentAccessor<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends FirestoreAccessorDriverRef {
|
|
31
33
|
readonly databaseContext: FirestoreDocumentContext<T>;
|
|
32
|
-
/**
|
|
33
|
-
* Creates a new document.
|
|
34
|
-
*/
|
|
35
|
-
newDocument(): D;
|
|
36
|
-
/**
|
|
37
|
-
* Loads a document from the datastore with the given id/path.
|
|
38
|
-
*
|
|
39
|
-
* @param ref
|
|
40
|
-
*/
|
|
41
|
-
loadDocumentForPath(path: string, ...pathSegments: string[]): D;
|
|
42
34
|
/**
|
|
43
35
|
* Loads a document from the datastore.
|
|
44
36
|
*
|
|
@@ -51,6 +43,19 @@ export interface FirestoreDocumentAccessor<T, D extends FirestoreDocument<T> = F
|
|
|
51
43
|
* @param document
|
|
52
44
|
*/
|
|
53
45
|
loadDocumentFrom(document: FirestoreDocument<T>): D;
|
|
46
|
+
}
|
|
47
|
+
export interface FirestoreDocumentAccessor<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends LimitedFirestoreDocumentAccessor<T, D>, CollectionReferenceRef<T>, FirestoreAccessorDriverRef {
|
|
48
|
+
readonly databaseContext: FirestoreDocumentContext<T>;
|
|
49
|
+
/**
|
|
50
|
+
* Creates a new document.
|
|
51
|
+
*/
|
|
52
|
+
newDocument(): D;
|
|
53
|
+
/**
|
|
54
|
+
* Loads a document from the datastore with the given id/path.
|
|
55
|
+
*
|
|
56
|
+
* @param ref
|
|
57
|
+
*/
|
|
58
|
+
loadDocumentForPath(path: string, ...pathSegments: string[]): D;
|
|
54
59
|
/**
|
|
55
60
|
*
|
|
56
61
|
* @param path
|
|
@@ -61,22 +66,37 @@ export interface FirestoreDocumentAccessor<T, D extends FirestoreDocument<T> = F
|
|
|
61
66
|
/**
|
|
62
67
|
* Used to generate a FirestoreDocument from an input FirestoreDocumentDataAccessor instance.
|
|
63
68
|
*/
|
|
64
|
-
export declare type FirestoreDocumentFactoryFunction<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> = (accessor: FirestoreDocumentDataAccessor<T>, documentAccessor:
|
|
69
|
+
export declare type FirestoreDocumentFactoryFunction<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> = (accessor: FirestoreDocumentDataAccessor<T>, documentAccessor: LimitedFirestoreDocumentAccessor<T, D>) => D;
|
|
65
70
|
/**
|
|
66
71
|
* Factory function used for creating a FirestoreDocumentAccessor.
|
|
67
72
|
*/
|
|
68
|
-
export declare type
|
|
73
|
+
export declare type LimitedFirestoreDocumentAccessorFactoryFunction<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, A extends LimitedFirestoreDocumentAccessor<T, D> = LimitedFirestoreDocumentAccessor<T, D>> = (context?: FirestoreDocumentContext<T>) => A;
|
|
69
74
|
/**
|
|
70
75
|
* Factory type used for creating a FirestoreDocumentAccessor.
|
|
71
76
|
*/
|
|
72
|
-
export interface
|
|
77
|
+
export interface LimitedFirestoreDocumentAccessorFactory<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, A extends LimitedFirestoreDocumentAccessor<T, D> = LimitedFirestoreDocumentAccessor<T, D>> {
|
|
73
78
|
/**
|
|
74
79
|
* Creates a new FirestoreDocumentAccessor using the given context.
|
|
75
80
|
*
|
|
76
81
|
* @param context Optional context to retrieve items from.
|
|
77
82
|
*/
|
|
78
|
-
readonly documentAccessor:
|
|
83
|
+
readonly documentAccessor: LimitedFirestoreDocumentAccessorFactoryFunction<T, D, A>;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* FirestoreDocumentAccessor configuration.
|
|
87
|
+
*/
|
|
88
|
+
export interface LimitedFirestoreDocumentAccessorFactoryConfig<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends FirestoreAccessorDriverRef {
|
|
89
|
+
readonly makeDocument: FirestoreDocumentFactoryFunction<T, D>;
|
|
79
90
|
}
|
|
91
|
+
export declare function limitedFirestoreDocumentAccessorFactory<T, D extends FirestoreDocument<T> = FirestoreDocument<T>>(config: LimitedFirestoreDocumentAccessorFactoryConfig<T, D>): LimitedFirestoreDocumentAccessorFactoryFunction<T, D>;
|
|
92
|
+
/**
|
|
93
|
+
* Factory function used for creating a FirestoreDocumentAccessor.
|
|
94
|
+
*/
|
|
95
|
+
export declare type FirestoreDocumentAccessorFactoryFunction<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> = LimitedFirestoreDocumentAccessorFactoryFunction<T, D, FirestoreDocumentAccessor<T, D>>;
|
|
96
|
+
/**
|
|
97
|
+
* Factory type used for creating a FirestoreDocumentAccessor.
|
|
98
|
+
*/
|
|
99
|
+
export declare type FirestoreDocumentAccessorFactory<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> = LimitedFirestoreDocumentAccessorFactory<T, D, FirestoreDocumentAccessor<T, D>>;
|
|
80
100
|
/**
|
|
81
101
|
* FirestoreDocumentAccessor configuration.
|
|
82
102
|
*/
|
|
@@ -84,30 +104,39 @@ export interface FirestoreDocumentAccessorFactoryConfig<T, D extends FirestoreDo
|
|
|
84
104
|
readonly makeDocument: FirestoreDocumentFactoryFunction<T, D>;
|
|
85
105
|
}
|
|
86
106
|
export declare function firestoreDocumentAccessorFactory<T, D extends FirestoreDocument<T> = FirestoreDocument<T>>(config: FirestoreDocumentAccessorFactoryConfig<T, D>): FirestoreDocumentAccessorFactoryFunction<T, D>;
|
|
87
|
-
export interface
|
|
107
|
+
export interface LimitedFirestoreDocumentAccessorForTransactionFactory<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, A extends LimitedFirestoreDocumentAccessor<T, D> = LimitedFirestoreDocumentAccessor<T, D>> {
|
|
88
108
|
/**
|
|
89
109
|
* Creates a new FirestoreDocumentAccessor for a Transaction.
|
|
90
110
|
*/
|
|
91
|
-
documentAccessorForTransaction(transaction: Transaction):
|
|
111
|
+
documentAccessorForTransaction(transaction: Transaction): A;
|
|
92
112
|
}
|
|
93
|
-
export
|
|
113
|
+
export declare type FirestoreDocumentAccessorForTransactionFactory<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> = LimitedFirestoreDocumentAccessorForTransactionFactory<T, D, FirestoreDocumentAccessor<T, D>>;
|
|
114
|
+
export interface LimitedFirestoreDocumentAccessorForWriteBatchFactory<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, A extends LimitedFirestoreDocumentAccessor<T, D> = LimitedFirestoreDocumentAccessor<T, D>> {
|
|
94
115
|
/**
|
|
95
116
|
* Creates a new FirestoreDocumentAccessor for a WriteBatch.
|
|
96
117
|
*/
|
|
97
|
-
documentAccessorForWriteBatch(writeBatch: WriteBatch):
|
|
118
|
+
documentAccessorForWriteBatch(writeBatch: WriteBatch): A;
|
|
119
|
+
}
|
|
120
|
+
export declare type FirestoreDocumentAccessorForWriteBatchFactory<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> = LimitedFirestoreDocumentAccessorForWriteBatchFactory<T, D, FirestoreDocumentAccessor<T, D>>;
|
|
121
|
+
export interface LimitedFirestoreDocumentAccessorContextExtensionConfig<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends FirestoreAccessorDriverRef {
|
|
122
|
+
readonly documentAccessor: LimitedFirestoreDocumentAccessorFactoryFunction<T, D>;
|
|
98
123
|
}
|
|
99
|
-
export interface FirestoreDocumentAccessorContextExtensionConfig<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends
|
|
124
|
+
export interface FirestoreDocumentAccessorContextExtensionConfig<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends LimitedFirestoreDocumentAccessorContextExtensionConfig<T, D> {
|
|
100
125
|
readonly documentAccessor: FirestoreDocumentAccessorFactoryFunction<T, D>;
|
|
101
126
|
}
|
|
127
|
+
export interface LimitedFirestoreDocumentAccessorContextExtension<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends LimitedFirestoreDocumentAccessorFactory<T, D>, LimitedFirestoreDocumentAccessorForTransactionFactory<T, D>, LimitedFirestoreDocumentAccessorForWriteBatchFactory<T, D> {
|
|
128
|
+
}
|
|
102
129
|
export interface FirestoreDocumentAccessorContextExtension<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends FirestoreDocumentAccessorFactory<T, D>, FirestoreDocumentAccessorForTransactionFactory<T, D>, FirestoreDocumentAccessorForWriteBatchFactory<T, D> {
|
|
103
130
|
}
|
|
104
131
|
export declare function firestoreDocumentAccessorContextExtension<T, D extends FirestoreDocument<T> = FirestoreDocument<T>>({ documentAccessor, firestoreAccessorDriver }: FirestoreDocumentAccessorContextExtensionConfig<T, D>): FirestoreDocumentAccessorContextExtension<T, D>;
|
|
132
|
+
export declare function firestoreDocumentAccessorContextExtension<T, D extends FirestoreDocument<T> = FirestoreDocument<T>>({ documentAccessor, firestoreAccessorDriver }: LimitedFirestoreDocumentAccessorContextExtensionConfig<T, D>): LimitedFirestoreDocumentAccessorContextExtension<T, D>;
|
|
105
133
|
export interface FirestoreDocumentWithParent<P, T, A extends FirestoreDocumentDataAccessor<T> = FirestoreDocumentDataAccessor<T>> extends FirestoreDocument<T, A> {
|
|
106
134
|
readonly parent: DocumentReference<P>;
|
|
107
135
|
}
|
|
108
136
|
export declare abstract class AbstractFirestoreDocumentWithParent<P, T, D extends AbstractFirestoreDocument<T, any, any>, A extends FirestoreDocumentDataAccessor<T> = FirestoreDocumentDataAccessor<T>> extends AbstractFirestoreDocument<T, D, A> implements FirestoreDocumentWithParent<P, T, A> {
|
|
109
|
-
|
|
110
|
-
|
|
137
|
+
private _parent;
|
|
138
|
+
get parent(): DocumentReference<P>;
|
|
139
|
+
constructor(parent: Maybe<DocumentReference<P>>, accessor: A, documentAccessor: LimitedFirestoreDocumentAccessor<T, D>);
|
|
111
140
|
}
|
|
112
141
|
export interface FirestoreSingleDocumentAccessor<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> {
|
|
113
142
|
loadDocument(): D;
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
/*eslint @typescript-eslint/no-explicit-any:"off"*/
|
|
3
3
|
// any is used with intent here, as the recursive AbstractFirestoreDocument requires its use to terminate.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.firestoreSingleDocumentAccessor = exports.AbstractFirestoreDocumentWithParent = exports.firestoreDocumentAccessorContextExtension = exports.firestoreDocumentAccessorFactory = exports.AbstractFirestoreDocument = void 0;
|
|
5
|
+
exports.firestoreSingleDocumentAccessor = exports.AbstractFirestoreDocumentWithParent = exports.firestoreDocumentAccessorContextExtension = exports.firestoreDocumentAccessorFactory = exports.limitedFirestoreDocumentAccessorFactory = exports.AbstractFirestoreDocument = void 0;
|
|
6
6
|
const accessor_1 = require("./accessor");
|
|
7
|
+
const util_1 = require("@dereekb/util");
|
|
7
8
|
/**
|
|
8
9
|
* Abstract FirestoreDocument implementation that extends a FirestoreDocumentDataAccessor.
|
|
9
10
|
*/
|
|
@@ -21,21 +22,22 @@ class AbstractFirestoreDocument {
|
|
|
21
22
|
return this.accessor.documentRef;
|
|
22
23
|
}
|
|
23
24
|
get collection() {
|
|
24
|
-
|
|
25
|
+
// TODO: Only works if the documentRef has access to the parent ref
|
|
26
|
+
return this.accessor.documentRef.parent;
|
|
25
27
|
}
|
|
26
28
|
snapshot() {
|
|
27
29
|
return this.accessor.get();
|
|
28
30
|
}
|
|
29
31
|
snapshotData(options) {
|
|
30
|
-
return this.snapshot().then(x => x.data(options));
|
|
32
|
+
return this.snapshot().then((x) => x.data(options));
|
|
31
33
|
}
|
|
32
34
|
createOrUpdate(data) {
|
|
33
35
|
return (0, accessor_1.createOrUpdateWithAccessorSet)(this.accessor)(data);
|
|
34
36
|
}
|
|
35
37
|
}
|
|
36
38
|
exports.AbstractFirestoreDocument = AbstractFirestoreDocument;
|
|
37
|
-
function
|
|
38
|
-
const { firestoreAccessorDriver
|
|
39
|
+
function limitedFirestoreDocumentAccessorFactory(config) {
|
|
40
|
+
const { firestoreAccessorDriver } = config;
|
|
39
41
|
return (context) => {
|
|
40
42
|
const databaseContext = context !== null && context !== void 0 ? context : config.firestoreAccessorDriver.defaultContextFactory();
|
|
41
43
|
const dataAccessorFactory = databaseContext.accessorFactory;
|
|
@@ -43,33 +45,45 @@ function firestoreDocumentAccessorFactory(config) {
|
|
|
43
45
|
const accessor = dataAccessorFactory.accessorFor(ref);
|
|
44
46
|
return config.makeDocument(accessor, documentAccessor);
|
|
45
47
|
}
|
|
46
|
-
;
|
|
47
|
-
function documentRefForPath(path, ...pathSegments) {
|
|
48
|
-
return firestoreAccessorDriver.doc(collection, path, ...pathSegments);
|
|
49
|
-
}
|
|
50
48
|
const documentAccessor = {
|
|
51
|
-
newDocument() {
|
|
52
|
-
const newDocRef = firestoreAccessorDriver.doc(collection);
|
|
53
|
-
return this.loadDocument(newDocRef);
|
|
54
|
-
},
|
|
55
|
-
loadDocumentForPath(path, ...pathSegments) {
|
|
56
|
-
if (!path) {
|
|
57
|
-
throw new Error('Path was not provided to loadDocumentForPath(). Use newDocument() for generating an id.');
|
|
58
|
-
}
|
|
59
|
-
return this.loadDocument(documentRefForPath(path, ...pathSegments));
|
|
60
|
-
},
|
|
61
49
|
loadDocumentFrom(document) {
|
|
62
50
|
return loadDocument(document.documentRef);
|
|
63
51
|
},
|
|
64
52
|
loadDocument,
|
|
65
|
-
documentRefForPath,
|
|
66
53
|
firestoreAccessorDriver,
|
|
67
|
-
databaseContext
|
|
68
|
-
collection
|
|
54
|
+
databaseContext
|
|
69
55
|
};
|
|
70
56
|
return documentAccessor;
|
|
71
57
|
};
|
|
72
58
|
}
|
|
59
|
+
exports.limitedFirestoreDocumentAccessorFactory = limitedFirestoreDocumentAccessorFactory;
|
|
60
|
+
function firestoreDocumentAccessorFactory(config) {
|
|
61
|
+
const { firestoreAccessorDriver, collection } = config;
|
|
62
|
+
const limitedFirestoreDocumentAccessor = limitedFirestoreDocumentAccessorFactory(config);
|
|
63
|
+
function documentRefForPath(path, ...pathSegments) {
|
|
64
|
+
return firestoreAccessorDriver.doc(collection, path, ...pathSegments);
|
|
65
|
+
}
|
|
66
|
+
return (context) => {
|
|
67
|
+
const documentAccessor = (0, util_1.build)({
|
|
68
|
+
base: limitedFirestoreDocumentAccessor(context),
|
|
69
|
+
build: (x) => {
|
|
70
|
+
x.collection = collection;
|
|
71
|
+
x.newDocument = () => {
|
|
72
|
+
const newDocRef = firestoreAccessorDriver.doc(collection);
|
|
73
|
+
return documentAccessor.loadDocument(newDocRef);
|
|
74
|
+
};
|
|
75
|
+
x.documentRefForPath = documentRefForPath;
|
|
76
|
+
x.loadDocumentForPath = (path, ...pathSegments) => {
|
|
77
|
+
if (!path) {
|
|
78
|
+
throw new Error('Path was not provided to loadDocumentForPath(). Use newDocument() for generating an id.');
|
|
79
|
+
}
|
|
80
|
+
return documentAccessor.loadDocument(documentRefForPath(path, ...pathSegments));
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
return documentAccessor;
|
|
85
|
+
};
|
|
86
|
+
}
|
|
73
87
|
exports.firestoreDocumentAccessorFactory = firestoreDocumentAccessorFactory;
|
|
74
88
|
function firestoreDocumentAccessorContextExtension({ documentAccessor, firestoreAccessorDriver }) {
|
|
75
89
|
return {
|
|
@@ -86,7 +100,10 @@ exports.firestoreDocumentAccessorContextExtension = firestoreDocumentAccessorCon
|
|
|
86
100
|
class AbstractFirestoreDocumentWithParent extends AbstractFirestoreDocument {
|
|
87
101
|
constructor(parent, accessor, documentAccessor) {
|
|
88
102
|
super(accessor, documentAccessor);
|
|
89
|
-
this.
|
|
103
|
+
this._parent = parent !== null && parent !== void 0 ? parent : accessor.documentRef.parent.parent;
|
|
104
|
+
}
|
|
105
|
+
get parent() {
|
|
106
|
+
return this._parent;
|
|
90
107
|
}
|
|
91
108
|
}
|
|
92
109
|
exports.AbstractFirestoreDocumentWithParent = AbstractFirestoreDocumentWithParent;
|