@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.
Files changed (203) hide show
  1. package/dist/{Emitter.d.ts → src/Emitter.d.ts} +1 -2
  2. package/dist/{Emitter.js → src/Emitter.js} +2 -4
  3. package/dist/src/Emitter.js.map +1 -0
  4. package/dist/{authState → src/authState}/parseAuthState.d.ts +1 -2
  5. package/dist/src/authState/parseAuthState.js +44 -0
  6. package/dist/src/authState/parseAuthState.js.map +1 -0
  7. package/dist/src/authState/updateAuthState.d.ts +3 -0
  8. package/dist/src/authState/updateAuthState.js +12 -0
  9. package/dist/src/authState/updateAuthState.js.map +1 -0
  10. package/dist/src/channel/cleanUp.d.ts +2 -0
  11. package/dist/{channel → src/channel}/cleanUp.js +3 -7
  12. package/dist/src/channel/cleanUp.js.map +1 -0
  13. package/dist/{channel → src/channel}/index.d.ts +2 -4
  14. package/dist/{channel → src/channel}/index.js +15 -15
  15. package/dist/src/channel/index.js.map +1 -0
  16. package/dist/{genObserveId.d.ts → src/genObserveId.d.ts} +0 -1
  17. package/dist/src/genObserveId.js +8 -0
  18. package/dist/src/genObserveId.js.map +1 -0
  19. package/dist/{getTargetInfo.d.ts → src/getTargetInfo.d.ts} +1 -2
  20. package/dist/{getTargetInfo.js → src/getTargetInfo.js} +1 -5
  21. package/dist/src/getTargetInfo.js.map +1 -0
  22. package/dist/{incoming → src/incoming}/index.d.ts +1 -2
  23. package/dist/{incoming → src/incoming}/index.js +73 -146
  24. package/dist/src/incoming/index.js.map +1 -0
  25. package/dist/{incoming → src/incoming}/protocol.d.ts +1 -2
  26. package/dist/{incoming → src/incoming}/protocol.js +8 -18
  27. package/dist/src/incoming/protocol.js.map +1 -0
  28. package/dist/{index.d.ts → src/index.d.ts} +27 -27
  29. package/dist/{index.js → src/index.js} +92 -103
  30. package/dist/src/index.js.map +1 -0
  31. package/dist/{index_original.d.ts → src/index_original.d.ts} +27 -27
  32. package/dist/{outgoing → src/outgoing}/index.d.ts +2 -3
  33. package/dist/src/outgoing/index.js +197 -0
  34. package/dist/src/outgoing/index.js.map +1 -0
  35. package/dist/{outgoing → src/outgoing}/protocol.d.ts +4 -6
  36. package/dist/{outgoing → src/outgoing}/protocol.js +22 -64
  37. package/dist/src/outgoing/protocol.js.map +1 -0
  38. package/dist/{persistentStorage/index.d.ts → src/persistentStorage/browser.d.ts} +4 -5
  39. package/dist/src/persistentStorage/browser.js +182 -0
  40. package/dist/src/persistentStorage/browser.js.map +1 -0
  41. package/dist/src/persistentStorage/constants.d.ts +4 -0
  42. package/dist/src/persistentStorage/constants.js +5 -0
  43. package/dist/src/persistentStorage/constants.js.map +1 -0
  44. package/dist/src/persistentStorage/index.d.ts +6 -0
  45. package/dist/src/persistentStorage/index.js +128 -0
  46. package/dist/src/persistentStorage/index.js.map +1 -0
  47. package/dist/src/persistentStorage/node.d.ts +1 -0
  48. package/dist/src/persistentStorage/node.js +109 -0
  49. package/dist/src/persistentStorage/node.js.map +1 -0
  50. package/dist/{query → src/query}/index.d.ts +2 -3
  51. package/dist/{query → src/query}/index.js +19 -18
  52. package/dist/src/query/index.js.map +1 -0
  53. package/dist/src/ssr.d.ts +6 -0
  54. package/dist/src/ssr.js +11 -0
  55. package/dist/src/ssr.js.map +1 -0
  56. package/dist/{stream/index.d.ts → src/stream/browser.d.ts} +2 -3
  57. package/dist/src/stream/browser.js +34 -0
  58. package/dist/src/stream/browser.js.map +1 -0
  59. package/dist/{stream → src/stream}/fetch.d.ts +2 -3
  60. package/dist/src/stream/fetch.js +34 -0
  61. package/dist/src/stream/fetch.js.map +1 -0
  62. package/dist/src/stream/index.d.ts +4 -0
  63. package/dist/src/stream/index.js +21 -0
  64. package/dist/src/stream/index.js.map +1 -0
  65. package/dist/{stream → src/stream}/nodeStream.d.ts +3 -4
  66. package/dist/{stream → src/stream}/nodeStream.js +23 -32
  67. package/dist/src/stream/nodeStream.js.map +1 -0
  68. package/dist/{stream → src/stream}/types.d.ts +3 -2
  69. package/dist/src/stream/types.js +18 -0
  70. package/dist/src/stream/types.js.map +1 -0
  71. package/dist/{stream → src/stream}/uploadFileBrowser.d.ts +2 -3
  72. package/dist/{stream → src/stream}/uploadFileBrowser.js +12 -18
  73. package/dist/src/stream/uploadFileBrowser.js.map +1 -0
  74. package/dist/{types → src/types}/auth.d.ts +0 -1
  75. package/dist/src/types/auth.js +2 -0
  76. package/dist/{types → src/types}/auth.js.map +1 -1
  77. package/dist/src/types/cache.d.ts +6 -0
  78. package/dist/src/types/cache.js +2 -0
  79. package/dist/{types → src/types}/cache.js.map +1 -1
  80. package/dist/{types → src/types}/channel.d.ts +1 -2
  81. package/dist/src/types/channel.js +2 -0
  82. package/dist/{types → src/types}/channel.js.map +1 -1
  83. package/dist/{types → src/types}/error.d.ts +1 -2
  84. package/dist/{types → src/types}/error.js +7 -10
  85. package/dist/src/types/error.js.map +1 -0
  86. package/dist/src/types/events.d.ts +9 -0
  87. package/dist/src/types/events.js +2 -0
  88. package/dist/{types → src/types}/events.js.map +1 -1
  89. package/dist/{types → src/types}/functions.d.ts +1 -2
  90. package/dist/src/types/functions.js +2 -0
  91. package/dist/{types → src/types}/functions.js.map +1 -1
  92. package/dist/{types → src/types}/generic.d.ts +0 -1
  93. package/dist/src/types/generic.js +2 -0
  94. package/dist/{types → src/types}/generic.js.map +1 -1
  95. package/dist/src/types/index.d.ts +8 -0
  96. package/dist/src/types/index.js +9 -0
  97. package/dist/src/types/index.js.map +1 -0
  98. package/dist/{types → src/types}/observe.d.ts +1 -2
  99. package/dist/src/types/observe.js +2 -0
  100. package/dist/{types → src/types}/observe.js.map +1 -1
  101. package/dist/{websocket → src/websocket}/index.d.ts +2 -3
  102. package/dist/{websocket → src/websocket}/index.js +9 -14
  103. package/dist/src/websocket/index.js.map +1 -0
  104. package/dist/{websocket → src/websocket}/types.d.ts +0 -1
  105. package/dist/src/websocket/types.js +6 -0
  106. package/dist/src/websocket/types.js.map +1 -0
  107. package/dist/{websocket → src/websocket}/urlLoader.d.ts +0 -1
  108. package/dist/src/websocket/urlLoader.js +11 -0
  109. package/dist/{websocket → src/websocket}/urlLoader.js.map +1 -1
  110. package/package.json +38 -28
  111. package/dist/Emitter.d.ts.map +0 -1
  112. package/dist/Emitter.js.map +0 -1
  113. package/dist/authState/parseAuthState.d.ts.map +0 -1
  114. package/dist/authState/parseAuthState.js +0 -51
  115. package/dist/authState/parseAuthState.js.map +0 -1
  116. package/dist/authState/updateAuthState.d.ts +0 -4
  117. package/dist/authState/updateAuthState.d.ts.map +0 -1
  118. package/dist/authState/updateAuthState.js +0 -15
  119. package/dist/authState/updateAuthState.js.map +0 -1
  120. package/dist/channel/cleanUp.d.ts +0 -3
  121. package/dist/channel/cleanUp.d.ts.map +0 -1
  122. package/dist/channel/cleanUp.js.map +0 -1
  123. package/dist/channel/index.d.ts.map +0 -1
  124. package/dist/channel/index.js.map +0 -1
  125. package/dist/genObserveId.d.ts.map +0 -1
  126. package/dist/genObserveId.js +0 -12
  127. package/dist/genObserveId.js.map +0 -1
  128. package/dist/getTargetInfo.d.ts.map +0 -1
  129. package/dist/getTargetInfo.js.map +0 -1
  130. package/dist/incoming/debug.d.ts +0 -10
  131. package/dist/incoming/debug.d.ts.map +0 -1
  132. package/dist/incoming/debug.js +0 -132
  133. package/dist/incoming/debug.js.map +0 -1
  134. package/dist/incoming/index.d.ts.map +0 -1
  135. package/dist/incoming/index.js.map +0 -1
  136. package/dist/incoming/protocol.d.ts.map +0 -1
  137. package/dist/incoming/protocol.js.map +0 -1
  138. package/dist/index.d.ts.map +0 -1
  139. package/dist/index.js.map +0 -1
  140. package/dist/outgoing/debug.d.ts +0 -9
  141. package/dist/outgoing/debug.d.ts.map +0 -1
  142. package/dist/outgoing/debug.js +0 -70
  143. package/dist/outgoing/debug.js.map +0 -1
  144. package/dist/outgoing/index.d.ts.map +0 -1
  145. package/dist/outgoing/index.js +0 -231
  146. package/dist/outgoing/index.js.map +0 -1
  147. package/dist/outgoing/protocol.d.ts.map +0 -1
  148. package/dist/outgoing/protocol.js.map +0 -1
  149. package/dist/persistentStorage/browser.d.ts +0 -6
  150. package/dist/persistentStorage/browser.d.ts.map +0 -1
  151. package/dist/persistentStorage/browser.js +0 -178
  152. package/dist/persistentStorage/browser.js.map +0 -1
  153. package/dist/persistentStorage/index.d.ts.map +0 -1
  154. package/dist/persistentStorage/index.js +0 -61
  155. package/dist/persistentStorage/index.js.map +0 -1
  156. package/dist/persistentStorage/node.d.ts +0 -7
  157. package/dist/persistentStorage/node.d.ts.map +0 -1
  158. package/dist/persistentStorage/node.js +0 -104
  159. package/dist/persistentStorage/node.js.map +0 -1
  160. package/dist/query/index.d.ts.map +0 -1
  161. package/dist/query/index.js.map +0 -1
  162. package/dist/stream/fetch.d.ts.map +0 -1
  163. package/dist/stream/fetch.js +0 -38
  164. package/dist/stream/fetch.js.map +0 -1
  165. package/dist/stream/index.d.ts.map +0 -1
  166. package/dist/stream/index.js +0 -65
  167. package/dist/stream/index.js.map +0 -1
  168. package/dist/stream/nodeStream.d.ts.map +0 -1
  169. package/dist/stream/nodeStream.js.map +0 -1
  170. package/dist/stream/types.d.ts.map +0 -1
  171. package/dist/stream/types.js +0 -8
  172. package/dist/stream/types.js.map +0 -1
  173. package/dist/stream/uploadFileBrowser.d.ts.map +0 -1
  174. package/dist/stream/uploadFileBrowser.js.map +0 -1
  175. package/dist/types/auth.d.ts.map +0 -1
  176. package/dist/types/auth.js +0 -3
  177. package/dist/types/cache.d.ts +0 -7
  178. package/dist/types/cache.d.ts.map +0 -1
  179. package/dist/types/cache.js +0 -3
  180. package/dist/types/channel.d.ts.map +0 -1
  181. package/dist/types/channel.js +0 -3
  182. package/dist/types/error.d.ts.map +0 -1
  183. package/dist/types/error.js.map +0 -1
  184. package/dist/types/events.d.ts +0 -35
  185. package/dist/types/events.d.ts.map +0 -1
  186. package/dist/types/events.js +0 -3
  187. package/dist/types/functions.d.ts.map +0 -1
  188. package/dist/types/functions.js +0 -3
  189. package/dist/types/generic.d.ts.map +0 -1
  190. package/dist/types/generic.js +0 -3
  191. package/dist/types/index.d.ts +0 -7
  192. package/dist/types/index.d.ts.map +0 -1
  193. package/dist/types/index.js +0 -23
  194. package/dist/types/index.js.map +0 -1
  195. package/dist/types/observe.d.ts.map +0 -1
  196. package/dist/types/observe.js +0 -3
  197. package/dist/websocket/index.d.ts.map +0 -1
  198. package/dist/websocket/index.js.map +0 -1
  199. package/dist/websocket/types.d.ts.map +0 -1
  200. package/dist/websocket/types.js +0 -7
  201. package/dist/websocket/types.js.map +0 -1
  202. package/dist/websocket/urlLoader.d.ts.map +0 -1
  203. package/dist/websocket/urlLoader.js +0 -13
