@based/server 6.8.0 → 7.0.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/dist/auth/defaultConfig.js +4 -9
- package/dist/auth/defaultConfig.js.map +1 -1
- package/dist/auth/index.d.ts +3 -3
- package/dist/auth/index.js +21 -24
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/parseAuthState.js +3 -5
- package/dist/auth/parseAuthState.js.map +1 -1
- package/dist/auth/parseJSONAuthState.js +1 -3
- package/dist/auth/parseJSONAuthState.js.map +1 -1
- package/dist/authorize.d.ts +2 -2
- package/dist/authorize.js +17 -22
- package/dist/authorize.js.map +1 -1
- package/dist/channel/cleanup.d.ts +1 -1
- package/dist/channel/cleanup.js +2 -6
- package/dist/channel/cleanup.js.map +1 -1
- package/dist/channel/create.d.ts +2 -2
- package/dist/channel/create.js +5 -9
- package/dist/channel/create.js.map +1 -1
- package/dist/channel/destroy.d.ts +2 -2
- package/dist/channel/destroy.js +7 -12
- package/dist/channel/destroy.js.map +1 -1
- package/dist/channel/extend.d.ts +3 -3
- package/dist/channel/extend.js +2 -7
- package/dist/channel/extend.js.map +1 -1
- package/dist/channel/get.d.ts +2 -2
- package/dist/channel/get.js +4 -9
- package/dist/channel/get.js.map +1 -1
- package/dist/channel/index.d.ts +8 -8
- package/dist/channel/index.js +8 -24
- package/dist/channel/index.js.map +1 -1
- package/dist/channel/start.d.ts +1 -1
- package/dist/channel/start.js +10 -15
- package/dist/channel/start.js.map +1 -1
- package/dist/channel/subscribe.d.ts +1 -1
- package/dist/channel/subscribe.js +8 -13
- package/dist/channel/subscribe.js.map +1 -1
- package/dist/channel/types.js +1 -2
- package/dist/channel/types.js.map +1 -1
- package/dist/channel/unsub.d.ts +1 -1
- package/dist/channel/unsub.js +7 -13
- package/dist/channel/unsub.js.map +1 -1
- package/dist/compress.d.ts +1 -1
- package/dist/compress.js +9 -16
- package/dist/compress.js.map +1 -1
- package/dist/error/errorTypeHandlers.d.ts +1 -1
- package/dist/error/errorTypeHandlers.js +20 -23
- package/dist/error/errorTypeHandlers.js.map +1 -1
- package/dist/error/index.d.ts +4 -4
- package/dist/error/index.js +10 -29
- package/dist/error/index.js.map +1 -1
- package/dist/error/types.js +3 -6
- package/dist/error/types.js.map +1 -1
- package/dist/functionApi/callFunction.d.ts +1 -1
- package/dist/functionApi/callFunction.js +10 -14
- package/dist/functionApi/callFunction.js.map +1 -1
- package/dist/functionApi/channelSubscribe.d.ts +1 -1
- package/dist/functionApi/channelSubscribe.js +14 -18
- package/dist/functionApi/channelSubscribe.js.map +1 -1
- package/dist/functionApi/client/channel.js +12 -12
- package/dist/functionApi/client/channel.js.map +1 -1
- package/dist/functionApi/client/index.d.ts +4 -4
- package/dist/functionApi/client/index.js +15 -21
- package/dist/functionApi/client/index.js.map +1 -1
- package/dist/functionApi/client/query.d.ts +1 -1
- package/dist/functionApi/client/query.js +9 -10
- package/dist/functionApi/client/query.js.map +1 -1
- package/dist/functionApi/get.d.ts +1 -1
- package/dist/functionApi/get.js +17 -21
- package/dist/functionApi/get.js.map +1 -1
- package/dist/functionApi/index.d.ts +7 -8
- package/dist/functionApi/index.js +7 -26
- package/dist/functionApi/index.js.map +1 -1
- package/dist/functionApi/observe.d.ts +2 -2
- package/dist/functionApi/observe.js +15 -19
- package/dist/functionApi/observe.js.map +1 -1
- package/dist/functionApi/publish.d.ts +1 -1
- package/dist/functionApi/publish.js +7 -11
- package/dist/functionApi/publish.js.map +1 -1
- package/dist/functionApi/stream.d.ts +1 -1
- package/dist/functionApi/stream.js +13 -17
- package/dist/functionApi/stream.js.map +1 -1
- package/dist/functions/genVersion.js +8 -12
- package/dist/functions/genVersion.js.map +1 -1
- package/dist/functions/index.d.ts +5 -4
- package/dist/functions/index.js +54 -59
- package/dist/functions/index.js.map +1 -1
- package/dist/functions/timeout.js +2 -7
- package/dist/functions/timeout.js.map +1 -1
- package/dist/functions/types.d.ts +1 -1
- package/dist/functions/types.js +1 -2
- package/dist/incoming/http/function.d.ts +1 -1
- package/dist/incoming/http/function.js +13 -17
- package/dist/incoming/http/function.js.map +1 -1
- package/dist/incoming/http/handleRequest.d.ts +3 -0
- package/dist/incoming/http/handleRequest.js +11 -0
- package/dist/incoming/http/handleRequest.js.map +1 -0
- package/dist/incoming/http/index.d.ts +1 -1
- package/dist/incoming/http/index.js +54 -90
- package/dist/incoming/http/index.js.map +1 -1
- package/dist/incoming/http/parseQuery.d.ts +2 -2
- package/dist/incoming/http/parseQuery.js +9 -8
- package/dist/incoming/http/parseQuery.js.map +1 -1
- package/dist/incoming/http/publish.d.ts +1 -1
- package/dist/incoming/http/publish.js +16 -20
- package/dist/incoming/http/publish.js.map +1 -1
- package/dist/incoming/http/query.d.ts +1 -1
- package/dist/incoming/http/query.js +32 -46
- package/dist/incoming/http/query.js.map +1 -1
- package/dist/incoming/http/readBody.d.ts +1 -1
- package/dist/incoming/http/readBody.js +17 -25
- package/dist/incoming/http/readBody.js.map +1 -1
- package/dist/incoming/http/streamFunction/getExtension.js +3 -8
- package/dist/incoming/http/streamFunction/getExtension.js.map +1 -1
- package/dist/incoming/http/streamFunction/index.d.ts +1 -1
- package/dist/incoming/http/streamFunction/index.js +8 -12
- package/dist/incoming/http/streamFunction/index.js.map +1 -1
- package/dist/incoming/http/streamFunction/multiPart/index.d.ts +1 -1
- package/dist/incoming/http/streamFunction/multiPart/index.js +12 -19
- package/dist/incoming/http/streamFunction/multiPart/index.js.map +1 -1
- package/dist/incoming/http/streamFunction/multiPart/readFormData.d.ts +1 -1
- package/dist/incoming/http/streamFunction/multiPart/readFormData.js +11 -16
- package/dist/incoming/http/streamFunction/multiPart/readFormData.js.map +1 -1
- package/dist/incoming/http/streamFunction/stream/createStream.d.ts +1 -1
- package/dist/incoming/http/streamFunction/stream/createStream.js +13 -18
- package/dist/incoming/http/streamFunction/stream/createStream.js.map +1 -1
- package/dist/incoming/http/streamFunction/stream/index.d.ts +1 -1
- package/dist/incoming/http/streamFunction/stream/index.js +19 -26
- package/dist/incoming/http/streamFunction/stream/index.js.map +1 -1
- package/dist/incoming/index.d.ts +1 -1
- package/dist/incoming/index.js +19 -24
- package/dist/incoming/index.js.map +1 -1
- package/dist/incoming/upgrade.d.ts +1 -1
- package/dist/incoming/upgrade.js +8 -13
- package/dist/incoming/upgrade.js.map +1 -1
- package/dist/incoming/ws/auth.d.ts +2 -2
- package/dist/incoming/ws/auth.js +19 -25
- package/dist/incoming/ws/auth.js.map +1 -1
- package/dist/incoming/ws/channelPublish.d.ts +1 -1
- package/dist/incoming/ws/channelPublish.js +17 -21
- package/dist/incoming/ws/channelPublish.js.map +1 -1
- package/dist/incoming/ws/channelSubscribe.d.ts +2 -2
- package/dist/incoming/ws/channelSubscribe.js +32 -38
- package/dist/incoming/ws/channelSubscribe.js.map +1 -1
- package/dist/incoming/ws/function.d.ts +1 -1
- package/dist/incoming/ws/function.js +23 -27
- package/dist/incoming/ws/function.js.map +1 -1
- package/dist/incoming/ws/get.d.ts +1 -1
- package/dist/incoming/ws/get.js +34 -38
- package/dist/incoming/ws/get.js.map +1 -1
- package/dist/incoming/ws/index.d.ts +1 -1
- package/dist/incoming/ws/index.js +19 -23
- package/dist/incoming/ws/index.js.map +1 -1
- package/dist/incoming/ws/query.d.ts +2 -2
- package/dist/incoming/ws/query.js +26 -32
- package/dist/incoming/ws/query.js.map +1 -1
- package/dist/incoming/ws/types.d.ts +1 -1
- package/dist/incoming/ws/types.js +1 -2
- package/dist/index.d.ts +9 -9
- package/dist/index.js +9 -29
- package/dist/index.js.map +1 -1
- package/dist/installFn.d.ts +3 -3
- package/dist/installFn.js +10 -14
- package/dist/installFn.js.map +1 -1
- package/dist/protocol.d.ts +1 -1
- package/dist/protocol.js +55 -78
- package/dist/protocol.js.map +1 -1
- package/dist/query/cleanup.d.ts +1 -1
- package/dist/query/cleanup.js +2 -6
- package/dist/query/cleanup.js.map +1 -1
- package/dist/query/create.d.ts +2 -2
- package/dist/query/create.js +5 -9
- package/dist/query/create.js.map +1 -1
- package/dist/query/destroy.d.ts +2 -2
- package/dist/query/destroy.js +7 -12
- package/dist/query/destroy.js.map +1 -1
- package/dist/query/extendCache.d.ts +1 -1
- package/dist/query/extendCache.js +1 -5
- package/dist/query/extendCache.js.map +1 -1
- package/dist/query/genObservableId.js +4 -8
- package/dist/query/genObservableId.js.map +1 -1
- package/dist/query/get.d.ts +2 -2
- package/dist/query/get.js +4 -9
- package/dist/query/get.js.map +1 -1
- package/dist/query/index.d.ts +10 -10
- package/dist/query/index.js +10 -26
- package/dist/query/index.js.map +1 -1
- package/dist/query/send.d.ts +2 -2
- package/dist/query/send.js +8 -13
- package/dist/query/send.js.map +1 -1
- package/dist/query/start/error.d.ts +2 -2
- package/dist/query/start/error.js +6 -10
- package/dist/query/start/error.js.map +1 -1
- package/dist/query/start/index.d.ts +1 -1
- package/dist/query/start/index.js +14 -19
- package/dist/query/start/index.js.map +1 -1
- package/dist/query/start/relay.d.ts +2 -2
- package/dist/query/start/relay.js +3 -7
- package/dist/query/start/relay.js.map +1 -1
- package/dist/query/start/update.d.ts +2 -2
- package/dist/query/start/update.js +18 -19
- package/dist/query/start/update.js.map +1 -1
- package/dist/query/subscribe.d.ts +3 -3
- package/dist/query/subscribe.js +13 -19
- package/dist/query/subscribe.js.map +1 -1
- package/dist/query/types.d.ts +1 -1
- package/dist/query/types.js +1 -2
- package/dist/query/unsub.d.ts +2 -2
- package/dist/query/unsub.js +7 -13
- package/dist/query/unsub.js.map +1 -1
- package/dist/security.d.ts +1 -1
- package/dist/security.js +8 -14
- package/dist/security.js.map +1 -1
- package/dist/sendError.d.ts +2 -2
- package/dist/sendError.js +21 -28
- package/dist/sendError.js.map +1 -1
- package/dist/sendHttpResponse.d.ts +1 -1
- package/dist/sendHttpResponse.js +11 -17
- package/dist/sendHttpResponse.js.map +1 -1
- package/dist/server.d.ts +8 -8
- package/dist/server.js +73 -64
- package/dist/server.js.map +1 -1
- package/dist/verifyRoute.d.ts +2 -2
- package/dist/verifyRoute.js +13 -17
- package/dist/verifyRoute.js.map +1 -1
- package/package.json +10 -14
|
@@ -1,24 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const installFn_1 = require("../installFn");
|
|
7
|
-
const callFunction = async (server, name, ctx, payload) => {
|
|
8
|
-
const route = (0, verifyRoute_1.verifyRoute)(server, server.client.ctx, 'function', server.functions.route(name), name);
|
|
1
|
+
import { BasedErrorCode, createError } from '../error/index.js';
|
|
2
|
+
import { verifyRoute } from '../verifyRoute.js';
|
|
3
|
+
import { installFn } from '../installFn.js';
|
|
4
|
+
export const callFunction = async (server, name, ctx, payload) => {
|
|
5
|
+
const route = verifyRoute(server, server.client.ctx, 'function', server.functions.route(name), name);
|
|
9
6
|
if (route === null) {
|
|
10
7
|
return;
|
|
11
8
|
}
|
|
12
|
-
const spec = await
|
|
9
|
+
const spec = await installFn(server, server.client.ctx, route);
|
|
13
10
|
if (!spec) {
|
|
14
|
-
throw
|
|
11
|
+
throw createError(server, ctx, BasedErrorCode.FunctionNotFound, {
|
|
15
12
|
route,
|
|
16
13
|
});
|
|
17
14
|
}
|
|
18
15
|
if (spec.relay) {
|
|
19
16
|
const client = server.clients[spec.relay.client];
|
|
20
17
|
if (!client) {
|
|
21
|
-
throw
|
|
18
|
+
throw createError(server, ctx, BasedErrorCode.FunctionError, {
|
|
22
19
|
route,
|
|
23
20
|
err: new Error('Cannot find client ' + spec.relay),
|
|
24
21
|
});
|
|
@@ -27,7 +24,7 @@ const callFunction = async (server, name, ctx, payload) => {
|
|
|
27
24
|
return client.call(spec.relay.target ?? spec.name, payload);
|
|
28
25
|
}
|
|
29
26
|
catch (err) {
|
|
30
|
-
throw
|
|
27
|
+
throw createError(server, ctx, BasedErrorCode.FunctionError, {
|
|
31
28
|
route,
|
|
32
29
|
err,
|
|
33
30
|
});
|
|
@@ -37,11 +34,10 @@ const callFunction = async (server, name, ctx, payload) => {
|
|
|
37
34
|
return spec.fn(server.client, payload, ctx);
|
|
38
35
|
}
|
|
39
36
|
catch (err) {
|
|
40
|
-
throw
|
|
37
|
+
throw createError(server, ctx, BasedErrorCode.FunctionError, {
|
|
41
38
|
route,
|
|
42
39
|
err,
|
|
43
40
|
});
|
|
44
41
|
}
|
|
45
42
|
};
|
|
46
|
-
exports.callFunction = callFunction;
|
|
47
43
|
//# sourceMappingURL=callFunction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callFunction.js","sourceRoot":"","sources":["../../src/functionApi/callFunction.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"callFunction.js","sourceRoot":"","sources":["../../src/functionApi/callFunction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,MAAmB,EACnB,IAAY,EACZ,GAAY,EACZ,OAAY,EACE,EAAE;IAChB,MAAM,KAAK,GAAG,WAAW,CACvB,MAAM,EACN,MAAM,CAAC,MAAM,CAAC,GAAG,EACjB,UAAU,EACV,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAC5B,IAAI,CACL,CAAA;IAED,IAAI,KAAK,KAAK,IAAI,EAAE;QAClB,OAAM;KACP;IAED,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAE9D,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,gBAAgB,EAAE;YAC9D,KAAK;SACN,CAAC,CAAA;KACH;IAED,IAAI,IAAI,CAAC,KAAK,EAAE;QACd,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAChD,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,aAAa,EAAE;gBAC3D,KAAK;gBACL,GAAG,EAAE,IAAI,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC;aACnD,CAAC,CAAA;SACH;QACD,IAAI;YACF,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;SAC5D;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,aAAa,EAAE;gBAC3D,KAAK;gBACL,GAAG;aACJ,CAAC,CAAA;SACH;KACF;IAED,IAAI;QACF,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;KAC5C;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,aAAa,EAAE;YAC3D,KAAK;YACL,GAAG;SACJ,CAAC,CAAA;KACH;AACH,CAAC,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { BasedServer } from '../server';
|
|
1
|
+
import { BasedServer } from '../server.js';
|
|
2
2
|
import { ChannelMessageFunctionInternal } from '@based/functions';
|
|
3
3
|
export declare const subscribeChannel: (server: BasedServer, name: string, id: number, payload: any, update: ChannelMessageFunctionInternal) => (() => void);
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const error_1 = require("../error");
|
|
8
|
-
const subscribeChannel = (server, name, id, payload, update) => {
|
|
9
|
-
const route = (0, verifyRoute_1.verifyRoute)(server, server.client.ctx, 'channel', server.functions.route(name), name, id);
|
|
1
|
+
import { verifyRoute } from '../verifyRoute.js';
|
|
2
|
+
import { unsubscribeFunction, subscribeChannelFunction, hasChannel, createChannel, } from '../channel/index.js';
|
|
3
|
+
import { installFn } from '../installFn.js';
|
|
4
|
+
import { createError, BasedErrorCode } from '../error/index.js';
|
|
5
|
+
export const subscribeChannel = (server, name, id, payload, update) => {
|
|
6
|
+
const route = verifyRoute(server, server.client.ctx, 'channel', server.functions.route(name), name, id);
|
|
10
7
|
if (route === null) {
|
|
11
8
|
throw new Error(`[${name}] No session in ctx`);
|
|
12
9
|
}
|
|
@@ -16,28 +13,27 @@ const subscribeChannel = (server, name, id, payload, update) => {
|
|
|
16
13
|
return;
|
|
17
14
|
}
|
|
18
15
|
isClosed = true;
|
|
19
|
-
|
|
16
|
+
unsubscribeFunction(server, id, update);
|
|
20
17
|
};
|
|
21
|
-
if (
|
|
22
|
-
|
|
18
|
+
if (hasChannel(server, id)) {
|
|
19
|
+
subscribeChannelFunction(server, id, update);
|
|
23
20
|
return close;
|
|
24
21
|
}
|
|
25
|
-
|
|
22
|
+
installFn(server, server.client.ctx, route).then((spec) => {
|
|
26
23
|
if (isClosed) {
|
|
27
24
|
return;
|
|
28
25
|
}
|
|
29
26
|
if (spec === null) {
|
|
30
|
-
update(null,
|
|
27
|
+
update(null, createError(server, server.client.ctx, BasedErrorCode.FunctionNotFound, {
|
|
31
28
|
route,
|
|
32
29
|
}));
|
|
33
30
|
return;
|
|
34
31
|
}
|
|
35
|
-
if (!
|
|
36
|
-
|
|
32
|
+
if (!hasChannel(server, id)) {
|
|
33
|
+
createChannel(server, name, id, payload, true);
|
|
37
34
|
}
|
|
38
|
-
|
|
35
|
+
subscribeChannelFunction(server, id, update);
|
|
39
36
|
});
|
|
40
37
|
return close;
|
|
41
38
|
};
|
|
42
|
-
exports.subscribeChannel = subscribeChannel;
|
|
43
39
|
//# sourceMappingURL=channelSubscribe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channelSubscribe.js","sourceRoot":"","sources":["../../src/functionApi/channelSubscribe.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"channelSubscribe.js","sourceRoot":"","sources":["../../src/functionApi/channelSubscribe.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,UAAU,EACV,aAAa,GACd,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAE/D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,MAAmB,EACnB,IAAY,EACZ,EAAU,EACV,OAAY,EACZ,MAAsC,EACxB,EAAE;IAChB,MAAM,KAAK,GAAG,WAAW,CACvB,MAAM,EACN,MAAM,CAAC,MAAM,CAAC,GAAG,EACjB,SAAS,EACT,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAC5B,IAAI,EACJ,EAAE,CACH,CAAA;IAED,IAAI,KAAK,KAAK,IAAI,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,qBAAqB,CAAC,CAAA;KAC/C;IAED,IAAI,QAAQ,GAAG,KAAK,CAAA;IAEpB,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,QAAQ,EAAE;YACZ,OAAM;SACP;QACD,QAAQ,GAAG,IAAI,CAAA;QACf,mBAAmB,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC,CAAA;IAED,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;QAC1B,wBAAwB,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;QAC5C,OAAO,KAAK,CAAA;KACb;IAED,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACxD,IAAI,QAAQ,EAAE;YACZ,OAAM;SACP;QACD,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,MAAM,CACJ,IAAI,EACJ,WAAW,CACT,MAAM,EACN,MAAM,CAAC,MAAM,CAAC,GAAG,EACjB,cAAc,CAAC,gBAAgB,EAC/B;gBACE,KAAK;aACN,CACF,CACF,CAAA;YACD,OAAM;SACP;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC3B,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;SAC/C;QACD,wBAAwB,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { BasedChannel as BasedChannelAbstract, } from '@based/functions';
|
|
2
|
+
import { genObservableId } from '../../query/index.js';
|
|
3
|
+
import { publish } from '../publish.js';
|
|
4
|
+
import { subscribeChannel } from '../channelSubscribe.js';
|
|
5
|
+
export class BasedChannel extends BasedChannelAbstract {
|
|
6
|
+
payload;
|
|
7
|
+
name;
|
|
8
|
+
id;
|
|
9
|
+
ctx;
|
|
9
10
|
constructor(ctx, name, payload) {
|
|
10
11
|
super();
|
|
11
12
|
this.ctx = ctx;
|
|
12
13
|
this.payload = payload;
|
|
13
|
-
this.id =
|
|
14
|
+
this.id = genObservableId(name, payload);
|
|
14
15
|
this.name = name;
|
|
15
16
|
}
|
|
16
17
|
subscribe(onMessage, onError) {
|
|
17
|
-
return
|
|
18
|
+
return subscribeChannel(this.ctx.session.client.server, this.name, this.id, this.payload, (msg, err) => {
|
|
18
19
|
if (err) {
|
|
19
20
|
if (onError) {
|
|
20
21
|
onError(err);
|
|
@@ -25,8 +26,7 @@ class BasedChannel extends functions_1.BasedChannel {
|
|
|
25
26
|
});
|
|
26
27
|
}
|
|
27
28
|
publish(message, ctx = this.ctx) {
|
|
28
|
-
|
|
29
|
+
publish(this.ctx.session.client.server, this.name, ctx, this.id, this.payload, message);
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
|
-
exports.BasedChannel = BasedChannel;
|
|
32
32
|
//# sourceMappingURL=channel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../../../src/functionApi/client/channel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../../../src/functionApi/client/channel.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,IAAI,oBAAoB,GAIrC,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzD,MAAM,OAAO,YAAa,SAAQ,oBAAoB;IAC7C,OAAO,CAAK;IACZ,IAAI,CAAQ;IACZ,EAAE,CAAQ;IACV,GAAG,CAAgC;IAE1C,YAAY,GAAmC,EAAE,IAAY,EAAE,OAAY;QACzE,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,EAAE,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,SAAS,CACP,SAAiC,EACjC,OAA4B;QAE5B,OAAO,gBAAgB,CACrB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAC9B,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,OAAO,EACZ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACX,IAAI,GAAG,EAAE;gBACP,IAAI,OAAO,EAAE;oBACX,OAAO,CAAC,GAAG,CAAC,CAAA;iBACb;gBACD,OAAM;aACP;YACD,SAAS,CAAC,GAAG,CAAC,CAAA;QAChB,CAAC,CACF,CAAA;IACH,CAAC;IAED,OAAO,CAAC,OAAY,EAAE,MAAe,IAAI,CAAC,GAAG;QAC3C,OAAO,CACL,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAC9B,IAAI,CAAC,IAAI,EACT,GAAG,EACH,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,OAAO,EACZ,OAAO,CACR,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { BasedServer } from '../../server';
|
|
3
|
-
import { BasedQuery } from './query';
|
|
4
|
-
import { BasedChannel } from './channel';
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import { BasedServer } from '../../server.js';
|
|
3
|
+
import { BasedQuery } from './query.js';
|
|
4
|
+
import { BasedChannel } from './channel.js';
|
|
5
5
|
import util from 'node:util';
|
|
6
6
|
import { AuthState, BasedFunctionClient as BasedfunctionClientAbstract, Context, InternalSessionClient, StreamFunctionOpts, Session } from '@based/functions';
|
|
7
7
|
export declare class BasedFunctionClient extends BasedfunctionClientAbstract {
|
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const channel_1 = require("./channel");
|
|
10
|
-
const stream_1 = require("../stream");
|
|
11
|
-
const node_util_1 = __importDefault(require("node:util"));
|
|
12
|
-
const functions_1 = require("@based/functions");
|
|
13
|
-
class BasedFunctionClient extends functions_1.BasedFunctionClient {
|
|
1
|
+
import { callFunction } from '../callFunction.js';
|
|
2
|
+
import { BasedQuery } from './query.js';
|
|
3
|
+
import { BasedChannel } from './channel.js';
|
|
4
|
+
import { streamFunction } from '../stream.js';
|
|
5
|
+
import util from 'node:util';
|
|
6
|
+
import { BasedFunctionClient as BasedfunctionClientAbstract, isClientContext, isWsContext, } from '@based/functions';
|
|
7
|
+
export class BasedFunctionClient extends BasedfunctionClientAbstract {
|
|
8
|
+
ctx;
|
|
14
9
|
constructor(server) {
|
|
15
10
|
super();
|
|
16
11
|
this.server = server;
|
|
@@ -23,17 +18,17 @@ class BasedFunctionClient extends functions_1.BasedFunctionClient {
|
|
|
23
18
|
}
|
|
24
19
|
// TODO: CTX - Transpile the ctx in there by static analysis for "call" & "stream"
|
|
25
20
|
call(name, payload, ctx = this.ctx) {
|
|
26
|
-
return
|
|
21
|
+
return callFunction(this.server, name, ctx, payload);
|
|
27
22
|
}
|
|
28
23
|
query(name, payload) {
|
|
29
|
-
return new
|
|
24
|
+
return new BasedQuery(this.ctx, name, payload);
|
|
30
25
|
}
|
|
31
26
|
channel(name, payload) {
|
|
32
|
-
return new
|
|
27
|
+
return new BasedChannel(this.ctx, name, payload);
|
|
33
28
|
}
|
|
34
29
|
async stream(name, streamOpts, ctx = this.ctx) {
|
|
35
30
|
// make later
|
|
36
|
-
return
|
|
31
|
+
return streamFunction(this.server, name, ctx, streamOpts);
|
|
37
32
|
}
|
|
38
33
|
renewAuthState(ctx, authState) {
|
|
39
34
|
return this.server.auth.renewAuthState(ctx, authState);
|
|
@@ -42,21 +37,20 @@ class BasedFunctionClient extends functions_1.BasedFunctionClient {
|
|
|
42
37
|
if (!ctx.session) {
|
|
43
38
|
return;
|
|
44
39
|
}
|
|
45
|
-
if (!
|
|
40
|
+
if (!isClientContext(ctx)) {
|
|
46
41
|
return;
|
|
47
42
|
}
|
|
48
43
|
ctx.session.authState = authState;
|
|
49
44
|
this.server.auth.renewAuthState(ctx);
|
|
50
45
|
}
|
|
51
46
|
sendAuthState(ctx, authState) {
|
|
52
|
-
if (!
|
|
47
|
+
if (!isWsContext(ctx)) {
|
|
53
48
|
return;
|
|
54
49
|
}
|
|
55
50
|
this.server.auth.sendAuthState(ctx, authState);
|
|
56
51
|
}
|
|
57
|
-
[
|
|
52
|
+
[util.inspect.custom]() {
|
|
58
53
|
return `[BasedFunctionClient]`;
|
|
59
54
|
}
|
|
60
55
|
}
|
|
61
|
-
exports.BasedFunctionClient = BasedFunctionClient;
|
|
62
56
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functionApi/client/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functionApi/client/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAEL,mBAAmB,IAAI,2BAA2B,EAGlD,eAAe,EACf,WAAW,GAGZ,MAAM,kBAAkB,CAAA;AAEzB,MAAM,OAAO,mBAAoB,SAAQ,2BAA2B;IAGlE,GAAG,CAAgC;IAEnC,YAAY,MAAmB;QAC7B,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,GAAG,GAAG;YACT,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;SACvD,CAAA;IACH,CAAC;IAED,GAAG,CAAC,GAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC7B,CAAC;IAED,kFAAkF;IAClF,IAAI,CAAC,IAAY,EAAE,OAAa,EAAE,MAAe,IAAI,CAAC,GAAG;QACvD,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,IAAY,EAAE,OAAa;QAC/B,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IAChD,CAAC;IAED,OAAO,CAAC,IAAY,EAAE,OAAa;QACjC,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC;IAED,KAAK,CAAC,MAAM,CACV,IAAY,EACZ,UAA8B,EAC9B,MAAe,IAAI,CAAC,GAAG;QAEvB,aAAa;QACb,OAAO,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,CAAA;IAC3D,CAAC;IAED,cAAc,CACZ,GAAqB,EACrB,SAAqB;QAErB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;IACxD,CAAC;IAED,YAAY,CAAC,GAAqB,EAAE,SAAoB;QACtD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YAChB,OAAM;SACP;QACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;YACzB,OAAM;SACP;QACD,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAA;QACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;IACtC,CAAC;IAED,aAAa,CAAC,GAAqB,EAAE,SAAoB;QACvD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;YACrB,OAAM;SACP;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;IAChD,CAAC;IAED,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACnB,OAAO,uBAAuB,CAAA;IAChC,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ObservableUpdateFunction, ObserveErrorListener } from '../../query';
|
|
1
|
+
import { ObservableUpdateFunction, ObserveErrorListener } from '../../query/index.js';
|
|
2
2
|
import { BasedQuery as BasedQueryAbstract, Context, InternalSessionClient } from '@based/functions';
|
|
3
3
|
export declare class BasedQuery extends BasedQueryAbstract {
|
|
4
4
|
query: any;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { observe } from '../observe.js';
|
|
2
|
+
import { get } from '../get.js';
|
|
3
|
+
import { BasedQuery as BasedQueryAbstract, } from '@based/functions';
|
|
4
|
+
export class BasedQuery extends BasedQueryAbstract {
|
|
5
|
+
query;
|
|
6
|
+
name;
|
|
7
|
+
ctx;
|
|
8
8
|
constructor(ctx, name, payload) {
|
|
9
9
|
super();
|
|
10
10
|
this.ctx = ctx;
|
|
@@ -12,7 +12,7 @@ class BasedQuery extends functions_1.BasedQuery {
|
|
|
12
12
|
this.name = name;
|
|
13
13
|
}
|
|
14
14
|
subscribe(onData, onError) {
|
|
15
|
-
return
|
|
15
|
+
return observe(this.ctx.session.client.server, this.name, this.ctx, this.query, onData, onError);
|
|
16
16
|
}
|
|
17
17
|
async getWhen(condition) {
|
|
18
18
|
return new Promise((resolve) => {
|
|
@@ -25,8 +25,7 @@ class BasedQuery extends functions_1.BasedQuery {
|
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
27
|
async get() {
|
|
28
|
-
return
|
|
28
|
+
return get(this.ctx.session.client.server, this.name, this.ctx, this.query);
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
exports.BasedQuery = BasedQuery;
|
|
32
31
|
//# sourceMappingURL=query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/functionApi/client/query.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/functionApi/client/query.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC/B,OAAO,EACL,UAAU,IAAI,kBAAkB,GAGjC,MAAM,kBAAkB,CAAA;AAEzB,MAAM,OAAO,UAAW,SAAQ,kBAAkB;IACzC,KAAK,CAAK;IACV,IAAI,CAAQ;IACZ,GAAG,CAAgC;IAE1C,YAAY,GAAmC,EAAE,IAAY,EAAE,OAAY;QACzE,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,KAAK,GAAG,OAAO,CAAA;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,SAAS,CACP,MAAgC,EAChC,OAA8B;QAE9B,OAAO,OAAO,CACZ,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAC9B,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,KAAK,EACV,MAAM,EACN,OAAO,CACR,CAAA;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CACX,SAAmD;QAEnD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC9C,IAAI,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE;oBAC7B,OAAO,CAAC,IAAI,CAAC,CAAA;oBACb,KAAK,EAAE,CAAA;iBACR;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,GAAG;QACP,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7E,CAAC;CACF"}
|
package/dist/functionApi/get.js
CHANGED
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const query_1 = require("../query");
|
|
6
|
-
const verifyRoute_1 = require("../verifyRoute");
|
|
7
|
-
const installFn_1 = require("../installFn");
|
|
1
|
+
import { BasedErrorCode, createError } from '../error/index.js';
|
|
2
|
+
import { genObservableId, hasObs, createObs, subscribeNext, getObsAndStopRemove, destroyObs, start, } from '../query/index.js';
|
|
3
|
+
import { verifyRoute } from '../verifyRoute.js';
|
|
4
|
+
import { installFn } from '../installFn.js';
|
|
8
5
|
const getObsData = (resolve, reject, server, id, ctx, route) => {
|
|
9
|
-
const obs =
|
|
6
|
+
const obs = getObsAndStopRemove(server, id);
|
|
10
7
|
if (server.queryEvents) {
|
|
11
8
|
server.queryEvents.get(obs);
|
|
12
9
|
}
|
|
13
10
|
if (obs.error) {
|
|
14
|
-
reject(
|
|
11
|
+
reject(createError(server, ctx, BasedErrorCode.FunctionError, {
|
|
15
12
|
route,
|
|
16
13
|
observableId: id,
|
|
17
14
|
err: obs.error.message,
|
|
@@ -22,8 +19,8 @@ const getObsData = (resolve, reject, server, id, ctx, route) => {
|
|
|
22
19
|
resolve(obs.rawData ?? obs.cache);
|
|
23
20
|
return;
|
|
24
21
|
}
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
subscribeNext(obs, (err) => {
|
|
23
|
+
destroyObs(server, id);
|
|
27
24
|
if (err) {
|
|
28
25
|
reject(err);
|
|
29
26
|
}
|
|
@@ -32,11 +29,11 @@ const getObsData = (resolve, reject, server, id, ctx, route) => {
|
|
|
32
29
|
}
|
|
33
30
|
});
|
|
34
31
|
};
|
|
35
|
-
const get = (server, name, ctx, payload) => {
|
|
32
|
+
export const get = (server, name, ctx, payload) => {
|
|
36
33
|
return new Promise((resolve, reject) => {
|
|
37
34
|
let route;
|
|
38
35
|
try {
|
|
39
|
-
route =
|
|
36
|
+
route = verifyRoute(server, server.client.ctx, 'query', server.functions.route(name), name);
|
|
40
37
|
if (route === null) {
|
|
41
38
|
reject(new Error(`[${name}] No session in ctx`));
|
|
42
39
|
return;
|
|
@@ -46,19 +43,19 @@ const get = (server, name, ctx, payload) => {
|
|
|
46
43
|
reject(err);
|
|
47
44
|
return;
|
|
48
45
|
}
|
|
49
|
-
const id =
|
|
50
|
-
if (!
|
|
51
|
-
|
|
46
|
+
const id = genObservableId(name, payload);
|
|
47
|
+
if (!hasObs(server, id)) {
|
|
48
|
+
installFn(server, server.client.ctx, route).then((spec) => {
|
|
52
49
|
if (!spec) {
|
|
53
|
-
reject(
|
|
50
|
+
reject(createError(server, ctx, BasedErrorCode.FunctionNotFound, {
|
|
54
51
|
route,
|
|
55
52
|
}));
|
|
56
53
|
return;
|
|
57
54
|
}
|
|
58
|
-
if (!
|
|
59
|
-
|
|
55
|
+
if (!hasObs(server, id)) {
|
|
56
|
+
createObs(server, name, id, payload, true);
|
|
60
57
|
getObsData(resolve, reject, server, id, ctx, route);
|
|
61
|
-
|
|
58
|
+
start(server, id);
|
|
62
59
|
}
|
|
63
60
|
else {
|
|
64
61
|
getObsData(resolve, reject, server, id, ctx, route);
|
|
@@ -70,5 +67,4 @@ const get = (server, name, ctx, payload) => {
|
|
|
70
67
|
}
|
|
71
68
|
});
|
|
72
69
|
};
|
|
73
|
-
exports.get = get;
|
|
74
70
|
//# sourceMappingURL=get.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/functionApi/get.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/functionApi/get.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
export * from './callFunction';
|
|
2
|
-
export * from './get';
|
|
3
|
-
export * from './client';
|
|
4
|
-
export
|
|
5
|
-
export * from './
|
|
6
|
-
export * from './
|
|
7
|
-
export * from './
|
|
8
|
-
export * from './channelSubscribe';
|
|
1
|
+
export * from './callFunction.js';
|
|
2
|
+
export * from './get.js';
|
|
3
|
+
export * from './client/index.js';
|
|
4
|
+
export * from './observe.js';
|
|
5
|
+
export * from './stream.js';
|
|
6
|
+
export * from './publish.js';
|
|
7
|
+
export * from './channelSubscribe.js';
|
|
@@ -1,27 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.decode = void 0;
|
|
18
|
-
__exportStar(require("./callFunction"), exports);
|
|
19
|
-
__exportStar(require("./get"), exports);
|
|
20
|
-
__exportStar(require("./client"), exports);
|
|
21
|
-
var protocol_1 = require("../protocol");
|
|
22
|
-
Object.defineProperty(exports, "decode", { enumerable: true, get: function () { return protocol_1.decode; } });
|
|
23
|
-
__exportStar(require("./observe"), exports);
|
|
24
|
-
__exportStar(require("./stream"), exports);
|
|
25
|
-
__exportStar(require("./publish"), exports);
|
|
26
|
-
__exportStar(require("./channelSubscribe"), exports);
|
|
1
|
+
export * from './callFunction.js';
|
|
2
|
+
export * from './get.js';
|
|
3
|
+
export * from './client/index.js';
|
|
4
|
+
export * from './observe.js';
|
|
5
|
+
export * from './stream.js';
|
|
6
|
+
export * from './publish.js';
|
|
7
|
+
export * from './channelSubscribe.js';
|
|
27
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functionApi/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functionApi/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BasedServer } from '../server';
|
|
1
|
+
import { BasedServer } from '../server.js';
|
|
2
2
|
import { Context } from '@based/functions';
|
|
3
|
-
import { ObservableUpdateFunction, ObserveErrorListener } from '../query';
|
|
3
|
+
import { ObservableUpdateFunction, ObserveErrorListener } from '../query/index.js';
|
|
4
4
|
export declare const observe: (server: BasedServer, name: string, ctx: Context, payload: any, update: ObservableUpdateFunction, error: ObserveErrorListener) => (() => void);
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const observe = (server, name, ctx, payload, update, error) => {
|
|
9
|
-
const id = (0, query_1.genObservableId)(name, payload);
|
|
10
|
-
const route = (0, verifyRoute_1.verifyRoute)(server, server.client.ctx, 'query', server.functions.route(name), name, id);
|
|
1
|
+
import { BasedErrorCode, createError } from '../error/index.js';
|
|
2
|
+
import { verifyRoute } from '../verifyRoute.js';
|
|
3
|
+
import { genObservableId, hasObs, createObs, subscribeFunction, unsubscribeFunction, } from '../query/index.js';
|
|
4
|
+
import { installFn } from '../installFn.js';
|
|
5
|
+
export const observe = (server, name, ctx, payload, update, error) => {
|
|
6
|
+
const id = genObservableId(name, payload);
|
|
7
|
+
const route = verifyRoute(server, server.client.ctx, 'query', server.functions.route(name), name, id);
|
|
11
8
|
if (route === null) {
|
|
12
9
|
throw new Error(`[${name}] No session in ctx`);
|
|
13
10
|
}
|
|
@@ -17,28 +14,27 @@ const observe = (server, name, ctx, payload, update, error) => {
|
|
|
17
14
|
return;
|
|
18
15
|
}
|
|
19
16
|
isClosed = true;
|
|
20
|
-
|
|
17
|
+
unsubscribeFunction(server, id, update);
|
|
21
18
|
};
|
|
22
|
-
if (
|
|
23
|
-
|
|
19
|
+
if (hasObs(server, id)) {
|
|
20
|
+
subscribeFunction(server, id, update);
|
|
24
21
|
return close;
|
|
25
22
|
}
|
|
26
|
-
|
|
23
|
+
installFn(server, server.client.ctx, route).then((spec) => {
|
|
27
24
|
if (isClosed) {
|
|
28
25
|
return;
|
|
29
26
|
}
|
|
30
27
|
if (spec === null) {
|
|
31
|
-
error(
|
|
28
|
+
error(createError(server, ctx, BasedErrorCode.FunctionNotFound, {
|
|
32
29
|
route,
|
|
33
30
|
}));
|
|
34
31
|
return;
|
|
35
32
|
}
|
|
36
|
-
if (!
|
|
37
|
-
|
|
33
|
+
if (!hasObs(server, id)) {
|
|
34
|
+
createObs(server, name, id, payload);
|
|
38
35
|
}
|
|
39
|
-
|
|
36
|
+
subscribeFunction(server, id, update);
|
|
40
37
|
});
|
|
41
38
|
return close;
|
|
42
39
|
};
|
|
43
|
-
exports.observe = observe;
|
|
44
40
|
//# sourceMappingURL=observe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observe.js","sourceRoot":"","sources":["../../src/functionApi/observe.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"observe.js","sourceRoot":"","sources":["../../src/functionApi/observe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EACL,eAAe,EACf,MAAM,EACN,SAAS,EAGT,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,MAAmB,EACnB,IAAY,EACZ,GAAY,EACZ,OAAY,EACZ,MAAgC,EAChC,KAA2B,EACb,EAAE;IAChB,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAEzC,MAAM,KAAK,GAAG,WAAW,CACvB,MAAM,EACN,MAAM,CAAC,MAAM,CAAC,GAAG,EACjB,OAAO,EACP,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAC5B,IAAI,EACJ,EAAE,CACH,CAAA;IAED,IAAI,KAAK,KAAK,IAAI,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,qBAAqB,CAAC,CAAA;KAC/C;IAED,IAAI,QAAQ,GAAG,KAAK,CAAA;IAEpB,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,QAAQ,EAAE;YACZ,OAAM;SACP;QACD,QAAQ,GAAG,IAAI,CAAA;QACf,mBAAmB,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC,CAAA;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;QACtB,iBAAiB,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;QACrC,OAAO,KAAK,CAAA;KACb;IAED,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACxD,IAAI,QAAQ,EAAE;YACZ,OAAM;SACP;QACD,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,KAAK,CACH,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,gBAAgB,EAAE;gBACxD,KAAK;aACN,CAAC,CACH,CAAA;YACD,OAAM;SACP;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACvB,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;SACrC;QACD,iBAAiB,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEF,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
|