@based/server 9.2.7 → 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.
Files changed (74) hide show
  1. package/dist/auth/index.js +1 -1
  2. package/dist/auth/index.js.map +1 -1
  3. package/dist/channel/destroy.js +3 -1
  4. package/dist/channel/destroy.js.map +1 -1
  5. package/dist/channel/start.js +10 -3
  6. package/dist/channel/start.js.map +1 -1
  7. package/dist/channel/subscribe.js +13 -1
  8. package/dist/channel/subscribe.js.map +1 -1
  9. package/dist/channel/types.d.ts +1 -0
  10. package/dist/channel/types.js.map +1 -1
  11. package/dist/channel/unsub.js +24 -3
  12. package/dist/channel/unsub.js.map +1 -1
  13. package/dist/functions/index.d.ts +1 -1
  14. package/dist/functions/index.js +50 -20
  15. package/dist/functions/index.js.map +1 -1
  16. package/dist/incoming/http/fakeWs/function.js +8 -6
  17. package/dist/incoming/http/fakeWs/function.js.map +1 -1
  18. package/dist/incoming/http/fakeWs/handleBinary.js +4 -3
  19. package/dist/incoming/http/fakeWs/handleBinary.js.map +1 -1
  20. package/dist/incoming/http/fakeWs/query.js +6 -5
  21. package/dist/incoming/http/fakeWs/query.js.map +1 -1
  22. package/dist/incoming/http/handleRequest.js.map +1 -1
  23. package/dist/incoming/http/index.js +2 -0
  24. package/dist/incoming/http/index.js.map +1 -1
  25. package/dist/incoming/http/pathMatcher.d.ts +1 -1
  26. package/dist/incoming/http/pathMatcher.js +16 -1
  27. package/dist/incoming/http/pathMatcher.js.map +1 -1
  28. package/dist/incoming/http/payloadParser.d.ts +1 -1
  29. package/dist/incoming/http/payloadParser.js +1 -0
  30. package/dist/incoming/http/payloadParser.js.map +1 -1
  31. package/dist/incoming/http/query.js +3 -2
  32. package/dist/incoming/http/query.js.map +1 -1
  33. package/dist/incoming/upgrade.js +1 -0
  34. package/dist/incoming/upgrade.js.map +1 -1
  35. package/dist/incoming/ws/auth.js +4 -6
  36. package/dist/incoming/ws/auth.js.map +1 -1
  37. package/dist/incoming/ws/channelPublish.js +4 -3
  38. package/dist/incoming/ws/channelPublish.js.map +1 -1
  39. package/dist/incoming/ws/channelSubscribe.js +6 -5
  40. package/dist/incoming/ws/channelSubscribe.js.map +1 -1
  41. package/dist/incoming/ws/function.js +8 -5
  42. package/dist/incoming/ws/function.js.map +1 -1
  43. package/dist/incoming/ws/get.js +8 -7
  44. package/dist/incoming/ws/get.js.map +1 -1
  45. package/dist/incoming/ws/index.d.ts +2 -2
  46. package/dist/incoming/ws/index.js +14 -12
  47. package/dist/incoming/ws/index.js.map +1 -1
  48. package/dist/incoming/ws/query.js +6 -5
  49. package/dist/incoming/ws/query.js.map +1 -1
  50. package/dist/incoming/ws/stream.d.ts +1 -1
  51. package/dist/incoming/ws/stream.js +29 -28
  52. package/dist/incoming/ws/stream.js.map +1 -1
  53. package/dist/protocol.d.ts +25 -14
  54. package/dist/protocol.js +312 -158
  55. package/dist/protocol.js.map +1 -1
  56. package/dist/query/destroy.js +2 -1
  57. package/dist/query/destroy.js.map +1 -1
  58. package/dist/query/send.d.ts +1 -1
  59. package/dist/query/send.js +29 -7
  60. package/dist/query/send.js.map +1 -1
  61. package/dist/query/start/error.js +4 -1
  62. package/dist/query/start/error.js.map +1 -1
  63. package/dist/query/start/update.js +22 -4
  64. package/dist/query/start/update.js.map +1 -1
  65. package/dist/query/subscribe.js +15 -5
  66. package/dist/query/subscribe.js.map +1 -1
  67. package/dist/query/types.d.ts +1 -0
  68. package/dist/query/unsub.js +32 -8
  69. package/dist/query/unsub.js.map +1 -1
  70. package/dist/sendError.js +4 -4
  71. package/dist/sendError.js.map +1 -1
  72. package/dist/sendHttpResponse.js +6 -2
  73. package/dist/sendHttpResponse.js.map +1 -1
  74. package/package.json +2 -2