@@ -1,98 +1,66 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
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 __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
- Object.defineProperty(exports, "__esModule", { value: true });
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 (0, protocol_1.parseArrayBuffer)(d);
45
- const { type, len, isDeflate } = (0, protocol_1.decodeHeader)((0, protocol_1.readUint8)(buffer, 0, 4));
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 = (0, protocol_1.readUint8)(buffer, 4, 3);
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(new TextDecoder().decode(isDeflate
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 = (0, protocol_1.readUint8)(buffer, 4, 8);
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).value);
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 = (0, protocol_1.readUint8)(buffer, 4, 8);
54
+ const id = readUint8(buffer, 4, 8);
87
55
  const cachedData = client.cache.get(id);
88
56
  if (!cachedData) {
89
- (0, protocol_1.requestFullData)(client, id);
57
+ requestFullData(client, id);
90
58
  return;
91
59
  }
92
- const checksum = (0, protocol_1.readUint8)(buffer, 12, 8);
93
- const previousChecksum = (0, protocol_1.readUint8)(buffer, 20, 8);
94
- if (cachedData.checksum !== previousChecksum) {
95
- (0, protocol_1.requestFullData)(client, id);
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(new TextDecoder().decode(isDeflate
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.value = (0, diff_1.applyPatch)(cachedData.value, diff);
109
- cachedData.checksum = checksum;
74
+ cachedData.v = applyPatch(cachedData.v, diff);
75
+ cachedData.c = checksum;
110
76
  }
111
77
  catch (err) {
112
- if (debug) {
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.persistent = true;
122
- (0, persistentStorage_1.setStorage)(client, '@based-cache-' + id, cachedData);
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.value, checksum);
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.value);
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 = (0, protocol_1.readUint8)(buffer, 4, 8);
143
- const checksum = (0, protocol_1.readUint8)(buffer, 12, 8);
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(new TextDecoder().decode(isDeflate
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 cacheData = {
154
- value: payload,
155
- checksum,
156
- };
157
- client.cache.set(id, cacheData);
158
- let found = false;
159
- if (client.observeState.has(id)) {
160
- const observable = client.observeState.get(id);
161
- if (observable.persistent) {
162
- cacheData.persistent = true;
163
- (0, persistentStorage_1.setStorage)(client, '@based-cache-' + id, cacheData);
164
- }
165
- for (const [, handlers] of observable.subscribers) {
166
- handlers.onData(payload, checksum);
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(new TextDecoder().decode(isDeflate
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
- (0, updateAuthState_1.updateAuthState)(client, payload);
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 (!(0, utils_1.deepEqual)(client.authState, payload)) {
205
- (0, updateAuthState_1.updateAuthState)(client, payload);
157
+ if (!deepEqual(client.authState, payload)) {
158
+ updateAuthState(client, payload);
206
159
  client.emit('authstate-change', client.authState);
207
160
  }
208
161
  else {
209
- (0, updateAuthState_1.updateAuthState)(client, payload);
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(new TextDecoder().decode(isDeflate
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((0, error_1.convertDataToBasedError)(payload, stack));
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 = (0, error_1.convertDataToBasedError)(payload);
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((0, getTargetInfo_1.getTargetInfo)(client, payload.channelId, 'channel'), 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 = (0, error_1.convertDataToBasedError)(payload);
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((0, getTargetInfo_1.getTargetInfo)(client, payload.observableId, 'sub'), 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 = (0, error_1.convertDataToBasedError)(payload);
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 = (0, protocol_1.readUint8)(buffer, 4, 8);
226
+ const id = readUint8(buffer, 4, 8);
283
227
  const channel = client.channelState.get(id);
284
- if (!id) {
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 } = (0, protocol_2.encodeSubscribeChannelMessage)(id, [
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 = (0, protocol_1.readUint8)(buffer, 4, 1);
258
+ const subType = readUint8(buffer, 4, 1);
326
259
  if (subType === 0) {
327
260
  // | 4 header | 1 subType | 8 id | * payload |
328
- const id = (0, protocol_1.readUint8)(buffer, 5, 8);
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 = new TextDecoder().decode(isDeflate
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
- console.error('Error parsing incoming data', err);
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
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
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
- exports.decodeHeader = decodeHeader;
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
- exports.readUint8 = readUint8;
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('Recieved incorrect data');
50
+ throw new Error('432');
55
51
  };
56
- exports.parseArrayBuffer = parseArrayBuffer;
57
- const requestFullData = (client, id) => {
52
+ export const requestFullData = (client, id) => {
58
53
  const sub = client.observeState.get(id);
59
- if (!sub) {
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 { GetState } from './types/observe';
3
- import { Connection } from './websocket/types';
4
- import Emitter from './Emitter';
5
- import { BasedQuery } from './query';
6
- import { StreamFunctionOpts } from './stream/types';
7
- import { BasedChannel } from './channel';
8
- import { ChannelQueue, ChannelPublishQueue, ChannelState } from './types/channel';
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: BasedOpts;
17
+ opts?: BasedOpts;
21
18
  connected: boolean;
22
- connection: Connection;
23
- url: () => Promise<string>;
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
- publishQueue: ChannelPublishQueue;
32
- functionQueue: FunctionQueue;
33
- observeQueue: ObserveQueue;
34
- channelQueue: ChannelQueue;
35
- getObserveQueue: GetObserveQueue;
28
+ pQ: ChannelPublishQueue;
29
+ fQ: FunctionQueue;
30
+ oQ: ObserveQueue;
31
+ cQ: ChannelQueue;
32
+ gQ: GetObserveQueue;
36
33
  drainInProgress: boolean;
37
- drainTimeout: ReturnType<typeof setTimeout>;
38
- idlePing: ReturnType<typeof setTimeout>;
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