@based/server 6.3.0 → 6.4.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 (216) hide show
  1. package/dist/channel/start.js +1 -1
  2. package/dist/channel/start.js.map +1 -1
  3. package/dist/incoming/http/function.js +40 -0
  4. package/dist/incoming/http/function.js.map +1 -1
  5. package/dist/incoming/http/index.js +3 -0
  6. package/dist/incoming/http/index.js.map +1 -1
  7. package/dist/incoming/upgrade.js +2 -0
  8. package/dist/incoming/upgrade.js.map +1 -1
  9. package/dist/incoming/ws/function.js +1 -1
  10. package/dist/incoming/ws/function.js.map +1 -1
  11. package/dist/query/start/index.js +1 -1
  12. package/dist/query/start/index.js.map +1 -1
  13. package/dist/query/start/relay.d.ts +4 -1
  14. package/dist/query/start/relay.js +2 -2
  15. package/dist/query/start/relay.js.map +1 -1
  16. package/dist/security.js +1 -0
  17. package/dist/security.js.map +1 -1
  18. package/package.json +1 -1
  19. package/dist/BasedServerClient.d.ts +0 -71
  20. package/dist/BasedServerClient.js +0 -390
  21. package/dist/BasedServerClient.js.map +0 -1
  22. package/dist/Client.d.ts +0 -75
  23. package/dist/Client.js +0 -277
  24. package/dist/Client.js.map +0 -1
  25. package/dist/Params.d.ts +0 -20
  26. package/dist/Params.js +0 -48
  27. package/dist/Params.js.map +0 -1
  28. package/dist/closeListener.d.ts +0 -4
  29. package/dist/closeListener.js +0 -13
  30. package/dist/closeListener.js.map +0 -1
  31. package/dist/createSimpleServer.d.ts +0 -34
  32. package/dist/createSimpleServer.js +0 -209
  33. package/dist/createSimpleServer.js.map +0 -1
  34. package/dist/findPrefix.d.ts +0 -3
  35. package/dist/findPrefix.js +0 -20
  36. package/dist/findPrefix.js.map +0 -1
  37. package/dist/getFromConfig.d.ts +0 -3
  38. package/dist/getFromConfig.js +0 -50
  39. package/dist/getFromConfig.js.map +0 -1
  40. package/dist/handlers/authorize.d.ts +0 -5
  41. package/dist/handlers/authorize.js +0 -196
  42. package/dist/handlers/authorize.js.map +0 -1
  43. package/dist/handlers/bulkUpdate/index.d.ts +0 -5
  44. package/dist/handlers/bulkUpdate/index.js +0 -26
  45. package/dist/handlers/bulkUpdate/index.js.map +0 -1
  46. package/dist/handlers/configuration/index.d.ts +0 -10
  47. package/dist/handlers/configuration/index.js +0 -74
  48. package/dist/handlers/configuration/index.js.map +0 -1
  49. package/dist/handlers/configuration/observable/index.d.ts +0 -46
  50. package/dist/handlers/configuration/observable/index.js +0 -277
  51. package/dist/handlers/configuration/observable/index.js.map +0 -1
  52. package/dist/handlers/configure/index.d.ts +0 -5
  53. package/dist/handlers/configure/index.js +0 -44
  54. package/dist/handlers/configure/index.js.map +0 -1
  55. package/dist/handlers/copy/index.d.ts +0 -8
  56. package/dist/handlers/copy/index.js +0 -135
  57. package/dist/handlers/copy/index.js.map +0 -1
  58. package/dist/handlers/delete/index.d.ts +0 -5
  59. package/dist/handlers/delete/index.js +0 -34
  60. package/dist/handlers/delete/index.js.map +0 -1
  61. package/dist/handlers/digest/index.d.ts +0 -5
  62. package/dist/handlers/digest/index.js +0 -23
  63. package/dist/handlers/digest/index.js.map +0 -1
  64. package/dist/handlers/functions/call.d.ts +0 -6
  65. package/dist/handlers/functions/call.js +0 -54
  66. package/dist/handlers/functions/call.js.map +0 -1
  67. package/dist/handlers/functions/observable/Observable.d.ts +0 -49
  68. package/dist/handlers/functions/observable/Observable.js +0 -290
  69. package/dist/handlers/functions/observable/Observable.js.map +0 -1
  70. package/dist/handlers/functions/observable/SharedObservable.d.ts +0 -45
  71. package/dist/handlers/functions/observable/SharedObservable.js +0 -291
  72. package/dist/handlers/functions/observable/SharedObservable.js.map +0 -1
  73. package/dist/handlers/functions/observable/index.d.ts +0 -14
  74. package/dist/handlers/functions/observable/index.js +0 -130
  75. package/dist/handlers/functions/observable/index.js.map +0 -1
  76. package/dist/handlers/get/index.d.ts +0 -5
  77. package/dist/handlers/get/index.js +0 -23
  78. package/dist/handlers/get/index.js.map +0 -1
  79. package/dist/handlers/getConfig/index.d.ts +0 -5
  80. package/dist/handlers/getConfig/index.js +0 -38
  81. package/dist/handlers/getConfig/index.js.map +0 -1
  82. package/dist/handlers/handleRequests.d.ts +0 -5
  83. package/dist/handlers/handleRequests.js +0 -78
  84. package/dist/handlers/handleRequests.js.map +0 -1
  85. package/dist/handlers/index.d.ts +0 -4
  86. package/dist/handlers/index.js +0 -49
  87. package/dist/handlers/index.js.map +0 -1
  88. package/dist/handlers/messageParser.d.ts +0 -5
  89. package/dist/handlers/messageParser.js +0 -122
  90. package/dist/handlers/messageParser.js.map +0 -1
  91. package/dist/handlers/removeField/index.d.ts +0 -5
  92. package/dist/handlers/removeField/index.js +0 -42
  93. package/dist/handlers/removeField/index.js.map +0 -1
  94. package/dist/handlers/removeType/index.d.ts +0 -5
  95. package/dist/handlers/removeType/index.js +0 -30
  96. package/dist/handlers/removeType/index.js.map +0 -1
  97. package/dist/handlers/rest/file/DataStream.d.ts +0 -7
  98. package/dist/handlers/rest/file/DataStream.js +0 -17
  99. package/dist/handlers/rest/file/DataStream.js.map +0 -1
  100. package/dist/handlers/rest/file/formStream.d.ts +0 -4
  101. package/dist/handlers/rest/file/formStream.js +0 -188
  102. package/dist/handlers/rest/file/formStream.js.map +0 -1
  103. package/dist/handlers/rest/file/getExtenstion.d.ts +0 -2
  104. package/dist/handlers/rest/file/getExtenstion.js +0 -22
  105. package/dist/handlers/rest/file/getExtenstion.js.map +0 -1
  106. package/dist/handlers/rest/file/index.d.ts +0 -4
  107. package/dist/handlers/rest/file/index.js +0 -53
  108. package/dist/handlers/rest/file/index.js.map +0 -1
  109. package/dist/handlers/rest/file/storeFile.d.ts +0 -6
  110. package/dist/handlers/rest/file/storeFile.js +0 -44
  111. package/dist/handlers/rest/file/storeFile.js.map +0 -1
  112. package/dist/handlers/rest/file/stream.d.ts +0 -5
  113. package/dist/handlers/rest/file/stream.js +0 -104
  114. package/dist/handlers/rest/file/stream.js.map +0 -1
  115. package/dist/handlers/rest/file/types.d.ts +0 -9
  116. package/dist/handlers/rest/file/types.js +0 -3
  117. package/dist/handlers/rest/file/types.js.map +0 -1
  118. package/dist/handlers/rest/getReqMessage.d.ts +0 -3
  119. package/dist/handlers/rest/getReqMessage.js +0 -92
  120. package/dist/handlers/rest/getReqMessage.js.map +0 -1
  121. package/dist/handlers/rest/index.d.ts +0 -4
  122. package/dist/handlers/rest/index.js +0 -121
  123. package/dist/handlers/rest/index.js.map +0 -1
  124. package/dist/handlers/rest/invalidReq.d.ts +0 -4
  125. package/dist/handlers/rest/invalidReq.js +0 -20
  126. package/dist/handlers/rest/invalidReq.js.map +0 -1
  127. package/dist/handlers/rest/parseResponse.d.ts +0 -6
  128. package/dist/handlers/rest/parseResponse.js +0 -230
  129. package/dist/handlers/rest/parseResponse.js.map +0 -1
  130. package/dist/handlers/rest/playground/index.d.ts +0 -5
  131. package/dist/handlers/rest/playground/index.js +0 -308
  132. package/dist/handlers/rest/playground/index.js.map +0 -1
  133. package/dist/handlers/rest/readBody.d.ts +0 -3
  134. package/dist/handlers/rest/readBody.js +0 -45
  135. package/dist/handlers/rest/readBody.js.map +0 -1
  136. package/dist/handlers/set/index.d.ts +0 -5
  137. package/dist/handlers/set/index.js +0 -20
  138. package/dist/handlers/set/index.js.map +0 -1
  139. package/dist/handlers/subscription/index.d.ts +0 -32
  140. package/dist/handlers/subscription/index.js +0 -223
  141. package/dist/handlers/subscription/index.js.map +0 -1
  142. package/dist/handlers/token.d.ts +0 -5
  143. package/dist/handlers/token.js +0 -122
  144. package/dist/handlers/token.js.map +0 -1
  145. package/dist/handlers/track/index.d.ts +0 -7
  146. package/dist/handlers/track/index.js +0 -102
  147. package/dist/handlers/track/index.js.map +0 -1
  148. package/dist/handlers/userAuth/index.d.ts +0 -5
  149. package/dist/handlers/userAuth/index.js +0 -78
  150. package/dist/handlers/userAuth/index.js.map +0 -1
  151. package/dist/incoming/ws/observable.d.ts +0 -7
  152. package/dist/incoming/ws/observable.js +0 -91
  153. package/dist/incoming/ws/observable.js.map +0 -1
  154. package/dist/observable/cleanup.d.ts +0 -2
  155. package/dist/observable/cleanup.js +0 -66
  156. package/dist/observable/cleanup.js.map +0 -1
  157. package/dist/observable/create.d.ts +0 -3
  158. package/dist/observable/create.js +0 -35
  159. package/dist/observable/create.js.map +0 -1
  160. package/dist/observable/destroy.d.ts +0 -4
  161. package/dist/observable/destroy.js +0 -47
  162. package/dist/observable/destroy.js.map +0 -1
  163. package/dist/observable/extendCache.d.ts +0 -2
  164. package/dist/observable/extendCache.js +0 -10
  165. package/dist/observable/extendCache.js.map +0 -1
  166. package/dist/observable/genObservableId.d.ts +0 -1
  167. package/dist/observable/genObservableId.js +0 -12
  168. package/dist/observable/genObservableId.js.map +0 -1
  169. package/dist/observable/get.d.ts +0 -4
  170. package/dist/observable/get.js +0 -15
  171. package/dist/observable/get.js.map +0 -1
  172. package/dist/observable/index.d.ts +0 -10
  173. package/dist/observable/index.js +0 -27
  174. package/dist/observable/index.js.map +0 -1
  175. package/dist/observable/send.d.ts +0 -5
  176. package/dist/observable/send.js +0 -26
  177. package/dist/observable/send.js.map +0 -1
  178. package/dist/observable/start/error.d.ts +0 -3
  179. package/dist/observable/start/error.js +0 -43
  180. package/dist/observable/start/error.js.map +0 -1
  181. package/dist/observable/start/index.d.ts +0 -2
  182. package/dist/observable/start/index.js +0 -67
  183. package/dist/observable/start/index.js.map +0 -1
  184. package/dist/observable/start/relay.d.ts +0 -4
  185. package/dist/observable/start/relay.js +0 -14
  186. package/dist/observable/start/relay.js.map +0 -1
  187. package/dist/observable/start/update.d.ts +0 -3
  188. package/dist/observable/start/update.js +0 -116
  189. package/dist/observable/start/update.js.map +0 -1
  190. package/dist/observable/subscribe.d.ts +0 -7
  191. package/dist/observable/subscribe.js +0 -47
  192. package/dist/observable/subscribe.js.map +0 -1
  193. package/dist/observable/types.d.ts +0 -25
  194. package/dist/observable/types.js +0 -3
  195. package/dist/observable/types.js.map +0 -1
  196. package/dist/observable/unsub.d.ts +0 -6
  197. package/dist/observable/unsub.js +0 -46
  198. package/dist/observable/unsub.js.map +0 -1
  199. package/dist/openListener.d.ts +0 -4
  200. package/dist/openListener.js +0 -13
  201. package/dist/openListener.js.map +0 -1
  202. package/dist/secrets.d.ts +0 -9
  203. package/dist/secrets.js +0 -150
  204. package/dist/secrets.js.map +0 -1
  205. package/dist/types.d.ts +0 -129
  206. package/dist/types.js +0 -17
  207. package/dist/types.js.map +0 -1
  208. package/dist/upgradeListener.d.ts +0 -4
  209. package/dist/upgradeListener.js +0 -47
  210. package/dist/upgradeListener.js.map +0 -1
  211. package/dist/workers/index.d.ts +0 -0
  212. package/dist/workers/index.js +0 -20
  213. package/dist/workers/index.js.map +0 -1
  214. package/dist/workers/workerCode.d.ts +0 -12
  215. package/dist/workers/workerCode.js +0 -46
  216. package/dist/workers/workerCode.js.map +0 -1
