@based/server 9.2.6 → 10.0.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/dist/auth/index.js +1 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/channel/destroy.js +3 -1
- package/dist/channel/destroy.js.map +1 -1
- package/dist/channel/start.js +10 -3
- package/dist/channel/start.js.map +1 -1
- package/dist/channel/subscribe.js +13 -1
- package/dist/channel/subscribe.js.map +1 -1
- package/dist/channel/types.d.ts +1 -0
- package/dist/channel/types.js.map +1 -1
- package/dist/channel/unsub.js +24 -3
- package/dist/channel/unsub.js.map +1 -1
- package/dist/functions/index.d.ts +1 -1
- package/dist/functions/index.js +50 -20
- package/dist/functions/index.js.map +1 -1
- package/dist/incoming/http/fakeWs/function.js +8 -6
- package/dist/incoming/http/fakeWs/function.js.map +1 -1
- package/dist/incoming/http/fakeWs/handleBinary.js +4 -3
- package/dist/incoming/http/fakeWs/handleBinary.js.map +1 -1
- package/dist/incoming/http/fakeWs/query.js +6 -5
- package/dist/incoming/http/fakeWs/query.js.map +1 -1
- package/dist/incoming/http/handleRequest.js.map +1 -1
- package/dist/incoming/http/index.js +2 -0
- package/dist/incoming/http/index.js.map +1 -1
- package/dist/incoming/http/pathMatcher.d.ts +1 -1
- package/dist/incoming/http/pathMatcher.js +16 -1
- package/dist/incoming/http/pathMatcher.js.map +1 -1
- package/dist/incoming/http/payloadParser.d.ts +1 -1
- package/dist/incoming/http/payloadParser.js +1 -0
- package/dist/incoming/http/payloadParser.js.map +1 -1
- package/dist/incoming/http/query.js +3 -2
- package/dist/incoming/http/query.js.map +1 -1
- package/dist/incoming/upgrade.js +1 -0
- package/dist/incoming/upgrade.js.map +1 -1
- package/dist/incoming/ws/auth.js +4 -6
- package/dist/incoming/ws/auth.js.map +1 -1
- package/dist/incoming/ws/channelPublish.js +4 -3
- package/dist/incoming/ws/channelPublish.js.map +1 -1
- package/dist/incoming/ws/channelSubscribe.js +6 -5
- package/dist/incoming/ws/channelSubscribe.js.map +1 -1
- package/dist/incoming/ws/function.js +8 -5
- package/dist/incoming/ws/function.js.map +1 -1
- package/dist/incoming/ws/get.js +8 -7
- package/dist/incoming/ws/get.js.map +1 -1
- package/dist/incoming/ws/index.d.ts +2 -2
- package/dist/incoming/ws/index.js +14 -12
- package/dist/incoming/ws/index.js.map +1 -1
- package/dist/incoming/ws/query.js +6 -5
- package/dist/incoming/ws/query.js.map +1 -1
- package/dist/incoming/ws/stream.d.ts +1 -1
- package/dist/incoming/ws/stream.js +29 -28
- package/dist/incoming/ws/stream.js.map +1 -1
- package/dist/protocol.d.ts +25 -14
- package/dist/protocol.js +312 -158
- package/dist/protocol.js.map +1 -1
- package/dist/query/destroy.js +2 -1
- package/dist/query/destroy.js.map +1 -1
- package/dist/query/send.d.ts +1 -1
- package/dist/query/send.js +29 -7
- package/dist/query/send.js.map +1 -1
- package/dist/query/start/error.js +4 -1
- package/dist/query/start/error.js.map +1 -1
- package/dist/query/start/update.js +22 -4
- package/dist/query/start/update.js.map +1 -1
- package/dist/query/subscribe.js +15 -5
- package/dist/query/subscribe.js.map +1 -1
- package/dist/query/types.d.ts +1 -0
- package/dist/query/unsub.js +32 -8
- package/dist/query/unsub.js.map +1 -1
- package/dist/sendError.js +4 -4
- package/dist/sendError.js.map +1 -1
- package/dist/sendHttpResponse.js +8 -4
- package/dist/sendHttpResponse.js.map +1 -1
- package/package.json +2 -2
- package/dist/incoming/http/basicFunction copy.d.ts +0 -3
- package/dist/incoming/http/basicFunction copy.js +0 -75
- package/dist/incoming/http/basicFunction copy.js.map +0 -1
- package/dist/incoming/http/function.d.ts +0 -3
- package/dist/incoming/http/function.js +0 -75
- package/dist/incoming/http/function.js.map +0 -1
- package/dist/incoming/http/parsePath.d.ts +0 -22
- package/dist/incoming/http/parsePath.js +0 -126
- package/dist/incoming/http/parsePath.js.map +0 -1
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import { decodeHeader
|
|
2
|
-
import { functionMessage } from
|
|
3
|
-
import { subscribeMessage, unsubscribeMessage } from
|
|
4
|
-
import { authMessage } from
|
|
5
|
-
import { getMessage } from
|
|
6
|
-
import { createError } from
|
|
7
|
-
import { channelSubscribeMessage, unsubscribeChannelMessage, } from
|
|
8
|
-
import { channelPublishMessage } from
|
|
9
|
-
import { receiveChunkStream, registerStream } from
|
|
10
|
-
import { BasedErrorCode } from
|
|
1
|
+
import { decodeHeader } from '../../protocol.js';
|
|
2
|
+
import { functionMessage } from './function.js';
|
|
3
|
+
import { subscribeMessage, unsubscribeMessage } from './query.js';
|
|
4
|
+
import { authMessage } from './auth.js';
|
|
5
|
+
import { getMessage } from './get.js';
|
|
6
|
+
import { createError } from '../../error/index.js';
|
|
7
|
+
import { channelSubscribeMessage, unsubscribeChannelMessage, } from './channelSubscribe.js';
|
|
8
|
+
import { channelPublishMessage } from './channelPublish.js';
|
|
9
|
+
import { receiveChunkStream, registerStream } from './stream.js';
|
|
10
|
+
import { BasedErrorCode } from '@based/errors';
|
|
11
|
+
import { readUint32 } from '@saulx/utils';
|
|
11
12
|
const reader = (server, ctx, arr, start) => {
|
|
12
|
-
|
|
13
|
+
// decode from buffer
|
|
14
|
+
const { len, isDeflate, type } = decodeHeader(readUint32(arr, start));
|
|
13
15
|
const next = len + start;
|
|
14
16
|
// type 0 = function
|
|
15
17
|
if (type === 0 && functionMessage(arr, start, len, isDeflate, ctx, server)) {
|
|
@@ -44,7 +46,7 @@ const reader = (server, ctx, arr, start) => {
|
|
|
44
46
|
}
|
|
45
47
|
// type 7.x = subType
|
|
46
48
|
if (type === 7) {
|
|
47
|
-
const subType =
|
|
49
|
+
const subType = arr[start + 4];
|
|
48
50
|
// type 7.0 = channelUnsubscribe
|
|
49
51
|
if (subType === 0) {
|
|
50
52
|
if (unsubscribeChannelMessage(arr, start, len, isDeflate, ctx, server)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/incoming/ws/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/incoming/ws/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { decodePayload, decodeName
|
|
1
|
+
import { decodePayload, decodeName } from '../../protocol.js';
|
|
2
2
|
import { createObs, unsubscribeWs, subscribeWs, hasObs, } from '../../query/index.js';
|
|
3
3
|
import { BasedErrorCode } from '@based/errors';
|
|
4
4
|
import { sendError } from '../../sendError.js';
|
|
5
5
|
import { rateLimitRequest } from '../../security.js';
|
|
6
6
|
import { verifyRoute } from '../../verifyRoute.js';
|
|
7
7
|
import { authorize, } from '../../authorize.js';
|
|
8
|
+
import { readUint64 } from '@saulx/utils';
|
|
8
9
|
export const enableSubscribe = (route, _spec, server, ctx, payload, id, checksum) => {
|
|
9
10
|
if (hasObs(server, id)) {
|
|
10
11
|
subscribeWs(server, id, checksum, ctx);
|
|
@@ -34,8 +35,8 @@ const isNotAuthorized = (route, _server, ctx, payload, id, checksum) => {
|
|
|
34
35
|
export const subscribeMessage = (arr, start, len, isDeflate, ctx, server) => {
|
|
35
36
|
// | 4 header | 8 id | 8 checksum | 1 name length | * name | * payload |
|
|
36
37
|
const nameLen = arr[start + 20];
|
|
37
|
-
const id =
|
|
38
|
-
const checksum =
|
|
38
|
+
const id = readUint64(arr, start + 4);
|
|
39
|
+
const checksum = readUint64(arr, start + 12);
|
|
39
40
|
const name = decodeName(arr, start + 21, start + 21 + nameLen);
|
|
40
41
|
if (!name || !id) {
|
|
41
42
|
return false;
|
|
@@ -63,7 +64,7 @@ export const subscribeMessage = (arr, start, len, isDeflate, ctx, server) => {
|
|
|
63
64
|
}
|
|
64
65
|
const payload = len === nameLen + 21
|
|
65
66
|
? undefined
|
|
66
|
-
:
|
|
67
|
+
: decodePayload(new Uint8Array(arr.slice(start + 21 + nameLen, start + len)), isDeflate, ctx.session.v < 2);
|
|
67
68
|
session.obs.add(id);
|
|
68
69
|
authorize(route, server, ctx, payload, enableSubscribe, id, checksum, false, isNotAuthorized);
|
|
69
70
|
return true;
|
|
@@ -73,7 +74,7 @@ export const unsubscribeMessage = (arr, start, _len, _isDeflate, ctx, server) =>
|
|
|
73
74
|
if (!ctx.session) {
|
|
74
75
|
return false;
|
|
75
76
|
}
|
|
76
|
-
const id =
|
|
77
|
+
const id = readUint64(arr, start + 4);
|
|
77
78
|
if (!id) {
|
|
78
79
|
return false;
|
|
79
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/incoming/ws/query.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/incoming/ws/query.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import { decodePayload, decodeName,
|
|
2
|
-
import { BasedDataStream } from
|
|
3
|
-
import mimeTypes from
|
|
4
|
-
import { authorize } from
|
|
5
|
-
import { verifyRoute } from
|
|
6
|
-
import { rateLimitRequest } from
|
|
7
|
-
import { sendError } from
|
|
8
|
-
import { BasedErrorCode } from
|
|
9
|
-
import zlib from
|
|
1
|
+
import { decodePayload, decodeName, encodeStreamFunctionResponse, valueToBuffer, encodeStreamFunctionChunkResponse, valueToBufferV1, } from '../../protocol.js';
|
|
2
|
+
import { BasedDataStream } from '@based/functions';
|
|
3
|
+
import mimeTypes from 'mime-types';
|
|
4
|
+
import { authorize } from '../../authorize.js';
|
|
5
|
+
import { verifyRoute } from '../../verifyRoute.js';
|
|
6
|
+
import { rateLimitRequest } from '../../security.js';
|
|
7
|
+
import { sendError } from '../../sendError.js';
|
|
8
|
+
import { BasedErrorCode } from '@based/errors';
|
|
9
|
+
import zlib from 'node:zlib';
|
|
10
|
+
import { readUint24, readUint32 } from '@saulx/utils';
|
|
10
11
|
const startStreamFunction = (route, spec, server, ctx, payload, streamRequestId) => {
|
|
11
12
|
spec
|
|
12
13
|
.fn(server.client, payload, ctx)
|
|
13
14
|
.then(async (v) => {
|
|
14
|
-
ctx.session?.ws.send(encodeStreamFunctionResponse(streamRequestId, valueToBuffer(v)), true, false);
|
|
15
|
+
ctx.session?.ws.send(encodeStreamFunctionResponse(streamRequestId, ctx.session.v < 2 ? valueToBufferV1(v, true) : valueToBuffer(v, true)), true, false);
|
|
15
16
|
})
|
|
16
17
|
.catch((err) => {
|
|
17
18
|
sendError(server, ctx, BasedErrorCode.FunctionError, {
|
|
@@ -27,26 +28,26 @@ export const registerStream = (arr, start, len, isDeflate, ctx, server) => {
|
|
|
27
28
|
return false;
|
|
28
29
|
}
|
|
29
30
|
const infoLen = 16;
|
|
30
|
-
const reqId =
|
|
31
|
+
const reqId = readUint24(arr, start + 5);
|
|
31
32
|
if (reqId === undefined) {
|
|
32
33
|
return false;
|
|
33
34
|
}
|
|
34
35
|
if (ctx.session.streams?.[reqId]) {
|
|
35
36
|
return false;
|
|
36
37
|
}
|
|
37
|
-
const contentSize =
|
|
38
|
+
const contentSize = readUint32(arr, start + 8);
|
|
38
39
|
if (!contentSize) {
|
|
39
40
|
return false;
|
|
40
41
|
}
|
|
41
|
-
const nameLen =
|
|
42
|
-
const mimeLen =
|
|
43
|
-
const fnNameLen =
|
|
44
|
-
const extensionLen =
|
|
42
|
+
const nameLen = arr[start + 12];
|
|
43
|
+
const mimeLen = arr[start + 13];
|
|
44
|
+
const fnNameLen = arr[start + 14];
|
|
45
|
+
const extensionLen = arr[start + 15];
|
|
45
46
|
const name = decodeName(arr, start + infoLen, start + infoLen + nameLen);
|
|
46
47
|
let mime = decodeName(arr, start + infoLen + nameLen, start + infoLen + nameLen + mimeLen);
|
|
47
48
|
const fnName = decodeName(arr, start + infoLen + nameLen + mimeLen, start + infoLen + mimeLen + nameLen + fnNameLen);
|
|
48
49
|
let extension = decodeName(arr, start + infoLen + nameLen + mimeLen + fnNameLen, start + infoLen + mimeLen + nameLen + fnNameLen + extensionLen);
|
|
49
|
-
const route = verifyRoute(server, ctx,
|
|
50
|
+
const route = verifyRoute(server, ctx, 'stream', server.functions.route(fnName), fnName, reqId);
|
|
50
51
|
// TODO: add strictness setting - if strict return false here
|
|
51
52
|
if (route === null) {
|
|
52
53
|
return true;
|
|
@@ -57,7 +58,7 @@ export const registerStream = (arr, start, len, isDeflate, ctx, server) => {
|
|
|
57
58
|
}
|
|
58
59
|
const payload = len === nameLen + infoLen + mimeLen + extensionLen
|
|
59
60
|
? undefined
|
|
60
|
-
:
|
|
61
|
+
: decodePayload(new Uint8Array(arr.slice(start + infoLen + nameLen + mimeLen + fnNameLen + extensionLen, start + len)), isDeflate, ctx.session.v < 2);
|
|
61
62
|
if (!ctx.session.streams) {
|
|
62
63
|
ctx.session.streams = {};
|
|
63
64
|
}
|
|
@@ -69,7 +70,7 @@ export const registerStream = (arr, start, len, isDeflate, ctx, server) => {
|
|
|
69
70
|
}
|
|
70
71
|
}
|
|
71
72
|
else {
|
|
72
|
-
const e = name.split(
|
|
73
|
+
const e = name.split('.');
|
|
73
74
|
const extension = e[e.length - 1];
|
|
74
75
|
if (name) {
|
|
75
76
|
const t = mimeTypes.lookup(extension);
|
|
@@ -78,12 +79,12 @@ export const registerStream = (arr, start, len, isDeflate, ctx, server) => {
|
|
|
78
79
|
}
|
|
79
80
|
}
|
|
80
81
|
else {
|
|
81
|
-
mime =
|
|
82
|
+
mime = '*/*';
|
|
82
83
|
}
|
|
83
84
|
}
|
|
84
85
|
}
|
|
85
86
|
if (!extension) {
|
|
86
|
-
extension = mimeTypes.extension(mime) ||
|
|
87
|
+
extension = mimeTypes.extension(mime) || '';
|
|
87
88
|
}
|
|
88
89
|
const streamPayload = {
|
|
89
90
|
fileName: name,
|
|
@@ -100,7 +101,7 @@ export const registerStream = (arr, start, len, isDeflate, ctx, server) => {
|
|
|
100
101
|
if (!ctx.session) {
|
|
101
102
|
return;
|
|
102
103
|
}
|
|
103
|
-
console.log(
|
|
104
|
+
console.log('not authorized...');
|
|
104
105
|
delete ctx.session.streams[reqId];
|
|
105
106
|
});
|
|
106
107
|
return true;
|
|
@@ -116,8 +117,8 @@ export const receiveChunkStream = (arr, start, len, isDeflate, ctx, server) => {
|
|
|
116
117
|
return false;
|
|
117
118
|
}
|
|
118
119
|
const infoLen = 9;
|
|
119
|
-
const reqId =
|
|
120
|
-
const seqId =
|
|
120
|
+
const reqId = readUint24(arr, start + 5);
|
|
121
|
+
const seqId = arr[start + 8];
|
|
121
122
|
if (reqId === undefined) {
|
|
122
123
|
return false;
|
|
123
124
|
}
|
|
@@ -127,8 +128,8 @@ export const receiveChunkStream = (arr, start, len, isDeflate, ctx, server) => {
|
|
|
127
128
|
}
|
|
128
129
|
if (seqId - 1 !== streamPayload.seqId) {
|
|
129
130
|
const sRoute = {
|
|
130
|
-
name:
|
|
131
|
-
type:
|
|
131
|
+
name: 'stream-chunk',
|
|
132
|
+
type: 'stream',
|
|
132
133
|
};
|
|
133
134
|
sendError(server, ctx, BasedErrorCode.FunctionError, {
|
|
134
135
|
route: sRoute,
|
|
@@ -137,7 +138,7 @@ export const receiveChunkStream = (arr, start, len, isDeflate, ctx, server) => {
|
|
|
137
138
|
- current chunk #${seqId},
|
|
138
139
|
- previous chunk #${streamPayload.seqId}`,
|
|
139
140
|
});
|
|
140
|
-
console.log(
|
|
141
|
+
console.log('ERROR chunky');
|
|
141
142
|
streamPayload.stream.destroy();
|
|
142
143
|
delete ctx.session.streams[reqId];
|
|
143
144
|
// maybe return false... (something is wrong)
|
|
@@ -149,7 +150,7 @@ export const receiveChunkStream = (arr, start, len, isDeflate, ctx, server) => {
|
|
|
149
150
|
? arr.slice(infoLen + start, start + len)
|
|
150
151
|
: zlib.inflateRawSync(arr.slice(infoLen + start, start + len));
|
|
151
152
|
if (streamPayload.stream.paused) {
|
|
152
|
-
streamPayload.stream.once(
|
|
153
|
+
streamPayload.stream.once('resume', () => {
|
|
153
154
|
if (!ctx.session) {
|
|
154
155
|
streamPayload.stream.destroy();
|
|
155
156
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../src/incoming/ws/stream.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,UAAU,EACV,
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../src/incoming/ws/stream.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol.d.ts
CHANGED
|
@@ -4,22 +4,33 @@ export declare const decodeHeader: (nr: number) => {
|
|
|
4
4
|
isDeflate: boolean;
|
|
5
5
|
len: number;
|
|
6
6
|
};
|
|
7
|
-
export declare const
|
|
8
|
-
export declare const
|
|
9
|
-
export declare const
|
|
10
|
-
export declare const
|
|
11
|
-
export declare const
|
|
12
|
-
export declare const
|
|
7
|
+
export declare const CONTENT_TYPE_JSON_U8: Uint8Array<ArrayBuffer>;
|
|
8
|
+
export declare const CONTENT_TYPE_UINT8_ARRAY_U8: Uint8Array<ArrayBuffer>;
|
|
9
|
+
export declare const CONTENT_TYPE_STRING_U8: Uint8Array<ArrayBuffer>;
|
|
10
|
+
export declare const CONTENT_TYPE_UNDEFINED_U8: Uint8Array<ArrayBuffer>;
|
|
11
|
+
export declare const CONTENT_TYPE_NULL_U8: Uint8Array<ArrayBuffer>;
|
|
12
|
+
export declare const CONTENT_TYPE_VERSION_1_U8: Uint8Array<ArrayBuffer>;
|
|
13
|
+
export declare const cacheV2toV1: (buf: Uint8Array) => Uint8Array;
|
|
14
|
+
export declare const diffV2toV1: (buf: Uint8Array) => Uint8Array;
|
|
15
|
+
export type ValueBuffer = {
|
|
16
|
+
contentByte: Uint8Array;
|
|
17
|
+
buf: Uint8Array;
|
|
18
|
+
deflate: boolean;
|
|
19
|
+
};
|
|
20
|
+
export declare const valueToBufferV1: (payload: any, deflate: boolean) => ValueBuffer;
|
|
21
|
+
export declare const valueToBuffer: (payload: any, deflate: boolean) => ValueBuffer;
|
|
22
|
+
export declare const decodePayloadV1: (payload: Uint8Array, isDeflate: boolean) => any;
|
|
23
|
+
export declare const decodePayload: (payload: Uint8Array, isDeflate: boolean, isOldClient: boolean) => any;
|
|
13
24
|
export declare const decodeName: (arr: Uint8Array, start: number, end: number) => string;
|
|
14
|
-
export declare const encodeFunctionResponse: (id: number,
|
|
15
|
-
export declare const encodeStreamFunctionResponse: (id: number,
|
|
25
|
+
export declare const encodeFunctionResponse: (id: number, val: ValueBuffer) => Uint8Array;
|
|
26
|
+
export declare const encodeStreamFunctionResponse: (id: number, val: ValueBuffer) => Uint8Array;
|
|
16
27
|
export declare const encodeStreamFunctionChunkResponse: (id: number, seqId: number, code?: number, maxChunkSize?: number) => Uint8Array;
|
|
17
28
|
export declare const encodeGetResponse: (id: number) => Uint8Array;
|
|
18
29
|
export declare const updateId: (payload: Uint8Array, id: number) => Uint8Array;
|
|
19
|
-
export declare const encodeObservableResponse: (id: number, checksum: number,
|
|
20
|
-
export declare const encodeObservableDiffResponse: (id: number, checksum: number, previousChecksum: number,
|
|
21
|
-
export declare const encodeAuthResponse: (
|
|
22
|
-
export declare const encodeErrorResponse: (
|
|
23
|
-
export declare const encodeChannelMessage: (id: number,
|
|
30
|
+
export declare const encodeObservableResponse: (id: number, checksum: number, val: ValueBuffer) => [Uint8Array, boolean];
|
|
31
|
+
export declare const encodeObservableDiffResponse: (id: number, checksum: number, previousChecksum: number, val: ValueBuffer) => Uint8Array;
|
|
32
|
+
export declare const encodeAuthResponse: (val: ValueBuffer) => Uint8Array;
|
|
33
|
+
export declare const encodeErrorResponse: (val: ValueBuffer) => Uint8Array;
|
|
34
|
+
export declare const encodeChannelMessage: (id: number, val: ValueBuffer) => Uint8Array;
|
|
24
35
|
export declare const encodeReload: (type: number, seqId: number) => Uint8Array;
|
|
25
|
-
export declare const decode: (buffer: Uint8Array) => any;
|
|
36
|
+
export declare const decode: (buffer: Uint8Array, isOldClient: boolean) => any;
|