entropic-bond 1.34.8 → 1.34.10
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/lib/cloud-functions/cloud-functions-mock.spec.js +86 -32
- package/lib/cloud-functions/cloud-functions-mock.spec.js.map +1 -1
- package/lib/cloud-functions/cloud-functions.d.ts +3 -2
- package/lib/cloud-functions/cloud-functions.js +36 -5
- package/lib/cloud-functions/cloud-functions.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
9
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
10
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -15,45 +9,105 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
15
9
|
});
|
|
16
10
|
};
|
|
17
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
const
|
|
12
|
+
const test_user_1 = require("../store/mocks/test-user");
|
|
19
13
|
const cloud_functions_1 = require("./cloud-functions");
|
|
20
14
|
const cloud_functions_mock_1 = require("./cloud-functions-mock");
|
|
21
|
-
let ParamWrapper = class ParamWrapper extends persistent_1.Persistent {
|
|
22
|
-
constructor(a, b) {
|
|
23
|
-
super();
|
|
24
|
-
this._a = a;
|
|
25
|
-
this._b = b;
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
__decorate([
|
|
29
|
-
persistent_1.persistent
|
|
30
|
-
], ParamWrapper.prototype, "_a", void 0);
|
|
31
|
-
__decorate([
|
|
32
|
-
persistent_1.persistent
|
|
33
|
-
], ParamWrapper.prototype, "_b", void 0);
|
|
34
|
-
ParamWrapper = __decorate([
|
|
35
|
-
(0, persistent_1.registerPersistentClass)('Wrapper')
|
|
36
|
-
], ParamWrapper);
|
|
37
15
|
describe('Cloud functions', () => {
|
|
38
16
|
beforeEach(() => {
|
|
39
17
|
cloud_functions_1.CloudFunctions.useCloudFunctionsService(new cloud_functions_mock_1.CloudFunctionsMock({
|
|
40
18
|
testNoParam: () => Promise.resolve('test'),
|
|
41
|
-
|
|
19
|
+
testArbitraryParamAndReturn: (data) => Promise.resolve(data.length),
|
|
20
|
+
testPersistentParamAndReturn: (data) => {
|
|
42
21
|
return Promise.resolve(JSON.parse(JSON.stringify(data)));
|
|
43
|
-
}
|
|
22
|
+
},
|
|
23
|
+
testPersistentParamAndPlainReturn: (data) => {
|
|
24
|
+
return Promise.resolve(data.age);
|
|
25
|
+
},
|
|
26
|
+
testPlainParamAndPersistentReturn: (data) => {
|
|
27
|
+
const user = new test_user_1.TestUser();
|
|
28
|
+
user.age = data;
|
|
29
|
+
return Promise.resolve(user);
|
|
30
|
+
},
|
|
31
|
+
testWithoutParam: () => Promise.resolve('Hello from the other side'),
|
|
32
|
+
testWithoutReturn: (_data) => Promise.resolve(),
|
|
33
|
+
testArrayParam: (data) => Promise.resolve(data.map(d => d.id)),
|
|
34
|
+
testObjectParam: (data) => Promise.resolve(Object.entries(data).reduce((obj, [k, v]) => {
|
|
35
|
+
obj[k] = v.id;
|
|
36
|
+
return obj;
|
|
37
|
+
}, {})),
|
|
38
|
+
testArrayResult: () => Promise.resolve([new test_user_1.TestUser('userA').toObject(), new test_user_1.TestUser('userB').toObject()]),
|
|
39
|
+
testObjectResult: () => Promise.resolve({ user1: new test_user_1.TestUser('userA').toObject(), user2: new test_user_1.TestUser('userB').toObject() })
|
|
44
40
|
}));
|
|
45
41
|
});
|
|
46
|
-
it('should execute
|
|
42
|
+
it('should execute cloud function without params', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
47
43
|
const testNoParam = cloud_functions_1.CloudFunctions.instance.getRawFunction('testNoParam');
|
|
48
44
|
const result = yield testNoParam();
|
|
49
45
|
expect(result).toEqual('test');
|
|
50
46
|
}));
|
|
51
|
-
it('should execute
|
|
52
|
-
const
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
47
|
+
it('should execute cloud function with params', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
48
|
+
const testArbitraryParamAndReturn = cloud_functions_1.CloudFunctions.instance.getFunction('testArbitraryParamAndReturn');
|
|
49
|
+
const result = yield testArbitraryParamAndReturn('Hello');
|
|
50
|
+
expect(result).toEqual(5);
|
|
51
|
+
}));
|
|
52
|
+
it('should execute cloud function without params', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
53
|
+
const testWithoutReturn = cloud_functions_1.CloudFunctions.instance.getFunction('testWithoutReturn');
|
|
54
|
+
expect(testWithoutReturn('')).resolves.toBeUndefined();
|
|
55
|
+
}));
|
|
56
|
+
it('should execute cloud function with void return', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
57
|
+
const testWithoutParam = cloud_functions_1.CloudFunctions.instance.getFunction('testWithoutParam');
|
|
58
|
+
const result = yield testWithoutParam();
|
|
59
|
+
expect(result).toEqual('Hello from the other side');
|
|
60
|
+
}));
|
|
61
|
+
it('should execute cloud function with params and return as Persistent', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
62
|
+
const testPersistentParamAndReturn = cloud_functions_1.CloudFunctions.instance.getFunction('testPersistentParamAndReturn');
|
|
63
|
+
const user = new test_user_1.TestUser();
|
|
64
|
+
user.age = 35;
|
|
65
|
+
user.name = { firstName: 'Test User', lastName: 'as a user' };
|
|
66
|
+
const result = yield testPersistentParamAndReturn(user);
|
|
67
|
+
expect(result.age).toBe(35);
|
|
68
|
+
expect(result.name).toEqual({ firstName: 'Test User', lastName: 'as a user' });
|
|
69
|
+
}));
|
|
70
|
+
it('should execute cloud function with params as Persistent and return as plain', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
71
|
+
const testPersistentParamAndPlainReturn = cloud_functions_1.CloudFunctions.instance.getFunction('testPersistentParamAndPlainReturn');
|
|
72
|
+
const user = new test_user_1.TestUser();
|
|
73
|
+
user.age = 35;
|
|
74
|
+
const result = yield testPersistentParamAndPlainReturn(user);
|
|
75
|
+
expect(result).toBe(35);
|
|
76
|
+
}));
|
|
77
|
+
it('should execute cloud function with params as plain and return as Persistent', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
78
|
+
const testPlainParamAndPersistentReturn = cloud_functions_1.CloudFunctions.instance.getFunction('testPlainParamAndPersistentReturn');
|
|
79
|
+
const result = yield testPlainParamAndPersistentReturn(35);
|
|
80
|
+
expect(result.age).toEqual(35);
|
|
81
|
+
}));
|
|
82
|
+
it('should execute cloud function with params as an array of Persistents', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
83
|
+
const testArrayParam = cloud_functions_1.CloudFunctions.instance.getFunction('testArrayParam');
|
|
84
|
+
const result = yield testArrayParam([
|
|
85
|
+
new test_user_1.TestUser('userA'),
|
|
86
|
+
new test_user_1.TestUser('userB')
|
|
87
|
+
]);
|
|
88
|
+
expect(result).toEqual(['userA', 'userB']);
|
|
89
|
+
}));
|
|
90
|
+
it('should execute cloud functions that return array of Persistent', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
91
|
+
const testArrayResult = cloud_functions_1.CloudFunctions.instance.getFunction('testArrayResult');
|
|
92
|
+
const result = yield testArrayResult();
|
|
93
|
+
expect(result[0]).toBeInstanceOf(test_user_1.TestUser);
|
|
94
|
+
expect(result[0].id).toEqual('userA');
|
|
95
|
+
expect(result[1].id).toEqual('userB');
|
|
96
|
+
}));
|
|
97
|
+
it('should execute cloud function with params as an object containing Persistents', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
98
|
+
const testObjectParam = cloud_functions_1.CloudFunctions.instance.getFunction('testObjectParam');
|
|
99
|
+
const result = yield testObjectParam({
|
|
100
|
+
user1: new test_user_1.TestUser('userA'),
|
|
101
|
+
user2: new test_user_1.TestUser('userB')
|
|
102
|
+
});
|
|
103
|
+
expect(result).toEqual({ user1: 'userA', user2: 'userB' });
|
|
104
|
+
}));
|
|
105
|
+
it('should execute cloud functions that return an object with Persistent', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
106
|
+
const testObjectResult = cloud_functions_1.CloudFunctions.instance.getFunction('testObjectResult');
|
|
107
|
+
const result = yield testObjectResult();
|
|
108
|
+
expect(result.user1).toBeInstanceOf(test_user_1.TestUser);
|
|
109
|
+
expect(result.user1.id).toEqual('userA');
|
|
110
|
+
expect(result.user2.id).toEqual('userB');
|
|
57
111
|
}));
|
|
58
112
|
});
|
|
59
113
|
//# sourceMappingURL=cloud-functions-mock.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-functions-mock.spec.js","sourceRoot":"","sources":["../../src/cloud-functions/cloud-functions-mock.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cloud-functions-mock.spec.js","sourceRoot":"","sources":["../../src/cloud-functions/cloud-functions-mock.spec.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,wDAAmD;AACnD,uDAAkD;AAClD,iEAA2D;AAE3D,QAAQ,CAAE,iBAAiB,EAAE,GAAE,EAAE;IAEhC,UAAU,CAAC,GAAE,EAAE;QACd,gCAAc,CAAC,wBAAwB,CAAE,IAAI,yCAAkB,CAAC;YAC/D,WAAW,EAAE,GAAmB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAE,MAAM,CAAE;YAC5D,2BAA2B,EAAE,CAAE,IAAS,EAAiB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAE,IAAI,CAAC,MAAM,CAAE;YAC1F,4BAA4B,EAAE,CAAE,IAAgC,EAAwC,EAAE;gBACzG,OAAO,OAAO,CAAC,OAAO,CAAE,IAAI,CAAC,KAAK,CAAE,IAAI,CAAC,SAAS,CAAE,IAAI,CAAE,CAAE,CAAE,CAAA;YAC/D,CAAC;YACD,iCAAiC,EAAE,CAAE,IAAgC,EAAoB,EAAE;gBAC1F,OAAO,OAAO,CAAC,OAAO,CAAE,IAAI,CAAC,GAAG,CAAE,CAAA;YACnC,CAAC;YACD,iCAAiC,EAAE,CAAE,IAAY,EAAwC,EAAE;gBAC1F,MAAM,IAAI,GAAG,IAAI,oBAAQ,EAAE,CAAA;gBAC3B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAA;gBACf,OAAO,OAAO,CAAC,OAAO,CAAE,IAAI,CAAE,CAAA;YAC/B,CAAC;YACD,gBAAgB,EAAE,GAAoB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAE,2BAA2B,CAAE;YACvF,iBAAiB,EAAE,CAAE,KAAa,EAAkB,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;YACxE,cAAc,EAAE,CAAE,IAAkC,EAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAE,IAAI,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAE,CAAE;YAClG,eAAe,EAAE,CAAE,IAA+C,EAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CACtF,MAAM,CAAC,OAAO,CAAE,IAAI,CAAE,CAAC,MAAM,CAAC,CAAE,GAAG,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,EAAG,EAAE;gBAC9C,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAA;gBACb,OAAO,GAAG,CAAA;YACX,CAAC,EAAE,EAAE,CAAC,CACN;YACD,eAAe,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAE,IAAI,oBAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,oBAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAE,CAAC;YAC9G,gBAAgB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,oBAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,oBAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;SAC7H,CAAC,CAAC,CAAA;IAEJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAE,8CAA8C,EAAE,GAAQ,EAAE;QAC7D,MAAM,WAAW,GAAG,gCAAc,CAAC,QAAQ,CAAC,cAAc,CAAiB,aAAa,CAAE,CAAA;QAC1F,MAAM,MAAM,GAAG,MAAM,WAAW,EAAE,CAAA;QAClC,MAAM,CAAE,MAAM,CAAE,CAAC,OAAO,CAAE,MAAM,CAAE,CAAA;IACnC,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAE,2CAA2C,EAAE,GAAQ,EAAE;QAC1D,MAAM,2BAA2B,GAAG,gCAAc,CAAC,QAAQ,CAAC,WAAW,CAAkB,6BAA6B,CAAE,CAAA;QAExH,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAE,OAAO,CAAE,CAAA;QAC3D,MAAM,CAAE,MAAM,CAAE,CAAC,OAAO,CAAE,CAAC,CAAE,CAAA;IAC9B,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAE,8CAA8C,EAAE,GAAQ,EAAE;QAC7D,MAAM,iBAAiB,GAAG,gCAAc,CAAC,QAAQ,CAAC,WAAW,CAAU,mBAAmB,CAAE,CAAA;QAE5F,MAAM,CAAE,iBAAiB,CAAE,EAAE,CAAE,CAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAA;IAC3D,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAE,gDAAgD,EAAE,GAAQ,EAAE;QAC/D,MAAM,gBAAgB,GAAG,gCAAc,CAAC,QAAQ,CAAC,WAAW,CAAU,kBAAkB,CAAE,CAAA;QAE1F,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAA;QACvC,MAAM,CAAE,MAAM,CAAE,CAAC,OAAO,CAAE,2BAA2B,CAAE,CAAA;IACxD,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAE,oEAAoE,EAAE,GAAQ,EAAE;QACnF,MAAM,4BAA4B,GAAG,gCAAc,CAAC,QAAQ,CAAC,WAAW,CAAsB,8BAA8B,CAAE,CAAA;QAE9H,MAAM,IAAI,GAAG,IAAI,oBAAQ,EAAE,CAAA;QAC3B,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;QACb,IAAI,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAA;QAE7D,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAE,IAAI,CAAE,CAAA;QACzD,MAAM,CAAE,MAAM,CAAC,GAAG,CAAE,CAAC,IAAI,CAAE,EAAE,CAAE,CAAA;QAC/B,MAAM,CAAE,MAAM,CAAC,IAAI,CAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAA;IACjF,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAE,6EAA6E,EAAE,GAAQ,EAAE;QAC5F,MAAM,iCAAiC,GAAG,gCAAc,CAAC,QAAQ,CAAC,WAAW,CAAoB,mCAAmC,CAAE,CAAA;QAEtI,MAAM,IAAI,GAAG,IAAI,oBAAQ,EAAE,CAAA;QAC3B,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;QAEb,MAAM,MAAM,GAAG,MAAM,iCAAiC,CAAE,IAAI,CAAE,CAAA;QAC9D,MAAM,CAAE,MAAM,CAAE,CAAC,IAAI,CAAE,EAAE,CAAE,CAAA;IAC5B,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAE,6EAA6E,EAAE,GAAQ,EAAE;QAC5F,MAAM,iCAAiC,GAAG,gCAAc,CAAC,QAAQ,CAAC,WAAW,CAAoB,mCAAmC,CAAE,CAAA;QAEtI,MAAM,MAAM,GAAG,MAAM,iCAAiC,CAAE,EAAE,CAAE,CAAA;QAC5D,MAAM,CAAE,MAAM,CAAC,GAAG,CAAE,CAAC,OAAO,CAAE,EAAE,CAAE,CAAA;IACnC,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAE,sEAAsE,EAAE,GAAQ,EAAE;QACrF,MAAM,cAAc,GAAG,gCAAc,CAAC,QAAQ,CAAC,WAAW,CAAwB,gBAAgB,CAAE,CAAA;QAEpG,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;YACnC,IAAI,oBAAQ,CAAC,OAAO,CAAC;YACrB,IAAI,oBAAQ,CAAC,OAAO,CAAC;SACrB,CAAC,CAAA;QAEF,MAAM,CAAE,MAAM,CAAE,CAAC,OAAO,CAAC,CAAE,OAAO,EAAE,OAAO,CAAE,CAAC,CAAA;IAC/C,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAE,gEAAgE,EAAE,GAAQ,EAAE;QAC/E,MAAM,eAAe,GAAG,gCAAc,CAAC,QAAQ,CAAC,WAAW,CAAoB,iBAAiB,CAAE,CAAA;QAElG,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAA;QAEtC,MAAM,CAAE,MAAM,CAAC,CAAC,CAAC,CAAE,CAAC,cAAc,CAAE,oBAAQ,CAAE,CAAA;QAC9C,MAAM,CAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC,OAAO,CAAE,OAAO,CAAE,CAAA;QACzC,MAAM,CAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC,OAAO,CAAE,OAAO,CAAE,CAAA;IAC1C,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAE,+EAA+E,EAAE,GAAQ,EAAE;QAC9F,MAAM,eAAe,GAAG,gCAAc,CAAC,QAAQ,CAAC,WAAW,CAAoD,iBAAiB,CAAE,CAAA;QAElI,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;YACpC,KAAK,EAAE,IAAI,oBAAQ,CAAC,OAAO,CAAC;YAC5B,KAAK,EAAE,IAAI,oBAAQ,CAAC,OAAO,CAAC;SAC7B,CAAC,CAAA;QAED,MAAM,CAAE,MAAM,CAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;IAC7D,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAE,sEAAsE,EAAE,GAAQ,EAAE;QACrF,MAAM,gBAAgB,GAAG,gCAAc,CAAC,QAAQ,CAAC,WAAW,CAAkC,kBAAkB,CAAE,CAAA;QAElH,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAA;QAEvC,MAAM,CAAE,MAAM,CAAC,KAAK,CAAE,CAAC,cAAc,CAAE,oBAAQ,CAAE,CAAA;QACjD,MAAM,CAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAE,CAAC,OAAO,CAAE,OAAO,CAAE,CAAA;QAC5C,MAAM,CAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAE,CAAC,OAAO,CAAE,OAAO,CAAE,CAAA;IAC7C,CAAC,CAAA,CAAC,CAAA;AAGH,CAAC,CAAC,CAAA"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Persistent } from '../persistent/persistent';
|
|
2
1
|
export declare type CloudFunction<P, R> = (param?: P) => Promise<R>;
|
|
3
2
|
export interface CloudFunctionsService {
|
|
4
3
|
retrieveFunction<P, R>(cloudFunction: string): CloudFunction<P, R>;
|
|
@@ -12,7 +11,9 @@ export declare class CloudFunctions {
|
|
|
12
11
|
static useCloudFunctionsService(cloudFunctionsService: CloudFunctionsService): void;
|
|
13
12
|
static get instance(): CloudFunctions;
|
|
14
13
|
getRawFunction<P, R>(cloudFunction: string): CloudFunction<P, R>;
|
|
15
|
-
getFunction<P
|
|
14
|
+
getFunction<P, R = void>(cloudFunction: string): CloudFunction<P, R>;
|
|
15
|
+
private processParam;
|
|
16
|
+
private processResult;
|
|
16
17
|
private static _cloudFunctionsService;
|
|
17
18
|
private static _instance;
|
|
18
19
|
}
|
|
@@ -28,14 +28,45 @@ class CloudFunctions {
|
|
|
28
28
|
}
|
|
29
29
|
getFunction(cloudFunction) {
|
|
30
30
|
const callFunction = CloudFunctions._cloudFunctionsService.callFunction;
|
|
31
|
-
const func =
|
|
31
|
+
const func = this.getRawFunction(cloudFunction);
|
|
32
32
|
return (param) => __awaiter(this, void 0, void 0, function* () {
|
|
33
|
-
const result = yield callFunction(func,
|
|
34
|
-
|
|
35
|
-
return persistent_1.Persistent.createInstance(result);
|
|
36
|
-
}
|
|
33
|
+
const result = yield callFunction(func, this.processParam(param));
|
|
34
|
+
return this.processResult(result);
|
|
37
35
|
});
|
|
38
36
|
}
|
|
37
|
+
processParam(param) {
|
|
38
|
+
if (!param)
|
|
39
|
+
return undefined;
|
|
40
|
+
if (param instanceof persistent_1.Persistent)
|
|
41
|
+
return param.toObject();
|
|
42
|
+
if (Array.isArray(param)) {
|
|
43
|
+
return param.map(p => this.processParam(p));
|
|
44
|
+
}
|
|
45
|
+
if (typeof param === 'object') {
|
|
46
|
+
return Object.entries(param).reduce((newParam, [key, value]) => {
|
|
47
|
+
newParam[key] = this.processParam(value);
|
|
48
|
+
return newParam;
|
|
49
|
+
}, {});
|
|
50
|
+
}
|
|
51
|
+
return param;
|
|
52
|
+
}
|
|
53
|
+
processResult(value) {
|
|
54
|
+
if (!value)
|
|
55
|
+
return undefined;
|
|
56
|
+
if (value.__className) {
|
|
57
|
+
return persistent_1.Persistent.createInstance(value);
|
|
58
|
+
}
|
|
59
|
+
if (Array.isArray(value)) {
|
|
60
|
+
return value.map(elem => this.processResult(elem));
|
|
61
|
+
}
|
|
62
|
+
if (typeof value === 'object') {
|
|
63
|
+
return Object.entries(value).reduce((newVal, [key, val]) => {
|
|
64
|
+
newVal[key] = this.processResult(val);
|
|
65
|
+
return newVal;
|
|
66
|
+
}, {});
|
|
67
|
+
}
|
|
68
|
+
return value;
|
|
69
|
+
}
|
|
39
70
|
}
|
|
40
71
|
exports.CloudFunctions = CloudFunctions;
|
|
41
72
|
CloudFunctions.error = { shouldBeRegistered: 'You should register a cloud functions service with useCloudFunctionsService static method before using CloudFunctions.' };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-functions.js","sourceRoot":"","sources":["../../src/cloud-functions/cloud-functions.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAuE;AAUvE,MAAa,cAAc;IAC1B,gBAAuB,CAAC;IAIxB,MAAM,CAAC,wBAAwB,CAAE,qBAA4C;QAC5E,IAAK,IAAI,CAAC,sBAAsB,IAAI,qBAAqB,EAAG;YAC3D,IAAI,CAAC,sBAAsB,GAAG,qBAAqB,CAAA;SACnD;IACF,CAAC;IAED,MAAM,KAAK,QAAQ;QAClB,IAAK,CAAC,IAAI,CAAC,sBAAsB;YAAG,MAAM,IAAI,KAAK,CAAE,cAAc,CAAC,KAAK,CAAC,kBAAkB,CAAE,CAAA;QAC9F,OAAO,cAAc,CAAC,SAAS,IAAI,CAAE,cAAc,CAAC,SAAS,GAAG,IAAI,cAAc,EAAE,CAAE,CAAA;IACvF,CAAC;IAED,cAAc,CAAQ,aAAqB;QAC1C,OAAO,cAAc,CAAC,sBAAsB,CAAC,gBAAgB,CAAE,aAAa,CAAE,CAAA;IAC/E,CAAC;IAED,WAAW,
|
|
1
|
+
{"version":3,"file":"cloud-functions.js","sourceRoot":"","sources":["../../src/cloud-functions/cloud-functions.ts"],"names":[],"mappings":"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"}
|