@dereekb/firebase 8.5.0 → 8.5.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 +9 -0
- package/package.json +5 -5
- package/src/lib/client/function/function.callable.d.ts +8 -0
- package/src/lib/client/function/function.callable.js +14 -11
- package/src/lib/client/function/function.callable.js.map +1 -1
- package/src/lib/client/function/function.factory.js +2 -1
- package/src/lib/client/function/function.factory.js.map +1 -1
- package/src/lib/client/function/model.function.factory.js +3 -3
- package/src/lib/client/function/model.function.factory.js.map +1 -1
- package/src/lib/common/firestore/collection/collection.d.ts +8 -1
- package/src/lib/common/firestore/collection/collection.js +33 -1
- package/src/lib/common/firestore/collection/collection.js.map +1 -1
- package/src/lib/common/model/model/model.param.js +2 -1
- package/src/lib/common/model/model/model.param.js.map +1 -1
- package/test/CHANGELOG.md +4 -0
- package/test/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [8.5.1](https://github.com/dereekb/dbx-components/compare/v8.5.0-dev...v8.5.1) (2022-06-22)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* fixed function factory ([f722fb5](https://github.com/dereekb/dbx-components/commit/f722fb55c6948feb75d69eb1a7dc1eee6d731cb4))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
5
14
|
# [8.5.0](https://github.com/dereekb/dbx-components/compare/v8.4.0-dev...v8.5.0) (2022-06-22)
|
|
6
15
|
|
|
7
16
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase",
|
|
3
|
-
"version": "8.5.
|
|
3
|
+
"version": "8.5.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.5.
|
|
26
|
+
"@dereekb/util": "8.5.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.5.
|
|
30
|
+
"@dereekb/rxjs": "8.5.1",
|
|
31
31
|
"ms": "^3.0.0-canary.1",
|
|
32
|
-
"@dereekb/model": "8.5.
|
|
32
|
+
"@dereekb/model": "8.5.1",
|
|
33
33
|
"class-transformer": "^0.5.1",
|
|
34
34
|
"class-validator": "^0.13.2",
|
|
35
|
-
"@dereekb/date": "8.5.
|
|
35
|
+
"@dereekb/date": "8.5.1",
|
|
36
36
|
"date-fns": "^2.28.0",
|
|
37
37
|
"date-fns-tz": "^1.3.0",
|
|
38
38
|
"rrule": "2.7.0",
|
|
@@ -11,3 +11,11 @@ export interface MapHttpsCallable<I, O, A, B> {
|
|
|
11
11
|
* @returns
|
|
12
12
|
*/
|
|
13
13
|
export declare function mapHttpsCallable<I, O, A, B = unknown>(callable: HttpsCallable<A, B>, wrap: MapHttpsCallable<I, O, A, B>): HttpsCallable<I, O>;
|
|
14
|
+
export declare function mapHttpsCallable<I, O, A, B = unknown>(callable: HttpsCallable<A, B>, wrap: MapHttpsCallable<I, O, A, B>, directData: false): HttpsCallable<I, O>;
|
|
15
|
+
export declare function mapHttpsCallable<I, O, A, B = unknown>(callable: HttpsCallable<A, B>, wrap: MapHttpsCallable<I, O, A, B>, directData: true): DirectDataHttpsCallable<HttpsCallable<I, O>>;
|
|
16
|
+
export declare function mapHttpsCallable<I, O, A, B = unknown>(callable: HttpsCallable<A, B>, wrap: MapHttpsCallable<I, O, A, B>, directData?: boolean): HttpsCallable<I, O> | DirectDataHttpsCallable<HttpsCallable<I, O>>;
|
|
17
|
+
/**
|
|
18
|
+
* Wraps an HttpsCallable value so it returns only the data from the result, rather than an object with data attached.
|
|
19
|
+
*/
|
|
20
|
+
export declare type DirectDataHttpsCallable<C extends HttpsCallable<any, any>> = C extends HttpsCallable<infer I, infer O> ? (data?: I | null) => Promise<O> : never;
|
|
21
|
+
export declare function directDataHttpsCallable<I, O, C extends HttpsCallable<I, O> = HttpsCallable<I, O>>(callable: C): DirectDataHttpsCallable<C>;
|
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.mapHttpsCallable = void 0;
|
|
3
|
+
exports.directDataHttpsCallable = exports.mapHttpsCallable = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
|
|
6
|
-
* Maps input and output values for an
|
|
7
|
-
* @param callable
|
|
8
|
-
* @param wrap
|
|
9
|
-
* @returns
|
|
10
|
-
*/
|
|
11
|
-
function mapHttpsCallable(callable, wrap) {
|
|
5
|
+
function mapHttpsCallable(callable, wrap, directData = false) {
|
|
12
6
|
const { mapInput = (x) => x, mapOutput = (x) => x } = wrap;
|
|
13
|
-
return (inputData) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
7
|
+
return ((inputData) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
14
8
|
const data = yield mapInput(inputData);
|
|
15
9
|
const result = yield callable(data);
|
|
16
10
|
const resultData = result.data;
|
|
17
11
|
const mappedResultData = yield mapOutput(resultData);
|
|
18
|
-
|
|
19
|
-
|
|
12
|
+
if (directData) {
|
|
13
|
+
return mappedResultData;
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
return Object.assign(Object.assign({}, result), { data: mappedResultData });
|
|
17
|
+
}
|
|
18
|
+
}));
|
|
20
19
|
}
|
|
21
20
|
exports.mapHttpsCallable = mapHttpsCallable;
|
|
21
|
+
function directDataHttpsCallable(callable) {
|
|
22
|
+
return ((data) => callable(data).then((x) => x.data));
|
|
23
|
+
}
|
|
24
|
+
exports.directDataHttpsCallable = directDataHttpsCallable;
|
|
22
25
|
//# sourceMappingURL=function.callable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function.callable.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/function/function.callable.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"function.callable.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/function/function.callable.ts"],"names":[],"mappings":";;;;AAkBA,SAAgB,gBAAgB,CAAuB,QAA6B,EAAE,IAAkC,EAAE,UAAU,GAAG,KAAK;IAC1I,MAAM,EAAE,QAAQ,GAAG,CAAC,CAAW,EAAE,EAAE,CAAC,CAAiB,EAAE,SAAS,GAAG,CAAC,CAAW,EAAE,EAAE,CAAC,CAAiB,EAAE,GAAG,IAAI,CAAC;IAE/G,OAAO,CAAC,CAAO,SAAoB,EAAuC,EAAE;QAC1E,MAAM,IAAI,GAAM,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;QAE1C,MAAM,MAAM,GAA2B,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAa,MAAM,CAAC,IAAI,CAAC;QACzC,MAAM,gBAAgB,GAAM,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;QAExD,IAAI,UAAU,EAAE;YACd,OAAO,gBAAgB,CAAC;SACzB;aAAM;YACL,uCACK,MAAM,KACT,IAAI,EAAE,gBAAgB,IACtB;SACH;IACH,CAAC,CAAA,CAAuE,CAAC;AAC3E,CAAC;AAnBD,4CAmBC;AAOD,SAAgB,uBAAuB,CAA4D,QAAW;IAC5G,OAAO,CAAC,CAAC,IAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAA+B,CAAC;AACzF,CAAC;AAFD,0DAEC"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.lazyFirebaseFunctionsFactory = exports.firebaseFunctionMapFactory = void 0;
|
|
4
4
|
const util_1 = require("@dereekb/util");
|
|
5
5
|
const functions_1 = require("firebase/functions");
|
|
6
|
+
const function_callable_1 = require("./function.callable");
|
|
6
7
|
function firebaseFunctionMapFactory(configMap) {
|
|
7
8
|
return (functionsInstance) => {
|
|
8
9
|
const mapFn = (config, key) => {
|
|
@@ -10,7 +11,7 @@ function firebaseFunctionMapFactory(configMap) {
|
|
|
10
11
|
if (config) {
|
|
11
12
|
httpCallableOptions = config.options;
|
|
12
13
|
}
|
|
13
|
-
const fn = (0, functions_1.httpsCallable)(functionsInstance, key, httpCallableOptions);
|
|
14
|
+
const fn = (0, function_callable_1.directDataHttpsCallable)((0, functions_1.httpsCallable)(functionsInstance, key, httpCallableOptions));
|
|
14
15
|
return fn;
|
|
15
16
|
};
|
|
16
17
|
const result = (0, util_1.mapObjectMap)(configMap, mapFn);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function.factory.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/function/function.factory.ts"],"names":[],"mappings":";;;AAAA,wCAAyF;AACzF,kDAAoF;
|
|
1
|
+
{"version":3,"file":"function.factory.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/function/function.factory.ts"],"names":[],"mappings":";;;AAAA,wCAAyF;AACzF,kDAAoF;AAEpF,2DAA8D;AAgB9D,SAAgB,0BAA0B,CAAoC,SAA2C;IACvH,OAAO,CAAC,iBAA4B,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG,CAAoB,MAA2C,EAAE,GAAM,EAAE,EAAE;YACvF,IAAI,mBAAqD,CAAC;YAE1D,IAAI,MAAM,EAAE;gBACV,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC;aACtC;YAED,MAAM,EAAE,GAAsC,IAAA,2CAAuB,EAAmB,IAAA,yBAAa,EAAmB,iBAAiB,EAAE,GAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC;YAChL,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAmC,SAAS,EAAE,KAAK,CAA2B,CAAC;QAC1G,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAhBD,gEAgBC;AA+BD,SAAgB,4BAA4B,CAA0G,SAAY;IAChK,OAAO,CAAC,SAAoB,EAAE,EAAE;QAC9B,MAAM,KAAK,GAAG,CAAoB,MAA6C,EAAE,GAAM,EAAE,EAAE;YACzF,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,OAAO,GAAqC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAA4C,CAAC;YACjG,MAAM,CAAC,KAAK,GAAG,IAA2B,CAAC;YAC3C,MAAM,CAAC,IAAI,GAAG,GAAa,CAAC;YAC5B,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAEF,MAAM,MAAM,GAA6B,IAAA,mBAAY,EAAC,SAAS,EAAE,KAAY,CAAC,CAAC;QAC/E,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAdD,oEAcC"}
|
|
@@ -23,13 +23,13 @@ function modelFirebaseFunctionMapFactory(configMap, crudConfigMap) {
|
|
|
23
23
|
const crudFunctions = new Set(config);
|
|
24
24
|
const modelTypeCruds = {};
|
|
25
25
|
if (crudFunctions.has('create')) {
|
|
26
|
-
modelTypeCruds[`create${modelTypeSuffix}`] = (0, function_callable_1.mapHttpsCallable)(_createFn(), { mapInput: (data) => (0, common_1.onCallTypedModelParams)(modelType, data) });
|
|
26
|
+
modelTypeCruds[`create${modelTypeSuffix}`] = (0, function_callable_1.mapHttpsCallable)(_createFn(), { mapInput: (data) => (0, common_1.onCallTypedModelParams)(modelType, data) }, true);
|
|
27
27
|
}
|
|
28
28
|
if (crudFunctions.has('update')) {
|
|
29
|
-
modelTypeCruds[`update${modelTypeSuffix}`] = (0, function_callable_1.mapHttpsCallable)(_updateFn(), { mapInput: (data) => (0, common_1.onCallTypedModelParams)(modelType, data) });
|
|
29
|
+
modelTypeCruds[`update${modelTypeSuffix}`] = (0, function_callable_1.mapHttpsCallable)(_updateFn(), { mapInput: (data) => (0, common_1.onCallTypedModelParams)(modelType, data) }, true);
|
|
30
30
|
}
|
|
31
31
|
if (crudFunctions.has('delete')) {
|
|
32
|
-
modelTypeCruds[`delete${modelTypeSuffix}`] = (0, function_callable_1.mapHttpsCallable)(_deleteFn(), { mapInput: (data) => (0, common_1.onCallTypedModelParams)(modelType, data) });
|
|
32
|
+
modelTypeCruds[`delete${modelTypeSuffix}`] = (0, function_callable_1.mapHttpsCallable)(_deleteFn(), { mapInput: (data) => (0, common_1.onCallTypedModelParams)(modelType, data) }, true);
|
|
33
33
|
}
|
|
34
34
|
// tslint:disable-next-line
|
|
35
35
|
x[modelType] = modelTypeCruds;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.function.factory.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/function/model.function.factory.ts"],"names":[],"mappings":";AAAA,uDAAuD;AACvD,oGAAoG;;;AAEpG,gDAA+D;AAC/D,wCAAqF;AACrF,kDAA8D;AAE9D,yCAA2Q;AAE3Q,2DAAuD;AAwDvD,SAAgB,+BAA+B,CAAgF,SAA2C,EAAE,aAA4E;IACtP,MAAM,eAAe,GAAG,IAAA,qCAA0B,EAAC,SAAS,CAAC,CAAC;IAE9D,OAAO,CAAC,iBAA4B,EAAE,EAAE;QACtC,MAAM,WAAW,GAA2B,eAAe,CAAC,iBAAiB,CAAC,CAAC;QAE/E,MAAM,SAAS,GAAG,IAAA,mBAAY,EAAC,GAAG,EAAE,CAAC,IAAA,yBAAa,EAAC,iBAAiB,EAAE,sCAA6B,CAAC,CAAC,CAAC;QACtG,MAAM,SAAS,GAAG,IAAA,mBAAY,EAAC,GAAG,EAAE,CAAC,IAAA,yBAAa,EAAC,iBAAiB,EAAE,sCAA6B,CAAC,CAAC,CAAC;QACtG,MAAM,SAAS,GAAG,IAAA,mBAAY,EAAC,GAAG,EAAE,CAAC,IAAA,yBAAa,EAAC,iBAAiB,EAAE,sCAA6B,CAAC,CAAC,CAAC;QAEtG,MAAM,MAAM,GAAG,IAAA,YAAK,EAAiC;YACnD,IAAI,EAAE,WAAwD;YAC9D,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;gBACX,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE;oBAC5D,MAAM,eAAe,GAAG,IAAA,4BAAqB,EAAC,SAAS,CAAC,CAAC;oBACzD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,MAAkB,CAAC,CAAC;oBAClD,MAAM,cAAc,GAAG,EAAE,CAAC;oBAE1B,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;wBAC9B,cAAsB,CAAC,SAAS,eAAe,EAAE,CAAC,GAAG,IAAA,oCAAgB,EAAC,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,+BAAsB,EAAC,SAAS,EAAE,IAAI,CAA4B,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"model.function.factory.js","sourceRoot":"","sources":["../../../../../../../packages/firebase/src/lib/client/function/model.function.factory.ts"],"names":[],"mappings":";AAAA,uDAAuD;AACvD,oGAAoG;;;AAEpG,gDAA+D;AAC/D,wCAAqF;AACrF,kDAA8D;AAE9D,yCAA2Q;AAE3Q,2DAAuD;AAwDvD,SAAgB,+BAA+B,CAAgF,SAA2C,EAAE,aAA4E;IACtP,MAAM,eAAe,GAAG,IAAA,qCAA0B,EAAC,SAAS,CAAC,CAAC;IAE9D,OAAO,CAAC,iBAA4B,EAAE,EAAE;QACtC,MAAM,WAAW,GAA2B,eAAe,CAAC,iBAAiB,CAAC,CAAC;QAE/E,MAAM,SAAS,GAAG,IAAA,mBAAY,EAAC,GAAG,EAAE,CAAC,IAAA,yBAAa,EAAC,iBAAiB,EAAE,sCAA6B,CAAC,CAAC,CAAC;QACtG,MAAM,SAAS,GAAG,IAAA,mBAAY,EAAC,GAAG,EAAE,CAAC,IAAA,yBAAa,EAAC,iBAAiB,EAAE,sCAA6B,CAAC,CAAC,CAAC;QACtG,MAAM,SAAS,GAAG,IAAA,mBAAY,EAAC,GAAG,EAAE,CAAC,IAAA,yBAAa,EAAC,iBAAiB,EAAE,sCAA6B,CAAC,CAAC,CAAC;QAEtG,MAAM,MAAM,GAAG,IAAA,YAAK,EAAiC;YACnD,IAAI,EAAE,WAAwD;YAC9D,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;gBACX,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE;oBAC5D,MAAM,eAAe,GAAG,IAAA,4BAAqB,EAAC,SAAS,CAAC,CAAC;oBACzD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,MAAkB,CAAC,CAAC;oBAClD,MAAM,cAAc,GAAG,EAAE,CAAC;oBAE1B,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;wBAC9B,cAAsB,CAAC,SAAS,eAAe,EAAE,CAAC,GAAG,IAAA,oCAAgB,EAAC,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,+BAAsB,EAAC,SAAS,EAAE,IAAI,CAA4B,EAAE,EAAE,IAAI,CAAC,CAAC;qBACvL;oBAED,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;wBAC9B,cAAsB,CAAC,SAAS,eAAe,EAAE,CAAC,GAAG,IAAA,oCAAgB,EAAC,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,+BAAsB,EAAC,SAAS,EAAE,IAAI,CAA4B,EAAE,EAAE,IAAI,CAAC,CAAC;qBACvL;oBAED,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;wBAC9B,cAAsB,CAAC,SAAS,eAAe,EAAE,CAAC,GAAG,IAAA,oCAAgB,EAAC,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,+BAAsB,EAAC,SAAS,EAAE,IAAI,CAA4B,EAAE,EAAE,IAAI,CAAC,CAAC;qBACvL;oBAED,2BAA2B;oBAC1B,CAAS,CAAC,SAAS,CAAC,GAAG,cAAc,CAAC;gBACzC,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAtCD,0EAsCC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CollectionReferenceRef, FirestoreContextReference, QueryLikeReferenceRef } from '../reference';
|
|
1
|
+
import { CollectionReferenceRef, DocumentReferenceRef, FirestoreContextReference, QueryLikeReferenceRef } from '../reference';
|
|
2
2
|
import { FirestoreDocument, FirestoreDocumentAccessorFactory, FirestoreDocumentAccessorFactoryConfig, FirestoreDocumentAccessorForTransactionFactory, FirestoreDocumentAccessorForWriteBatchFactory, LimitedFirestoreDocumentAccessorFactory, LimitedFirestoreDocumentAccessorForTransactionFactory, LimitedFirestoreDocumentAccessorForWriteBatchFactory, LimitedFirestoreDocumentAccessor, FirestoreDocumentAccessor } from '../accessor/document';
|
|
3
3
|
import { FirestoreItemPageIterationBaseConfig, FirestoreItemPageIterationFactory } from '../query/iterator';
|
|
4
4
|
import { FirestoreQueryFactory } from '../query/query';
|
|
@@ -119,6 +119,13 @@ export interface FirestoreModelIdentityRef<I extends FirestoreModelIdentity> {
|
|
|
119
119
|
* 12345
|
|
120
120
|
*/
|
|
121
121
|
export declare type FirestoreModelId = string;
|
|
122
|
+
/**
|
|
123
|
+
* Reads a firestoreModelId from the input.
|
|
124
|
+
*
|
|
125
|
+
* @param input
|
|
126
|
+
* @returns
|
|
127
|
+
*/
|
|
128
|
+
export declare function firestoreModelId(input: FirestoreModelId | FirestoreModelKey | DocumentReferenceRef<any> | FirestoreModelKeyRef | FirestoreModelIdRef): FirestoreModelId;
|
|
122
129
|
/**
|
|
123
130
|
* Firestore Model Id Regex
|
|
124
131
|
*
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.makeFirestoreCollection = exports.childFirestoreModelKeyPath = exports.firestoreModelKeyPath = exports.firestoreModelKeys = exports.firestoreModelKey = exports.firestoreModelKeyPart = exports.isFirestoreModelKey = exports.FIRESTORE_MODEL_KEY_REGEX_STRICT = exports.FIRESTORE_MODEL_KEY_REGEX = exports.isFirestoreModelId = exports.FIRESTORE_MODEL_ID_REGEX = exports.firestoreModelType = exports.firestoreModelIdentity = void 0;
|
|
3
|
+
exports.makeFirestoreCollection = exports.childFirestoreModelKeyPath = exports.firestoreModelKeyPath = exports.firestoreModelKeys = exports.firestoreModelKey = exports.firestoreModelKeyPart = exports.isFirestoreModelKey = exports.FIRESTORE_MODEL_KEY_REGEX_STRICT = exports.FIRESTORE_MODEL_KEY_REGEX = exports.isFirestoreModelId = exports.FIRESTORE_MODEL_ID_REGEX = exports.firestoreModelId = exports.firestoreModelType = exports.firestoreModelIdentity = void 0;
|
|
4
4
|
const document_1 = require("../accessor/document");
|
|
5
5
|
const iterator_1 = require("../query/iterator");
|
|
6
6
|
const query_1 = require("../query/query");
|
|
7
7
|
const collection_query_1 = require("./collection.query");
|
|
8
|
+
const util_1 = require("@dereekb/util");
|
|
8
9
|
function firestoreModelIdentity(parentOrModelName, collectionNameOrModelName, inputCollectionName) {
|
|
9
10
|
var _a, _b;
|
|
10
11
|
if (typeof parentOrModelName === 'object') {
|
|
@@ -44,6 +45,37 @@ function firestoreModelType(modelTypeInput) {
|
|
|
44
45
|
return modelType;
|
|
45
46
|
}
|
|
46
47
|
exports.firestoreModelType = firestoreModelType;
|
|
48
|
+
/**
|
|
49
|
+
* Reads a firestoreModelId from the input.
|
|
50
|
+
*
|
|
51
|
+
* @param input
|
|
52
|
+
* @returns
|
|
53
|
+
*/
|
|
54
|
+
function firestoreModelId(input) {
|
|
55
|
+
let key = '';
|
|
56
|
+
let id;
|
|
57
|
+
if (typeof input === 'object') {
|
|
58
|
+
if (input.id) {
|
|
59
|
+
id = input.id;
|
|
60
|
+
}
|
|
61
|
+
else if (input.key) {
|
|
62
|
+
key = input.key;
|
|
63
|
+
}
|
|
64
|
+
else if (input.documentRef != null) {
|
|
65
|
+
id = input.documentRef.id;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
key = input;
|
|
70
|
+
}
|
|
71
|
+
if (id) {
|
|
72
|
+
return id;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
return (0, util_1.lastValue)(key.split('/'));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.firestoreModelId = firestoreModelId;
|
|
47
79
|
/**
|
|
48
80
|
* Firestore Model Id Regex
|
|
49
81
|
*
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"collection.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/firestore/collection/collection.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ exports.TargetModelParams = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const class_transformer_1 = require("class-transformer");
|
|
6
6
|
const class_validator_1 = require("class-validator");
|
|
7
|
+
const model_validator_1 = require("./model.validator");
|
|
7
8
|
/**
|
|
8
9
|
* Simple annotated params that implements FirestoreModelKeyRef.
|
|
9
10
|
*/
|
|
@@ -12,7 +13,7 @@ class TargetModelParams {
|
|
|
12
13
|
tslib_1.__decorate([
|
|
13
14
|
(0, class_transformer_1.Expose)(),
|
|
14
15
|
(0, class_validator_1.IsNotEmpty)(),
|
|
15
|
-
(0,
|
|
16
|
+
(0, model_validator_1.IsFirestoreModelKey)(),
|
|
16
17
|
tslib_1.__metadata("design:type", String)
|
|
17
18
|
], TargetModelParams.prototype, "key", void 0);
|
|
18
19
|
exports.TargetModelParams = TargetModelParams;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.param.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/model/model/model.param.ts"],"names":[],"mappings":";;;;AAAA,yDAA2C;AAC3C,qDAAuD;
|
|
1
|
+
{"version":3,"file":"model.param.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/src/lib/common/model/model/model.param.ts"],"names":[],"mappings":";;;;AAAA,yDAA2C;AAC3C,qDAAuD;AAEvD,uDAAwD;AAExD;;GAEG;AACH,MAAa,iBAAiB;CAK7B;AADC;IAHC,IAAA,0BAAM,GAAE;IACR,IAAA,4BAAU,GAAE;IACZ,IAAA,qCAAmB,GAAE;;8CACE;AAJ1B,8CAKC"}
|
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.5.1](https://github.com/dereekb/dbx-components/compare/v8.5.0-dev...v8.5.1) (2022-06-22)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
5
9
|
# [8.5.0](https://github.com/dereekb/dbx-components/compare/v8.4.0-dev...v8.5.0) (2022-06-22)
|
|
6
10
|
|
|
7
11
|
|
package/test/package.json
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase/test",
|
|
3
|
-
"version": "8.5.
|
|
3
|
+
"version": "8.5.1",
|
|
4
4
|
"main": "./src/index.js",
|
|
5
5
|
"typings": "./src/index.d.ts",
|
|
6
6
|
"dependencies": {},
|
|
7
7
|
"peerDependencies": {
|
|
8
|
-
"@dereekb/util/test": "8.5.
|
|
9
|
-
"@dereekb/util": "8.5.
|
|
8
|
+
"@dereekb/util/test": "8.5.1",
|
|
9
|
+
"@dereekb/util": "8.5.1",
|
|
10
10
|
"make-error": "^1.3.0",
|
|
11
11
|
"ts-essentials": "^9.1.2",
|
|
12
12
|
"extra-set": "^2.2.11",
|
|
13
|
-
"@dereekb/firebase": "8.5.
|
|
13
|
+
"@dereekb/firebase": "8.5.1",
|
|
14
14
|
"rxfire": "^6.0.3",
|
|
15
15
|
"rxjs": "^7.0.0",
|
|
16
16
|
"firebase": "^9.8.0",
|
|
17
|
-
"@dereekb/rxjs": "8.5.
|
|
17
|
+
"@dereekb/rxjs": "8.5.1",
|
|
18
18
|
"ms": "^3.0.0-canary.1",
|
|
19
|
-
"@dereekb/model": "8.5.
|
|
19
|
+
"@dereekb/model": "8.5.1",
|
|
20
20
|
"class-transformer": "^0.5.1",
|
|
21
21
|
"class-validator": "^0.13.2",
|
|
22
|
-
"@dereekb/date": "8.5.
|
|
22
|
+
"@dereekb/date": "8.5.1",
|
|
23
23
|
"date-fns": "^2.28.0",
|
|
24
24
|
"date-fns-tz": "^1.3.0",
|
|
25
25
|
"rrule": "2.7.0",
|