@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
@@ -1,87 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addGetSubscriber = void 0;
4
- const types_1 = require("@based/types");
5
- const queue_1 = require("../queue");
6
- const generateId_1 = require("./generateId");
7
- const addGetSubscriber = (client, query, onInitial, subscriptionId, name) => {
8
- if (!subscriptionId) {
9
- subscriptionId = (0, generateId_1.generateSubscriptionId)(query, name);
10
- }
11
- let subscription = client.subscriptions[subscriptionId];
12
- const cache = client.cache[subscriptionId];
13
- if (subscription) {
14
- if (subscription.authError) {
15
- if (!client.beingAuth) {
16
- onInitial(subscription.authError.error, subscriptionId, 0);
17
- }
18
- else {
19
- const subscriberId = ++subscription.cnt;
20
- subscription.subscribers[subscriberId] = {
21
- onInitial,
22
- };
23
- }
24
- }
25
- else if (cache) {
26
- onInitial(null, subscriptionId, 0, cache.value);
27
- }
28
- else {
29
- const subscriberId = ++subscription.cnt;
30
- subscription.subscribers[subscriberId] = {
31
- onInitial,
32
- };
33
- }
34
- }
35
- else {
36
- subscription = client.subscriptions[subscriptionId] = {
37
- query,
38
- cnt: 1,
39
- name,
40
- subscribers: {
41
- 1: {
42
- onInitial,
43
- },
44
- },
45
- };
46
- let dontSend;
47
- for (let i = 0; i < client.subscriptionQueue.length; i++) {
48
- const [type, id, , checksum] = client.subscriptionQueue[i];
49
- if ((type === types_1.RequestTypes.Unsubscribe ||
50
- type === types_1.RequestTypes.SendSubscriptionData) &&
51
- id === subscriptionId) {
52
- client.subscriptionQueue.splice(i, 1);
53
- i--;
54
- }
55
- else if ((type === types_1.RequestTypes.Subscription ||
56
- type === types_1.RequestTypes.GetSubscription) &&
57
- id === subscriptionId) {
58
- dontSend = true;
59
- if (type === types_1.RequestTypes.Subscription) {
60
- if (checksum !== cache.checksum) {
61
- client.subscriptionQueue[i][3] = cache.checksum;
62
- }
63
- client.subscriptionQueue[i][4] = 2;
64
- }
65
- }
66
- }
67
- if (!dontSend) {
68
- const payload = [
69
- types_1.RequestTypes.GetSubscription,
70
- subscriptionId,
71
- query,
72
- ];
73
- if (cache) {
74
- payload.push(cache.checksum);
75
- }
76
- if (name) {
77
- if (!cache) {
78
- payload.push(0);
79
- }
80
- payload.push(name);
81
- }
82
- (0, queue_1.addToQueue)(client, payload);
83
- }
84
- }
85
- };
86
- exports.addGetSubscriber = addGetSubscriber;
87
- //# sourceMappingURL=addGetSubscriber.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addGetSubscriber.js","sourceRoot":"","sources":["../../src/subscriptions/addGetSubscriber.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { BasedClient } from '..';
2
- export declare const addSubscriber: (client: BasedClient, query: any, onData: (data: any, checksum: number) => void, onInitial?: (err: Error | null, subscriptionId?: number, subscriberId?: number, data?: any, isAuthError?: boolean) => void, onError?: (err: Error) => void, subscriptionId?: number, name?: string) => [number, number];
@@ -1,136 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addSubscriber = void 0;
4
- const types_1 = require("@based/types");
5
- const queue_1 = require("../queue");
6
- const generateId_1 = require("./generateId");
7
- const addSubscriber = (client, query, onData, onInitial, onError, subscriptionId, name) => {
8
- if (!subscriptionId) {
9
- subscriptionId = (0, generateId_1.generateSubscriptionId)(query, name);
10
- }
11
- let subscription = client.subscriptions[subscriptionId];
12
- const cache = client.cache[subscriptionId];
13
- let subscriberId;
14
- if (subscription) {
15
- subscriberId = ++subscription.cnt;
16
- let onlyGets = true;
17
- for (const k in subscription.subscribers) {
18
- const s = subscription.subscribers[k];
19
- if (s.onData) {
20
- onlyGets = false;
21
- break;
22
- }
23
- }
24
- subscription.subscribers[subscriberId] = {
25
- onError,
26
- onData,
27
- onInitial,
28
- };
29
- if (onlyGets) {
30
- // FIX THIS CASE
31
- // need to check if its connected and if the thing is either in the queue or awaiting response
32
- for (let i = 0; i < client.subscriptionQueue.length; i++) {
33
- const [type, id] = client.subscriptionQueue[i];
34
- if (type === types_1.RequestTypes.GetSubscription && id === subscriptionId) {
35
- client.subscriptionQueue.splice(i, 1);
36
- i--;
37
- }
38
- }
39
- const payload = [
40
- types_1.RequestTypes.Subscription,
41
- subscriptionId,
42
- query,
43
- ];
44
- if (cache) {
45
- payload.push(cache.checksum);
46
- payload.push(2);
47
- }
48
- if (name) {
49
- if (!cache) {
50
- payload.push(0, 2);
51
- }
52
- payload.push(name);
53
- }
54
- (0, queue_1.addToQueue)(client, payload);
55
- }
56
- }
57
- else {
58
- subscriberId = 1;
59
- subscription = client.subscriptions[subscriptionId] = {
60
- query,
61
- cnt: 1,
62
- name,
63
- subscribers: {
64
- 1: {
65
- onError,
66
- onData,
67
- onInitial,
68
- },
69
- },
70
- };
71
- let dontSend = false;
72
- let includeReply = false;
73
- let subsMsg;
74
- for (let i = 0; i < client.subscriptionQueue.length; i++) {
75
- const [type, id, , checksum] = client.subscriptionQueue[i];
76
- if ((type === types_1.RequestTypes.Unsubscribe ||
77
- type === types_1.RequestTypes.SendSubscriptionData ||
78
- type === types_1.RequestTypes.GetSubscription) && // DO STILL NEED A REPLY THAT IT DID NOT CHANGE
79
- id === subscriptionId) {
80
- if (type === types_1.RequestTypes.GetSubscription) {
81
- includeReply = true;
82
- }
83
- if (subsMsg) {
84
- subsMsg[4] = 2;
85
- }
86
- client.subscriptionQueue.splice(i, 1);
87
- i--;
88
- }
89
- else if (type === types_1.RequestTypes.Subscription && id === subscriptionId) {
90
- dontSend = true;
91
- subsMsg = client.subscriptionQueue[i];
92
- if (checksum !== cache.checksum) {
93
- subsMsg[3] = cache.checksum;
94
- }
95
- if (!subsMsg[4] && includeReply) {
96
- subsMsg[4] = 2;
97
- }
98
- }
99
- }
100
- if (!dontSend) {
101
- const payload = [
102
- types_1.RequestTypes.Subscription,
103
- subscriptionId,
104
- query,
105
- ];
106
- if (cache) {
107
- payload.push(cache.checksum);
108
- if (includeReply) {
109
- payload.push(2);
110
- }
111
- }
112
- if (name) {
113
- if (!cache) {
114
- payload.push(0, 0);
115
- }
116
- else if (!includeReply && cache) {
117
- payload.push(2);
118
- }
119
- payload.push(name);
120
- }
121
- (0, queue_1.addToQueue)(client, payload);
122
- }
123
- }
124
- if (cache) {
125
- if (onInitial) {
126
- onInitial(null, subscriptionId, subscriberId);
127
- delete subscription.subscribers[subscriberId].onInitial;
128
- }
129
- if (onData) {
130
- onData(cache.value, cache.checksum);
131
- }
132
- }
133
- return [subscriptionId, subscriberId];
134
- };
135
- exports.addSubscriber = addSubscriber;
136
- //# sourceMappingURL=addSubscriber.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addSubscriber.js","sourceRoot":"","sources":["../../src/subscriptions/addSubscriber.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare const generateSubscriptionId: (payload: any, name?: string) => number;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateSubscriptionId = void 0;
4
- const hash_1 = require("@saulx/hash");
5
- const generateSubscriptionId = (payload, name) => {
6
- return name
7
- ? (0, hash_1.hashObjectIgnoreKeyOrder)([name, payload])
8
- : (0, hash_1.hashObjectIgnoreKeyOrder)(payload);
9
- };
10
- exports.generateSubscriptionId = generateSubscriptionId;
11
- //# sourceMappingURL=generateId.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateId.js","sourceRoot":"","sources":["../../src/subscriptions/generateId.ts"],"names":[],"mappings":";;;AAAA,sCAAsD;AAE/C,MAAM,sBAAsB,GAAG,CAAC,OAAY,EAAE,IAAa,EAAU,EAAE;IAC5E,OAAO,IAAI;QACT,CAAC,CAAC,IAAA,+BAAwB,EAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC,CAAC,IAAA,+BAAwB,EAAC,OAAO,CAAC,CAAA;AACvC,CAAC,CAAA;AAJY,QAAA,sBAAsB,0BAIlC"}
@@ -1,3 +0,0 @@
1
- import { BasedClient } from '..';
2
- import { SubscriptionData } from '@based/types';
3
- export declare const incomingSubscription: (client: BasedClient, data: SubscriptionData) => void;
@@ -1,87 +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.incomingSubscription = void 0;
7
- const createError_1 = __importDefault(require("../createError"));
8
- const removeSubscriber_1 = require("./removeSubscriber");
9
- const incomingSubscription = (client, data) => {
10
- const [, id, value, checksum, err] = data;
11
- const subscription = client.subscriptions[id];
12
- if (subscription) {
13
- const previousChecksum = client.cache[id] && client.cache[id].checksum;
14
- if (err) {
15
- const error = (0, createError_1.default)(err);
16
- if (err.auth) {
17
- // add auth
18
- subscription.authError = {
19
- token: client.token,
20
- error,
21
- };
22
- // console.error(error)
23
- }
24
- for (const subscriberId in subscription.subscribers) {
25
- const subscriber = subscription.subscribers[subscriberId];
26
- if (subscriber.onInitial) {
27
- if (!err.auth) {
28
- subscriber.onInitial(error, Number(id), Number(subscriberId));
29
- delete subscriber.onInitial;
30
- (0, removeSubscriber_1.removeSubscriber)(client, id, Number(subscriberId));
31
- }
32
- else {
33
- if (subscriber.onError) {
34
- subscriber.onError(error);
35
- }
36
- subscriber.onInitial(error, Number(id), Number(subscriberId), undefined, true);
37
- delete subscriber.onInitial;
38
- }
39
- // delete whole subscription
40
- }
41
- else if (subscriber.onError) {
42
- subscriber.onError(error);
43
- }
44
- }
45
- }
46
- else if (previousChecksum === checksum) {
47
- if (subscription.authError) {
48
- delete subscription.authError;
49
- }
50
- // should be enough...
51
- for (const subscriberId in subscription.subscribers) {
52
- const subscriber = subscription.subscribers[subscriberId];
53
- if (subscriber.onInitial) {
54
- subscriber.onInitial(null, Number(id), Number(subscriberId), client.cache[id].value);
55
- delete subscriber.onInitial;
56
- if (!subscriber.onData) {
57
- (0, removeSubscriber_1.removeSubscriber)(client, id, Number(subscriberId));
58
- }
59
- }
60
- }
61
- }
62
- else {
63
- if (subscription.authError) {
64
- delete subscription.authError;
65
- }
66
- client.cache[id] = {
67
- value,
68
- checksum,
69
- };
70
- for (const subscriberId in subscription.subscribers) {
71
- const subscriber = subscription.subscribers[subscriberId];
72
- if (subscriber.onInitial) {
73
- subscriber.onInitial(null, Number(id), Number(subscriberId), value);
74
- delete subscriber.onInitial;
75
- if (!subscriber.onData) {
76
- (0, removeSubscriber_1.removeSubscriber)(client, id, Number(subscriberId));
77
- }
78
- }
79
- if (subscriber.onData) {
80
- subscriber.onData(value, checksum);
81
- }
82
- }
83
- }
84
- }
85
- };
86
- exports.incomingSubscription = incomingSubscription;
87
- //# sourceMappingURL=incomingSubscription.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"incomingSubscription.js","sourceRoot":"","sources":["../../src/subscriptions/incomingSubscription.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { BasedClient } from '..';
2
- import { SubscriptionDiffData } from '@based/types';
3
- export declare const incomingSubscriptionDiff: (client: BasedClient, data: SubscriptionDiffData) => void;
@@ -1,85 +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.incomingSubscriptionDiff = void 0;
7
- const diff_1 = require("@saulx/diff");
8
- const types_1 = require("@based/types");
9
- const queue_1 = require("../queue");
10
- const printBasedObject_1 = __importDefault(require("../printBasedObject"));
11
- const removeSubscriber_1 = require("./removeSubscriber");
12
- const incomingSubscriptionDiff = (client, data) => {
13
- const [, id, diff, [fromChecksum, checksum]] = data;
14
- const subscription = client.subscriptions[id];
15
- if (subscription) {
16
- const cache = client.cache[id];
17
- if (!cache || cache.checksum !== fromChecksum) {
18
- if (cache) {
19
- if (cache.checksum === checksum) {
20
- // console.warn('☄️ Received same data in diff do nothing')
21
- for (const subscriberId in subscription.subscribers) {
22
- const subscriber = subscription.subscribers[subscriberId];
23
- if (subscriber.onInitial) {
24
- subscriber.onInitial(null, Number(id), Number(subscriberId), cache.value);
25
- delete subscriber.onInitial;
26
- if (!subscriber.onData) {
27
- (0, removeSubscriber_1.removeSubscriber)(client, id, Number(subscriberId));
28
- }
29
- }
30
- }
31
- }
32
- else {
33
- // console.warn(
34
- // 'Cannot apply diff need to re-get the data - do not have cache version mismatch'
35
- // )
36
- // has to be removed if sending a subscribe event
37
- (0, queue_1.addToQueue)(client, [types_1.RequestTypes.SendSubscriptionData, id]);
38
- }
39
- }
40
- else {
41
- // console.warn(
42
- // 'Cannot apply diff need to re-get the data - do not have cache'
43
- // )
44
- (0, queue_1.addToQueue)(client, [types_1.RequestTypes.SendSubscriptionData, id]);
45
- }
46
- }
47
- else {
48
- let isCorrupt = false;
49
- try {
50
- cache.value = (0, diff_1.applyPatch)(cache.value, diff);
51
- if (cache.value === null) {
52
- isCorrupt = true;
53
- }
54
- }
55
- catch (err) {
56
- isCorrupt = true;
57
- }
58
- if (!isCorrupt) {
59
- cache.checksum = checksum;
60
- for (const subscriberId in subscription.subscribers) {
61
- const subscriber = subscription.subscribers[subscriberId];
62
- if (subscriber.onInitial) {
63
- subscriber.onInitial(null, Number(id), Number(subscriberId), cache.value);
64
- delete subscriber.onInitial;
65
- if (!subscriber.onData) {
66
- (0, removeSubscriber_1.removeSubscriber)(client, id, Number(subscriberId));
67
- }
68
- }
69
- if (subscriber.onData) {
70
- subscriber.onData(cache.value, cache.checksum);
71
- }
72
- }
73
- }
74
- else {
75
- console.warn(`\nFound corrupt data while applying diff to subscription need to re-fetch\n`);
76
- console.warn((0, printBasedObject_1.default)(subscription.query, 2, false, 'Query').join('\n') +
77
- '\n\n');
78
- delete client.cache[id];
79
- (0, queue_1.addToQueue)(client, [types_1.RequestTypes.SendSubscriptionData, id]);
80
- }
81
- }
82
- }
83
- };
84
- exports.incomingSubscriptionDiff = incomingSubscriptionDiff;
85
- //# sourceMappingURL=incomingSubscriptionDiff.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"incomingSubscriptionDiff.js","sourceRoot":"","sources":["../../src/subscriptions/incomingSubscriptionDiff.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- export * from './addGetSubscriber';
2
- export * from './addSubscriber';
3
- export * from './generateId';
4
- export * from './removeSubscriber';
5
- export * from './removeUnsubscribesFromQueue';
6
- export * from './removeSendSubscriptionDataFromQueue';
7
- export * from './sendAllSubscriptions';
8
- export * from './incomingSubscription';
9
- export * from './incomingSubscriptionDiff';
10
- export * from './logoutSubscriptions';
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/subscriptions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAkC;AAClC,kDAA+B;AAC/B,+CAA4B;AAC5B,qDAAkC;AAClC,gEAA6C;AAC7C,wEAAqD;AACrD,yDAAsC;AACtC,yDAAsC;AACtC,6DAA0C;AAC1C,wDAAqC"}
@@ -1,3 +0,0 @@
1
- import { BasedClient } from '..';
2
- import { AuthorizedData } from '@based/types';
3
- export declare const logoutSubscriptions: (client: BasedClient, data: AuthorizedData) => void;
@@ -1,36 +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.logoutSubscriptions = void 0;
7
- const createError_1 = __importDefault(require("../createError"));
8
- const logoutSubscriptions = (client, data) => {
9
- for (const sub of data[1]) {
10
- delete client.cache[sub];
11
- const subscription = client.subscriptions[sub];
12
- if (subscription) {
13
- const err = {
14
- type: 'AuthorizationError',
15
- name: subscription.name ? `observe "${subscription.name}"` : 'observe',
16
- message: 'Unauthorized request',
17
- payload: subscription.query,
18
- auth: true,
19
- };
20
- const error = (0, createError_1.default)(err);
21
- subscription.authError = {
22
- token: client.token,
23
- error: error,
24
- };
25
- // console.error(error)
26
- for (const s in subscription.subscribers) {
27
- const subscriber = subscription.subscribers[s];
28
- if (subscriber.onError) {
29
- subscriber.onError(error);
30
- }
31
- }
32
- }
33
- }
34
- };
35
- exports.logoutSubscriptions = logoutSubscriptions;
36
- //# sourceMappingURL=logoutSubscriptions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logoutSubscriptions.js","sourceRoot":"","sources":["../../src/subscriptions/logoutSubscriptions.ts"],"names":[],"mappings":";;;;;;AAEA,iEAAwC;AAEjC,MAAM,mBAAmB,GAAG,CACjC,MAAmB,EACnB,IAAoB,EACpB,EAAE;IACF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE;QACzB,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACxB,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QAC9C,IAAI,YAAY,EAAE;YAChB,MAAM,GAAG,GAAgB;gBACvB,IAAI,EAAE,oBAAoB;gBAC1B,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS;gBACtE,OAAO,EAAE,sBAAsB;gBAC/B,OAAO,EAAE,YAAY,CAAC,KAAK;gBAC3B,IAAI,EAAE,IAAI;aACX,CAAA;YACD,MAAM,KAAK,GAAG,IAAA,qBAAW,EAAC,GAAG,CAAC,CAAA;YAC9B,YAAY,CAAC,SAAS,GAAG;gBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,KAAK,EAAE,KAAK;aACb,CAAA;YACD,uBAAuB;YACvB,KAAK,MAAM,CAAC,IAAI,YAAY,CAAC,WAAW,EAAE;gBACxC,MAAM,UAAU,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;gBAC9C,IAAI,UAAU,CAAC,OAAO,EAAE;oBACtB,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;iBAC1B;aACF;SACF;KACF;AACH,CAAC,CAAA;AA7BY,QAAA,mBAAmB,uBA6B/B"}
@@ -1,2 +0,0 @@
1
- import { BasedClient } from '..';
2
- export declare const removeSendSubsriptionDataFromQueue: (client: BasedClient) => void;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.removeSendSubsriptionDataFromQueue = void 0;
4
- const types_1 = require("@based/types");
5
- const removeSendSubsriptionDataFromQueue = (client) => {
6
- for (let i = 0; i < client.subscriptionQueue.length; i++) {
7
- if (client.subscriptionQueue[i][0] === types_1.RequestTypes.SendSubscriptionData) {
8
- client.subscriptionQueue.splice(i, 1);
9
- i--;
10
- }
11
- }
12
- };
13
- exports.removeSendSubsriptionDataFromQueue = removeSendSubsriptionDataFromQueue;
14
- //# sourceMappingURL=removeSendSubscriptionDataFromQueue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"removeSendSubscriptionDataFromQueue.js","sourceRoot":"","sources":["../../src/subscriptions/removeSendSubscriptionDataFromQueue.ts"],"names":[],"mappings":";;;AACA,wCAA2C;AAEpC,MAAM,kCAAkC,GAAG,CAAC,MAAmB,EAAE,EAAE;IACxE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxD,IAAI,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,oBAAY,CAAC,oBAAoB,EAAE;YACxE,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YACrC,CAAC,EAAE,CAAA;SACJ;KACF;AACH,CAAC,CAAA;AAPY,QAAA,kCAAkC,sCAO9C"}
@@ -1,2 +0,0 @@
1
- import { BasedClient } from '..';
2
- export declare const removeSubscriber: (client: BasedClient, subscriptionId: number, subscriberId?: number) => void;
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.removeSubscriber = void 0;
4
- const types_1 = require("@based/types");
5
- const queue_1 = require("../queue");
6
- const removeSubscriber = (client, subscriptionId, subscriberId) => {
7
- const subscription = client.subscriptions[subscriptionId];
8
- if (subscription) {
9
- let remove = false;
10
- if (subscriberId) {
11
- if (subscription.subscribers[subscriberId]) {
12
- delete subscription.subscribers[subscriberId];
13
- subscription.cnt--;
14
- if (subscription.cnt === 0) {
15
- remove = true;
16
- }
17
- }
18
- }
19
- else {
20
- remove = true;
21
- }
22
- if (remove) {
23
- delete client.subscriptions[subscriptionId];
24
- let dontSend = false;
25
- for (let i = 0; i < client.subscriptionQueue.length; i++) {
26
- const [type, id] = client.subscriptionQueue[i];
27
- if (type === types_1.RequestTypes.Unsubscribe && id === subscriptionId) {
28
- dontSend = true;
29
- }
30
- else if ((type === types_1.RequestTypes.Subscription ||
31
- type === types_1.RequestTypes.SendSubscriptionData) &&
32
- id === subscriptionId) {
33
- client.subscriptionQueue.splice(i, 1);
34
- i--;
35
- }
36
- }
37
- if (!dontSend) {
38
- (0, queue_1.addToQueue)(client, [types_1.RequestTypes.Unsubscribe, subscriptionId]);
39
- }
40
- }
41
- }
42
- };
43
- exports.removeSubscriber = removeSubscriber;
44
- //# sourceMappingURL=removeSubscriber.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"removeSubscriber.js","sourceRoot":"","sources":["../../src/subscriptions/removeSubscriber.ts"],"names":[],"mappings":";;;AACA,wCAA2C;AAC3C,oCAAqC;AAE9B,MAAM,gBAAgB,GAAG,CAC9B,MAAmB,EACnB,cAAsB,EACtB,YAAqB,EACrB,EAAE;IACF,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;IACzD,IAAI,YAAY,EAAE;QAChB,IAAI,MAAM,GAAG,KAAK,CAAA;QAClB,IAAI,YAAY,EAAE;YAChB,IAAI,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE;gBAC1C,OAAO,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;gBAC7C,YAAY,CAAC,GAAG,EAAE,CAAA;gBAClB,IAAI,YAAY,CAAC,GAAG,KAAK,CAAC,EAAE;oBAC1B,MAAM,GAAG,IAAI,CAAA;iBACd;aACF;SACF;aAAM;YACL,MAAM,GAAG,IAAI,CAAA;SACd;QACD,IAAI,MAAM,EAAE;YACV,OAAO,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;YAC3C,IAAI,QAAQ,GAAG,KAAK,CAAA;YACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxD,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;gBAC9C,IAAI,IAAI,KAAK,oBAAY,CAAC,WAAW,IAAI,EAAE,KAAK,cAAc,EAAE;oBAC9D,QAAQ,GAAG,IAAI,CAAA;iBAChB;qBAAM,IACL,CAAC,IAAI,KAAK,oBAAY,CAAC,YAAY;oBACjC,IAAI,KAAK,oBAAY,CAAC,oBAAoB,CAAC;oBAC7C,EAAE,KAAK,cAAc,EACrB;oBACA,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;oBACrC,CAAC,EAAE,CAAA;iBACJ;aACF;YACD,IAAI,CAAC,QAAQ,EAAE;gBACb,IAAA,kBAAU,EAAC,MAAM,EAAE,CAAC,oBAAY,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAA;aAC/D;SACF;KACF;AACH,CAAC,CAAA;AAxCY,QAAA,gBAAgB,oBAwC5B"}
@@ -1,2 +0,0 @@
1
- import { BasedClient } from '..';
2
- export declare const removeUnsubscribesFromQueue: (client: BasedClient) => void;
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.removeUnsubscribesFromQueue = void 0;
4
- const types_1 = require("@based/types");
5
- const removeUnsubscribesFromQueue = (client) => {
6
- for (let i = 0; i < client.subscriptionQueue.length; i++) {
7
- if (client.subscriptionQueue[i][0] === types_1.RequestTypes.Unsubscribe) {
8
- client.subscriptionQueue.splice(i, 1);
9
- i--;
10
- }
11
- }
12
- };
13
- exports.removeUnsubscribesFromQueue = removeUnsubscribesFromQueue;
14
- //# sourceMappingURL=removeUnsubscribesFromQueue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"removeUnsubscribesFromQueue.js","sourceRoot":"","sources":["../../src/subscriptions/removeUnsubscribesFromQueue.ts"],"names":[],"mappings":";;;AACA,wCAA2C;AAEpC,MAAM,2BAA2B,GAAG,CAAC,MAAmB,EAAE,EAAE;IACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxD,IAAI,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,oBAAY,CAAC,WAAW,EAAE;YAC/D,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YACrC,CAAC,EAAE,CAAA;SACJ;KACF;AACH,CAAC,CAAA;AAPY,QAAA,2BAA2B,+BAOvC"}
@@ -1,2 +0,0 @@
1
- import { BasedClient } from '..';
2
- export declare const sendAllSubscriptions: (client: BasedClient, reAuth?: boolean) => void;