firetender 0.13.4 → 0.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/dist/cjs/FiretenderCollection.d.ts +2 -2
- package/dist/cjs/FiretenderCollection.js +2 -1
- package/dist/cjs/FiretenderCollection.js.map +1 -1
- package/dist/cjs/FiretenderDoc.d.ts +18 -5
- package/dist/cjs/FiretenderDoc.js +25 -15
- package/dist/cjs/FiretenderDoc.js.map +1 -1
- package/dist/esm/FiretenderCollection.d.ts +2 -2
- package/dist/esm/FiretenderCollection.js +2 -1
- package/dist/esm/FiretenderCollection.js.map +1 -1
- package/dist/esm/FiretenderDoc.d.ts +18 -5
- package/dist/esm/FiretenderDoc.js +25 -15
- package/dist/esm/FiretenderDoc.js.map +1 -1
- package/package.json +4 -4
- package/src/FiretenderCollection.ts +4 -3
- package/src/FiretenderDoc.ts +42 -28
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { CollectionReference, DocumentReference, Firestore, QueryConstraint } from "./firestore-deps";
|
|
3
|
-
import { FiretenderDoc, FiretenderDocOptions } from "./FiretenderDoc";
|
|
3
|
+
import { FiretenderDoc, FiretenderDocOptions, Patcher } from "./FiretenderDoc";
|
|
4
4
|
import { DeepPartial } from "./ts-helpers";
|
|
5
5
|
/**
|
|
6
6
|
* A representation of a Firestore collection or subcollection.
|
|
@@ -108,7 +108,7 @@ export declare class FiretenderCollection<SchemaType extends z.SomeZodObject> {
|
|
|
108
108
|
* collection's documents. Patchers can also be passed in the options
|
|
109
109
|
* argument of this class's constructor.
|
|
110
110
|
*/
|
|
111
|
-
patch(patcher:
|
|
111
|
+
patch(patcher: Patcher): void;
|
|
112
112
|
/**
|
|
113
113
|
* Builds a doc ref from the given IDs, or returns "undefined" if the IDs do
|
|
114
114
|
* not correctly specify a doc path.
|
|
@@ -240,7 +240,8 @@ class FiretenderCollection {
|
|
|
240
240
|
throw error;
|
|
241
241
|
}
|
|
242
242
|
return querySnapshot.docs.map((queryDoc) => new FiretenderDoc_1.FiretenderDoc(this.schema, queryDoc.ref, {
|
|
243
|
-
|
|
243
|
+
...this.defaultDocOptions,
|
|
244
|
+
rawData: queryDoc.data(),
|
|
244
245
|
}));
|
|
245
246
|
}
|
|
246
247
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FiretenderCollection.js","sourceRoot":"","sources":["../../src/FiretenderCollection.ts"],"names":[],"mappings":";;;AAEA,qCAAmE;AACnE,qDAa0B;AAC1B,
|
|
1
|
+
{"version":3,"file":"FiretenderCollection.js","sourceRoot":"","sources":["../../src/FiretenderCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { CollectionReference, DocumentReference, DocumentSnapshot } from "./firestore-deps";
|
|
3
3
|
import { DeepReadonly } from "./ts-helpers";
|
|
4
|
-
export type Patcher = (data: any) => boolean;
|
|
4
|
+
export type Patcher = (data: Record<string, any>) => boolean | void;
|
|
5
5
|
/**
|
|
6
6
|
* Public options for initializing a FiretenderDoc object.
|
|
7
7
|
*/
|
|
@@ -13,11 +13,13 @@ export type FiretenderDocOptions = {
|
|
|
13
13
|
readonly?: boolean;
|
|
14
14
|
/**
|
|
15
15
|
* Functions that modify the data from Firestore before it is parsed by Zod.
|
|
16
|
-
* If any of these functions returns true, the data is asynchronously updated
|
|
17
|
-
* on Firestore half a second later, if it hasn't already been written back.
|
|
18
|
-
*
|
|
19
16
|
* The patchers are applied to the data in the order given, each receiving the
|
|
20
17
|
* output of the previous. The output of the last is fed to Zod.
|
|
18
|
+
*
|
|
19
|
+
* If any of these functions returns true, the data is asynchronously updated
|
|
20
|
+
* on Firestore after a delay of `savePatchAfterDelay`, if it hasn't already
|
|
21
|
+
* been written back. Only return true if the Firestore rules allow updating
|
|
22
|
+
* all patched fields; otherwise all subsequent writes will fail.
|
|
21
23
|
*/
|
|
22
24
|
patchers?: Patcher[] | undefined;
|
|
23
25
|
/**
|
|
@@ -43,7 +45,13 @@ export type AllFiretenderDocOptions = FiretenderDocOptions & {
|
|
|
43
45
|
* The document's initial data, which must define a valid instance of the
|
|
44
46
|
* document according to its schema.
|
|
45
47
|
*/
|
|
46
|
-
initialData?: Record<string,
|
|
48
|
+
initialData?: DeepReadonly<Record<string, unknown>>;
|
|
49
|
+
/**
|
|
50
|
+
* The document's raw data, as it would be read from Firestore. Unlike
|
|
51
|
+
* `initialData`, this data is patched before parsing. The patched data must
|
|
52
|
+
* must define a valid instance of the document according to its schema.
|
|
53
|
+
*/
|
|
54
|
+
rawData?: DeepReadonly<Record<string, unknown>>;
|
|
47
55
|
};
|
|
48
56
|
/**
|
|
49
57
|
* Options for loading an existing document.
|
|
@@ -231,6 +239,11 @@ export declare class FiretenderDoc<SchemaType extends z.SomeZodObject> {
|
|
|
231
239
|
* after a delay.
|
|
232
240
|
*/
|
|
233
241
|
private loadFromSnapshot;
|
|
242
|
+
/**
|
|
243
|
+
* Applies the patches to the given data. Writes the updates to Firestore if
|
|
244
|
+
* `noUpdate` is not set and any patcher returns true.
|
|
245
|
+
*/
|
|
246
|
+
private patchData;
|
|
234
247
|
/**
|
|
235
248
|
* Adds a field and its new value to the list of updates to be passed to
|
|
236
249
|
* Firestore's updateDoc(). Called when the proxies detect changes to the
|
|
@@ -33,14 +33,19 @@ class FiretenderDoc {
|
|
|
33
33
|
throw new errors_1.FiretenderUsageError("Cannot create new docs in readonly mode.");
|
|
34
34
|
}
|
|
35
35
|
this.isSettingNewContents = this.isNewDoc;
|
|
36
|
+
this.patchers = options.patchers;
|
|
37
|
+
this.savePatchAfterDelay = options.savePatchAfterDelay ?? 500;
|
|
36
38
|
if (options.initialData) {
|
|
37
39
|
this.data = schema.parse(options.initialData);
|
|
38
40
|
}
|
|
41
|
+
else if (options.rawData) {
|
|
42
|
+
const data = structuredClone(options.rawData);
|
|
43
|
+
this.patchData(data);
|
|
44
|
+
this.data = schema.parse(data);
|
|
45
|
+
}
|
|
39
46
|
else if (this.isNewDoc) {
|
|
40
47
|
throw new errors_1.FiretenderUsageError("Initial data must be given when creating a new doc.");
|
|
41
48
|
}
|
|
42
|
-
this.patchers = options.patchers;
|
|
43
|
-
this.savePatchAfterDelay = options.savePatchAfterDelay ?? 500;
|
|
44
49
|
if (this.ref instanceof firestore_deps_1.DocumentReference) {
|
|
45
50
|
this.docID = this.ref.path.split("/").pop();
|
|
46
51
|
}
|
|
@@ -422,19 +427,7 @@ class FiretenderDoc {
|
|
|
422
427
|
// duplicate in test. Not much we can do but ignore it.
|
|
423
428
|
return false;
|
|
424
429
|
}
|
|
425
|
-
|
|
426
|
-
const wasPatched = this.patchers.reduce((wasPatched, patcher) => patcher(data) || wasPatched, false);
|
|
427
|
-
this.isSettingNewContents = true;
|
|
428
|
-
if (wasPatched) {
|
|
429
|
-
// Listeners don't update the data on Firestore, as that would cause an
|
|
430
|
-
// infinite loop of updates if a patcher always returns true.
|
|
431
|
-
if (!isListener &&
|
|
432
|
-
!this.isReadonly &&
|
|
433
|
-
this.savePatchAfterDelay !== false) {
|
|
434
|
-
setTimeout(() => this.write(), this.savePatchAfterDelay);
|
|
435
|
-
}
|
|
436
|
-
}
|
|
437
|
-
}
|
|
430
|
+
this.patchData(data, isListener);
|
|
438
431
|
let parsedData;
|
|
439
432
|
try {
|
|
440
433
|
parsedData = this.schema.parse(data);
|
|
@@ -455,6 +448,23 @@ class FiretenderDoc {
|
|
|
455
448
|
this.dataProxy = undefined;
|
|
456
449
|
return true;
|
|
457
450
|
}
|
|
451
|
+
/**
|
|
452
|
+
* Applies the patches to the given data. Writes the updates to Firestore if
|
|
453
|
+
* `noUpdate` is not set and any patcher returns true.
|
|
454
|
+
*/
|
|
455
|
+
patchData(data, noUpdate = false) {
|
|
456
|
+
if (!this.patchers)
|
|
457
|
+
return;
|
|
458
|
+
const wasPatched = this.patchers.reduce((wasPatched, patcher) => patcher(data) || wasPatched, false);
|
|
459
|
+
this.isSettingNewContents = true;
|
|
460
|
+
if (wasPatched) {
|
|
461
|
+
// Listeners don't update the data on Firestore, as that would cause an
|
|
462
|
+
// infinite loop of updates if a patcher always returns true.
|
|
463
|
+
if (!noUpdate && !this.isReadonly && this.savePatchAfterDelay !== false) {
|
|
464
|
+
setTimeout(() => this.write(), this.savePatchAfterDelay);
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
}
|
|
458
468
|
/**
|
|
459
469
|
* Adds a field and its new value to the list of updates to be passed to
|
|
460
470
|
* Firestore's updateDoc(). Called when the proxies detect changes to the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FiretenderDoc.js","sourceRoot":"","sources":["../../src/FiretenderDoc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FiretenderDoc.js","sourceRoot":"","sources":["../../src/FiretenderDoc.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { CollectionReference, DocumentReference, Firestore, QueryConstraint } from "./firestore-deps";
|
|
3
|
-
import { FiretenderDoc, FiretenderDocOptions } from "./FiretenderDoc";
|
|
3
|
+
import { FiretenderDoc, FiretenderDocOptions, Patcher } from "./FiretenderDoc";
|
|
4
4
|
import { DeepPartial } from "./ts-helpers";
|
|
5
5
|
/**
|
|
6
6
|
* A representation of a Firestore collection or subcollection.
|
|
@@ -108,7 +108,7 @@ export declare class FiretenderCollection<SchemaType extends z.SomeZodObject> {
|
|
|
108
108
|
* collection's documents. Patchers can also be passed in the options
|
|
109
109
|
* argument of this class's constructor.
|
|
110
110
|
*/
|
|
111
|
-
patch(patcher:
|
|
111
|
+
patch(patcher: Patcher): void;
|
|
112
112
|
/**
|
|
113
113
|
* Builds a doc ref from the given IDs, or returns "undefined" if the IDs do
|
|
114
114
|
* not correctly specify a doc path.
|
|
@@ -237,7 +237,8 @@ export class FiretenderCollection {
|
|
|
237
237
|
throw error;
|
|
238
238
|
}
|
|
239
239
|
return querySnapshot.docs.map((queryDoc) => new FiretenderDoc(this.schema, queryDoc.ref, {
|
|
240
|
-
|
|
240
|
+
...this.defaultDocOptions,
|
|
241
|
+
rawData: queryDoc.data(),
|
|
241
242
|
}));
|
|
242
243
|
}
|
|
243
244
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FiretenderCollection.js","sourceRoot":"","sources":["../../src/FiretenderCollection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,EACL,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,SAAS,EACT,GAAG,EAGH,OAAO,EAEP,KAAK,GAGN,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"FiretenderCollection.js","sourceRoot":"","sources":["../../src/FiretenderCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { CollectionReference, DocumentReference, DocumentSnapshot } from "./firestore-deps";
|
|
3
3
|
import { DeepReadonly } from "./ts-helpers";
|
|
4
|
-
export type Patcher = (data: any) => boolean;
|
|
4
|
+
export type Patcher = (data: Record<string, any>) => boolean | void;
|
|
5
5
|
/**
|
|
6
6
|
* Public options for initializing a FiretenderDoc object.
|
|
7
7
|
*/
|
|
@@ -13,11 +13,13 @@ export type FiretenderDocOptions = {
|
|
|
13
13
|
readonly?: boolean;
|
|
14
14
|
/**
|
|
15
15
|
* Functions that modify the data from Firestore before it is parsed by Zod.
|
|
16
|
-
* If any of these functions returns true, the data is asynchronously updated
|
|
17
|
-
* on Firestore half a second later, if it hasn't already been written back.
|
|
18
|
-
*
|
|
19
16
|
* The patchers are applied to the data in the order given, each receiving the
|
|
20
17
|
* output of the previous. The output of the last is fed to Zod.
|
|
18
|
+
*
|
|
19
|
+
* If any of these functions returns true, the data is asynchronously updated
|
|
20
|
+
* on Firestore after a delay of `savePatchAfterDelay`, if it hasn't already
|
|
21
|
+
* been written back. Only return true if the Firestore rules allow updating
|
|
22
|
+
* all patched fields; otherwise all subsequent writes will fail.
|
|
21
23
|
*/
|
|
22
24
|
patchers?: Patcher[] | undefined;
|
|
23
25
|
/**
|
|
@@ -43,7 +45,13 @@ export type AllFiretenderDocOptions = FiretenderDocOptions & {
|
|
|
43
45
|
* The document's initial data, which must define a valid instance of the
|
|
44
46
|
* document according to its schema.
|
|
45
47
|
*/
|
|
46
|
-
initialData?: Record<string,
|
|
48
|
+
initialData?: DeepReadonly<Record<string, unknown>>;
|
|
49
|
+
/**
|
|
50
|
+
* The document's raw data, as it would be read from Firestore. Unlike
|
|
51
|
+
* `initialData`, this data is patched before parsing. The patched data must
|
|
52
|
+
* must define a valid instance of the document according to its schema.
|
|
53
|
+
*/
|
|
54
|
+
rawData?: DeepReadonly<Record<string, unknown>>;
|
|
47
55
|
};
|
|
48
56
|
/**
|
|
49
57
|
* Options for loading an existing document.
|
|
@@ -231,6 +239,11 @@ export declare class FiretenderDoc<SchemaType extends z.SomeZodObject> {
|
|
|
231
239
|
* after a delay.
|
|
232
240
|
*/
|
|
233
241
|
private loadFromSnapshot;
|
|
242
|
+
/**
|
|
243
|
+
* Applies the patches to the given data. Writes the updates to Firestore if
|
|
244
|
+
* `noUpdate` is not set and any patcher returns true.
|
|
245
|
+
*/
|
|
246
|
+
private patchData;
|
|
234
247
|
/**
|
|
235
248
|
* Adds a field and its new value to the list of updates to be passed to
|
|
236
249
|
* Firestore's updateDoc(). Called when the proxies detect changes to the
|
|
@@ -30,14 +30,19 @@ export class FiretenderDoc {
|
|
|
30
30
|
throw new FiretenderUsageError("Cannot create new docs in readonly mode.");
|
|
31
31
|
}
|
|
32
32
|
this.isSettingNewContents = this.isNewDoc;
|
|
33
|
+
this.patchers = options.patchers;
|
|
34
|
+
this.savePatchAfterDelay = options.savePatchAfterDelay ?? 500;
|
|
33
35
|
if (options.initialData) {
|
|
34
36
|
this.data = schema.parse(options.initialData);
|
|
35
37
|
}
|
|
38
|
+
else if (options.rawData) {
|
|
39
|
+
const data = structuredClone(options.rawData);
|
|
40
|
+
this.patchData(data);
|
|
41
|
+
this.data = schema.parse(data);
|
|
42
|
+
}
|
|
36
43
|
else if (this.isNewDoc) {
|
|
37
44
|
throw new FiretenderUsageError("Initial data must be given when creating a new doc.");
|
|
38
45
|
}
|
|
39
|
-
this.patchers = options.patchers;
|
|
40
|
-
this.savePatchAfterDelay = options.savePatchAfterDelay ?? 500;
|
|
41
46
|
if (this.ref instanceof DocumentReference) {
|
|
42
47
|
this.docID = this.ref.path.split("/").pop();
|
|
43
48
|
}
|
|
@@ -419,19 +424,7 @@ export class FiretenderDoc {
|
|
|
419
424
|
// duplicate in test. Not much we can do but ignore it.
|
|
420
425
|
return false;
|
|
421
426
|
}
|
|
422
|
-
|
|
423
|
-
const wasPatched = this.patchers.reduce((wasPatched, patcher) => patcher(data) || wasPatched, false);
|
|
424
|
-
this.isSettingNewContents = true;
|
|
425
|
-
if (wasPatched) {
|
|
426
|
-
// Listeners don't update the data on Firestore, as that would cause an
|
|
427
|
-
// infinite loop of updates if a patcher always returns true.
|
|
428
|
-
if (!isListener &&
|
|
429
|
-
!this.isReadonly &&
|
|
430
|
-
this.savePatchAfterDelay !== false) {
|
|
431
|
-
setTimeout(() => this.write(), this.savePatchAfterDelay);
|
|
432
|
-
}
|
|
433
|
-
}
|
|
434
|
-
}
|
|
427
|
+
this.patchData(data, isListener);
|
|
435
428
|
let parsedData;
|
|
436
429
|
try {
|
|
437
430
|
parsedData = this.schema.parse(data);
|
|
@@ -452,6 +445,23 @@ export class FiretenderDoc {
|
|
|
452
445
|
this.dataProxy = undefined;
|
|
453
446
|
return true;
|
|
454
447
|
}
|
|
448
|
+
/**
|
|
449
|
+
* Applies the patches to the given data. Writes the updates to Firestore if
|
|
450
|
+
* `noUpdate` is not set and any patcher returns true.
|
|
451
|
+
*/
|
|
452
|
+
patchData(data, noUpdate = false) {
|
|
453
|
+
if (!this.patchers)
|
|
454
|
+
return;
|
|
455
|
+
const wasPatched = this.patchers.reduce((wasPatched, patcher) => patcher(data) || wasPatched, false);
|
|
456
|
+
this.isSettingNewContents = true;
|
|
457
|
+
if (wasPatched) {
|
|
458
|
+
// Listeners don't update the data on Firestore, as that would cause an
|
|
459
|
+
// infinite loop of updates if a patcher always returns true.
|
|
460
|
+
if (!noUpdate && !this.isReadonly && this.savePatchAfterDelay !== false) {
|
|
461
|
+
setTimeout(() => this.write(), this.savePatchAfterDelay);
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
}
|
|
455
465
|
/**
|
|
456
466
|
* Adds a field and its new value to the list of updates to be passed to
|
|
457
467
|
* Firestore's updateDoc(). Called when the proxies detect changes to the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FiretenderDoc.js","sourceRoot":"","sources":["../../src/FiretenderDoc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FiretenderDoc.js","sourceRoot":"","sources":["../../src/FiretenderDoc.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "firetender",
|
|
3
3
|
"displayName": "Firetender",
|
|
4
4
|
"description": "Typescript wrapper for Firestore documents",
|
|
5
|
-
"version": "0.13.
|
|
5
|
+
"version": "0.13.5",
|
|
6
6
|
"author": "Jake Hartman",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"homepage": "https://github.com/jakes-space/firetender",
|
|
@@ -42,8 +42,8 @@
|
|
|
42
42
|
"lint:fix": "eslint --fix src --ext .ts",
|
|
43
43
|
"prettier:check": "prettier --check src/*.ts src/**/*.ts",
|
|
44
44
|
"prettier:fix": "prettier --write src/*.ts src/**/*.ts",
|
|
45
|
-
"check": "npm run lint:check",
|
|
46
|
-
"fix": "npm run lint:fix",
|
|
45
|
+
"check": "npm run lint:check && npm run prettier:check",
|
|
46
|
+
"fix": "npm run lint:fix && npm run prettier:fix",
|
|
47
47
|
"start-emulator": "firebase --config=./src/__tests__/firebase.json --project=firetender --only=firestore emulators:start",
|
|
48
48
|
"test": "firebase --config=./src/__tests__/firebase.json --project=firetender --only=firestore emulators:exec ./src/__tests__/run-tests.sh",
|
|
49
49
|
"test:manual": "./src/__tests__/run-tests.sh",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"firebase-admin": "^11.11.1",
|
|
72
72
|
"husky": "^8.0.3",
|
|
73
73
|
"jest": "^29.7.0",
|
|
74
|
-
"prettier": "
|
|
74
|
+
"prettier": "~3.0.0",
|
|
75
75
|
"ts-jest": "^29.1.1",
|
|
76
76
|
"ts-node": "^10.9.1",
|
|
77
77
|
"tslib": "^2.6.2",
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
QueryConstraint,
|
|
16
16
|
QuerySnapshot,
|
|
17
17
|
} from "./firestore-deps";
|
|
18
|
-
import { FiretenderDoc, FiretenderDocOptions } from "./FiretenderDoc";
|
|
18
|
+
import { FiretenderDoc, FiretenderDocOptions, Patcher } from "./FiretenderDoc";
|
|
19
19
|
import { DeepPartial } from "./ts-helpers";
|
|
20
20
|
|
|
21
21
|
/**
|
|
@@ -273,7 +273,7 @@ export class FiretenderCollection<SchemaType extends z.SomeZodObject> {
|
|
|
273
273
|
* collection's documents. Patchers can also be passed in the options
|
|
274
274
|
* argument of this class's constructor.
|
|
275
275
|
*/
|
|
276
|
-
patch(patcher:
|
|
276
|
+
patch(patcher: Patcher): void {
|
|
277
277
|
if (!this.defaultDocOptions.patchers) {
|
|
278
278
|
this.defaultDocOptions.patchers = [patcher];
|
|
279
279
|
} else {
|
|
@@ -331,7 +331,8 @@ export class FiretenderCollection<SchemaType extends z.SomeZodObject> {
|
|
|
331
331
|
return querySnapshot.docs.map(
|
|
332
332
|
(queryDoc) =>
|
|
333
333
|
new FiretenderDoc(this.schema, queryDoc.ref, {
|
|
334
|
-
|
|
334
|
+
...this.defaultDocOptions,
|
|
335
|
+
rawData: queryDoc.data(),
|
|
335
336
|
}),
|
|
336
337
|
);
|
|
337
338
|
}
|
package/src/FiretenderDoc.ts
CHANGED
|
@@ -25,11 +25,9 @@ import { watchForChanges } from "./proxy";
|
|
|
25
25
|
import { DeepReadonly } from "./ts-helpers";
|
|
26
26
|
|
|
27
27
|
/*
|
|
28
|
-
* Patcher functions
|
|
29
|
-
* If any of these functions returns true, the data is asynchronously updated
|
|
30
|
-
* on Firestore half a second later, if it hasn't already been written back.
|
|
28
|
+
* Patcher functions modify the data from Firestore before it is parsed by Zod.
|
|
31
29
|
*/
|
|
32
|
-
export type Patcher = (data: any) => boolean;
|
|
30
|
+
export type Patcher = (data: Record<string, any>) => boolean | void;
|
|
33
31
|
|
|
34
32
|
/**
|
|
35
33
|
* Public options for initializing a FiretenderDoc object.
|
|
@@ -43,11 +41,13 @@ export type FiretenderDocOptions = {
|
|
|
43
41
|
|
|
44
42
|
/**
|
|
45
43
|
* Functions that modify the data from Firestore before it is parsed by Zod.
|
|
46
|
-
* If any of these functions returns true, the data is asynchronously updated
|
|
47
|
-
* on Firestore half a second later, if it hasn't already been written back.
|
|
48
|
-
*
|
|
49
44
|
* The patchers are applied to the data in the order given, each receiving the
|
|
50
45
|
* output of the previous. The output of the last is fed to Zod.
|
|
46
|
+
*
|
|
47
|
+
* If any of these functions returns true, the data is asynchronously updated
|
|
48
|
+
* on Firestore after a delay of `savePatchAfterDelay`, if it hasn't already
|
|
49
|
+
* been written back. Only return true if the Firestore rules allow updating
|
|
50
|
+
* all patched fields; otherwise all subsequent writes will fail.
|
|
51
51
|
*/
|
|
52
52
|
patchers?: Patcher[] | undefined;
|
|
53
53
|
|
|
@@ -76,7 +76,14 @@ export type AllFiretenderDocOptions = FiretenderDocOptions & {
|
|
|
76
76
|
* The document's initial data, which must define a valid instance of the
|
|
77
77
|
* document according to its schema.
|
|
78
78
|
*/
|
|
79
|
-
initialData?: Record<string,
|
|
79
|
+
initialData?: DeepReadonly<Record<string, unknown>>;
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* The document's raw data, as it would be read from Firestore. Unlike
|
|
83
|
+
* `initialData`, this data is patched before parsing. The patched data must
|
|
84
|
+
* must define a valid instance of the document according to its schema.
|
|
85
|
+
*/
|
|
86
|
+
rawData?: DeepReadonly<Record<string, unknown>>;
|
|
80
87
|
};
|
|
81
88
|
|
|
82
89
|
/**
|
|
@@ -179,15 +186,19 @@ export class FiretenderDoc<SchemaType extends z.SomeZodObject> {
|
|
|
179
186
|
);
|
|
180
187
|
}
|
|
181
188
|
this.isSettingNewContents = this.isNewDoc;
|
|
189
|
+
this.patchers = options.patchers;
|
|
190
|
+
this.savePatchAfterDelay = options.savePatchAfterDelay ?? 500;
|
|
182
191
|
if (options.initialData) {
|
|
183
192
|
this.data = schema.parse(options.initialData);
|
|
193
|
+
} else if (options.rawData) {
|
|
194
|
+
const data = structuredClone(options.rawData);
|
|
195
|
+
this.patchData(data);
|
|
196
|
+
this.data = schema.parse(data);
|
|
184
197
|
} else if (this.isNewDoc) {
|
|
185
198
|
throw new FiretenderUsageError(
|
|
186
199
|
"Initial data must be given when creating a new doc.",
|
|
187
200
|
);
|
|
188
201
|
}
|
|
189
|
-
this.patchers = options.patchers;
|
|
190
|
-
this.savePatchAfterDelay = options.savePatchAfterDelay ?? 500;
|
|
191
202
|
if (this.ref instanceof DocumentReference) {
|
|
192
203
|
this.docID = this.ref.path.split("/").pop();
|
|
193
204
|
} else if (!this.isNewDoc) {
|
|
@@ -631,24 +642,7 @@ export class FiretenderDoc<SchemaType extends z.SomeZodObject> {
|
|
|
631
642
|
// duplicate in test. Not much we can do but ignore it.
|
|
632
643
|
return false;
|
|
633
644
|
}
|
|
634
|
-
|
|
635
|
-
const wasPatched = this.patchers.reduce(
|
|
636
|
-
(wasPatched, patcher) => patcher(data) || wasPatched,
|
|
637
|
-
false,
|
|
638
|
-
);
|
|
639
|
-
this.isSettingNewContents = true;
|
|
640
|
-
if (wasPatched) {
|
|
641
|
-
// Listeners don't update the data on Firestore, as that would cause an
|
|
642
|
-
// infinite loop of updates if a patcher always returns true.
|
|
643
|
-
if (
|
|
644
|
-
!isListener &&
|
|
645
|
-
!this.isReadonly &&
|
|
646
|
-
this.savePatchAfterDelay !== false
|
|
647
|
-
) {
|
|
648
|
-
setTimeout(() => this.write(), this.savePatchAfterDelay);
|
|
649
|
-
}
|
|
650
|
-
}
|
|
651
|
-
}
|
|
645
|
+
this.patchData(data, isListener);
|
|
652
646
|
let parsedData: z.infer<SchemaType>;
|
|
653
647
|
try {
|
|
654
648
|
parsedData = this.schema.parse(data);
|
|
@@ -669,6 +663,26 @@ export class FiretenderDoc<SchemaType extends z.SomeZodObject> {
|
|
|
669
663
|
return true;
|
|
670
664
|
}
|
|
671
665
|
|
|
666
|
+
/**
|
|
667
|
+
* Applies the patches to the given data. Writes the updates to Firestore if
|
|
668
|
+
* `noUpdate` is not set and any patcher returns true.
|
|
669
|
+
*/
|
|
670
|
+
private patchData(data: Record<string, unknown>, noUpdate = false): void {
|
|
671
|
+
if (!this.patchers) return;
|
|
672
|
+
const wasPatched = this.patchers.reduce(
|
|
673
|
+
(wasPatched, patcher) => patcher(data) || wasPatched,
|
|
674
|
+
false,
|
|
675
|
+
);
|
|
676
|
+
this.isSettingNewContents = true;
|
|
677
|
+
if (wasPatched) {
|
|
678
|
+
// Listeners don't update the data on Firestore, as that would cause an
|
|
679
|
+
// infinite loop of updates if a patcher always returns true.
|
|
680
|
+
if (!noUpdate && !this.isReadonly && this.savePatchAfterDelay !== false) {
|
|
681
|
+
setTimeout(() => this.write(), this.savePatchAfterDelay);
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
}
|
|
685
|
+
|
|
672
686
|
/**
|
|
673
687
|
* Adds a field and its new value to the list of updates to be passed to
|
|
674
688
|
* Firestore's updateDoc(). Called when the proxies detect changes to the
|