@dereekb/firebase 8.13.0 → 8.13.1
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 +4 -0
- package/package.json +5 -5
- package/src/lib/common/auth/auth.d.ts +6 -0
- package/src/lib/common/firestore/accessor/accessor.d.ts +30 -1
- package/src/lib/common/firestore/accessor/accessor.js +28 -1
- package/src/lib/common/firestore/accessor/accessor.js.map +1 -1
- package/src/lib/common/firestore/accessor/document.d.ts +21 -6
- package/src/lib/common/firestore/accessor/document.js +22 -3
- package/src/lib/common/firestore/accessor/document.js.map +1 -1
- package/src/lib/common/firestore/snapshot/snapshot.field.d.ts +6 -0
- package/src/lib/common/firestore/snapshot/snapshot.field.js +10 -1
- package/src/lib/common/firestore/snapshot/snapshot.field.js.map +1 -1
- package/src/lib/common/firestore/types.d.ts +3 -0
- package/test/CHANGELOG.md +4 -0
- package/test/package.json +7 -7
- package/test/src/lib/common/firestore/test.driver.accessor.d.ts +4 -3
- package/test/src/lib/common/firestore/test.driver.accessor.js +210 -156
- package/test/src/lib/common/firestore/test.driver.accessor.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [8.13.1](https://github.com/dereekb/dbx-components/compare/v8.13.0-dev...v8.13.1) (2022-07-19)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
5
9
|
# [8.13.0](https://github.com/dereekb/dbx-components/compare/v8.12.13-dev...v8.13.0) (2022-07-16)
|
|
6
10
|
|
|
7
11
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase",
|
|
3
|
-
"version": "8.13.
|
|
3
|
+
"version": "8.13.1",
|
|
4
4
|
"devDependencies": {
|
|
5
5
|
"@firebase/rules-unit-testing": "^2.0.0"
|
|
6
6
|
},
|
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
"rxfire": "^6.0.3",
|
|
24
24
|
"rxjs": "^7.0.0",
|
|
25
25
|
"firebase": "^9.8.0",
|
|
26
|
-
"@dereekb/util": "8.13.
|
|
26
|
+
"@dereekb/util": "8.13.1",
|
|
27
27
|
"make-error": "^1.3.0",
|
|
28
28
|
"ts-essentials": "^9.1.2",
|
|
29
29
|
"extra-set": "^2.2.11",
|
|
30
|
-
"@dereekb/rxjs": "8.13.
|
|
30
|
+
"@dereekb/rxjs": "8.13.1",
|
|
31
31
|
"ms": "^3.0.0-canary.1",
|
|
32
|
-
"@dereekb/model": "8.13.
|
|
32
|
+
"@dereekb/model": "8.13.1",
|
|
33
33
|
"class-transformer": "^0.5.1",
|
|
34
34
|
"class-validator": "^0.13.2",
|
|
35
|
-
"@dereekb/date": "8.13.
|
|
35
|
+
"@dereekb/date": "8.13.1",
|
|
36
36
|
"date-fns": "^2.28.0",
|
|
37
37
|
"date-fns-tz": "^1.3.0",
|
|
38
38
|
"rrule": "git+https://git@github.com/dereekb/rrule#2b13b1ea881059ba2ecfec380e12ef244ef54570",
|
|
@@ -11,3 +11,9 @@ export declare type FirebaseAuthToken = {
|
|
|
11
11
|
emailVerified?: Maybe<boolean>;
|
|
12
12
|
phoneNumber?: Maybe<string>;
|
|
13
13
|
};
|
|
14
|
+
/**
|
|
15
|
+
* A string key used to test for ownership of a particular set of objects.
|
|
16
|
+
*
|
|
17
|
+
* For instance, a database model (or its parent) may have an ownership key associated with it that is compared with the user's current claims.
|
|
18
|
+
*/
|
|
19
|
+
export declare type FirebaseAuthOwnershipKey = string;
|
|
@@ -95,11 +95,18 @@ export declare function mapDataFromSnapshot<T>(options?: SnapshotOptions): Opera
|
|
|
95
95
|
* If it does exist, update is done using set + merge on all defined values.
|
|
96
96
|
*
|
|
97
97
|
* @param data
|
|
98
|
+
* @deprecated See createOrUpdateWithAccessorSet()
|
|
98
99
|
*/
|
|
99
100
|
export declare type CreateOrUpdateWithAccessorSetFunction<T> = (data: Partial<T>) => Promise<WriteResult | void>;
|
|
101
|
+
/**
|
|
102
|
+
*
|
|
103
|
+
* @param accessor
|
|
104
|
+
* @returns
|
|
105
|
+
* @deprecated Use either create or update. Behavior of this function is undesirable, and it can trip up transactions since it will perform a read.
|
|
106
|
+
*/
|
|
100
107
|
export declare function createOrUpdateWithAccessorSet<T>(accessor: FirestoreDocumentDataAccessor<T>): CreateOrUpdateWithAccessorSetFunction<T>;
|
|
101
108
|
/**
|
|
102
|
-
* Updates the target object using the input data.
|
|
109
|
+
* Updates the target object using the input data after checking existence.
|
|
103
110
|
*
|
|
104
111
|
* Calls accessor's set configured for updating/merging, and filters all undefined values from the input data.
|
|
105
112
|
* If it does exist, update will fail.
|
|
@@ -107,4 +114,26 @@ export declare function createOrUpdateWithAccessorSet<T>(accessor: FirestoreDocu
|
|
|
107
114
|
* @param data
|
|
108
115
|
*/
|
|
109
116
|
export declare type UpdateWithAccessorSetFunction<T> = (data: Partial<T>, forceUpdate?: boolean) => Promise<WriteResult | void>;
|
|
117
|
+
/**
|
|
118
|
+
* @deprecated This does not behave well within transactions.
|
|
119
|
+
*
|
|
120
|
+
* @param accessor
|
|
121
|
+
* @returns
|
|
122
|
+
*/
|
|
110
123
|
export declare function updateWithAccessorSet<T>(accessor: FirestoreDocumentDataAccessor<T>): UpdateWithAccessorSetFunction<T>;
|
|
124
|
+
/**
|
|
125
|
+
* Updates the target object using the input data that uses the input converter to build data suitable for the update function.
|
|
126
|
+
*
|
|
127
|
+
* If the target object does not exist, this will fail.
|
|
128
|
+
*
|
|
129
|
+
* @param data
|
|
130
|
+
*/
|
|
131
|
+
export declare type UpdateWithAccessorUpdateAndConverterFunction<T> = (data: Partial<T>, params?: FirestoreDocumentUpdateParams) => Promise<WriteResult | void>;
|
|
132
|
+
/**
|
|
133
|
+
* Creates a updateWithAccessorUpdateAndConverter
|
|
134
|
+
*
|
|
135
|
+
* @param accessor
|
|
136
|
+
* @param converter
|
|
137
|
+
* @returns
|
|
138
|
+
*/
|
|
139
|
+
export declare function updateWithAccessorUpdateAndConverterFunction<T>(accessor: FirestoreDocumentDataAccessor<T>, converter: FirestoreDataConverter<T>): UpdateWithAccessorUpdateAndConverterFunction<T>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.updateWithAccessorSet = exports.createOrUpdateWithAccessorSet = exports.mapDataFromSnapshot = exports.dataFromSnapshotStream = void 0;
|
|
3
|
+
exports.updateWithAccessorUpdateAndConverterFunction = exports.updateWithAccessorSet = exports.createOrUpdateWithAccessorSet = exports.mapDataFromSnapshot = exports.dataFromSnapshotStream = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const rxjs_1 = require("@dereekb/rxjs");
|
|
6
6
|
const util_1 = require("@dereekb/util");
|
|
@@ -29,6 +29,12 @@ function mapDataFromSnapshot(options) {
|
|
|
29
29
|
return (0, rxjs_2.map)((x) => x.data(options));
|
|
30
30
|
}
|
|
31
31
|
exports.mapDataFromSnapshot = mapDataFromSnapshot;
|
|
32
|
+
/**
|
|
33
|
+
*
|
|
34
|
+
* @param accessor
|
|
35
|
+
* @returns
|
|
36
|
+
* @deprecated Use either create or update. Behavior of this function is undesirable, and it can trip up transactions since it will perform a read.
|
|
37
|
+
*/
|
|
32
38
|
function createOrUpdateWithAccessorSet(accessor) {
|
|
33
39
|
return (data) => {
|
|
34
40
|
return accessor.exists().then((exists) => {
|
|
@@ -42,6 +48,12 @@ function createOrUpdateWithAccessorSet(accessor) {
|
|
|
42
48
|
};
|
|
43
49
|
}
|
|
44
50
|
exports.createOrUpdateWithAccessorSet = createOrUpdateWithAccessorSet;
|
|
51
|
+
/**
|
|
52
|
+
* @deprecated This does not behave well within transactions.
|
|
53
|
+
*
|
|
54
|
+
* @param accessor
|
|
55
|
+
* @returns
|
|
56
|
+
*/
|
|
45
57
|
function updateWithAccessorSet(accessor) {
|
|
46
58
|
return (data, forceUpdate) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
47
59
|
const exists = forceUpdate || (yield accessor.exists());
|
|
@@ -53,4 +65,19 @@ function updateWithAccessorSet(accessor) {
|
|
|
53
65
|
});
|
|
54
66
|
}
|
|
55
67
|
exports.updateWithAccessorSet = updateWithAccessorSet;
|
|
68
|
+
/**
|
|
69
|
+
* Creates a updateWithAccessorUpdateAndConverter
|
|
70
|
+
*
|
|
71
|
+
* @param accessor
|
|
72
|
+
* @param converter
|
|
73
|
+
* @returns
|
|
74
|
+
*/
|
|
75
|
+
function updateWithAccessorUpdateAndConverterFunction(accessor, converter) {
|
|
76
|
+
return (data, params) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
77
|
+
const updateInput = (0, util_1.filterUndefinedValues)(data);
|
|
78
|
+
const updateData = converter.toFirestore(updateInput, { merge: true }); // treat it as a merge
|
|
79
|
+
return params != null ? accessor.update(updateData, params) : accessor.update(updateData);
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
exports.updateWithAccessorUpdateAndConverterFunction = updateWithAccessorUpdateAndConverterFunction;
|
|
56
83
|
//# sourceMappingURL=accessor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessor.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/accessor.ts"],"names":[],"mappings":";;;;AAAA,wCAA4C;AAC5C,
|
|
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;AAWD;;;;;;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;QAC9F,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;IAC5F,CAAC,CAAA,CAAC;AACJ,CAAC;AAND,oGAMC"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
2
|
import { FirestoreAccessorDriverRef } from '../driver/accessor';
|
|
3
3
|
import { FirestoreCollectionNameRef, FirestoreModelId, FirestoreModelIdentityCollectionName, FirestoreModelIdentityModelType, FirestoreModelIdentityRef, FirestoreModelIdRef, FirestoreModelKey, FirestoreModelKeyRef } from './../collection/collection';
|
|
4
|
-
import { DocumentReference, CollectionReference, Transaction, WriteBatch, DocumentSnapshot, SnapshotOptions, WriteResult } from '../types';
|
|
5
|
-
import { FirestoreDocumentDataAccessor } from './accessor';
|
|
4
|
+
import { DocumentReference, CollectionReference, Transaction, WriteBatch, DocumentSnapshot, SnapshotOptions, WriteResult, FirestoreDataConverter } from '../types';
|
|
5
|
+
import { FirestoreDocumentDataAccessor, FirestoreDocumentUpdateParams } from './accessor';
|
|
6
6
|
import { CollectionReferenceRef, DocumentReferenceRef, FirestoreContextReference, FirestoreDataConverterRef } from '../reference';
|
|
7
7
|
import { FirestoreDocumentContext } from './context';
|
|
8
8
|
import { Maybe } from '@dereekb/util';
|
|
9
9
|
import { FirestoreModelTypeRef, FirestoreModelIdentity, FirestoreModelTypeModelIdentityRef } from '../collection/collection';
|
|
10
10
|
import { InterceptAccessorFactoryFunction } from './accessor.wrap';
|
|
11
|
-
export interface FirestoreDocument<T, I extends FirestoreModelIdentity = FirestoreModelIdentity> extends DocumentReferenceRef<T>, CollectionReferenceRef<T>, FirestoreModelIdentityRef<I>, FirestoreModelTypeRef<FirestoreModelIdentityModelType<I>>, FirestoreCollectionNameRef<FirestoreModelIdentityCollectionName<I>>, FirestoreModelKeyRef, FirestoreModelIdRef {
|
|
11
|
+
export interface FirestoreDocument<T, I extends FirestoreModelIdentity = FirestoreModelIdentity> extends FirestoreDataConverterRef<T>, DocumentReferenceRef<T>, CollectionReferenceRef<T>, FirestoreModelIdentityRef<I>, FirestoreModelTypeRef<FirestoreModelIdentityModelType<I>>, FirestoreCollectionNameRef<FirestoreModelIdentityCollectionName<I>>, FirestoreModelKeyRef, FirestoreModelIdRef {
|
|
12
12
|
readonly accessor: FirestoreDocumentDataAccessor<T>;
|
|
13
13
|
readonly id: string;
|
|
14
14
|
snapshot(): Promise<DocumentSnapshot<T>>;
|
|
15
15
|
snapshotData(options?: SnapshotOptions): Promise<T | undefined>;
|
|
16
|
+
exists(): Promise<boolean>;
|
|
16
17
|
create(data: T): Promise<WriteResult | void>;
|
|
17
18
|
update(data: Partial<T>): Promise<WriteResult | void>;
|
|
18
19
|
createOrUpdate(data: Partial<T>): Promise<WriteResult | void>;
|
|
@@ -37,6 +38,7 @@ export declare abstract class AbstractFirestoreDocument<T, D extends AbstractFir
|
|
|
37
38
|
get key(): FirestoreModelKey;
|
|
38
39
|
get documentRef(): DocumentReference<T>;
|
|
39
40
|
get collection(): CollectionReference<T>;
|
|
41
|
+
get converter(): FirestoreDataConverter<T>;
|
|
40
42
|
/**
|
|
41
43
|
* Retrieves a DocumentSnapshot of the document.
|
|
42
44
|
* @returns
|
|
@@ -48,6 +50,13 @@ export declare abstract class AbstractFirestoreDocument<T, D extends AbstractFir
|
|
|
48
50
|
* @returns
|
|
49
51
|
*/
|
|
50
52
|
snapshotData(options?: SnapshotOptions): Promise<T | undefined>;
|
|
53
|
+
/**
|
|
54
|
+
* Returns true if the model exists.
|
|
55
|
+
*
|
|
56
|
+
* @param data
|
|
57
|
+
* @returns
|
|
58
|
+
*/
|
|
59
|
+
exists(): Promise<boolean>;
|
|
51
60
|
/**
|
|
52
61
|
* Creates the document if it does not exist, using the accessor's create functionality.
|
|
53
62
|
*
|
|
@@ -56,17 +65,23 @@ export declare abstract class AbstractFirestoreDocument<T, D extends AbstractFir
|
|
|
56
65
|
*/
|
|
57
66
|
create(data: T): Promise<WriteResult | void>;
|
|
58
67
|
/**
|
|
59
|
-
* Updates the document
|
|
68
|
+
* Updates the document using the accessor's update functionalty if the document exists. This differs from Firestore's default
|
|
69
|
+
* update implementation which does not use the configured converter. This update function will, allowing the use of
|
|
70
|
+
* snapshotConverterFunctions().
|
|
71
|
+
*
|
|
72
|
+
* Throws an exception when it does not exist.
|
|
60
73
|
*
|
|
61
74
|
* @param data
|
|
62
75
|
* @returns
|
|
63
76
|
*/
|
|
64
|
-
update(data: Partial<T
|
|
77
|
+
update(data: Partial<T>, params?: FirestoreDocumentUpdateParams): Promise<WriteResult | void>;
|
|
65
78
|
/**
|
|
66
79
|
* Creates or updates the existing document using the accessor's set functionality.
|
|
67
80
|
*
|
|
68
81
|
* @param data
|
|
69
82
|
* @returns
|
|
83
|
+
*
|
|
84
|
+
* @deprecated Use either create or update. Behavior of this function is undesirable, and it can trip up transactions since it will perform a read.
|
|
70
85
|
*/
|
|
71
86
|
createOrUpdate(data: Partial<T>): Promise<WriteResult | void>;
|
|
72
87
|
}
|
|
@@ -74,7 +89,7 @@ export interface LimitedFirestoreDocumentAccessorRef<T, D extends FirestoreDocum
|
|
|
74
89
|
readonly documentAccessor: A;
|
|
75
90
|
}
|
|
76
91
|
export declare type FirestoreDocumentAccessorRef<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> = LimitedFirestoreDocumentAccessorRef<T, D, FirestoreDocumentAccessor<T, D>>;
|
|
77
|
-
export interface LimitedFirestoreDocumentAccessor<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends FirestoreModelTypeModelIdentityRef, FirestoreAccessorDriverRef {
|
|
92
|
+
export interface LimitedFirestoreDocumentAccessor<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends FirestoreDataConverterRef<T>, FirestoreModelTypeModelIdentityRef, FirestoreAccessorDriverRef {
|
|
78
93
|
readonly databaseContext: FirestoreDocumentContext<T>;
|
|
79
94
|
/**
|
|
80
95
|
* Loads a document from the datastore.
|
|
@@ -33,6 +33,9 @@ class AbstractFirestoreDocument {
|
|
|
33
33
|
get collection() {
|
|
34
34
|
return this.accessor.documentRef.parent;
|
|
35
35
|
}
|
|
36
|
+
get converter() {
|
|
37
|
+
return this.documentAccessor.converter;
|
|
38
|
+
}
|
|
36
39
|
/**
|
|
37
40
|
* Retrieves a DocumentSnapshot of the document.
|
|
38
41
|
* @returns
|
|
@@ -48,6 +51,15 @@ class AbstractFirestoreDocument {
|
|
|
48
51
|
snapshotData(options) {
|
|
49
52
|
return this.snapshot().then((x) => x.data(options));
|
|
50
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Returns true if the model exists.
|
|
56
|
+
*
|
|
57
|
+
* @param data
|
|
58
|
+
* @returns
|
|
59
|
+
*/
|
|
60
|
+
exists() {
|
|
61
|
+
return this.accessor.exists();
|
|
62
|
+
}
|
|
51
63
|
/**
|
|
52
64
|
* Creates the document if it does not exist, using the accessor's create functionality.
|
|
53
65
|
*
|
|
@@ -58,19 +70,25 @@ class AbstractFirestoreDocument {
|
|
|
58
70
|
return this.accessor.create(data);
|
|
59
71
|
}
|
|
60
72
|
/**
|
|
61
|
-
* Updates the document
|
|
73
|
+
* Updates the document using the accessor's update functionalty if the document exists. This differs from Firestore's default
|
|
74
|
+
* update implementation which does not use the configured converter. This update function will, allowing the use of
|
|
75
|
+
* snapshotConverterFunctions().
|
|
76
|
+
*
|
|
77
|
+
* Throws an exception when it does not exist.
|
|
62
78
|
*
|
|
63
79
|
* @param data
|
|
64
80
|
* @returns
|
|
65
81
|
*/
|
|
66
|
-
update(data) {
|
|
67
|
-
return (0, accessor_1.
|
|
82
|
+
update(data, params) {
|
|
83
|
+
return (0, accessor_1.updateWithAccessorUpdateAndConverterFunction)(this.accessor, this.converter)(data, params);
|
|
68
84
|
}
|
|
69
85
|
/**
|
|
70
86
|
* Creates or updates the existing document using the accessor's set functionality.
|
|
71
87
|
*
|
|
72
88
|
* @param data
|
|
73
89
|
* @returns
|
|
90
|
+
*
|
|
91
|
+
* @deprecated Use either create or update. Behavior of this function is undesirable, and it can trip up transactions since it will perform a read.
|
|
74
92
|
*/
|
|
75
93
|
createOrUpdate(data) {
|
|
76
94
|
return (0, accessor_1.createOrUpdateWithAccessorSet)(this.accessor)(data);
|
|
@@ -103,6 +121,7 @@ function limitedFirestoreDocumentAccessorFactory(config) {
|
|
|
103
121
|
return loadDocument(ref);
|
|
104
122
|
}
|
|
105
123
|
const documentAccessor = {
|
|
124
|
+
converter,
|
|
106
125
|
modelIdentity,
|
|
107
126
|
loadDocumentFrom(document) {
|
|
108
127
|
return loadDocument(document.documentRef);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/document.ts"],"names":[],"mappings":";AAAA,mDAAmD;AACnD,0GAA0G;;;AAM1G,
|
|
1
|
+
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/accessor/document.ts"],"names":[],"mappings":"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"}
|
|
@@ -232,6 +232,12 @@ 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
|
+
/**
|
|
236
|
+
* Default configuration for a TimezoneString.
|
|
237
|
+
*
|
|
238
|
+
* The value defaults to UTC
|
|
239
|
+
*/
|
|
240
|
+
export declare function firestoreTimezoneString(): FirestoreModelFieldMapFunctionsConfig<"UTC", "UTC">;
|
|
235
241
|
export declare type FirestoreSetFieldConfig<T extends string | number> = DefaultMapConfiguredFirestoreFieldConfig<Set<T>, T[]>;
|
|
236
242
|
/**
|
|
237
243
|
* Do not use.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.firestoreSet = exports.firestoreLatLngString = exports.DEFAULT_FIRESTORE_LAT_LNG_STRING_VALUE = exports.firestoreSubObject = exports.firestoreObjectArray = exports.firestoreFieldConfigToModelMapFunctionsRef = exports.firestoreModelIdGrantedRoleArrayMap = exports.firestoreModelKeyGrantedRoleArrayMap = exports.firestoreArrayMap = exports.firestoreModelIdGrantedRoleMap = exports.firestoreModelKeyGrantedRoleMap = exports.firestoreMap = exports.firestoreEncodedArray = exports.firestoreModelIdArrayField = exports.firestoreModelKeyArrayField = exports.firestoreUniqueStringArray = exports.firestoreEnumArray = exports.firestoreUniqueKeyedArray = exports.firestoreUniqueArray = exports.optionalFirestoreArray = exports.firestoreArray = exports.optionalFirestoreNumber = exports.firestoreNumber = exports.optionalFirestoreBoolean = exports.firestoreBoolean = exports.optionalFirestoreDate = exports.firestoreDate = exports.firestoreModelIdString = exports.firestoreModelKeyString = exports.optionalFirestoreUID = exports.firestoreUID = exports.optionalFirestoreEnum = exports.firestoreEnum = exports.optionalFirestoreString = exports.firestoreString = exports.DEFAULT_FIRESTORE_STRING_FIELD_VALUE = exports.firestorePassThroughField = exports.FIRESTORE_PASSTHROUGH_FIELD = exports.firestoreField = void 0;
|
|
3
|
+
exports.firestoreSet = exports.firestoreTimezoneString = exports.firestoreLatLngString = exports.DEFAULT_FIRESTORE_LAT_LNG_STRING_VALUE = exports.firestoreSubObject = exports.firestoreObjectArray = exports.firestoreFieldConfigToModelMapFunctionsRef = exports.firestoreModelIdGrantedRoleArrayMap = exports.firestoreModelKeyGrantedRoleArrayMap = exports.firestoreArrayMap = exports.firestoreModelIdGrantedRoleMap = exports.firestoreModelKeyGrantedRoleMap = exports.firestoreMap = exports.firestoreEncodedArray = exports.firestoreModelIdArrayField = exports.firestoreModelKeyArrayField = exports.firestoreUniqueStringArray = exports.firestoreEnumArray = exports.firestoreUniqueKeyedArray = exports.firestoreUniqueArray = exports.optionalFirestoreArray = exports.firestoreArray = exports.optionalFirestoreNumber = exports.firestoreNumber = exports.optionalFirestoreBoolean = exports.firestoreBoolean = exports.optionalFirestoreDate = exports.firestoreDate = exports.firestoreModelIdString = exports.firestoreModelKeyString = exports.optionalFirestoreUID = exports.firestoreUID = exports.optionalFirestoreEnum = exports.firestoreEnum = exports.optionalFirestoreString = exports.firestoreString = exports.DEFAULT_FIRESTORE_STRING_FIELD_VALUE = 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_type_1 = require("./snapshot.type");
|
|
@@ -309,6 +309,15 @@ function firestoreLatLngString(config) {
|
|
|
309
309
|
});
|
|
310
310
|
}
|
|
311
311
|
exports.firestoreLatLngString = firestoreLatLngString;
|
|
312
|
+
/**
|
|
313
|
+
* Default configuration for a TimezoneString.
|
|
314
|
+
*
|
|
315
|
+
* The value defaults to UTC
|
|
316
|
+
*/
|
|
317
|
+
function firestoreTimezoneString() {
|
|
318
|
+
return firestoreString({ default: util_1.UTC_TIMEZONE_STRING });
|
|
319
|
+
}
|
|
320
|
+
exports.firestoreTimezoneString = firestoreTimezoneString;
|
|
312
321
|
/**
|
|
313
322
|
* Do not use.
|
|
314
323
|
*
|
|
@@ -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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"}
|
|
@@ -144,6 +144,9 @@ export interface WriteResult {
|
|
|
144
144
|
}
|
|
145
145
|
export interface Precondition {
|
|
146
146
|
readonly lastUpdateTime?: Timestamp;
|
|
147
|
+
/**
|
|
148
|
+
* @Deprecated not supported in all clients.
|
|
149
|
+
*/
|
|
147
150
|
readonly exists?: boolean;
|
|
148
151
|
}
|
|
149
152
|
export interface ReadOnlyTransactionOptions {
|
package/test/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [8.13.1](https://github.com/dereekb/dbx-components/compare/v8.13.0-dev...v8.13.1) (2022-07-19)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
5
9
|
# [8.13.0](https://github.com/dereekb/dbx-components/compare/v8.12.13-dev...v8.13.0) (2022-07-16)
|
|
6
10
|
|
|
7
11
|
|
package/test/package.json
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase/test",
|
|
3
|
-
"version": "8.13.
|
|
3
|
+
"version": "8.13.1",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"typings": "./src/index.d.ts",
|
|
7
7
|
"dependencies": {},
|
|
8
8
|
"peerDependencies": {
|
|
9
|
-
"@dereekb/util/test": "8.13.
|
|
10
|
-
"@dereekb/util": "8.13.
|
|
9
|
+
"@dereekb/util/test": "8.13.1",
|
|
10
|
+
"@dereekb/util": "8.13.1",
|
|
11
11
|
"make-error": "^1.3.0",
|
|
12
12
|
"ts-essentials": "^9.1.2",
|
|
13
13
|
"extra-set": "^2.2.11",
|
|
14
|
-
"@dereekb/firebase": "8.13.
|
|
14
|
+
"@dereekb/firebase": "8.13.1",
|
|
15
15
|
"rxfire": "^6.0.3",
|
|
16
16
|
"rxjs": "^7.0.0",
|
|
17
17
|
"firebase": "^9.8.0",
|
|
18
|
-
"@dereekb/rxjs": "8.13.
|
|
18
|
+
"@dereekb/rxjs": "8.13.1",
|
|
19
19
|
"ms": "^3.0.0-canary.1",
|
|
20
|
-
"@dereekb/model": "8.13.
|
|
20
|
+
"@dereekb/model": "8.13.1",
|
|
21
21
|
"class-transformer": "^0.5.1",
|
|
22
22
|
"class-validator": "^0.13.2",
|
|
23
|
-
"@dereekb/date": "8.13.
|
|
23
|
+
"@dereekb/date": "8.13.1",
|
|
24
24
|
"date-fns": "^2.28.0",
|
|
25
25
|
"date-fns-tz": "^1.3.0",
|
|
26
26
|
"rrule": "git+https://git@github.com/dereekb/rrule#2b13b1ea881059ba2ecfec380e12ef244ef54570",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Transaction, DocumentReference, WriteBatch,
|
|
1
|
+
import { Transaction, DocumentReference, WriteBatch, FirestoreContext, FirestoreDocument } from '@dereekb/firebase';
|
|
2
2
|
import { MockItemCollectionFixture } from '../mock';
|
|
3
|
+
import { Getter } from '@dereekb/util';
|
|
3
4
|
/**
|
|
4
5
|
* Describes accessor driver tests, using a MockItemCollectionFixture.
|
|
5
6
|
*
|
|
@@ -8,10 +9,10 @@ import { MockItemCollectionFixture } from '../mock';
|
|
|
8
9
|
export declare function describeFirestoreAccessorDriverTests(f: MockItemCollectionFixture): void;
|
|
9
10
|
export interface DescribeAccessorTests<T> {
|
|
10
11
|
context: FirestoreContext;
|
|
11
|
-
|
|
12
|
+
firestoreDocument: Getter<FirestoreDocument<T>>;
|
|
12
13
|
dataForUpdate: () => Partial<T>;
|
|
13
14
|
hasDataFromUpdate: (data: T) => boolean;
|
|
14
15
|
loadDocumentForTransaction: (transaction: Transaction, ref?: DocumentReference<T>) => FirestoreDocument<T>;
|
|
15
16
|
loadDocumentForWriteBatch: (writeBatch: WriteBatch, ref?: DocumentReference<T>) => FirestoreDocument<T>;
|
|
16
17
|
}
|
|
17
|
-
export declare function
|
|
18
|
+
export declare function describeFirestoreDocumentAccessorTests<T>(init: () => DescribeAccessorTests<T>): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.describeFirestoreDocumentAccessorTests = exports.describeFirestoreAccessorDriverTests = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const test_1 = require("@dereekb/util/test");
|
|
6
6
|
const rxjs_1 = require("rxjs");
|
|
@@ -37,10 +37,10 @@ function describeFirestoreAccessorDriverTests(f) {
|
|
|
37
37
|
itemDocument = items[0];
|
|
38
38
|
accessor = itemDocument.accessor;
|
|
39
39
|
});
|
|
40
|
-
describe('
|
|
41
|
-
|
|
40
|
+
describe('accessors', () => {
|
|
41
|
+
describeFirestoreDocumentAccessorTests(() => ({
|
|
42
42
|
context: f.parent.firestoreContext,
|
|
43
|
-
|
|
43
|
+
firestoreDocument: () => itemDocument,
|
|
44
44
|
dataForUpdate: () => ({ test: false }),
|
|
45
45
|
hasDataFromUpdate: (data) => data.test === false,
|
|
46
46
|
loadDocumentForTransaction: (transaction, ref) => f.instance.firestoreCollection.documentAccessorForTransaction(transaction).loadDocument(ref),
|
|
@@ -146,15 +146,6 @@ function describeFirestoreAccessorDriverTests(f) {
|
|
|
146
146
|
expect(data === null || data === void 0 ? void 0 : data.createdAt.getTime()).toBe(0);
|
|
147
147
|
}));
|
|
148
148
|
});
|
|
149
|
-
describe('createOrUpdate()', () => {
|
|
150
|
-
it('should create the item if it does not exist', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
151
|
-
let exists = yield itemPrivateDataDocument.accessor.exists();
|
|
152
|
-
expect(exists).toBe(false);
|
|
153
|
-
yield itemPrivateDataDocument.createOrUpdate({ createdAt: new Date() });
|
|
154
|
-
exists = yield privateDataAccessor.exists();
|
|
155
|
-
expect(exists).toBe(true);
|
|
156
|
-
}));
|
|
157
|
-
});
|
|
158
149
|
describe('set()', () => {
|
|
159
150
|
it('should create the item', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
160
151
|
let exists = yield privateDataAccessor.exists();
|
|
@@ -168,11 +159,11 @@ function describeFirestoreAccessorDriverTests(f) {
|
|
|
168
159
|
beforeEach(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
169
160
|
yield privateDataAccessor.set({ values: [], createdAt: new Date() });
|
|
170
161
|
}));
|
|
171
|
-
describe('
|
|
162
|
+
describe('accessors', () => {
|
|
172
163
|
const TEST_COMMENTS = 'test';
|
|
173
|
-
|
|
164
|
+
describeFirestoreDocumentAccessorTests(() => ({
|
|
174
165
|
context: f.parent.firestoreContext,
|
|
175
|
-
|
|
166
|
+
firestoreDocument: () => itemPrivateDataDocument,
|
|
176
167
|
dataForUpdate: () => ({ comments: TEST_COMMENTS }),
|
|
177
168
|
hasDataFromUpdate: (data) => data.comments === TEST_COMMENTS,
|
|
178
169
|
loadDocumentForTransaction: (transaction, ref) => mockItemPrivateFirestoreCollection.loadDocumentForTransaction(transaction),
|
|
@@ -193,11 +184,11 @@ function describeFirestoreAccessorDriverTests(f) {
|
|
|
193
184
|
mockItemSubItemFirestoreCollection = f.instance.collections.mockItemSubItemCollectionFactory(itemDocument);
|
|
194
185
|
});
|
|
195
186
|
describe('with item', () => {
|
|
196
|
-
describe('
|
|
187
|
+
describe('accessors', () => {
|
|
197
188
|
const TEST_VALUE = 1234;
|
|
198
|
-
|
|
189
|
+
describeFirestoreDocumentAccessorTests(() => ({
|
|
199
190
|
context: f.parent.firestoreContext,
|
|
200
|
-
|
|
191
|
+
firestoreDocument: () => subItemDocument,
|
|
201
192
|
dataForUpdate: () => ({ value: TEST_VALUE }),
|
|
202
193
|
hasDataFromUpdate: (data) => data.value === TEST_VALUE,
|
|
203
194
|
loadDocumentForTransaction: (transaction, ref) => mockItemSubItemFirestoreCollection.documentAccessorForTransaction(transaction).loadDocument(ref),
|
|
@@ -212,11 +203,11 @@ function describeFirestoreAccessorDriverTests(f) {
|
|
|
212
203
|
mockItemSubItemFirestoreCollectionGroup = f.instance.collections.mockItemSubItemCollectionGroup;
|
|
213
204
|
});
|
|
214
205
|
describe('with item', () => {
|
|
215
|
-
describe('
|
|
206
|
+
describe('accessors', () => {
|
|
216
207
|
const TEST_VALUE = 1234;
|
|
217
|
-
|
|
208
|
+
describeFirestoreDocumentAccessorTests(() => ({
|
|
218
209
|
context: f.parent.firestoreContext,
|
|
219
|
-
|
|
210
|
+
firestoreDocument: () => subItemDocument,
|
|
220
211
|
dataForUpdate: () => ({ value: TEST_VALUE }),
|
|
221
212
|
hasDataFromUpdate: (data) => data.value === TEST_VALUE,
|
|
222
213
|
loadDocumentForTransaction: (transaction, ref) => mockItemSubItemFirestoreCollectionGroup.documentAccessorForTransaction(transaction).loadDocument(ref),
|
|
@@ -281,167 +272,230 @@ function describeFirestoreAccessorDriverTests(f) {
|
|
|
281
272
|
});
|
|
282
273
|
}
|
|
283
274
|
exports.describeFirestoreAccessorDriverTests = describeFirestoreAccessorDriverTests;
|
|
284
|
-
function
|
|
275
|
+
function describeFirestoreDocumentAccessorTests(init) {
|
|
285
276
|
let c;
|
|
286
277
|
let sub;
|
|
278
|
+
let firestoreDocument;
|
|
279
|
+
let accessor;
|
|
287
280
|
beforeEach(() => {
|
|
288
281
|
sub = new rxjs_2.SubscriptionObject();
|
|
289
282
|
c = init();
|
|
283
|
+
firestoreDocument = c.firestoreDocument();
|
|
284
|
+
accessor = firestoreDocument.accessor;
|
|
290
285
|
});
|
|
291
286
|
afterEach(() => {
|
|
292
287
|
sub.destroy();
|
|
293
288
|
});
|
|
294
|
-
describe('
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
let count = 0;
|
|
301
|
-
sub.subscription = c.accessor.stream().subscribe((item) => {
|
|
302
|
-
count += 1;
|
|
303
|
-
if (count === 1) {
|
|
304
|
-
expect(c.hasDataFromUpdate(item.data())).toBe(false);
|
|
305
|
-
}
|
|
306
|
-
else if (count === 2) {
|
|
307
|
-
expect(c.hasDataFromUpdate(item.data())).toBe(true);
|
|
308
|
-
done();
|
|
309
|
-
}
|
|
310
|
-
});
|
|
311
|
-
setTimeout(() => {
|
|
312
|
-
c.accessor.update(c.dataForUpdate());
|
|
313
|
-
}, 100);
|
|
289
|
+
describe('AbstractFirestoreDocument', () => {
|
|
290
|
+
describe('snapshot()', () => {
|
|
291
|
+
it('should return the snapshot.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
292
|
+
const snapshot = yield firestoreDocument.snapshot();
|
|
293
|
+
expect(snapshot).toBeDefined();
|
|
294
|
+
}));
|
|
314
295
|
});
|
|
315
|
-
describe('
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
296
|
+
describe('snapshotData()', () => {
|
|
297
|
+
it('should return the snapshot data if the model exists.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
298
|
+
const exists = yield firestoreDocument.exists();
|
|
299
|
+
expect(exists).toBe(true);
|
|
300
|
+
const data = yield firestoreDocument.snapshotData();
|
|
301
|
+
expect(data).toBeDefined();
|
|
302
|
+
}));
|
|
303
|
+
it('should return the undefined if the model does not exist.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
304
|
+
yield accessor.delete();
|
|
305
|
+
const exists = yield firestoreDocument.exists();
|
|
306
|
+
expect(exists).toBe(false);
|
|
307
|
+
const data = yield firestoreDocument.snapshotData();
|
|
308
|
+
expect(data).toBeUndefined();
|
|
309
|
+
}));
|
|
310
|
+
});
|
|
311
|
+
describe('create()', () => {
|
|
312
|
+
it('should create the document if it does not exist.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
313
|
+
const snapshot = yield firestoreDocument.snapshot();
|
|
314
|
+
yield accessor.delete();
|
|
315
|
+
let exists = yield firestoreDocument.exists();
|
|
316
|
+
expect(exists).toBe(false);
|
|
317
|
+
yield firestoreDocument.create(snapshot.data());
|
|
318
|
+
exists = yield firestoreDocument.exists();
|
|
319
|
+
expect(exists).toBe(true);
|
|
320
|
+
}));
|
|
321
|
+
(0, test_1.itShouldFail)('if the document exists.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
322
|
+
const snapshot = yield firestoreDocument.snapshot();
|
|
323
|
+
const exists = yield firestoreDocument.exists();
|
|
324
|
+
expect(exists).toBe(true);
|
|
325
|
+
yield (0, test_1.expectFail)(() => firestoreDocument.create(snapshot.data()));
|
|
326
|
+
}));
|
|
327
|
+
});
|
|
328
|
+
describe('update()', () => {
|
|
329
|
+
it('should update the data if the document exists.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
330
|
+
const data = c.dataForUpdate();
|
|
331
|
+
yield firestoreDocument.update(data);
|
|
332
|
+
const snapshot = yield firestoreDocument.snapshot();
|
|
333
|
+
expect(c.hasDataFromUpdate(snapshot.data())).toBe(true);
|
|
334
|
+
}));
|
|
335
|
+
(0, test_1.itShouldFail)('if the document does not exist.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
336
|
+
yield accessor.delete();
|
|
337
|
+
const snapshot = yield firestoreDocument.snapshot();
|
|
338
|
+
expect(snapshot.data()).toBe(undefined);
|
|
339
|
+
const exists = yield firestoreDocument.exists();
|
|
340
|
+
expect(exists).toBe(false);
|
|
341
|
+
yield (0, test_1.expectFail)(() => firestoreDocument.update(c.dataForUpdate()));
|
|
342
|
+
}));
|
|
343
|
+
// TODO: Test within a transaction
|
|
344
|
+
});
|
|
345
|
+
});
|
|
346
|
+
describe('accessor', () => {
|
|
347
|
+
describe('stream()', () => {
|
|
348
|
+
it('should return a snapshot stream', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
349
|
+
const result = yield accessor.stream();
|
|
350
|
+
expect(result).toBeDefined();
|
|
351
|
+
}));
|
|
352
|
+
it('should emit values on updates from the observable.', (done) => {
|
|
353
|
+
let count = 0;
|
|
354
|
+
sub.subscription = accessor.stream().subscribe((item) => {
|
|
355
|
+
count += 1;
|
|
356
|
+
if (count === 1) {
|
|
357
|
+
expect(c.hasDataFromUpdate(item.data())).toBe(false);
|
|
358
|
+
}
|
|
359
|
+
else if (count === 2) {
|
|
360
|
+
expect(c.hasDataFromUpdate(item.data())).toBe(true);
|
|
361
|
+
done();
|
|
362
|
+
}
|
|
363
|
+
});
|
|
364
|
+
setTimeout(() => {
|
|
365
|
+
accessor.update(c.dataForUpdate());
|
|
366
|
+
}, 100);
|
|
319
367
|
});
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
368
|
+
describe('in transition context', () => {
|
|
369
|
+
let runTransaction;
|
|
370
|
+
beforeEach(() => {
|
|
371
|
+
runTransaction = c.context.runTransaction;
|
|
372
|
+
});
|
|
373
|
+
it('should return the first emitted value (observable completes immediately)', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
374
|
+
yield runTransaction((transaction) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
375
|
+
const transactionItemDocument = c.loadDocumentForTransaction(transaction, accessor.documentRef);
|
|
376
|
+
// load the value
|
|
377
|
+
const value = yield (0, rxjs_1.firstValueFrom)(transactionItemDocument.accessor.stream());
|
|
378
|
+
expect(value).toBeDefined();
|
|
379
|
+
// set to make the transaction valid
|
|
380
|
+
yield transactionItemDocument.accessor.set({ value: 0 }, { merge: true });
|
|
381
|
+
return value;
|
|
382
|
+
}));
|
|
383
|
+
}));
|
|
384
|
+
});
|
|
385
|
+
describe('in batch context', () => {
|
|
386
|
+
it('should return the first emitted value (observable completes immediately)', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
387
|
+
const writeBatch = c.context.batch();
|
|
388
|
+
const batchItemDocument = c.loadDocumentForWriteBatch(writeBatch, accessor.documentRef);
|
|
323
389
|
// load the value
|
|
324
|
-
const value = yield (0, rxjs_1.firstValueFrom)(
|
|
390
|
+
const value = yield (0, rxjs_1.firstValueFrom)(batchItemDocument.accessor.stream());
|
|
325
391
|
expect(value).toBeDefined();
|
|
326
|
-
// set to make the
|
|
327
|
-
yield
|
|
328
|
-
|
|
392
|
+
// set to make the batch changes valid
|
|
393
|
+
yield batchItemDocument.accessor.set({ value: 0 }, { merge: true });
|
|
394
|
+
// commit the changes
|
|
395
|
+
yield writeBatch.commit();
|
|
329
396
|
}));
|
|
397
|
+
});
|
|
398
|
+
});
|
|
399
|
+
describe('create()', () => {
|
|
400
|
+
it('should create the document if it does not exist.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
401
|
+
const snapshot = yield accessor.get();
|
|
402
|
+
yield accessor.delete();
|
|
403
|
+
let exists = yield accessor.exists();
|
|
404
|
+
expect(exists).toBe(false);
|
|
405
|
+
yield accessor.create(snapshot.data());
|
|
406
|
+
exists = yield accessor.exists();
|
|
407
|
+
expect(exists).toBe(true);
|
|
408
|
+
}));
|
|
409
|
+
(0, test_1.itShouldFail)('if the document exists.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
410
|
+
const snapshot = yield accessor.get();
|
|
411
|
+
const exists = yield accessor.exists();
|
|
412
|
+
expect(exists).toBe(true);
|
|
413
|
+
yield (0, test_1.expectFail)(() => accessor.create(snapshot.data()));
|
|
330
414
|
}));
|
|
331
415
|
});
|
|
332
|
-
describe('
|
|
333
|
-
it('should return
|
|
334
|
-
const
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
const value = yield (0, rxjs_1.firstValueFrom)(batchItemDocument.accessor.stream());
|
|
338
|
-
expect(value).toBeDefined();
|
|
339
|
-
// set to make the batch changes valid
|
|
340
|
-
yield batchItemDocument.accessor.set({ value: 0 }, { merge: true });
|
|
341
|
-
// commit the changes
|
|
342
|
-
yield writeBatch.commit();
|
|
416
|
+
describe('get()', () => {
|
|
417
|
+
it('should return a snapshot', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
418
|
+
const result = yield accessor.get();
|
|
419
|
+
expect(result).toBeDefined();
|
|
420
|
+
expect(result.id).toBeDefined();
|
|
343
421
|
}));
|
|
344
422
|
});
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
})
|
|
356
|
-
(
|
|
357
|
-
const data = yield c.accessor.get();
|
|
358
|
-
const exists = yield c.accessor.exists();
|
|
359
|
-
expect(exists).toBe(true);
|
|
360
|
-
yield (0, test_1.expectFail)(() => c.accessor.create(data));
|
|
361
|
-
}));
|
|
362
|
-
});
|
|
363
|
-
describe('get()', () => {
|
|
364
|
-
it('should return a snapshot', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
365
|
-
const result = yield c.accessor.get();
|
|
366
|
-
expect(result).toBeDefined();
|
|
367
|
-
expect(result.id).toBeDefined();
|
|
368
|
-
}));
|
|
369
|
-
});
|
|
370
|
-
describe('exists()', () => {
|
|
371
|
-
it('should return true if the document exists', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
372
|
-
const exists = yield c.accessor.exists();
|
|
373
|
-
expect(exists).toBe(true);
|
|
374
|
-
}));
|
|
375
|
-
it('should return false if the document does not exist', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
376
|
-
yield c.accessor.delete();
|
|
377
|
-
const exists = yield c.accessor.exists();
|
|
378
|
-
expect(exists).toBe(false);
|
|
379
|
-
}));
|
|
380
|
-
});
|
|
381
|
-
describe('update()', () => {
|
|
382
|
-
it('should update the data if the document exists.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
383
|
-
const data = c.dataForUpdate();
|
|
384
|
-
yield c.accessor.update(data);
|
|
385
|
-
const snapshot = yield c.accessor.get();
|
|
386
|
-
expect(c.hasDataFromUpdate(snapshot.data())).toBe(true);
|
|
387
|
-
}));
|
|
388
|
-
(0, test_1.itShouldFail)('if the document does not exist.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
389
|
-
yield c.accessor.delete();
|
|
390
|
-
const snapshot = yield c.accessor.get();
|
|
391
|
-
expect(snapshot.data()).toBe(undefined);
|
|
392
|
-
const exists = yield c.accessor.exists();
|
|
393
|
-
expect(exists).toBe(false);
|
|
394
|
-
yield (0, test_1.expectFail)(() => c.accessor.update(c.dataForUpdate()));
|
|
395
|
-
}));
|
|
396
|
-
// todo: test that update does not call the converter when setting values.
|
|
397
|
-
});
|
|
398
|
-
describe('set()', () => {
|
|
399
|
-
it('should create the object if it does not exist.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
400
|
-
yield c.accessor.delete();
|
|
401
|
-
let exists = yield c.accessor.exists();
|
|
402
|
-
expect(exists).toBe(false);
|
|
403
|
-
const data = c.dataForUpdate();
|
|
404
|
-
yield c.accessor.set(data);
|
|
405
|
-
exists = yield c.accessor.exists();
|
|
406
|
-
expect(exists).toBe(true);
|
|
407
|
-
const snapshot = yield c.accessor.get();
|
|
408
|
-
expect(c.hasDataFromUpdate(snapshot.data())).toBe(true);
|
|
409
|
-
}));
|
|
410
|
-
it('should update the data on the document for fields that are not undefined.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
411
|
-
const data = c.dataForUpdate();
|
|
412
|
-
yield c.accessor.set(data);
|
|
413
|
-
const snapshot = yield c.accessor.get();
|
|
414
|
-
expect(c.hasDataFromUpdate(snapshot.data())).toBe(true);
|
|
415
|
-
}));
|
|
416
|
-
describe('merge=true', () => {
|
|
423
|
+
describe('exists()', () => {
|
|
424
|
+
it('should return true if the document exists', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
425
|
+
const exists = yield accessor.exists();
|
|
426
|
+
expect(exists).toBe(true);
|
|
427
|
+
}));
|
|
428
|
+
it('should return false if the document does not exist', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
429
|
+
yield accessor.delete();
|
|
430
|
+
const exists = yield accessor.exists();
|
|
431
|
+
expect(exists).toBe(false);
|
|
432
|
+
}));
|
|
433
|
+
});
|
|
434
|
+
describe('update()', () => {
|
|
417
435
|
it('should update the data if the document exists.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
418
436
|
const data = c.dataForUpdate();
|
|
419
|
-
yield
|
|
420
|
-
const snapshot = yield
|
|
437
|
+
yield accessor.update(data);
|
|
438
|
+
const snapshot = yield accessor.get();
|
|
421
439
|
expect(c.hasDataFromUpdate(snapshot.data())).toBe(true);
|
|
422
440
|
}));
|
|
423
|
-
|
|
424
|
-
yield
|
|
425
|
-
|
|
441
|
+
(0, test_1.itShouldFail)('if the document does not exist.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
442
|
+
yield accessor.delete();
|
|
443
|
+
const snapshot = yield accessor.get();
|
|
426
444
|
expect(snapshot.data()).toBe(undefined);
|
|
427
|
-
const exists = yield
|
|
445
|
+
const exists = yield accessor.exists();
|
|
446
|
+
expect(exists).toBe(false);
|
|
447
|
+
yield (0, test_1.expectFail)(() => accessor.update(c.dataForUpdate()));
|
|
448
|
+
}));
|
|
449
|
+
// todo: test that update does not call the converter when setting values.
|
|
450
|
+
});
|
|
451
|
+
describe('set()', () => {
|
|
452
|
+
it('should create the object if it does not exist.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
453
|
+
yield accessor.delete();
|
|
454
|
+
let exists = yield accessor.exists();
|
|
428
455
|
expect(exists).toBe(false);
|
|
429
|
-
|
|
430
|
-
|
|
456
|
+
const data = c.dataForUpdate();
|
|
457
|
+
yield accessor.set(data);
|
|
458
|
+
exists = yield accessor.exists();
|
|
459
|
+
expect(exists).toBe(true);
|
|
460
|
+
const snapshot = yield accessor.get();
|
|
461
|
+
expect(c.hasDataFromUpdate(snapshot.data())).toBe(true);
|
|
462
|
+
}));
|
|
463
|
+
it('should update the data on the document for fields that are not undefined.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
464
|
+
const data = c.dataForUpdate();
|
|
465
|
+
yield accessor.set(data);
|
|
466
|
+
const snapshot = yield accessor.get();
|
|
431
467
|
expect(c.hasDataFromUpdate(snapshot.data())).toBe(true);
|
|
432
468
|
}));
|
|
469
|
+
describe('merge=true', () => {
|
|
470
|
+
it('should update the data if the document exists.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
471
|
+
const data = c.dataForUpdate();
|
|
472
|
+
yield accessor.set(data, { merge: true });
|
|
473
|
+
const snapshot = yield accessor.get();
|
|
474
|
+
expect(c.hasDataFromUpdate(snapshot.data())).toBe(true);
|
|
475
|
+
}));
|
|
476
|
+
it('should succeed if the document does not exist.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
477
|
+
yield accessor.delete();
|
|
478
|
+
let snapshot = yield accessor.get();
|
|
479
|
+
expect(snapshot.data()).toBe(undefined);
|
|
480
|
+
const exists = yield accessor.exists();
|
|
481
|
+
expect(exists).toBe(false);
|
|
482
|
+
yield accessor.set(c.dataForUpdate(), { merge: true });
|
|
483
|
+
snapshot = yield accessor.get();
|
|
484
|
+
expect(c.hasDataFromUpdate(snapshot.data())).toBe(true);
|
|
485
|
+
}));
|
|
486
|
+
});
|
|
487
|
+
// todo: test that set calls the converter when setting values.
|
|
488
|
+
});
|
|
489
|
+
describe('delete()', () => {
|
|
490
|
+
it('should delete the document.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
491
|
+
yield accessor.delete();
|
|
492
|
+
const snapshot = yield accessor.get();
|
|
493
|
+
expect(snapshot.data()).toBe(undefined);
|
|
494
|
+
const exists = yield accessor.exists();
|
|
495
|
+
expect(exists).toBe(false);
|
|
496
|
+
}));
|
|
433
497
|
});
|
|
434
|
-
// todo: test that set calls the converter when setting values.
|
|
435
|
-
});
|
|
436
|
-
describe('delete()', () => {
|
|
437
|
-
it('should delete the document.', () => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
438
|
-
yield c.accessor.delete();
|
|
439
|
-
const snapshot = yield c.accessor.get();
|
|
440
|
-
expect(snapshot.data()).toBe(undefined);
|
|
441
|
-
const exists = yield c.accessor.exists();
|
|
442
|
-
expect(exists).toBe(false);
|
|
443
|
-
}));
|
|
444
498
|
});
|
|
445
499
|
}
|
|
446
|
-
exports.
|
|
500
|
+
exports.describeFirestoreDocumentAccessorTests = describeFirestoreDocumentAccessorTests;
|
|
447
501
|
//# sourceMappingURL=test.driver.accessor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.driver.accessor.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/test/src/lib/common/firestore/test.driver.accessor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"test.driver.accessor.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/test/src/lib/common/firestore/test.driver.accessor.ts"],"names":[],"mappings":"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"}
|