@dereekb/firebase 8.13.2 → 8.13.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/package.json +6 -6
- 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.modify.d.ts +8 -1
- package/src/lib/common/firestore/accessor/accessor.wrap.modify.js +19 -1
- package/src/lib/common/firestore/accessor/accessor.wrap.modify.js.map +1 -1
- package/src/lib/common/firestore/accessor/document.utility.d.ts +13 -8
- package/src/lib/common/firestore/accessor/document.utility.js +6 -2
- package/src/lib/common/firestore/accessor/document.utility.js.map +1 -1
- package/src/lib/common/firestore/query/constraint.d.ts +16 -4
- package/src/lib/common/firestore/query/constraint.js +16 -1
- package/src/lib/common/firestore/query/constraint.js.map +1 -1
- package/src/lib/common/firestore/query/constraint.template.d.ts +61 -3
- package/src/lib/common/firestore/query/constraint.template.js +28 -3
- package/src/lib/common/firestore/query/constraint.template.js.map +1 -1
- package/src/lib/common/firestore/snapshot/snapshot.field.d.ts +4 -2
- package/src/lib/common/firestore/snapshot/snapshot.field.js +6 -2
- package/src/lib/common/firestore/snapshot/snapshot.field.js.map +1 -1
- package/test/CHANGELOG.md +17 -0
- package/test/package.json +8 -8
- package/test/src/lib/common/firestore/test.driver.accessor.js +57 -0
- package/test/src/lib/common/firestore/test.driver.accessor.js.map +1 -1
- package/test/src/lib/common/firestore/test.driver.query.js +184 -6
- package/test/src/lib/common/firestore/test.driver.query.js.map +1 -1
- package/test/src/lib/common/mock/mock.item.d.ts +8 -0
- package/test/src/lib/common/mock/mock.item.js +2 -0
- package/test/src/lib/common/mock/mock.item.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [8.13.5](https://github.com/dereekb/dbx-components/compare/v8.13.4-dev...v8.13.5) (2022-07-29)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## [8.13.4](https://github.com/dereekb/dbx-components/compare/v8.13.3-dev...v8.13.4) (2022-07-23)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* fixed ModifyBeforeSetFirestoreDocumentDataAccessorWrapper ([68b5fff](https://github.com/dereekb/dbx-components/commit/68b5fff454b8e30b838702c6747ed217937cf2ff))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## [8.13.3](https://github.com/dereekb/dbx-components/compare/v8.13.2-dev...v8.13.3) (2022-07-21)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
5
22
|
## [8.13.2](https://github.com/dereekb/dbx-components/compare/v8.13.1-dev...v8.13.2) (2022-07-20)
|
|
6
23
|
|
|
7
24
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase",
|
|
3
|
-
"version": "8.13.
|
|
3
|
+
"version": "8.13.5",
|
|
4
4
|
"devDependencies": {
|
|
5
5
|
"@firebase/rules-unit-testing": "^2.0.0"
|
|
6
6
|
},
|
|
@@ -20,19 +20,19 @@
|
|
|
20
20
|
"typings": "./src/index.d.ts",
|
|
21
21
|
"dependencies": {},
|
|
22
22
|
"peerDependencies": {
|
|
23
|
-
"@dereekb/util": "8.13.
|
|
23
|
+
"@dereekb/util": "8.13.5",
|
|
24
24
|
"make-error": "^1.3.0",
|
|
25
25
|
"ts-essentials": "^9.1.2",
|
|
26
26
|
"extra-set": "^2.2.11",
|
|
27
27
|
"rxjs": "^7.0.0",
|
|
28
28
|
"firebase": "^9.8.0",
|
|
29
|
-
"@dereekb/rxjs": "8.13.
|
|
29
|
+
"@dereekb/rxjs": "8.13.5",
|
|
30
30
|
"ms": "^3.0.0-canary.1",
|
|
31
|
-
"@dereekb/model": "8.13.
|
|
31
|
+
"@dereekb/model": "8.13.5",
|
|
32
32
|
"class-transformer": "^0.5.1",
|
|
33
33
|
"class-validator": "^0.13.2",
|
|
34
|
-
"@dereekb/date": "8.13.
|
|
35
|
-
"date-fns": "^2.
|
|
34
|
+
"@dereekb/date": "8.13.5",
|
|
35
|
+
"date-fns": "^2.29.0",
|
|
36
36
|
"date-fns-tz": "^1.3.0",
|
|
37
37
|
"rrule": "git+https://git@github.com/dereekb/rrule#2b13b1ea881059ba2ecfec380e12ef244ef54570",
|
|
38
38
|
"tslib": "^2.0.0"
|
|
@@ -56,6 +56,7 @@ export interface FirestoreDocumentDataAccessor<T, D = DocumentData> extends Docu
|
|
|
56
56
|
*/
|
|
57
57
|
update(data: UpdateData<D>, params?: FirestoreDocumentUpdateParams): Promise<WriteResult | void>;
|
|
58
58
|
}
|
|
59
|
+
export declare type FirestoreDocumentDataAccessorCreateFunction<T> = (data: WithFieldValue<T>) => Promise<void | WriteResult>;
|
|
59
60
|
export declare type FirestoreDocumentDataAccessorSetFunction<T> = (data: PartialWithFieldValue<T> | WithFieldValue<T>, options?: SetOptions) => Promise<void | WriteResult>;
|
|
60
61
|
/**
|
|
61
62
|
* Contextual interface used for making a FirestoreDocumentModifier for a specific document.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessor.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/accessor.ts"],"names":[],"mappings":";;;;AAAA,wCAA4C;AAC5C,wCAA8E;AAE9E,+BAAyD;
|
|
1
|
+
{"version":3,"file":"accessor.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/accessor.ts"],"names":[],"mappings":";;;;AAAA,wCAA4C;AAC5C,wCAA8E;AAE9E,+BAAyD;AA2EzD,gBAAgB;AAChB;;;;;;;;GAQG;AACH,SAAgB,sBAAsB,CAAI,MAAuC,EAAE,OAAyB;IAC1G,OAAO,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,IAAA,kBAAW,GAAE,CAAC,CAAC;AAClE,CAAC;AAFD,wDAEC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAI,OAAyB;IAC9D,OAAO,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACrC,CAAC;AAFD,kDAEC;AAeD;;;;;GAKG;AACH,SAAgB,6BAA6B,CAAI,QAA0C;IACzF,OAAO,CAAC,IAAgB,EAAE,EAAE;QAC1B,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACvC,IAAI,MAAM,EAAE;gBACV,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aACpD;iBAAM;gBACL,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAyB,CAAC,CAAC;aAChD;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAVD,sEAUC;AAYD;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAI,QAA0C;IACjF,OAAO,CAAO,IAAgB,EAAE,WAAqB,EAAE,EAAE;QACvD,MAAM,MAAM,GAAY,WAAW,IAAI,CAAC,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAEjE,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,CAAC,WAAW,CAAC,IAAI,mBAAmB,CAAC,CAAC;SACzE;QAED,MAAM,MAAM,GAAG,IAAA,4BAAqB,EAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAA,CAAC;AACJ,CAAC;AAXD,sDAWC;AAaD;;;;;;GAMG;AACH,SAAgB,4CAA4C,CAAI,QAA0C,EAAE,SAAoC;IAC9I,OAAO,CAAO,IAAgB,EAAE,MAAsC,EAAE,EAAE;QACxE,MAAM,WAAW,GAAG,IAAA,4BAAqB,EAAC,IAAI,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,sBAAsB;QAE9F,cAAc;QACd,IAAI,CAAC,IAAA,sBAAe,EAAC,UAAU,CAAC,EAAE;YAChC,OAAO,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;SAC3F;IACH,CAAC,CAAA,CAAC;AACJ,CAAC;AAVD,oGAUC"}
|
|
@@ -4,7 +4,14 @@ import { DocumentReferenceRef } from '../reference';
|
|
|
4
4
|
import { DocumentData, SetOptions } from '../types';
|
|
5
5
|
import { FirestoreDocumentDataAccessor, FirestoreDocumentDataAccessorSetFunction } from './accessor';
|
|
6
6
|
import { AbstractFirestoreDocumentDataAccessorWrapper, InterceptAccessorFactoryFunction } from './accessor.wrap';
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Data accessor modes.
|
|
9
|
+
* - always: Always modifies on update, set, or create.
|
|
10
|
+
* - update: Only modifies when calling set with options
|
|
11
|
+
* - set: Only modifies when calling create or set without options
|
|
12
|
+
* - create: Only modifies on create calls
|
|
13
|
+
*/
|
|
14
|
+
export declare type ModifyBeforeSetFistoreDataAccessorMode = 'always' | 'update' | 'set' | 'create';
|
|
8
15
|
/**
|
|
9
16
|
* Input fora ModifyBeforeSetFirestoreDocumentDataAccessorWrapper
|
|
10
17
|
*/
|
|
@@ -13,7 +13,7 @@ class ModifyBeforeSetFirestoreDocumentDataAccessorWrapper extends accessor_wrap_
|
|
|
13
13
|
const when = config.when;
|
|
14
14
|
this.modifier = (0, util_1.mergeModifiers)((0, util_1.asArray)(config.modifier));
|
|
15
15
|
let setFn;
|
|
16
|
-
const
|
|
16
|
+
const modifyData = (data, options) => {
|
|
17
17
|
const copy = Object.assign({}, data);
|
|
18
18
|
const input = {
|
|
19
19
|
data: copy,
|
|
@@ -21,11 +21,17 @@ class ModifyBeforeSetFirestoreDocumentDataAccessorWrapper extends accessor_wrap_
|
|
|
21
21
|
options
|
|
22
22
|
};
|
|
23
23
|
this.modifier(input);
|
|
24
|
+
return input;
|
|
25
|
+
};
|
|
26
|
+
const modifyAndSet = (data, options) => {
|
|
27
|
+
const input = modifyData(data, options);
|
|
24
28
|
return super.set(input.data, options);
|
|
25
29
|
};
|
|
30
|
+
let applyToCreateFunction = false;
|
|
26
31
|
switch (when) {
|
|
27
32
|
case 'always':
|
|
28
33
|
setFn = modifyAndSet;
|
|
34
|
+
applyToCreateFunction = true;
|
|
29
35
|
break;
|
|
30
36
|
case 'set':
|
|
31
37
|
setFn = (data, options) => {
|
|
@@ -37,6 +43,7 @@ class ModifyBeforeSetFirestoreDocumentDataAccessorWrapper extends accessor_wrap_
|
|
|
37
43
|
return super.set(data, options);
|
|
38
44
|
}
|
|
39
45
|
};
|
|
46
|
+
applyToCreateFunction = true;
|
|
40
47
|
break;
|
|
41
48
|
case 'update':
|
|
42
49
|
setFn = (data, options) => {
|
|
@@ -49,8 +56,19 @@ class ModifyBeforeSetFirestoreDocumentDataAccessorWrapper extends accessor_wrap_
|
|
|
49
56
|
}
|
|
50
57
|
};
|
|
51
58
|
break;
|
|
59
|
+
case 'create':
|
|
60
|
+
setFn = (data, options) => super.set(data, options);
|
|
61
|
+
applyToCreateFunction = true;
|
|
62
|
+
break;
|
|
52
63
|
}
|
|
53
64
|
this.set = setFn;
|
|
65
|
+
if (applyToCreateFunction) {
|
|
66
|
+
const modifyAndCreate = (data) => {
|
|
67
|
+
const input = modifyData(data);
|
|
68
|
+
return super.create(input.data);
|
|
69
|
+
};
|
|
70
|
+
this.create = modifyAndCreate;
|
|
71
|
+
}
|
|
54
72
|
}
|
|
55
73
|
}
|
|
56
74
|
exports.ModifyBeforeSetFirestoreDocumentDataAccessorWrapper = ModifyBeforeSetFirestoreDocumentDataAccessorWrapper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessor.wrap.modify.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/accessor.wrap.modify.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"accessor.wrap.modify.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/accessor.wrap.modify.ts"],"names":[],"mappings":";;;AAAA,wCAA6G;AAK7G,mDAAmJ;AAuCnJ;;GAEG;AACH,MAAa,mDAAwF,SAAQ,4DAAkD;IAI7J,YAAY,QAA6C,EAAW,MAAgC;QAClG,KAAK,CAAC,QAAQ,CAAC,CAAC;QADkD,WAAM,GAAN,MAAM,CAA0B;QAElG,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAA,qBAAc,EAAC,IAAA,cAAO,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEzD,IAAI,KAAkD,CAAC;QAEvD,MAAM,UAAU,GAAG,CAAC,IAAkD,EAAE,OAAoB,EAAE,EAAE;YAC9F,MAAM,IAAI,qBAAQ,IAAI,CAAE,CAAC;YACzB,MAAM,KAAK,GAA+C;gBACxD,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,OAAO;aACR,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,MAAM,YAAY,GAAgD,CAAC,IAAkD,EAAE,OAAoB,EAAE,EAAE;YAC7I,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACxC,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,OAAqB,CAAC,CAAC;QACtD,CAAC,CAAC;QAEF,IAAI,qBAAqB,GAAG,KAAK,CAAC;QAElC,QAAQ,IAAI,EAAE;YACZ,KAAK,QAAQ;gBACX,KAAK,GAAG,YAAY,CAAC;gBACrB,qBAAqB,GAAG,IAAI,CAAC;gBAC7B,MAAM;YACR,KAAK,KAAK;gBACR,KAAK,GAAG,CAAC,IAAkD,EAAE,OAAoB,EAAE,EAAE;oBACnF,MAAM,gBAAgB,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;oBAC3C,IAAI,gBAAgB,EAAE;wBACpB,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;qBAC3B;yBAAM;wBACL,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,OAAqB,CAAC,CAAC;qBAC/C;gBACH,CAAC,CAAC;gBACF,qBAAqB,GAAG,IAAI,CAAC;gBAC7B,MAAM;YACR,KAAK,QAAQ;gBACX,KAAK,GAAG,CAAC,IAAkD,EAAE,OAAoB,EAAE,EAAE;oBACnF,MAAM,wBAAwB,GAAG,OAAO,IAAI,CAAC,OAAO,CAAE,OAAiC,CAAC,WAAW,CAAC,IAAI,OAAO,CAAE,OAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;oBACrJ,IAAI,wBAAwB,EAAE;wBAC5B,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;qBAC3B;yBAAM;wBACL,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,OAAqB,CAAC,CAAC;qBAC/C;gBACH,CAAC,CAAC;gBACF,MAAM;YACR,KAAK,QAAQ;gBACX,KAAK,GAAG,CAAC,IAAkD,EAAE,OAAoB,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,OAAqB,CAAC,CAAC;gBAC7H,qBAAqB,GAAG,IAAI,CAAC;gBAC7B,MAAM;SACT;QAED,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;QAEjB,IAAI,qBAAqB,EAAE;YACzB,MAAM,eAAe,GAAmD,CAAC,IAAuB,EAAE,EAAE;gBAClG,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC/B,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAS,CAAC,CAAC;YACvC,CAAC,CAAC;YAEF,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC;SAC/B;IACH,CAAC;CACF;AAzED,kHAyEC;AAED,2BAA2B;AAC3B;;;;;GAKG;AACH,SAAgB,qCAAqC,CAAmB,SAAkB;IACxF,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE;QAC/B,8DAA8D;QAC7D,IAAuC,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,kCAAkC;IAC1G,CAAC,CAAC;AACJ,CAAC;AALD,sFAKC;AAED,SAAgB,+CAA+C,CAAqC,MAAgC;IAClI,OAAO,IAAA,gDAAgC,EAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,mDAAmD,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AACnI,CAAC;AAFD,0GAEC;AAED,kBAAkB;AAClB,SAAgB,4CAA4C;IAC1D,OAAO,qCAAqC,CAAI,KAAK,CAAC,CAAC;AACzD,CAAC;AAFD,oGAEC;AAED;;;GAGG;AACH,SAAgB,iCAAiC;IAC/C,OAAO;QACL,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,4CAA4C,EAAE;KACzD,CAAC;AACJ,CAAC;AALD,8EAKC;AAEY,QAAA,gDAAgD,GAAG,IAAA,mBAAY,EAAC,GAAG,EAAE,CAAC,+CAA+C,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAC;AAEzK,SAAgB,0CAA0C;IACxD,OAAO,IAAA,wDAAgD,GAAuD,CAAC;AACjH,CAAC;AAFD,gGAEC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AsyncGetterOrValue, Maybe, UseAsync } from '@dereekb/util';
|
|
2
2
|
import { FirestoreModelId, FirestoreModelKey } from '../collection';
|
|
3
3
|
import { DocumentDataWithId, DocumentReference, DocumentSnapshot, QuerySnapshot, Transaction } from '../types';
|
|
4
|
-
import { FirestoreDocument, FirestoreDocumentAccessor, LimitedFirestoreDocumentAccessor, LimitedFirestoreDocumentAccessorContextExtension } from './document';
|
|
4
|
+
import { FirestoreDocumentData, FirestoreDocument, FirestoreDocumentAccessor, LimitedFirestoreDocumentAccessor, LimitedFirestoreDocumentAccessorContextExtension } from './document';
|
|
5
5
|
export declare function newDocuments<T, D extends FirestoreDocument<T>>(documentAccessor: FirestoreDocumentAccessor<T, D>, count: number): D[];
|
|
6
6
|
export interface MakeDocumentsParams<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> {
|
|
7
7
|
count: number;
|
|
@@ -24,11 +24,16 @@ export interface MakeDocumentsParams<T, D extends FirestoreDocument<T> = Firesto
|
|
|
24
24
|
* @returns
|
|
25
25
|
*/
|
|
26
26
|
export declare function makeDocuments<T, D extends FirestoreDocument<T>>(documentAccessor: FirestoreDocumentAccessor<T, D>, make: MakeDocumentsParams<T, D>): Promise<D[]>;
|
|
27
|
-
export declare function getDocumentSnapshots<
|
|
28
|
-
export declare
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
export declare function getDocumentSnapshots<D extends FirestoreDocument<any>>(documents: D[]): Promise<DocumentSnapshot<FirestoreDocumentData<D>>[]>;
|
|
28
|
+
export declare type FirestoreDocumentSnapshotPair<D extends FirestoreDocument<any>> = {
|
|
29
|
+
document: D;
|
|
30
|
+
snapshot: DocumentSnapshot<FirestoreDocumentData<D>>;
|
|
31
|
+
};
|
|
32
|
+
export declare function getDocumentSnapshotPairs<D extends FirestoreDocument<any>>(documents: D[]): Promise<FirestoreDocumentSnapshotPair<D>[]>;
|
|
33
|
+
export declare function getDocumentSnapshotsData<D extends FirestoreDocument<any>>(documents: D[]): Promise<DocumentDataWithId<FirestoreDocumentData<D>>[]>;
|
|
34
|
+
export declare function getDocumentSnapshotsData<D extends FirestoreDocument<any>>(documents: D[], withId: true): Promise<DocumentDataWithId<FirestoreDocumentData<D>>[]>;
|
|
35
|
+
export declare function getDocumentSnapshotsData<D extends FirestoreDocument<any>>(documents: D[], withId: false): Promise<FirestoreDocumentData<D>[]>;
|
|
36
|
+
export declare function getDocumentSnapshotsData<D extends FirestoreDocument<any>>(documents: D[], withId?: boolean): Promise<DocumentDataWithId<FirestoreDocumentData<D>>[] | FirestoreDocumentData<D>[]>;
|
|
32
37
|
export declare function getDataFromDocumentSnapshots<T>(snapshots: DocumentSnapshot<T>[]): DocumentDataWithId<T>[];
|
|
33
38
|
export declare function getDataFromDocumentSnapshots<T>(snapshots: DocumentSnapshot<T>[], withId: true): DocumentDataWithId<T>[];
|
|
34
39
|
export declare function getDataFromDocumentSnapshots<T>(snapshots: DocumentSnapshot<T>[], withId: false): T[];
|
|
@@ -81,11 +86,11 @@ export declare function documentDataWithId<T>(snapshot: DocumentSnapshot<T>): Ma
|
|
|
81
86
|
* @param defaultValue
|
|
82
87
|
* @returns
|
|
83
88
|
*/
|
|
84
|
-
export declare function useDocumentSnapshot<
|
|
89
|
+
export declare function useDocumentSnapshot<D extends FirestoreDocument<any>, O = void>(document: Maybe<D>, use: UseAsync<DocumentSnapshot<FirestoreDocumentData<D>>, O>, defaultValue?: Maybe<AsyncGetterOrValue<O>>): Promise<Maybe<O>>;
|
|
85
90
|
/**
|
|
86
91
|
* MappedUseAsyncFunction to load snapshot data from the input document and use it.
|
|
87
92
|
*/
|
|
88
|
-
export declare const useDocumentSnapshotData:
|
|
93
|
+
export declare const useDocumentSnapshotData: <D extends FirestoreDocument<any, import("../collection").FirestoreModelIdentity<string, string>>, O = void>(document: Maybe<D>, use: UseAsync<FirestoreDocumentData<D>, O>, defaultValue?: Maybe<AsyncGetterOrValue<O>>) => Promise<Maybe<O>>;
|
|
89
94
|
export declare function firestoreModelIdFromDocument<T, D extends FirestoreDocument<T>>(document: D): FirestoreModelId;
|
|
90
95
|
export declare function firestoreModelIdsFromDocuments<T, D extends FirestoreDocument<T>>(documents: D[]): FirestoreModelId[];
|
|
91
96
|
export declare function firestoreModelKeyFromDocument<T, D extends FirestoreDocument<T>>(document: D): FirestoreModelKey;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.documentReferencesFromDocuments = exports.documentReferenceFromDocument = exports.firestoreModelKeysFromDocuments = exports.firestoreModelKeyFromDocument = exports.firestoreModelIdsFromDocuments = exports.firestoreModelIdFromDocument = exports.useDocumentSnapshotData = exports.useDocumentSnapshot = exports.documentDataWithId = exports.documentDataFunction = exports.documentData = exports.firestoreDocumentLoader = exports.loadDocumentsForIds = exports.loadDocumentsForIdsFromValues = exports.loadDocumentsForKeys = exports.loadDocumentsForKeysFromValues = exports.loadDocumentsForDocumentReferences = exports.loadDocumentsForValues = exports.loadDocumentsForDocumentReferencesFromValues = exports.loadDocumentsForSnapshots = exports.getDataFromDocumentSnapshots = exports.getDocumentSnapshotsData = exports.getDocumentSnapshots = exports.makeDocuments = exports.newDocuments = void 0;
|
|
3
|
+
exports.documentReferencesFromDocuments = exports.documentReferenceFromDocument = exports.firestoreModelKeysFromDocuments = exports.firestoreModelKeyFromDocument = exports.firestoreModelIdsFromDocuments = exports.firestoreModelIdFromDocument = exports.useDocumentSnapshotData = exports.useDocumentSnapshot = exports.documentDataWithId = exports.documentDataFunction = exports.documentData = exports.firestoreDocumentLoader = exports.loadDocumentsForIds = exports.loadDocumentsForIdsFromValues = exports.loadDocumentsForKeys = exports.loadDocumentsForKeysFromValues = exports.loadDocumentsForDocumentReferences = exports.loadDocumentsForValues = exports.loadDocumentsForDocumentReferencesFromValues = exports.loadDocumentsForSnapshots = exports.getDataFromDocumentSnapshots = exports.getDocumentSnapshotsData = exports.getDocumentSnapshotPairs = exports.getDocumentSnapshots = exports.makeDocuments = exports.newDocuments = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const util_1 = require("@dereekb/util");
|
|
6
6
|
function newDocuments(documentAccessor, count) {
|
|
@@ -23,7 +23,7 @@ function makeDocuments(documentAccessor, make) {
|
|
|
23
23
|
const document = newDocumentFn(documentAccessor);
|
|
24
24
|
const data = yield make.init(i, document);
|
|
25
25
|
if (data != null) {
|
|
26
|
-
yield document.accessor.
|
|
26
|
+
yield document.accessor.create(data);
|
|
27
27
|
}
|
|
28
28
|
return document;
|
|
29
29
|
})
|
|
@@ -34,6 +34,10 @@ function getDocumentSnapshots(documents) {
|
|
|
34
34
|
return util_1.PromiseUtility.runTasksForValues(documents, (x) => x.accessor.get());
|
|
35
35
|
}
|
|
36
36
|
exports.getDocumentSnapshots = getDocumentSnapshots;
|
|
37
|
+
function getDocumentSnapshotPairs(documents) {
|
|
38
|
+
return util_1.PromiseUtility.runTasksForValues(documents, (document) => document.accessor.get().then((snapshot) => ({ document, snapshot })));
|
|
39
|
+
}
|
|
40
|
+
exports.getDocumentSnapshotPairs = getDocumentSnapshotPairs;
|
|
37
41
|
function getDocumentSnapshotsData(documents, withId = true) {
|
|
38
42
|
return getDocumentSnapshots(documents).then((x) => getDataFromDocumentSnapshots(x, withId));
|
|
39
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.utility.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/document.utility.ts"],"names":[],"mappings":";;;;AAAA,wCAAyK;AAKzK,SAAgB,YAAY,CAAoC,gBAAiD,EAAE,KAAa;IAC9H,OAAO,IAAA,sBAAe,EAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;AACtE,CAAC;AAFD,oCAEC;AAkBD;;;;;;GAMG;AACH,SAAgB,aAAa,CAAoC,gBAAiD,EAAE,IAA+B;;IACjJ,MAAM,aAAa,GAAG,MAAA,IAAI,CAAC,WAAW,mCAAI,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC;IACjF,OAAO,IAAA,sBAAe,EAAC;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,CAAO,CAAS,EAAE,EAAE;YACxB,MAAM,QAAQ,GAAM,aAAa,CAAC,gBAAgB,CAAC,CAAC;YACpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAE1C,IAAI,IAAI,IAAI,IAAI,EAAE;gBAChB,MAAM,QAAQ,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"document.utility.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/document.utility.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,9 +38,12 @@ export interface OffsetQueryConstraintData {
|
|
|
38
38
|
}
|
|
39
39
|
export declare function offset(offset: number): FirestoreQueryConstraint<OffsetQueryConstraintData>;
|
|
40
40
|
export declare const FIRESTORE_WHERE_QUERY_CONSTRAINT_TYPE = "where";
|
|
41
|
-
export declare type WhereFilterOp = '<' | '<=' | '==' | '!=' | '>=' | '>' | 'array-contains' | 'in' | 'not-in';
|
|
42
41
|
/**
|
|
43
|
-
*
|
|
42
|
+
* https://firebase.google.com/docs/firestore/query-data/queries#query_operators
|
|
43
|
+
*/
|
|
44
|
+
export declare type WhereFilterOp = '<' | '<=' | '==' | '>=' | '>' | '!=' | 'array-contains' | 'array-contains-any' | 'in' | 'not-in';
|
|
45
|
+
/**
|
|
46
|
+
* Maximum number of arguments allowed with the "in" and "array-contains"/"array-contains-any" operators.
|
|
44
47
|
*/
|
|
45
48
|
export declare const FIRESTORE_MAX_WHERE_IN_FILTER_ARGS_COUNT = 10;
|
|
46
49
|
export interface WhereQueryConstraintData {
|
|
@@ -48,8 +51,17 @@ export interface WhereQueryConstraintData {
|
|
|
48
51
|
opStr: WhereFilterOp;
|
|
49
52
|
value: unknown;
|
|
50
53
|
}
|
|
51
|
-
|
|
52
|
-
|
|
54
|
+
/**
|
|
55
|
+
* Configures a Firebase where query.
|
|
56
|
+
*
|
|
57
|
+
* https://firebase.google.com/docs/firestore/query-data/queries#simple_queries
|
|
58
|
+
*
|
|
59
|
+
* @param fieldPath
|
|
60
|
+
* @param opStr
|
|
61
|
+
* @param value
|
|
62
|
+
*/
|
|
63
|
+
export declare function where<T>(fieldPath: StringKeyPropertyKeys<T>, opStr: WhereFilterOp, value: unknown): FirestoreQueryConstraint<WhereQueryConstraintData>;
|
|
64
|
+
export declare function where(fieldPath: FieldPathOrStringPath, opStr: WhereFilterOp, value: unknown): FirestoreQueryConstraint<WhereQueryConstraintData>;
|
|
53
65
|
export declare const FIRESTORE_WHERE_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE = "where_doc_id";
|
|
54
66
|
export declare type WhereDocumentIdQueryConstraintData = Omit<WhereQueryConstraintData, 'fieldPath'>;
|
|
55
67
|
export declare function whereDocumentId(opStr: WhereFilterOp, value: unknown): FirestoreQueryConstraint<WhereDocumentIdQueryConstraintData>;
|
|
@@ -45,10 +45,25 @@ exports.offset = offset;
|
|
|
45
45
|
// MARK: Where
|
|
46
46
|
exports.FIRESTORE_WHERE_QUERY_CONSTRAINT_TYPE = 'where';
|
|
47
47
|
/**
|
|
48
|
-
* Maximum number of arguments allowed with the "in" and "array-contains" operators.
|
|
48
|
+
* Maximum number of arguments allowed with the "in" and "array-contains"/"array-contains-any" operators.
|
|
49
49
|
*/
|
|
50
50
|
exports.FIRESTORE_MAX_WHERE_IN_FILTER_ARGS_COUNT = 10;
|
|
51
51
|
function where(fieldPath, opStr, value) {
|
|
52
|
+
switch (opStr) {
|
|
53
|
+
case 'array-contains':
|
|
54
|
+
if (Array.isArray(value)) {
|
|
55
|
+
throw new Error('array-contains does not accept array values. Did you mean "array-contains-any"?');
|
|
56
|
+
}
|
|
57
|
+
break;
|
|
58
|
+
case 'in':
|
|
59
|
+
case 'array-contains-any':
|
|
60
|
+
if (value == null) {
|
|
61
|
+
throw new Error(`"${opStr}" requires a non-null value.`);
|
|
62
|
+
}
|
|
63
|
+
// ensure the value is passed as an array.
|
|
64
|
+
value = (0, util_1.convertToArray)(value);
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
52
67
|
return firestoreQueryConstraint(exports.FIRESTORE_WHERE_QUERY_CONSTRAINT_TYPE, { fieldPath: fieldPath, opStr, value });
|
|
53
68
|
}
|
|
54
69
|
exports.where = where;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraint.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/query/constraint.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"constraint.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/query/constraint.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { DateRange, DateRangeInput } from '@dereekb/date';
|
|
2
|
+
import { StringKeyPropertyKeys } from '@dereekb/util';
|
|
3
|
+
import { DocumentReference, FieldPathOrStringPath } from '../types';
|
|
4
|
+
import { FirestoreQueryConstraint, OrderByDirection } from './constraint';
|
|
3
5
|
/**
|
|
4
6
|
* Use with a CollectionGroup query to return all child documents that are under a given parent.
|
|
5
7
|
*
|
|
@@ -8,9 +10,65 @@ import { FirestoreQueryConstraint } from './constraint';
|
|
|
8
10
|
*/
|
|
9
11
|
export declare function allChildDocumentsUnderParent<P>(parentRef: DocumentReference<P>): FirestoreQueryConstraint[];
|
|
10
12
|
/**
|
|
11
|
-
* Use with a CollectionGroup query to return all child documents that
|
|
13
|
+
* Use with a CollectionGroup query to return all child documents that have a given path.
|
|
12
14
|
*
|
|
13
15
|
* @param parentPath
|
|
14
16
|
* @returns
|
|
15
17
|
*/
|
|
16
18
|
export declare function allChildDocumentsUnderParentPath(parentPath: string): FirestoreQueryConstraint[];
|
|
19
|
+
/**
|
|
20
|
+
* Use with a CollectionGroup query to return all child documents that are under a given path based on values in a field.
|
|
21
|
+
*
|
|
22
|
+
* For example, if each value has a field that references another object with a parent, you can filter on that parent's value range, or parents of that value in order to return
|
|
23
|
+
* all jobs for that range.
|
|
24
|
+
*
|
|
25
|
+
* Example:
|
|
26
|
+
* - objects with path "rc/aaa/rcs/bbb" and "rc/aaa/rcs/ccc" will be returned when querying for "rc/aaa".
|
|
27
|
+
*
|
|
28
|
+
* @param parentValue
|
|
29
|
+
* @returns
|
|
30
|
+
*/
|
|
31
|
+
export declare function allChildDocumentsUnderRelativePath<T>(orderByFieldPath: StringKeyPropertyKeys<T>, parentValue: string, sortDirection?: OrderByDirection): FirestoreQueryConstraint[];
|
|
32
|
+
export declare function allChildDocumentsUnderRelativePath(orderByFieldPath: FieldPathOrStringPath, parentValue: string, sortDirection?: OrderByDirection): FirestoreQueryConstraint[];
|
|
33
|
+
/**
|
|
34
|
+
* Searches dates that follow between the dates derived from the input. Excludes the end date.
|
|
35
|
+
*
|
|
36
|
+
* Sorts in ascending order by default.
|
|
37
|
+
*
|
|
38
|
+
* @param field
|
|
39
|
+
* @param range
|
|
40
|
+
* @param sortDirection
|
|
41
|
+
*/
|
|
42
|
+
export declare function whereDateIsInRange<T>(field: StringKeyPropertyKeys<T>, rangeInput: DateRangeInput, sortDirection?: OrderByDirection): FirestoreQueryConstraint[];
|
|
43
|
+
export declare function whereDateIsInRange(field: FieldPathOrStringPath, rangeInput: DateRangeInput, sortDirection?: OrderByDirection): FirestoreQueryConstraint[];
|
|
44
|
+
/**
|
|
45
|
+
* Searches dates that follow between the input DateRange. Excludes the end date.
|
|
46
|
+
*
|
|
47
|
+
* Sorts in ascending order by default.
|
|
48
|
+
*
|
|
49
|
+
* @param field
|
|
50
|
+
* @param range
|
|
51
|
+
* @param sortDirection
|
|
52
|
+
*/
|
|
53
|
+
export declare function whereDateIsBetween<T>(field: StringKeyPropertyKeys<T>, range: DateRange, sortDirection?: OrderByDirection): FirestoreQueryConstraint[];
|
|
54
|
+
export declare function whereDateIsBetween(field: FieldPathOrStringPath, range: DateRange, sortDirection?: OrderByDirection): FirestoreQueryConstraint[];
|
|
55
|
+
/**
|
|
56
|
+
* Searches dates that are on or after the input date. If no date is input, uses now.
|
|
57
|
+
*
|
|
58
|
+
* Sorts in ascending order by default.
|
|
59
|
+
*
|
|
60
|
+
* @param field
|
|
61
|
+
* @param date
|
|
62
|
+
* @param sortDirection
|
|
63
|
+
*/
|
|
64
|
+
export declare function whereDateIsOnOrAfter<T>(field: StringKeyPropertyKeys<T>, date?: Date, sortDirection?: OrderByDirection): FirestoreQueryConstraint[];
|
|
65
|
+
export declare function whereDateIsOnOrAfter(field: FieldPathOrStringPath, date?: Date, sortDirection?: OrderByDirection): FirestoreQueryConstraint[];
|
|
66
|
+
/**
|
|
67
|
+
* Searches dates that are before the input date. If no date is input, uses now.
|
|
68
|
+
*
|
|
69
|
+
* @param field
|
|
70
|
+
* @param date
|
|
71
|
+
* @param sortDirection
|
|
72
|
+
*/
|
|
73
|
+
export declare function whereDateIsBefore<T>(field: StringKeyPropertyKeys<T>, date?: Date, sortDirection?: OrderByDirection): FirestoreQueryConstraint[];
|
|
74
|
+
export declare function whereDateIsBefore(field: FieldPathOrStringPath, date?: Date, sortDirection?: OrderByDirection): FirestoreQueryConstraint[];
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.allChildDocumentsUnderParentPath = exports.allChildDocumentsUnderParent = void 0;
|
|
3
|
+
exports.whereDateIsBefore = exports.whereDateIsOnOrAfter = exports.whereDateIsBetween = exports.whereDateIsInRange = exports.allChildDocumentsUnderRelativePath = exports.allChildDocumentsUnderParentPath = exports.allChildDocumentsUnderParent = void 0;
|
|
4
|
+
const date_1 = require("@dereekb/date");
|
|
5
|
+
const util_1 = require("@dereekb/util");
|
|
4
6
|
const constraint_1 = require("./constraint");
|
|
7
|
+
// MARK: Parents
|
|
5
8
|
/**
|
|
6
9
|
* Use with a CollectionGroup query to return all child documents that are under a given parent.
|
|
7
10
|
*
|
|
@@ -13,7 +16,7 @@ function allChildDocumentsUnderParent(parentRef) {
|
|
|
13
16
|
}
|
|
14
17
|
exports.allChildDocumentsUnderParent = allChildDocumentsUnderParent;
|
|
15
18
|
/**
|
|
16
|
-
* Use with a CollectionGroup query to return all child documents that
|
|
19
|
+
* Use with a CollectionGroup query to return all child documents that have a given path.
|
|
17
20
|
*
|
|
18
21
|
* @param parentPath
|
|
19
22
|
* @returns
|
|
@@ -21,7 +24,29 @@ exports.allChildDocumentsUnderParent = allChildDocumentsUnderParent;
|
|
|
21
24
|
function allChildDocumentsUnderParentPath(parentPath) {
|
|
22
25
|
// https://medium.com/firebase-developers/how-to-query-collections-in-firestore-under-a-certain-path-6a0d686cebd2
|
|
23
26
|
// https://medium.com/firelayer/save-money-on-the-list-query-in-firestore-26ef9bee5474 for restricting
|
|
24
|
-
return [(0, constraint_1.orderByDocumentId)(), (0, constraint_1.startAtValue)(parentPath), (0, constraint_1.endAtValue)(parentPath +
|
|
27
|
+
return [(0, constraint_1.orderByDocumentId)(), (0, constraint_1.startAtValue)(parentPath), (0, constraint_1.endAtValue)(parentPath + util_1.UTF_8_START_CHARACTER)];
|
|
25
28
|
}
|
|
26
29
|
exports.allChildDocumentsUnderParentPath = allChildDocumentsUnderParentPath;
|
|
30
|
+
function allChildDocumentsUnderRelativePath(orderByFieldPath, parentValue, sortDirection) {
|
|
31
|
+
return [(0, constraint_1.orderBy)(orderByFieldPath, sortDirection), (0, constraint_1.startAtValue)(parentValue), (0, constraint_1.endAtValue)(parentValue + util_1.UTF_PRIVATE_USAGE_AREA_START)];
|
|
32
|
+
}
|
|
33
|
+
exports.allChildDocumentsUnderRelativePath = allChildDocumentsUnderRelativePath;
|
|
34
|
+
function whereDateIsInRange(fieldPath, rangeInput, sortDirection) {
|
|
35
|
+
const range = (0, date_1.dateRange)(rangeInput);
|
|
36
|
+
return whereDateIsBetween(fieldPath, range, sortDirection);
|
|
37
|
+
}
|
|
38
|
+
exports.whereDateIsInRange = whereDateIsInRange;
|
|
39
|
+
function whereDateIsBetween(fieldPath, range, sortDirection) {
|
|
40
|
+
const { start, end } = range;
|
|
41
|
+
return [(0, constraint_1.orderBy)(fieldPath, sortDirection !== null && sortDirection !== void 0 ? sortDirection : 'asc'), (0, constraint_1.where)(fieldPath, '>=', start.toISOString()), (0, constraint_1.where)(fieldPath, '<', end.toISOString())];
|
|
42
|
+
}
|
|
43
|
+
exports.whereDateIsBetween = whereDateIsBetween;
|
|
44
|
+
function whereDateIsOnOrAfter(fieldPath, date = new Date(), sortDirection) {
|
|
45
|
+
return [(0, constraint_1.orderBy)(fieldPath, sortDirection !== null && sortDirection !== void 0 ? sortDirection : 'asc'), (0, constraint_1.where)(fieldPath, '>=', date.toISOString())];
|
|
46
|
+
}
|
|
47
|
+
exports.whereDateIsOnOrAfter = whereDateIsOnOrAfter;
|
|
48
|
+
function whereDateIsBefore(fieldPath, date = new Date(), sortDirection) {
|
|
49
|
+
return [(0, constraint_1.orderBy)(fieldPath, sortDirection !== null && sortDirection !== void 0 ? sortDirection : 'desc'), (0, constraint_1.where)(fieldPath, '<', date.toISOString())];
|
|
50
|
+
}
|
|
51
|
+
exports.whereDateIsBefore = whereDateIsBefore;
|
|
27
52
|
//# sourceMappingURL=constraint.template.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraint.template.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/query/constraint.template.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"constraint.template.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/query/constraint.template.ts"],"names":[],"mappings":";;;AAAA,wCAAqE;AACrE,wCAAkH;AAElH,6CAAuI;AAEvI,gBAAgB;AAChB;;;;;GAKG;AACH,SAAgB,4BAA4B,CAAI,SAA+B;IAC7E,OAAO,gCAAgC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC1D,CAAC;AAFD,oEAEC;AAED;;;;;GAKG;AACH,SAAgB,gCAAgC,CAAC,UAAkB;IACjE,iHAAiH;IACjH,sGAAsG;IACtG,OAAO,CAAC,IAAA,8BAAiB,GAAE,EAAE,IAAA,yBAAY,EAAC,UAAU,CAAC,EAAE,IAAA,uBAAU,EAAC,UAAU,GAAG,4BAAqB,CAAC,CAAC,CAAC;AACzG,CAAC;AAJD,4EAIC;AAgBD,SAAgB,kCAAkC,CAAa,gBAAoE,EAAE,WAAmB,EAAE,aAAgC;IACxL,OAAO,CAAC,IAAA,oBAAO,EAAC,gBAAyC,EAAE,aAAa,CAAC,EAAE,IAAA,yBAAY,EAAC,WAAW,CAAC,EAAE,IAAA,uBAAU,EAAC,WAAW,GAAG,mCAA4B,CAAC,CAAC,CAAC;AAChK,CAAC;AAFD,gFAEC;AAcD,SAAgB,kBAAkB,CAAa,SAA6D,EAAE,UAA0B,EAAE,aAAgC;IACxK,MAAM,KAAK,GAAG,IAAA,gBAAS,EAAC,UAAU,CAAC,CAAC;IACpC,OAAO,kBAAkB,CAAC,SAAkC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;AACtF,CAAC;AAHD,gDAGC;AAaD,SAAgB,kBAAkB,CAAa,SAA6D,EAAE,KAAgB,EAAE,aAAgC;IAC9J,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IAC7B,OAAO,CAAC,IAAA,oBAAO,EAAC,SAAkC,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,KAAK,CAAC,EAAE,IAAA,kBAAK,EAAC,SAAkC,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,IAAA,kBAAK,EAAC,SAAkC,EAAE,GAAG,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AACxN,CAAC;AAHD,gDAGC;AAaD,SAAgB,oBAAoB,CAAa,SAA6D,EAAE,OAAa,IAAI,IAAI,EAAE,EAAE,aAAgC;IACvK,OAAO,CAAC,IAAA,oBAAO,EAAC,SAAkC,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,KAAK,CAAC,EAAE,IAAA,kBAAK,EAAC,SAAkC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AACpJ,CAAC;AAFD,oDAEC;AAWD,SAAgB,iBAAiB,CAAa,SAA6D,EAAE,OAAa,IAAI,IAAI,EAAE,EAAE,aAAgC;IACpK,OAAO,CAAC,IAAA,oBAAO,EAAC,SAAkC,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,MAAM,CAAC,EAAE,IAAA,kBAAK,EAAC,SAAkC,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AACpJ,CAAC;AAFD,8CAEC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GrantedRole } from '@dereekb/model';
|
|
2
|
-
import { ModelFieldMapFunctionsConfig, GetterOrValue, Maybe, ModelFieldMapConvertFunction, PrimativeKey, ReadKeyFunction, ModelFieldMapFunctionsWithDefaultsConfig, FindUniqueFunction, FindUniqueStringsTransformConfig, MapFunction, FilterKeyValueTuplesInput, ModelKey, ToModelMapFunctionsInput, ModelMapFunctionsRef, TransformStringFunctionConfig, LatLngPrecision, TransformStringFunction, LatLngString } from '@dereekb/util';
|
|
2
|
+
import { ModelFieldMapFunctionsConfig, GetterOrValue, Maybe, ModelFieldMapConvertFunction, PrimativeKey, ReadKeyFunction, ModelFieldMapFunctionsWithDefaultsConfig, FindUniqueFunction, FindUniqueStringsTransformConfig, MapFunction, FilterKeyValueTuplesInput, ModelKey, ToModelMapFunctionsInput, ModelMapFunctionsRef, TransformStringFunctionConfig, LatLngPrecision, TransformStringFunction, LatLngString, TimezoneString } from '@dereekb/util';
|
|
3
3
|
import { FirestoreModelData } from './snapshot.type';
|
|
4
4
|
export interface BaseFirestoreFieldConfig<V, D = unknown> {
|
|
5
5
|
fromData: ModelFieldMapConvertFunction<D, V>;
|
|
@@ -232,12 +232,14 @@ export declare const DEFAULT_FIRESTORE_LAT_LNG_STRING_VALUE = "0,0";
|
|
|
232
232
|
* @returns
|
|
233
233
|
*/
|
|
234
234
|
export declare function firestoreLatLngString(config?: FirestoreLatLngStringConfig): FirestoreModelFieldMapFunctionsConfig<`${number},${number}`, `${number},${number}`>;
|
|
235
|
+
export interface FirestoreTimezoneStringConfig extends DefaultMapConfiguredFirestoreFieldConfig<TimezoneString, TimezoneString> {
|
|
236
|
+
}
|
|
235
237
|
/**
|
|
236
238
|
* Default configuration for a TimezoneString.
|
|
237
239
|
*
|
|
238
240
|
* The value defaults to UTC
|
|
239
241
|
*/
|
|
240
|
-
export declare function firestoreTimezoneString(): FirestoreModelFieldMapFunctionsConfig<
|
|
242
|
+
export declare function firestoreTimezoneString(config?: FirestoreTimezoneStringConfig): FirestoreModelFieldMapFunctionsConfig<string, string>;
|
|
241
243
|
export declare type FirestoreSetFieldConfig<T extends string | number> = DefaultMapConfiguredFirestoreFieldConfig<Set<T>, T[]>;
|
|
242
244
|
/**
|
|
243
245
|
* Do not use.
|
|
@@ -314,8 +314,12 @@ exports.firestoreLatLngString = firestoreLatLngString;
|
|
|
314
314
|
*
|
|
315
315
|
* The value defaults to UTC
|
|
316
316
|
*/
|
|
317
|
-
function firestoreTimezoneString() {
|
|
318
|
-
|
|
317
|
+
function firestoreTimezoneString(config) {
|
|
318
|
+
const { default: defaultValue, defaultBeforeSave } = config !== null && config !== void 0 ? config : {};
|
|
319
|
+
return firestoreString({
|
|
320
|
+
default: defaultValue || exports.DEFAULT_FIRESTORE_LAT_LNG_STRING_VALUE,
|
|
321
|
+
defaultBeforeSave
|
|
322
|
+
});
|
|
319
323
|
}
|
|
320
324
|
exports.firestoreTimezoneString = firestoreTimezoneString;
|
|
321
325
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.field.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/snapshot/snapshot.field.ts"],"names":[],"mappings":";;;AAEA,wCAA4E;AAC5E,
|
|
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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"}
|
package/test/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [8.13.5](https://github.com/dereekb/dbx-components/compare/v8.13.4-dev...v8.13.5) (2022-07-29)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## [8.13.4](https://github.com/dereekb/dbx-components/compare/v8.13.3-dev...v8.13.4) (2022-07-23)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* fixed ModifyBeforeSetFirestoreDocumentDataAccessorWrapper ([68b5fff](https://github.com/dereekb/dbx-components/commit/68b5fff454b8e30b838702c6747ed217937cf2ff))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## [8.13.3](https://github.com/dereekb/dbx-components/compare/v8.13.2-dev...v8.13.3) (2022-07-21)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
5
22
|
## [8.13.2](https://github.com/dereekb/dbx-components/compare/v8.13.1-dev...v8.13.2) (2022-07-20)
|
|
6
23
|
|
|
7
24
|
|