@dereekb/firebase 6.0.0 → 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 +28 -0
- package/package.json +6 -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/client/function/model.function.factory.d.ts +17 -8
- package/src/lib/client/function/model.function.factory.js +4 -0
- package/src/lib/client/function/model.function.factory.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 +41 -15
- package/src/lib/common/firestore/accessor/document.js +25 -11
- package/src/lib/common/firestore/accessor/document.js.map +1 -1
- package/src/lib/common/firestore/accessor/document.utility.d.ts +4 -0
- package/src/lib/common/firestore/accessor/document.utility.js +3 -1
- package/src/lib/common/firestore/accessor/document.utility.js.map +1 -1
- package/src/lib/common/firestore/accessor/index.d.ts +2 -0
- package/src/lib/common/firestore/accessor/index.js +2 -0
- package/src/lib/common/firestore/accessor/index.js.map +1 -1
- package/src/lib/common/firestore/collection/collection.d.ts +37 -1
- package/src/lib/common/firestore/collection/collection.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/src/lib/common/function/action.d.ts +4 -0
- package/src/lib/common/model/function.d.ts +21 -7
- package/src/lib/common/model/function.js +17 -2
- package/src/lib/common/model/function.js.map +1 -1
- package/src/lib/common/model/model/model.loader.d.ts +3 -4
- package/src/lib/common/model/model/model.loader.js.map +1 -1
- package/src/lib/common/model/model.service.d.ts +27 -6
- package/src/lib/common/model/model.service.js +36 -31
- package/src/lib/common/model/model.service.js.map +1 -1
- package/src/lib/common/model/permission/permission.service.role.d.ts +13 -8
- package/src/lib/common/model/permission/permission.service.role.js +18 -0
- package/src/lib/common/model/permission/permission.service.role.js.map +1 -1
- package/test/CHANGELOG.md +19 -0
- package/test/package.json +8 -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
|
@@ -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");
|
|
@@ -19,6 +21,9 @@ class AbstractFirestoreDocument {
|
|
|
19
21
|
get id() {
|
|
20
22
|
return this.documentRef.id;
|
|
21
23
|
}
|
|
24
|
+
get key() {
|
|
25
|
+
return this.documentRef.path;
|
|
26
|
+
}
|
|
22
27
|
get documentRef() {
|
|
23
28
|
return this.accessor.documentRef;
|
|
24
29
|
}
|
|
@@ -31,19 +36,25 @@ class AbstractFirestoreDocument {
|
|
|
31
36
|
snapshotData(options) {
|
|
32
37
|
return this.snapshot().then((x) => x.data(options));
|
|
33
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Creates or updates the existing model using the accessor's set functionality.
|
|
41
|
+
*
|
|
42
|
+
* @param data
|
|
43
|
+
* @returns
|
|
44
|
+
*/
|
|
34
45
|
createOrUpdate(data) {
|
|
35
46
|
return (0, accessor_1.createOrUpdateWithAccessorSet)(this.accessor)(data);
|
|
36
47
|
}
|
|
37
48
|
}
|
|
38
49
|
exports.AbstractFirestoreDocument = AbstractFirestoreDocument;
|
|
39
50
|
function limitedFirestoreDocumentAccessorFactory(config) {
|
|
40
|
-
const { firestoreContext, firestoreAccessorDriver } = config;
|
|
51
|
+
const { firestoreContext, firestoreAccessorDriver, makeDocument, accessorFactory: interceptAccessorFactory } = config;
|
|
41
52
|
return (context) => {
|
|
42
53
|
const databaseContext = context !== null && context !== void 0 ? context : config.firestoreAccessorDriver.defaultContextFactory();
|
|
43
|
-
const dataAccessorFactory = databaseContext.accessorFactory;
|
|
54
|
+
const dataAccessorFactory = interceptAccessorFactory ? interceptAccessorFactory(databaseContext.accessorFactory) : databaseContext.accessorFactory;
|
|
44
55
|
function loadDocument(ref) {
|
|
45
56
|
const accessor = dataAccessorFactory.accessorFor(ref);
|
|
46
|
-
return
|
|
57
|
+
return makeDocument(accessor, documentAccessor);
|
|
47
58
|
}
|
|
48
59
|
function documentRefForKey(fullPath) {
|
|
49
60
|
return firestoreAccessorDriver.docAtPath(firestoreContext.firestore, fullPath);
|
|
@@ -69,7 +80,7 @@ exports.limitedFirestoreDocumentAccessorFactory = limitedFirestoreDocumentAccess
|
|
|
69
80
|
function firestoreDocumentAccessorFactory(config) {
|
|
70
81
|
const { firestoreAccessorDriver, collection } = config;
|
|
71
82
|
const limitedFirestoreDocumentAccessor = limitedFirestoreDocumentAccessorFactory(config);
|
|
72
|
-
function
|
|
83
|
+
function documentRefForId(path, ...pathSegments) {
|
|
73
84
|
return firestoreAccessorDriver.doc(collection, path, ...pathSegments);
|
|
74
85
|
}
|
|
75
86
|
return (context) => {
|
|
@@ -81,13 +92,16 @@ function firestoreDocumentAccessorFactory(config) {
|
|
|
81
92
|
const newDocRef = firestoreAccessorDriver.doc(collection);
|
|
82
93
|
return documentAccessor.loadDocument(newDocRef);
|
|
83
94
|
};
|
|
84
|
-
x.
|
|
85
|
-
x.
|
|
95
|
+
x.documentRefForId = documentRefForId;
|
|
96
|
+
x.loadDocumentForId = (path, ...pathSegments) => {
|
|
86
97
|
if (!path) {
|
|
87
|
-
throw new Error('Path was not provided to
|
|
98
|
+
throw new Error('Path was not provided to loadDocumentForId(). Use newDocument() for generating an id.');
|
|
88
99
|
}
|
|
89
|
-
return documentAccessor.loadDocument(
|
|
100
|
+
return documentAccessor.loadDocument(documentRefForId(path, ...pathSegments));
|
|
90
101
|
};
|
|
102
|
+
// TODO: Remove later
|
|
103
|
+
x.documentRefForPath = x.documentRefForId;
|
|
104
|
+
x.loadDocumentForPath = x.loadDocumentForId;
|
|
91
105
|
}
|
|
92
106
|
});
|
|
93
107
|
return documentAccessor;
|
|
@@ -119,13 +133,13 @@ function firestoreSingleDocumentAccessor(config) {
|
|
|
119
133
|
const { singleItemIdentifier: identifier, accessors } = config;
|
|
120
134
|
return {
|
|
121
135
|
loadDocument() {
|
|
122
|
-
return accessors.documentAccessor().
|
|
136
|
+
return accessors.documentAccessor().loadDocumentForId(identifier);
|
|
123
137
|
},
|
|
124
138
|
loadDocumentForTransaction(transaction) {
|
|
125
|
-
return accessors.documentAccessorForTransaction(transaction).
|
|
139
|
+
return accessors.documentAccessorForTransaction(transaction).loadDocumentForId(identifier);
|
|
126
140
|
},
|
|
127
141
|
loadDocumentForWriteBatch(writeBatch) {
|
|
128
|
-
return accessors.documentAccessorForWriteBatch(writeBatch).
|
|
142
|
+
return accessors.documentAccessorForWriteBatch(writeBatch).loadDocumentForId(identifier);
|
|
129
143
|
}
|
|
130
144
|
};
|
|
131
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"}
|
|
@@ -4,7 +4,7 @@ import { FirestoreItemPageIterationBaseConfig, FirestoreItemPageIterationFactory
|
|
|
4
4
|
import { FirestoreQueryFactory } from '../query/query';
|
|
5
5
|
import { FirestoreDrivers } from '../driver/driver';
|
|
6
6
|
import { FirestoreCollectionQueryFactory } from './collection.query';
|
|
7
|
-
import { ModelTypeString } from '@dereekb/util';
|
|
7
|
+
import { ModelKey, ModelTypeString } from '@dereekb/util';
|
|
8
8
|
/**
|
|
9
9
|
* The camelCase model name.
|
|
10
10
|
*/
|
|
@@ -64,6 +64,42 @@ export interface FirestoreModelIdentityRef<M extends FirestoreModelName = Firest
|
|
|
64
64
|
*/
|
|
65
65
|
readonly modelIdentity: FirestoreModelIdentity<M>;
|
|
66
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* The model's id within a collection.
|
|
69
|
+
*
|
|
70
|
+
* Different from the FirestoreModelKey, which is the full path in the databse.
|
|
71
|
+
*
|
|
72
|
+
* Example:
|
|
73
|
+
*
|
|
74
|
+
* 12345
|
|
75
|
+
*/
|
|
76
|
+
export declare type FirestoreModelId = string;
|
|
77
|
+
/**
|
|
78
|
+
* Reference to a FirestoreModelId
|
|
79
|
+
*/
|
|
80
|
+
export interface FirestoreModelIdRef {
|
|
81
|
+
/**
|
|
82
|
+
* Returns the FirestoreModelId for this context.
|
|
83
|
+
*/
|
|
84
|
+
readonly id: FirestoreModelId;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* The full path for a model in the Firestore database.
|
|
88
|
+
*
|
|
89
|
+
* Example:
|
|
90
|
+
*
|
|
91
|
+
* collection/12345/subcollection/67890
|
|
92
|
+
*/
|
|
93
|
+
export declare type FirestoreModelKey = ModelKey;
|
|
94
|
+
/**
|
|
95
|
+
* Reference to a FirestoreModelKey
|
|
96
|
+
*/
|
|
97
|
+
export interface FirestoreModelKeyRef {
|
|
98
|
+
/**
|
|
99
|
+
* Returns the FirestoreModelKey for this context.
|
|
100
|
+
*/
|
|
101
|
+
readonly key: FirestoreModelKey;
|
|
102
|
+
}
|
|
67
103
|
/**
|
|
68
104
|
* Instance that provides several accessors for accessing documents of a collection.
|
|
69
105
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/collection/collection.ts"],"names":[],"mappings":";;;AACA,mDAc8B;AAC9B,gDAA0L;AAC1L,0CAA8E;AAE9E,yDAAsG;AAiCtG;;;;;GAKG;AACH,SAAgB,sBAAsB,CAA+B,SAAY;IAC/E,OAAO;QACL,UAAU,EAAE,SAAS,CAAC,WAAW,EAAqC;QACtE,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC;AALD,wDAKC;
|
|
1
|
+
{"version":3,"file":"collection.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/collection/collection.ts"],"names":[],"mappings":";;;AACA,mDAc8B;AAC9B,gDAA0L;AAC1L,0CAA8E;AAE9E,yDAAsG;AAiCtG;;;;;GAKG;AACH,SAAgB,sBAAsB,CAA+B,SAAY;IAC/E,OAAO;QACL,UAAU,EAAE,SAAS,CAAC,WAAW,EAAqC;QACtE,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC;AALD,wDAKC;AA6GD;;GAEG;AACH,SAAgB,uBAAuB,CAAoC,WAA4C;IACrH,MAAM,MAAM,GAAG,WAAyE,CAAC;IAEzF,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,GAAG,MAAM,CAAC;IACxE,MAAwD,CAAC,SAAS,GAAG,UAAU,CAAC;IAEjF,MAAM,kBAAkB,GAAiD,IAAA,4CAAiC,EAAC,MAAM,CAAC,CAAC;IACnH,MAAM,gBAAgB,GAAmD,IAAA,2CAAgC,EAAC,MAAM,CAAC,CAAC;IAClH,MAAM,YAAY,GAA6B,IAAA,6BAAqB,EAAC,MAAM,CAAC,CAAC;IAE7E,MAAM,yBAAyB,GAAG,IAAA,oDAAyC,EAAC,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAC3H,MAAM,EAAE,aAAa,EAAE,GAAG,IAAA,kDAA+B,EAAC,YAAY,EAAE,yBAAyB,CAAC,CAAC;IACnG,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC;IAE/B,qCACE,MAAM;QACN,UAAU,EACV,SAAS,EAAE,UAAU,EACrB,gBAAgB,IACb,yBAAyB,KAC5B,kBAAkB;QAClB,KAAK;QACL,aAAa,IACb;AACJ,CAAC;AAxBD,0DAwBC"}
|
|
@@ -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;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.separateConstraints = exports.replaceConstraints = exports.filterConstraintsOfType = exports.addOrReplaceLimitInConstraints = exports.endBefore = exports.FIRESTORE_END_BEFORE_QUERY_CONSTRAINT_TYPE = exports.endAt = exports.endAtValue = exports.FIRESTORE_END_AT_VALUE_QUERY_CONSTRAINT_TYPE = exports.FIRESTORE_END_AT_QUERY_CONSTRAINT_TYPE = exports.startAfter = exports.FIRESTORE_START_AFTER_QUERY_CONSTRAINT_TYPE = exports.startAtValue = exports.FIRESTORE_START_AT_VALUE_QUERY_CONSTRAINT_TYPE = exports.startAt = exports.FIRESTORE_START_AT_QUERY_CONSTRAINT_TYPE = exports.orderByDocumentId = exports.FIRESTORE_ORDER_BY_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE = exports.orderBy = exports.FIRESTORE_ORDER_BY_QUERY_CONSTRAINT_TYPE = exports.where = exports.FIRESTORE_WHERE_QUERY_CONSTRAINT_TYPE = exports.offset = exports.FIRESTORE_OFFSET_QUERY_CONSTRAINT_TYPE = exports.limitToLast = exports.FIRESTORE_LIMIT_TO_LAST_QUERY_CONSTRAINT_TYPE = exports.limit = exports.FIRESTORE_LIMIT_QUERY_CONSTRAINT_TYPE = exports.firestoreQueryConstraintFactory = exports.firestoreQueryConstraint = void 0;
|
|
3
|
+
exports.separateConstraints = exports.replaceConstraints = exports.filterConstraintsOfType = exports.addOrReplaceLimitInConstraints = exports.endBefore = exports.FIRESTORE_END_BEFORE_QUERY_CONSTRAINT_TYPE = exports.endAt = exports.endAtValue = exports.FIRESTORE_END_AT_VALUE_QUERY_CONSTRAINT_TYPE = exports.FIRESTORE_END_AT_QUERY_CONSTRAINT_TYPE = exports.startAfter = exports.FIRESTORE_START_AFTER_QUERY_CONSTRAINT_TYPE = exports.startAtValue = exports.FIRESTORE_START_AT_VALUE_QUERY_CONSTRAINT_TYPE = exports.startAt = exports.FIRESTORE_START_AT_QUERY_CONSTRAINT_TYPE = exports.orderByDocumentId = exports.FIRESTORE_ORDER_BY_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE = exports.orderBy = exports.FIRESTORE_ORDER_BY_QUERY_CONSTRAINT_TYPE = exports.whereDocumentId = exports.FIRESTORE_WHERE_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE = exports.where = exports.FIRESTORE_WHERE_QUERY_CONSTRAINT_TYPE = exports.offset = exports.FIRESTORE_OFFSET_QUERY_CONSTRAINT_TYPE = exports.limitToLast = exports.FIRESTORE_LIMIT_TO_LAST_QUERY_CONSTRAINT_TYPE = exports.limit = exports.FIRESTORE_LIMIT_QUERY_CONSTRAINT_TYPE = exports.firestoreQueryConstraintFactory = exports.firestoreQueryConstraint = void 0;
|
|
4
4
|
const util_1 = require("@dereekb/util");
|
|
5
5
|
function firestoreQueryConstraint(type, data) {
|
|
6
6
|
return {
|
|
@@ -48,13 +48,19 @@ function where(fieldPath, opStr, value) {
|
|
|
48
48
|
return firestoreQueryConstraint(exports.FIRESTORE_WHERE_QUERY_CONSTRAINT_TYPE, { fieldPath: fieldPath, opStr, value });
|
|
49
49
|
}
|
|
50
50
|
exports.where = where;
|
|
51
|
+
// MARK: WhereDocumentId
|
|
52
|
+
exports.FIRESTORE_WHERE_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE = 'where_doc_id';
|
|
53
|
+
function whereDocumentId(opStr, value) {
|
|
54
|
+
return firestoreQueryConstraint(exports.FIRESTORE_WHERE_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE, { opStr, value });
|
|
55
|
+
}
|
|
56
|
+
exports.whereDocumentId = whereDocumentId;
|
|
51
57
|
// MARK: OrderBy
|
|
52
58
|
exports.FIRESTORE_ORDER_BY_QUERY_CONSTRAINT_TYPE = 'order_by';
|
|
53
59
|
function orderBy(fieldPath, directionStr) {
|
|
54
60
|
return firestoreQueryConstraint(exports.FIRESTORE_ORDER_BY_QUERY_CONSTRAINT_TYPE, { fieldPath: fieldPath, directionStr });
|
|
55
61
|
}
|
|
56
62
|
exports.orderBy = orderBy;
|
|
57
|
-
// MARK:
|
|
63
|
+
// MARK: OrderByDocumentId
|
|
58
64
|
exports.FIRESTORE_ORDER_BY_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE = 'order_by_doc_id';
|
|
59
65
|
function orderByDocumentId(directionStr) {
|
|
60
66
|
return firestoreQueryConstraint(exports.FIRESTORE_ORDER_BY_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE, { directionStr });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraint.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/query/constraint.ts"],"names":[],"mappings":";;;AACA,wCAA8J;AAa9J,SAAgB,wBAAwB,CAAc,IAAY,EAAE,IAAO;IACzE,OAAO;QACL,IAAI;QACJ,IAAI;KACL,CAAC;AACJ,CAAC;AALD,4DAKC;AAED,SAAgB,+BAA+B,CAAC,IAAY;IAC1D,OAAO,CAAI,IAAO,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC9D,CAAC;AAFD,0EAEC;AAED,cAAc;AACD,QAAA,qCAAqC,GAAG,OAAO,CAAC;AAM7D;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,KAAa;IACjC,OAAO,wBAAwB,CAAC,6CAAqC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AACpF,CAAC;AAFD,sBAEC;AAED,sBAAsB;AACT,QAAA,6CAA6C,GAAG,eAAe,CAAC;AAM7E;;;;GAIG;AACH,SAAgB,WAAW,CAAC,KAAa;IACvC,OAAO,wBAAwB,CAAC,qDAA6C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5F,CAAC;AAFD,kCAEC;AAED,eAAe;AACF,QAAA,sCAAsC,GAAG,QAAQ,CAAC;AAM/D,SAAgB,MAAM,CAAC,MAAc;IACnC,OAAO,wBAAwB,CAAC,8CAAsC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACtF,CAAC;AAFD,wBAEC;AAED,cAAc;AACD,QAAA,qCAAqC,GAAG,OAAO,CAAC;AAY7D,SAAgB,KAAK,CAAC,SAAkB,EAAE,KAAoB,EAAE,KAAc;IAC5E,OAAO,wBAAwB,CAAC,6CAAqC,EAAE,EAAE,SAAS,EAAE,SAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3H,CAAC;AAFD,sBAEC;AAED,gBAAgB;AACH,QAAA,wCAAwC,GAAG,UAAU,CAAC;AAWnE,SAAgB,OAAO,CAAa,SAA6D,EAAE,YAA+B;IAChI,OAAO,wBAAwB,CAAC,gDAAwC,EAAE,EAAE,SAAS,EAAE,SAAkC,EAAE,YAAY,EAAE,CAAC,CAAC;AAC7I,CAAC;AAFD,0BAEC;AAED,
|
|
1
|
+
{"version":3,"file":"constraint.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/query/constraint.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MaybeMap, ModelFieldConversions, ApplyMapFunctionWithOptions, ModelFieldConversionsConfig, TypedMappedModelData } from '@dereekb/util';
|
|
1
|
+
import { MaybeMap, ModelFieldConversions, ApplyMapFunctionWithOptions, ModelFieldConversionsConfig, TypedMappedModelData, ArrayOrValue, PartialModelModifier } from '@dereekb/util';
|
|
2
2
|
import { SnapshotOptions, SetOptions, DocumentSnapshot, FirestoreDataConverter } from '../types';
|
|
3
3
|
/**
|
|
4
4
|
* The default "empty" value in the Firestore.
|
|
@@ -46,12 +46,15 @@ export declare type ExpectedFirestoreModelData<T extends object, R extends objec
|
|
|
46
46
|
*/
|
|
47
47
|
export declare type FirestoreModelData<T extends object, R extends object = object> = Partial<ExpectedFirestoreModelData<T, MaybeMap<R>>>;
|
|
48
48
|
export declare type SnapshotConverterConfigWithFields<T extends object, O extends object = FirestoreModelData<T>> = {
|
|
49
|
-
fields: ModelFieldConversionsConfig<T, O>;
|
|
49
|
+
readonly fields: ModelFieldConversionsConfig<T, O>;
|
|
50
50
|
};
|
|
51
51
|
export declare type SnapshotConverterConfigWithConversions<T extends object, O extends object = FirestoreModelData<T>> = {
|
|
52
|
-
fieldConversions: ModelFieldConversions<T, O>;
|
|
52
|
+
readonly fieldConversions: ModelFieldConversions<T, O>;
|
|
53
|
+
};
|
|
54
|
+
export declare type SnapshotConverterModifier<T extends object, O extends object = FirestoreModelData<T>> = PartialModelModifier<T, O>;
|
|
55
|
+
export declare type SnapshotConverterConfig<T extends object, O extends object = FirestoreModelData<T>> = (SnapshotConverterConfigWithFields<T, O> | SnapshotConverterConfigWithConversions<T, O>) & {
|
|
56
|
+
readonly modifiers?: ArrayOrValue<SnapshotConverterModifier<T, O>>;
|
|
53
57
|
};
|
|
54
|
-
export declare type SnapshotConverterConfig<T extends object, O extends object = FirestoreModelData<T>> = SnapshotConverterConfigWithFields<T, O> | SnapshotConverterConfigWithConversions<T, O>;
|
|
55
58
|
export interface SnapshotConverterFunctions<T extends object, O extends object = FirestoreModelData<T>> extends FirestoreDataConverter<T, O> {
|
|
56
59
|
from: SnapshotConverterFromFunction<T, O>;
|
|
57
60
|
to: SnapshotConverterToFunction<T, O>;
|
|
@@ -1,21 +1,25 @@
|
|
|
1
|
-
import { ModelFieldMapFunctionsConfig, GetterOrValue, Maybe, ModelFieldMapConvertFunction } from '@dereekb/util';
|
|
1
|
+
import { ModelFieldMapFunctionsConfig, GetterOrValue, Maybe, ModelFieldMapConvertFunction, PrimativeKey, ReadKeyFunction, ModelFieldMapFunctionsWithDefaultsConfig, FindUniqueFunction, FindUniqueStringsTransformConfig, MapFunction } from '@dereekb/util';
|
|
2
2
|
export interface BaseFirestoreFieldConfig<V, D = unknown> {
|
|
3
3
|
fromData: ModelFieldMapConvertFunction<D, V>;
|
|
4
4
|
toData: ModelFieldMapConvertFunction<V, D>;
|
|
5
5
|
defaultBeforeSave?: GetterOrValue<D | null>;
|
|
6
6
|
}
|
|
7
|
-
export interface
|
|
7
|
+
export interface FirestoreFieldDefault<V> {
|
|
8
8
|
default: GetterOrValue<V>;
|
|
9
9
|
}
|
|
10
|
-
export interface
|
|
10
|
+
export interface FirestoreFieldDefaultData<D = unknown> {
|
|
11
11
|
defaultData: GetterOrValue<D>;
|
|
12
12
|
}
|
|
13
|
+
export interface FirestoreFieldConfigWithDefault<V, D = unknown> extends BaseFirestoreFieldConfig<V, D>, FirestoreFieldDefault<V> {
|
|
14
|
+
}
|
|
15
|
+
export interface FirestoreFieldConfigWithDefaultData<V, D = unknown> extends BaseFirestoreFieldConfig<V, D>, FirestoreFieldDefaultData<D> {
|
|
16
|
+
}
|
|
13
17
|
export declare type FirestoreFieldConfig<V, D = unknown> = FirestoreFieldConfigWithDefault<V, D> | FirestoreFieldConfigWithDefaultData<V, D>;
|
|
14
18
|
/**
|
|
15
19
|
* All firebase ModelFieldMapFunctionsConfig are configured to handle the read field value as null/undefined. This implies that
|
|
16
20
|
* by design, the firebase database documents do not need to be fully intact for the system to handle them properly.
|
|
17
21
|
*/
|
|
18
|
-
export declare type FirestoreModelFieldMapFunctionsConfig<V, D> =
|
|
22
|
+
export declare type FirestoreModelFieldMapFunctionsConfig<V, D> = ModelFieldMapFunctionsWithDefaultsConfig<V, Maybe<D>>;
|
|
19
23
|
export declare function firestoreField<V, D = unknown>(config: FirestoreFieldConfig<V, D>): FirestoreModelFieldMapFunctionsConfig<V, D>;
|
|
20
24
|
export declare const FIRESTORE_PASSTHROUGH_FIELD: FirestoreModelFieldMapFunctionsConfig<unknown, unknown>;
|
|
21
25
|
export declare function firestorePassThroughField<T>(): ModelFieldMapFunctionsConfig<T, T>;
|
|
@@ -25,7 +29,7 @@ export declare type MapConfiguredFirestoreFieldConfig<V, D = unknown> = MapConfi
|
|
|
25
29
|
export declare type DefaultMapConfiguredFirestoreFieldConfig<V, D = unknown> = Omit<FirestoreFieldConfigWithDefault<V, D>, 'fromData' | 'toData' | 'default'> & Partial<Pick<FirestoreFieldConfigWithDefault<V, D>, 'default'>>;
|
|
26
30
|
export declare type OptionalMapConfiguredFirestoreFieldConfig<V, D = unknown> = Omit<BaseFirestoreFieldConfig<V, D>, 'fromData' | 'toData' | 'defaultBeforeSave'>;
|
|
27
31
|
export declare type FirestoreStringConfig = DefaultMapConfiguredFirestoreFieldConfig<string, string>;
|
|
28
|
-
export declare function firestoreString(config
|
|
32
|
+
export declare function firestoreString(config?: FirestoreStringConfig): FirestoreModelFieldMapFunctionsConfig<string, string>;
|
|
29
33
|
export declare function optionalFirestoreString(): ModelFieldMapFunctionsConfig<Maybe<string>, Maybe<string>>;
|
|
30
34
|
export declare function firestoreUID(): FirestoreModelFieldMapFunctionsConfig<string, string>;
|
|
31
35
|
export declare function optionalFirestoreUID(): ModelFieldMapFunctionsConfig<Maybe<string>, Maybe<string>>;
|
|
@@ -40,3 +44,39 @@ export declare function optionalFirestoreBoolean(): ModelFieldMapFunctionsConfig
|
|
|
40
44
|
export declare type FirestoreNumberFieldConfig = MapConfiguredFirestoreFieldConfigWithDefault<number, number>;
|
|
41
45
|
export declare function firestoreNumber(config: FirestoreNumberFieldConfig): FirestoreModelFieldMapFunctionsConfig<number, number>;
|
|
42
46
|
export declare function optionalFirestoreNumber(): ModelFieldMapFunctionsConfig<Maybe<number>, Maybe<number>>;
|
|
47
|
+
export declare type FirestoreArrayFieldConfig<T> = DefaultMapConfiguredFirestoreFieldConfig<T[], T[]> & Partial<FirestoreFieldDefault<T[]>>;
|
|
48
|
+
export declare function firestoreArray<T>(config: FirestoreArrayFieldConfig<T>): FirestoreModelFieldMapFunctionsConfig<T[], T[]>;
|
|
49
|
+
export declare function optionalFirestoreArray<T>(): ModelFieldMapFunctionsConfig<Maybe<T[]>, Maybe<T[]>>;
|
|
50
|
+
export declare type FirestoreUniqueArrayFieldConfig<T> = FirestoreArrayFieldConfig<T> & {
|
|
51
|
+
readonly findUnique: FindUniqueFunction<T>;
|
|
52
|
+
};
|
|
53
|
+
export declare function firestoreUniqueArray<T>(config: FirestoreUniqueArrayFieldConfig<T>): FirestoreModelFieldMapFunctionsConfig<T[], T[]>;
|
|
54
|
+
export declare type FirestoreUniqueKeyedArrayFieldConfig<T, K extends PrimativeKey = PrimativeKey> = FirestoreArrayFieldConfig<T> & {
|
|
55
|
+
readonly readKey: ReadKeyFunction<T, K>;
|
|
56
|
+
};
|
|
57
|
+
export declare function firestoreUniqueKeyedArray<T, K extends PrimativeKey = PrimativeKey>(config: FirestoreUniqueKeyedArrayFieldConfig<T, K>): FirestoreModelFieldMapFunctionsConfig<T[], T[]>;
|
|
58
|
+
export declare type FirestoreUniqueStringArrayFieldConfig = Omit<FirestoreUniqueArrayFieldConfig<string>, 'findUnique'> & FindUniqueStringsTransformConfig;
|
|
59
|
+
export declare function firestoreUniqueStringArray(config: FirestoreUniqueStringArrayFieldConfig): FirestoreModelFieldMapFunctionsConfig<string[], string[]>;
|
|
60
|
+
export declare type FirestoreEncodedArrayFieldConfig<T, E extends string | number> = DefaultMapConfiguredFirestoreFieldConfig<T[], E[]> & {
|
|
61
|
+
readonly convert: {
|
|
62
|
+
fromData: MapFunction<E, T>;
|
|
63
|
+
toData: MapFunction<T, E>;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* A Firestore array that encodes values to either string or number values using another FirestoreModelField config for encoding/decoding.
|
|
68
|
+
*
|
|
69
|
+
* @param config
|
|
70
|
+
* @returns
|
|
71
|
+
*/
|
|
72
|
+
export declare function firestoreEncodedArray<T, E extends string | number>(config: FirestoreEncodedArrayFieldConfig<T, E>): FirestoreModelFieldMapFunctionsConfig<T[], E[]>;
|
|
73
|
+
export declare type FirestoreSetFieldConfig<T extends string | number> = DefaultMapConfiguredFirestoreFieldConfig<Set<T>, T[]>;
|
|
74
|
+
/**
|
|
75
|
+
* Do not use.
|
|
76
|
+
*
|
|
77
|
+
* @deprecated should retrieve/store the data as a POJO array and not use class types like this.
|
|
78
|
+
*
|
|
79
|
+
* @param config
|
|
80
|
+
* @returns
|
|
81
|
+
*/
|
|
82
|
+
export declare function firestoreSet<T extends string | number>(config: FirestoreSetFieldConfig<T>): FirestoreModelFieldMapFunctionsConfig<Set<T>, T[]>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.optionalFirestoreNumber = exports.firestoreNumber = exports.optionalFirestoreBoolean = exports.firestoreBoolean = exports.optionalFirestoreDate = exports.firestoreDate = exports.optionalFirestoreUID = exports.firestoreUID = exports.optionalFirestoreString = exports.firestoreString = exports.firestorePassThroughField = exports.FIRESTORE_PASSTHROUGH_FIELD = exports.firestoreField = void 0;
|
|
3
|
+
exports.firestoreSet = exports.firestoreEncodedArray = exports.firestoreUniqueStringArray = exports.firestoreUniqueKeyedArray = exports.firestoreUniqueArray = exports.optionalFirestoreArray = exports.firestoreArray = exports.optionalFirestoreNumber = exports.firestoreNumber = exports.optionalFirestoreBoolean = exports.firestoreBoolean = exports.optionalFirestoreDate = exports.firestoreDate = exports.optionalFirestoreUID = exports.firestoreUID = exports.optionalFirestoreString = exports.firestoreString = exports.firestorePassThroughField = exports.FIRESTORE_PASSTHROUGH_FIELD = exports.firestoreField = void 0;
|
|
4
4
|
const date_1 = require("@dereekb/date");
|
|
5
5
|
const util_1 = require("@dereekb/util");
|
|
6
6
|
const snapshot_1 = require("./snapshot");
|
|
@@ -17,7 +17,7 @@ function firestoreField(config) {
|
|
|
17
17
|
convert: config.fromData
|
|
18
18
|
},
|
|
19
19
|
to: {
|
|
20
|
-
default: (_a = config.defaultBeforeSave) !== null && _a !== void 0 ? _a : snapshot_1.FIRESTORE_EMPTY_VALUE,
|
|
20
|
+
default: ((_a = config.defaultBeforeSave) !== null && _a !== void 0 ? _a : snapshot_1.FIRESTORE_EMPTY_VALUE),
|
|
21
21
|
convert: config.toData
|
|
22
22
|
}
|
|
23
23
|
};
|
|
@@ -92,4 +92,69 @@ function optionalFirestoreNumber() {
|
|
|
92
92
|
return firestorePassThroughField();
|
|
93
93
|
}
|
|
94
94
|
exports.optionalFirestoreNumber = optionalFirestoreNumber;
|
|
95
|
+
function firestoreArray(config) {
|
|
96
|
+
var _a;
|
|
97
|
+
return firestoreField({
|
|
98
|
+
default: (_a = config.default) !== null && _a !== void 0 ? _a : [],
|
|
99
|
+
fromData: util_1.passThrough,
|
|
100
|
+
toData: util_1.passThrough
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
exports.firestoreArray = firestoreArray;
|
|
104
|
+
function optionalFirestoreArray() {
|
|
105
|
+
return firestorePassThroughField();
|
|
106
|
+
}
|
|
107
|
+
exports.optionalFirestoreArray = optionalFirestoreArray;
|
|
108
|
+
function firestoreUniqueArray(config) {
|
|
109
|
+
var _a;
|
|
110
|
+
const { findUnique } = config;
|
|
111
|
+
return firestoreField({
|
|
112
|
+
default: (_a = config.default) !== null && _a !== void 0 ? _a : [],
|
|
113
|
+
fromData: findUnique,
|
|
114
|
+
toData: findUnique
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
exports.firestoreUniqueArray = firestoreUniqueArray;
|
|
118
|
+
function firestoreUniqueKeyedArray(config) {
|
|
119
|
+
return firestoreUniqueArray(Object.assign(Object.assign({}, config), { findUnique: (0, util_1.makeFindUniqueFunction)(config.readKey) }));
|
|
120
|
+
}
|
|
121
|
+
exports.firestoreUniqueKeyedArray = firestoreUniqueKeyedArray;
|
|
122
|
+
function firestoreUniqueStringArray(config) {
|
|
123
|
+
const findUnique = (0, util_1.findUniqueTransform)(config);
|
|
124
|
+
return firestoreUniqueArray(Object.assign(Object.assign({}, config), { findUnique }));
|
|
125
|
+
}
|
|
126
|
+
exports.firestoreUniqueStringArray = firestoreUniqueStringArray;
|
|
127
|
+
/**
|
|
128
|
+
* A Firestore array that encodes values to either string or number values using another FirestoreModelField config for encoding/decoding.
|
|
129
|
+
*
|
|
130
|
+
* @param config
|
|
131
|
+
* @returns
|
|
132
|
+
*/
|
|
133
|
+
function firestoreEncodedArray(config) {
|
|
134
|
+
var _a;
|
|
135
|
+
const { fromData, toData } = config.convert;
|
|
136
|
+
return firestoreField({
|
|
137
|
+
default: (_a = config.default) !== null && _a !== void 0 ? _a : [],
|
|
138
|
+
fromData: (input) => input.map(fromData),
|
|
139
|
+
toData: (input) => (0, util_1.filterMaybeValues)(input.map(toData))
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
exports.firestoreEncodedArray = firestoreEncodedArray;
|
|
143
|
+
/**
|
|
144
|
+
* Do not use.
|
|
145
|
+
*
|
|
146
|
+
* @deprecated should retrieve/store the data as a POJO array and not use class types like this.
|
|
147
|
+
*
|
|
148
|
+
* @param config
|
|
149
|
+
* @returns
|
|
150
|
+
*/
|
|
151
|
+
function firestoreSet(config) {
|
|
152
|
+
var _a;
|
|
153
|
+
return firestoreField({
|
|
154
|
+
default: (_a = config.default) !== null && _a !== void 0 ? _a : (() => new Set()),
|
|
155
|
+
fromData: (data) => new Set(data),
|
|
156
|
+
toData: (set) => Array.from(set)
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
exports.firestoreSet = firestoreSet;
|
|
95
160
|
//# sourceMappingURL=snapshot.field.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.field.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/snapshot/snapshot.field.ts"],"names":[],"mappings":";;;AAAA,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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"}
|
|
@@ -11,7 +11,8 @@ exports.FIRESTORE_EMPTY_VALUE = null;
|
|
|
11
11
|
function snapshotConverterFunctions(config) {
|
|
12
12
|
var _a;
|
|
13
13
|
const conversions = (_a = config.fieldConversions) !== null && _a !== void 0 ? _a : (0, util_1.modelFieldConversions)(config.fields);
|
|
14
|
-
const
|
|
14
|
+
const mapFunctions = (0, util_1.makeModelMapFunctions)(conversions);
|
|
15
|
+
const { from: fromData, to: toData } = config.modifiers ? (0, util_1.modifyModelMapFunctions)({ mapFunctions, modifiers: config.modifiers }) : mapFunctions;
|
|
15
16
|
const from = (input, target) => {
|
|
16
17
|
const data = input.data();
|
|
17
18
|
return fromData(data, target);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/snapshot/snapshot.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/snapshot/snapshot.ts"],"names":[],"mappings":";;;AAAA,wCAAgV;AAChV,oCAAyN;AAEzN,aAAa;AACb;;GAEG;AACU,QAAA,qBAAqB,GAAG,IAAI,CAAC;AAqE1C,SAAgB,0BAA0B,CAA6D,MAAqC;;IAC1I,MAAM,WAAW,GAAgC,MAAC,MAAuD,CAAC,gBAAgB,mCAAI,IAAA,4BAAqB,EAAQ,MAAkD,CAAC,MAAM,CAAC,CAAC;IACtN,MAAM,YAAY,GAAG,IAAA,4BAAqB,EAAO,WAAW,CAAC,CAAC;IAC9D,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,8BAAuB,EAAC,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IAEhJ,MAAM,IAAI,GAAwC,CAAC,KAAuB,EAAE,MAA0B,EAAE,EAAE;QACxG,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1B,OAAO,QAAQ,CAAC,IAAS,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,MAAM,EAAE,GAAsC,CAAC,KAAQ,EAAE,MAA0B,EAAE,OAA2B,EAAE,EAAE;QAClH,IAAI,SAA2C,CAAC;QAEhD,IAAI,OAAO,EAAE;YACX,MAAM,WAAW,GAAI,OAAiC,CAAC,WAAW,CAAC;YAEnE,IAAK,OAA2B,CAAC,KAAK,EAAE;gBACtC,SAAS,GAAG;oBACV,WAAW,EAAE,IAAI;iBAClB,CAAC;aACH;YAED,IAAI,WAAW,EAAE;gBACf,SAAS,mCACJ,SAAS,KACZ,MAAM,EAAE,IAAA,4BAAoB,EAAC,WAAW,CAAgB,GACzD,CAAC;aACH;SACF;QAED,OAAO,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,OAAO;QACL,IAAI;QACJ,EAAE;QACF,aAAa,EAAE,CAAC,QAA6B,EAAE,OAAyB,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC;QAC/G,WAAW,EAAE,CAAC,WAAyD,EAAE,OAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,WAAgB,EAAE,SAAS,EAAE,OAAO,CAAC;KAC3I,CAAC;AACJ,CAAC;AAvCD,gEAuCC"}
|
|
@@ -62,10 +62,10 @@ export interface DocumentSnapshot<T = DocumentData> {
|
|
|
62
62
|
}
|
|
63
63
|
export declare type SetOptions = SetOptionsMerge | SetOptionsMergeFields;
|
|
64
64
|
export interface SetOptionsMerge {
|
|
65
|
-
readonly merge
|
|
65
|
+
readonly merge: boolean | undefined;
|
|
66
66
|
}
|
|
67
67
|
export interface SetOptionsMergeFields {
|
|
68
|
-
readonly mergeFields
|
|
68
|
+
readonly mergeFields: Array<string | FieldPath>;
|
|
69
69
|
}
|
|
70
70
|
export interface SnapshotOptions {
|
|
71
71
|
readonly serverTimestamps?: 'estimate' | 'previous' | 'none';
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import { TransformAndValidateFunctionResult } from '@dereekb/model';
|
|
2
|
+
export declare type FirebaseFunctionCreateAction<P extends object, T> = TransformAndValidateFunctionResult<P, () => Promise<T>>;
|
|
3
|
+
export declare type AsyncFirebaseFunctionCreateAction<P extends object, T> = Promise<FirebaseFunctionCreateAction<P, T>>;
|
|
2
4
|
export declare type FirebaseFunctionUpdateAction<P extends object, T> = TransformAndValidateFunctionResult<P, (document: T) => Promise<T>>;
|
|
3
5
|
export declare type AsyncFirebaseFunctionUpdateAction<P extends object, T> = Promise<FirebaseFunctionUpdateAction<P, T>>;
|
|
6
|
+
export declare type FirebaseFunctionDeleteAction<P extends object, T> = TransformAndValidateFunctionResult<P, (document: T) => Promise<void>>;
|
|
7
|
+
export declare type AsyncFirebaseFunctionDeleteAction<P extends object, T> = Promise<FirebaseFunctionUpdateAction<P, T>>;
|
|
@@ -1,15 +1,29 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ArrayOrValue } from '@dereekb/util';
|
|
2
|
+
import { DocumentReferenceRef } from '../firestore/reference';
|
|
3
|
+
import { FirestoreModelKey, FirestoreModelNameRef } from '../firestore/collection/collection';
|
|
4
|
+
export interface OnCallTypedModelParams<T = unknown> extends FirestoreModelNameRef {
|
|
5
|
+
data: T;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Key used on the front-end and backend that refers to a specific function for creating models.
|
|
9
|
+
*/
|
|
10
|
+
export declare const CREATE_MODEL_APP_FUNCTION_KEY = "createModel";
|
|
11
|
+
export declare type OnCallCreateModelParams<T = unknown> = OnCallTypedModelParams<T>;
|
|
2
12
|
/**
|
|
3
13
|
* Key used on the front-end and backend that refers to a specific function for updating models.
|
|
4
14
|
*/
|
|
5
15
|
export declare const UPDATE_MODEL_APP_FUNCTION_KEY = "updateModel";
|
|
6
|
-
export
|
|
7
|
-
data: T;
|
|
8
|
-
}
|
|
16
|
+
export declare type OnCallUpdateModelParams<T = unknown> = OnCallTypedModelParams<T>;
|
|
9
17
|
/**
|
|
10
|
-
* Key used on the front-end and backend that refers to
|
|
18
|
+
* Key used on the front-end and backend that refers to a specific function for deleting models.
|
|
11
19
|
*/
|
|
12
20
|
export declare const DELETE_MODEL_APP_FUNCTION_KEY = "deleteModel";
|
|
13
|
-
export
|
|
14
|
-
|
|
21
|
+
export declare type OnCallDeleteModelParams<T = unknown> = OnCallTypedModelParams<T>;
|
|
22
|
+
export interface OnCallCreateModelResult {
|
|
23
|
+
/**
|
|
24
|
+
* Key(s)/Paths of the created object(s)
|
|
25
|
+
*/
|
|
26
|
+
modelKeys: ArrayOrValue<FirestoreModelKey>;
|
|
15
27
|
}
|
|
28
|
+
export declare function onCallCreateModelResultWithDocs(result: ArrayOrValue<DocumentReferenceRef<unknown>>): OnCallCreateModelResult;
|
|
29
|
+
export declare function onCallCreateModelResult(modelKeys: ArrayOrValue<FirestoreModelKey>): OnCallCreateModelResult;
|