package/dist/Client.js DELETED
@@ -1,277 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Client = void 0;
7
- const secrets_1 = require("./secrets");
8
- const utils_1 = require("@saulx/utils");
9
- const parseResponse_1 = __importDefault(require("./handlers/rest/parseResponse"));
10
- const ua_parser_js_1 = __importDefault(require("ua-parser-js"));
11
- let clientId = 0;
12
- let totalBp = 0;
13
- // make abstract class (rest client)
14
- // why not make this user less new things that need to be made
15
- class Client {
16
- constructor(server, socket, res, type = 0) {
17
- this.isBasedUser = false;
18
- this.isApiKey = false;
19
- this.id = ++clientId;
20
- this._server = server;
21
- if (socket) {
22
- this.socket = socket;
23
- socket.client = this;
24
- }
25
- this.type = type;
26
- if (res) {
27
- this.res = res;
28
- }
29
- }
30
- params(name) {
31
- if (this._params) {
32
- if (name) {
33
- return this._params[name] || null;
34
- }
35
- return this._params;
36
- }
37
- const s = this.socket;
38
- if (s) {
39
- const params = {};
40
- this._params = params;
41
- try {
42
- const arr = s.query.split(/\?|&/g);
43
- for (const pair of arr) {
44
- const [k, v = true] = pair.split('=');
45
- params[k] = v;
46
- }
47
- }
48
- catch (err) { }
49
- if (name) {
50
- return this._params[name] || null;
51
- }
52
- return this._params;
53
- }
54
- else {
55
- return name ? null : {};
56
- }
57
- }
58
- session(obj) {
59
- if (!this._session) {
60
- this._session = {};
61
- }
62
- if (obj) {
63
- if (!obj || typeof obj !== 'object') {
64
- console.error('Cannot set a non object on session');
65
- return this._session;
66
- }
67
- (0, utils_1.deepMerge)(this._session, obj);
68
- }
69
- return this._session;
70
- }
71
- get ip() {
72
- if (this._ip) {
73
- return this._ip;
74
- }
75
- if (this.socket) {
76
- return (this._ip = Buffer.from(this.socket.getRemoteAddressAsText()).toString());
77
- }
78
- if (this.res) {
79
- return (this._ip = Buffer.from(this.res.getRemoteAddressAsText()).toString());
80
- }
81
- return '::1';
82
- }
83
- get ua() {
84
- if (this._ua) {
85
- return this._ua;
86
- }
87
- // UA Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36
88
- // fix the tablet etc
89
- const ua = (this._ua = new ua_parser_js_1.default((this.socket ? this.socket.ua : this.res.ua) || '').getResult());
90
- return ua;
91
- }
92
- setToken(token, opts) {
93
- if (token) {
94
- if (this._unpackedToken && this._token !== token) {
95
- delete this._unpackedToken;
96
- }
97
- if (opts?.isApiKey) {
98
- this.isApiKey = true;
99
- }
100
- else if (opts?.isBasedUser) {
101
- this.isBasedUser = true;
102
- }
103
- else {
104
- this.isBasedUser = false;
105
- }
106
- this._token = token;
107
- if (opts?.refreshToken) {
108
- this._refreshToken = opts.refreshToken;
109
- }
110
- }
111
- else {
112
- this.isApiKey = false;
113
- this.isBasedUser = false;
114
- if (this._unpackedToken) {
115
- delete this._unpackedToken;
116
- }
117
- if (this._token) {
118
- delete this._token;
119
- }
120
- if (this._refreshToken) {
121
- delete this._refreshToken;
122
- }
123
- }
124
- }
125
- get geo() {
126
- if (this._geo) {
127
- return this._geo;
128
- }
129
- const getGeo = this._server.config?.getGeo;
130
- if (this._server.config?.getGeo) {
131
- return (this._geo = getGeo(this.ip));
132
- }
133
- else {
134
- return {
135
- iso: 'unkown',
136
- regions: [],
137
- long: 0,
138
- lat: 0,
139
- };
140
- }
141
- }
142
- async token(secret, type = 'jwt') {
143
- if (this._unpackedToken) {
144
- return this._unpackedToken;
145
- }
146
- if (this._token) {
147
- if (this.isApiKey) {
148
- const getApiKeysPublicKey = this._server?.config?.getApiKeysPublicKey;
149
- if (getApiKeysPublicKey) {
150
- const apiTokensPublicKey = await getApiKeysPublicKey();
151
- this._unpackedToken = await (0, secrets_1.decodeToken)(this._token, apiTokensPublicKey);
152
- }
153
- }
154
- else if (this.isBasedUser) {
155
- if (secret) {
156
- throw new Error('Cannot validate based user with a custom secret');
157
- }
158
- const getBasedKey = this._server?.config?.getBasedKey;
159
- if (getBasedKey) {
160
- this._unpackedToken = await (0, secrets_1.decodeToken)(this._token, await getBasedKey());
161
- }
162
- else {
163
- console.warn('No getBasedKey defined');
164
- }
165
- }
166
- else if (typeof secret === 'string') {
167
- if (!secret) {
168
- return this._token;
169
- }
170
- this._unpackedToken = await (0, secrets_1.decodeValueBySecret)(this._server, this._token, secret, type);
171
- }
172
- else if (typeof secret === 'object' && secret.publicKey) {
173
- this._unpackedToken = await (0, secrets_1.decodeToken)(this._token, secret.publicKey);
174
- }
175
- else {
176
- return this._token;
177
- }
178
- }
179
- return this._unpackedToken;
180
- }
181
- drain() {
182
- while (this.socket &&
183
- !this.closed &&
184
- !this.socket.getBufferedAmount() &&
185
- this.backpressureQueue?.length) {
186
- totalBp--;
187
- const [payload, time] = this.backpressureQueue.shift();
188
- if (Date.now() - time > 10e3) {
189
- this.backpressureQueue = [];
190
- console.info('last bp is larger then 10 seconds destroy client');
191
- this.destroy();
192
- return;
193
- }
194
- if (!this.socket.send(JSON.stringify(payload))) {
195
- console.info('drain build bp --- ', this.backpressureQueue.length, 'length in queue still');
196
- }
197
- }
198
- // totalBpQ
199
- if (this.backpressureQueue?.length === 0) {
200
- this.backpressureQueue = null;
201
- }
202
- }
203
- send(payload, headers) {
204
- // here we are going to add checksum ALLWAYS
205
- if (this.res) {
206
- (0, parseResponse_1.default)(this.res, payload, this.type, undefined, headers);
207
- this.destroy();
208
- }
209
- else if (!this.closed && this.socket) {
210
- if (this.socket.getBufferedAmount()) {
211
- if (!this.backpressureQueue) {
212
- this.backpressureQueue = [];
213
- }
214
- if (this.backpressureQueue.length) {
215
- const time = this.backpressureQueue[0][1];
216
- if (Date.now() - time > 10e3) {
217
- this.backpressureQueue = [];
218
- console.info('last bp is larger then 10 seconds destory');
219
- this.destroy();
220
- return;
221
- }
222
- }
223
- totalBp++;
224
- if (totalBp > 5e3) {
225
- console.info('Too much bp EXIT process');
226
- process.exit();
227
- }
228
- this.backpressureQueue.push([payload, Date.now()]);
229
- if (this.backpressureQueue.length > 50) {
230
- this.backpressureQueue = [];
231
- console.info('too large bp destroy client');
232
- this.destroy();
233
- return;
234
- }
235
- console.info('add to bp queue', this.backpressureQueue.length, this.socket.getBufferedAmount());
236
- }
237
- else {
238
- // lets do better with backpressure
239
- // buffer directly?
240
- if (typeof payload === 'string') {
241
- this.socket.send(payload);
242
- }
243
- else {
244
- this.socket.send(JSON.stringify(payload));
245
- }
246
- }
247
- }
248
- else {
249
- console.info('Not sending socket is closed ', !!this.socket, this.closed);
250
- }
251
- }
252
- destroy(socketClosed) {
253
- this.closed = true;
254
- if (this.backpressureQueue && this.backpressureQueue.length) {
255
- totalBp -= this.backpressureQueue.length;
256
- this.backpressureQueue = [];
257
- }
258
- if (this.subscriptions) {
259
- for (const id in this.subscriptions) {
260
- this.subscriptions[id].unsubscribe(this);
261
- }
262
- }
263
- if (this.socket) {
264
- this.socket.client = null;
265
- if (!socketClosed) {
266
- this.socket.end();
267
- }
268
- this.socket = null;
269
- }
270
- else {
271
- this.res = null;
272
- }
273
- }
274
- }
275
- exports.Client = Client;
276
- exports.default = Client;
277
- //# sourceMappingURL=Client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Client.js","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}
package/dist/Params.d.ts DELETED
@@ -1,20 +0,0 @@
1
- /// <reference types="node" />
2
- import { BasedServer } from './';
3
- import BasedServerClient from './BasedServerClient';
4
- import { Client } from './Client';
5
- import { Readable } from 'stream';
6
- export declare class Params {
7
- constructor(server: BasedServer, payload?: any, user?: Client, callStack?: string[], update?: (value: any, checksum?: number) => void, name?: string, type?: string, useGlobalBased?: boolean, stream?: Readable);
8
- private useGlobalBased?;
9
- type?: string;
10
- name?: string;
11
- update: (value: any, checksum?: number) => void;
12
- callStack: string[];
13
- user: Client;
14
- payload?: any;
15
- fileStream?: Readable;
16
- private _based;
17
- server: BasedServer;
18
- path?: string;
19
- get based(): BasedServerClient;
20
- }
package/dist/Params.js DELETED
@@ -1,48 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Params = void 0;
7
- const BasedServerClient_1 = __importDefault(require("./BasedServerClient"));
8
- class Params {
9
- constructor(server, payload, user, callStack, update, name, type, useGlobalBased = false, stream = null) {
10
- this.update = (value, checksum) => {
11
- console.warn('cannot use update on a non-observable function', value, checksum);
12
- };
13
- this.server = server;
14
- if (callStack) {
15
- this.callStack = callStack;
16
- }
17
- if (user) {
18
- this.user = user;
19
- }
20
- if (stream) {
21
- this.fileStream = stream;
22
- }
23
- if (update) {
24
- this.update = update;
25
- }
26
- if (name) {
27
- this.name = name;
28
- }
29
- if (type) {
30
- this.type = type;
31
- }
32
- this.payload = payload;
33
- if (useGlobalBased) {
34
- this.useGlobalBased = true;
35
- }
36
- }
37
- get based() {
38
- if (this.useGlobalBased) {
39
- return this.server.based;
40
- }
41
- else {
42
- return this._based || (this._based = new BasedServerClient_1.default(this));
43
- }
44
- }
45
- }
46
- exports.Params = Params;
47
- Params.prototype.callStack = [];
48
- //# sourceMappingURL=Params.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Params.js","sourceRoot":"","sources":["../src/Params.ts"],"names":[],"mappings":";;;;;;AACA,4EAAmD;AAInD,MAAa,MAAM;IACjB,YACE,MAAmB,EACnB,OAAa,EACb,IAAa,EACb,SAAoB,EACpB,MAAgD,EAChD,IAAa,EACb,IAAa,EACb,iBAA0B,KAAK,EAC/B,SAAmB,IAAI;QAkClB,WAAM,GAA4C,CACvD,KAAU,EACV,QAAiB,EACjB,EAAE;YACF,OAAO,CAAC,IAAI,CACV,gDAAgD,EAChD,KAAK,EACL,QAAQ,CACT,CAAA;QACH,CAAC,CAAA;QAzCC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;SAC3B;QACD,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;SACjB;QACD,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,UAAU,GAAG,MAAM,CAAA;SACzB;QACD,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;SACrB;QACD,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;SACjB;QACD,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;SACjB;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QAEtB,IAAI,cAAc,EAAE;YAClB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;SAC3B;IACH,CAAC;IAiCD,IAAI,KAAK;QACP,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAA;SACzB;aAAM;YACL,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,2BAAiB,CAAC,IAAI,CAAC,CAAC,CAAA;SAClE;IACH,CAAC;CACF;AA5ED,wBA4EC;AAED,MAAM,CAAC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAA"}
@@ -1,4 +0,0 @@
1
- import uws from '@based/uws';
2
- import { BasedServer } from '.';
3
- declare const close: (server: BasedServer, socket: uws.WebSocket) => void;
4
- export default close;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const close = (server, socket) => {
4
- if (!socket.client) {
5
- return;
6
- }
7
- const client = socket.client;
8
- server.emit('close', client);
9
- delete server.clients[client.id];
10
- client.destroy(true);
11
- };
12
- exports.default = close;
13
- //# sourceMappingURL=closeListener.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"closeListener.js","sourceRoot":"","sources":["../src/closeListener.ts"],"names":[],"mappings":";;AAGA,MAAM,KAAK,GAAG,CAAC,MAAmB,EAAE,MAAqB,EAAE,EAAE;IAC3D,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;QAClB,OAAM;KACP;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC5B,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAChC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AACtB,CAAC,CAAA;AAED,kBAAe,KAAK,CAAA"}
@@ -1,34 +0,0 @@
1
- import { BasedFunctionSpec, BasedQueryFunctionSpec, BasedStreamFunctionSpec, BasedSpec, BasedChannelFunctionSpec } from './functions';
2
- import { BasedQueryFunction, BasedFunction, BasedChannelFunction, BasedStreamFunction } from '@based/functions';
3
- import { BasedServer, ServerOptions } from './server';
4
- export type SimpleServerOptions = {
5
- install?: (opts: {
6
- server: BasedServer;
7
- name: string;
8
- function?: BasedSpec;
9
- }) => Promise<null | BasedSpec>;
10
- uninstall?: (opts: {
11
- server: BasedServer;
12
- name: string;
13
- function: BasedSpec;
14
- }) => Promise<boolean>;
15
- functions?: {
16
- [key: string]: BasedFunction | Partial<BasedFunctionSpec>;
17
- };
18
- streams?: {
19
- [key: string]: BasedStreamFunction | Partial<BasedStreamFunctionSpec>;
20
- };
21
- queryFunctions?: {
22
- [key: string]: BasedQueryFunction | Partial<BasedQueryFunctionSpec>;
23
- };
24
- channels?: {
25
- [key: string]: BasedChannelFunction | Partial<BasedChannelFunctionSpec>;
26
- };
27
- silent?: boolean;
28
- closeAfterIdleTime?: {
29
- channel: number;
30
- query: number;
31
- };
32
- uninstallAfterIdleTime?: number;
33
- } & Omit<ServerOptions, 'functions'>;
34
- export declare function createSimpleServer(props: SimpleServerOptions, sharedSocket?: boolean): Promise<BasedServer>;
@@ -1,209 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createSimpleServer = void 0;
7
- const functions_1 = require("./functions");
8
- const picocolors_1 = __importDefault(require("picocolors"));
9
- const server_1 = require("./server");
10
- const utils_1 = require("@saulx/utils");
11
- async function createSimpleServer(props, sharedSocket) {
12
- const { functions, queryFunctions, streams, channels } = props;
13
- const functionStore = {};
14
- for (const name in functions) {
15
- if (functions[name]) {
16
- const fn = functions[name];
17
- if ((0, functions_1.isSpec)(fn)) {
18
- functionStore[name] = {
19
- function: fn.function,
20
- name,
21
- checksum: 1,
22
- maxPayloadSize: 5e4,
23
- rateLimitTokens: 1,
24
- ...fn,
25
- };
26
- }
27
- else if (typeof fn === 'function') {
28
- functionStore[name] = {
29
- function: fn,
30
- name,
31
- checksum: 1,
32
- maxPayloadSize: 5e4,
33
- rateLimitTokens: 1,
34
- };
35
- }
36
- else {
37
- console.error(name, fn, 'Is not a function!');
38
- }
39
- }
40
- }
41
- for (const name in queryFunctions) {
42
- if (queryFunctions[name]) {
43
- const fn = queryFunctions[name];
44
- if ((0, functions_1.isSpec)(fn)) {
45
- functionStore[name] = {
46
- checksum: 1,
47
- query: true,
48
- function: fn.function,
49
- name,
50
- maxPayloadSize: 5000,
51
- rateLimitTokens: 1,
52
- ...fn,
53
- };
54
- }
55
- else if (typeof fn === 'function') {
56
- functionStore[name] = {
57
- checksum: 1,
58
- query: true,
59
- function: fn,
60
- name,
61
- maxPayloadSize: 5000,
62
- rateLimitTokens: 1,
63
- };
64
- }
65
- else {
66
- console.error(name, fn, 'Is not a query function!');
67
- }
68
- }
69
- }
70
- for (const name in streams) {
71
- if (streams[name]) {
72
- const fn = streams[name];
73
- if ((0, functions_1.isSpec)(fn)) {
74
- functionStore[name] = {
75
- checksum: 1,
76
- stream: true,
77
- function: fn.function,
78
- name,
79
- maxPayloadSize: 1e9,
80
- rateLimitTokens: 10,
81
- ...fn,
82
- };
83
- }
84
- else if (typeof fn === 'function') {
85
- functionStore[name] = {
86
- checksum: 1,
87
- stream: true,
88
- function: fn,
89
- name,
90
- maxPayloadSize: 1e9,
91
- rateLimitTokens: 10,
92
- };
93
- }
94
- else {
95
- console.error(name, fn, 'Is not a stream function!');
96
- }
97
- }
98
- }
99
- for (const name in channels) {
100
- if (channels[name]) {
101
- const fn = channels[name];
102
- if ((0, functions_1.isSpec)(fn)) {
103
- functionStore[name] = {
104
- checksum: 1,
105
- channel: true,
106
- function: fn.function,
107
- publish: fn.publish ||
108
- ((based, payload, msg, id) => {
109
- console.warn(' ↓ Publish to channel (no handler defined)', name, payload, msg, id);
110
- }),
111
- name,
112
- maxPayloadSize: 500,
113
- rateLimitTokens: 1,
114
- ...fn,
115
- };
116
- }
117
- else if (typeof fn === 'function') {
118
- functionStore[name] = {
119
- checksum: 1,
120
- channel: true,
121
- publish: (based, payload, msg, id) => {
122
- console.warn(' ↓ Publish to channel (no handler defined)', name, payload, msg, id);
123
- },
124
- function: fn,
125
- name,
126
- maxPayloadSize: 500,
127
- rateLimitTokens: 1,
128
- };
129
- }
130
- else {
131
- console.error(name, fn, 'Is not a channel function!');
132
- }
133
- }
134
- }
135
- const properProps = {
136
- ...props,
137
- functions: {
138
- closeAfterIdleTime: props.closeAfterIdleTime,
139
- uninstallAfterIdleTime: props.uninstallAfterIdleTime || -1,
140
- uninstall: props.uninstall ||
141
- (async () => {
142
- return true;
143
- }),
144
- install: props.install ||
145
- (async ({ name }) => {
146
- if (functionStore[name]) {
147
- return functionStore[name];
148
- }
149
- else {
150
- return null;
151
- }
152
- }),
153
- route: ({ server, path, name }) => {
154
- // TODO: too slow will create a dedicated ROUTE thing later
155
- let rootFn;
156
- if (path) {
157
- for (const name in functionStore) {
158
- const fnPath = functionStore[name].path;
159
- if (fnPath === path) {
160
- return functionStore[name];
161
- }
162
- if (!rootFn && fnPath === '/') {
163
- rootFn = functionStore[name];
164
- }
165
- }
166
- // this will not work for now... will go into ROUTES
167
- // addRoutes // addSpecs(, true) // makes them info routes as well
168
- // easier to reaosn about
169
- // for (const name in server.functions.specs) {
170
- // const fnPath = server.functions.specs[name].path
171
- // if (fnPath === path) {
172
- // return server.functions.specs[name]
173
- // }
174
- // if (!rootFn && fnPath === '/') {
175
- // rootFn = server.functions.specs[name]
176
- // }
177
- // }
178
- }
179
- return (functionStore[name] || server.functions.specs[name] || rootFn || null);
180
- },
181
- },
182
- };
183
- if (!props.silent) {
184
- console.info(' ', picocolors_1.default.white('Based-server'), `starting with functions`);
185
- }
186
- let longestName = 0;
187
- for (const name in functionStore) {
188
- if (name.length > longestName) {
189
- longestName = name.length;
190
- }
191
- }
192
- for (const name in functionStore) {
193
- const obs = (0, functions_1.isChannelFunctionSpec)(functionStore[name])
194
- ? '[channel]'
195
- : (0, functions_1.isQueryFunctionSpec)(functionStore[name])
196
- ? '[query]'
197
- : (0, functions_1.isStreamFunctionSpec)(functionStore[name])
198
- ? '[stream]'
199
- : '';
200
- const pub = functionStore[name].public ? 'public' : 'private';
201
- if (!props.silent) {
202
- console.info(' ', picocolors_1.default.white(name), (0, utils_1.padLeft)('', longestName + 2 - name.length, ' '), picocolors_1.default.gray(pub), (0, utils_1.padLeft)('', 8 - pub.length, ' '), picocolors_1.default.green(obs), (0, utils_1.padLeft)('', 14 - obs.length, ' '), functionStore[name].path || '');
203
- }
204
- }
205
- const basedServer = new server_1.BasedServer(properProps);
206
- return props.port ? basedServer.start(props.port, sharedSocket) : basedServer;
207
- }
208
- exports.createSimpleServer = createSimpleServer;
209
- //# sourceMappingURL=createSimpleServer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createSimpleServer.js","sourceRoot":"","sources":["../src/createSimpleServer.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { SelvaClient } from '@saulx/selva';
2
- declare const _default: (selvaClient: SelvaClient, type: string) => string | void;
3
- export default _default;
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = (selvaClient, type) => {
4
- let idPrefix;
5
- if (selvaClient.schemas) {
6
- for (const db in selvaClient.schemas) {
7
- const dbSchema = selvaClient.schemas[db];
8
- if (dbSchema.prefixToTypeMapping) {
9
- for (const prefix in dbSchema.prefixToTypeMapping) {
10
- if (dbSchema.prefixToTypeMapping[prefix] === type) {
11
- idPrefix = prefix;
12
- break;
13
- }
14
- }
15
- }
16
- }
17
- }
18
- return idPrefix;
19
- };
20
- //# sourceMappingURL=findPrefix.js.map