@based/client 4.8.9 → 5.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +11 -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 +74 -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 +6 -0
  48. package/dist/src/persistentStorage/node.js +86 -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 -29
  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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/outgoing/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import { AuthState } from '../types/auth';
2
- import { FunctionQueueItem, GetObserveQueue, ObserveQueue } from '../types';
3
- import { ChannelPublishQueueItem, ChannelQueueItem } from '../types/channel';
4
- export declare const encodeGetObserveMessage: (id: number, o: import("../types").GetObserveQueueItem) => {
1
+ import { AuthState } from '../types/auth.js';
2
+ import { ChannelPublishQueueItem, ChannelQueueItem, FunctionQueueItem, GetObserveQueue, ObserveQueue } from '../types/index.js';
3
+ export declare const encodeGetObserveMessage: (id: number, o: import("../types/observe.js").GetObserveQueueItem) => {
5
4
  buffers: Uint8Array[];
6
5
  len: number;
7
6
  };
@@ -9,7 +8,7 @@ export declare const encodeSubscribeChannelMessage: (id: number, o: ChannelQueue
9
8
  buffers: Uint8Array[];
10
9
  len: number;
11
10
  };
12
- export declare const encodeObserveMessage: (id: number, o: import("../types").ObserveQueueItem) => {
11
+ export declare const encodeObserveMessage: (id: number, o: import("../types/observe.js").ObserveQueueItem) => {
13
12
  buffers: Uint8Array[];
14
13
  len: number;
15
14
  };
@@ -22,4 +21,3 @@ export declare const encodePublishMessage: (f: ChannelPublishQueueItem) => {
22
21
  len: number;
23
22
  };
24
23
  export declare const encodeAuthMessage: (authState: AuthState) => Uint8Array;
25
- //# sourceMappingURL=protocol.d.ts.map
@@ -1,30 +1,4 @@
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;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.encodeAuthMessage = exports.encodePublishMessage = exports.encodeFunctionMessage = exports.encodeObserveMessage = exports.encodeSubscribeChannelMessage = exports.encodeGetObserveMessage = void 0;
27
- const fflate = __importStar(require("fflate"));
1
+ import { deflateSync } from 'fflate';
28
2
  const encoder = new TextEncoder();
29
3
  const storeUint8 = (buff, n, start, len) => {
30
4
  for (let index = start; index < start + len; index++) {
@@ -51,20 +25,26 @@ const encodeHeader = (type, isDeflate, len) => {
51
25
  const nr = (len << 4) + encodedMeta;
52
26
  return nr;
53
27
  };
28
+ const createBuffer = (type, isDeflate, len, size = len) => {
29
+ const header = encodeHeader(type, isDeflate, len);
30
+ const buff = new Uint8Array(size);
31
+ storeUint8(buff, header, 0, 4);
32
+ return buff;
33
+ };
54
34
  const encodePayload = (payload, noDeflate = false) => {
55
35
  let p;
56
36
  let isDeflate = false;
57
37
  if (payload !== undefined) {
58
38
  p = encoder.encode(typeof payload === 'string' ? payload : JSON.stringify(payload));
59
39
  if (!noDeflate && p.length > 150) {
60
- p = fflate.deflateSync(p);
40
+ p = deflateSync(p);
61
41
  isDeflate = true;
62
42
  }
63
43
  return [isDeflate, p];
64
44
  }
65
45
  return [false];
66
46
  };
67
- const encodeGetObserveMessage = (id, o) => {
47
+ export const encodeGetObserveMessage = (id, o) => {
68
48
  let len = 4;
69
49
  const [type, name, checksum, payload] = o;
70
50
  // Type 3 = get
@@ -78,9 +58,7 @@ const encodeGetObserveMessage = (id, o) => {
78
58
  }
79
59
  const buffLen = 16;
80
60
  len += buffLen;
81
- const header = encodeHeader(type, isDeflate, len);
82
- const buff = new Uint8Array(1 + 4 + buffLen);
83
- storeUint8(buff, header, 0, 4);
61
+ const buff = createBuffer(type, isDeflate, len, 5 + buffLen);
84
62
  storeUint8(buff, id, 4, 8);
85
63
  storeUint8(buff, checksum, 12, 8);
86
64
  buff[20] = n.length;
@@ -93,8 +71,7 @@ const encodeGetObserveMessage = (id, o) => {
93
71
  }
94
72
  return { buffers: [], len: 0 };
95
73
  };
96
- exports.encodeGetObserveMessage = encodeGetObserveMessage;
97
- const encodeSubscribeChannelMessage = (id, o) => {
74
+ export const encodeSubscribeChannelMessage = (id, o) => {
98
75
  let len = 4;
99
76
  const [type, name, payload] = o;
100
77
  // Type 5 = subscribe
@@ -102,9 +79,7 @@ const encodeSubscribeChannelMessage = (id, o) => {
102
79
  // Type 7 = unsubscribe
103
80
  // | 4 header | 8 id |
104
81
  if (type === 7) {
105
- const header = encodeHeader(type, false, 12);
106
- const buff = new Uint8Array(4 + 8);
107
- storeUint8(buff, header, 0, 4);
82
+ const buff = createBuffer(type, false, 12);
108
83
  storeUint8(buff, id, 4, 8);
109
84
  return { buffers: [buff], len: 12 };
110
85
  }
@@ -117,9 +92,7 @@ const encodeSubscribeChannelMessage = (id, o) => {
117
92
  }
118
93
  const buffLen = 8;
119
94
  len += buffLen;
120
- const header = encodeHeader(5, isRequestSubscriber, len);
121
- const buff = new Uint8Array(1 + 4 + buffLen);
122
- storeUint8(buff, header, 0, 4);
95
+ const buff = createBuffer(5, isRequestSubscriber, len, 5 + buffLen);
123
96
  storeUint8(buff, id, 4, 8);
124
97
  buff[12] = n.length;
125
98
  if (p) {
@@ -127,8 +100,7 @@ const encodeSubscribeChannelMessage = (id, o) => {
127
100
  }
128
101
  return { buffers: [buff, n], len };
129
102
  };
130
- exports.encodeSubscribeChannelMessage = encodeSubscribeChannelMessage;
131
- const encodeObserveMessage = (id, o) => {
103
+ export const encodeObserveMessage = (id, o) => {
132
104
  let len = 4;
133
105
  const [type, name, checksum, payload] = o;
134
106
  // Type 1 = subscribe
@@ -136,9 +108,7 @@ const encodeObserveMessage = (id, o) => {
136
108
  // Type 2 = unsubscribe
137
109
  // | 4 header | 8 id |
138
110
  if (type === 2) {
139
- const header = encodeHeader(type, false, 12);
140
- const buff = new Uint8Array(4 + 8);
141
- storeUint8(buff, header, 0, 4);
111
+ const buff = createBuffer(type, false, 12);
142
112
  storeUint8(buff, id, 4, 8);
143
113
  return { buffers: [buff], len: 12 };
144
114
  }
@@ -150,9 +120,7 @@ const encodeObserveMessage = (id, o) => {
150
120
  }
151
121
  const buffLen = 16;
152
122
  len += buffLen;
153
- const header = encodeHeader(type, isDeflate, len);
154
- const buff = new Uint8Array(1 + 4 + buffLen);
155
- storeUint8(buff, header, 0, 4);
123
+ const buff = createBuffer(type, isDeflate, len, 5 + buffLen);
156
124
  storeUint8(buff, id, 4, 8);
157
125
  storeUint8(buff, checksum, 12, 8);
158
126
  buff[20] = n.length;
@@ -161,8 +129,7 @@ const encodeObserveMessage = (id, o) => {
161
129
  }
162
130
  return { buffers: [buff, n], len };
163
131
  };
164
- exports.encodeObserveMessage = encodeObserveMessage;
165
- const encodeFunctionMessage = (f) => {
132
+ export const encodeFunctionMessage = (f) => {
166
133
  // | 4 header | 3 id | 1 name length | * name | * payload |
167
134
  let len = 7;
168
135
  const [id, name, payload] = f;
@@ -172,9 +139,7 @@ const encodeFunctionMessage = (f) => {
172
139
  if (p) {
173
140
  len += p.length;
174
141
  }
175
- const header = encodeHeader(0, isDeflate, len);
176
- const buff = new Uint8Array(4 + 3 + 1);
177
- storeUint8(buff, header, 0, 4);
142
+ const buff = createBuffer(0, isDeflate, len, 8);
178
143
  storeUint8(buff, id, 4, 3);
179
144
  buff[7] = n.length;
180
145
  if (p) {
@@ -182,8 +147,7 @@ const encodeFunctionMessage = (f) => {
182
147
  }
183
148
  return { buffers: [buff, n], len };
184
149
  };
185
- exports.encodeFunctionMessage = encodeFunctionMessage;
186
- const encodePublishMessage = (f) => {
150
+ export const encodePublishMessage = (f) => {
187
151
  // | 4 header | 8 id | * payload |
188
152
  let len = 12;
189
153
  const [id, payload] = f;
@@ -191,30 +155,24 @@ const encodePublishMessage = (f) => {
191
155
  if (p) {
192
156
  len += p.length;
193
157
  }
194
- const header = encodeHeader(6, isDeflate, len);
195
- const buff = new Uint8Array(4 + 8);
196
- storeUint8(buff, header, 0, 4);
158
+ const buff = createBuffer(6, isDeflate, len, 12);
197
159
  storeUint8(buff, id, 4, 8);
198
160
  if (p) {
199
161
  return { buffers: [buff, p], len };
200
162
  }
201
163
  return { buffers: [buff], len };
202
164
  };
203
- exports.encodePublishMessage = encodePublishMessage;
204
- const encodeAuthMessage = (authState) => {
165
+ export const encodeAuthMessage = (authState) => {
205
166
  // | 4 header | * payload |
206
167
  let len = 4;
207
168
  const [isDeflate, payload] = encodePayload(authState);
208
169
  if (payload) {
209
170
  len += payload.length;
210
171
  }
211
- const header = encodeHeader(4, isDeflate, len);
212
- const buff = new Uint8Array(len);
213
- storeUint8(buff, header, 0, 4);
172
+ const buff = createBuffer(4, isDeflate, len);
214
173
  if (payload) {
215
174
  buff.set(payload, 4);
216
175
  }
217
176
  return buff;
218
177
  };
219
- exports.encodeAuthMessage = encodeAuthMessage;
220
178
  //# sourceMappingURL=protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/outgoing/protocol.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import { BasedClient } from '..';
1
+ import { BasedClient } from '../index.js';
2
2
  export declare const removeStorage: (client: BasedClient, key: string) => void;
3
3
  export declare const setStorage: (client: BasedClient, key: string, value: any) => void;
4
- export declare const updateStorage: (client: BasedClient) => Promise<any>;
5
- export declare const initStorage: (client: BasedClient) => Promise<any>;
6
- export declare const clearStorage: (client: BasedClient) => Promise<any>;
7
- //# sourceMappingURL=index.d.ts.map
4
+ export declare const updateStorage: (_client: BasedClient, _instant?: boolean) => Promise<void>;
5
+ export declare const initStorage: (client: BasedClient) => Promise<void>;
6
+ export declare const clearStorage: (_client: BasedClient) => Promise<void>;
@@ -0,0 +1,182 @@
1
+ import { inflateSync, deflateSync } from 'fflate';
2
+ import { CACHE_PREFIX, CACHE_SIZE, CACHE_NAME, CACHE_AUTH, } from './constants.js';
3
+ const decoder = new TextDecoder();
4
+ const encoder = new TextEncoder();
5
+ const decode = (dataURI) => {
6
+ const data = global.atob(dataURI);
7
+ const uncompressed = decoder.decode(inflateSync(encoder.encode(data)));
8
+ const parsed = JSON.parse(uncompressed);
9
+ return parsed;
10
+ };
11
+ const removeStorageBrowser = (client, key) => {
12
+ const prev = localStorage.getItem(key);
13
+ if (prev) {
14
+ client.storageSize -= new Blob([prev]).size;
15
+ localStorage.setItem(CACHE_SIZE, String(client.storageSize));
16
+ localStorage.removeItem(key);
17
+ }
18
+ };
19
+ const clearStorageBrowser = () => {
20
+ const keys = Object.keys(localStorage);
21
+ try {
22
+ for (const key of keys) {
23
+ if (key.startsWith(CACHE_NAME)) {
24
+ localStorage.removeItem(key);
25
+ }
26
+ }
27
+ }
28
+ catch (err) {
29
+ try {
30
+ localStorage.clear();
31
+ }
32
+ catch (err) {
33
+ // console.error(`Based - Error clearing localStorage`)
34
+ }
35
+ }
36
+ };
37
+ const setStorageBrowser = (client, key, value) => {
38
+ try {
39
+ const env = client.storageEnvKey;
40
+ if (!env) {
41
+ return;
42
+ }
43
+ const prev = localStorage.getItem(key);
44
+ const stringifiedJson = JSON.stringify(value);
45
+ const encoded = stringifiedJson.length > 70 || key === CACHE_AUTH + env
46
+ ? global.btoa(decoder.decode(deflateSync(encoder.encode(stringifiedJson))))
47
+ : stringifiedJson;
48
+ const blob = new Blob([encoded]);
49
+ const size = blob.size;
50
+ if (prev) {
51
+ client.storageSize -= new Blob([prev]).size;
52
+ }
53
+ client.storageSize += size;
54
+ if (client.storageSize > client.maxStorageSize) {
55
+ // console.info('Based - Max localStorage size reached - clear')
56
+ clearStorageBrowser();
57
+ client.storageSize = 0;
58
+ if (client.authState.persistent === true) {
59
+ setStorageBrowser(client, CACHE_AUTH + env, client.authState);
60
+ }
61
+ client.storageSize += size;
62
+ }
63
+ localStorage.setItem(CACHE_SIZE, String(client.storageSize));
64
+ localStorage.setItem(key, encoded);
65
+ }
66
+ catch (err) {
67
+ // console.error(`Based - Error writing ${key} to localStorage`, err)
68
+ }
69
+ };
70
+ const getStorageBrowser = (client, key) => {
71
+ const env = client.storageEnvKey;
72
+ if (!env) {
73
+ return;
74
+ }
75
+ try {
76
+ const value = localStorage.getItem(key);
77
+ if (value !== undefined) {
78
+ if (value.length < 70 && key !== CACHE_AUTH + env) {
79
+ try {
80
+ return JSON.parse(value);
81
+ }
82
+ catch (err) { }
83
+ }
84
+ return decode(value);
85
+ }
86
+ return;
87
+ }
88
+ catch (err) {
89
+ // console.error(`Based - Error parsing ${key} from localStorage`)
90
+ }
91
+ };
92
+ const initStorageBrowser = async (client) => {
93
+ const env = client.storageEnvKey;
94
+ if (!env) {
95
+ return;
96
+ }
97
+ const prevCache = global.__basedcache__ ?? {};
98
+ for (const key in prevCache) {
99
+ client.cache.set(Number(key), prevCache[key]);
100
+ }
101
+ try {
102
+ // compress as option!
103
+ let totalSize = Number(localStorage.getItem(CACHE_SIZE) || 0);
104
+ if (totalSize < 0) {
105
+ // console.error('Based - Corrupt localStorage (negative size) - clear')
106
+ clearStorageBrowser();
107
+ totalSize = 0;
108
+ }
109
+ client.storageSize = totalSize;
110
+ const keys = Object.keys(localStorage);
111
+ if (keys.length === 1 && totalSize > 0) {
112
+ // console.error(
113
+ // 'Based - Corrupt localStorage (size but no keys) - clear',
114
+ // totalSize
115
+ // )
116
+ clearStorageBrowser();
117
+ totalSize = 0;
118
+ }
119
+ // console.info(
120
+ // `Based - init localstorage stored ${~~(totalSize / 1024) + 'kb'}`
121
+ // )
122
+ if (totalSize > 0) {
123
+ for (const key of keys) {
124
+ if (key === CACHE_SIZE || !key.startsWith(CACHE_NAME)) {
125
+ continue;
126
+ }
127
+ if (key === CACHE_AUTH + env) {
128
+ const authState = getStorageBrowser(client, key);
129
+ if (authState) {
130
+ client.setAuthState(authState).catch((err) => {
131
+ console.error(err.message);
132
+ removeStorageBrowser(client, key);
133
+ });
134
+ }
135
+ continue;
136
+ }
137
+ const [, keyValuePair] = key.split(CACHE_PREFIX);
138
+ if (!keyValuePair) {
139
+ continue;
140
+ }
141
+ const [id, e] = keyValuePair.split('-');
142
+ if (e !== String(env)) {
143
+ continue;
144
+ }
145
+ if (!id) {
146
+ // console.warn('Based - clear corrupt localStorage item')
147
+ removeStorageBrowser(client, key);
148
+ continue;
149
+ }
150
+ const value = getStorageBrowser(client, key);
151
+ client.cache.set(Number(id), value);
152
+ }
153
+ }
154
+ }
155
+ catch (err) {
156
+ // console.error('Based - Cannot read localStorage')
157
+ }
158
+ };
159
+ export const removeStorage = (client, key) => {
160
+ const env = client.storageEnvKey;
161
+ if (!env) {
162
+ return;
163
+ }
164
+ key += '-' + env;
165
+ removeStorageBrowser(client, key);
166
+ };
167
+ export const setStorage = (client, key, value) => {
168
+ const env = client.storageEnvKey;
169
+ if (!env) {
170
+ return;
171
+ }
172
+ key += '-' + env;
173
+ setStorageBrowser(client, key, value);
174
+ };
175
+ export const updateStorage = async (_client, _instant) => { };
176
+ export const initStorage = async (client) => {
177
+ return initStorageBrowser(client);
178
+ };
179
+ export const clearStorage = async (_client) => {
180
+ return clearStorageBrowser();
181
+ };
182
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../src/persistentStorage/browser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare const CACHE_NAME = "@based";
2
+ export declare const CACHE_PREFIX: string;
3
+ export declare const CACHE_SIZE: string;
4
+ export declare const CACHE_AUTH: string;
@@ -0,0 +1,5 @@
1
+ export const CACHE_NAME = '@based';
2
+ export const CACHE_PREFIX = CACHE_NAME + '-cache-';
3
+ export const CACHE_SIZE = CACHE_NAME + '-size';
4
+ export const CACHE_AUTH = CACHE_NAME + '-authState-';
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/persistentStorage/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAA;AAClC,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,GAAG,SAAS,CAAA;AAClD,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,GAAG,OAAO,CAAA;AAC9C,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,GAAG,aAAa,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { BasedClient } from '../index.js';
2
+ export declare const removeStorage: (client: BasedClient, key: string) => void;
3
+ export declare const setStorage: (client: BasedClient, _key: string, _value: any) => void;
4
+ export declare const updateStorage: (client: BasedClient, instant?: boolean) => Promise<void>;
5
+ export declare const initStorage: (client: BasedClient) => Promise<void>;
6
+ export declare const clearStorage: (client: BasedClient) => Promise<void>;
@@ -0,0 +1,128 @@
1
+ import { join } from 'path';
2
+ import { gzip, gunzipSync } from 'node:zlib';
3
+ import { writeFile as wf, rm as rmOrignal, readFileSync, existsSync, } from 'node:fs';
4
+ import { promisify } from 'node:util';
5
+ const writeFile = promisify(wf);
6
+ const rm = promisify(rmOrignal);
7
+ const compress = promisify(gzip);
8
+ const store = async (client) => {
9
+ try {
10
+ clearTimeout(client.storageBeingWritten);
11
+ client.storageBeingWritten = null;
12
+ const file = join(client.storagePath, 'based-' + client.storageEnvKey + '.storage');
13
+ const cache = [];
14
+ client.cache.forEach((c, id) => {
15
+ if (c.p) {
16
+ cache.push(id, c.c, c.v);
17
+ }
18
+ });
19
+ const f = { cache };
20
+ if (client.authState.persistent) {
21
+ f.authState = client.authState;
22
+ }
23
+ client.storageBeingWritten = null;
24
+ await writeFile(file, await compress(JSON.stringify(f)));
25
+ }
26
+ catch (err) {
27
+ console.error(' [Based-client] Cannot update persistent storage', client.storagePath);
28
+ }
29
+ };
30
+ const writeToStorage = async (client, instant) => {
31
+ if (!client.storageBeingWritten) {
32
+ if (instant) {
33
+ store(client);
34
+ }
35
+ else {
36
+ client.storageBeingWritten = setTimeout(() => store(client), 5e3);
37
+ }
38
+ }
39
+ else if (instant) {
40
+ clearTimeout(client.storageBeingWritten);
41
+ await store(client);
42
+ }
43
+ };
44
+ const initStorageNode = async (client) => {
45
+ const file = join(client.storagePath, 'based-' + client.storageEnvKey + '.storage');
46
+ try {
47
+ const s = existsSync(file);
48
+ if (s) {
49
+ try {
50
+ const r = readFileSync(file);
51
+ const unpacked = gunzipSync(r);
52
+ const c = JSON.parse(unpacked.toString());
53
+ for (let i = 0; i < c.cache.length - 2; i += 3) {
54
+ client.cache.set(c.cache[i], {
55
+ c: c.cache[i + 1],
56
+ v: c.cache[i + 2],
57
+ p: true,
58
+ });
59
+ }
60
+ if (c.authState) {
61
+ client.setAuthState(c.authState).catch(() => {
62
+ console.error(' [Based-client] Invalid authState');
63
+ clearStorageNode(client);
64
+ });
65
+ }
66
+ }
67
+ catch (err) {
68
+ console.error(' [Based-client] Corrupt persistent storage - clear');
69
+ await clearStorageNode(client);
70
+ }
71
+ }
72
+ else {
73
+ const x = await compress(JSON.stringify({ cache: [] }));
74
+ await writeFile(file, x).catch((err) => {
75
+ if (err) {
76
+ console.error(' [Based-client] Failed creating persistent storage, cannot write file');
77
+ client.storagePath = null;
78
+ }
79
+ });
80
+ }
81
+ }
82
+ catch (err) { }
83
+ };
84
+ const clearStorageNode = async (client) => {
85
+ const file = join(client.storagePath, 'based-' + client.storageEnvKey + '.storage');
86
+ clearTimeout(client.storageBeingWritten);
87
+ return rm(file);
88
+ };
89
+ const removeStorageNode = (client, _key) => {
90
+ writeToStorage(client);
91
+ };
92
+ const setStorageNode = (client) => {
93
+ writeToStorage(client);
94
+ };
95
+ export const removeStorage = (client, key) => {
96
+ const env = client.storageEnvKey;
97
+ if (!env) {
98
+ return;
99
+ }
100
+ if (client.storagePath) {
101
+ removeStorageNode(client, key);
102
+ }
103
+ };
104
+ export const setStorage = (client, _key, _value) => {
105
+ const env = client.storageEnvKey;
106
+ if (!env) {
107
+ return;
108
+ }
109
+ if (client.storagePath) {
110
+ setStorageNode(client);
111
+ }
112
+ };
113
+ export const updateStorage = async (client, instant) => {
114
+ if (client.storagePath) {
115
+ return writeToStorage(client, instant);
116
+ }
117
+ };
118
+ export const initStorage = async (client) => {
119
+ if (client.storagePath) {
120
+ return initStorageNode(client);
121
+ }
122
+ };
123
+ export const clearStorage = async (client) => {
124
+ if (client.storagePath) {
125
+ return clearStorageNode(client);
126
+ }
127
+ };
128
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/persistentStorage/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EACL,SAAS,IAAI,EAAE,EACf,EAAE,IAAI,SAAS,EACf,YAAY,EACZ,UAAU,GACX,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,MAAM,SAAS,GAAG,SAAS,CAAC,EAAE,CAAC,CAAA;AAC/B,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,CAAA;AAC/B,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;AAEhC,MAAM,KAAK,GAAG,KAAK,EAAE,MAAmB,EAAE,EAAE;IAC1C,IAAI;QACF,YAAY,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;QACxC,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAA;QACjC,MAAM,IAAI,GAAG,IAAI,CACf,MAAM,CAAC,WAAW,EAClB,QAAQ,GAAG,MAAM,CAAC,aAAa,GAAG,UAAU,CAC7C,CAAA;QACD,MAAM,KAAK,GAAU,EAAE,CAAA;QACvB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;YAC7B,IAAI,CAAC,CAAC,CAAC,EAAE;gBACP,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;aACzB;QACH,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,GAA4C,EAAE,KAAK,EAAE,CAAA;QAC5D,IAAI,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE;YAC/B,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;SAC/B;QACD,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAA;QACjC,MAAM,SAAS,CAAC,IAAI,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KACzD;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,KAAK,CACX,qDAAqD,EACrD,MAAM,CAAC,WAAW,CACnB,CAAA;KACF;AACH,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,KAAK,EAAE,MAAmB,EAAE,OAAiB,EAAE,EAAE;IACtE,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE;QAC/B,IAAI,OAAO,EAAE;YACX,KAAK,CAAC,MAAM,CAAC,CAAA;SACd;aAAM;YACL,MAAM,CAAC,mBAAmB,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAA;SAClE;KACF;SAAM,IAAI,OAAO,EAAE;QAClB,YAAY,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;QACxC,MAAM,KAAK,CAAC,MAAM,CAAC,CAAA;KACpB;AACH,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,KAAK,EAAE,MAAmB,EAAE,EAAE;IACpD,MAAM,IAAI,GAAG,IAAI,CACf,MAAM,CAAC,WAAW,EAClB,QAAQ,GAAG,MAAM,CAAC,aAAa,GAAG,UAAU,CAC7C,CAAA;IACD,IAAI;QACF,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAE1B,IAAI,CAAC,EAAE;YACL,IAAI;gBACF,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;gBAC5B,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;gBAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;oBAC9C,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;wBAC3B,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;wBACjB,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;wBACjB,CAAC,EAAE,IAAI;qBACR,CAAC,CAAA;iBACH;gBACD,IAAI,CAAC,CAAC,SAAS,EAAE;oBACf,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;wBAC1C,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;wBACrD,gBAAgB,CAAC,MAAM,CAAC,CAAA;oBAC1B,CAAC,CAAC,CAAA;iBACH;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAA;gBACtE,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAA;aAC/B;SACF;aAAM;YACL,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;YAEvD,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACrC,IAAI,GAAG,EAAE;oBACP,OAAO,CAAC,KAAK,CACX,2EAA2E,CAC5E,CAAA;oBACD,MAAM,CAAC,WAAW,GAAG,IAAI,CAAA;iBAC1B;YACH,CAAC,CAAC,CAAA;SACH;KACF;IAAC,OAAO,GAAG,EAAE,GAAE;AAClB,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,KAAK,EAAE,MAAmB,EAAE,EAAE;IACrD,MAAM,IAAI,GAAG,IAAI,CACf,MAAM,CAAC,WAAW,EAClB,QAAQ,GAAG,MAAM,CAAC,aAAa,GAAG,UAAU,CAC7C,CAAA;IACD,YAAY,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;IACxC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,MAAmB,EAAE,IAAY,EAAE,EAAE;IAC9D,cAAc,CAAC,MAAM,CAAC,CAAA;AACxB,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,MAAmB,EAAE,EAAE;IAC7C,cAAc,CAAC,MAAM,CAAC,CAAA;AACxB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAmB,EAAE,GAAW,EAAE,EAAE;IAChE,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAA;IAChC,IAAI,CAAC,GAAG,EAAE;QACR,OAAM;KACP;IACD,IAAI,MAAM,CAAC,WAAW,EAAE;QACtB,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAC/B;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAmB,EAAE,IAAY,EAAE,MAAW,EAAE,EAAE;IAC3E,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAA;IAChC,IAAI,CAAC,GAAG,EAAE;QACR,OAAM;KACP;IACD,IAAI,MAAM,CAAC,WAAW,EAAE;QACtB,cAAc,CAAC,MAAM,CAAC,CAAA;KACvB;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,MAAmB,EAAE,OAAiB,EAAE,EAAE;IAC5E,IAAI,MAAM,CAAC,WAAW,EAAE;QACtB,OAAO,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACvC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,MAAmB,EAAE,EAAE;IACvD,IAAI,MAAM,CAAC,WAAW,EAAE;QACtB,OAAO,eAAe,CAAC,MAAM,CAAC,CAAA;KAC/B;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,MAAmB,EAAE,EAAE;IACxD,IAAI,MAAM,CAAC,WAAW,EAAE;QACtB,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAA;KAChC;AACH,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { BasedClient } from '../index.js';
2
+ export declare const store: (client: BasedClient) => Promise<void>;
3
+ export declare const initStorageNode: (client: BasedClient) => Promise<void>;
4
+ export declare const clearStorageNode: (client: BasedClient) => Promise<void>;
5
+ export declare const removeStorageNode: (client: BasedClient, _key: string) => void;
6
+ export declare const setStorageNode: (client: BasedClient, _key: string, _value: any) => void;