package/dist/protocol.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import zlib from 'node:zlib';
2
- const textDecoder = new TextDecoder();
2
+ import { DECODER, ENCODER, writeUint32, writeUint24, writeUint64, readUint32, } from '@saulx/utils';
3
3
  export const COMPRESS_FROM_BYTES = 150;
4
4
  export const decodeHeader = (nr) => {
5
5
  // 4 bytes
@@ -24,22 +24,8 @@ export const decodeHeader = (nr) => {
24
24
  len,
25
25
  };
26
26
  };
27
- export const storeUint8 = (buff, n, start, len) => {
28
- for (let index = start; index < start + len; index++) {
29
- const byte = n & 0xff;
30
- buff[index] = byte;
31
- n = (n - byte) / 256;
32
- }
33
- };
34
- export const readUint8 = (buff, start, len) => {
35
- let n = 0;
36
- const s = len - 1 + start;
37
- for (let i = s; i >= start; i--) {
38
- n = n * 256 + buff[i];
39
- }
40
- return n;
41
- };
42
- export const encodeHeader = (type, isDeflate, len) => {
27
+ // add buffer
28
+ const encodeHeader = (type, isDeflate, len, buffer, offset) => {
43
29
  // 4 bytes
44
30
  // type (3 bits)
45
31
  // 0 = functionData
@@ -54,100 +40,232 @@ export const encodeHeader = (type, isDeflate, len) => {
54
40
  // len (28 bits)
55
41
  const encodedMeta = (type << 1) + (Number(isDeflate) | 0);
56
42
  const nr = (len << 4) + encodedMeta;
57
- return nr;
43
+ writeUint32(buffer, nr, offset);
58
44
  };
59
- export const valueToBuffer = (payload) => {
60
- // can use a more elloborate typed response e.g. number etc in there
45
+ export const CONTENT_TYPE_JSON_U8 = new Uint8Array([255]);
46
+ export const CONTENT_TYPE_UINT8_ARRAY_U8 = new Uint8Array([254]);
47
+ export const CONTENT_TYPE_STRING_U8 = new Uint8Array([253]);
48
+ export const CONTENT_TYPE_UNDEFINED_U8 = new Uint8Array([252]);
49
+ export const CONTENT_TYPE_NULL_U8 = new Uint8Array([251]);
50
+ export const CONTENT_TYPE_VERSION_1_U8 = new Uint8Array([250]);
51
+ const EMPTY_BUFFER = new Uint8Array([]);
52
+ export const cacheV2toV1 = (buf) => {
53
+ // 12 + 8
54
+ const n = new Uint8Array(buf.byteLength - 1);
55
+ n.set(buf.subarray(0, 20), 0);
56
+ n.set(buf.subarray(21), 20);
57
+ return n;
58
+ };
59
+ export const diffV2toV1 = (buf) => {
60
+ // totally wrong...
61
+ // 12 + 16
62
+ const n = new Uint8Array(buf.byteLength - 1);
63
+ n.set(buf.subarray(0, 28), 0);
64
+ n.set(buf.subarray(29), 28);
65
+ return n;
66
+ };
67
+ export const valueToBufferV1 = (payload, deflate) => {
68
+ let buf;
61
69
  if (payload === undefined) {
62
- return Buffer.from([]);
70
+ buf = Buffer.from([]);
71
+ }
72
+ else {
73
+ buf = Buffer.from(JSON.stringify(payload));
63
74
  }
64
- // TODO: only stringify if not string...
65
- return Buffer.from(JSON.stringify(payload));
75
+ if (deflate && buf.byteLength > COMPRESS_FROM_BYTES) {
76
+ return {
77
+ contentByte: CONTENT_TYPE_VERSION_1_U8,
78
+ buf: zlib.deflateRawSync(buf, {}),
79
+ deflate: true,
80
+ };
81
+ }
82
+ return {
83
+ contentByte: CONTENT_TYPE_VERSION_1_U8,
84
+ buf,
85
+ deflate: false,
86
+ };
66
87
  };
67
- export const decodePayload = (payload, isDeflate) => {
68
- if (!isDeflate) {
69
- return textDecoder.decode(payload);
88
+ // pass buffer and offset
89
+ export const valueToBuffer = (payload, deflate) => {
90
+ if (payload === undefined) {
91
+ return {
92
+ contentByte: CONTENT_TYPE_UNDEFINED_U8,
93
+ deflate: false,
94
+ buf: EMPTY_BUFFER,
95
+ };
70
96
  }
71
- try {
72
- const buffer = zlib.inflateRawSync(payload);
73
- return textDecoder.decode(buffer);
97
+ if (payload === null) {
98
+ return {
99
+ contentByte: CONTENT_TYPE_NULL_U8,
100
+ deflate: false,
101
+ buf: EMPTY_BUFFER,
102
+ };
74
103
  }
75
- catch (err) {
76
- console.error('Error deflating payload', err);
104
+ if (typeof payload === 'string') {
105
+ const buf = ENCODER.encode(payload);
106
+ if (deflate && buf.byteLength > COMPRESS_FROM_BYTES) {
107
+ return {
108
+ contentByte: CONTENT_TYPE_STRING_U8,
109
+ buf: zlib.deflateRawSync(buf, {}),
110
+ deflate: true,
111
+ };
112
+ }
113
+ return {
114
+ contentByte: CONTENT_TYPE_STRING_U8,
115
+ buf,
116
+ deflate: false,
117
+ };
118
+ }
119
+ // mark as based db query object
120
+ if (payload instanceof Uint8Array) {
121
+ return {
122
+ contentByte: CONTENT_TYPE_UINT8_ARRAY_U8,
123
+ buf: payload,
124
+ deflate: false,
125
+ };
77
126
  }
127
+ const buf = ENCODER.encode(JSON.stringify(payload));
128
+ if (buf.byteLength > COMPRESS_FROM_BYTES) {
129
+ return {
130
+ contentByte: CONTENT_TYPE_JSON_U8,
131
+ buf: zlib.deflateRawSync(buf, {}),
132
+ deflate: true,
133
+ };
134
+ }
135
+ const result = {
136
+ contentByte: CONTENT_TYPE_JSON_U8,
137
+ buf,
138
+ deflate: false,
139
+ };
140
+ return result;
78
141
  };
79
- export const parsePayload = (payload) => {
80
- if (typeof payload === 'string') {
142
+ export const decodePayloadV1 = (payload, isDeflate) => {
143
+ if (!payload || payload.byteLength === 0) {
144
+ return undefined;
145
+ }
146
+ let p;
147
+ if (!isDeflate) {
148
+ p = DECODER.decode(payload);
149
+ }
150
+ else {
81
151
  try {
82
- return JSON.parse(payload);
152
+ p = zlib.inflateRawSync(payload).toString();
153
+ }
154
+ catch (err) {
155
+ console.error('Error deflating payload', err);
156
+ }
157
+ }
158
+ if (typeof p === 'string') {
159
+ try {
160
+ return JSON.parse(p);
83
161
  }
84
162
  catch (err) { }
85
163
  }
86
- return payload;
164
+ return p;
165
+ };
166
+ export const decodePayload = (payload, isDeflate, isOldClient) => {
167
+ if (isOldClient) {
168
+ return decodePayloadV1(payload, isDeflate);
169
+ }
170
+ const contentType = payload[0];
171
+ if (contentType === CONTENT_TYPE_UNDEFINED_U8[0]) {
172
+ return undefined;
173
+ }
174
+ if (contentType === CONTENT_TYPE_UINT8_ARRAY_U8[0]) {
175
+ return payload.subarray(1);
176
+ }
177
+ if (contentType === CONTENT_TYPE_STRING_U8[0]) {
178
+ if (isDeflate) {
179
+ const buffer = zlib.inflateRawSync(payload.subarray(1)).toString();
180
+ }
181
+ return DECODER.decode(payload.subarray(1));
182
+ }
183
+ if (contentType === CONTENT_TYPE_JSON_U8[0]) {
184
+ let str;
185
+ if (isDeflate) {
186
+ str = zlib.inflateRawSync(payload.subarray(1)).toString();
187
+ }
188
+ else {
189
+ str = DECODER.decode(payload.subarray(1));
190
+ }
191
+ if (typeof str === 'string') {
192
+ try {
193
+ return JSON.parse(str);
194
+ }
195
+ catch (err) { }
196
+ }
197
+ return str;
198
+ }
199
+ if (contentType === CONTENT_TYPE_NULL_U8[0]) {
200
+ return null;
201
+ }
87
202
  };
88
203
  export const decodeName = (arr, start, end) => {
89
- const name = new Uint8Array(arr.slice(start, end));
90
- return textDecoder.decode(name);
204
+ return DECODER.decode(arr.subarray(start, end));
91
205
  };
92
- export const encodeFunctionResponse = (id, buffer) => {
206
+ export const encodeFunctionResponse = (id, val) => {
93
207
  // Type 0
94
208
  // | 4 header | 3 id | * payload |
95
- let isDeflate = false;
96
- // TODO: implement for streams!
97
- // chunk isChunk | isNotCunk | isLastchunk 0|1 (use 1 bye for now?)
98
- const chunks = 1;
99
- if (buffer.length > COMPRESS_FROM_BYTES) {
100
- isDeflate = true;
101
- buffer = zlib.deflateRawSync(buffer, {});
102
- }
103
- if (chunks === 1) {
104
- const headerSize = 4;
105
- const idSize = 3;
106
- const msgSize = idSize + buffer.length;
107
- const header = encodeHeader(0, isDeflate, msgSize);
108
- // not very nessecary but ok
209
+ const headerSize = 4;
210
+ const idSize = 3;
211
+ const isOld = val.contentByte[0] === CONTENT_TYPE_VERSION_1_U8[0];
212
+ if (isOld) {
213
+ const msgSize = idSize + val.buf.byteLength;
109
214
  const array = new Uint8Array(headerSize + msgSize);
110
- storeUint8(array, header, 0, 4);
111
- storeUint8(array, id, 4, 3);
112
- if (buffer.length) {
113
- array.set(buffer, 7);
215
+ encodeHeader(0, val.deflate, msgSize, array, 0);
216
+ writeUint24(array, id, 4);
217
+ if (val.buf.byteLength) {
218
+ array.set(val.buf, 7);
114
219
  }
115
220
  return array;
116
221
  }
117
222
  else {
118
- console.warn('chunk not implemented yet');
119
- return new Uint8Array(0);
223
+ const msgSize = idSize + val.buf.byteLength + 1;
224
+ const array = new Uint8Array(headerSize + msgSize);
225
+ encodeHeader(0, val.deflate, msgSize, array, 0);
226
+ writeUint24(array, id, 4);
227
+ array[7] = val.contentByte[0];
228
+ if (val.buf.byteLength) {
229
+ array.set(val.buf, 8);
230
+ }
231
+ return array;
120
232
  }
121
233
  };
122
- export const encodeStreamFunctionResponse = (id, buffer) => {
234
+ export const encodeStreamFunctionResponse = (id, val) => {
123
235
  // Type 7
124
236
  // | 4 header | 1 subType | 3 id | * payload |
125
- let isDeflate = false;
126
- // TODO: implement for streams!
127
- // chunk isChunk | isNotCunk | isLastchunk 0|1 (use 1 bye for now?)
128
237
  const chunks = 1;
129
- if (buffer.length > COMPRESS_FROM_BYTES) {
130
- isDeflate = true;
131
- buffer = zlib.deflateRawSync(buffer, {});
132
- }
133
238
  if (chunks === 1) {
134
239
  const headerSize = 4;
135
240
  const idSize = 3;
136
241
  const subTypeSize = 1;
137
- const msgSize = idSize + subTypeSize + buffer.length;
138
- const header = encodeHeader(7, isDeflate, msgSize);
139
- // not very nessecary but ok
140
- const array = new Uint8Array(headerSize + msgSize);
141
- storeUint8(array, header, 0, 4);
142
- storeUint8(array, 1, 4, 1);
143
- storeUint8(array, id, 5, 3);
144
- if (buffer.length) {
145
- array.set(buffer, 8);
242
+ const isOld = val.contentByte[0] === CONTENT_TYPE_VERSION_1_U8[0];
243
+ if (isOld) {
244
+ const msgSize = idSize + subTypeSize + val.buf.byteLength;
245
+ const array = new Uint8Array(headerSize + msgSize);
246
+ encodeHeader(7, val.deflate, msgSize, array, 0);
247
+ array[4] = 1;
248
+ writeUint24(array, id, 5);
249
+ if (val.buf.byteLength) {
250
+ array.set(val.buf, 8);
251
+ }
252
+ return array;
253
+ }
254
+ else {
255
+ const msgSize = idSize + subTypeSize + val.buf.byteLength + 1;
256
+ const array = new Uint8Array(headerSize + msgSize);
257
+ encodeHeader(7, val.deflate, msgSize, array, 0);
258
+ array[4] = 1;
259
+ writeUint24(array, id, 5);
260
+ array[8] = val.contentByte[0];
261
+ if (val.buf.byteLength) {
262
+ array.set(val.buf, 9);
263
+ }
264
+ return array;
146
265
  }
147
- return array;
148
266
  }
149
267
  else {
150
- console.warn('chunk not implemented yet');
268
+ console.warn('Stream response to chunks not implemented yet');
151
269
  return new Uint8Array(0);
152
270
  }
153
271
  };
@@ -158,114 +276,149 @@ export const encodeStreamFunctionChunkResponse = (id, seqId, code = 0, maxChunkS
158
276
  if (maxChunkSize) {
159
277
  msgSize += 3;
160
278
  }
161
- const header = encodeHeader(7, false, msgSize);
162
279
  const array = new Uint8Array(4 + msgSize);
163
- storeUint8(array, header, 0, 4);
164
- storeUint8(array, 2, 4, 1);
165
- storeUint8(array, id, 5, 3);
166
- storeUint8(array, seqId, 8, 1);
167
- storeUint8(array, code, 9, 1);
280
+ encodeHeader(7, false, msgSize, array, 0);
281
+ array[4] = 2;
282
+ writeUint24(array, id, 5);
283
+ array[8] = seqId;
284
+ array[9] = code;
168
285
  if (maxChunkSize) {
169
- storeUint8(array, maxChunkSize, 10, 3);
286
+ writeUint24(array, maxChunkSize, 10);
170
287
  }
171
288
  return array;
172
289
  };
173
290
  export const encodeGetResponse = (id) => {
174
291
  // Type 4
175
292
  // | 4 header | 8 id |
176
- const header = encodeHeader(3, false, 8);
177
293
  const array = new Uint8Array(12);
178
- storeUint8(array, header, 0, 4);
179
- storeUint8(array, id, 4, 8);
294
+ encodeHeader(3, false, 8, array, 0);
295
+ writeUint64(array, id, 4);
180
296
  return array;
181
297
  };
182
298
  export const updateId = (payload, id) => {
183
- const prevId = payload.slice(4, 12);
184
- storeUint8(payload, id, 4, 8);
299
+ const prevId = payload.slice(4, 12); // does this actually copy! CHECK
300
+ writeUint64(payload, id, 4);
185
301
  return prevId;
186
302
  };
187
- export const encodeObservableResponse = (id, checksum, buffer) => {
303
+ export const encodeObservableResponse = (id, checksum, val) => {
188
304
  // Type 1 (full data)
189
305
  // | 4 header | 8 id | 8 checksum | * payload |
190
- let isDeflate = false;
191
- if (buffer.length > COMPRESS_FROM_BYTES) {
192
- isDeflate = true;
193
- buffer = zlib.deflateRawSync(buffer, {});
306
+ const isOld = val.contentByte[0] === CONTENT_TYPE_VERSION_1_U8[0];
307
+ if (isOld) {
308
+ const msgSize = 16 + val.buf.byteLength;
309
+ const array = new Uint8Array(4 + msgSize);
310
+ encodeHeader(1, val.deflate, msgSize, array, 0);
311
+ writeUint64(array, id, 4);
312
+ writeUint64(array, checksum, 12);
313
+ if (val.buf.byteLength) {
314
+ array.set(val.buf, 20);
315
+ }
316
+ return [array, val.deflate];
194
317
  }
195
- const msgSize = 16 + buffer.length;
196
- const header = encodeHeader(1, isDeflate, msgSize);
197
- const array = new Uint8Array(4 + msgSize);
198
- storeUint8(array, header, 0, 4);
199
- storeUint8(array, id, 4, 8);
200
- storeUint8(array, checksum, 12, 8);
201
- if (buffer.length) {
202
- array.set(buffer, 20);
318
+ else {
319
+ const msgSize = 16 + val.buf.byteLength + 1;
320
+ const array = new Uint8Array(4 + msgSize);
321
+ encodeHeader(1, val.deflate, msgSize, array, 0);
322
+ writeUint64(array, id, 4);
323
+ writeUint64(array, checksum, 12);
324
+ array[20] = val.contentByte[0];
325
+ if (val.buf.byteLength) {
326
+ array.set(val.buf, 21);
327
+ }
328
+ return [array, val.deflate];
203
329
  }
204
- return [array, isDeflate];
205
330
  };
206
- export const encodeObservableDiffResponse = (id, checksum, previousChecksum, buffer) => {
331
+ export const encodeObservableDiffResponse = (id, checksum, previousChecksum, val) => {
207
332
  // Type 2 (diff data)
208
333
  // | 4 header | 8 id | 8 checksum | 8 previousChecksum | * diff |
209
- let isDeflate = false;
210
- if (buffer.length > COMPRESS_FROM_BYTES) {
211
- isDeflate = true;
212
- buffer = zlib.deflateRawSync(buffer, {});
334
+ const isOld = val.contentByte[0] === CONTENT_TYPE_VERSION_1_U8[0];
335
+ if (isOld) {
336
+ const msgSize = 24 + val.buf.byteLength;
337
+ const array = new Uint8Array(4 + msgSize);
338
+ encodeHeader(2, val.deflate, msgSize, array, 0);
339
+ writeUint64(array, id, 4);
340
+ writeUint64(array, checksum, 12);
341
+ writeUint64(array, previousChecksum, 20);
342
+ if (val.buf.byteLength) {
343
+ array.set(val.buf, 28);
344
+ }
213
345
  }
214
- const msgSize = 24 + buffer.length;
215
- const header = encodeHeader(2, isDeflate, msgSize);
216
- const array = new Uint8Array(4 + msgSize);
217
- storeUint8(array, header, 0, 4);
218
- storeUint8(array, id, 4, 8);
219
- storeUint8(array, checksum, 12, 8);
220
- storeUint8(array, previousChecksum, 20, 8);
221
- if (buffer.length) {
222
- array.set(buffer, 28);
346
+ else {
347
+ const msgSize = 24 + val.buf.byteLength + 1;
348
+ const array = new Uint8Array(4 + msgSize);
349
+ encodeHeader(2, val.deflate, msgSize, array, 0);
350
+ writeUint64(array, id, 4);
351
+ writeUint64(array, checksum, 12);
352
+ writeUint64(array, previousChecksum, 20);
353
+ array[28] = val.contentByte[0];
354
+ if (val.buf.byteLength) {
355
+ array.set(val.buf, 29);
356
+ }
357
+ return array;
223
358
  }
224
- return array;
225
359
  };
226
- const encodeSimpleResponse = (type, buffer) => {
360
+ const encodeSimpleResponse = (type, val) => {
227
361
  // | 4 header | * payload |
228
- let isDeflate = false;
229
- if (buffer.length > COMPRESS_FROM_BYTES) {
230
- isDeflate = true;
231
- buffer = zlib.deflateRawSync(buffer, {});
362
+ const isOld = val.contentByte[0] === CONTENT_TYPE_VERSION_1_U8[0];
363
+ if (isOld) {
364
+ const headerSize = 4;
365
+ const msgSize = val.buf.byteLength;
366
+ const array = new Uint8Array(headerSize + msgSize);
367
+ encodeHeader(type, val.deflate, msgSize, array, 0);
368
+ if (val.buf.byteLength) {
369
+ array.set(val.buf, 4);
370
+ }
371
+ return array;
232
372
  }
233
- const headerSize = 4;
234
- const msgSize = buffer.length;
235
- const header = encodeHeader(type, isDeflate, msgSize);
236
- const array = new Uint8Array(headerSize + msgSize);
237
- storeUint8(array, header, 0, 4);
238
- if (buffer.length) {
239
- array.set(buffer, 4);
373
+ else {
374
+ const headerSize = 4;
375
+ const msgSize = val.buf.byteLength + 1;
376
+ const array = new Uint8Array(headerSize + msgSize);
377
+ encodeHeader(type, val.deflate, msgSize, array, 0);
378
+ array[4] = val.contentByte[0];
379
+ if (val.buf.byteLength) {
380
+ array.set(val.buf, 5);
381
+ }
382
+ return array;
240
383
  }
241
- return array;
242
384
  };
243
- export const encodeAuthResponse = (buffer) => {
385
+ export const encodeAuthResponse = (val) => {
244
386
  // Type 4
245
- return encodeSimpleResponse(4, buffer);
387
+ return encodeSimpleResponse(4, val);
246
388
  };
247
- export const encodeErrorResponse = (buffer) => {
389
+ export const encodeErrorResponse = (val) => {
248
390
  // Type 5
249
- return encodeSimpleResponse(5, buffer);
391
+ return encodeSimpleResponse(5, val);
250
392
  };
251
- export const encodeChannelMessage = (id, buffer) => {
393
+ export const encodeChannelMessage = (id, val) => {
252
394
  // Type 7.0 (fill data)
253
395
  // | 4 header | 1 subType | 8 id | * payload |
254
- let isDeflate = false;
255
- if (buffer.length > COMPRESS_FROM_BYTES) {
256
- isDeflate = true;
257
- buffer = zlib.deflateRawSync(buffer, {});
396
+ const isOld = val.contentByte[0] === CONTENT_TYPE_VERSION_1_U8[0];
397
+ if (isOld) {
398
+ const msgSize = 8 + val.buf.byteLength + 1;
399
+ const array = new Uint8Array(4 + msgSize);
400
+ // sub protocol 7.0
401
+ array[4] = 0;
402
+ encodeHeader(7, val.deflate, msgSize, array, 0);
403
+ writeUint64(array, id, 5);
404
+ if (val.buf.byteLength) {
405
+ array.set(val.buf, 13);
406
+ }
407
+ return array;
258
408
  }
259
- const msgSize = 8 + buffer.length + 1;
260
- const header = encodeHeader(7, isDeflate, msgSize);
261
- const array = new Uint8Array(4 + msgSize);
262
- storeUint8(array, 0, 4, 1);
263
- storeUint8(array, header, 0, 4);
264
- storeUint8(array, id, 5, 8);
265
- if (buffer.length) {
266
- array.set(buffer, 13);
409
+ else {
410
+ const msgSize = 8 + val.buf.byteLength + 2;
411
+ const array = new Uint8Array(4 + msgSize);
412
+ encodeHeader(7, val.deflate, msgSize, array, 0);
413
+ // sub protocol 7.0
414
+ array[4] = 0;
415
+ writeUint64(array, id, 5);
416
+ array[13] = val.contentByte[0];
417
+ if (val.buf.byteLength) {
418
+ array.set(val.buf, 14);
419
+ }
420
+ return array;
267
421
  }
268
- return array;
269
422
  };
270
423
  export const encodeReload = (type, seqId) => {
271
424
  // Type 7.3 (fill data)
@@ -273,17 +426,17 @@ export const encodeReload = (type, seqId) => {
273
426
  // 1 = browser
274
427
  // 2 = non-browser
275
428
  // | 4 header | 1 subType | 1 type \ 1 seqId
276
- const msgSize = 7;
277
- const header = encodeHeader(7, false, msgSize);
429
+ const msgSize = 3;
278
430
  const array = new Uint8Array(4 + msgSize);
279
- storeUint8(array, header, 0, 4);
280
- storeUint8(array, 3, 4, 1);
281
- storeUint8(array, type, 5, 1);
282
- storeUint8(array, seqId, 6, 1);
431
+ encodeHeader(7, false, msgSize, array, 0);
432
+ array[4] = 3;
433
+ array[5] = type;
434
+ array[6] = seqId;
283
435
  return array;
284
436
  };
285
- export const decode = (buffer) => {
286
- const header = readUint8(buffer, 0, 4);
437
+ // FIXME
438
+ export const decode = (buffer, isOldClient) => {
439
+ const header = readUint32(buffer, 0);
287
440
  const { isDeflate, len, type } = decodeHeader(header);
288
441
  if (type === 1) {
289
442
  // | 4 header | 8 id | 8 checksum | * payload |
@@ -292,7 +445,8 @@ export const decode = (buffer) => {
292
445
  }
293
446
  const start = 20;
294
447
  const end = len + 4;
295
- return decodePayload(buffer.slice(start, end), isDeflate);
448
+ // very wrong
449
+ return decodePayload(buffer.slice(start, end), isDeflate, false);
296
450
  }
297
451
  };
298
452
  //# sourceMappingURL=protocol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,8 @@ export const destroyObs = (server, id) => {
27
27
  }
28
28
  if (obs.clients.size ||
29
29
  obs.functionObserveClients.size ||
30
- obs.onNextData?.size) {
30
+ obs.onNextData?.size ||
31
+ obs.oldClients?.size) {
31
32
  if (obs.timeTillDestroy) {
32
33
  obs.timeTillDestroy = null;
33
34
  console.warn(`Obs being destroyed while listeners are present ${obs.name} ${obs.id}`, obs.payload);