@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
|
@@ -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;;;AAK1G,yCAAkH;
|
|
1
|
+
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/document.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Maybe } from '@dereekb/util';
|
|
2
2
|
import { DocumentDataWithId, DocumentReference, DocumentSnapshot, QuerySnapshot, Transaction } from '../types';
|
|
3
|
-
import { FirestoreDocument, FirestoreDocumentAccessor,
|
|
3
|
+
import { FirestoreDocument, FirestoreDocumentAccessor, LimitedFirestoreDocumentAccessor, LimitedFirestoreDocumentAccessorContextExtension } from './document';
|
|
4
4
|
export declare function newDocuments<T, D extends FirestoreDocument<T>>(documentAccessor: FirestoreDocumentAccessor<T, D>, count: number): D[];
|
|
5
5
|
export interface MakeDocumentsParams<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> {
|
|
6
6
|
count: number;
|
|
@@ -20,9 +20,9 @@ export interface MakeDocumentsParams<T, D extends FirestoreDocument<T> = Firesto
|
|
|
20
20
|
*/
|
|
21
21
|
export declare function makeDocuments<T, D extends FirestoreDocument<T>>(documentAccessor: FirestoreDocumentAccessor<T, D>, make: MakeDocumentsParams<T, D>): Promise<D[]>;
|
|
22
22
|
export declare function getDocumentSnapshots<T, D extends FirestoreDocument<T>>(documents: D[]): Promise<DocumentSnapshot<T>[]>;
|
|
23
|
-
export declare function loadDocumentsForSnapshots<T, D extends FirestoreDocument<T>>(accessor:
|
|
24
|
-
export declare function loadDocumentsForDocumentReferences<T, D extends FirestoreDocument<T>>(accessor:
|
|
25
|
-
export declare function loadDocumentsForValues<I, T, D extends FirestoreDocument<T>>(accessor:
|
|
23
|
+
export declare function loadDocumentsForSnapshots<T, D extends FirestoreDocument<T>>(accessor: LimitedFirestoreDocumentAccessor<T, D>, snapshots: QuerySnapshot<T>): D[];
|
|
24
|
+
export declare function loadDocumentsForDocumentReferences<T, D extends FirestoreDocument<T>>(accessor: LimitedFirestoreDocumentAccessor<T, D>, refs: DocumentReference<T>[]): D[];
|
|
25
|
+
export declare function loadDocumentsForValues<I, T, D extends FirestoreDocument<T>>(accessor: LimitedFirestoreDocumentAccessor<T, D>, values: I[], getRef: (value: I) => DocumentReference<T>): D[];
|
|
26
26
|
/**
|
|
27
27
|
* Used for loading documents for the input references.
|
|
28
28
|
*/
|
|
@@ -33,7 +33,7 @@ export declare type FirestoreDocumentLoader<T, D extends FirestoreDocument<T>> =
|
|
|
33
33
|
* @param accessorContext
|
|
34
34
|
* @returns
|
|
35
35
|
*/
|
|
36
|
-
export declare function firestoreDocumentLoader<T, D extends FirestoreDocument<T>>(accessorContext:
|
|
36
|
+
export declare function firestoreDocumentLoader<T, D extends FirestoreDocument<T>>(accessorContext: LimitedFirestoreDocumentAccessorContextExtension<T, D>): FirestoreDocumentLoader<T, D>;
|
|
37
37
|
/**
|
|
38
38
|
* Creates a DocumentDataWithId from the input DocumentSnapshot. If the data does not exist, returns undefined.
|
|
39
39
|
*
|
|
@@ -33,15 +33,15 @@ function getDocumentSnapshots(documents) {
|
|
|
33
33
|
}
|
|
34
34
|
exports.getDocumentSnapshots = getDocumentSnapshots;
|
|
35
35
|
function loadDocumentsForSnapshots(accessor, snapshots) {
|
|
36
|
-
return snapshots.docs.map(x => accessor.loadDocument(x.ref));
|
|
36
|
+
return snapshots.docs.map((x) => accessor.loadDocument(x.ref));
|
|
37
37
|
}
|
|
38
38
|
exports.loadDocumentsForSnapshots = loadDocumentsForSnapshots;
|
|
39
39
|
function loadDocumentsForDocumentReferences(accessor, refs) {
|
|
40
|
-
return refs.map(x => accessor.loadDocument(x));
|
|
40
|
+
return refs.map((x) => accessor.loadDocument(x));
|
|
41
41
|
}
|
|
42
42
|
exports.loadDocumentsForDocumentReferences = loadDocumentsForDocumentReferences;
|
|
43
43
|
function loadDocumentsForValues(accessor, values, getRef) {
|
|
44
|
-
return values.map(x => accessor.loadDocument(getRef(x)));
|
|
44
|
+
return values.map((x) => accessor.loadDocument(getRef(x)));
|
|
45
45
|
}
|
|
46
46
|
exports.loadDocumentsForValues = loadDocumentsForValues;
|
|
47
47
|
/**
|
|
@@ -52,7 +52,7 @@ exports.loadDocumentsForValues = loadDocumentsForValues;
|
|
|
52
52
|
*/
|
|
53
53
|
function firestoreDocumentLoader(accessorContext) {
|
|
54
54
|
return (references, transaction) => {
|
|
55
|
-
const accessor =
|
|
55
|
+
const accessor = transaction ? accessorContext.documentAccessorForTransaction(transaction) : accessorContext.documentAccessor();
|
|
56
56
|
return loadDocumentsForDocumentReferences(accessor, references);
|
|
57
57
|
};
|
|
58
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.utility.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/document.utility.ts"],"names":[],"mappings":";;;;AAAA,wCAAkF;AAIlF,SAAgB,YAAY,CAAoC,gBAAiD,EAAE,KAAa;IAC9H,OAAO,IAAA,gBAAS,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAC1E,CAAC;AAFD,oCAEC;AAYD;;;;;;GAMG;AACH,SAAgB,aAAa,CAAoC,gBAAiD,EAAE,IAA+B;IACjJ,OAAO,IAAA,sBAAe,EAAC;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,CAAO,CAAS,EAAE,EAAE;YACxB,MAAM,QAAQ,GAAM,gBAAgB,CAAC,WAAW,EAAE,CAAC;YACnD,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;AAdD,sCAcC;AAED,SAAgB,oBAAoB,CAAoC,SAAc;IACpF,OAAO,qBAAc,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9E,CAAC;AAFD,oDAEC;AAED,SAAgB,yBAAyB,CAAoC,
|
|
1
|
+
{"version":3,"file":"document.utility.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/document.utility.ts"],"names":[],"mappings":";;;;AAAA,wCAAkF;AAIlF,SAAgB,YAAY,CAAoC,gBAAiD,EAAE,KAAa;IAC9H,OAAO,IAAA,gBAAS,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAC1E,CAAC;AAFD,oCAEC;AAYD;;;;;;GAMG;AACH,SAAgB,aAAa,CAAoC,gBAAiD,EAAE,IAA+B;IACjJ,OAAO,IAAA,sBAAe,EAAC;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,CAAO,CAAS,EAAE,EAAE;YACxB,MAAM,QAAQ,GAAM,gBAAgB,CAAC,WAAW,EAAE,CAAC;YACnD,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;AAdD,sCAcC;AAED,SAAgB,oBAAoB,CAAoC,SAAc;IACpF,OAAO,qBAAc,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9E,CAAC;AAFD,oDAEC;AAED,SAAgB,yBAAyB,CAAoC,QAAgD,EAAE,SAA2B;IACxJ,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACjE,CAAC;AAFD,8DAEC;AAED,SAAgB,kCAAkC,CAAoC,QAAgD,EAAE,IAA4B;IAClK,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAFD,gFAEC;AAED,SAAgB,sBAAsB,CAAuC,QAAgD,EAAE,MAAW,EAAE,MAA0C;IACpL,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC;AAFD,wDAEC;AAOD;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAoC,eAAuE;IAChJ,OAAO,CAAC,UAAkC,EAAE,WAAyB,EAAE,EAAE;QACvE,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,8BAA8B,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;QAChI,OAAO,kCAAkC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC,CAAC;AACJ,CAAC;AALD,0DAKC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAI,QAA6B;IACjE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAA2B,CAAC;IAEtD,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,wBAAwB;KAChD;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AARD,gDAQC"}
|
|
@@ -1,27 +1,34 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { CollectionReferenceRef, FirestoreContextReference, QueryLikeReferenceRef } from '../reference';
|
|
2
|
+
import { FirestoreDocument, FirestoreDocumentAccessorFactory, FirestoreDocumentAccessorFactoryConfig, FirestoreDocumentAccessorForTransactionFactory, FirestoreDocumentAccessorForWriteBatchFactory, LimitedFirestoreDocumentAccessorFactory, LimitedFirestoreDocumentAccessorForTransactionFactory, LimitedFirestoreDocumentAccessorForWriteBatchFactory, LimitedFirestoreDocumentAccessor, FirestoreDocumentAccessor } from '../accessor/document';
|
|
3
|
+
import { FirestoreItemPageIterationBaseConfig, FirestoreItemPageIterationFactory } from '../query/iterator';
|
|
4
4
|
import { FirestoreQueryFactory } from '../query/query';
|
|
5
5
|
import { FirestoreDrivers } from '../driver/driver';
|
|
6
|
-
import { FirestoreCollectionQueryFactory } from
|
|
6
|
+
import { FirestoreCollectionQueryFactory } from './collection.query';
|
|
7
|
+
/**
|
|
8
|
+
* Instance that provides several accessors for accessing documents of a collection.
|
|
9
|
+
*/
|
|
10
|
+
export interface FirestoreCollectionLike<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, A extends LimitedFirestoreDocumentAccessor<T, D> = LimitedFirestoreDocumentAccessor<T, D>> extends FirestoreContextReference, QueryLikeReferenceRef<T>, FirestoreItemPageIterationFactory<T>, FirestoreQueryFactory<T>, LimitedFirestoreDocumentAccessorFactory<T, D, A>, LimitedFirestoreDocumentAccessorForTransactionFactory<T, D, A>, LimitedFirestoreDocumentAccessorForWriteBatchFactory<T, D, A>, FirestoreCollectionQueryFactory<T, D> {
|
|
11
|
+
}
|
|
7
12
|
/**
|
|
8
13
|
* FirestoreCollection configuration
|
|
9
14
|
*/
|
|
10
|
-
export interface FirestoreCollectionConfig<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends FirestoreContextReference, FirestoreDrivers, FirestoreItemPageIterationBaseConfig<T>, FirestoreDocumentAccessorFactoryConfig<T, D> {
|
|
15
|
+
export interface FirestoreCollectionConfig<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends FirestoreContextReference, FirestoreDrivers, Omit<FirestoreItemPageIterationBaseConfig<T>, 'queryLike'>, Partial<QueryLikeReferenceRef<T>>, FirestoreDocumentAccessorFactoryConfig<T, D> {
|
|
11
16
|
}
|
|
12
17
|
/**
|
|
13
|
-
* Instance that provides several accessors for accessing documents of a collection.
|
|
14
|
-
|
|
15
|
-
|
|
18
|
+
* Instance that provides several accessors for accessing documents of a collection.
|
|
19
|
+
*
|
|
20
|
+
* Provides a full FirestoreDocumentAccessor instead of limited accessors.
|
|
21
|
+
*/
|
|
22
|
+
export interface FirestoreCollection<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends FirestoreCollectionLike<T, D, FirestoreDocumentAccessor<T, D>>, CollectionReferenceRef<T>, FirestoreDocumentAccessorFactory<T, D>, FirestoreDocumentAccessorForTransactionFactory<T, D>, FirestoreDocumentAccessorForWriteBatchFactory<T, D> {
|
|
16
23
|
readonly config: FirestoreCollectionConfig<T, D>;
|
|
17
24
|
}
|
|
18
25
|
/**
|
|
19
|
-
* Ref to a FirestoreCollection
|
|
20
|
-
*/
|
|
26
|
+
* Ref to a FirestoreCollection
|
|
27
|
+
*/
|
|
21
28
|
export interface FirestoreCollectionRef<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> {
|
|
22
29
|
readonly firestoreCollection: FirestoreCollection<T, D>;
|
|
23
30
|
}
|
|
24
31
|
/**
|
|
25
|
-
* Creates a new FirestoreCollection from the input config.
|
|
26
|
-
*/
|
|
27
|
-
export declare function makeFirestoreCollection<T, D extends FirestoreDocument<T>>(
|
|
32
|
+
* Creates a new FirestoreCollection from the input config.
|
|
33
|
+
*/
|
|
34
|
+
export declare function makeFirestoreCollection<T, D extends FirestoreDocument<T>>(inputConfig: FirestoreCollectionConfig<T, D>): FirestoreCollection<T, D>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { FirestoreDocument, LimitedFirestoreDocumentAccessorFactoryConfig } from '../accessor/document';
|
|
2
|
+
import { FirestoreItemPageIterationBaseConfig } from '../query/iterator';
|
|
3
|
+
import { FirestoreContextReference } from '../reference';
|
|
4
|
+
import { FirestoreDrivers } from '../driver/driver';
|
|
5
|
+
import { FirestoreCollectionLike } from './collection';
|
|
6
|
+
/**
|
|
7
|
+
* FirestoreCollection configuration
|
|
8
|
+
*/
|
|
9
|
+
export interface FirestoreCollectionGroupConfig<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends FirestoreContextReference, FirestoreDrivers, FirestoreItemPageIterationBaseConfig<T>, LimitedFirestoreDocumentAccessorFactoryConfig<T, D> {
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Instance that provides several accessors for accessing documents of a collection.
|
|
13
|
+
*/
|
|
14
|
+
export interface FirestoreCollectionGroup<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends FirestoreCollectionLike<T, D> {
|
|
15
|
+
readonly config: FirestoreCollectionGroupConfig<T, D>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Creates a new FirestoreCollection from the input config.
|
|
19
|
+
*/
|
|
20
|
+
export declare function makeFirestoreCollectionGroup<T, D extends FirestoreDocument<T>>(config: FirestoreCollectionGroupConfig<T, D>): FirestoreCollectionGroup<T, D>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeFirestoreCollectionGroup = void 0;
|
|
4
|
+
const document_1 = require("../accessor/document");
|
|
5
|
+
const iterator_1 = require("../query/iterator");
|
|
6
|
+
const query_1 = require("../query/query");
|
|
7
|
+
const collection_query_1 = require("./collection.query");
|
|
8
|
+
/**
|
|
9
|
+
* Creates a new FirestoreCollection from the input config.
|
|
10
|
+
*/
|
|
11
|
+
function makeFirestoreCollectionGroup(config) {
|
|
12
|
+
const { queryLike, firestoreContext, firestoreAccessorDriver } = config;
|
|
13
|
+
const firestoreIteration = (0, iterator_1.firestoreItemPageIterationFactory)(config);
|
|
14
|
+
const documentAccessor = (0, document_1.limitedFirestoreDocumentAccessorFactory)(config);
|
|
15
|
+
const queryFactory = (0, query_1.firestoreQueryFactory)(config);
|
|
16
|
+
const documentAccessorExtension = (0, document_1.firestoreDocumentAccessorContextExtension)({ documentAccessor, firestoreAccessorDriver });
|
|
17
|
+
const { queryDocument } = (0, collection_query_1.firestoreCollectionQueryFactory)(queryFactory, documentAccessorExtension);
|
|
18
|
+
const { query } = queryFactory;
|
|
19
|
+
return Object.assign(Object.assign({ config,
|
|
20
|
+
queryLike,
|
|
21
|
+
firestoreContext }, documentAccessorExtension), { firestoreIteration,
|
|
22
|
+
query,
|
|
23
|
+
queryDocument });
|
|
24
|
+
}
|
|
25
|
+
exports.makeFirestoreCollectionGroup = makeFirestoreCollectionGroup;
|
|
26
|
+
// CollectionGroup does not have a CollectionReference, and this MIGHT be a problem, although I don't believe the CollectionReferenceRef types really expose the collection that much anywayss,
|
|
27
|
+
// and instead just use the Query more. Will need to refactor a bit to get closer. Also, FirestoreCollectionGroup will not have a DocumentAccessor, probably, as they are only for querying...
|
|
28
|
+
// so the option is either to refactor many types to work just off of Query instead of the CollectionReferenceRef, which might be fine, or the other is to make CollectionGroup a new specific type.
|
|
29
|
+
// It might end up being a mixture of the two as well. For instance, in dbx-firebase it may require using any found items to redirect them to their final area...
|
|
30
|
+
// alternatively, we also avoid considering the use of CollectionGroups, as their usage is strange anyways.
|
|
31
|
+
//# sourceMappingURL=collection.group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection.group.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/collection/collection.group.ts"],"names":[],"mappings":";;;AAAA,mDAA6O;AAC7O,gDAAuJ;AAEvJ,0CAA8E;AAE9E,yDAAqE;AAerE;;GAEG;AACH,SAAgB,4BAA4B,CAAoC,MAA4C;IAC1H,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,GAAG,MAAM,CAAC;IACxE,MAAM,kBAAkB,GAAiD,IAAA,4CAAiC,EAAC,MAAM,CAAC,CAAC;IACnH,MAAM,gBAAgB,GAA0D,IAAA,kDAAuC,EAAC,MAAM,CAAC,CAAC;IAChI,MAAM,YAAY,GAA6B,IAAA,6BAAqB,EAAC,MAAM,CAAC,CAAC;IAE7E,MAAM,yBAAyB,GAAG,IAAA,oDAAyC,EAAC,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAC3H,MAAM,EAAE,aAAa,EAAE,GAAG,IAAA,kDAA+B,EAAC,YAAY,EAAE,yBAAyB,CAAC,CAAC;IACnG,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC;IAE/B,qCACE,MAAM;QACN,SAAS;QACT,gBAAgB,IACb,yBAAyB,KAC5B,kBAAkB;QAClB,KAAK;QACL,aAAa,IACb;AACJ,CAAC;AAnBD,oEAmBC;AAED,+LAA+L;AAC/L,8LAA8L;AAE9L,oMAAoM;AACpM,iKAAiK;AAEjK,2GAA2G"}
|
|
@@ -6,10 +6,12 @@ const iterator_1 = require("../query/iterator");
|
|
|
6
6
|
const query_1 = require("../query/query");
|
|
7
7
|
const collection_query_1 = require("./collection.query");
|
|
8
8
|
/**
|
|
9
|
-
* Creates a new FirestoreCollection from the input config.
|
|
10
|
-
*/
|
|
11
|
-
function makeFirestoreCollection(
|
|
9
|
+
* Creates a new FirestoreCollection from the input config.
|
|
10
|
+
*/
|
|
11
|
+
function makeFirestoreCollection(inputConfig) {
|
|
12
|
+
const config = inputConfig;
|
|
12
13
|
const { collection, firestoreContext, firestoreAccessorDriver } = config;
|
|
14
|
+
config.queryLike = collection;
|
|
13
15
|
const firestoreIteration = (0, iterator_1.firestoreItemPageIterationFactory)(config);
|
|
14
16
|
const documentAccessor = (0, document_1.firestoreDocumentAccessorFactory)(config);
|
|
15
17
|
const queryFactory = (0, query_1.firestoreQueryFactory)(config);
|
|
@@ -17,8 +19,7 @@ function makeFirestoreCollection(config) {
|
|
|
17
19
|
const { queryDocument } = (0, collection_query_1.firestoreCollectionQueryFactory)(queryFactory, documentAccessorExtension);
|
|
18
20
|
const { query } = queryFactory;
|
|
19
21
|
return Object.assign(Object.assign({ config,
|
|
20
|
-
collection,
|
|
21
|
-
firestoreContext }, documentAccessorExtension), { firestoreIteration,
|
|
22
|
+
collection, queryLike: collection, firestoreContext }, documentAccessorExtension), { firestoreIteration,
|
|
22
23
|
query,
|
|
23
24
|
queryDocument });
|
|
24
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/collection/collection.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"collection.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/collection/collection.ts"],"names":[],"mappings":";;;AACA,mDAc8B;AAC9B,gDAA0L;AAC1L,0CAA8E;AAE9E,yDAAsG;AAuCtG;;GAEG;AACH,SAAgB,uBAAuB,CAAoC,WAA4C;IACrH,MAAM,MAAM,GAAG,WAAyE,CAAC;IAEzF,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,GAAG,MAAM,CAAC;IACxE,MAAwD,CAAC,SAAS,GAAG,UAAU,CAAC;IAEjF,MAAM,kBAAkB,GAAiD,IAAA,4CAAiC,EAAC,MAAM,CAAC,CAAC;IACnH,MAAM,gBAAgB,GAAmD,IAAA,2CAAgC,EAAC,MAAM,CAAC,CAAC;IAClH,MAAM,YAAY,GAA6B,IAAA,6BAAqB,EAAC,MAAM,CAAC,CAAC;IAE7E,MAAM,yBAAyB,GAAG,IAAA,oDAAyC,EAAC,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAC3H,MAAM,EAAE,aAAa,EAAE,GAAG,IAAA,kDAA+B,EAAC,YAAY,EAAE,yBAAyB,CAAC,CAAC;IACnG,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC;IAE/B,qCACE,MAAM;QACN,UAAU,EACV,SAAS,EAAE,UAAU,EACrB,gBAAgB,IACb,yBAAyB,KAC5B,kBAAkB;QAClB,KAAK;QACL,aAAa,IACb;AACJ,CAAC;AAxBD,0DAwBC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ArrayOrValue, Maybe } from
|
|
3
|
-
import { FirestoreDocument } from
|
|
4
|
-
import { FirestoreExecutableQuery, FirestoreQueryFactory } from
|
|
5
|
-
import { FirestoreQueryConstraint } from
|
|
6
|
-
import { Transaction } from
|
|
1
|
+
import { LimitedFirestoreDocumentAccessorContextExtension } from './../accessor/document';
|
|
2
|
+
import { ArrayOrValue, Maybe } from '@dereekb/util';
|
|
3
|
+
import { FirestoreDocument } from '../accessor/document';
|
|
4
|
+
import { FirestoreExecutableQuery, FirestoreQueryFactory } from '../query';
|
|
5
|
+
import { FirestoreQueryConstraint } from '../query/constraint';
|
|
6
|
+
import { Transaction } from '../types';
|
|
7
7
|
import { Observable } from 'rxjs';
|
|
8
8
|
export interface FirestoreCollectionExecutableDocumentQuery<T, D extends FirestoreDocument<T>> {
|
|
9
9
|
readonly baseQuery: FirestoreExecutableQuery<T>;
|
|
@@ -33,4 +33,4 @@ export declare type FirestoreCollectionQueryFactoryFunction<T, D extends Firesto
|
|
|
33
33
|
export interface FirestoreCollectionQueryFactory<T, D extends FirestoreDocument<T>> {
|
|
34
34
|
readonly queryDocument: FirestoreCollectionQueryFactoryFunction<T, D>;
|
|
35
35
|
}
|
|
36
|
-
export declare function firestoreCollectionQueryFactory<T, D extends FirestoreDocument<T>>(queryFactory: FirestoreQueryFactory<T>, accessorContext:
|
|
36
|
+
export declare function firestoreCollectionQueryFactory<T, D extends FirestoreDocument<T>>(queryFactory: FirestoreQueryFactory<T>, accessorContext: LimitedFirestoreDocumentAccessorContextExtension<T, D>): FirestoreCollectionQueryFactory<T, D>;
|
|
@@ -12,10 +12,10 @@ function firestoreCollectionQueryFactory(queryFactory, accessorContext) {
|
|
|
12
12
|
baseQuery,
|
|
13
13
|
getFirstDoc: (transaction) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
14
14
|
const result = yield baseQuery.getFirstDoc(transaction);
|
|
15
|
-
return
|
|
15
|
+
return result ? documentLoader([result.ref])[0] : undefined;
|
|
16
16
|
}),
|
|
17
|
-
getDocs: (transaction) => baseQuery.getDocs(transaction).then(x => documentLoader((0, query_1.documentReferencesFromSnapshot)(x))),
|
|
18
|
-
streamDocs: () => baseQuery.streamDocs().pipe((0, rxjs_1.map)(x => documentLoader((0, query_1.documentReferencesFromSnapshot)(x)))),
|
|
17
|
+
getDocs: (transaction) => baseQuery.getDocs(transaction).then((x) => documentLoader((0, query_1.documentReferencesFromSnapshot)(x))),
|
|
18
|
+
streamDocs: () => baseQuery.streamDocs().pipe((0, rxjs_1.map)((x) => documentLoader((0, query_1.documentReferencesFromSnapshot)(x)))),
|
|
19
19
|
filter: (...queryConstraints) => wrapQuery(baseQuery.filter(...queryConstraints))
|
|
20
20
|
};
|
|
21
21
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection.query.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/collection/collection.query.ts"],"names":[],"mappings":";;;;AAGA,oCAA2G;AAG3G,+BAAuC;AACvC,0CAAsD;AAiCtD,SAAgB,+BAA+B,CAAoC,YAAsC,EAAE,
|
|
1
|
+
{"version":3,"file":"collection.query.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/collection/collection.query.ts"],"names":[],"mappings":";;;;AAGA,oCAA2G;AAG3G,+BAAuC;AACvC,0CAAsD;AAiCtD,SAAgB,+BAA+B,CAAoC,YAAsC,EAAE,eAAuE;IAChM,MAAM,cAAc,GAAG,IAAA,kCAAuB,EAAC,eAAe,CAAC,CAAC;IAEhE,MAAM,SAAS,GAAiG,CAAC,SAAsC,EAAE,EAAE;QACzJ,OAAO;YACL,SAAS;YACT,WAAW,EAAE,CAAO,WAAyB,EAAE,EAAE;gBAC/C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;gBACxD,OAAO,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,CAAC,CAAA;YACD,OAAO,EAAE,CAAC,WAAyB,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,IAAA,sCAA8B,EAAC,CAAC,CAAC,CAAC,CAAC;YACrI,UAAU,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,IAAA,sCAA8B,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5G,MAAM,EAAE,CAAC,GAAG,gBAA0D,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC;SAC5H,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO;QACL,aAAa,EAAE,CAAC,GAAG,gBAA0D,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,CAAC;KACrI,CAAC;AACJ,CAAC;AAnBD,0EAmBC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./collection"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./collection.group"), exports);
|
|
5
6
|
tslib_1.__exportStar(require("./subcollection"), exports);
|
|
6
7
|
tslib_1.__exportStar(require("./subcollection.single"), exports);
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/collection/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B;AAC7B,0DAAgC;AAChC,iEAAuC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/collection/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B;AAC7B,6DAAmC;AACnC,0DAAgC;AAChC,iEAAuC"}
|
|
@@ -8,6 +8,7 @@ const collection_1 = require("./collection");
|
|
|
8
8
|
function makeFirestoreCollectionWithParent(config) {
|
|
9
9
|
const result = (0, collection_1.makeFirestoreCollection)(config);
|
|
10
10
|
result.parent = config.parent;
|
|
11
|
+
// todo: consider throwing an exception if parent is not provided.
|
|
11
12
|
return result;
|
|
12
13
|
}
|
|
13
14
|
exports.makeFirestoreCollectionWithParent = makeFirestoreCollectionWithParent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subcollection.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/collection/subcollection.ts"],"names":[],"mappings":";;;AACA,6CAAuG;
|
|
1
|
+
{"version":3,"file":"subcollection.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/collection/subcollection.ts"],"names":[],"mappings":";;;AACA,6CAAuG;AAyBvG;;GAEG;AACH,SAAgB,iCAAiC,CAAyH,MAAyD;IACjO,MAAM,MAAM,GAAG,IAAA,oCAAuB,EAAC,MAAM,CAA+C,CAAC;IAC7F,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9B,kEAAkE;IAClE,OAAO,MAAM,CAAC;AAChB,CAAC;AALD,8EAKC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FirestoreDocument, FirestoreSingleDocumentAccessor } from
|
|
1
|
+
import { FirestoreDocument, FirestoreSingleDocumentAccessor } from '../accessor/document';
|
|
2
2
|
import { FirestoreCollectionWithParent, FirestoreCollectionWithParentConfig } from './subcollection';
|
|
3
3
|
export interface SingleItemFirestoreCollectionConfig<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>> extends FirestoreCollectionWithParentConfig<T, PT, D, PD> {
|
|
4
4
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subcollection.single.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/collection/subcollection.single.ts"],"names":[],"mappings":";;;AAAA,mDAA2H;AAC3H,mDAAwI;
|
|
1
|
+
{"version":3,"file":"subcollection.single.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/collection/subcollection.single.ts"],"names":[],"mappings":";;;AAAA,mDAA2H;AAC3H,mDAAwI;AAcxI,SAAgB,iCAAiC,CAAyH,MAAyD;IACjO,MAAM,UAAU,GAAG,IAAA,iDAAiC,EAAC,MAAM,CAAC,CAAC;IAE7D,uBACE,UAAU,IACP,IAAA,0CAA+B,EAAC;QACjC,SAAS,EAAE,UAAU;QACrB,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;KAClD,CAAC,EACF;AACJ,CAAC;AAVD,8EAUC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { FirestoreDocument } from './accessor/document';
|
|
2
|
-
import { FirestoreCollection, FirestoreCollectionConfig, FirestoreCollectionWithParent, SingleItemFirestoreCollection } from
|
|
2
|
+
import { FirestoreCollection, FirestoreCollectionConfig, FirestoreCollectionWithParent, SingleItemFirestoreCollection, FirestoreCollectionGroup } from './collection';
|
|
3
3
|
import { FirestoreDrivers } from './driver/driver';
|
|
4
4
|
import { WriteBatchFactoryReference, RunTransactionFactoryReference } from './driver';
|
|
5
|
-
import { DocumentReference, CollectionReference, DocumentData, Firestore } from
|
|
5
|
+
import { DocumentReference, CollectionReference, DocumentData, Firestore, CollectionGroup } from './types';
|
|
6
|
+
import { QueryLikeReferenceRef } from './reference';
|
|
6
7
|
/**
|
|
7
8
|
* A @dereekb/firestore FirestoreContext. Wraps the main Firestore context and the drivers, as well as utility/convenience functions.
|
|
8
9
|
*/
|
|
@@ -10,13 +11,16 @@ export interface FirestoreContext<F extends Firestore = Firestore> extends RunTr
|
|
|
10
11
|
readonly firestore: F;
|
|
11
12
|
readonly drivers: FirestoreDrivers;
|
|
12
13
|
collection<T = DocumentData>(path: string, ...pathSegments: string[]): CollectionReference<T>;
|
|
14
|
+
collectionGroup<T = DocumentData>(collectionId: string): CollectionGroup<T>;
|
|
13
15
|
subcollection<T = DocumentData>(parent: DocumentReference, path: string, ...pathSegments: string[]): CollectionReference<T>;
|
|
14
16
|
firestoreCollection<T, D extends FirestoreDocument<T>>(config: FirestoreContextFirestoreCollectionConfig<T, D>): FirestoreCollection<T, D>;
|
|
17
|
+
firestoreCollectionGroup<T, D extends FirestoreDocument<T>>(config: FirestoreContextFirestoreCollectionGroupConfig<T, D>): FirestoreCollectionGroup<T, D>;
|
|
15
18
|
firestoreCollectionWithParent<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>>(config: FirestoreContextFirestoreCollectionWithParentConfig<T, PT, D, PD>): FirestoreCollectionWithParent<T, PT, D, PD>;
|
|
16
19
|
singleItemFirestoreCollection<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>>(config: FirestoreContextSingleItemFirestoreCollectionConfig<T, PT, D, PD>): SingleItemFirestoreCollection<T, PT, D, PD>;
|
|
17
20
|
}
|
|
18
21
|
export declare type FirestoreContextFirestoreCollectionConfig<T, D extends FirestoreDocument<T>> = Omit<FirestoreCollectionConfig<T, D>, 'driverIdentifier' | 'driverType' | 'firestoreQueryDriver' | 'firestoreAccessorDriver'>;
|
|
19
|
-
export
|
|
22
|
+
export declare type FirestoreContextFirestoreCollectionGroupConfig<T, D extends FirestoreDocument<T>> = Omit<FirestoreContextFirestoreCollectionConfig<T, D>, 'collection'> & QueryLikeReferenceRef<T>;
|
|
23
|
+
export interface FirestoreContextFirestoreCollectionWithParentConfig<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>> extends Omit<FirestoreContextFirestoreCollectionConfig<T, D>, 'queryLike'> {
|
|
20
24
|
readonly parent: PD;
|
|
21
25
|
}
|
|
22
26
|
export interface FirestoreContextSingleItemFirestoreCollectionConfig<T, PT, D extends FirestoreDocument<T> = FirestoreDocument<T>, PD extends FirestoreDocument<PT> = FirestoreDocument<PT>> extends FirestoreContextFirestoreCollectionWithParentConfig<T, PT, D, PD> {
|
|
@@ -10,16 +10,22 @@ const collection_1 = require("./collection");
|
|
|
10
10
|
*/
|
|
11
11
|
function firestoreContextFactory(drivers) {
|
|
12
12
|
return (firestore) => {
|
|
13
|
-
const makeFirestoreCollectionConfig = (config) =>
|
|
13
|
+
const makeFirestoreCollectionConfig = (config) => {
|
|
14
|
+
var _a;
|
|
15
|
+
return (Object.assign(Object.assign({}, config), { queryLike: (_a = config.collection) !== null && _a !== void 0 ? _a : config.queryLike, firestoreContext: context, driverIdentifier: drivers.driverIdentifier, driverType: drivers.driverType, firestoreQueryDriver: drivers.firestoreQueryDriver, firestoreAccessorDriver: drivers.firestoreAccessorDriver }));
|
|
16
|
+
};
|
|
14
17
|
const firestoreCollection = (config) => (0, collection_1.makeFirestoreCollection)(makeFirestoreCollectionConfig(config));
|
|
18
|
+
const firestoreCollectionGroup = (config) => (0, collection_1.makeFirestoreCollectionGroup)(makeFirestoreCollectionConfig(config));
|
|
15
19
|
const context = {
|
|
16
20
|
firestore,
|
|
17
21
|
drivers,
|
|
22
|
+
collectionGroup: (collectionId) => drivers.firestoreAccessorDriver.collectionGroup(firestore, collectionId),
|
|
18
23
|
collection: (path, ...pathSegments) => drivers.firestoreAccessorDriver.collection(firestore, path, ...pathSegments),
|
|
19
24
|
subcollection: drivers.firestoreAccessorDriver.subcollection,
|
|
20
25
|
runTransaction: drivers.firestoreAccessorDriver.transactionFactoryForFirestore(firestore),
|
|
21
26
|
batch: drivers.firestoreAccessorDriver.writeBatchFactoryForFirestore(firestore),
|
|
22
27
|
firestoreCollection,
|
|
28
|
+
firestoreCollectionGroup,
|
|
23
29
|
firestoreCollectionWithParent(inputConfig) {
|
|
24
30
|
const config = makeFirestoreCollectionConfig(inputConfig);
|
|
25
31
|
return (0, collection_1.makeFirestoreCollectionWithParent)(config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/common/firestore/context.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/common/firestore/context.ts"],"names":[],"mappings":";;;AACA,6CAA6W;AAqC7W;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAkC,OAAyB;IAChG,OAAO,CAAC,SAAY,EAAE,EAAE;QACtB,MAAM,6BAA6B,GAAG,CAAyH,MAAsP,EAAE,EAAE;;YAAC,OAAA,iCACrZ,MAAM,KACT,SAAS,EAAE,MAAC,MAA0D,CAAC,UAAU,mCAAK,MAA+D,CAAC,SAAS,EAC/J,gBAAgB,EAAE,OAAO,EACzB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAC1C,UAAU,EAAE,OAAO,CAAC,UAAU,EAC9B,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,EAClD,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,IACxD,CAAA;SAAA,CAAC;QAEH,MAAM,mBAAmB,GAAG,CAAoC,MAAuD,EAAE,EAAE,CAAC,IAAA,oCAAuB,EAAC,6BAA6B,CAAC,MAAM,CAAoC,CAAC,CAAC;QAC9N,MAAM,wBAAwB,GAAG,CAAoC,MAA4D,EAAE,EAAE,CAAC,IAAA,yCAA4B,EAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC,CAAC;QAE1M,MAAM,OAAO,GAAwB;YACnC,SAAS;YACT,OAAO;YACP,eAAe,EAAE,CAAC,YAAoB,EAAE,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,eAAe,CAAC,SAAS,EAAE,YAAY,CAAC;YACnH,UAAU,EAAE,CAAC,IAAY,EAAE,GAAG,YAAsB,EAAE,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC;YACrI,aAAa,EAAE,OAAO,CAAC,uBAAuB,CAAC,aAAa;YAC5D,cAAc,EAAE,OAAO,CAAC,uBAAuB,CAAC,8BAA8B,CAAC,SAAS,CAAC;YACzF,KAAK,EAAE,OAAO,CAAC,uBAAuB,CAAC,6BAA6B,CAAC,SAAS,CAAC;YAC/E,mBAAmB;YACnB,wBAAwB;YACxB,6BAA6B,CAAyH,WAA8D;gBAClN,MAAM,MAAM,GAAsD,6BAA6B,CAAC,WAAW,CAAsD,CAAC;gBAClK,OAAO,IAAA,8CAAiC,EAAC,MAAM,CAAC,CAAC;YACnD,CAAC;YACD,6BAA6B,CAAyH,WAA8E;gBAClO,MAAM,MAAM,GAAsD,6BAA6B,CAAC,WAAW,CAAsD,CAAC;gBAClK,OAAO,IAAA,8CAAiC,EAAC,MAAM,CAAC,CAAC;YACnD,CAAC;SACF,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;AACJ,CAAC;AArCD,0DAqCC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { DocumentData, CollectionReference, DocumentReference, Firestore } from '../types';
|
|
1
|
+
import { DocumentData, CollectionReference, CollectionGroup, DocumentReference, Firestore } from '../types';
|
|
2
2
|
import { DefaultFirestoreDocumentContextFactory } from '../accessor/context.default';
|
|
3
3
|
import { WriteBatchFirestoreDocumentContextFactory } from '../accessor/context.batch';
|
|
4
4
|
import { TransactionFirestoreDocumentContextFactory } from '../accessor/context.transaction';
|
|
5
5
|
import { FirestoreWriteBatchFactoryDriver } from './batch';
|
|
6
6
|
import { FirestoreTransactionFactoryDriver } from './transaction';
|
|
7
|
+
export declare type FirestoreAccessorDriverCollectionGroupFunction = <T = DocumentData>(firestore: Firestore, collectionId: string) => CollectionGroup<T>;
|
|
7
8
|
export declare type FirestoreAccessorDriverCollectionRefFunction = <T = DocumentData>(firestore: Firestore, path: string, ...pathSegments: string[]) => CollectionReference<T>;
|
|
8
9
|
export declare type FirestoreAccessorDriverSubcollectionRefFunction = <T = DocumentData>(document: DocumentReference, path: string, ...pathSegments: string[]) => CollectionReference<T>;
|
|
9
10
|
export declare type FirestoreAccessorDriverDocumentRefFunction = <T = DocumentData>(collection: CollectionReference<T>, path?: string, ...pathSegments: string[]) => DocumentReference<T>;
|
|
@@ -12,6 +13,7 @@ export declare type FirestoreAccessorDriverDocumentRefFunction = <T = DocumentDa
|
|
|
12
13
|
*/
|
|
13
14
|
export interface FirestoreAccessorDriver extends FirestoreTransactionFactoryDriver, FirestoreWriteBatchFactoryDriver {
|
|
14
15
|
readonly doc: FirestoreAccessorDriverDocumentRefFunction;
|
|
16
|
+
readonly collectionGroup: FirestoreAccessorDriverCollectionGroupFunction;
|
|
15
17
|
readonly collection: FirestoreAccessorDriverCollectionRefFunction;
|
|
16
18
|
readonly subcollection: FirestoreAccessorDriverSubcollectionRefFunction;
|
|
17
19
|
readonly defaultContextFactory: DefaultFirestoreDocumentContextFactory;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FirestoreAccessorDriverRef } from
|
|
2
|
-
import { FirestoreQueryDriverRef } from
|
|
1
|
+
import { FirestoreAccessorDriverRef } from './accessor';
|
|
2
|
+
import { FirestoreQueryDriverRef } from './query';
|
|
3
3
|
export declare type FirestoreDriverIdentifier = string;
|
|
4
4
|
export declare type FirestoreDriverType = 'production' | 'testing';
|
|
5
5
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SnapshotListenOptions, Transaction } from './../types';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
|
-
import { Query, QuerySnapshot } from
|
|
4
|
-
import { FirestoreQueryConstraint } from
|
|
3
|
+
import { Query, QuerySnapshot } from '../types';
|
|
4
|
+
import { FirestoreQueryConstraint } from '../query/constraint';
|
|
5
5
|
import { Maybe } from '@dereekb/util';
|
|
6
6
|
export declare type FirestoreQueryDriverQueryFunction = <T>(query: Query<T>, ...queryConstraints: FirestoreQueryConstraint[]) => Query<T>;
|
|
7
7
|
export interface FirestoreQueryConstraintFunctionsDriver {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Query } from '../types';
|
|
2
|
-
import { FirestoreQueryConstraintHandlerMap } from
|
|
2
|
+
import { FirestoreQueryConstraintHandlerMap } from '../query/constraint';
|
|
3
3
|
import { FirestoreQueryConstraintFunctionsDriver } from './query';
|
|
4
4
|
export interface MakeFirestoreQueryConstraintFunctionsDriver<B> {
|
|
5
5
|
mapping: FirestoreQueryConstraintHandlerMap<B>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.handler.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/driver/query.handler.ts"],"names":[],"mappings":";;;AAAA,wCAA4C;AAW5C,SAAgB,2CAA2C,CAAI,MAAsD;IACnH,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACxC,MAAM,cAAc,GAAG,IAAA,kBAAW,EAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,wBAAwB,GAAgB,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAsC,CAAI,KAAe,EAAE,GAAG,gBAA4C,EAAE,EAAE;QACvH,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAE1B,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAA2B,EAAE,EAAE;YACvD,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAE3C,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;aACpG;YAED,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"query.handler.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/driver/query.handler.ts"],"names":[],"mappings":";;;AAAA,wCAA4C;AAW5C,SAAgB,2CAA2C,CAAI,MAAsD;IACnH,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACxC,MAAM,cAAc,GAAG,IAAA,kBAAW,EAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,wBAAwB,GAAgB,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAsC,CAAI,KAAe,EAAE,GAAG,gBAA4C,EAAE,EAAE;QACvH,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAE1B,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAA2B,EAAE,EAAE;YACvD,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAE3C,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;aACpG;YAED,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,OAAO;QACL,wBAAwB;QACxB,KAAK;KACN,CAAC;AACJ,CAAC;AAxBD,kGAwBC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ItemAccumulatorInstance, ItemAccumulatorMapFunction, PageItemIteration } from
|
|
2
|
-
import { MapFunction } from
|
|
3
|
-
import { DocumentDataWithId, QueryDocumentSnapshotArray } from
|
|
4
|
-
import { FirestoreItemPageIterationInstance } from
|
|
1
|
+
import { ItemAccumulatorInstance, ItemAccumulatorMapFunction, PageItemIteration } from '@dereekb/rxjs';
|
|
2
|
+
import { MapFunction } from '@dereekb/util';
|
|
3
|
+
import { DocumentDataWithId, QueryDocumentSnapshotArray } from '../types';
|
|
4
|
+
import { FirestoreItemPageIterationInstance } from './iterator';
|
|
5
5
|
export declare type MappedFirebaseQuerySnapshotAccumulator<O, T> = ItemAccumulatorInstance<O, QueryDocumentSnapshotArray<T>, PageItemIteration<QueryDocumentSnapshotArray<T>>>;
|
|
6
6
|
export declare type FirebaseQuerySnapshotAccumulator<T> = MappedFirebaseQuerySnapshotAccumulator<QueryDocumentSnapshotArray<T>, T>;
|
|
7
7
|
/**
|
|
@@ -9,7 +9,7 @@ exports.firebaseQuerySnapshotAccumulator = firebaseQuerySnapshotAccumulator;
|
|
|
9
9
|
function firebaseQueryItemAccumulator(iteration, mapItem) {
|
|
10
10
|
mapItem = mapItem !== null && mapItem !== void 0 ? mapItem : ((x) => x);
|
|
11
11
|
const mapFn = (x) => {
|
|
12
|
-
const result = x.map(y => {
|
|
12
|
+
const result = x.map((y) => {
|
|
13
13
|
const data = y.data();
|
|
14
14
|
data.id = y.id;
|
|
15
15
|
return mapItem(data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accumulator.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/query/accumulator.ts"],"names":[],"mappings":";;;AAAA,wCAAwH;AAoBxH,SAAgB,gCAAgC,CAAO,SAAgD,EAAE,YAA2E;IAClL,OAAO,IAAA,sBAAe,EAAqF,SAAS,EAAE,YAAY,CAAC,CAAC;AACtI,CAAC;AAFD,4EAEC;AASD,SAAgB,4BAA4B,CAAO,SAAgD,EAAE,OAA+C;IAClJ,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAK,CAAC,CAAC,CAAwB,EAAE,EAAE,CAAC,CAAC,CAAsD,CAAC;IAE7G,MAAM,KAAK,GAAmE,CAAC,CAAgC,EAAE,EAAE;QACjH,MAAM,MAAM,GAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"accumulator.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/query/accumulator.ts"],"names":[],"mappings":";;;AAAA,wCAAwH;AAoBxH,SAAgB,gCAAgC,CAAO,SAAgD,EAAE,YAA2E;IAClL,OAAO,IAAA,sBAAe,EAAqF,SAAS,EAAE,YAAY,CAAC,CAAC;AACtI,CAAC;AAFD,4EAEC;AASD,SAAgB,4BAA4B,CAAO,SAAgD,EAAE,OAA+C;IAClJ,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAK,CAAC,CAAC,CAAwB,EAAE,EAAE,CAAC,CAAC,CAAsD,CAAC;IAE7G,MAAM,KAAK,GAAmE,CAAC,CAAgC,EAAE,EAAE;QACjH,MAAM,MAAM,GAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9B,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,EAA2B,CAAC;YAC/C,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;YACf,OAAQ,OAAiD,CAAC,IAAI,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO,gCAAgC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAC5D,CAAC;AAdD,oEAcC"}
|
|
@@ -109,7 +109,7 @@ export declare type FullFirestoreQueryConstraintMapping = {
|
|
|
109
109
|
export declare type FullFirestoreQueryConstraintHandlersMapping<B> = {
|
|
110
110
|
[K in keyof FullFirestoreQueryConstraintMapping]: Maybe<FirestoreQueryConstraintHandlerFunction<B, FullFirestoreQueryConstraintDataMapping[K]>>;
|
|
111
111
|
};
|
|
112
|
-
export declare function addOrReplaceLimitInConstraints(limit: number, addedLimitType?:
|
|
112
|
+
export declare function addOrReplaceLimitInConstraints(limit: number, addedLimitType?: typeof FIRESTORE_LIMIT_QUERY_CONSTRAINT_TYPE | typeof FIRESTORE_LIMIT_TO_LAST_QUERY_CONSTRAINT_TYPE): (constraints: FirestoreQueryConstraint[]) => FirestoreQueryConstraint[];
|
|
113
113
|
export declare type FirestoreQueryConstraintMapFunction = (constraints: FirestoreQueryConstraint[]) => FirestoreQueryConstraint[];
|
|
114
114
|
export declare function filterConstraintsOfType(...types: FirestoreQueryConstraintType[]): FirestoreQueryConstraintMapFunction;
|
|
115
115
|
export declare function replaceConstraints(replaceFn: (constraints: FirestoreQueryConstraint[]) => Maybe<ArrayOrValue<FirestoreQueryConstraint>>, types: FirestoreQueryConstraintType[]): (constraints: FirestoreQueryConstraint[]) => FirestoreQueryConstraint[];
|
|
@@ -110,7 +110,7 @@ function addOrReplaceLimitInConstraints(limit, addedLimitType = exports.FIRESTOR
|
|
|
110
110
|
exports.addOrReplaceLimitInConstraints = addOrReplaceLimitInConstraints;
|
|
111
111
|
function filterConstraintsOfType(...types) {
|
|
112
112
|
const typesToFilterOut = new Set(types);
|
|
113
|
-
return (constraints) => constraints.filter(x => !typesToFilterOut.has(x.type));
|
|
113
|
+
return (constraints) => constraints.filter((x) => !typesToFilterOut.has(x.type));
|
|
114
114
|
}
|
|
115
115
|
exports.filterConstraintsOfType = filterConstraintsOfType;
|
|
116
116
|
function replaceConstraints(replaceFn, types) {
|
|
@@ -118,7 +118,7 @@ function replaceConstraints(replaceFn, types) {
|
|
|
118
118
|
return (constraints) => {
|
|
119
119
|
const separated = separateFn(constraints);
|
|
120
120
|
const replacements = (0, util_1.asArray)(replaceFn(separated.excluded));
|
|
121
|
-
return
|
|
121
|
+
return replacements ? (0, util_1.mergeArrayOrValueIntoArray)(separated.included, replacements) : separated.included;
|
|
122
122
|
};
|
|
123
123
|
}
|
|
124
124
|
exports.replaceConstraints = replaceConstraints;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraint.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/query/constraint.ts"],"names":[],"mappings":";;;AAAA,wCAAuI;AAavI,SAAgB,wBAAwB,CAAc,IAAY,EAAE,IAAO;IACzE,OAAO;QACL,IAAI;QACJ,IAAI;KACL,CAAC;AACJ,CAAC;AALD,4DAKC;AAED,SAAgB,+BAA+B,CAAC,IAAY;IAC1D,OAAO,CAAI,IAAO,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC9D,CAAC;AAFD,0EAEC;AAED,cAAc;AACD,QAAA,qCAAqC,GAAG,OAAO,CAAC;AAM7D;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,KAAa;IACjC,OAAO,wBAAwB,CAAC,6CAAqC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AACpF,CAAC;AAFD,sBAEC;AAED,sBAAsB;AACT,QAAA,6CAA6C,GAAG,eAAe,CAAC;AAM7E;;;;GAIG;AACH,SAAgB,WAAW,CAAC,KAAa;IACvC,OAAO,wBAAwB,CAAC,qDAA6C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5F,CAAC;AAFD,kCAEC;AAED,eAAe;AACF,QAAA,sCAAsC,GAAG,QAAQ,CAAC;AAM/D,SAAgB,MAAM,CAAC,MAAc;IACnC,OAAO,wBAAwB,CAAC,8CAAsC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACtF,CAAC;AAFD,wBAEC;AAED,cAAc;AACD,QAAA,qCAAqC,GAAG,OAAO,CAAC;AAY7D,SAAgB,KAAK,CAAC,SAAkB,EAAE,KAAoB,EAAE,KAAc;IAC5E,OAAO,wBAAwB,CAAC,6CAAqC,EAAE,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"constraint.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/query/constraint.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { PageLoadingState, ItemPageIterator, ItemPageIterationInstance, ItemPageIterationConfig, ItemPageIteratorDelegate, MappedPageItemIterationInstance, ItemPageLimit } from '@dereekb/rxjs';
|
|
2
|
-
import { QueryDocumentSnapshotArray, QuerySnapshot, SnapshotListenOptions } from
|
|
2
|
+
import { QueryDocumentSnapshotArray, QuerySnapshot, SnapshotListenOptions } from '../types';
|
|
3
3
|
import { Maybe, ArrayOrValue } from '@dereekb/util';
|
|
4
|
-
import { Observable } from
|
|
5
|
-
import { CollectionReferenceRef } from '../reference';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
6
5
|
import { FirestoreQueryDriverRef } from '../driver/query';
|
|
7
6
|
import { FirestoreQueryConstraint } from './constraint';
|
|
7
|
+
import { QueryLikeReferenceRef } from '../reference';
|
|
8
8
|
export interface FirestoreItemPageIteratorFilter extends ItemPageLimit {
|
|
9
9
|
/**
|
|
10
10
|
* Overrides the default limit, if applicable.
|
|
@@ -15,7 +15,7 @@ export interface FirestoreItemPageIteratorFilter extends ItemPageLimit {
|
|
|
15
15
|
*/
|
|
16
16
|
constraints?: Maybe<ArrayOrValue<FirestoreQueryConstraint>>;
|
|
17
17
|
}
|
|
18
|
-
export interface FirestoreItemPageIterationBaseConfig<T> extends
|
|
18
|
+
export interface FirestoreItemPageIterationBaseConfig<T> extends QueryLikeReferenceRef<T>, FirestoreQueryDriverRef, ItemPageLimit {
|
|
19
19
|
itemsPerPage: number;
|
|
20
20
|
}
|
|
21
21
|
export interface FirestoreItemPageIterationConfig<T> extends FirestoreItemPageIterationBaseConfig<T>, ItemPageIterationConfig<FirestoreItemPageIteratorFilter> {
|