@dereekb/firebase 7.0.1 → 7.3.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 +31 -0
- package/package.json +6 -6
- package/src/lib/client/firestore/driver.query.js +1 -0
- package/src/lib/client/firestore/driver.query.js.map +1 -1
- package/src/lib/common/firestore/accessor/accessor.d.ts +1 -0
- package/src/lib/common/firestore/accessor/accessor.js.map +1 -1
- package/src/lib/common/firestore/accessor/accessor.wrap.d.ts +23 -0
- package/src/lib/common/firestore/accessor/accessor.wrap.js +43 -0
- package/src/lib/common/firestore/accessor/accessor.wrap.js.map +1 -0
- package/src/lib/common/firestore/accessor/accessor.wrap.modify.d.ts +56 -0
- package/src/lib/common/firestore/accessor/accessor.wrap.modify.js +95 -0
- package/src/lib/common/firestore/accessor/accessor.wrap.modify.js.map +1 -0
- package/src/lib/common/firestore/accessor/document.d.ts +31 -11
- package/src/lib/common/firestore/accessor/document.js +16 -11
- package/src/lib/common/firestore/accessor/document.js.map +1 -1
- package/src/lib/common/firestore/accessor/document.utility.d.ts +4 -0
- package/src/lib/common/firestore/accessor/document.utility.js +3 -1
- package/src/lib/common/firestore/accessor/document.utility.js.map +1 -1
- package/src/lib/common/firestore/accessor/index.d.ts +2 -0
- package/src/lib/common/firestore/accessor/index.js +2 -0
- package/src/lib/common/firestore/accessor/index.js.map +1 -1
- package/src/lib/common/firestore/collection/collection.d.ts +8 -8
- package/src/lib/common/firestore/collection/collection.js +2 -8
- package/src/lib/common/firestore/collection/collection.js.map +1 -1
- package/src/lib/common/firestore/collection/collection.key.d.ts +53 -0
- package/src/lib/common/firestore/collection/collection.key.js +3 -0
- package/src/lib/common/firestore/collection/collection.key.js.map +1 -0
- 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/query/constraint.d.ts +4 -0
- package/src/lib/common/firestore/query/constraint.js +8 -2
- package/src/lib/common/firestore/query/constraint.js.map +1 -1
- package/src/lib/common/firestore/snapshot/snapshot.d.ts +7 -4
- package/src/lib/common/firestore/snapshot/snapshot.field.d.ts +115 -5
- package/src/lib/common/firestore/snapshot/snapshot.field.js +147 -2
- package/src/lib/common/firestore/snapshot/snapshot.field.js.map +1 -1
- package/src/lib/common/firestore/snapshot/snapshot.js +2 -1
- package/src/lib/common/firestore/snapshot/snapshot.js.map +1 -1
- package/src/lib/common/firestore/types.d.ts +2 -2
- package/test/CHANGELOG.md +24 -0
- package/test/package.json +8 -8
- package/test/src/lib/common/firestore.mock.item.d.ts +66 -26
- package/test/src/lib/common/firestore.mock.item.fixture.d.ts +4 -2
- package/test/src/lib/common/firestore.mock.item.fixture.js +10 -4
- package/test/src/lib/common/firestore.mock.item.fixture.js.map +1 -1
- package/test/src/lib/common/firestore.mock.item.js +91 -29
- package/test/src/lib/common/firestore.mock.item.js.map +1 -1
- package/test/src/lib/common/firestore.mock.item.query.d.ts +1 -1
- package/test/src/lib/common/firestore.mock.item.query.js +3 -3
- package/test/src/lib/common/firestore.mock.item.service.d.ts +11 -6
- package/test/src/lib/common/firestore.mock.item.service.js +18 -6
- package/test/src/lib/common/firestore.mock.item.service.js.map +1 -1
- package/test/src/lib/common/test.driver.accessor.js +32 -7
- package/test/src/lib/common/test.driver.accessor.js.map +1 -1
- package/test/src/lib/common/test.driver.query.js +72 -3
- package/test/src/lib/common/test.driver.query.js.map +1 -1
|
@@ -17,18 +17,17 @@ export declare type FirestoreModelName = ModelTypeString;
|
|
|
17
17
|
* Each collection name in the app should be unique, as usage of CollectionGroups would cause collections with the same name to be returned.
|
|
18
18
|
*/
|
|
19
19
|
export declare type FirestoreCollectionName = string;
|
|
20
|
-
/**
|
|
21
|
-
* FirestoreCollectionName derived from a FirestoreModelName
|
|
22
|
-
*/
|
|
23
|
-
export declare type FirestoreModelCollectionName<M extends FirestoreModelName> = `${Lowercase<M>}`;
|
|
24
20
|
/**
|
|
25
21
|
* A firestore model's identity
|
|
26
22
|
*/
|
|
27
|
-
export declare type FirestoreModelIdentity<M extends FirestoreModelName = FirestoreModelName> = {
|
|
23
|
+
export declare type FirestoreModelIdentity<M extends FirestoreModelName = FirestoreModelName, C extends FirestoreCollectionName = FirestoreCollectionName> = {
|
|
28
24
|
readonly model: M;
|
|
29
|
-
readonly collection:
|
|
25
|
+
readonly collection: C;
|
|
30
26
|
};
|
|
31
|
-
|
|
27
|
+
/**
|
|
28
|
+
* A default collection name derived from the model name.
|
|
29
|
+
*/
|
|
30
|
+
export declare type FirestoreModelDefaultCollectionName<M extends FirestoreModelName> = `${Lowercase<M>}`;
|
|
32
31
|
export declare type FirestoreModelNames<I extends FirestoreModelIdentity> = I extends FirestoreModelIdentity<infer M> ? M : never;
|
|
33
32
|
/**
|
|
34
33
|
* Creates a FirestoreModelIdentity value.
|
|
@@ -36,7 +35,8 @@ export declare type FirestoreModelNames<I extends FirestoreModelIdentity> = I ex
|
|
|
36
35
|
* @param modelName
|
|
37
36
|
* @returns
|
|
38
37
|
*/
|
|
39
|
-
export declare function firestoreModelIdentity<M extends FirestoreModelName>(modelName: M): FirestoreModelIdentity<M
|
|
38
|
+
export declare function firestoreModelIdentity<M extends FirestoreModelName>(modelName: M): FirestoreModelIdentity<M, FirestoreModelDefaultCollectionName<M>>;
|
|
39
|
+
export declare function firestoreModelIdentity<M extends FirestoreModelName, C extends FirestoreCollectionName = FirestoreCollectionName>(modelName: M, collectionName: C): FirestoreModelIdentity<M, C>;
|
|
40
40
|
/**
|
|
41
41
|
* Reference to a FirestoreCollectionName
|
|
42
42
|
*/
|
|
@@ -5,15 +5,9 @@ const document_1 = require("../accessor/document");
|
|
|
5
5
|
const iterator_1 = require("../query/iterator");
|
|
6
6
|
const query_1 = require("../query/query");
|
|
7
7
|
const collection_query_1 = require("./collection.query");
|
|
8
|
-
|
|
9
|
-
* Creates a FirestoreModelIdentity value.
|
|
10
|
-
*
|
|
11
|
-
* @param modelName
|
|
12
|
-
* @returns
|
|
13
|
-
*/
|
|
14
|
-
function firestoreModelIdentity(modelName) {
|
|
8
|
+
function firestoreModelIdentity(modelName, collectionName) {
|
|
15
9
|
return {
|
|
16
|
-
collection: modelName.toLowerCase(),
|
|
10
|
+
collection: collectionName !== null && collectionName !== void 0 ? collectionName : modelName.toLowerCase(),
|
|
17
11
|
model: modelName
|
|
18
12
|
};
|
|
19
13
|
}
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;AAwCtG,SAAgB,sBAAsB,CAA4F,SAAY,EAAE,cAAkB;IAChK,OAAO;QACL,UAAU,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAK,SAAS,CAAC,WAAW,EAAQ;QAC5D,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC;AALD,wDAKC;AA6GD;;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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { GrantedRole } from '@dereekb/model';
|
|
2
|
+
import { FirebaseAuthUserId } from '../../auth';
|
|
3
|
+
import { FirestoreModelId, FirestoreModelKey } from './collection';
|
|
4
|
+
export declare type FirestoreModelKeyMap<T> = {
|
|
5
|
+
[key: FirestoreModelKey]: T;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Array of FirestoreModelKey values.
|
|
9
|
+
*/
|
|
10
|
+
export declare type FirestoreModelKeyArray = FirestoreModelKey[];
|
|
11
|
+
/**
|
|
12
|
+
* A map with a single GrantedRole provided for a given model.
|
|
13
|
+
*/
|
|
14
|
+
export declare type FirestoreModelKeyGrantedRoleMap<R extends GrantedRole> = {
|
|
15
|
+
[key: FirestoreModelKey]: R;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* A map with multiple GrantedRoles provided for a given model.
|
|
19
|
+
*/
|
|
20
|
+
export declare type FirestoreModelKeyGrantedRoleArrayMap<R extends GrantedRole> = {
|
|
21
|
+
[key: FirestoreModelKey]: R[];
|
|
22
|
+
};
|
|
23
|
+
export declare type FirestoreModelIdMap<T> = {
|
|
24
|
+
[key: FirestoreModelId]: T;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Array of FirestoreModelId values.
|
|
28
|
+
*/
|
|
29
|
+
export declare type FirestoreModelIdArray = FirestoreModelId[];
|
|
30
|
+
/**
|
|
31
|
+
* A map with a single GrantedRole provided for a given model.
|
|
32
|
+
*/
|
|
33
|
+
export declare type FirestoreModelIdGrantedRoleMap<R extends GrantedRole> = {
|
|
34
|
+
[key: FirestoreModelId]: R;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* A map with multiple GrantedRoles provided for a given model.
|
|
38
|
+
*/
|
|
39
|
+
export declare type FirestoreModelIdGrantedRoleArrayMap<R extends GrantedRole> = {
|
|
40
|
+
[key: FirestoreModelId]: R[];
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* A map with a single GrantedRole provided for a given user.
|
|
44
|
+
*/
|
|
45
|
+
export declare type FirebaseAuthUserGrantedRoleMap<R extends GrantedRole> = {
|
|
46
|
+
[key: FirebaseAuthUserId]: R;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* A map with multiple GrantedRoles provided for a given user.
|
|
50
|
+
*/
|
|
51
|
+
export declare type FirebaseAuthUserRoleArrayMap<R extends GrantedRole> = {
|
|
52
|
+
[key: FirestoreModelKey]: R[];
|
|
53
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection.key.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/collection/collection.key.ts"],"names":[],"mappings":""}
|
|
@@ -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.key"), exports);
|
|
5
6
|
tslib_1.__exportStar(require("./collection.group"), exports);
|
|
6
7
|
tslib_1.__exportStar(require("./subcollection"), exports);
|
|
7
8
|
tslib_1.__exportStar(require("./subcollection.single"), exports);
|
|
@@ -1 +1 @@
|
|
|
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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/collection/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B;AAC7B,2DAAiC;AACjC,6DAAmC;AACnC,0DAAgC;AAChC,iEAAuC"}
|
|
@@ -46,6 +46,9 @@ export interface WhereQueryConstraintData {
|
|
|
46
46
|
}
|
|
47
47
|
export declare function where<T>(fieldPath: keyof T, opStr: WhereFilterOp, value: unknown): FirestoreQueryConstraint<WhereQueryConstraintData>;
|
|
48
48
|
export declare function where(fieldPath: string | FieldPath, opStr: WhereFilterOp, value: unknown): FirestoreQueryConstraint<WhereQueryConstraintData>;
|
|
49
|
+
export declare const FIRESTORE_WHERE_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE = "where_doc_id";
|
|
50
|
+
export declare type WhereDocumentIdQueryConstraintData = Omit<WhereQueryConstraintData, 'fieldPath'>;
|
|
51
|
+
export declare function whereDocumentId(opStr: WhereFilterOp, value: unknown): FirestoreQueryConstraint<WhereDocumentIdQueryConstraintData>;
|
|
49
52
|
export declare const FIRESTORE_ORDER_BY_QUERY_CONSTRAINT_TYPE = "order_by";
|
|
50
53
|
export declare type OrderByDirection = SortingOrder;
|
|
51
54
|
export interface OrderByQueryConstraintData {
|
|
@@ -111,6 +114,7 @@ export declare type FullFirestoreQueryConstraintDataMapping = {
|
|
|
111
114
|
[FIRESTORE_LIMIT_QUERY_CONSTRAINT_TYPE]: LimitQueryConstraintData;
|
|
112
115
|
[FIRESTORE_LIMIT_TO_LAST_QUERY_CONSTRAINT_TYPE]: LimitToLastQueryConstraintData;
|
|
113
116
|
[FIRESTORE_WHERE_QUERY_CONSTRAINT_TYPE]: WhereQueryConstraintData;
|
|
117
|
+
[FIRESTORE_WHERE_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE]: WhereDocumentIdQueryConstraintData;
|
|
114
118
|
[FIRESTORE_OFFSET_QUERY_CONSTRAINT_TYPE]: OffsetQueryConstraintData;
|
|
115
119
|
[FIRESTORE_ORDER_BY_QUERY_CONSTRAINT_TYPE]: OrderByQueryConstraintData;
|
|
116
120
|
[FIRESTORE_ORDER_BY_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE]: OrderByDocumentIdQueryConstraintData;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.separateConstraints = exports.replaceConstraints = exports.filterConstraintsOfType = exports.addOrReplaceLimitInConstraints = exports.endBefore = exports.FIRESTORE_END_BEFORE_QUERY_CONSTRAINT_TYPE = exports.endAt = exports.endAtValue = exports.FIRESTORE_END_AT_VALUE_QUERY_CONSTRAINT_TYPE = exports.FIRESTORE_END_AT_QUERY_CONSTRAINT_TYPE = exports.startAfter = exports.FIRESTORE_START_AFTER_QUERY_CONSTRAINT_TYPE = exports.startAtValue = exports.FIRESTORE_START_AT_VALUE_QUERY_CONSTRAINT_TYPE = exports.startAt = exports.FIRESTORE_START_AT_QUERY_CONSTRAINT_TYPE = exports.orderByDocumentId = exports.FIRESTORE_ORDER_BY_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE = exports.orderBy = exports.FIRESTORE_ORDER_BY_QUERY_CONSTRAINT_TYPE = exports.where = exports.FIRESTORE_WHERE_QUERY_CONSTRAINT_TYPE = exports.offset = exports.FIRESTORE_OFFSET_QUERY_CONSTRAINT_TYPE = exports.limitToLast = exports.FIRESTORE_LIMIT_TO_LAST_QUERY_CONSTRAINT_TYPE = exports.limit = exports.FIRESTORE_LIMIT_QUERY_CONSTRAINT_TYPE = exports.firestoreQueryConstraintFactory = exports.firestoreQueryConstraint = void 0;
|
|
3
|
+
exports.separateConstraints = exports.replaceConstraints = exports.filterConstraintsOfType = exports.addOrReplaceLimitInConstraints = exports.endBefore = exports.FIRESTORE_END_BEFORE_QUERY_CONSTRAINT_TYPE = exports.endAt = exports.endAtValue = exports.FIRESTORE_END_AT_VALUE_QUERY_CONSTRAINT_TYPE = exports.FIRESTORE_END_AT_QUERY_CONSTRAINT_TYPE = exports.startAfter = exports.FIRESTORE_START_AFTER_QUERY_CONSTRAINT_TYPE = exports.startAtValue = exports.FIRESTORE_START_AT_VALUE_QUERY_CONSTRAINT_TYPE = exports.startAt = exports.FIRESTORE_START_AT_QUERY_CONSTRAINT_TYPE = exports.orderByDocumentId = exports.FIRESTORE_ORDER_BY_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE = exports.orderBy = exports.FIRESTORE_ORDER_BY_QUERY_CONSTRAINT_TYPE = exports.whereDocumentId = exports.FIRESTORE_WHERE_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE = exports.where = exports.FIRESTORE_WHERE_QUERY_CONSTRAINT_TYPE = exports.offset = exports.FIRESTORE_OFFSET_QUERY_CONSTRAINT_TYPE = exports.limitToLast = exports.FIRESTORE_LIMIT_TO_LAST_QUERY_CONSTRAINT_TYPE = exports.limit = exports.FIRESTORE_LIMIT_QUERY_CONSTRAINT_TYPE = exports.firestoreQueryConstraintFactory = exports.firestoreQueryConstraint = void 0;
|
|
4
4
|
const util_1 = require("@dereekb/util");
|
|
5
5
|
function firestoreQueryConstraint(type, data) {
|
|
6
6
|
return {
|
|
@@ -48,13 +48,19 @@ function where(fieldPath, opStr, value) {
|
|
|
48
48
|
return firestoreQueryConstraint(exports.FIRESTORE_WHERE_QUERY_CONSTRAINT_TYPE, { fieldPath: fieldPath, opStr, value });
|
|
49
49
|
}
|
|
50
50
|
exports.where = where;
|
|
51
|
+
// MARK: WhereDocumentId
|
|
52
|
+
exports.FIRESTORE_WHERE_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE = 'where_doc_id';
|
|
53
|
+
function whereDocumentId(opStr, value) {
|
|
54
|
+
return firestoreQueryConstraint(exports.FIRESTORE_WHERE_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE, { opStr, value });
|
|
55
|
+
}
|
|
56
|
+
exports.whereDocumentId = whereDocumentId;
|
|
51
57
|
// MARK: OrderBy
|
|
52
58
|
exports.FIRESTORE_ORDER_BY_QUERY_CONSTRAINT_TYPE = 'order_by';
|
|
53
59
|
function orderBy(fieldPath, directionStr) {
|
|
54
60
|
return firestoreQueryConstraint(exports.FIRESTORE_ORDER_BY_QUERY_CONSTRAINT_TYPE, { fieldPath: fieldPath, directionStr });
|
|
55
61
|
}
|
|
56
62
|
exports.orderBy = orderBy;
|
|
57
|
-
// MARK:
|
|
63
|
+
// MARK: OrderByDocumentId
|
|
58
64
|
exports.FIRESTORE_ORDER_BY_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE = 'order_by_doc_id';
|
|
59
65
|
function orderByDocumentId(directionStr) {
|
|
60
66
|
return firestoreQueryConstraint(exports.FIRESTORE_ORDER_BY_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE, { directionStr });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraint.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/query/constraint.ts"],"names":[],"mappings":";;;AACA,wCAA8J;AAa9J,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,EAAE,SAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3H,CAAC;AAFD,sBAEC;AAED,gBAAgB;AACH,QAAA,wCAAwC,GAAG,UAAU,CAAC;AAWnE,SAAgB,OAAO,CAAa,SAA6D,EAAE,YAA+B;IAChI,OAAO,wBAAwB,CAAC,gDAAwC,EAAE,EAAE,SAAS,EAAE,SAAkC,EAAE,YAAY,EAAE,CAAC,CAAC;AAC7I,CAAC;AAFD,0BAEC;AAED,
|
|
1
|
+
{"version":3,"file":"constraint.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/query/constraint.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MaybeMap, ModelFieldConversions, ApplyMapFunctionWithOptions, ModelFieldConversionsConfig, TypedMappedModelData } from '@dereekb/util';
|
|
1
|
+
import { MaybeMap, ModelFieldConversions, ApplyMapFunctionWithOptions, ModelFieldConversionsConfig, TypedMappedModelData, ArrayOrValue, PartialModelModifier } from '@dereekb/util';
|
|
2
2
|
import { SnapshotOptions, SetOptions, DocumentSnapshot, FirestoreDataConverter } from '../types';
|
|
3
3
|
/**
|
|
4
4
|
* The default "empty" value in the Firestore.
|
|
@@ -46,12 +46,15 @@ export declare type ExpectedFirestoreModelData<T extends object, R extends objec
|
|
|
46
46
|
*/
|
|
47
47
|
export declare type FirestoreModelData<T extends object, R extends object = object> = Partial<ExpectedFirestoreModelData<T, MaybeMap<R>>>;
|
|
48
48
|
export declare type SnapshotConverterConfigWithFields<T extends object, O extends object = FirestoreModelData<T>> = {
|
|
49
|
-
fields: ModelFieldConversionsConfig<T, O>;
|
|
49
|
+
readonly fields: ModelFieldConversionsConfig<T, O>;
|
|
50
50
|
};
|
|
51
51
|
export declare type SnapshotConverterConfigWithConversions<T extends object, O extends object = FirestoreModelData<T>> = {
|
|
52
|
-
fieldConversions: ModelFieldConversions<T, O>;
|
|
52
|
+
readonly fieldConversions: ModelFieldConversions<T, O>;
|
|
53
|
+
};
|
|
54
|
+
export declare type SnapshotConverterModifier<T extends object, O extends object = FirestoreModelData<T>> = PartialModelModifier<T, O>;
|
|
55
|
+
export declare type SnapshotConverterConfig<T extends object, O extends object = FirestoreModelData<T>> = (SnapshotConverterConfigWithFields<T, O> | SnapshotConverterConfigWithConversions<T, O>) & {
|
|
56
|
+
readonly modifiers?: ArrayOrValue<SnapshotConverterModifier<T, O>>;
|
|
53
57
|
};
|
|
54
|
-
export declare type SnapshotConverterConfig<T extends object, O extends object = FirestoreModelData<T>> = SnapshotConverterConfigWithFields<T, O> | SnapshotConverterConfigWithConversions<T, O>;
|
|
55
58
|
export interface SnapshotConverterFunctions<T extends object, O extends object = FirestoreModelData<T>> extends FirestoreDataConverter<T, O> {
|
|
56
59
|
from: SnapshotConverterFromFunction<T, O>;
|
|
57
60
|
to: SnapshotConverterToFunction<T, O>;
|
|
@@ -1,21 +1,25 @@
|
|
|
1
|
-
import { ModelFieldMapFunctionsConfig, GetterOrValue, Maybe, ModelFieldMapConvertFunction } from '@dereekb/util';
|
|
1
|
+
import { ModelFieldMapFunctionsConfig, GetterOrValue, Maybe, ModelFieldMapConvertFunction, PrimativeKey, ReadKeyFunction, ModelFieldMapFunctionsWithDefaultsConfig, FindUniqueFunction, FindUniqueStringsTransformConfig, MapFunction, FilterKeyValueTuplesInput } from '@dereekb/util';
|
|
2
2
|
export interface BaseFirestoreFieldConfig<V, D = unknown> {
|
|
3
3
|
fromData: ModelFieldMapConvertFunction<D, V>;
|
|
4
4
|
toData: ModelFieldMapConvertFunction<V, D>;
|
|
5
5
|
defaultBeforeSave?: GetterOrValue<D | null>;
|
|
6
6
|
}
|
|
7
|
-
export interface
|
|
7
|
+
export interface FirestoreFieldDefault<V> {
|
|
8
8
|
default: GetterOrValue<V>;
|
|
9
9
|
}
|
|
10
|
-
export interface
|
|
10
|
+
export interface FirestoreFieldDefaultData<D = unknown> {
|
|
11
11
|
defaultData: GetterOrValue<D>;
|
|
12
12
|
}
|
|
13
|
+
export interface FirestoreFieldConfigWithDefault<V, D = unknown> extends BaseFirestoreFieldConfig<V, D>, FirestoreFieldDefault<V> {
|
|
14
|
+
}
|
|
15
|
+
export interface FirestoreFieldConfigWithDefaultData<V, D = unknown> extends BaseFirestoreFieldConfig<V, D>, FirestoreFieldDefaultData<D> {
|
|
16
|
+
}
|
|
13
17
|
export declare type FirestoreFieldConfig<V, D = unknown> = FirestoreFieldConfigWithDefault<V, D> | FirestoreFieldConfigWithDefaultData<V, D>;
|
|
14
18
|
/**
|
|
15
19
|
* All firebase ModelFieldMapFunctionsConfig are configured to handle the read field value as null/undefined. This implies that
|
|
16
20
|
* by design, the firebase database documents do not need to be fully intact for the system to handle them properly.
|
|
17
21
|
*/
|
|
18
|
-
export declare type FirestoreModelFieldMapFunctionsConfig<V, D> =
|
|
22
|
+
export declare type FirestoreModelFieldMapFunctionsConfig<V, D> = ModelFieldMapFunctionsWithDefaultsConfig<V, Maybe<D>>;
|
|
19
23
|
export declare function firestoreField<V, D = unknown>(config: FirestoreFieldConfig<V, D>): FirestoreModelFieldMapFunctionsConfig<V, D>;
|
|
20
24
|
export declare const FIRESTORE_PASSTHROUGH_FIELD: FirestoreModelFieldMapFunctionsConfig<unknown, unknown>;
|
|
21
25
|
export declare function firestorePassThroughField<T>(): ModelFieldMapFunctionsConfig<T, T>;
|
|
@@ -25,7 +29,7 @@ export declare type MapConfiguredFirestoreFieldConfig<V, D = unknown> = MapConfi
|
|
|
25
29
|
export declare type DefaultMapConfiguredFirestoreFieldConfig<V, D = unknown> = Omit<FirestoreFieldConfigWithDefault<V, D>, 'fromData' | 'toData' | 'default'> & Partial<Pick<FirestoreFieldConfigWithDefault<V, D>, 'default'>>;
|
|
26
30
|
export declare type OptionalMapConfiguredFirestoreFieldConfig<V, D = unknown> = Omit<BaseFirestoreFieldConfig<V, D>, 'fromData' | 'toData' | 'defaultBeforeSave'>;
|
|
27
31
|
export declare type FirestoreStringConfig = DefaultMapConfiguredFirestoreFieldConfig<string, string>;
|
|
28
|
-
export declare function firestoreString(config
|
|
32
|
+
export declare function firestoreString(config?: FirestoreStringConfig): FirestoreModelFieldMapFunctionsConfig<string, string>;
|
|
29
33
|
export declare function optionalFirestoreString(): ModelFieldMapFunctionsConfig<Maybe<string>, Maybe<string>>;
|
|
30
34
|
export declare function firestoreUID(): FirestoreModelFieldMapFunctionsConfig<string, string>;
|
|
31
35
|
export declare function optionalFirestoreUID(): ModelFieldMapFunctionsConfig<Maybe<string>, Maybe<string>>;
|
|
@@ -40,3 +44,109 @@ export declare function optionalFirestoreBoolean(): ModelFieldMapFunctionsConfig
|
|
|
40
44
|
export declare type FirestoreNumberFieldConfig = MapConfiguredFirestoreFieldConfigWithDefault<number, number>;
|
|
41
45
|
export declare function firestoreNumber(config: FirestoreNumberFieldConfig): FirestoreModelFieldMapFunctionsConfig<number, number>;
|
|
42
46
|
export declare function optionalFirestoreNumber(): ModelFieldMapFunctionsConfig<Maybe<number>, Maybe<number>>;
|
|
47
|
+
export declare type FirestoreArrayFieldConfig<T> = DefaultMapConfiguredFirestoreFieldConfig<T[], T[]> & Partial<FirestoreFieldDefault<T[]>>;
|
|
48
|
+
export declare function firestoreArray<T>(config: FirestoreArrayFieldConfig<T>): FirestoreModelFieldMapFunctionsConfig<T[], T[]>;
|
|
49
|
+
export declare function optionalFirestoreArray<T>(): ModelFieldMapFunctionsConfig<Maybe<T[]>, Maybe<T[]>>;
|
|
50
|
+
export declare type FirestoreUniqueArrayFieldConfig<T> = FirestoreArrayFieldConfig<T> & {
|
|
51
|
+
readonly findUnique: FindUniqueFunction<T>;
|
|
52
|
+
};
|
|
53
|
+
export declare function firestoreUniqueArray<T>(config: FirestoreUniqueArrayFieldConfig<T>): FirestoreModelFieldMapFunctionsConfig<T[], T[]>;
|
|
54
|
+
export declare type FirestoreUniqueKeyedArrayFieldConfig<T, K extends PrimativeKey = PrimativeKey> = FirestoreArrayFieldConfig<T> & {
|
|
55
|
+
readonly readKey: ReadKeyFunction<T, K>;
|
|
56
|
+
};
|
|
57
|
+
export declare function firestoreUniqueKeyedArray<T, K extends PrimativeKey = PrimativeKey>(config: FirestoreUniqueKeyedArrayFieldConfig<T, K>): FirestoreModelFieldMapFunctionsConfig<T[], T[]>;
|
|
58
|
+
export declare type FirestoreUniqueStringArrayFieldConfig = Omit<FirestoreUniqueArrayFieldConfig<string>, 'findUnique'> & FindUniqueStringsTransformConfig;
|
|
59
|
+
export declare function firestoreUniqueStringArray(config: FirestoreUniqueStringArrayFieldConfig): FirestoreModelFieldMapFunctionsConfig<string[], string[]>;
|
|
60
|
+
/**
|
|
61
|
+
* FirestoreField configuration for an array of ModelKey values.
|
|
62
|
+
*
|
|
63
|
+
* @returns
|
|
64
|
+
*/
|
|
65
|
+
export declare function firestoreModelKeyArray(): FirestoreModelFieldMapFunctionsConfig<string[], string[]>;
|
|
66
|
+
/**
|
|
67
|
+
* FirestoreField configuration for an array of ModelId values.
|
|
68
|
+
*
|
|
69
|
+
* @returns
|
|
70
|
+
*/
|
|
71
|
+
export declare const firestoreModelIdArray: typeof firestoreModelKeyArray;
|
|
72
|
+
export declare type FirestoreEncodedArrayFieldConfig<T, E extends string | number> = DefaultMapConfiguredFirestoreFieldConfig<T[], E[]> & {
|
|
73
|
+
readonly convert: {
|
|
74
|
+
fromData: MapFunction<E, T>;
|
|
75
|
+
toData: MapFunction<T, E>;
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* A Firestore array that encodes values to either string or number values using another FirestoreModelField config for encoding/decoding.
|
|
80
|
+
*
|
|
81
|
+
* @param config
|
|
82
|
+
* @returns
|
|
83
|
+
*/
|
|
84
|
+
export declare function firestoreEncodedArray<T, E extends string | number>(config: FirestoreEncodedArrayFieldConfig<T, E>): FirestoreModelFieldMapFunctionsConfig<T[], E[]>;
|
|
85
|
+
/**
|
|
86
|
+
* Firestore/JSON maps only have string keys.
|
|
87
|
+
*/
|
|
88
|
+
export declare type FirestoreMapFieldType<T, K extends string = string> = Record<K, T>;
|
|
89
|
+
export declare type FirestoreMapFieldConfig<T, K extends string = string> = DefaultMapConfiguredFirestoreFieldConfig<FirestoreMapFieldType<T, K>, FirestoreMapFieldType<T, K>> & Partial<FirestoreFieldDefault<FirestoreMapFieldType<T, K>>> & {
|
|
90
|
+
/**
|
|
91
|
+
* Optional filter to apply when saving to data.
|
|
92
|
+
*
|
|
93
|
+
* By default will filter all null/undefined values from maps.
|
|
94
|
+
*/
|
|
95
|
+
mapFilter?: FilterKeyValueTuplesInput<FirestoreMapFieldType<K>>;
|
|
96
|
+
/**
|
|
97
|
+
* Optional map function to apply to each input value before
|
|
98
|
+
*/
|
|
99
|
+
mapFieldValues?: MapFunction<Maybe<T>, Maybe<T>>;
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* FirestoreField configuration for a map-type object.
|
|
103
|
+
*
|
|
104
|
+
* By default it will remove all null/undefined keys from objects before saving.
|
|
105
|
+
*
|
|
106
|
+
* @param config
|
|
107
|
+
* @returns
|
|
108
|
+
*/
|
|
109
|
+
export declare function firestoreMap<T, K extends string = string>(config?: FirestoreMapFieldConfig<T, K>): FirestoreModelFieldMapFunctionsConfig<FirestoreMapFieldType<T, K>, FirestoreMapFieldType<T, K>>;
|
|
110
|
+
/**
|
|
111
|
+
* FirestoreField configuration for a map of granted roles, keyed by model keys.
|
|
112
|
+
*
|
|
113
|
+
* Filters out models with no/null roles by default.
|
|
114
|
+
*/
|
|
115
|
+
export declare function firestoreModelKeyGrantedRoleMap(): FirestoreModelFieldMapFunctionsConfig<FirestoreMapFieldType<string, string>, FirestoreMapFieldType<string, string>>;
|
|
116
|
+
/**
|
|
117
|
+
* FirestoreField configuration for a map of granted roles, keyed by model ids.
|
|
118
|
+
*
|
|
119
|
+
* Filters out models with no/null roles by default.
|
|
120
|
+
*/
|
|
121
|
+
export declare const firestoreModelIdGrantedRoleMap: typeof firestoreModelKeyGrantedRoleMap;
|
|
122
|
+
/**
|
|
123
|
+
* FirestoreField configuration for a map-type object with array values.
|
|
124
|
+
*
|
|
125
|
+
* @param config
|
|
126
|
+
* @returns
|
|
127
|
+
*/
|
|
128
|
+
export declare type FirestoreArrayMapFieldType<T, K extends string = string> = FirestoreMapFieldType<T[], K>;
|
|
129
|
+
export declare type FirestoreArrayMapFieldConfig<T, K extends string = string> = FirestoreMapFieldConfig<T[], K>;
|
|
130
|
+
export declare function firestoreArrayMap<T, K extends string = string>(config?: FirestoreArrayMapFieldConfig<T, K>): FirestoreModelFieldMapFunctionsConfig<FirestoreMapFieldType<T[], K>, FirestoreMapFieldType<T[], K>>;
|
|
131
|
+
/**
|
|
132
|
+
* FirestoreField configuration for a map of granted roles, keyed by models keys.
|
|
133
|
+
*
|
|
134
|
+
* Filters empty roles/arrays by default.
|
|
135
|
+
*/
|
|
136
|
+
export declare function firestoreModelKeyGrantedRoleArrayMap(): FirestoreModelFieldMapFunctionsConfig<FirestoreMapFieldType<string[], string>, FirestoreMapFieldType<string[], string>>;
|
|
137
|
+
/**
|
|
138
|
+
* FirestoreField configuration for a map of granted roles, keyed by models ids.
|
|
139
|
+
*
|
|
140
|
+
* Filters empty roles/arrays by default.
|
|
141
|
+
*/
|
|
142
|
+
export declare const firestoreModelIdGrantedRoleArrayMap: typeof firestoreModelKeyGrantedRoleArrayMap;
|
|
143
|
+
export declare type FirestoreSetFieldConfig<T extends string | number> = DefaultMapConfiguredFirestoreFieldConfig<Set<T>, T[]>;
|
|
144
|
+
/**
|
|
145
|
+
* Do not use.
|
|
146
|
+
*
|
|
147
|
+
* @deprecated should retrieve/store the data as a POJO array and not use class types like this.
|
|
148
|
+
*
|
|
149
|
+
* @param config
|
|
150
|
+
* @returns
|
|
151
|
+
*/
|
|
152
|
+
export declare function firestoreSet<T extends string | number>(config: FirestoreSetFieldConfig<T>): FirestoreModelFieldMapFunctionsConfig<Set<T>, T[]>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.optionalFirestoreNumber = exports.firestoreNumber = exports.optionalFirestoreBoolean = exports.firestoreBoolean = exports.optionalFirestoreDate = exports.firestoreDate = exports.optionalFirestoreUID = exports.firestoreUID = exports.optionalFirestoreString = exports.firestoreString = exports.firestorePassThroughField = exports.FIRESTORE_PASSTHROUGH_FIELD = exports.firestoreField = void 0;
|
|
3
|
+
exports.firestoreSet = exports.firestoreModelIdGrantedRoleArrayMap = exports.firestoreModelKeyGrantedRoleArrayMap = exports.firestoreArrayMap = exports.firestoreModelIdGrantedRoleMap = exports.firestoreModelKeyGrantedRoleMap = exports.firestoreMap = exports.firestoreEncodedArray = exports.firestoreModelIdArray = exports.firestoreModelKeyArray = exports.firestoreUniqueStringArray = exports.firestoreUniqueKeyedArray = exports.firestoreUniqueArray = exports.optionalFirestoreArray = exports.firestoreArray = exports.optionalFirestoreNumber = exports.firestoreNumber = exports.optionalFirestoreBoolean = exports.firestoreBoolean = exports.optionalFirestoreDate = exports.firestoreDate = exports.optionalFirestoreUID = exports.firestoreUID = exports.optionalFirestoreString = exports.firestoreString = exports.firestorePassThroughField = exports.FIRESTORE_PASSTHROUGH_FIELD = exports.firestoreField = void 0;
|
|
4
4
|
const date_1 = require("@dereekb/date");
|
|
5
5
|
const util_1 = require("@dereekb/util");
|
|
6
6
|
const snapshot_1 = require("./snapshot");
|
|
@@ -17,7 +17,7 @@ function firestoreField(config) {
|
|
|
17
17
|
convert: config.fromData
|
|
18
18
|
},
|
|
19
19
|
to: {
|
|
20
|
-
default: (_a = config.defaultBeforeSave) !== null && _a !== void 0 ? _a : snapshot_1.FIRESTORE_EMPTY_VALUE,
|
|
20
|
+
default: ((_a = config.defaultBeforeSave) !== null && _a !== void 0 ? _a : snapshot_1.FIRESTORE_EMPTY_VALUE),
|
|
21
21
|
convert: config.toData
|
|
22
22
|
}
|
|
23
23
|
};
|
|
@@ -92,4 +92,149 @@ function optionalFirestoreNumber() {
|
|
|
92
92
|
return firestorePassThroughField();
|
|
93
93
|
}
|
|
94
94
|
exports.optionalFirestoreNumber = optionalFirestoreNumber;
|
|
95
|
+
function firestoreArray(config) {
|
|
96
|
+
var _a;
|
|
97
|
+
return firestoreField({
|
|
98
|
+
default: (_a = config.default) !== null && _a !== void 0 ? _a : [],
|
|
99
|
+
fromData: util_1.passThrough,
|
|
100
|
+
toData: util_1.passThrough
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
exports.firestoreArray = firestoreArray;
|
|
104
|
+
function optionalFirestoreArray() {
|
|
105
|
+
return firestorePassThroughField();
|
|
106
|
+
}
|
|
107
|
+
exports.optionalFirestoreArray = optionalFirestoreArray;
|
|
108
|
+
function firestoreUniqueArray(config) {
|
|
109
|
+
var _a;
|
|
110
|
+
const { findUnique } = config;
|
|
111
|
+
return firestoreField({
|
|
112
|
+
default: (_a = config.default) !== null && _a !== void 0 ? _a : [],
|
|
113
|
+
fromData: findUnique,
|
|
114
|
+
toData: findUnique
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
exports.firestoreUniqueArray = firestoreUniqueArray;
|
|
118
|
+
function firestoreUniqueKeyedArray(config) {
|
|
119
|
+
return firestoreUniqueArray(Object.assign(Object.assign({}, config), { findUnique: (0, util_1.makeFindUniqueFunction)(config.readKey) }));
|
|
120
|
+
}
|
|
121
|
+
exports.firestoreUniqueKeyedArray = firestoreUniqueKeyedArray;
|
|
122
|
+
function firestoreUniqueStringArray(config) {
|
|
123
|
+
const findUnique = (0, util_1.findUniqueTransform)(config);
|
|
124
|
+
return firestoreUniqueArray(Object.assign(Object.assign({}, config), { findUnique }));
|
|
125
|
+
}
|
|
126
|
+
exports.firestoreUniqueStringArray = firestoreUniqueStringArray;
|
|
127
|
+
/**
|
|
128
|
+
* FirestoreField configuration for an array of ModelKey values.
|
|
129
|
+
*
|
|
130
|
+
* @returns
|
|
131
|
+
*/
|
|
132
|
+
function firestoreModelKeyArray() {
|
|
133
|
+
// firestore model key paths are case-sensitive, so don't transform them.
|
|
134
|
+
return firestoreUniqueStringArray({});
|
|
135
|
+
}
|
|
136
|
+
exports.firestoreModelKeyArray = firestoreModelKeyArray;
|
|
137
|
+
/**
|
|
138
|
+
* FirestoreField configuration for an array of ModelId values.
|
|
139
|
+
*
|
|
140
|
+
* @returns
|
|
141
|
+
*/
|
|
142
|
+
exports.firestoreModelIdArray = firestoreModelKeyArray;
|
|
143
|
+
/**
|
|
144
|
+
* A Firestore array that encodes values to either string or number values using another FirestoreModelField config for encoding/decoding.
|
|
145
|
+
*
|
|
146
|
+
* @param config
|
|
147
|
+
* @returns
|
|
148
|
+
*/
|
|
149
|
+
function firestoreEncodedArray(config) {
|
|
150
|
+
var _a;
|
|
151
|
+
const { fromData, toData } = config.convert;
|
|
152
|
+
return firestoreField({
|
|
153
|
+
default: (_a = config.default) !== null && _a !== void 0 ? _a : [],
|
|
154
|
+
fromData: (input) => input.map(fromData),
|
|
155
|
+
toData: (input) => (0, util_1.filterMaybeValues)(input.map(toData))
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
exports.firestoreEncodedArray = firestoreEncodedArray;
|
|
159
|
+
/**
|
|
160
|
+
* FirestoreField configuration for a map-type object.
|
|
161
|
+
*
|
|
162
|
+
* By default it will remove all null/undefined keys from objects before saving.
|
|
163
|
+
*
|
|
164
|
+
* @param config
|
|
165
|
+
* @returns
|
|
166
|
+
*/
|
|
167
|
+
function firestoreMap(config = {}) {
|
|
168
|
+
var _a;
|
|
169
|
+
const { mapFilter: filter = util_1.KeyValueTypleValueFilter.NULL, mapFieldValues } = config;
|
|
170
|
+
const filterFinalMapValuesFn = (0, util_1.filterFromPOJOFunction)({
|
|
171
|
+
copy: false,
|
|
172
|
+
filter
|
|
173
|
+
});
|
|
174
|
+
const makeCopy = (mapFieldValues ? (0, util_1.mapObjectMapFunction)(mapFieldValues) : util_1.copyObject);
|
|
175
|
+
return firestoreField({
|
|
176
|
+
default: (_a = config.default) !== null && _a !== void 0 ? _a : {},
|
|
177
|
+
fromData: util_1.passThrough,
|
|
178
|
+
toData: (model) => {
|
|
179
|
+
const copy = makeCopy(model);
|
|
180
|
+
return filterFinalMapValuesFn(copy);
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
exports.firestoreMap = firestoreMap;
|
|
185
|
+
/**
|
|
186
|
+
* FirestoreField configuration for a map of granted roles, keyed by model keys.
|
|
187
|
+
*
|
|
188
|
+
* Filters out models with no/null roles by default.
|
|
189
|
+
*/
|
|
190
|
+
function firestoreModelKeyGrantedRoleMap() {
|
|
191
|
+
return firestoreMap({
|
|
192
|
+
mapFilter: util_1.KeyValueTypleValueFilter.EMPTY
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
exports.firestoreModelKeyGrantedRoleMap = firestoreModelKeyGrantedRoleMap;
|
|
196
|
+
/**
|
|
197
|
+
* FirestoreField configuration for a map of granted roles, keyed by model ids.
|
|
198
|
+
*
|
|
199
|
+
* Filters out models with no/null roles by default.
|
|
200
|
+
*/
|
|
201
|
+
exports.firestoreModelIdGrantedRoleMap = firestoreModelKeyGrantedRoleMap;
|
|
202
|
+
function firestoreArrayMap(config = {}) {
|
|
203
|
+
return firestoreMap(Object.assign({ mapFilter: util_1.KeyValueTypleValueFilter.EMPTY, mapFieldValues: util_1.filterMaybeValues }, config));
|
|
204
|
+
}
|
|
205
|
+
exports.firestoreArrayMap = firestoreArrayMap;
|
|
206
|
+
/**
|
|
207
|
+
* FirestoreField configuration for a map of granted roles, keyed by models keys.
|
|
208
|
+
*
|
|
209
|
+
* Filters empty roles/arrays by default.
|
|
210
|
+
*/
|
|
211
|
+
function firestoreModelKeyGrantedRoleArrayMap() {
|
|
212
|
+
return firestoreArrayMap({
|
|
213
|
+
mapFieldValues: util_1.filterEmptyValues
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
exports.firestoreModelKeyGrantedRoleArrayMap = firestoreModelKeyGrantedRoleArrayMap;
|
|
217
|
+
/**
|
|
218
|
+
* FirestoreField configuration for a map of granted roles, keyed by models ids.
|
|
219
|
+
*
|
|
220
|
+
* Filters empty roles/arrays by default.
|
|
221
|
+
*/
|
|
222
|
+
exports.firestoreModelIdGrantedRoleArrayMap = firestoreModelKeyGrantedRoleArrayMap;
|
|
223
|
+
/**
|
|
224
|
+
* Do not use.
|
|
225
|
+
*
|
|
226
|
+
* @deprecated should retrieve/store the data as a POJO array and not use class types like this.
|
|
227
|
+
*
|
|
228
|
+
* @param config
|
|
229
|
+
* @returns
|
|
230
|
+
*/
|
|
231
|
+
function firestoreSet(config) {
|
|
232
|
+
var _a;
|
|
233
|
+
return firestoreField({
|
|
234
|
+
default: (_a = config.default) !== null && _a !== void 0 ? _a : (() => new Set()),
|
|
235
|
+
fromData: (data) => new Set(data),
|
|
236
|
+
toData: (set) => Array.from(set)
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
exports.firestoreSet = firestoreSet;
|
|
95
240
|
//# sourceMappingURL=snapshot.field.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.field.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/snapshot/snapshot.field.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"snapshot.field.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/snapshot/snapshot.field.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,8 @@ exports.FIRESTORE_EMPTY_VALUE = null;
|
|
|
11
11
|
function snapshotConverterFunctions(config) {
|
|
12
12
|
var _a;
|
|
13
13
|
const conversions = (_a = config.fieldConversions) !== null && _a !== void 0 ? _a : (0, util_1.modelFieldConversions)(config.fields);
|
|
14
|
-
const
|
|
14
|
+
const mapFunctions = (0, util_1.makeModelMapFunctions)(conversions);
|
|
15
|
+
const { from: fromData, to: toData } = config.modifiers ? (0, util_1.modifyModelMapFunctions)({ mapFunctions, modifiers: config.modifiers }) : mapFunctions;
|
|
15
16
|
const from = (input, target) => {
|
|
16
17
|
const data = input.data();
|
|
17
18
|
return fromData(data, target);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/snapshot/snapshot.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/snapshot/snapshot.ts"],"names":[],"mappings":";;;AAAA,wCAA0R;AAC1R,oCAAsM;AAEtM,aAAa;AACb;;GAEG;AACU,QAAA,qBAAqB,GAAG,IAAI,CAAC;AAqE1C,SAAgB,0BAA0B,CAA6D,MAAqC;;IAC1I,MAAM,WAAW,GAAgC,MAAC,MAAuD,CAAC,gBAAgB,mCAAI,IAAA,4BAAqB,EAAQ,MAAkD,CAAC,MAAM,CAAC,CAAC;IACtN,MAAM,YAAY,GAAG,IAAA,4BAAqB,EAAO,WAAW,CAAC,CAAC;IAC9D,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,8BAAuB,EAAC,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IAEhJ,MAAM,IAAI,GAAwC,CAAC,KAAuB,EAAE,MAA0B,EAAE,EAAE;QACxG,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1B,OAAO,QAAQ,CAAC,IAAS,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,MAAM,EAAE,GAAsC,CAAC,KAAQ,EAAE,MAA0B,EAAE,OAA2B,EAAE,EAAE;QAClH,IAAI,SAA2C,CAAC;QAEhD,IAAI,OAAO,EAAE;YACX,MAAM,WAAW,GAAI,OAAiC,CAAC,WAAW,CAAC;YAEnE,IAAK,OAA2B,CAAC,KAAK,EAAE;gBACtC,SAAS,GAAG;oBACV,WAAW,EAAE,IAAI;iBAClB,CAAC;aACH;YAED,IAAI,WAAW,EAAE;gBACf,SAAS,mCACJ,SAAS,KACZ,MAAM,EAAE,IAAA,4BAAoB,EAAC,WAAW,CAAgB,GACzD,CAAC;aACH;SACF;QAED,OAAO,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,OAAO;QACL,IAAI;QACJ,EAAE;QACF,aAAa,EAAE,CAAC,QAA6B,EAAE,OAAyB,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC;QAC/G,WAAW,EAAE,CAAC,WAAyD,EAAE,OAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,WAAgB,EAAE,SAAS,EAAE,OAAO,CAAC;KAC3I,CAAC;AACJ,CAAC;AAvCD,gEAuCC"}
|
|
@@ -62,10 +62,10 @@ export interface DocumentSnapshot<T = DocumentData> {
|
|
|
62
62
|
}
|
|
63
63
|
export declare type SetOptions = SetOptionsMerge | SetOptionsMergeFields;
|
|
64
64
|
export interface SetOptionsMerge {
|
|
65
|
-
readonly merge
|
|
65
|
+
readonly merge: boolean | undefined;
|
|
66
66
|
}
|
|
67
67
|
export interface SetOptionsMergeFields {
|
|
68
|
-
readonly mergeFields
|
|
68
|
+
readonly mergeFields: Array<string | FieldPath>;
|
|
69
69
|
}
|
|
70
70
|
export interface SnapshotOptions {
|
|
71
71
|
readonly serverTimestamps?: 'estimate' | 'previous' | 'none';
|