@based/client 4.8.10 → 5.0.0-alpha.2
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/{Emitter.d.ts → src/Emitter.d.ts} +1 -2
- package/dist/{Emitter.js → src/Emitter.js} +2 -4
- package/dist/src/Emitter.js.map +1 -0
- package/dist/{authState → src/authState}/parseAuthState.d.ts +1 -2
- package/dist/src/authState/parseAuthState.js +44 -0
- package/dist/src/authState/parseAuthState.js.map +1 -0
- package/dist/src/authState/updateAuthState.d.ts +3 -0
- package/dist/src/authState/updateAuthState.js +12 -0
- package/dist/src/authState/updateAuthState.js.map +1 -0
- package/dist/src/channel/cleanUp.d.ts +2 -0
- package/dist/{channel → src/channel}/cleanUp.js +3 -7
- package/dist/src/channel/cleanUp.js.map +1 -0
- package/dist/{channel → src/channel}/index.d.ts +2 -4
- package/dist/{channel → src/channel}/index.js +15 -15
- package/dist/src/channel/index.js.map +1 -0
- package/dist/{genObserveId.d.ts → src/genObserveId.d.ts} +0 -1
- package/dist/src/genObserveId.js +8 -0
- package/dist/src/genObserveId.js.map +1 -0
- package/dist/{getTargetInfo.d.ts → src/getTargetInfo.d.ts} +1 -2
- package/dist/{getTargetInfo.js → src/getTargetInfo.js} +1 -5
- package/dist/src/getTargetInfo.js.map +1 -0
- package/dist/{incoming → src/incoming}/index.d.ts +1 -2
- package/dist/{incoming → src/incoming}/index.js +73 -146
- package/dist/src/incoming/index.js.map +1 -0
- package/dist/{incoming → src/incoming}/protocol.d.ts +1 -2
- package/dist/{incoming → src/incoming}/protocol.js +8 -18
- package/dist/src/incoming/protocol.js.map +1 -0
- package/dist/{index.d.ts → src/index.d.ts} +27 -27
- package/dist/{index.js → src/index.js} +92 -103
- package/dist/src/index.js.map +1 -0
- package/dist/{index_original.d.ts → src/index_original.d.ts} +27 -27
- package/dist/{outgoing → src/outgoing}/index.d.ts +2 -3
- package/dist/src/outgoing/index.js +197 -0
- package/dist/src/outgoing/index.js.map +1 -0
- package/dist/{outgoing → src/outgoing}/protocol.d.ts +4 -6
- package/dist/{outgoing → src/outgoing}/protocol.js +22 -64
- package/dist/src/outgoing/protocol.js.map +1 -0
- package/dist/{persistentStorage/index.d.ts → src/persistentStorage/browser.d.ts} +4 -5
- package/dist/src/persistentStorage/browser.js +182 -0
- package/dist/src/persistentStorage/browser.js.map +1 -0
- package/dist/src/persistentStorage/constants.d.ts +4 -0
- package/dist/src/persistentStorage/constants.js +5 -0
- package/dist/src/persistentStorage/constants.js.map +1 -0
- package/dist/src/persistentStorage/index.d.ts +6 -0
- package/dist/src/persistentStorage/index.js +128 -0
- package/dist/src/persistentStorage/index.js.map +1 -0
- package/dist/src/persistentStorage/node.d.ts +1 -0
- package/dist/src/persistentStorage/node.js +109 -0
- package/dist/src/persistentStorage/node.js.map +1 -0
- package/dist/{query → src/query}/index.d.ts +2 -3
- package/dist/{query → src/query}/index.js +19 -18
- package/dist/src/query/index.js.map +1 -0
- package/dist/src/ssr.d.ts +6 -0
- package/dist/src/ssr.js +11 -0
- package/dist/src/ssr.js.map +1 -0
- package/dist/{stream/index.d.ts → src/stream/browser.d.ts} +2 -3
- package/dist/src/stream/browser.js +34 -0
- package/dist/src/stream/browser.js.map +1 -0
- package/dist/{stream → src/stream}/fetch.d.ts +2 -3
- package/dist/src/stream/fetch.js +34 -0
- package/dist/src/stream/fetch.js.map +1 -0
- package/dist/src/stream/index.d.ts +4 -0
- package/dist/src/stream/index.js +21 -0
- package/dist/src/stream/index.js.map +1 -0
- package/dist/{stream → src/stream}/nodeStream.d.ts +3 -4
- package/dist/{stream → src/stream}/nodeStream.js +23 -32
- package/dist/src/stream/nodeStream.js.map +1 -0
- package/dist/{stream → src/stream}/types.d.ts +3 -2
- package/dist/src/stream/types.js +18 -0
- package/dist/src/stream/types.js.map +1 -0
- package/dist/{stream → src/stream}/uploadFileBrowser.d.ts +2 -3
- package/dist/{stream → src/stream}/uploadFileBrowser.js +12 -18
- package/dist/src/stream/uploadFileBrowser.js.map +1 -0
- package/dist/{types → src/types}/auth.d.ts +0 -1
- package/dist/src/types/auth.js +2 -0
- package/dist/{types → src/types}/auth.js.map +1 -1
- package/dist/src/types/cache.d.ts +6 -0
- package/dist/src/types/cache.js +2 -0
- package/dist/{types → src/types}/cache.js.map +1 -1
- package/dist/{types → src/types}/channel.d.ts +1 -2
- package/dist/src/types/channel.js +2 -0
- package/dist/{types → src/types}/channel.js.map +1 -1
- package/dist/{types → src/types}/error.d.ts +1 -2
- package/dist/{types → src/types}/error.js +7 -10
- package/dist/src/types/error.js.map +1 -0
- package/dist/src/types/events.d.ts +9 -0
- package/dist/src/types/events.js +2 -0
- package/dist/{types → src/types}/events.js.map +1 -1
- package/dist/{types → src/types}/functions.d.ts +1 -2
- package/dist/src/types/functions.js +2 -0
- package/dist/{types → src/types}/functions.js.map +1 -1
- package/dist/{types → src/types}/generic.d.ts +0 -1
- package/dist/src/types/generic.js +2 -0
- package/dist/{types → src/types}/generic.js.map +1 -1
- package/dist/src/types/index.d.ts +8 -0
- package/dist/src/types/index.js +9 -0
- package/dist/src/types/index.js.map +1 -0
- package/dist/{types → src/types}/observe.d.ts +1 -2
- package/dist/src/types/observe.js +2 -0
- package/dist/{types → src/types}/observe.js.map +1 -1
- package/dist/{websocket → src/websocket}/index.d.ts +2 -3
- package/dist/{websocket → src/websocket}/index.js +9 -14
- package/dist/src/websocket/index.js.map +1 -0
- package/dist/{websocket → src/websocket}/types.d.ts +0 -1
- package/dist/src/websocket/types.js +6 -0
- package/dist/src/websocket/types.js.map +1 -0
- package/dist/{websocket → src/websocket}/urlLoader.d.ts +0 -1
- package/dist/src/websocket/urlLoader.js +11 -0
- package/dist/{websocket → src/websocket}/urlLoader.js.map +1 -1
- package/package.json +38 -28
- package/dist/Emitter.d.ts.map +0 -1
- package/dist/Emitter.js.map +0 -1
- package/dist/authState/parseAuthState.d.ts.map +0 -1
- package/dist/authState/parseAuthState.js +0 -51
- package/dist/authState/parseAuthState.js.map +0 -1
- package/dist/authState/updateAuthState.d.ts +0 -4
- package/dist/authState/updateAuthState.d.ts.map +0 -1
- package/dist/authState/updateAuthState.js +0 -15
- package/dist/authState/updateAuthState.js.map +0 -1
- package/dist/channel/cleanUp.d.ts +0 -3
- package/dist/channel/cleanUp.d.ts.map +0 -1
- package/dist/channel/cleanUp.js.map +0 -1
- package/dist/channel/index.d.ts.map +0 -1
- package/dist/channel/index.js.map +0 -1
- package/dist/genObserveId.d.ts.map +0 -1
- package/dist/genObserveId.js +0 -12
- package/dist/genObserveId.js.map +0 -1
- package/dist/getTargetInfo.d.ts.map +0 -1
- package/dist/getTargetInfo.js.map +0 -1
- package/dist/incoming/debug.d.ts +0 -10
- package/dist/incoming/debug.d.ts.map +0 -1
- package/dist/incoming/debug.js +0 -132
- package/dist/incoming/debug.js.map +0 -1
- package/dist/incoming/index.d.ts.map +0 -1
- package/dist/incoming/index.js.map +0 -1
- package/dist/incoming/protocol.d.ts.map +0 -1
- package/dist/incoming/protocol.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/outgoing/debug.d.ts +0 -9
- package/dist/outgoing/debug.d.ts.map +0 -1
- package/dist/outgoing/debug.js +0 -70
- package/dist/outgoing/debug.js.map +0 -1
- package/dist/outgoing/index.d.ts.map +0 -1
- package/dist/outgoing/index.js +0 -231
- package/dist/outgoing/index.js.map +0 -1
- package/dist/outgoing/protocol.d.ts.map +0 -1
- package/dist/outgoing/protocol.js.map +0 -1
- package/dist/persistentStorage/browser.d.ts +0 -6
- package/dist/persistentStorage/browser.d.ts.map +0 -1
- package/dist/persistentStorage/browser.js +0 -178
- package/dist/persistentStorage/browser.js.map +0 -1
- package/dist/persistentStorage/index.d.ts.map +0 -1
- package/dist/persistentStorage/index.js +0 -61
- package/dist/persistentStorage/index.js.map +0 -1
- package/dist/persistentStorage/node.d.ts +0 -7
- package/dist/persistentStorage/node.d.ts.map +0 -1
- package/dist/persistentStorage/node.js +0 -104
- package/dist/persistentStorage/node.js.map +0 -1
- package/dist/query/index.d.ts.map +0 -1
- package/dist/query/index.js.map +0 -1
- package/dist/stream/fetch.d.ts.map +0 -1
- package/dist/stream/fetch.js +0 -38
- package/dist/stream/fetch.js.map +0 -1
- package/dist/stream/index.d.ts.map +0 -1
- package/dist/stream/index.js +0 -65
- package/dist/stream/index.js.map +0 -1
- package/dist/stream/nodeStream.d.ts.map +0 -1
- package/dist/stream/nodeStream.js.map +0 -1
- package/dist/stream/types.d.ts.map +0 -1
- package/dist/stream/types.js +0 -8
- package/dist/stream/types.js.map +0 -1
- package/dist/stream/uploadFileBrowser.d.ts.map +0 -1
- package/dist/stream/uploadFileBrowser.js.map +0 -1
- package/dist/types/auth.d.ts.map +0 -1
- package/dist/types/auth.js +0 -3
- package/dist/types/cache.d.ts +0 -7
- package/dist/types/cache.d.ts.map +0 -1
- package/dist/types/cache.js +0 -3
- package/dist/types/channel.d.ts.map +0 -1
- package/dist/types/channel.js +0 -3
- package/dist/types/error.d.ts.map +0 -1
- package/dist/types/error.js.map +0 -1
- package/dist/types/events.d.ts +0 -35
- package/dist/types/events.d.ts.map +0 -1
- package/dist/types/events.js +0 -3
- package/dist/types/functions.d.ts.map +0 -1
- package/dist/types/functions.js +0 -3
- package/dist/types/generic.d.ts.map +0 -1
- package/dist/types/generic.js +0 -3
- package/dist/types/index.d.ts +0 -7
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -23
- package/dist/types/index.js.map +0 -1
- package/dist/types/observe.d.ts.map +0 -1
- package/dist/types/observe.js +0 -3
- package/dist/websocket/index.d.ts.map +0 -1
- package/dist/websocket/index.js.map +0 -1
- package/dist/websocket/types.d.ts.map +0 -1
- package/dist/websocket/types.js +0 -7
- package/dist/websocket/types.js.map +0 -1
- package/dist/websocket/urlLoader.d.ts.map +0 -1
- package/dist/websocket/urlLoader.js +0 -13
|
@@ -1,98 +1,66 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
1
|
+
import { inflateSync } from 'fflate';
|
|
2
|
+
import { applyPatch } from '@saulx/diff';
|
|
3
|
+
import { deepEqual } from '@saulx/utils';
|
|
4
|
+
import { updateAuthState } from '../authState/updateAuthState.js';
|
|
5
|
+
import { setStorage } from '../persistentStorage/index.js';
|
|
6
|
+
import { CACHE_PREFIX } from '../persistentStorage/constants.js';
|
|
7
|
+
import { parseArrayBuffer, decodeHeader, readUint8, requestFullData, } from './protocol.js';
|
|
8
|
+
import { encodeSubscribeChannelMessage } from '../outgoing/protocol.js';
|
|
9
|
+
import { getTargetInfo } from '../getTargetInfo.js';
|
|
10
|
+
import { convertDataToBasedError } from '../types/index.js';
|
|
11
|
+
const decodeAndDeflate = (start, end, isDeflate, buffer) => {
|
|
12
|
+
return new TextDecoder().decode(isDeflate ? inflateSync(buffer.slice(start, end)) : buffer.slice(start, end));
|
|
24
13
|
};
|
|
25
|
-
|
|
26
|
-
exports.incoming = void 0;
|
|
27
|
-
const fflate = __importStar(require("fflate"));
|
|
28
|
-
const diff_1 = require("@saulx/diff");
|
|
29
|
-
const error_1 = require("../types/error");
|
|
30
|
-
const utils_1 = require("@saulx/utils");
|
|
31
|
-
const updateAuthState_1 = require("../authState/updateAuthState");
|
|
32
|
-
const persistentStorage_1 = require("../persistentStorage");
|
|
33
|
-
const debug_1 = require("./debug");
|
|
34
|
-
const protocol_1 = require("./protocol");
|
|
35
|
-
const protocol_2 = require("../outgoing/protocol");
|
|
36
|
-
const getTargetInfo_1 = require("../getTargetInfo");
|
|
37
|
-
const incoming = async (client, data /* TODO: type */) => {
|
|
14
|
+
export const incoming = async (client, data) => {
|
|
38
15
|
if (client.isDestroyed) {
|
|
39
16
|
return;
|
|
40
17
|
}
|
|
41
|
-
const debug = client.listeners.debug;
|
|
42
18
|
try {
|
|
43
19
|
const d = data.data;
|
|
44
|
-
const buffer = await
|
|
45
|
-
const { type, len, isDeflate } =
|
|
20
|
+
const buffer = await parseArrayBuffer(d);
|
|
21
|
+
const { type, len, isDeflate } = decodeHeader(readUint8(buffer, 0, 4));
|
|
46
22
|
// reader for batched replies
|
|
47
23
|
// ------- Function
|
|
48
24
|
if (type === 0) {
|
|
49
25
|
// | 4 header | 3 id | * payload |
|
|
50
|
-
const id =
|
|
26
|
+
const id = readUint8(buffer, 4, 3);
|
|
51
27
|
const start = 7;
|
|
52
28
|
const end = len + 4;
|
|
53
29
|
let payload;
|
|
54
30
|
// if not empty response, parse it
|
|
55
31
|
if (len !== 3) {
|
|
56
|
-
payload = JSON.parse(
|
|
57
|
-
? fflate.inflateSync(buffer.slice(start, end))
|
|
58
|
-
: buffer.slice(start, end)));
|
|
32
|
+
payload = JSON.parse(decodeAndDeflate(start, end, isDeflate, buffer));
|
|
59
33
|
}
|
|
60
34
|
if (client.functionResponseListeners.has(id)) {
|
|
61
35
|
client.functionResponseListeners.get(id)[0](payload);
|
|
62
36
|
client.functionResponseListeners.delete(id);
|
|
63
37
|
}
|
|
64
|
-
if (debug) {
|
|
65
|
-
(0, debug_1.debugFunction)(client, payload, id);
|
|
66
|
-
}
|
|
67
38
|
}
|
|
68
39
|
// ------- Get checksum is up to date
|
|
69
40
|
else if (type === 3) {
|
|
70
41
|
// | 4 header | 8 id |
|
|
71
|
-
const id =
|
|
42
|
+
const id = readUint8(buffer, 4, 8);
|
|
72
43
|
if (client.getState.has(id) && client.cache.has(id)) {
|
|
73
44
|
const get = client.getState.get(id);
|
|
74
45
|
for (const [resolve] of get) {
|
|
75
|
-
resolve(client.cache.get(id).
|
|
46
|
+
resolve(client.cache.get(id).v);
|
|
76
47
|
}
|
|
77
48
|
client.getState.delete(id);
|
|
78
49
|
}
|
|
79
|
-
if (debug) {
|
|
80
|
-
(0, debug_1.debugGet)(client, id);
|
|
81
|
-
}
|
|
82
50
|
}
|
|
83
51
|
// ------- Subscription diff data
|
|
84
52
|
else if (type === 2) {
|
|
85
53
|
// | 4 header | 8 id | 8 checksum | 8 previousChecksum | * diff |
|
|
86
|
-
const id =
|
|
54
|
+
const id = readUint8(buffer, 4, 8);
|
|
87
55
|
const cachedData = client.cache.get(id);
|
|
88
56
|
if (!cachedData) {
|
|
89
|
-
|
|
57
|
+
requestFullData(client, id);
|
|
90
58
|
return;
|
|
91
59
|
}
|
|
92
|
-
const checksum =
|
|
93
|
-
const previousChecksum =
|
|
94
|
-
if (cachedData.
|
|
95
|
-
|
|
60
|
+
const checksum = readUint8(buffer, 12, 8);
|
|
61
|
+
const previousChecksum = readUint8(buffer, 20, 8);
|
|
62
|
+
if (cachedData.c !== previousChecksum) {
|
|
63
|
+
requestFullData(client, id);
|
|
96
64
|
return;
|
|
97
65
|
}
|
|
98
66
|
const start = 28;
|
|
@@ -100,72 +68,63 @@ const incoming = async (client, data /* TODO: type */) => {
|
|
|
100
68
|
let diff;
|
|
101
69
|
// if not empty response, parse it
|
|
102
70
|
if (len !== 24) {
|
|
103
|
-
diff = JSON.parse(
|
|
104
|
-
? fflate.inflateSync(buffer.slice(start, end))
|
|
105
|
-
: buffer.slice(start, end)));
|
|
71
|
+
diff = JSON.parse(decodeAndDeflate(start, end, isDeflate, buffer));
|
|
106
72
|
}
|
|
107
73
|
try {
|
|
108
|
-
cachedData.
|
|
109
|
-
cachedData.
|
|
74
|
+
cachedData.v = applyPatch(cachedData.v, diff);
|
|
75
|
+
cachedData.c = checksum;
|
|
110
76
|
}
|
|
111
77
|
catch (err) {
|
|
112
|
-
|
|
113
|
-
(0, debug_1.debugDiff)(client, diff, id, checksum, true);
|
|
114
|
-
}
|
|
115
|
-
(0, protocol_1.requestFullData)(client, id);
|
|
78
|
+
requestFullData(client, id);
|
|
116
79
|
return;
|
|
117
80
|
}
|
|
118
81
|
if (client.observeState.has(id)) {
|
|
119
82
|
const observable = client.observeState.get(id);
|
|
120
83
|
if (observable.persistent) {
|
|
121
|
-
cachedData.
|
|
122
|
-
|
|
84
|
+
cachedData.p = true;
|
|
85
|
+
setStorage(client, CACHE_PREFIX + id, cachedData);
|
|
123
86
|
}
|
|
124
87
|
for (const [, handlers] of observable.subscribers) {
|
|
125
|
-
handlers.onData(cachedData.
|
|
88
|
+
handlers.onData(cachedData.v, checksum);
|
|
126
89
|
}
|
|
127
90
|
}
|
|
128
91
|
if (client.getState.has(id)) {
|
|
129
92
|
const get = client.getState.get(id);
|
|
130
93
|
for (const [resolve] of get) {
|
|
131
|
-
resolve(cachedData.
|
|
94
|
+
resolve(cachedData.v);
|
|
132
95
|
}
|
|
133
96
|
client.getState.delete(id);
|
|
134
97
|
}
|
|
135
|
-
if (debug) {
|
|
136
|
-
(0, debug_1.debugDiff)(client, diff, id, checksum);
|
|
137
|
-
}
|
|
138
98
|
}
|
|
139
99
|
// ------- Subscription data
|
|
140
100
|
else if (type === 1) {
|
|
141
101
|
// | 4 header | 8 id | 8 checksum | * payload |
|
|
142
|
-
const id =
|
|
143
|
-
const checksum =
|
|
102
|
+
const id = readUint8(buffer, 4, 8);
|
|
103
|
+
const checksum = readUint8(buffer, 12, 8);
|
|
144
104
|
const start = 20;
|
|
145
105
|
const end = len + 4;
|
|
146
106
|
let payload;
|
|
147
107
|
// If not empty response, parse it
|
|
148
108
|
if (len !== 16) {
|
|
149
|
-
payload = JSON.parse(
|
|
150
|
-
? fflate.inflateSync(buffer.slice(start, end))
|
|
151
|
-
: buffer.slice(start, end)));
|
|
109
|
+
payload = JSON.parse(decodeAndDeflate(start, end, isDeflate, buffer));
|
|
152
110
|
}
|
|
153
|
-
const
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
111
|
+
const noChange = client.cache.get(id)?.c === checksum;
|
|
112
|
+
if (!noChange) {
|
|
113
|
+
const cacheData = {
|
|
114
|
+
v: payload,
|
|
115
|
+
c: checksum,
|
|
116
|
+
};
|
|
117
|
+
client.cache.set(id, cacheData);
|
|
118
|
+
if (client.observeState.has(id)) {
|
|
119
|
+
const observable = client.observeState.get(id);
|
|
120
|
+
if (observable.persistent) {
|
|
121
|
+
cacheData.p = true;
|
|
122
|
+
setStorage(client, CACHE_PREFIX + id, cacheData);
|
|
123
|
+
}
|
|
124
|
+
for (const [, handlers] of observable.subscribers) {
|
|
125
|
+
handlers.onData(payload, checksum);
|
|
126
|
+
}
|
|
167
127
|
}
|
|
168
|
-
found = true;
|
|
169
128
|
}
|
|
170
129
|
if (client.getState.has(id)) {
|
|
171
130
|
const get = client.getState.get(id);
|
|
@@ -173,10 +132,6 @@ const incoming = async (client, data /* TODO: type */) => {
|
|
|
173
132
|
resolve(payload);
|
|
174
133
|
}
|
|
175
134
|
client.getState.delete(id);
|
|
176
|
-
found = true;
|
|
177
|
-
}
|
|
178
|
-
if (debug) {
|
|
179
|
-
(0, debug_1.debugSubscribe)(client, id, payload, checksum, found);
|
|
180
135
|
}
|
|
181
136
|
}
|
|
182
137
|
// ------- AuthState
|
|
@@ -187,32 +142,27 @@ const incoming = async (client, data /* TODO: type */) => {
|
|
|
187
142
|
let payload;
|
|
188
143
|
// if not empty response, parse it
|
|
189
144
|
if (len !== 3) {
|
|
190
|
-
payload = JSON.parse(
|
|
191
|
-
? fflate.inflateSync(buffer.slice(start, end))
|
|
192
|
-
: buffer.slice(start, end)));
|
|
145
|
+
payload = JSON.parse(decodeAndDeflate(start, end, isDeflate, buffer));
|
|
193
146
|
}
|
|
194
147
|
if (payload === true) {
|
|
195
148
|
client.authRequest.resolve?.(client.authState);
|
|
196
149
|
}
|
|
197
150
|
else if ('error' in payload) {
|
|
198
151
|
// make a function updateAuthState
|
|
199
|
-
|
|
152
|
+
updateAuthState(client, payload);
|
|
200
153
|
client.emit('authstate-change', client.authState);
|
|
201
154
|
client.authRequest.reject?.(new Error(payload.error));
|
|
202
155
|
}
|
|
203
156
|
else {
|
|
204
|
-
if (!
|
|
205
|
-
|
|
157
|
+
if (!deepEqual(client.authState, payload)) {
|
|
158
|
+
updateAuthState(client, payload);
|
|
206
159
|
client.emit('authstate-change', client.authState);
|
|
207
160
|
}
|
|
208
161
|
else {
|
|
209
|
-
|
|
162
|
+
updateAuthState(client, payload);
|
|
210
163
|
}
|
|
211
164
|
client.authRequest?.resolve?.(client.authState);
|
|
212
165
|
}
|
|
213
|
-
if (debug) {
|
|
214
|
-
(0, debug_1.debugAuth)(client, payload);
|
|
215
|
-
}
|
|
216
166
|
}
|
|
217
167
|
// ------- Errors
|
|
218
168
|
else if (type === 5) {
|
|
@@ -222,27 +172,25 @@ const incoming = async (client, data /* TODO: type */) => {
|
|
|
222
172
|
let payload;
|
|
223
173
|
// if not empty response, parse it
|
|
224
174
|
if (len !== 3) {
|
|
225
|
-
payload = JSON.parse(
|
|
226
|
-
? fflate.inflateSync(buffer.slice(start, end))
|
|
227
|
-
: buffer.slice(start, end)));
|
|
175
|
+
payload = JSON.parse(decodeAndDeflate(start, end, isDeflate, buffer));
|
|
228
176
|
}
|
|
229
177
|
if (payload.requestId) {
|
|
230
178
|
if (client.functionResponseListeners.has(payload.requestId)) {
|
|
231
179
|
const [, reject, stack] = client.functionResponseListeners.get(payload.requestId);
|
|
232
|
-
reject(
|
|
180
|
+
reject(convertDataToBasedError(payload, stack));
|
|
233
181
|
client.functionResponseListeners.delete(payload.requestId);
|
|
234
182
|
}
|
|
235
183
|
}
|
|
236
184
|
if (payload.channelId) {
|
|
237
185
|
if (client.channelState.has(payload.channelId)) {
|
|
238
|
-
const error =
|
|
186
|
+
const error = convertDataToBasedError(payload);
|
|
239
187
|
const channel = client.channelState.get(payload.channelId);
|
|
240
188
|
for (const [, handlers] of channel.subscribers) {
|
|
241
189
|
if (handlers.onError) {
|
|
242
190
|
handlers.onError(error);
|
|
243
191
|
}
|
|
244
192
|
else {
|
|
245
|
-
console.error(
|
|
193
|
+
console.error(getTargetInfo(client, payload.channelId, 'channel'), error);
|
|
246
194
|
}
|
|
247
195
|
}
|
|
248
196
|
}
|
|
@@ -250,19 +198,19 @@ const incoming = async (client, data /* TODO: type */) => {
|
|
|
250
198
|
if (payload.observableId) {
|
|
251
199
|
client.cache.delete(payload.observableId);
|
|
252
200
|
if (client.observeState.has(payload.observableId)) {
|
|
253
|
-
const error =
|
|
201
|
+
const error = convertDataToBasedError(payload);
|
|
254
202
|
const observable = client.observeState.get(payload.observableId);
|
|
255
203
|
for (const [, handlers] of observable.subscribers) {
|
|
256
204
|
if (handlers.onError) {
|
|
257
205
|
handlers.onError(error);
|
|
258
206
|
}
|
|
259
207
|
else {
|
|
260
|
-
console.error(
|
|
208
|
+
console.error(getTargetInfo(client, payload.observableId, 'sub'), error);
|
|
261
209
|
}
|
|
262
210
|
}
|
|
263
211
|
}
|
|
264
212
|
if (client.getState.has(payload.observableId)) {
|
|
265
|
-
const error =
|
|
213
|
+
const error = convertDataToBasedError(payload);
|
|
266
214
|
const get = client.getState.get(payload.observableId);
|
|
267
215
|
for (const [, reject] of get) {
|
|
268
216
|
// also add stack
|
|
@@ -271,25 +219,16 @@ const incoming = async (client, data /* TODO: type */) => {
|
|
|
271
219
|
client.getState.delete(payload.observableId);
|
|
272
220
|
}
|
|
273
221
|
}
|
|
274
|
-
if (debug) {
|
|
275
|
-
(0, debug_1.debugError)(client, payload);
|
|
276
|
-
}
|
|
277
|
-
// else emit ERROR maybe?
|
|
278
222
|
} // ------- Re-Publish send channel name + payload
|
|
279
223
|
else if (type === 6) {
|
|
280
224
|
// | 4 header | 8 id | * payload |
|
|
281
225
|
// get id add last send on the state
|
|
282
|
-
const id =
|
|
226
|
+
const id = readUint8(buffer, 4, 8);
|
|
283
227
|
const channel = client.channelState.get(id);
|
|
284
|
-
if (
|
|
285
|
-
if (debug) {
|
|
286
|
-
(0, debug_1.debugChannelReqId)(client, id, 'not-found');
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
else {
|
|
228
|
+
if (id) {
|
|
290
229
|
if (!channel.inTransit) {
|
|
291
230
|
channel.inTransit = true;
|
|
292
|
-
const { buffers, len } =
|
|
231
|
+
const { buffers, len } = encodeSubscribeChannelMessage(id, [
|
|
293
232
|
6,
|
|
294
233
|
channel.name,
|
|
295
234
|
channel.payload,
|
|
@@ -310,30 +249,22 @@ const incoming = async (client, data /* TODO: type */) => {
|
|
|
310
249
|
channel.inTransit = false;
|
|
311
250
|
}
|
|
312
251
|
}, 5e3);
|
|
313
|
-
if (debug) {
|
|
314
|
-
(0, debug_1.debugChannelReqId)(client, id, 'register');
|
|
315
|
-
}
|
|
316
252
|
}
|
|
317
253
|
client.connection.ws.send(buffer);
|
|
318
|
-
if (debug) {
|
|
319
|
-
(0, debug_1.debugChannelReqId)(client, id, 'publish', buffer, isDeflate);
|
|
320
|
-
}
|
|
321
254
|
}
|
|
322
255
|
} // ----------- Channel message
|
|
323
256
|
else if (type === 7) {
|
|
324
257
|
// | 4 header | 1 subType |
|
|
325
|
-
const subType =
|
|
258
|
+
const subType = readUint8(buffer, 4, 1);
|
|
326
259
|
if (subType === 0) {
|
|
327
260
|
// | 4 header | 1 subType | 8 id | * payload |
|
|
328
|
-
const id =
|
|
261
|
+
const id = readUint8(buffer, 5, 8);
|
|
329
262
|
const start = 13;
|
|
330
263
|
const end = len + 5;
|
|
331
264
|
let payload;
|
|
332
265
|
// if not empty response, parse it
|
|
333
266
|
if (len !== 9) {
|
|
334
|
-
const r =
|
|
335
|
-
? fflate.inflateSync(buffer.slice(start, end))
|
|
336
|
-
: buffer.slice(start, end));
|
|
267
|
+
const r = decodeAndDeflate(start, end, isDeflate, buffer);
|
|
337
268
|
try {
|
|
338
269
|
payload = JSON.parse(r);
|
|
339
270
|
}
|
|
@@ -341,24 +272,20 @@ const incoming = async (client, data /* TODO: type */) => {
|
|
|
341
272
|
payload = r;
|
|
342
273
|
}
|
|
343
274
|
}
|
|
344
|
-
let found = false;
|
|
345
275
|
if (client.channelState.has(id)) {
|
|
346
276
|
const observable = client.channelState.get(id);
|
|
347
277
|
for (const [, handlers] of observable.subscribers) {
|
|
348
278
|
handlers.onMessage(payload);
|
|
349
279
|
}
|
|
350
|
-
found = true;
|
|
351
|
-
}
|
|
352
|
-
if (debug) {
|
|
353
|
-
(0, debug_1.debugChannel)(client, id, payload, found);
|
|
354
280
|
}
|
|
355
281
|
}
|
|
356
282
|
}
|
|
357
283
|
// ---------------------------------
|
|
358
284
|
}
|
|
359
285
|
catch (err) {
|
|
360
|
-
|
|
286
|
+
// just code can load error codes as well
|
|
287
|
+
// 981 - cannot parse data
|
|
288
|
+
console.error(981, err);
|
|
361
289
|
}
|
|
362
290
|
};
|
|
363
|
-
exports.incoming = incoming;
|
|
364
291
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/incoming/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BasedClient } from '
|
|
1
|
+
import { BasedClient } from '../index.js';
|
|
2
2
|
export declare const decodeHeader: (nr: number) => {
|
|
3
3
|
type: number;
|
|
4
4
|
isDeflate: boolean;
|
|
@@ -7,4 +7,3 @@ export declare const decodeHeader: (nr: number) => {
|
|
|
7
7
|
export declare const readUint8: (buff: Uint8Array, start: number, len: number) => number;
|
|
8
8
|
export declare const parseArrayBuffer: (d: any) => Promise<Uint8Array>;
|
|
9
9
|
export declare const requestFullData: (client: BasedClient, id: number) => void;
|
|
10
|
-
//# sourceMappingURL=protocol.d.ts.map
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.requestFullData = exports.parseArrayBuffer = exports.readUint8 = exports.decodeHeader = void 0;
|
|
4
|
-
const outgoing_1 = require("../outgoing");
|
|
5
|
-
const decodeHeader = (nr) => {
|
|
1
|
+
import { addGetToQueue } from '../outgoing/index.js';
|
|
2
|
+
export const decodeHeader = (nr) => {
|
|
6
3
|
// 4 bytes
|
|
7
4
|
// type (3 bits)
|
|
8
5
|
// 0 = functionData
|
|
@@ -25,8 +22,7 @@ const decodeHeader = (nr) => {
|
|
|
25
22
|
len,
|
|
26
23
|
};
|
|
27
24
|
};
|
|
28
|
-
|
|
29
|
-
const readUint8 = (buff, start, len) => {
|
|
25
|
+
export const readUint8 = (buff, start, len) => {
|
|
30
26
|
let n = 0;
|
|
31
27
|
const s = len - 1 + start;
|
|
32
28
|
for (let i = s; i >= start; i--) {
|
|
@@ -34,12 +30,12 @@ const readUint8 = (buff, start, len) => {
|
|
|
34
30
|
}
|
|
35
31
|
return n;
|
|
36
32
|
};
|
|
37
|
-
|
|
38
|
-
const parseArrayBuffer = async (d) => {
|
|
33
|
+
export const parseArrayBuffer = async (d) => {
|
|
39
34
|
// needed for CF workers which return array buffers
|
|
40
35
|
if (d instanceof ArrayBuffer) {
|
|
41
36
|
return new Uint8Array(d);
|
|
42
37
|
}
|
|
38
|
+
// can make this in browser / node build
|
|
43
39
|
if (typeof window === 'undefined') {
|
|
44
40
|
if (d instanceof Buffer) {
|
|
45
41
|
return new Uint8Array(d);
|
|
@@ -51,16 +47,10 @@ const parseArrayBuffer = async (d) => {
|
|
|
51
47
|
return new Uint8Array(buffer);
|
|
52
48
|
}
|
|
53
49
|
}
|
|
54
|
-
throw new Error('
|
|
50
|
+
throw new Error('432');
|
|
55
51
|
};
|
|
56
|
-
|
|
57
|
-
const requestFullData = (client, id) => {
|
|
52
|
+
export const requestFullData = (client, id) => {
|
|
58
53
|
const sub = client.observeState.get(id);
|
|
59
|
-
|
|
60
|
-
console.warn(`Cannot find query function name for id from diff [id]`);
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
(0, outgoing_1.addGetToQueue)(client, sub.name, id, sub.payload);
|
|
54
|
+
addGetToQueue(client, sub.name, id, sub.payload);
|
|
64
55
|
};
|
|
65
|
-
exports.requestFullData = requestFullData;
|
|
66
56
|
//# sourceMappingURL=protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/incoming/protocol.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,EAAU,EACyC,EAAE;IACrD,UAAU;IACV,gBAAgB;IAChB,qBAAqB;IACrB,yBAAyB;IACzB,6BAA6B;IAC7B,YAAY;IACZ,iBAAiB;IACjB,8DAA8D;IAC9D,kCAAkC;IAClC,yBAAyB;IACzB,oBAAoB;IACpB,gBAAgB;IAChB,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,CAAA;IACnB,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,CAAA;IACpB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAA;IACtB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAA;IAC1B,OAAO;QACL,IAAI;QACJ,SAAS,EAAE,SAAS,KAAK,CAAC;QAC1B,GAAG;KACJ,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,IAAgB,EAChB,KAAa,EACb,GAAW,EACH,EAAE;IACV,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAA;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,EAAE;QAC/B,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;KACtB;IACD,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,CAAM,EAAuB,EAAE;IACpE,mDAAmD;IACnD,IAAI,CAAC,YAAY,WAAW,EAAE;QAC5B,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;KACzB;IAED,wCAAwC;IACxC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,IAAI,CAAC,YAAY,MAAM,EAAE;YACvB,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;SACzB;KACF;SAAM;QACL,IAAI,CAAC,YAAY,IAAI,EAAE;YACrB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;YACpC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;SAC9B;KACF;IACD,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAA;AACxB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAmB,EAAE,EAAU,EAAE,EAAE;IACjE,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACvC,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;AAClD,CAAC,CAAA"}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
import { BasedOpts, AuthState, FunctionResponseListeners, Settings, FunctionQueue, ObserveState, ObserveQueue, Cache, GetObserveQueue } from './types';
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
import { CallOptions, QueryOptions } from './types';
|
|
10
|
-
export * from './authState/parseAuthState';
|
|
11
|
-
export * from './types/error';
|
|
1
|
+
import { BasedOpts, AuthState, FunctionResponseListeners, Settings, FunctionQueue, ObserveState, ObserveQueue, Cache, GetObserveQueue, GetState, ChannelQueue, ChannelPublishQueue, ChannelState, CallOptions, QueryOptions } from './types/index.js';
|
|
2
|
+
import { Connection } from './websocket/types.js';
|
|
3
|
+
import Emitter from './Emitter.js';
|
|
4
|
+
import { BasedQuery } from './query/index.js';
|
|
5
|
+
import { StreamFunctionOpts } from './stream/types.js';
|
|
6
|
+
import { BasedChannel } from './channel/index.js';
|
|
7
|
+
export * from './authState/parseAuthState.js';
|
|
8
|
+
export * from './types/error.js';
|
|
12
9
|
export { AuthState, BasedQuery };
|
|
13
10
|
export declare class BasedClient extends Emitter {
|
|
14
11
|
constructor(opts?: BasedOpts, settings?: Settings);
|
|
@@ -17,10 +14,10 @@ export declare class BasedClient extends Emitter {
|
|
|
17
14
|
storageEnvKey: number;
|
|
18
15
|
storagePath?: string;
|
|
19
16
|
storageBeingWritten?: ReturnType<typeof setTimeout>;
|
|
20
|
-
opts
|
|
17
|
+
opts?: BasedOpts;
|
|
21
18
|
connected: boolean;
|
|
22
|
-
connection
|
|
23
|
-
url
|
|
19
|
+
connection?: Connection;
|
|
20
|
+
url?: () => Promise<string>;
|
|
24
21
|
outgoingStreams: Map<string, {
|
|
25
22
|
stream: any;
|
|
26
23
|
resolve: (result: any) => void;
|
|
@@ -28,30 +25,30 @@ export declare class BasedClient extends Emitter {
|
|
|
28
25
|
}[]>;
|
|
29
26
|
isDrainingStreams: boolean;
|
|
30
27
|
maxPublishQueue: number;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
28
|
+
pQ: ChannelPublishQueue;
|
|
29
|
+
fQ: FunctionQueue;
|
|
30
|
+
oQ: ObserveQueue;
|
|
31
|
+
cQ: ChannelQueue;
|
|
32
|
+
gQ: GetObserveQueue;
|
|
36
33
|
drainInProgress: boolean;
|
|
37
|
-
drainTimeout
|
|
38
|
-
idlePing
|
|
34
|
+
drainTimeout?: ReturnType<typeof setTimeout>;
|
|
35
|
+
idlePing?: ReturnType<typeof setTimeout>;
|
|
39
36
|
localStorage: boolean;
|
|
40
37
|
maxCacheSize: number;
|
|
41
38
|
cache: Cache;
|
|
42
39
|
functionResponseListeners: FunctionResponseListeners;
|
|
43
40
|
requestId: number;
|
|
44
41
|
channelState: ChannelState;
|
|
45
|
-
channelCleanTimeout?: ReturnType<typeof setTimeout
|
|
42
|
+
channelCleanTimeout?: ReturnType<typeof setTimeout> | null;
|
|
46
43
|
channelCleanupCycle: number;
|
|
47
44
|
observeState: ObserveState;
|
|
48
45
|
getState: GetState;
|
|
49
46
|
authState: AuthState;
|
|
50
47
|
authRequest: {
|
|
51
|
-
authState: AuthState;
|
|
52
|
-
promise: Promise<AuthState
|
|
53
|
-
resolve: (result: AuthState) => void;
|
|
54
|
-
reject: (err: Error) => void;
|
|
48
|
+
authState: AuthState | null;
|
|
49
|
+
promise: Promise<AuthState> | null;
|
|
50
|
+
resolve: ((result: AuthState) => void) | null;
|
|
51
|
+
reject: ((err: Error) => void) | null;
|
|
55
52
|
inProgress: boolean;
|
|
56
53
|
};
|
|
57
54
|
onClose(): void;
|
|
@@ -200,9 +197,12 @@ export { BasedOpts };
|
|
|
200
197
|
*/
|
|
201
198
|
export default function based(opts: BasedOpts, settings?: Settings): BasedClient;
|
|
202
199
|
export type QueryMap = {
|
|
200
|
+
db: {
|
|
201
|
+
payload: any;
|
|
202
|
+
result: any;
|
|
203
|
+
};
|
|
203
204
|
[key: string]: {
|
|
204
205
|
payload: any;
|
|
205
206
|
result: any;
|
|
206
207
|
};
|
|
207
208
|
};
|
|
208
|
-
//# sourceMappingURL=index.d.ts.map
|