@dereekb/firebase 7.0.1 → 7.1.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 +13 -0
- package/package.json +5 -5
- 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/query/constraint.d.ts +5 -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 +45 -5
- package/src/lib/common/firestore/snapshot/snapshot.field.js +67 -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 +11 -0
- package/test/package.json +7 -7
- package/test/src/lib/common/firestore.mock.item.d.ts +46 -2
- package/test/src/lib/common/firestore.mock.item.fixture.d.ts +2 -0
- package/test/src/lib/common/firestore.mock.item.fixture.js +6 -0
- package/test/src/lib/common/firestore.mock.item.fixture.js.map +1 -1
- package/test/src/lib/common/firestore.mock.item.js +67 -1
- package/test/src/lib/common/firestore.mock.item.js.map +1 -1
- package/test/src/lib/common/firestore.mock.item.service.d.ts +6 -1
- package/test/src/lib/common/firestore.mock.item.service.js +13 -1
- 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 +69 -0
- package/test/src/lib/common/test.driver.query.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
# [7.1.0](https://github.com/dereekb/dbx-components/compare/v7.0.1-dev...v7.1.0) (2022-06-06)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* added firestoreArray ([e852230](https://github.com/dereekb/dbx-components/commit/e85223077246c1755cdb1028deea7019a6c71206))
|
|
11
|
+
* added firestoreEncodedArray, firestoreUniqueArray ([4f7fc7c](https://github.com/dereekb/dbx-components/commit/4f7fc7ca274656ecdf13d69aa7d225f66a7f76da))
|
|
12
|
+
* added interceptAccessorFactory() ([9833539](https://github.com/dereekb/dbx-components/commit/98335398eaa6a3ee363bdf64a440d5438bbefb24))
|
|
13
|
+
* added loadDocumentForId() to FirestoreDocumentAccessor ([3728145](https://github.com/dereekb/dbx-components/commit/372814540064ff4b40be032d57ddda12a8698d53))
|
|
14
|
+
* added whereDocumentId() ([7f5f5b8](https://github.com/dereekb/dbx-components/commit/7f5f5b8a56b2e0ad2e43308cfd87b4f8b8503c59))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
5
18
|
## [7.0.1](https://github.com/dereekb/dbx-components/compare/v7.0.0-dev...v7.0.1) (2022-06-05)
|
|
6
19
|
|
|
7
20
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase",
|
|
3
|
-
"version": "7.0
|
|
3
|
+
"version": "7.1.0",
|
|
4
4
|
"devDependencies": {
|
|
5
5
|
"@firebase/rules-unit-testing": "^2.0.0"
|
|
6
6
|
},
|
|
@@ -22,19 +22,19 @@
|
|
|
22
22
|
"rxjs": "^7.0.0",
|
|
23
23
|
"rxfire": "^6.0.3",
|
|
24
24
|
"firebase": "^9.8.0",
|
|
25
|
-
"@dereekb/util": "7.0
|
|
25
|
+
"@dereekb/util": "7.1.0",
|
|
26
26
|
"make-error": "^1.3.0",
|
|
27
27
|
"ts-essentials": "^9.1.2",
|
|
28
28
|
"extra-set": "^2.2.11",
|
|
29
|
-
"@dereekb/rxjs": "7.0
|
|
29
|
+
"@dereekb/rxjs": "7.1.0",
|
|
30
30
|
"ms": "^3.0.0-canary.1",
|
|
31
|
-
"@dereekb/date": "7.0
|
|
31
|
+
"@dereekb/date": "7.1.0",
|
|
32
32
|
"class-transformer": "^0.5.1",
|
|
33
33
|
"date-fns": "^2.28.0",
|
|
34
34
|
"class-validator": "^0.13.2",
|
|
35
35
|
"date-fns-tz": "^1.3.0",
|
|
36
36
|
"rrule": "git+https://git@github.com/dereekb/rrule.git#17adf5708d6567b4d01a3a8afd106261421ea492",
|
|
37
|
-
"@dereekb/model": "7.0
|
|
37
|
+
"@dereekb/model": "7.1.0",
|
|
38
38
|
"tslib": "^2.0.0"
|
|
39
39
|
}
|
|
40
40
|
}
|
|
@@ -18,6 +18,7 @@ exports.FIRESTORE_CLIENT_QUERY_CONSTRAINT_HANDLER_MAPPING = {
|
|
|
18
18
|
[constraint_1.FIRESTORE_ORDER_BY_QUERY_CONSTRAINT_TYPE]: (builder, data) => addConstraintToBuilder(builder, (0, firestore_1.orderBy)(data.fieldPath, data.directionStr)),
|
|
19
19
|
[constraint_1.FIRESTORE_ORDER_BY_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE]: (builder, data) => addConstraintToBuilder(builder, (0, firestore_1.orderBy)((0, firestore_1.documentId)(), data.directionStr)),
|
|
20
20
|
[constraint_1.FIRESTORE_WHERE_QUERY_CONSTRAINT_TYPE]: (builder, data) => addConstraintToBuilder(builder, (0, firestore_1.where)(data.fieldPath, data.opStr, data.value)),
|
|
21
|
+
[constraint_1.FIRESTORE_WHERE_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE]: (builder, data) => addConstraintToBuilder(builder, (0, firestore_1.where)((0, firestore_1.documentId)(), data.opStr, data.value)),
|
|
21
22
|
[constraint_1.FIRESTORE_OFFSET_QUERY_CONSTRAINT_TYPE]: undefined,
|
|
22
23
|
[constraint_1.FIRESTORE_START_AT_QUERY_CONSTRAINT_TYPE]: (builder, data) => addConstraintToBuilder(builder, (0, firestore_1.startAt)(data.snapshot)),
|
|
23
24
|
[constraint_1.FIRESTORE_START_AT_VALUE_QUERY_CONSTRAINT_TYPE]: (builder, data) => addConstraintToBuilder(builder, (0, firestore_1.startAt)(...data.fieldValues)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.query.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.query.ts"],"names":[],"mappings":";;;AAEA,kDAA2N;AAC3N,
|
|
1
|
+
{"version":3,"file":"driver.query.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/firestore/driver.query.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,7 @@ export interface FirestoreDocumentDataAccessor<T, D = DocumentData> extends Docu
|
|
|
46
46
|
*/
|
|
47
47
|
update(data: UpdateData<D>, params?: FirestoreDocumentUpdateParams): Promise<WriteResult | void>;
|
|
48
48
|
}
|
|
49
|
+
export declare type FirestoreDocumentDataAccessorSetFunction<T> = (data: PartialWithFieldValue<T> | WithFieldValue<T>, options?: SetOptions) => Promise<void | WriteResult>;
|
|
49
50
|
/**
|
|
50
51
|
* Contextual interface used for making a FirestoreDocumentModifier for a specific document.
|
|
51
52
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessor.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/accessor.ts"],"names":[],"mappings":";;;AAAA,wCAA4C;AAC5C,wCAA6D;AAE7D,+BAAyD;
|
|
1
|
+
{"version":3,"file":"accessor.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/accessor.ts"],"names":[],"mappings":";;;AAAA,wCAA4C;AAC5C,wCAA6D;AAE7D,+BAAyD;AAgEzD,gBAAgB;AAChB;;;;;;;;GAQG;AACH,SAAgB,sBAAsB,CAAI,MAAuC,EAAE,OAAyB;IAC1G,OAAO,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,IAAA,kBAAW,GAAE,CAAC,CAAC;AAClE,CAAC;AAFD,wDAEC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAI,OAAyB;IAC9D,OAAO,IAAA,UAAG,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACrC,CAAC;AAFD,kDAEC;AAcD,SAAgB,6BAA6B,CAAI,QAA0C;IACzF,OAAO,CAAC,IAAgB,EAAE,EAAE;QAC1B,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACvC,IAAI,MAAM,EAAE;gBACV,MAAM,MAAM,GAAG,IAAA,4BAAqB,EAAC,IAAI,CAAC,CAAC;gBAC3C,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;aAC9C;iBAAM;gBACL,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAyB,CAAC,CAAC;aAChD;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAXD,sEAWC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { DocumentData, DocumentReference, DocumentSnapshot, PartialWithFieldValue, SetOptions, UpdateData, WithFieldValue, WriteResult } from '../types';
|
|
3
|
+
import { FirestoreDocumentDataAccessor, FirestoreDocumentDataAccessorFactory, FirestoreDocumentDeleteParams, FirestoreDocumentUpdateParams } from './accessor';
|
|
4
|
+
/**
|
|
5
|
+
* Abstract wrapper for a FirestoreDocumentDataAccessor.
|
|
6
|
+
*
|
|
7
|
+
* Forwards all non-overridden accessor functions to the wrapped accessor by default.
|
|
8
|
+
*/
|
|
9
|
+
export declare abstract class AbstractFirestoreDocumentDataAccessorWrapper<T, D = DocumentData> implements FirestoreDocumentDataAccessor<T, D> {
|
|
10
|
+
readonly accessor: FirestoreDocumentDataAccessor<T, D>;
|
|
11
|
+
constructor(accessor: FirestoreDocumentDataAccessor<T, D>);
|
|
12
|
+
get documentRef(): DocumentReference<T>;
|
|
13
|
+
stream(): Observable<DocumentSnapshot<T>>;
|
|
14
|
+
get(): Promise<DocumentSnapshot<T>>;
|
|
15
|
+
exists(): Promise<boolean>;
|
|
16
|
+
delete(params?: FirestoreDocumentDeleteParams): Promise<void | WriteResult>;
|
|
17
|
+
set(data: PartialWithFieldValue<T>, options: SetOptions): Promise<WriteResult | void>;
|
|
18
|
+
set(data: WithFieldValue<T>): Promise<WriteResult | void>;
|
|
19
|
+
update(data: UpdateData<D>, params?: FirestoreDocumentUpdateParams): Promise<void | WriteResult>;
|
|
20
|
+
}
|
|
21
|
+
export declare type WrapFirestoreDocumentDataAccessorFunction<T, D = DocumentData> = (input: FirestoreDocumentDataAccessor<T, D>) => FirestoreDocumentDataAccessor<T, D>;
|
|
22
|
+
export declare type InterceptAccessorFactoryFunction<T, D = DocumentData> = (input: FirestoreDocumentDataAccessorFactory<T, D>) => FirestoreDocumentDataAccessorFactory<T, D>;
|
|
23
|
+
export declare function interceptAccessorFactoryFunction<T, D = DocumentData>(wrap: WrapFirestoreDocumentDataAccessorFunction<T, D>): InterceptAccessorFactoryFunction<T, D>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.interceptAccessorFactoryFunction = exports.AbstractFirestoreDocumentDataAccessorWrapper = void 0;
|
|
4
|
+
// MARK: Abstract Wrapper
|
|
5
|
+
/**
|
|
6
|
+
* Abstract wrapper for a FirestoreDocumentDataAccessor.
|
|
7
|
+
*
|
|
8
|
+
* Forwards all non-overridden accessor functions to the wrapped accessor by default.
|
|
9
|
+
*/
|
|
10
|
+
class AbstractFirestoreDocumentDataAccessorWrapper {
|
|
11
|
+
constructor(accessor) {
|
|
12
|
+
this.accessor = accessor;
|
|
13
|
+
}
|
|
14
|
+
get documentRef() {
|
|
15
|
+
return this.accessor.documentRef;
|
|
16
|
+
}
|
|
17
|
+
stream() {
|
|
18
|
+
return this.accessor.stream();
|
|
19
|
+
}
|
|
20
|
+
get() {
|
|
21
|
+
return this.accessor.get();
|
|
22
|
+
}
|
|
23
|
+
exists() {
|
|
24
|
+
return this.accessor.exists();
|
|
25
|
+
}
|
|
26
|
+
delete(params) {
|
|
27
|
+
return this.accessor.delete(params);
|
|
28
|
+
}
|
|
29
|
+
set(data, options) {
|
|
30
|
+
return this.accessor.set(data, options);
|
|
31
|
+
}
|
|
32
|
+
update(data, params) {
|
|
33
|
+
return this.update(data, params);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.AbstractFirestoreDocumentDataAccessorWrapper = AbstractFirestoreDocumentDataAccessorWrapper;
|
|
37
|
+
function interceptAccessorFactoryFunction(wrap) {
|
|
38
|
+
return (input) => ({
|
|
39
|
+
accessorFor: (ref) => wrap(input.accessorFor(ref))
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
exports.interceptAccessorFactoryFunction = interceptAccessorFactoryFunction;
|
|
43
|
+
//# sourceMappingURL=accessor.wrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accessor.wrap.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/accessor.wrap.ts"],"names":[],"mappings":";;;AAIA,yBAAyB;AACzB;;;;GAIG;AACH,MAAsB,4CAA4C;IAChE,YAAqB,QAA6C;QAA7C,aAAQ,GAAR,QAAQ,CAAqC;IAAG,CAAC;IAEtE,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACnC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,MAAsC;QAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAID,GAAG,CAAC,IAAkD,EAAE,OAAoB;QAC1E,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAqB,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,IAAmB,EAAE,MAAsC;QAChE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;CACF;AAhCD,oGAgCC;AAMD,SAAgB,gCAAgC,CAAsB,IAAqD;IACzH,OAAO,CAAC,KAAiD,EAAE,EAAE,CAAC,CAAC;QAC7D,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;KACnD,CAAC,CAAC;AACL,CAAC;AAJD,4EAIC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { ArrayOrValue, ModifierFunction } from '@dereekb/util';
|
|
2
|
+
import { UserRelated } from '../../../model/user';
|
|
3
|
+
import { DocumentReferenceRef } from '../reference';
|
|
4
|
+
import { DocumentData, SetOptions } from '../types';
|
|
5
|
+
import { FirestoreDocumentDataAccessor, FirestoreDocumentDataAccessorSetFunction } from './accessor';
|
|
6
|
+
import { AbstractFirestoreDocumentDataAccessorWrapper, InterceptAccessorFactoryFunction } from './accessor.wrap';
|
|
7
|
+
export declare type ModifyBeforeSetFistoreDataAccessorMode = 'always' | 'update' | 'set';
|
|
8
|
+
/**
|
|
9
|
+
* Input fora ModifyBeforeSetFirestoreDocumentDataAccessorWrapper
|
|
10
|
+
*/
|
|
11
|
+
export interface ModifyBeforeSetFistoreDataAccessorInput<T> extends DocumentReferenceRef<T> {
|
|
12
|
+
/**
|
|
13
|
+
* Data to pass to the modifyAndSet function.
|
|
14
|
+
*/
|
|
15
|
+
readonly data: Partial<T>;
|
|
16
|
+
/**
|
|
17
|
+
* Set options passed to the set function, if available.
|
|
18
|
+
*/
|
|
19
|
+
readonly options?: SetOptions;
|
|
20
|
+
}
|
|
21
|
+
export declare type ModifyBeforeSetModifierFunction<T> = ModifierFunction<ModifyBeforeSetFistoreDataAccessorInput<T>>;
|
|
22
|
+
export interface ModifyBeforeSetConfig<T extends object> {
|
|
23
|
+
/**
|
|
24
|
+
* When to modify the input data.
|
|
25
|
+
*/
|
|
26
|
+
readonly when: ModifyBeforeSetFistoreDataAccessorMode;
|
|
27
|
+
/**
|
|
28
|
+
* Modifier or array of modifier functions to apply to input data.
|
|
29
|
+
*/
|
|
30
|
+
readonly modifier: ArrayOrValue<ModifyBeforeSetModifierFunction<T>>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* FirestoreDocumentDataAccessorWrapper that applies a modifier function to data being set. When the modifier functions are applied can be changed by the mode.
|
|
34
|
+
*/
|
|
35
|
+
export declare class ModifyBeforeSetFirestoreDocumentDataAccessorWrapper<T extends object, D = DocumentData> extends AbstractFirestoreDocumentDataAccessorWrapper<T, D> {
|
|
36
|
+
readonly config: ModifyBeforeSetConfig<T>;
|
|
37
|
+
readonly modifier: ModifierFunction<ModifyBeforeSetFistoreDataAccessorInput<T>>;
|
|
38
|
+
readonly set: FirestoreDocumentDataAccessorSetFunction<T>;
|
|
39
|
+
constructor(accessor: FirestoreDocumentDataAccessor<T, D>, config: ModifyBeforeSetConfig<T>);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Creates a ModifyBeforeSetModifierFunction<T> to copy the documentRef's id to the target field on the data.
|
|
43
|
+
*
|
|
44
|
+
* @param fieldName
|
|
45
|
+
* @returns
|
|
46
|
+
*/
|
|
47
|
+
export declare function copyDocumentIdToFieldModifierFunction<T extends object>(fieldName: keyof T): ModifyBeforeSetModifierFunction<T>;
|
|
48
|
+
export declare function modifyBeforeSetInterceptAccessorFactoryFunction<T extends object, D = DocumentData>(config: ModifyBeforeSetConfig<T>): InterceptAccessorFactoryFunction<T, D>;
|
|
49
|
+
export declare function copyDocumentIdForUserRelatedModifierFunction<T extends UserRelated>(): ModifyBeforeSetModifierFunction<T>;
|
|
50
|
+
/**
|
|
51
|
+
* Returns a pre-configured ModifyBeforeSetConfig<T> for UserRelated models
|
|
52
|
+
* @returns
|
|
53
|
+
*/
|
|
54
|
+
export declare function copyUserRelatedDataModifierConfig<T extends UserRelated>(): ModifyBeforeSetConfig<T>;
|
|
55
|
+
export declare const COPY_USER_RELATED_DATA_ACCESSOR_FACTORY_FUNCTION: import("@dereekb/util").CachedFactoryWithInput<InterceptAccessorFactoryFunction<UserRelated, DocumentData>, unknown>;
|
|
56
|
+
export declare function copyUserRelatedDataAccessorFactoryFunction<T extends UserRelated, D = DocumentData>(): InterceptAccessorFactoryFunction<T, D>;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.copyUserRelatedDataAccessorFactoryFunction = exports.COPY_USER_RELATED_DATA_ACCESSOR_FACTORY_FUNCTION = exports.copyUserRelatedDataModifierConfig = exports.copyDocumentIdForUserRelatedModifierFunction = exports.modifyBeforeSetInterceptAccessorFactoryFunction = exports.copyDocumentIdToFieldModifierFunction = exports.ModifyBeforeSetFirestoreDocumentDataAccessorWrapper = void 0;
|
|
4
|
+
const util_1 = require("@dereekb/util");
|
|
5
|
+
const accessor_wrap_1 = require("./accessor.wrap");
|
|
6
|
+
/**
|
|
7
|
+
* FirestoreDocumentDataAccessorWrapper that applies a modifier function to data being set. When the modifier functions are applied can be changed by the mode.
|
|
8
|
+
*/
|
|
9
|
+
class ModifyBeforeSetFirestoreDocumentDataAccessorWrapper extends accessor_wrap_1.AbstractFirestoreDocumentDataAccessorWrapper {
|
|
10
|
+
constructor(accessor, config) {
|
|
11
|
+
super(accessor);
|
|
12
|
+
this.config = config;
|
|
13
|
+
const when = config.when;
|
|
14
|
+
this.modifier = (0, util_1.mergeModifiers)((0, util_1.asArray)(config.modifier));
|
|
15
|
+
let setFn;
|
|
16
|
+
const modifyAndSet = (data, options) => {
|
|
17
|
+
const copy = Object.assign({}, data);
|
|
18
|
+
const input = {
|
|
19
|
+
data: copy,
|
|
20
|
+
documentRef: this.documentRef,
|
|
21
|
+
options
|
|
22
|
+
};
|
|
23
|
+
this.modifier(input);
|
|
24
|
+
return super.set(input.data, options);
|
|
25
|
+
};
|
|
26
|
+
switch (when) {
|
|
27
|
+
case 'always':
|
|
28
|
+
setFn = modifyAndSet;
|
|
29
|
+
break;
|
|
30
|
+
case 'set':
|
|
31
|
+
setFn = (data, options) => {
|
|
32
|
+
const isSetForNewModel = Boolean(!options);
|
|
33
|
+
if (isSetForNewModel) {
|
|
34
|
+
return modifyAndSet(data);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
return super.set(data, options);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
break;
|
|
41
|
+
case 'update':
|
|
42
|
+
setFn = (data, options) => {
|
|
43
|
+
const isUpdateForExistingModel = options && (Boolean(options.mergeFields) || Boolean(options.merge));
|
|
44
|
+
if (isUpdateForExistingModel) {
|
|
45
|
+
return modifyAndSet(data);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
return super.set(data, options);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
this.set = setFn;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.ModifyBeforeSetFirestoreDocumentDataAccessorWrapper = ModifyBeforeSetFirestoreDocumentDataAccessorWrapper;
|
|
57
|
+
// MARK: Modifier Functions
|
|
58
|
+
/**
|
|
59
|
+
* Creates a ModifyBeforeSetModifierFunction<T> to copy the documentRef's id to the target field on the data.
|
|
60
|
+
*
|
|
61
|
+
* @param fieldName
|
|
62
|
+
* @returns
|
|
63
|
+
*/
|
|
64
|
+
function copyDocumentIdToFieldModifierFunction(fieldName) {
|
|
65
|
+
return ({ data, documentRef }) => {
|
|
66
|
+
data[fieldName] = documentRef.id; // copy the id to the target field
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
exports.copyDocumentIdToFieldModifierFunction = copyDocumentIdToFieldModifierFunction;
|
|
70
|
+
function modifyBeforeSetInterceptAccessorFactoryFunction(config) {
|
|
71
|
+
return (0, accessor_wrap_1.interceptAccessorFactoryFunction)((accessor) => new ModifyBeforeSetFirestoreDocumentDataAccessorWrapper(accessor, config));
|
|
72
|
+
}
|
|
73
|
+
exports.modifyBeforeSetInterceptAccessorFactoryFunction = modifyBeforeSetInterceptAccessorFactoryFunction;
|
|
74
|
+
// MARK: Templates
|
|
75
|
+
function copyDocumentIdForUserRelatedModifierFunction() {
|
|
76
|
+
return copyDocumentIdToFieldModifierFunction('uid');
|
|
77
|
+
}
|
|
78
|
+
exports.copyDocumentIdForUserRelatedModifierFunction = copyDocumentIdForUserRelatedModifierFunction;
|
|
79
|
+
/**
|
|
80
|
+
* Returns a pre-configured ModifyBeforeSetConfig<T> for UserRelated models
|
|
81
|
+
* @returns
|
|
82
|
+
*/
|
|
83
|
+
function copyUserRelatedDataModifierConfig() {
|
|
84
|
+
return {
|
|
85
|
+
when: 'set',
|
|
86
|
+
modifier: copyDocumentIdForUserRelatedModifierFunction()
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
exports.copyUserRelatedDataModifierConfig = copyUserRelatedDataModifierConfig;
|
|
90
|
+
exports.COPY_USER_RELATED_DATA_ACCESSOR_FACTORY_FUNCTION = (0, util_1.cachedGetter)(() => modifyBeforeSetInterceptAccessorFactoryFunction(copyUserRelatedDataModifierConfig()));
|
|
91
|
+
function copyUserRelatedDataAccessorFactoryFunction() {
|
|
92
|
+
return (0, exports.COPY_USER_RELATED_DATA_ACCESSOR_FACTORY_FUNCTION)();
|
|
93
|
+
}
|
|
94
|
+
exports.copyUserRelatedDataAccessorFactoryFunction = copyUserRelatedDataAccessorFactoryFunction;
|
|
95
|
+
//# sourceMappingURL=accessor.wrap.modify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accessor.wrap.modify.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/accessor.wrap.modify.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,25 @@
|
|
|
1
|
-
import { FirestoreModelId, FirestoreModelIdRef, FirestoreModelKey, FirestoreModelKeyRef, FirestoreModelName } from './../collection/collection';
|
|
2
1
|
import { Observable } from 'rxjs';
|
|
3
2
|
import { FirestoreAccessorDriverRef } from '../driver/accessor';
|
|
3
|
+
import { FirestoreModelId, FirestoreModelIdRef, FirestoreModelKey, FirestoreModelKeyRef, FirestoreModelName } from './../collection/collection';
|
|
4
4
|
import { DocumentReference, CollectionReference, Transaction, WriteBatch, DocumentSnapshot, SnapshotOptions, WriteResult } from '../types';
|
|
5
5
|
import { FirestoreDocumentDataAccessor } from './accessor';
|
|
6
6
|
import { CollectionReferenceRef, DocumentReferenceRef, FirestoreContextReference } from '../reference';
|
|
7
7
|
import { FirestoreDocumentContext } from './context';
|
|
8
8
|
import { FirestoreModelNameRef, FirestoreModelIdentity, FirestoreModelIdentityRef } from '../collection/collection';
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
import { InterceptAccessorFactoryFunction } from './accessor.wrap';
|
|
10
|
+
export interface FirestoreDocument<T, M extends FirestoreModelName = FirestoreModelName> extends DocumentReferenceRef<T>, CollectionReferenceRef<T>, FirestoreModelIdentityRef<M>, FirestoreModelNameRef<M>, FirestoreModelKeyRef, FirestoreModelIdRef {
|
|
11
|
+
readonly accessor: FirestoreDocumentDataAccessor<T>;
|
|
11
12
|
readonly id: string;
|
|
12
13
|
}
|
|
13
14
|
/**
|
|
14
15
|
* Abstract FirestoreDocument implementation that extends a FirestoreDocumentDataAccessor.
|
|
15
16
|
*/
|
|
16
|
-
export declare abstract class AbstractFirestoreDocument<T, D extends AbstractFirestoreDocument<T, any,
|
|
17
|
-
readonly accessor:
|
|
17
|
+
export declare abstract class AbstractFirestoreDocument<T, D extends AbstractFirestoreDocument<T, any, M>, M extends FirestoreModelName = FirestoreModelName> implements FirestoreDocument<T>, LimitedFirestoreDocumentAccessorRef<T, D>, CollectionReferenceRef<T> {
|
|
18
|
+
readonly accessor: FirestoreDocumentDataAccessor<T>;
|
|
18
19
|
readonly documentAccessor: LimitedFirestoreDocumentAccessor<T, D>;
|
|
19
20
|
readonly stream$: Observable<DocumentSnapshot<T>>;
|
|
20
21
|
readonly data$: Observable<T>;
|
|
21
|
-
constructor(accessor:
|
|
22
|
+
constructor(accessor: FirestoreDocumentDataAccessor<T>, documentAccessor: LimitedFirestoreDocumentAccessor<T, D>);
|
|
22
23
|
abstract get modelIdentity(): FirestoreModelIdentity<M>;
|
|
23
24
|
get modelType(): M;
|
|
24
25
|
get id(): FirestoreModelId;
|
|
@@ -77,14 +78,29 @@ export interface FirestoreDocumentAccessor<T, D extends FirestoreDocument<T> = F
|
|
|
77
78
|
*
|
|
78
79
|
* @param ref
|
|
79
80
|
*/
|
|
80
|
-
|
|
81
|
+
loadDocumentForId(id: FirestoreModelId): D;
|
|
81
82
|
/**
|
|
82
83
|
* Creates a document ref relative to the current context and given the input path.
|
|
83
84
|
*
|
|
84
85
|
* @param path
|
|
85
86
|
* @param pathSegments
|
|
86
87
|
*/
|
|
87
|
-
|
|
88
|
+
documentRefForId(id: FirestoreModelId): DocumentReference<T>;
|
|
89
|
+
/**
|
|
90
|
+
* Loads a document from the datastore with the given id/path.
|
|
91
|
+
*
|
|
92
|
+
* @deprecated use loadDocumentForId instead. Will be removed in the future.
|
|
93
|
+
* @param ref
|
|
94
|
+
*/
|
|
95
|
+
loadDocumentForPath(id: FirestoreModelId): D;
|
|
96
|
+
/**
|
|
97
|
+
* Creates a document ref relative to the current context and given the input path.
|
|
98
|
+
*
|
|
99
|
+
* @deprecated use documentRefForId instead. Will be removed in the future.
|
|
100
|
+
* @param path
|
|
101
|
+
* @param pathSegments
|
|
102
|
+
*/
|
|
103
|
+
documentRefForPath(id: FirestoreModelId): DocumentReference<T>;
|
|
88
104
|
}
|
|
89
105
|
/**
|
|
90
106
|
* Used to generate a FirestoreDocument from an input FirestoreDocumentDataAccessor instance.
|
|
@@ -109,6 +125,10 @@ export interface LimitedFirestoreDocumentAccessorFactory<T, D extends FirestoreD
|
|
|
109
125
|
* FirestoreDocumentAccessor configuration.
|
|
110
126
|
*/
|
|
111
127
|
export interface LimitedFirestoreDocumentAccessorFactoryConfig<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends FirestoreContextReference, FirestoreAccessorDriverRef {
|
|
128
|
+
/**
|
|
129
|
+
* Optional InterceptAccessorFactoryFunction to intercept/return a modified accessor factory.
|
|
130
|
+
*/
|
|
131
|
+
readonly accessorFactory?: InterceptAccessorFactoryFunction<T>;
|
|
112
132
|
readonly makeDocument: FirestoreDocumentFactoryFunction<T, D>;
|
|
113
133
|
}
|
|
114
134
|
export declare function limitedFirestoreDocumentAccessorFactory<T, D extends FirestoreDocument<T> = FirestoreDocument<T>>(config: LimitedFirestoreDocumentAccessorFactoryConfig<T, D>): LimitedFirestoreDocumentAccessorFactoryFunction<T, D>;
|
|
@@ -153,12 +173,12 @@ export interface FirestoreDocumentAccessorContextExtension<T, D extends Firestor
|
|
|
153
173
|
}
|
|
154
174
|
export declare function firestoreDocumentAccessorContextExtension<T, D extends FirestoreDocument<T> = FirestoreDocument<T>>({ documentAccessor, firestoreAccessorDriver }: FirestoreDocumentAccessorContextExtensionConfig<T, D>): FirestoreDocumentAccessorContextExtension<T, D>;
|
|
155
175
|
export declare function firestoreDocumentAccessorContextExtension<T, D extends FirestoreDocument<T> = FirestoreDocument<T>>({ documentAccessor, firestoreAccessorDriver }: LimitedFirestoreDocumentAccessorContextExtensionConfig<T, D>): LimitedFirestoreDocumentAccessorContextExtension<T, D>;
|
|
156
|
-
export interface FirestoreDocumentWithParent<P, T
|
|
176
|
+
export interface FirestoreDocumentWithParent<P, T> extends FirestoreDocument<T> {
|
|
157
177
|
readonly parent: DocumentReference<P>;
|
|
158
178
|
}
|
|
159
|
-
export declare abstract class AbstractFirestoreDocumentWithParent<P, T, D extends AbstractFirestoreDocument<T, any
|
|
179
|
+
export declare abstract class AbstractFirestoreDocumentWithParent<P, T, D extends AbstractFirestoreDocument<T, any>> extends AbstractFirestoreDocument<T, D> implements FirestoreDocumentWithParent<P, T> {
|
|
160
180
|
get parent(): DocumentReference<P>;
|
|
161
|
-
constructor(accessor:
|
|
181
|
+
constructor(accessor: FirestoreDocumentDataAccessor<T>, documentAccessor: LimitedFirestoreDocumentAccessor<T, D>);
|
|
162
182
|
}
|
|
163
183
|
export interface FirestoreSingleDocumentAccessor<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> {
|
|
164
184
|
loadDocument(): D;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/*eslint @typescript-eslint/no-explicit-any:"off"*/
|
|
3
|
+
// any is used with intent here, as the recursive AbstractFirestoreDocument requires its use to terminate.
|
|
2
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
5
|
exports.firestoreSingleDocumentAccessor = exports.AbstractFirestoreDocumentWithParent = exports.firestoreDocumentAccessorContextExtension = exports.firestoreDocumentAccessorFactory = exports.limitedFirestoreDocumentAccessorFactory = exports.AbstractFirestoreDocument = void 0;
|
|
4
6
|
const accessor_1 = require("./accessor");
|
|
@@ -46,13 +48,13 @@ class AbstractFirestoreDocument {
|
|
|
46
48
|
}
|
|
47
49
|
exports.AbstractFirestoreDocument = AbstractFirestoreDocument;
|
|
48
50
|
function limitedFirestoreDocumentAccessorFactory(config) {
|
|
49
|
-
const { firestoreContext, firestoreAccessorDriver } = config;
|
|
51
|
+
const { firestoreContext, firestoreAccessorDriver, makeDocument, accessorFactory: interceptAccessorFactory } = config;
|
|
50
52
|
return (context) => {
|
|
51
53
|
const databaseContext = context !== null && context !== void 0 ? context : config.firestoreAccessorDriver.defaultContextFactory();
|
|
52
|
-
const dataAccessorFactory = databaseContext.accessorFactory;
|
|
54
|
+
const dataAccessorFactory = interceptAccessorFactory ? interceptAccessorFactory(databaseContext.accessorFactory) : databaseContext.accessorFactory;
|
|
53
55
|
function loadDocument(ref) {
|
|
54
56
|
const accessor = dataAccessorFactory.accessorFor(ref);
|
|
55
|
-
return
|
|
57
|
+
return makeDocument(accessor, documentAccessor);
|
|
56
58
|
}
|
|
57
59
|
function documentRefForKey(fullPath) {
|
|
58
60
|
return firestoreAccessorDriver.docAtPath(firestoreContext.firestore, fullPath);
|
|
@@ -78,7 +80,7 @@ exports.limitedFirestoreDocumentAccessorFactory = limitedFirestoreDocumentAccess
|
|
|
78
80
|
function firestoreDocumentAccessorFactory(config) {
|
|
79
81
|
const { firestoreAccessorDriver, collection } = config;
|
|
80
82
|
const limitedFirestoreDocumentAccessor = limitedFirestoreDocumentAccessorFactory(config);
|
|
81
|
-
function
|
|
83
|
+
function documentRefForId(path, ...pathSegments) {
|
|
82
84
|
return firestoreAccessorDriver.doc(collection, path, ...pathSegments);
|
|
83
85
|
}
|
|
84
86
|
return (context) => {
|
|
@@ -90,13 +92,16 @@ function firestoreDocumentAccessorFactory(config) {
|
|
|
90
92
|
const newDocRef = firestoreAccessorDriver.doc(collection);
|
|
91
93
|
return documentAccessor.loadDocument(newDocRef);
|
|
92
94
|
};
|
|
93
|
-
x.
|
|
94
|
-
x.
|
|
95
|
+
x.documentRefForId = documentRefForId;
|
|
96
|
+
x.loadDocumentForId = (path, ...pathSegments) => {
|
|
95
97
|
if (!path) {
|
|
96
|
-
throw new Error('Path was not provided to
|
|
98
|
+
throw new Error('Path was not provided to loadDocumentForId(). Use newDocument() for generating an id.');
|
|
97
99
|
}
|
|
98
|
-
return documentAccessor.loadDocument(
|
|
100
|
+
return documentAccessor.loadDocument(documentRefForId(path, ...pathSegments));
|
|
99
101
|
};
|
|
102
|
+
// TODO: Remove later
|
|
103
|
+
x.documentRefForPath = x.documentRefForId;
|
|
104
|
+
x.loadDocumentForPath = x.loadDocumentForId;
|
|
100
105
|
}
|
|
101
106
|
});
|
|
102
107
|
return documentAccessor;
|
|
@@ -128,13 +133,13 @@ function firestoreSingleDocumentAccessor(config) {
|
|
|
128
133
|
const { singleItemIdentifier: identifier, accessors } = config;
|
|
129
134
|
return {
|
|
130
135
|
loadDocument() {
|
|
131
|
-
return accessors.documentAccessor().
|
|
136
|
+
return accessors.documentAccessor().loadDocumentForId(identifier);
|
|
132
137
|
},
|
|
133
138
|
loadDocumentForTransaction(transaction) {
|
|
134
|
-
return accessors.documentAccessorForTransaction(transaction).
|
|
139
|
+
return accessors.documentAccessorForTransaction(transaction).loadDocumentForId(identifier);
|
|
135
140
|
},
|
|
136
141
|
loadDocumentForWriteBatch(writeBatch) {
|
|
137
|
-
return accessors.documentAccessorForWriteBatch(writeBatch).
|
|
142
|
+
return accessors.documentAccessorForWriteBatch(writeBatch).loadDocumentForId(identifier);
|
|
138
143
|
}
|
|
139
144
|
};
|
|
140
145
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/document.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/document.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,10 @@ import { FirestoreDocument, FirestoreDocumentAccessor, LimitedFirestoreDocumentA
|
|
|
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;
|
|
7
|
+
/**
|
|
8
|
+
* Optional override to create a new document using the input accessor.
|
|
9
|
+
*/
|
|
10
|
+
newDocument?: (documentAccessor: FirestoreDocumentAccessor<T, D>) => D;
|
|
7
11
|
/**
|
|
8
12
|
* Initializes the input document with the returned data.
|
|
9
13
|
*
|
|
@@ -15,10 +15,12 @@ exports.newDocuments = newDocuments;
|
|
|
15
15
|
* @returns
|
|
16
16
|
*/
|
|
17
17
|
function makeDocuments(documentAccessor, make) {
|
|
18
|
+
var _a;
|
|
19
|
+
const newDocumentFn = (_a = make.newDocument) !== null && _a !== void 0 ? _a : (() => documentAccessor.newDocument());
|
|
18
20
|
return (0, util_1.performMakeLoop)({
|
|
19
21
|
count: make.count,
|
|
20
22
|
make: (i) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
21
|
-
const document = documentAccessor
|
|
23
|
+
const document = newDocumentFn(documentAccessor);
|
|
22
24
|
const data = yield make.init(i, document);
|
|
23
25
|
if (data != null) {
|
|
24
26
|
yield document.accessor.set(data);
|
|
@@ -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;
|
|
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;AAkBD;;;;;;GAMG;AACH,SAAgB,aAAa,CAAoC,gBAAiD,EAAE,IAA+B;;IACjJ,MAAM,aAAa,GAAG,MAAA,IAAI,CAAC,WAAW,mCAAI,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC;IACjF,OAAO,IAAA,sBAAe,EAAC;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,CAAO,CAAS,EAAE,EAAE;YACxB,MAAM,QAAQ,GAAM,aAAa,CAAC,gBAAgB,CAAC,CAAC;YACpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAE1C,IAAI,IAAI,IAAI,IAAI,EAAE;gBAChB,MAAM,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACnC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAA;KACF,CAAC,CAAC;AACL,CAAC;AAfD,sCAeC;AAED,SAAgB,oBAAoB,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,6 +1,8 @@
|
|
|
1
1
|
export * from './accessor.batch';
|
|
2
2
|
export * from './accessor.default';
|
|
3
3
|
export * from './accessor.transaction';
|
|
4
|
+
export * from './accessor.wrap';
|
|
5
|
+
export * from './accessor.wrap.modify';
|
|
4
6
|
export * from './accessor';
|
|
5
7
|
export * from './context.batch';
|
|
6
8
|
export * from './context.default';
|
|
@@ -4,6 +4,8 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
tslib_1.__exportStar(require("./accessor.batch"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./accessor.default"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./accessor.transaction"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./accessor.wrap"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./accessor.wrap.modify"), exports);
|
|
7
9
|
tslib_1.__exportStar(require("./accessor"), exports);
|
|
8
10
|
tslib_1.__exportStar(require("./context.batch"), exports);
|
|
9
11
|
tslib_1.__exportStar(require("./context.default"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,6DAAmC;AACnC,iEAAuC;AACvC,qDAA2B;AAC3B,0DAAgC;AAChC,4DAAkC;AAClC,gEAAsC;AACtC,oDAA0B;AAC1B,qDAA2B;AAC3B,6DAAmC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,6DAAmC;AACnC,iEAAuC;AACvC,0DAAgC;AAChC,iEAAuC;AACvC,qDAA2B;AAC3B,0DAAgC;AAChC,4DAAkC;AAClC,gEAAsC;AACtC,oDAA0B;AAC1B,qDAA2B;AAC3B,6DAAmC"}
|
|
@@ -46,6 +46,10 @@ 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 interface WhereDocumentIdQueryConstraintData extends Omit<WhereQueryConstraintData, 'fieldPath'> {
|
|
51
|
+
}
|
|
52
|
+
export declare function whereDocumentId(opStr: WhereFilterOp, value: unknown): FirestoreQueryConstraint<WhereDocumentIdQueryConstraintData>;
|
|
49
53
|
export declare const FIRESTORE_ORDER_BY_QUERY_CONSTRAINT_TYPE = "order_by";
|
|
50
54
|
export declare type OrderByDirection = SortingOrder;
|
|
51
55
|
export interface OrderByQueryConstraintData {
|
|
@@ -111,6 +115,7 @@ export declare type FullFirestoreQueryConstraintDataMapping = {
|
|
|
111
115
|
[FIRESTORE_LIMIT_QUERY_CONSTRAINT_TYPE]: LimitQueryConstraintData;
|
|
112
116
|
[FIRESTORE_LIMIT_TO_LAST_QUERY_CONSTRAINT_TYPE]: LimitToLastQueryConstraintData;
|
|
113
117
|
[FIRESTORE_WHERE_QUERY_CONSTRAINT_TYPE]: WhereQueryConstraintData;
|
|
118
|
+
[FIRESTORE_WHERE_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE]: WhereDocumentIdQueryConstraintData;
|
|
114
119
|
[FIRESTORE_OFFSET_QUERY_CONSTRAINT_TYPE]: OffsetQueryConstraintData;
|
|
115
120
|
[FIRESTORE_ORDER_BY_QUERY_CONSTRAINT_TYPE]: OrderByQueryConstraintData;
|
|
116
121
|
[FIRESTORE_ORDER_BY_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE]: OrderByDocumentIdQueryConstraintData;
|