@based/server 0.0.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. package/LICENSE +21 -0
  2. package/{readme.md → README.md} +0 -0
  3. package/dist/api/index.d.ts +7 -0
  4. package/dist/api/index.js +173 -0
  5. package/dist/api/index.js.map +1 -0
  6. package/dist/auth/dummyAuth.d.ts +2 -0
  7. package/dist/auth/dummyAuth.js +8 -0
  8. package/dist/auth/dummyAuth.js.map +1 -0
  9. package/dist/auth/index.d.ts +15 -0
  10. package/dist/auth/index.js +49 -0
  11. package/dist/auth/index.js.map +1 -0
  12. package/dist/auth/parseAuthState.d.ts +2 -0
  13. package/dist/auth/parseAuthState.js +16 -0
  14. package/dist/auth/parseAuthState.js.map +1 -0
  15. package/dist/auth/types.d.ts +10 -0
  16. package/dist/{handlers/rest/file → auth}/types.js +0 -0
  17. package/dist/auth/types.js.map +1 -0
  18. package/dist/compress.d.ts +5 -0
  19. package/dist/compress.js +52 -0
  20. package/dist/compress.js.map +1 -0
  21. package/dist/context.d.ts +54 -0
  22. package/dist/context.js +18 -0
  23. package/dist/context.js.map +1 -0
  24. package/dist/error/errorTypeHandlers.d.ts +6 -0
  25. package/dist/error/errorTypeHandlers.js +130 -0
  26. package/dist/error/errorTypeHandlers.js.map +1 -0
  27. package/dist/error/index.d.ts +5 -0
  28. package/dist/error/index.js +61 -0
  29. package/dist/error/index.js.map +1 -0
  30. package/dist/error/types.d.ts +105 -0
  31. package/dist/error/types.js +30 -0
  32. package/dist/error/types.js.map +1 -0
  33. package/dist/functions/index.d.ts +34 -0
  34. package/dist/functions/index.js +210 -0
  35. package/dist/functions/index.js.map +1 -0
  36. package/dist/functions/timeout.d.ts +3 -0
  37. package/dist/functions/timeout.js +23 -0
  38. package/dist/functions/timeout.js.map +1 -0
  39. package/dist/functions/types.d.ts +69 -0
  40. package/dist/functions/types.js +15 -0
  41. package/dist/functions/types.js.map +1 -0
  42. package/dist/incoming/http/authorize.d.ts +4 -0
  43. package/dist/incoming/http/authorize.js +37 -0
  44. package/dist/incoming/http/authorize.js.map +1 -0
  45. package/dist/incoming/http/function.d.ts +4 -0
  46. package/dist/incoming/http/function.js +47 -0
  47. package/dist/incoming/http/function.js.map +1 -0
  48. package/dist/incoming/http/get.d.ts +4 -0
  49. package/dist/incoming/http/get.js +155 -0
  50. package/dist/incoming/http/get.js.map +1 -0
  51. package/dist/incoming/http/index.d.ts +3 -0
  52. package/dist/incoming/http/index.js +134 -0
  53. package/dist/incoming/http/index.js.map +1 -0
  54. package/dist/incoming/http/parseQuery.d.ts +4 -0
  55. package/dist/incoming/http/parseQuery.js +25 -0
  56. package/dist/incoming/http/parseQuery.js.map +1 -0
  57. package/dist/incoming/http/readBody.d.ts +4 -0
  58. package/dist/incoming/http/readBody.js +107 -0
  59. package/dist/incoming/http/readBody.js.map +1 -0
  60. package/dist/{handlers/rest/file → incoming/http/streamFunction}/DataStream.d.ts +0 -0
  61. package/dist/{handlers/rest/file → incoming/http/streamFunction}/DataStream.js +3 -1
  62. package/dist/incoming/http/streamFunction/DataStream.js.map +1 -0
  63. package/dist/{handlers/rest/file/getExtenstion.d.ts → incoming/http/streamFunction/getExtension.d.ts} +0 -0
  64. package/dist/{handlers/rest/file/getExtenstion.js → incoming/http/streamFunction/getExtension.js} +9 -2
  65. package/dist/incoming/http/streamFunction/getExtension.js.map +1 -0
  66. package/dist/incoming/http/streamFunction/index.d.ts +4 -0
  67. package/dist/incoming/http/streamFunction/index.js +106 -0
  68. package/dist/incoming/http/streamFunction/index.js.map +1 -0
  69. package/dist/incoming/http/streamFunction/multipartStream.d.ts +13 -0
  70. package/dist/incoming/http/streamFunction/multipartStream.js +208 -0
  71. package/dist/incoming/http/streamFunction/multipartStream.js.map +1 -0
  72. package/dist/incoming/http/streamFunction/stream.d.ts +6 -0
  73. package/dist/incoming/http/streamFunction/stream.js +108 -0
  74. package/dist/incoming/http/streamFunction/stream.js.map +1 -0
  75. package/dist/incoming/index.d.ts +3 -0
  76. package/dist/incoming/index.js +84 -0
  77. package/dist/incoming/index.js.map +1 -0
  78. package/dist/incoming/upgrade.d.ts +4 -0
  79. package/dist/incoming/upgrade.js +64 -0
  80. package/dist/incoming/upgrade.js.map +1 -0
  81. package/dist/incoming/ws/auth.d.ts +5 -0
  82. package/dist/incoming/ws/auth.js +40 -0
  83. package/dist/incoming/ws/auth.js.map +1 -0
  84. package/dist/incoming/ws/function.d.ts +3 -0
  85. package/dist/incoming/ws/function.js +107 -0
  86. package/dist/incoming/ws/function.js.map +1 -0
  87. package/dist/incoming/ws/get.d.ts +3 -0
  88. package/dist/incoming/ws/get.js +136 -0
  89. package/dist/incoming/ws/get.js.map +1 -0
  90. package/dist/incoming/ws/index.d.ts +3 -0
  91. package/dist/incoming/ws/index.js +61 -0
  92. package/dist/incoming/ws/index.js.map +1 -0
  93. package/dist/incoming/ws/observable.d.ts +6 -0
  94. package/dist/incoming/ws/observable.js +112 -0
  95. package/dist/incoming/ws/observable.js.map +1 -0
  96. package/dist/index.d.ts +10 -34
  97. package/dist/index.js +22 -197
  98. package/dist/index.js.map +1 -1
  99. package/dist/ip.d.ts +2 -0
  100. package/dist/ip.js +8 -0
  101. package/dist/ip.js.map +1 -0
  102. package/dist/observable/create.d.ts +3 -0
  103. package/dist/observable/create.js +30 -0
  104. package/dist/observable/create.js.map +1 -0
  105. package/dist/observable/destroy.d.ts +2 -0
  106. package/dist/observable/destroy.js +51 -0
  107. package/dist/observable/destroy.js.map +1 -0
  108. package/dist/observable/error.d.ts +4 -0
  109. package/dist/observable/error.js +17 -0
  110. package/dist/observable/error.js.map +1 -0
  111. package/dist/observable/extendCache.d.ts +2 -0
  112. package/dist/observable/extendCache.js +11 -0
  113. package/dist/observable/extendCache.js.map +1 -0
  114. package/dist/observable/genObservableId.d.ts +1 -0
  115. package/dist/observable/genObservableId.js +9 -0
  116. package/dist/observable/genObservableId.js.map +1 -0
  117. package/dist/observable/get.d.ts +4 -0
  118. package/dist/observable/get.js +15 -0
  119. package/dist/observable/get.js.map +1 -0
  120. package/dist/observable/index.d.ts +11 -0
  121. package/dist/observable/index.js +28 -0
  122. package/dist/observable/index.js.map +1 -0
  123. package/dist/observable/send.d.ts +6 -0
  124. package/dist/observable/send.js +32 -0
  125. package/dist/observable/send.js.map +1 -0
  126. package/dist/observable/start/error.d.ts +3 -0
  127. package/dist/observable/start/error.js +36 -0
  128. package/dist/observable/start/error.js.map +1 -0
  129. package/dist/observable/start/index.d.ts +2 -0
  130. package/dist/observable/start/index.js +46 -0
  131. package/dist/observable/start/index.js.map +1 -0
  132. package/dist/observable/start/update.d.ts +6 -0
  133. package/dist/observable/start/update.js +104 -0
  134. package/dist/observable/start/update.js.map +1 -0
  135. package/dist/observable/subscribe.d.ts +7 -0
  136. package/dist/observable/subscribe.js +54 -0
  137. package/dist/observable/subscribe.js.map +1 -0
  138. package/dist/observable/types.d.ts +26 -0
  139. package/dist/observable/types.js +3 -0
  140. package/dist/observable/types.js.map +1 -0
  141. package/dist/observable/unsub.d.ts +6 -0
  142. package/dist/observable/unsub.js +43 -0
  143. package/dist/observable/unsub.js.map +1 -0
  144. package/dist/observable/verify.d.ts +4 -0
  145. package/dist/observable/verify.js +18 -0
  146. package/dist/observable/verify.js.map +1 -0
  147. package/dist/protocol.d.ts +21 -0
  148. package/dist/protocol.js +233 -0
  149. package/dist/protocol.js.map +1 -0
  150. package/dist/security.d.ts +6 -0
  151. package/dist/security.js +95 -0
  152. package/dist/security.js.map +1 -0
  153. package/dist/sendError.d.ts +5 -0
  154. package/dist/sendError.js +42 -0
  155. package/dist/sendError.js.map +1 -0
  156. package/dist/sendHttpResponse.d.ts +4 -0
  157. package/dist/sendHttpResponse.js +53 -0
  158. package/dist/sendHttpResponse.js.map +1 -0
  159. package/dist/server.d.ts +69 -0
  160. package/dist/server.js +113 -0
  161. package/dist/server.js.map +1 -0
  162. package/package.json +23 -15
  163. package/dist/BasedServerClient.d.ts +0 -48
  164. package/dist/BasedServerClient.js +0 -313
  165. package/dist/BasedServerClient.js.map +0 -1
  166. package/dist/Client.d.ts +0 -69
  167. package/dist/Client.js +0 -253
  168. package/dist/Client.js.map +0 -1
  169. package/dist/Params.d.ts +0 -19
  170. package/dist/Params.js +0 -45
  171. package/dist/Params.js.map +0 -1
  172. package/dist/closeListener.d.ts +0 -4
  173. package/dist/closeListener.js +0 -13
  174. package/dist/closeListener.js.map +0 -1
  175. package/dist/findPrefix.d.ts +0 -3
  176. package/dist/findPrefix.js +0 -20
  177. package/dist/findPrefix.js.map +0 -1
  178. package/dist/getFromConfig.d.ts +0 -3
  179. package/dist/getFromConfig.js +0 -49
  180. package/dist/getFromConfig.js.map +0 -1
  181. package/dist/handlers/authorize.d.ts +0 -5
  182. package/dist/handlers/authorize.js +0 -173
  183. package/dist/handlers/authorize.js.map +0 -1
  184. package/dist/handlers/configure/index.d.ts +0 -5
  185. package/dist/handlers/configure/index.js +0 -44
  186. package/dist/handlers/configure/index.js.map +0 -1
  187. package/dist/handlers/copy/index.d.ts +0 -8
  188. package/dist/handlers/copy/index.js +0 -135
  189. package/dist/handlers/copy/index.js.map +0 -1
  190. package/dist/handlers/delete/index.d.ts +0 -5
  191. package/dist/handlers/delete/index.js +0 -34
  192. package/dist/handlers/delete/index.js.map +0 -1
  193. package/dist/handlers/digest/index.d.ts +0 -5
  194. package/dist/handlers/digest/index.js +0 -23
  195. package/dist/handlers/digest/index.js.map +0 -1
  196. package/dist/handlers/functions/call.d.ts +0 -6
  197. package/dist/handlers/functions/call.js +0 -47
  198. package/dist/handlers/functions/call.js.map +0 -1
  199. package/dist/handlers/functions/observable/Observable.d.ts +0 -49
  200. package/dist/handlers/functions/observable/Observable.js +0 -290
  201. package/dist/handlers/functions/observable/Observable.js.map +0 -1
  202. package/dist/handlers/functions/observable/SharedObservable.d.ts +0 -43
  203. package/dist/handlers/functions/observable/SharedObservable.js +0 -312
  204. package/dist/handlers/functions/observable/SharedObservable.js.map +0 -1
  205. package/dist/handlers/functions/observable/index.d.ts +0 -13
  206. package/dist/handlers/functions/observable/index.js +0 -130
  207. package/dist/handlers/functions/observable/index.js.map +0 -1
  208. package/dist/handlers/get/index.d.ts +0 -5
  209. package/dist/handlers/get/index.js +0 -23
  210. package/dist/handlers/get/index.js.map +0 -1
  211. package/dist/handlers/getConfig/index.d.ts +0 -5
  212. package/dist/handlers/getConfig/index.js +0 -37
  213. package/dist/handlers/getConfig/index.js.map +0 -1
  214. package/dist/handlers/handleRequests.d.ts +0 -5
  215. package/dist/handlers/handleRequests.js +0 -62
  216. package/dist/handlers/handleRequests.js.map +0 -1
  217. package/dist/handlers/index.d.ts +0 -4
  218. package/dist/handlers/index.js +0 -49
  219. package/dist/handlers/index.js.map +0 -1
  220. package/dist/handlers/messageParser.d.ts +0 -5
  221. package/dist/handlers/messageParser.js +0 -76
  222. package/dist/handlers/messageParser.js.map +0 -1
  223. package/dist/handlers/rest/file/DataStream.js.map +0 -1
  224. package/dist/handlers/rest/file/formStream.d.ts +0 -4
  225. package/dist/handlers/rest/file/formStream.js +0 -184
  226. package/dist/handlers/rest/file/formStream.js.map +0 -1
  227. package/dist/handlers/rest/file/getExtenstion.js.map +0 -1
  228. package/dist/handlers/rest/file/index.d.ts +0 -4
  229. package/dist/handlers/rest/file/index.js +0 -53
  230. package/dist/handlers/rest/file/index.js.map +0 -1
  231. package/dist/handlers/rest/file/storeFile.d.ts +0 -5
  232. package/dist/handlers/rest/file/storeFile.js +0 -24
  233. package/dist/handlers/rest/file/storeFile.js.map +0 -1
  234. package/dist/handlers/rest/file/stream.d.ts +0 -5
  235. package/dist/handlers/rest/file/stream.js +0 -98
  236. package/dist/handlers/rest/file/stream.js.map +0 -1
  237. package/dist/handlers/rest/file/types.d.ts +0 -9
  238. package/dist/handlers/rest/file/types.js.map +0 -1
  239. package/dist/handlers/rest/getReqMessage.d.ts +0 -3
  240. package/dist/handlers/rest/getReqMessage.js +0 -88
  241. package/dist/handlers/rest/getReqMessage.js.map +0 -1
  242. package/dist/handlers/rest/index.d.ts +0 -4
  243. package/dist/handlers/rest/index.js +0 -111
  244. package/dist/handlers/rest/index.js.map +0 -1
  245. package/dist/handlers/rest/invalidReq.d.ts +0 -4
  246. package/dist/handlers/rest/invalidReq.js +0 -20
  247. package/dist/handlers/rest/invalidReq.js.map +0 -1
  248. package/dist/handlers/rest/parseResponse.d.ts +0 -4
  249. package/dist/handlers/rest/parseResponse.js +0 -176
  250. package/dist/handlers/rest/parseResponse.js.map +0 -1
  251. package/dist/handlers/rest/readBody.d.ts +0 -3
  252. package/dist/handlers/rest/readBody.js +0 -44
  253. package/dist/handlers/rest/readBody.js.map +0 -1
  254. package/dist/handlers/set/index.d.ts +0 -5
  255. package/dist/handlers/set/index.js +0 -20
  256. package/dist/handlers/set/index.js.map +0 -1
  257. package/dist/handlers/subscription/index.d.ts +0 -34
  258. package/dist/handlers/subscription/index.js +0 -206
  259. package/dist/handlers/subscription/index.js.map +0 -1
  260. package/dist/handlers/token.d.ts +0 -5
  261. package/dist/handlers/token.js +0 -64
  262. package/dist/handlers/token.js.map +0 -1
  263. package/dist/handlers/track/index.d.ts +0 -7
  264. package/dist/handlers/track/index.js +0 -102
  265. package/dist/handlers/track/index.js.map +0 -1
  266. package/dist/openListener.d.ts +0 -4
  267. package/dist/openListener.js +0 -13
  268. package/dist/openListener.js.map +0 -1
  269. package/dist/secrets.d.ts +0 -6
  270. package/dist/secrets.js +0 -103
  271. package/dist/secrets.js.map +0 -1
  272. package/dist/types.d.ts +0 -97
  273. package/dist/types.js +0 -9
  274. package/dist/types.js.map +0 -1
  275. package/dist/upgradeListener.d.ts +0 -4
  276. package/dist/upgradeListener.js +0 -47
  277. package/dist/upgradeListener.js.map +0 -1
  278. package/dist/workers/index.d.ts +0 -0
  279. package/dist/workers/index.js +0 -20
  280. package/dist/workers/index.js.map +0 -1
  281. package/dist/workers/workerCode.d.ts +0 -12
  282. package/dist/workers/workerCode.js +0 -46
  283. package/dist/workers/workerCode.js.map +0 -1
