@based/client 3.3.0 → 4.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/README.md +32 -336
  2. package/dist/Emitter.d.ts +7 -6
  3. package/dist/Emitter.js +31 -6
  4. package/dist/Emitter.js.map +1 -1
  5. package/dist/authState/parseAuthState.d.ts +3 -0
  6. package/dist/authState/parseAuthState.js +51 -0
  7. package/dist/authState/parseAuthState.js.map +1 -0
  8. package/dist/authState/updateAuthState.d.ts +3 -0
  9. package/dist/authState/updateAuthState.js +15 -0
  10. package/dist/authState/updateAuthState.js.map +1 -0
  11. package/dist/channel/cleanUp.d.ts +2 -0
  12. package/dist/channel/cleanUp.js +32 -0
  13. package/dist/channel/cleanUp.js.map +1 -0
  14. package/dist/channel/index.d.ts +12 -0
  15. package/dist/channel/index.js +67 -0
  16. package/dist/channel/index.js.map +1 -0
  17. package/dist/genObserveId.d.ts +1 -0
  18. package/dist/genObserveId.js +12 -0
  19. package/dist/genObserveId.js.map +1 -0
  20. package/dist/getTargetInfo.d.ts +6 -0
  21. package/dist/getTargetInfo.js +14 -0
  22. package/dist/getTargetInfo.js.map +1 -0
  23. package/dist/getUrlFromOpts.d.ts +3 -0
  24. package/dist/getUrlFromOpts.js +27 -0
  25. package/dist/getUrlFromOpts.js.map +1 -0
  26. package/dist/incoming/debug.d.ts +9 -0
  27. package/dist/incoming/debug.js +132 -0
  28. package/dist/incoming/debug.js.map +1 -0
  29. package/dist/incoming/index.d.ts +2 -0
  30. package/dist/incoming/index.js +341 -0
  31. package/dist/incoming/index.js.map +1 -0
  32. package/dist/incoming/protocol.d.ts +9 -0
  33. package/dist/incoming/protocol.js +62 -0
  34. package/dist/incoming/protocol.js.map +1 -0
  35. package/dist/index.d.ts +70 -127
  36. package/dist/index.js +225 -15
  37. package/dist/index.js.map +1 -1
  38. package/dist/outgoing/debug.d.ts +8 -0
  39. package/dist/outgoing/debug.js +70 -0
  40. package/dist/outgoing/debug.js.map +1 -0
  41. package/dist/outgoing/index.d.ts +14 -0
  42. package/dist/outgoing/index.js +227 -0
  43. package/dist/outgoing/index.js.map +1 -0
  44. package/dist/outgoing/protocol.d.ts +24 -0
  45. package/dist/outgoing/protocol.js +200 -0
  46. package/dist/outgoing/protocol.js.map +1 -0
  47. package/dist/persistentStorage/browser.d.ts +5 -0
  48. package/dist/persistentStorage/browser.js +150 -0
  49. package/dist/persistentStorage/browser.js.map +1 -0
  50. package/dist/persistentStorage/index.d.ts +6 -0
  51. package/dist/persistentStorage/index.js +56 -0
  52. package/dist/persistentStorage/index.js.map +1 -0
  53. package/dist/persistentStorage/node.d.ts +6 -0
  54. package/dist/persistentStorage/node.js +104 -0
  55. package/dist/persistentStorage/node.js.map +1 -0
  56. package/dist/query/index.d.ts +17 -0
  57. package/dist/query/index.js +112 -0
  58. package/dist/query/index.js.map +1 -0
  59. package/dist/stream/fetch.d.ts +4 -0
  60. package/dist/stream/fetch.js +38 -0
  61. package/dist/stream/fetch.js.map +1 -0
  62. package/dist/stream/index.d.ts +4 -0
  63. package/dist/stream/index.js +65 -0
  64. package/dist/stream/index.js.map +1 -0
  65. package/dist/stream/nodeStream.d.ts +6 -0
  66. package/dist/stream/nodeStream.js +114 -0
  67. package/dist/stream/nodeStream.js.map +1 -0
  68. package/dist/stream/types.d.ts +37 -0
  69. package/dist/stream/types.js +8 -0
  70. package/dist/stream/types.js.map +1 -0
  71. package/dist/stream/uploadFileBrowser.d.ts +4 -0
  72. package/dist/stream/uploadFileBrowser.js +106 -0
  73. package/dist/stream/uploadFileBrowser.js.map +1 -0
  74. package/dist/types/auth.d.ts +11 -0
  75. package/dist/{selvaTypes/get.js → types/auth.js} +1 -1
  76. package/dist/types/auth.js.map +1 -0
  77. package/dist/types/cache.d.ts +6 -0
  78. package/dist/{selvaTypes/set.js → types/cache.js} +1 -1
  79. package/dist/types/cache.js.map +1 -0
  80. package/dist/types/channel.d.ts +25 -0
  81. package/dist/types/channel.js +3 -0
  82. package/dist/types/channel.js.map +1 -0
  83. package/dist/types/error.d.ts +37 -0
  84. package/dist/types/error.js +41 -0
  85. package/dist/types/error.js.map +1 -0
  86. package/dist/types/events.d.ts +34 -0
  87. package/dist/{selvaTypes/schema.js → types/events.js} +1 -1
  88. package/dist/types/events.js.map +1 -0
  89. package/dist/types/functions.d.ts +8 -0
  90. package/dist/types/functions.js +3 -0
  91. package/dist/types/functions.js.map +1 -0
  92. package/dist/types/generic.d.ts +22 -0
  93. package/dist/types/generic.js +3 -0
  94. package/dist/types/generic.js.map +1 -0
  95. package/dist/types/index.d.ts +6 -0
  96. package/dist/{subscriptions → types}/index.js +6 -10
  97. package/dist/types/index.js.map +1 -0
  98. package/dist/types/observe.d.ts +46 -0
  99. package/dist/types/observe.js +3 -0
  100. package/dist/types/observe.js.map +1 -0
  101. package/dist/websocket/index.d.ts +1 -1
  102. package/dist/websocket/index.js +19 -5
  103. package/dist/websocket/index.js.map +1 -1
  104. package/dist/websocket/types.d.ts +0 -0
  105. package/dist/websocket/types.js +0 -0
  106. package/dist/websocket/types.js.map +0 -0
  107. package/dist/websocket/urlLoader.d.ts +0 -0
  108. package/dist/websocket/urlLoader.js +0 -0
  109. package/dist/websocket/urlLoader.js.map +0 -0
  110. package/package.json +18 -27
  111. package/dist/Client.d.ts +0 -80
  112. package/dist/Client.js +0 -271
  113. package/dist/Client.js.map +0 -1
  114. package/dist/auth.d.ts +0 -13
  115. package/dist/auth.js +0 -87
  116. package/dist/auth.js.map +0 -1
  117. package/dist/createError.d.ts +0 -3
  118. package/dist/createError.js +0 -67
  119. package/dist/createError.js.map +0 -1
  120. package/dist/debug.d.ts +0 -2
  121. package/dist/debug.js +0 -21
  122. package/dist/debug.js.map +0 -1
  123. package/dist/file/fetch.d.ts +0 -6
  124. package/dist/file/fetch.js +0 -27
  125. package/dist/file/fetch.js.map +0 -1
  126. package/dist/file/getUrl.d.ts +0 -4
  127. package/dist/file/getUrl.js +0 -42
  128. package/dist/file/getUrl.js.map +0 -1
  129. package/dist/file/index.d.ts +0 -6
  130. package/dist/file/index.js +0 -95
  131. package/dist/file/index.js.map +0 -1
  132. package/dist/file/stream/browser.d.ts +0 -7
  133. package/dist/file/stream/browser.js +0 -17
  134. package/dist/file/stream/browser.js.map +0 -1
  135. package/dist/file/stream/index.d.ts +0 -7
  136. package/dist/file/stream/index.js +0 -86
  137. package/dist/file/stream/index.js.map +0 -1
  138. package/dist/file/uploadFileBrowser.d.ts +0 -3
  139. package/dist/file/uploadFileBrowser.js +0 -72
  140. package/dist/file/uploadFileBrowser.js.map +0 -1
  141. package/dist/findPrefix.d.ts +0 -3
  142. package/dist/findPrefix.js +0 -20
  143. package/dist/findPrefix.js.map +0 -1
  144. package/dist/idleTimeout.d.ts +0 -3
  145. package/dist/idleTimeout.js +0 -17
  146. package/dist/idleTimeout.js.map +0 -1
  147. package/dist/observable/index.d.ts +0 -28
  148. package/dist/observable/index.js +0 -84
  149. package/dist/observable/index.js.map +0 -1
  150. package/dist/printBasedObject.d.ts +0 -4
  151. package/dist/printBasedObject.js +0 -76
  152. package/dist/printBasedObject.js.map +0 -1
  153. package/dist/queue.d.ts +0 -5
  154. package/dist/queue.js +0 -53
  155. package/dist/queue.js.map +0 -1
  156. package/dist/request.d.ts +0 -6
  157. package/dist/request.js +0 -67
  158. package/dist/request.js.map +0 -1
  159. package/dist/selvaTypes/get.d.ts +0 -97
  160. package/dist/selvaTypes/get.js.map +0 -1
  161. package/dist/selvaTypes/schema.d.ts +0 -89
  162. package/dist/selvaTypes/schema.js.map +0 -1
  163. package/dist/selvaTypes/set.d.ts +0 -73
  164. package/dist/selvaTypes/set.js.map +0 -1
  165. package/dist/subscriptions/addGetSubscriber.d.ts +0 -3
  166. package/dist/subscriptions/addGetSubscriber.js +0 -87
  167. package/dist/subscriptions/addGetSubscriber.js.map +0 -1
  168. package/dist/subscriptions/addSubscriber.d.ts +0 -2
  169. package/dist/subscriptions/addSubscriber.js +0 -136
  170. package/dist/subscriptions/addSubscriber.js.map +0 -1
  171. package/dist/subscriptions/generateId.d.ts +0 -1
  172. package/dist/subscriptions/generateId.js +0 -11
  173. package/dist/subscriptions/generateId.js.map +0 -1
  174. package/dist/subscriptions/incomingSubscription.d.ts +0 -3
  175. package/dist/subscriptions/incomingSubscription.js +0 -87
  176. package/dist/subscriptions/incomingSubscription.js.map +0 -1
  177. package/dist/subscriptions/incomingSubscriptionDiff.d.ts +0 -3
  178. package/dist/subscriptions/incomingSubscriptionDiff.js +0 -85
  179. package/dist/subscriptions/incomingSubscriptionDiff.js.map +0 -1
  180. package/dist/subscriptions/index.d.ts +0 -10
  181. package/dist/subscriptions/index.js.map +0 -1
  182. package/dist/subscriptions/logoutSubscriptions.d.ts +0 -3
  183. package/dist/subscriptions/logoutSubscriptions.js +0 -36
  184. package/dist/subscriptions/logoutSubscriptions.js.map +0 -1
  185. package/dist/subscriptions/removeSendSubscriptionDataFromQueue.d.ts +0 -2
  186. package/dist/subscriptions/removeSendSubscriptionDataFromQueue.js +0 -14
  187. package/dist/subscriptions/removeSendSubscriptionDataFromQueue.js.map +0 -1
  188. package/dist/subscriptions/removeSubscriber.d.ts +0 -2
  189. package/dist/subscriptions/removeSubscriber.js +0 -44
  190. package/dist/subscriptions/removeSubscriber.js.map +0 -1
  191. package/dist/subscriptions/removeUnsubscribesFromQueue.d.ts +0 -2
  192. package/dist/subscriptions/removeUnsubscribesFromQueue.js +0 -14
  193. package/dist/subscriptions/removeUnsubscribesFromQueue.js.map +0 -1
  194. package/dist/subscriptions/sendAllSubscriptions.d.ts +0 -2
  195. package/dist/subscriptions/sendAllSubscriptions.js +0 -114
  196. package/dist/subscriptions/sendAllSubscriptions.js.map +0 -1
  197. package/dist/token.d.ts +0 -4
  198. package/dist/token.js +0 -35
  199. package/dist/token.js.map +0 -1
  200. package/dist/track.d.ts +0 -8
  201. package/dist/track.js +0 -71
  202. package/dist/track.js.map +0 -1
  203. package/docs/auth-based-ui-howto.md +0 -74
  204. package/docs/auth-howto.md +0 -166
  205. package/docs/auth.md +0 -93
  206. package/docs/authorize.md +0 -56
  207. package/docs/files.md +0 -66
  208. package/docs/get-started.md +0 -60
  209. package/docs/get.md +0 -759
  210. package/docs/schema.md +0 -244
  211. package/docs/set.md +0 -652
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { BasedClient } from '..';
2
+ import { FunctionQueueItem, GetObserveQueueItem, ObserveQueueItem } from '../types';
3
+ import { ChannelPublishQueueItem, ChannelQueueItem } from '../types/channel';
4
+ export declare const debugChannel: (client: BasedClient, id: number, o: ChannelQueueItem) => void;
5
+ export declare const debugGet: (client: BasedClient, id: number, o: GetObserveQueueItem) => void;
6
+ export declare const debugObserve: (client: BasedClient, id: number, o: ObserveQueueItem) => void;
7
+ export declare const debugFunction: (client: BasedClient, f: FunctionQueueItem) => void;
8
+ export declare const debugPublish: (client: BasedClient, f: ChannelPublishQueueItem) => void;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.debugPublish = exports.debugFunction = exports.debugObserve = exports.debugGet = exports.debugChannel = void 0;
4
+ const getTargetInfo_1 = require("../getTargetInfo");
5
+ const debugChannel = (client, id, o) => {
6
+ client.emit('debug', {
7
+ direction: 'outgoing',
8
+ type: o[0] === 7
9
+ ? 'unsubscribeChannel'
10
+ : o[0] === 6
11
+ ? 'registerChannelId'
12
+ : 'subscribeChannel',
13
+ target: {
14
+ id,
15
+ ...(o[0] === 7
16
+ ? undefined
17
+ : o[2]
18
+ ? { name: o[1], payload: o[2] }
19
+ : { name: o[1] }),
20
+ },
21
+ });
22
+ };
23
+ exports.debugChannel = debugChannel;
24
+ const debugGet = (client, id, o) => {
25
+ client.emit('debug', {
26
+ direction: 'outgoing',
27
+ type: 'get',
28
+ target: { id, name: o[1], payload: o[3] },
29
+ checksum: o[2],
30
+ });
31
+ };
32
+ exports.debugGet = debugGet;
33
+ const debugObserve = (client, id, o) => {
34
+ client.emit('debug', {
35
+ direction: 'outgoing',
36
+ type: o[0] === 2 ? 'unsubscribe' : 'subscribe',
37
+ target: o[0] === 2
38
+ ? {
39
+ id,
40
+ }
41
+ : {
42
+ id,
43
+ ...(o[3]
44
+ ? { name: o[1], checksum: o[2], payload: o[3] }
45
+ : { name: o[1], checksum: o[2] }),
46
+ },
47
+ });
48
+ };
49
+ exports.debugObserve = debugObserve;
50
+ const debugFunction = (client, f) => {
51
+ client.emit('debug', {
52
+ direction: 'outgoing',
53
+ type: 'function',
54
+ target: {
55
+ name: f[1],
56
+ },
57
+ ...(f[2] ? { payload: f[2] } : undefined),
58
+ });
59
+ };
60
+ exports.debugFunction = debugFunction;
61
+ const debugPublish = (client, f) => {
62
+ client.emit('debug', {
63
+ direction: 'outgoing',
64
+ type: 'publishChannel',
65
+ target: (0, getTargetInfo_1.getTargetInfo)(client, f[0], 'channel'),
66
+ payload: f[1],
67
+ });
68
+ };
69
+ exports.debugPublish = debugPublish;
70
+ //# sourceMappingURL=debug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/outgoing/debug.ts"],"names":[],"mappings":";;;AAOA,oDAAgD;AAEzC,MAAM,YAAY,GAAG,CAC1B,MAAmB,EACnB,EAAU,EACV,CAAmB,EACnB,EAAE;IACF,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;QACnB,SAAS,EAAE,UAAU;QACrB,IAAI,EACF,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACR,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACZ,CAAC,CAAC,mBAAmB;gBACrB,CAAC,CAAC,kBAAkB;QACxB,MAAM,EAAE;YACN,EAAE;YACF,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACZ,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACN,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;oBAC/B,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACpB;KACF,CAAC,CAAA;AACJ,CAAC,CAAA;AAtBY,QAAA,YAAY,gBAsBxB;AAEM,MAAM,QAAQ,GAAG,CACtB,MAAmB,EACnB,EAAU,EACV,CAAsB,EACtB,EAAE;IACF,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;QACnB,SAAS,EAAE,UAAU;QACrB,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;QACzC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;KACf,CAAC,CAAA;AACJ,CAAC,CAAA;AAXY,QAAA,QAAQ,YAWpB;AAEM,MAAM,YAAY,GAAG,CAC1B,MAAmB,EACnB,EAAU,EACV,CAAmB,EACnB,EAAE;IACF,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;QACnB,SAAS,EAAE,UAAU;QACrB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW;QAC9C,MAAM,EACJ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACR,CAAC,CAAC;gBACE,EAAE;aACH;YACH,CAAC,CAAC;gBACE,EAAE;gBACF,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACN,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;oBAC/C,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACpC;KACR,CAAC,CAAA;AACJ,CAAC,CAAA;AApBY,QAAA,YAAY,gBAoBxB;AAEM,MAAM,aAAa,GAAG,CAAC,MAAmB,EAAE,CAAoB,EAAE,EAAE;IACzE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;QACnB,SAAS,EAAE,UAAU;QACrB,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE;YACN,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;SACX;QACD,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;KAC1C,CAAC,CAAA;AACJ,CAAC,CAAA;AATY,QAAA,aAAa,iBASzB;AAEM,MAAM,YAAY,GAAG,CAC1B,MAAmB,EACnB,CAA0B,EAC1B,EAAE;IACF,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;QACnB,SAAS,EAAE,UAAU;QACrB,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,IAAA,6BAAa,EAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;QAC9C,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;KACd,CAAC,CAAA;AACJ,CAAC,CAAA;AAVY,QAAA,YAAY,gBAUxB"}
@@ -0,0 +1,14 @@
1
+ import { BasedClient } from '..';
2
+ import { AuthState, GenericObject } from '../types';
3
+ export declare const idleTimeout: (client: BasedClient) => void;
4
+ export declare const drainQueue: (client: BasedClient) => void;
5
+ export declare const stopDrainQueue: (client: BasedClient) => void;
6
+ export declare const addToFunctionQueue: (client: BasedClient, payload: GenericObject, name: string, resolve: (response: any) => void, reject: (err: Error) => void) => void;
7
+ export declare const addChannelCloseToQueue: (client: BasedClient, id: number) => void;
8
+ export declare const addChannelSubscribeToQueue: (client: BasedClient, name: string, id: number, payload: GenericObject) => void;
9
+ export declare const addChannelPublishIdentifier: (client: BasedClient, name: string, id: number, payload: GenericObject) => void;
10
+ export declare const addToPublishQueue: (client: BasedClient, id: number, payload: any) => void;
11
+ export declare const addObsCloseToQueue: (client: BasedClient, id: number) => void;
12
+ export declare const addObsToQueue: (client: BasedClient, name: string, id: number, payload: GenericObject, checksum?: number) => void;
13
+ export declare const addGetToQueue: (client: BasedClient, name: string, id: number, payload: GenericObject, checksum?: number) => void;
14
+ export declare const sendAuth: (client: BasedClient, authState: AuthState) => Promise<AuthState>;
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sendAuth = exports.addGetToQueue = exports.addObsToQueue = exports.addObsCloseToQueue = exports.addToPublishQueue = exports.addChannelPublishIdentifier = exports.addChannelSubscribeToQueue = exports.addChannelCloseToQueue = exports.addToFunctionQueue = exports.stopDrainQueue = exports.drainQueue = exports.idleTimeout = void 0;
4
+ const updateAuthState_1 = require("../authState/updateAuthState");
5
+ const protocol_1 = require("./protocol");
6
+ const utils_1 = require("@saulx/utils");
7
+ const debug_1 = require("./debug");
8
+ const PING = new Uint8Array(0);
9
+ const idleTimeout = (client) => {
10
+ const updateTime = 60 * 1e3;
11
+ clearTimeout(client.idlePing);
12
+ client.idlePing = setTimeout(() => {
13
+ if (client.connection &&
14
+ client.connected &&
15
+ !client.connection.disconnected) {
16
+ client.connection.ws.send(PING);
17
+ }
18
+ }, updateTime);
19
+ };
20
+ exports.idleTimeout = idleTimeout;
21
+ const drainQueue = (client) => {
22
+ if (client.connected &&
23
+ !client.drainInProgress &&
24
+ (client.functionQueue.length ||
25
+ client.observeQueue.size ||
26
+ client.getObserveQueue.size ||
27
+ client.channelQueue.size ||
28
+ client.publishQueue.length)) {
29
+ client.drainInProgress = true;
30
+ const drainOutgoing = () => {
31
+ client.drainInProgress = false;
32
+ if (!client.connected) {
33
+ return;
34
+ }
35
+ const debug = client.listeners.debug;
36
+ if (client.functionQueue.length ||
37
+ client.observeQueue.size ||
38
+ client.getObserveQueue.size ||
39
+ client.channelQueue.size ||
40
+ client.publishQueue.length) {
41
+ const channel = client.channelQueue;
42
+ const publish = client.publishQueue;
43
+ const fn = client.functionQueue;
44
+ const obs = client.observeQueue;
45
+ const get = client.getObserveQueue;
46
+ const buffs = [];
47
+ let l = 0;
48
+ // ------- Channel
49
+ for (const [id, o] of channel) {
50
+ const { buffers, len } = (0, protocol_1.encodeSubscribeChannelMessage)(id, o);
51
+ buffs.push(...buffers);
52
+ l += len;
53
+ if (debug) {
54
+ (0, debug_1.debugChannel)(client, id, o);
55
+ }
56
+ }
57
+ // ------- GetObserve
58
+ for (const [id, o] of get) {
59
+ const { buffers, len } = (0, protocol_1.encodeGetObserveMessage)(id, o);
60
+ buffs.push(...buffers);
61
+ l += len;
62
+ if (debug) {
63
+ (0, debug_1.debugGet)(client, id, o);
64
+ }
65
+ }
66
+ // ------- Observe
67
+ for (const [id, o] of obs) {
68
+ const { buffers, len } = (0, protocol_1.encodeObserveMessage)(id, o);
69
+ buffs.push(...buffers);
70
+ l += len;
71
+ if (debug) {
72
+ (0, debug_1.debugObserve)(client, id, o);
73
+ }
74
+ }
75
+ // ------- Function
76
+ for (const f of fn) {
77
+ const { buffers, len } = (0, protocol_1.encodeFunctionMessage)(f);
78
+ buffs.push(...buffers);
79
+ l += len;
80
+ if (debug) {
81
+ (0, debug_1.debugFunction)(client, f);
82
+ }
83
+ }
84
+ // ------- Publish
85
+ for (const f of publish) {
86
+ const { buffers, len } = (0, protocol_1.encodePublishMessage)(f);
87
+ buffs.push(...buffers);
88
+ if (debug) {
89
+ (0, debug_1.debugPublish)(client, f);
90
+ }
91
+ l += len;
92
+ }
93
+ const n = new Uint8Array(l);
94
+ let c = 0;
95
+ for (const b of buffs) {
96
+ n.set(b, c);
97
+ c += b.length;
98
+ }
99
+ client.functionQueue = [];
100
+ client.publishQueue = [];
101
+ client.observeQueue.clear();
102
+ client.getObserveQueue.clear();
103
+ client.channelQueue.clear();
104
+ client.connection.ws.send(n);
105
+ (0, exports.idleTimeout)(client);
106
+ }
107
+ };
108
+ client.drainTimeout = setTimeout(drainOutgoing, 0);
109
+ }
110
+ };
111
+ exports.drainQueue = drainQueue;
112
+ const stopDrainQueue = (client) => {
113
+ if (client.drainInProgress) {
114
+ clearTimeout(client.drainTimeout);
115
+ client.drainInProgress = false;
116
+ }
117
+ };
118
+ exports.stopDrainQueue = stopDrainQueue;
119
+ // ------------ Function ---------------
120
+ const addToFunctionQueue = (client, payload, name, resolve, reject) => {
121
+ client.requestId++;
122
+ // 3 bytes
123
+ if (client.requestId > 16777215) {
124
+ client.requestId = 0;
125
+ }
126
+ const id = client.requestId;
127
+ // TODO: When node env is not "production" | or when dev
128
+ const s = Error().stack.split(/BasedClient\.function.+:\d\d\)/)[1];
129
+ client.functionResponseListeners.set(id, [resolve, reject, s]);
130
+ client.functionQueue.push([id, name, payload]);
131
+ (0, exports.drainQueue)(client);
132
+ };
133
+ exports.addToFunctionQueue = addToFunctionQueue;
134
+ // ------------ Channel ---------------
135
+ const addChannelCloseToQueue = (client, id) => {
136
+ const type = client.channelQueue.get(id)?.[0];
137
+ if (type === 7) {
138
+ return;
139
+ }
140
+ client.channelQueue.set(id, [7]);
141
+ (0, exports.drainQueue)(client);
142
+ };
143
+ exports.addChannelCloseToQueue = addChannelCloseToQueue;
144
+ const addChannelSubscribeToQueue = (client, name, id, payload) => {
145
+ const type = client.channelQueue.get(id)?.[0];
146
+ if (type === 5) {
147
+ return;
148
+ }
149
+ client.channelQueue.set(id, [5, name, payload]);
150
+ (0, exports.drainQueue)(client);
151
+ };
152
+ exports.addChannelSubscribeToQueue = addChannelSubscribeToQueue;
153
+ const addChannelPublishIdentifier = (client, name, id, payload) => {
154
+ const type = client.channelQueue.get(id)?.[0];
155
+ if (type === 5 || type === 6) {
156
+ return;
157
+ }
158
+ if (type === 7) {
159
+ console.warn('Case not handled yet... ubsub and req for info for channel');
160
+ }
161
+ client.channelQueue.set(id, [6, name, payload]);
162
+ (0, exports.drainQueue)(client);
163
+ };
164
+ exports.addChannelPublishIdentifier = addChannelPublishIdentifier;
165
+ const addToPublishQueue = (client, id, payload) => {
166
+ client.publishQueue.push([id, payload]);
167
+ (0, exports.drainQueue)(client);
168
+ };
169
+ exports.addToPublishQueue = addToPublishQueue;
170
+ // ------------ Observable ---------------
171
+ const addObsCloseToQueue = (client, id) => {
172
+ const type = client.observeQueue.get(id)?.[0];
173
+ if (type === 2) {
174
+ return;
175
+ }
176
+ client.observeQueue.set(id, [2]);
177
+ (0, exports.drainQueue)(client);
178
+ };
179
+ exports.addObsCloseToQueue = addObsCloseToQueue;
180
+ const addObsToQueue = (client, name, id, payload, checksum = 0) => {
181
+ const type = client.observeQueue.get(id)?.[0];
182
+ if (type === 1) {
183
+ return;
184
+ }
185
+ client.observeQueue.set(id, [1, name, checksum, payload]);
186
+ (0, exports.drainQueue)(client);
187
+ };
188
+ exports.addObsToQueue = addObsToQueue;
189
+ const addGetToQueue = (client, name, id, payload, checksum = 0) => {
190
+ if (client.getObserveQueue.has(id)) {
191
+ return;
192
+ }
193
+ client.getObserveQueue.set(id, [3, name, checksum, payload]);
194
+ (0, exports.drainQueue)(client);
195
+ };
196
+ exports.addGetToQueue = addGetToQueue;
197
+ // ------------ Auth ---------------
198
+ const sendAuth = async (client, authState) => {
199
+ if ((0, utils_1.deepEqual)(authState, client.authState)) {
200
+ console.warn('[Based] Trying to send the same authState twice', client.authState);
201
+ return client.authRequest.inProgress
202
+ ? client.authRequest.promise
203
+ : new Promise((resolve) => resolve({}));
204
+ }
205
+ if (client.authRequest.inProgress) {
206
+ console.warn('[Based] Authentication still in progress - waiting until done');
207
+ await client.authRequest.promise;
208
+ }
209
+ (0, updateAuthState_1.updateAuthState)(client, authState);
210
+ client.emit('authstate-change', client.authState);
211
+ if (client.connected) {
212
+ client.connection.ws.send((0, protocol_1.encodeAuthMessage)(authState));
213
+ }
214
+ client.authRequest.promise = new Promise((resolve, reject) => {
215
+ client.authRequest.inProgress = true;
216
+ client.authRequest.resolve = resolve;
217
+ client.authRequest.reject = reject;
218
+ // Gets send in the upgrade header of the websocket
219
+ }).finally(() => {
220
+ client.authRequest.resolve = null;
221
+ client.authRequest.reject = null;
222
+ client.authRequest.inProgress = false;
223
+ });
224
+ return client.authRequest.promise;
225
+ };
226
+ exports.sendAuth = sendAuth;
227
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/outgoing/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
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) => {
5
+ buffers: Uint8Array[];
6
+ len: number;
7
+ };
8
+ export declare const encodeSubscribeChannelMessage: (id: number, o: ChannelQueueItem) => {
9
+ buffers: Uint8Array[];
10
+ len: number;
11
+ };
12
+ export declare const encodeObserveMessage: (id: number, o: import("../types").ObserveQueueItem) => {
13
+ buffers: Uint8Array[];
14
+ len: number;
15
+ };
16
+ export declare const encodeFunctionMessage: (f: FunctionQueueItem) => {
17
+ buffers: Uint8Array[];
18
+ len: number;
19
+ };
20
+ export declare const encodePublishMessage: (f: ChannelPublishQueueItem) => {
21
+ buffers: Uint8Array[];
22
+ len: number;
23
+ };
24
+ export declare const encodeAuthMessage: (authState: AuthState) => Uint8Array;
@@ -0,0 +1,200 @@
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.encodeAuthMessage = exports.encodePublishMessage = exports.encodeFunctionMessage = exports.encodeObserveMessage = exports.encodeSubscribeChannelMessage = exports.encodeGetObserveMessage = void 0;
7
+ const fflate_1 = __importDefault(require("fflate"));
8
+ const encoder = new TextEncoder();
9
+ const storeUint8 = (buff, n, start, len) => {
10
+ for (let index = start; index < start + len; index++) {
11
+ const byte = n & 0xff;
12
+ buff[index] = byte;
13
+ n = (n - byte) / 256;
14
+ }
15
+ };
16
+ const encodeHeader = (type, isDeflate, len) => {
17
+ // 4 bytes
18
+ // type (3 bits)
19
+ // 0 = function
20
+ // 1 = subscribe
21
+ // 2 = unsubscribe
22
+ // 3 = get from observable
23
+ // 4 = auth
24
+ // 5 = subscribeChannel
25
+ // 6 = publishChannel
26
+ // 7 = unsubscribeChannel
27
+ // isDeflate (1 bit)
28
+ // len (28 bits)
29
+ // @ts-ignore
30
+ const encodedMeta = (type << 1) + (isDeflate | 0);
31
+ const nr = (len << 4) + encodedMeta;
32
+ return nr;
33
+ };
34
+ const encodePayload = (payload, noDeflate = false) => {
35
+ let p;
36
+ let isDeflate = false;
37
+ if (payload !== undefined) {
38
+ p = encoder.encode(typeof payload === 'string' ? payload : JSON.stringify(payload));
39
+ if (!noDeflate && p.length > 150) {
40
+ p = fflate_1.default.deflateSync(p);
41
+ isDeflate = true;
42
+ }
43
+ return [isDeflate, p];
44
+ }
45
+ return [false];
46
+ };
47
+ const encodeGetObserveMessage = (id, o) => {
48
+ let len = 4;
49
+ const [type, name, checksum, payload] = o;
50
+ // Type 3 = get
51
+ // | 4 header | 8 id | 8 checksum | 1 name length | * name | * payload |
52
+ if (type === 3) {
53
+ const n = encoder.encode(name);
54
+ len += 1 + n.length;
55
+ const [isDeflate, p] = encodePayload(payload);
56
+ if (p) {
57
+ len += p.length;
58
+ }
59
+ const buffLen = 16;
60
+ len += buffLen;
61
+ const header = encodeHeader(type, isDeflate, len);
62
+ const buff = new Uint8Array(1 + 4 + buffLen);
63
+ storeUint8(buff, header, 0, 4);
64
+ storeUint8(buff, id, 4, 8);
65
+ storeUint8(buff, checksum, 12, 8);
66
+ buff[20] = n.length;
67
+ if (p) {
68
+ return { buffers: [buff, n, p], len };
69
+ }
70
+ else {
71
+ return { buffers: [buff, n], len };
72
+ }
73
+ }
74
+ return { buffers: [], len: 0 };
75
+ };
76
+ exports.encodeGetObserveMessage = encodeGetObserveMessage;
77
+ const encodeSubscribeChannelMessage = (id, o) => {
78
+ let len = 4;
79
+ const [type, name, payload] = o;
80
+ // Type 5 = subscribe
81
+ // | 4 header | 8 id | 1 name length | * name | * payload |
82
+ // Type 7 = unsubscribe
83
+ // | 4 header | 8 id |
84
+ if (type === 7) {
85
+ const header = encodeHeader(type, false, 12);
86
+ const buff = new Uint8Array(4 + 8);
87
+ storeUint8(buff, header, 0, 4);
88
+ storeUint8(buff, id, 4, 8);
89
+ return { buffers: [buff], len: 12 };
90
+ }
91
+ const n = encoder.encode(name);
92
+ len += 1 + n.length;
93
+ const isRequestSubscriber = type === 6;
94
+ const [, p] = encodePayload(payload, true);
95
+ if (p) {
96
+ len += p.length;
97
+ }
98
+ const buffLen = 8;
99
+ len += buffLen;
100
+ const header = encodeHeader(5, isRequestSubscriber, len);
101
+ const buff = new Uint8Array(1 + 4 + buffLen);
102
+ storeUint8(buff, header, 0, 4);
103
+ storeUint8(buff, id, 4, 8);
104
+ buff[12] = n.length;
105
+ if (p) {
106
+ return { buffers: [buff, n, p], len };
107
+ }
108
+ return { buffers: [buff, n], len };
109
+ };
110
+ exports.encodeSubscribeChannelMessage = encodeSubscribeChannelMessage;
111
+ const encodeObserveMessage = (id, o) => {
112
+ let len = 4;
113
+ const [type, name, checksum, payload] = o;
114
+ // Type 1 = subscribe
115
+ // | 4 header | 8 id | 8 checksum | 1 name length | * name | * payload |
116
+ // Type 2 = unsubscribe
117
+ // | 4 header | 8 id |
118
+ if (type === 2) {
119
+ const header = encodeHeader(type, false, 12);
120
+ const buff = new Uint8Array(4 + 8);
121
+ storeUint8(buff, header, 0, 4);
122
+ storeUint8(buff, id, 4, 8);
123
+ return { buffers: [buff], len: 12 };
124
+ }
125
+ const n = encoder.encode(name);
126
+ len += 1 + n.length;
127
+ const [isDeflate, p] = encodePayload(payload);
128
+ if (p) {
129
+ len += p.length;
130
+ }
131
+ const buffLen = 16;
132
+ len += buffLen;
133
+ const header = encodeHeader(type, isDeflate, len);
134
+ const buff = new Uint8Array(1 + 4 + buffLen);
135
+ storeUint8(buff, header, 0, 4);
136
+ storeUint8(buff, id, 4, 8);
137
+ storeUint8(buff, checksum, 12, 8);
138
+ buff[20] = n.length;
139
+ if (p) {
140
+ return { buffers: [buff, n, p], len };
141
+ }
142
+ return { buffers: [buff, n], len };
143
+ };
144
+ exports.encodeObserveMessage = encodeObserveMessage;
145
+ const encodeFunctionMessage = (f) => {
146
+ // | 4 header | 3 id | 1 name length | * name | * payload |
147
+ let len = 7;
148
+ const [id, name, payload] = f;
149
+ const n = encoder.encode(name);
150
+ len += 1 + n.length;
151
+ const [isDeflate, p] = encodePayload(payload);
152
+ if (p) {
153
+ len += p.length;
154
+ }
155
+ const header = encodeHeader(0, isDeflate, len);
156
+ const buff = new Uint8Array(4 + 3 + 1);
157
+ storeUint8(buff, header, 0, 4);
158
+ storeUint8(buff, id, 4, 3);
159
+ buff[7] = n.length;
160
+ if (p) {
161
+ return { buffers: [buff, n, p], len };
162
+ }
163
+ return { buffers: [buff, n], len };
164
+ };
165
+ exports.encodeFunctionMessage = encodeFunctionMessage;
166
+ const encodePublishMessage = (f) => {
167
+ // | 4 header | 8 id | * payload |
168
+ let len = 12;
169
+ const [id, payload] = f;
170
+ const [isDeflate, p] = encodePayload(payload);
171
+ if (p) {
172
+ len += p.length;
173
+ }
174
+ const header = encodeHeader(6, isDeflate, len);
175
+ const buff = new Uint8Array(4 + 8);
176
+ storeUint8(buff, header, 0, 4);
177
+ storeUint8(buff, id, 4, 8);
178
+ if (p) {
179
+ return { buffers: [buff, p], len };
180
+ }
181
+ return { buffers: [buff], len };
182
+ };
183
+ exports.encodePublishMessage = encodePublishMessage;
184
+ const encodeAuthMessage = (authState) => {
185
+ // | 4 header | * payload |
186
+ let len = 4;
187
+ const [isDeflate, payload] = encodePayload(authState);
188
+ if (payload) {
189
+ len += payload.length;
190
+ }
191
+ const header = encodeHeader(4, isDeflate, len);
192
+ const buff = new Uint8Array(len);
193
+ storeUint8(buff, header, 0, 4);
194
+ if (payload) {
195
+ buff.set(payload, 4);
196
+ }
197
+ return buff;
198
+ };
199
+ exports.encodeAuthMessage = encodeAuthMessage;
200
+ //# 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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"}
@@ -0,0 +1,5 @@
1
+ import { BasedClient } from '..';
2
+ export declare const removeStorageBrowser: (client: BasedClient, key: string) => void;
3
+ export declare const clearStorageBrowser: () => void;
4
+ export declare const setStorageBrowser: (client: BasedClient, key: string, value: any) => void;
5
+ export declare const initStorageBrowser: (client: BasedClient) => Promise<void>;