package/dist/Params.d.ts DELETED
@@ -1,19 +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
- get based(): BasedServerClient;
19
- }
package/dist/Params.js DELETED
@@ -1,45 +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.server = server;
11
- if (callStack) {
12
- this.callStack = callStack;
13
- }
14
- if (user) {
15
- this.user = user;
16
- }
17
- if (stream) {
18
- this.fileStream = stream;
19
- }
20
- if (update) {
21
- this.update = update;
22
- }
23
- if (name) {
24
- this.name = name;
25
- }
26
- if (type) {
27
- this.type = type;
28
- }
29
- this.payload = payload;
30
- if (useGlobalBased) {
31
- this.useGlobalBased = true;
32
- }
33
- }
34
- get based() {
35
- if (this.useGlobalBased) {
36
- return this.server.based;
37
- }
38
- else {
39
- return this._based || (this._based = new BasedServerClient_1.default(this));
40
- }
41
- }
42
- }
43
- exports.Params = Params;
44
- Params.prototype.callStack = [];
45
- //# 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;QAEvB,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;IAsBD,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;AAjED,wBAiEC;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,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
@@ -1 +0,0 @@
1
- {"version":3,"file":"findPrefix.js","sourceRoot":"","sources":["../src/findPrefix.ts"],"names":[],"mappings":";;AAEA,kBAAe,CAAC,WAAwB,EAAE,IAAY,EAAiB,EAAE;IACvE,IAAI,QAAgB,CAAA;IACpB,IAAI,WAAW,CAAC,OAAO,EAAE;QACvB,KAAK,MAAM,EAAE,IAAI,WAAW,CAAC,OAAO,EAAE;YACpC,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACxC,IAAI,QAAQ,CAAC,mBAAmB,EAAE;gBAChC,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,mBAAmB,EAAE;oBACjD,IAAI,QAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;wBACjD,QAAQ,GAAG,MAAM,CAAA;wBACjB,MAAK;qBACN;iBACF;aACF;SACF;KACF;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
@@ -1,3 +0,0 @@
1
- import { BasedServer, CallFunction, ObservableFunction } from '.';
2
- export declare const getFunction: (server: BasedServer, name: string) => Promise<ObservableFunction | CallFunction | null>;
3
- export declare const getAuthorize: (server: BasedServer) => Promise<any>;
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAuthorize = exports.getFunction = void 0;
4
- // ....
5
- const getFunction = async (server, name) => {
6
- let fn = server.config?.functions?.[name];
7
- if (!fn && server.config?.functionConfig) {
8
- fn = await server.config.functionConfig.getInitial(server, name);
9
- if (fn) {
10
- if (!server.config.functions) {
11
- server.config.functions = {};
12
- }
13
- server.config.functions[name] = fn;
14
- fn.cnt = 0;
15
- }
16
- }
17
- if (fn && fn.cnt !== undefined) {
18
- fn.cnt = 0;
19
- }
20
- return fn || null;
21
- };
22
- exports.getFunction = getFunction;
23
- const getAuthorize = async (server) => {
24
- let fn = server.config?.authorize;
25
- // if from the env 'defaultAuth' call defaultAuth function as well or something?
26
- // console.info('GET AUTHORIZE CONFIG')
27
- if (!fn && server.config?.functionConfig) {
28
- const r = await server.config.functionConfig.getInitial(server, 'authorize');
29
- // console.info('GET AUTH-->', r)
30
- if (r) {
31
- if (!server.config.functions) {
32
- server.config.functions = {};
33
- }
34
- // @ts-ignore
35
- server.config.functions.authorize = fn;
36
- if (r.observable === false) {
37
- server.config.authorize = r.function;
38
- fn = r.function;
39
- server.config.noAuth = false;
40
- }
41
- }
42
- else {
43
- server.config.noAuth = true;
44
- }
45
- }
46
- return fn || null;
47
- };
48
- exports.getAuthorize = getAuthorize;
49
- //# sourceMappingURL=getFromConfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getFromConfig.js","sourceRoot":"","sources":["../src/getFromConfig.ts"],"names":[],"mappings":";;;AAEA,OAAO;AAEA,MAAM,WAAW,GAAG,KAAK,EAC9B,MAAmB,EACnB,IAAY,EACuC,EAAE;IACrD,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,CAAA;IAEzC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE;QACxC,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAEhE,IAAI,EAAE,EAAE;YACN,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE;gBAC5B,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAA;aAC7B;YACD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;YAClC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAA;SACX;KACF;IAED,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,SAAS,EAAE;QAC9B,EAAE,CAAC,GAAG,GAAG,CAAC,CAAA;KACX;IACD,OAAO,EAAE,IAAI,IAAI,CAAA;AACnB,CAAC,CAAA;AAtBY,QAAA,WAAW,eAsBvB;AAEM,MAAM,YAAY,GAAG,KAAK,EAAE,MAAmB,EAAgB,EAAE;IACtE,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAA;IAEjC,gFAAgF;IAEhF,uCAAuC;IAEvC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE;QACxC,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QAE5E,iCAAiC;QAEjC,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE;gBAC5B,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAA;aAC7B;YACD,aAAa;YACb,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAA;YAEtC,IAAI,CAAC,CAAC,UAAU,KAAK,KAAK,EAAE;gBAC1B,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,QAAQ,CAAA;gBACpC,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAA;gBACf,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAA;aAC7B;SACF;aAAM;YACL,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAA;SAC5B;KACF;IAED,OAAO,EAAE,IAAI,IAAI,CAAA;AACnB,CAAC,CAAA;AA9BY,QAAA,YAAY,gBA8BxB"}
@@ -1,5 +0,0 @@
1
- import { BasedServer } from '..';
2
- import { Message, TrackMessage } from '@based/client';
3
- import { Client } from '../Client';
4
- declare const _default: (server: BasedServer, client: Client, messages: (Message | TrackMessage)[]) => Promise<(Message | TrackMessage)[] | false>;
5
- export default _default;
@@ -1,173 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const client_1 = require("@based/client");
4
- const Params_1 = require("../Params");
5
- const getFromConfig_1 = require("../getFromConfig");
6
- exports.default = async (server, client, messages) => {
7
- const q = [];
8
- const user = client;
9
- const authorize = await (0, getFromConfig_1.getAuthorize)(server);
10
- for (const msg of messages) {
11
- if (msg[0] === client_1.RequestTypes.Unsubscribe ||
12
- msg[0] === client_1.RequestTypes.SendSubscriptionData) {
13
- q.push(true);
14
- continue;
15
- }
16
- let type;
17
- let name;
18
- let payload;
19
- if (msg[0] === client_1.RequestTypes.Track) {
20
- type = 'track';
21
- payload = msg[1];
22
- }
23
- else if (msg[0] === client_1.RequestTypes.Copy) {
24
- type = 'copy';
25
- payload = msg[2];
26
- }
27
- else if (msg[0] === client_1.RequestTypes.Digest) {
28
- type = 'digest';
29
- payload = msg[2];
30
- }
31
- else if (msg[0] === client_1.RequestTypes.Call) {
32
- type = 'function';
33
- name = msg[1];
34
- payload = msg[3];
35
- }
36
- else if (msg[0] === client_1.RequestTypes.GetConfiguration) {
37
- type = 'schema';
38
- payload = msg[2];
39
- }
40
- else if (msg[0] === client_1.RequestTypes.Configuration) {
41
- type = 'updateSchema';
42
- payload = msg[2];
43
- }
44
- else if (msg[0] === client_1.RequestTypes.Get) {
45
- type = 'get';
46
- // name
47
- payload = msg[2];
48
- }
49
- else if (msg[0] === client_1.RequestTypes.GetSubscription) {
50
- type = 'get';
51
- if (msg[4]) {
52
- name = msg[4];
53
- }
54
- payload = msg[2];
55
- }
56
- else if (msg[0] === client_1.RequestTypes.Delete) {
57
- type = 'delete';
58
- payload = msg[2];
59
- }
60
- else if (msg[0] === client_1.RequestTypes.Set) {
61
- type = 'set';
62
- payload = msg[2];
63
- }
64
- else if (msg[0] === client_1.RequestTypes.Subscription) {
65
- type = 'observe';
66
- if (msg[5]) {
67
- name = msg[5];
68
- }
69
- payload = msg[2];
70
- }
71
- // SendSubscriptionData not very nessecary - can be done later
72
- if (!type) {
73
- client.destroy();
74
- return false;
75
- }
76
- const customAuth = name && (await (0, getFromConfig_1.getFunction)(server, name))?.authorize;
77
- if (customAuth) {
78
- q.push(customAuth(new Params_1.Params(server, payload, user, null, null, name, type, true)));
79
- }
80
- else {
81
- q.push(authorize(new Params_1.Params(server, payload, user, null, null, name, type, true)));
82
- }
83
- }
84
- const authorized = await Promise.allSettled(q);
85
- let notAuthCnt = 0;
86
- for (let i = 0; i < authorized.length; i++) {
87
- const isAuthorized =
88
- // @ts-ignore
89
- authorized[i].status === 'fulfilled' && authorized[i].value;
90
- if (!isAuthorized) {
91
- const msg = messages[i - notAuthCnt];
92
- messages.splice(i - notAuthCnt, 1);
93
- notAuthCnt++;
94
- const err =
95
- // @ts-ignore
96
- authorized[i].status === 'rejected' && authorized[i].reason.message;
97
- if (msg[0] === client_1.RequestTypes.GetSubscription) {
98
- const [, id, payload, , name] = msg;
99
- client.send([
100
- client_1.RequestTypes.Subscription,
101
- id,
102
- 0,
103
- 0,
104
- {
105
- type: 'AuthorizationError',
106
- name: name ? `get "${name}"` : 'get',
107
- message: err || 'Unauthorized request',
108
- payload,
109
- auth: true,
110
- },
111
- ]);
112
- }
113
- else if (msg[0] === client_1.RequestTypes.Subscription) {
114
- const [, id, payload, , , name] = msg;
115
- client.send([
116
- client_1.RequestTypes.Subscription,
117
- id,
118
- 0,
119
- 0,
120
- {
121
- type: 'AuthorizationError',
122
- name: name ? `observe "${name}"` : 'observe',
123
- message: err || 'Unauthorized request',
124
- payload,
125
- auth: true,
126
- },
127
- ]);
128
- }
129
- else if (msg[0] === client_1.RequestTypes.Call) {
130
- const [, name, reqId, payload] = msg;
131
- client.send([
132
- client_1.RequestTypes.Call,
133
- reqId,
134
- 0,
135
- {
136
- type: 'AuthorizationError',
137
- name: `call "${name}"`,
138
- auth: true,
139
- message: err || 'Unauthorized request',
140
- payload,
141
- },
142
- ]);
143
- }
144
- else if (msg[0] === client_1.RequestTypes.Set ||
145
- msg[0] === client_1.RequestTypes.Get ||
146
- msg[0] === client_1.RequestTypes.Configuration ||
147
- msg[0] === client_1.RequestTypes.GetConfiguration ||
148
- msg[0] === client_1.RequestTypes.Delete ||
149
- msg[0] === client_1.RequestTypes.Copy ||
150
- msg[0] === client_1.RequestTypes.Digest ||
151
- msg[0] === client_1.RequestTypes.Track) {
152
- client.send([
153
- msg[0],
154
- msg[1],
155
- 0,
156
- {
157
- type: 'AuthorizationError',
158
- name: client_1.RequestTypes[msg[0]].toLowerCase(),
159
- message: err || 'Unauthorized request',
160
- auth: true,
161
- payload: msg[2], // if observe or get without name call it query
162
- },
163
- ]);
164
- }
165
- else {
166
- console.error('Not handling request in not authorized handler! ' +
167
- client_1.RequestTypes[msg[0]]);
168
- }
169
- }
170
- }
171
- return messages;
172
- };
173
- //# sourceMappingURL=authorize.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"authorize.js","sourceRoot":"","sources":["../../src/handlers/authorize.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { BasedServer } from '../..';
2
- import Client from '../../Client';
3
- import { RequestMessage } from '@based/client';
4
- declare const _default: (server: BasedServer, client: Client, [, reqId, payload]: RequestMessage<import("@based/client").GenericObject>) => Promise<void>;
5
- export default _default;
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const client_1 = require("@based/client");
4
- exports.default = async (server, client, [, reqId, payload]) => {
5
- try {
6
- if (Array.isArray(payload)) {
7
- const updatedSchema = await Promise.all(payload.map(async (configuration) => {
8
- let updatedSchema = false;
9
- if (configuration.schema) {
10
- updatedSchema = true;
11
- await server.db.updateSchema(configuration.schema, configuration.db || 'default');
12
- }
13
- return updatedSchema;
14
- }));
15
- client.send([
16
- client_1.RequestTypes.Configuration,
17
- reqId,
18
- { updatedSchema: updatedSchema.includes(true) },
19
- ]);
20
- }
21
- else {
22
- let updatedSchema = false;
23
- if (payload.schema) {
24
- updatedSchema = true;
25
- await server.db.updateSchema(payload.schema, payload.db || 'default');
26
- }
27
- client.send([client_1.RequestTypes.Configuration, reqId, { updatedSchema }]);
28
- }
29
- }
30
- catch (err) {
31
- client.send([
32
- client_1.RequestTypes.Configuration,
33
- reqId,
34
- 0,
35
- {
36
- type: 'ValidationError',
37
- name: 'updateSchema',
38
- message: err.message,
39
- payload,
40
- },
41
- ]);
42
- }
43
- };
44
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/configure/index.ts"],"names":[],"mappings":";;AAEA,0CAA4D;AAE5D,kBAAe,KAAK,EAClB,MAAmB,EACnB,MAAc,EACd,CAAC,EAAE,KAAK,EAAE,OAAO,CAAiB,EAClC,EAAE;IACF,IAAI;QACF,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC1B,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE;gBAClC,IAAI,aAAa,GAAG,KAAK,CAAA;gBACzB,IAAI,aAAa,CAAC,MAAM,EAAE;oBACxB,aAAa,GAAG,IAAI,CAAA;oBACpB,MAAM,MAAM,CAAC,EAAE,CAAC,YAAY,CAC1B,aAAa,CAAC,MAAM,EACpB,aAAa,CAAC,EAAE,IAAI,SAAS,CAC9B,CAAA;iBACF;gBACD,OAAO,aAAa,CAAA;YACtB,CAAC,CAAC,CACH,CAAA;YACD,MAAM,CAAC,IAAI,CAAC;gBACV,qBAAY,CAAC,aAAa;gBAC1B,KAAK;gBACL,EAAE,aAAa,EAAE,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;aAChD,CAAC,CAAA;SACH;aAAM;YACL,IAAI,aAAa,GAAG,KAAK,CAAA;YACzB,IAAI,OAAO,CAAC,MAAM,EAAE;gBAClB,aAAa,GAAG,IAAI,CAAA;gBACpB,MAAM,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,SAAS,CAAC,CAAA;aACtE;YACD,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAY,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,CAAA;SACpE;KACF;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,CAAC,IAAI,CAAC;YACV,qBAAY,CAAC,aAAa;YAC1B,KAAK;YACL,CAAC;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,OAAO;aACR;SACF,CAAC,CAAA;KACH;AACH,CAAC,CAAA"}
@@ -1,8 +0,0 @@
1
- import { BasedServer } from '../..';
2
- import Client from '../../Client';
3
- import { RequestMessage, Copy } from '@based/client';
4
- export declare const copy: (server: BasedServer, payload: Copy) => Promise<{
5
- ids: string[];
6
- }>;
7
- declare const _default: (server: BasedServer, client: Client, [, reqId, payload]: RequestMessage<import("@based/client").GenericObject>) => Promise<void>;
8
- export default _default;
@@ -1,135 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.copy = void 0;
4
- const client_1 = require("@based/client");
5
- const hash_1 = require("@saulx/hash");
6
- const copy = async (server, payload) => {
7
- const query = {
8
- $id: payload.$id,
9
- $all: true,
10
- };
11
- if (payload.db) {
12
- query.$db = payload.db;
13
- }
14
- if (payload.deep) {
15
- query.children = true;
16
- query.allChildren = {
17
- $all: true,
18
- parents: {
19
- id: true,
20
- $list: true,
21
- },
22
- children: true,
23
- $list: {
24
- $find: {
25
- $traverse: 'descendants',
26
- },
27
- },
28
- };
29
- }
30
- if (!payload.parents) {
31
- query.parents = {
32
- id: true,
33
- $list: true,
34
- };
35
- }
36
- let r;
37
- try {
38
- r = await server.db.get(query);
39
- }
40
- catch (err) {
41
- err.name = 'CopyGetError';
42
- throw err;
43
- }
44
- const setObj = {
45
- type: r.type,
46
- parents: r.parents ? r.parents.map((v) => v.id) : payload.parents,
47
- };
48
- if (payload.db) {
49
- setObj.$db = payload.db;
50
- }
51
- const addedChildren = {};
52
- const allChildren = r.allChildren;
53
- const setObjects = [];
54
- const copyIt = (setObj, obj, topLevel = false) => {
55
- setObjects.push(setObj);
56
- if (payload.deep) {
57
- addedChildren[obj.id] = setObj;
58
- setObj.$id =
59
- obj.id.slice(0, 2) +
60
- (0, hash_1.hashCompact)(obj.id.slice(2, -1) + Math.floor(Math.random() * 999999999) + 'copy');
61
- }
62
- if (!setObj.parents) {
63
- setObj.parents = [];
64
- }
65
- if (!topLevel) {
66
- if (obj.parents) {
67
- for (const p of obj.parents) {
68
- let s = addedChildren[p.id];
69
- if (!s) {
70
- const getObj = allChildren.find((v) => v.id === p.id);
71
- if (getObj) {
72
- s = copyIt({}, getObj, false);
73
- setObj.parents.push(s.$id);
74
- // same so lets find it
75
- }
76
- else {
77
- setObj.parents.push(p.id);
78
- }
79
- }
80
- else {
81
- setObj.parents.push(s.$id);
82
- }
83
- }
84
- }
85
- }
86
- if (payload.db) {
87
- setObj.$db = payload.db;
88
- }
89
- for (const f in obj) {
90
- if (f === 'parents' ||
91
- f === 'allChildren' ||
92
- f === 'id' ||
93
- (payload.excludeFields && payload.excludeFields.find((v) => v === f))) {
94
- continue;
95
- }
96
- if (f === 'children') {
97
- for (const id of obj.children) {
98
- if (!addedChildren[id]) {
99
- const getObj = allChildren.find((v) => v.id === id);
100
- copyIt({}, getObj, false);
101
- }
102
- }
103
- }
104
- else if (f === 'name') {
105
- setObj.name = obj[f] + ' copy';
106
- }
107
- else {
108
- setObj[f] = obj[f];
109
- }
110
- }
111
- return setObj;
112
- };
113
- copyIt(setObj, r, true);
114
- // TODO: ordering setObjects on most efficient parents
115
- const ids = await Promise.all(setObjects.map((s) => server.db.set(s)));
116
- // @ts-ignore
117
- return { ids: ids };
118
- };
119
- exports.copy = copy;
120
- exports.default = async (server, client, [, reqId, payload]) => {
121
- // can do a check for subscriptions
122
- try {
123
- const r = await (0, exports.copy)(server, payload);
124
- client.send([client_1.RequestTypes.Copy, reqId, r]);
125
- }
126
- catch (err) {
127
- client.send([
128
- client_1.RequestTypes.Copy,
129
- reqId,
130
- 0,
131
- { type: 'ValidationError', name: 'copy', message: err.message, payload },
132
- ]);
133
- }
134
- };
135
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/copy/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { BasedServer } from '../..';
2
- import Client from '../../Client';
3
- import { RequestMessage } from '@based/client';
4
- declare const _default: (server: BasedServer, client: Client, [, reqId, payload]: RequestMessage<import("@based/client").GenericObject>) => Promise<void>;
5
- export default _default;
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const client_1 = require("@based/client");
4
- exports.default = async (server, client, [, reqId, payload]) => {
5
- const deleteFile = server.config?.deleteFile;
6
- try {
7
- if (deleteFile) {
8
- if (payload.$id.startsWith('fi')) {
9
- await deleteFile({
10
- id: payload.$id,
11
- db: payload.$db,
12
- based: server.based,
13
- });
14
- }
15
- // add special option to get all nested files back
16
- const isDeleted = await server.db.delete(payload);
17
- client.send([client_1.RequestTypes.Delete, reqId, { isDeleted }]);
18
- }
19
- else {
20
- const isDeleted = await server.db.delete(payload);
21
- client.send([client_1.RequestTypes.Delete, reqId, { isDeleted }]);
22
- }
23
- }
24
- catch (err) {
25
- console.error(err);
26
- client.send([
27
- client_1.RequestTypes.Set,
28
- reqId,
29
- 0,
30
- { type: 'ValidationError', name: 'set', message: err.message, payload },
31
- ]);
32
- }
33
- };
34
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/handlers/delete/index.ts"],"names":[],"mappings":";;AAEA,0CAA4D;AAE5D,kBAAe,KAAK,EAClB,MAAmB,EACnB,MAAc,EACd,CAAC,EAAE,KAAK,EAAE,OAAO,CAAiB,EAClC,EAAE;IACF,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAA;IAC5C,IAAI;QACF,IAAI,UAAU,EAAE;YACd,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBAChC,MAAM,UAAU,CAAC;oBACf,EAAE,EAAE,OAAO,CAAC,GAAG;oBACf,EAAE,EAAE,OAAO,CAAC,GAAG;oBACf,KAAK,EAAE,MAAM,CAAC,KAAK;iBACpB,CAAC,CAAA;aACH;YAED,kDAAkD;YAClD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,EAAE,CAAC,MAAM,CACP,OAAO,CACvC,CAAA;YACD,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAY,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;SACzD;aAAM;YACL,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,EAAE,CAAC,MAAM,CACP,OAAO,CACvC,CAAA;YACD,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAY,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;SACzD;KACF;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAClB,MAAM,CAAC,IAAI,CAAC;YACV,qBAAY,CAAC,GAAG;YAChB,KAAK;YACL,CAAC;YACD,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE;SACxE,CAAC,CAAA;KACH;AACH,CAAC,CAAA"}
@@ -1,5 +0,0 @@
1
- import { BasedServer } from '../..';
2
- import Client from '../../Client';
3
- import { RequestMessage } from '@based/client';
4
- declare const _default: (server: BasedServer, client: Client, [, reqId, opts]: RequestMessage<import("@based/client").GenericObject>) => Promise<void>;
5
- export default _default;