@based/server 6.3.0 → 6.4.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 (205) hide show
  1. package/dist/incoming/http/index.js +3 -0
  2. package/dist/incoming/http/index.js.map +1 -1
  3. package/dist/incoming/upgrade.js +2 -0
  4. package/dist/incoming/upgrade.js.map +1 -1
  5. package/dist/security.js +1 -0
  6. package/dist/security.js.map +1 -1
  7. package/package.json +1 -1
  8. package/dist/BasedServerClient.d.ts +0 -71
  9. package/dist/BasedServerClient.js +0 -390
  10. package/dist/BasedServerClient.js.map +0 -1
  11. package/dist/Client.d.ts +0 -75
  12. package/dist/Client.js +0 -277
  13. package/dist/Client.js.map +0 -1
  14. package/dist/Params.d.ts +0 -20
  15. package/dist/Params.js +0 -48
  16. package/dist/Params.js.map +0 -1
  17. package/dist/closeListener.d.ts +0 -4
  18. package/dist/closeListener.js +0 -13
  19. package/dist/closeListener.js.map +0 -1
  20. package/dist/createSimpleServer.d.ts +0 -34
  21. package/dist/createSimpleServer.js +0 -209
  22. package/dist/createSimpleServer.js.map +0 -1
  23. package/dist/findPrefix.d.ts +0 -3
  24. package/dist/findPrefix.js +0 -20
  25. package/dist/findPrefix.js.map +0 -1
  26. package/dist/getFromConfig.d.ts +0 -3
  27. package/dist/getFromConfig.js +0 -50
  28. package/dist/getFromConfig.js.map +0 -1
  29. package/dist/handlers/authorize.d.ts +0 -5
  30. package/dist/handlers/authorize.js +0 -196
  31. package/dist/handlers/authorize.js.map +0 -1
  32. package/dist/handlers/bulkUpdate/index.d.ts +0 -5
  33. package/dist/handlers/bulkUpdate/index.js +0 -26
  34. package/dist/handlers/bulkUpdate/index.js.map +0 -1
  35. package/dist/handlers/configuration/index.d.ts +0 -10
  36. package/dist/handlers/configuration/index.js +0 -74
  37. package/dist/handlers/configuration/index.js.map +0 -1
  38. package/dist/handlers/configuration/observable/index.d.ts +0 -46
  39. package/dist/handlers/configuration/observable/index.js +0 -277
  40. package/dist/handlers/configuration/observable/index.js.map +0 -1
  41. package/dist/handlers/configure/index.d.ts +0 -5
  42. package/dist/handlers/configure/index.js +0 -44
  43. package/dist/handlers/configure/index.js.map +0 -1
  44. package/dist/handlers/copy/index.d.ts +0 -8
  45. package/dist/handlers/copy/index.js +0 -135
  46. package/dist/handlers/copy/index.js.map +0 -1
  47. package/dist/handlers/delete/index.d.ts +0 -5
  48. package/dist/handlers/delete/index.js +0 -34
  49. package/dist/handlers/delete/index.js.map +0 -1
  50. package/dist/handlers/digest/index.d.ts +0 -5
  51. package/dist/handlers/digest/index.js +0 -23
  52. package/dist/handlers/digest/index.js.map +0 -1
  53. package/dist/handlers/functions/call.d.ts +0 -6
  54. package/dist/handlers/functions/call.js +0 -54
  55. package/dist/handlers/functions/call.js.map +0 -1
  56. package/dist/handlers/functions/observable/Observable.d.ts +0 -49
  57. package/dist/handlers/functions/observable/Observable.js +0 -290
  58. package/dist/handlers/functions/observable/Observable.js.map +0 -1
  59. package/dist/handlers/functions/observable/SharedObservable.d.ts +0 -45
  60. package/dist/handlers/functions/observable/SharedObservable.js +0 -291
  61. package/dist/handlers/functions/observable/SharedObservable.js.map +0 -1
  62. package/dist/handlers/functions/observable/index.d.ts +0 -14
  63. package/dist/handlers/functions/observable/index.js +0 -130
  64. package/dist/handlers/functions/observable/index.js.map +0 -1
  65. package/dist/handlers/get/index.d.ts +0 -5
  66. package/dist/handlers/get/index.js +0 -23
  67. package/dist/handlers/get/index.js.map +0 -1
  68. package/dist/handlers/getConfig/index.d.ts +0 -5
  69. package/dist/handlers/getConfig/index.js +0 -38
  70. package/dist/handlers/getConfig/index.js.map +0 -1
  71. package/dist/handlers/handleRequests.d.ts +0 -5
  72. package/dist/handlers/handleRequests.js +0 -78
  73. package/dist/handlers/handleRequests.js.map +0 -1
  74. package/dist/handlers/index.d.ts +0 -4
  75. package/dist/handlers/index.js +0 -49
  76. package/dist/handlers/index.js.map +0 -1
  77. package/dist/handlers/messageParser.d.ts +0 -5
  78. package/dist/handlers/messageParser.js +0 -122
  79. package/dist/handlers/messageParser.js.map +0 -1
  80. package/dist/handlers/removeField/index.d.ts +0 -5
  81. package/dist/handlers/removeField/index.js +0 -42
  82. package/dist/handlers/removeField/index.js.map +0 -1
  83. package/dist/handlers/removeType/index.d.ts +0 -5
  84. package/dist/handlers/removeType/index.js +0 -30
  85. package/dist/handlers/removeType/index.js.map +0 -1
  86. package/dist/handlers/rest/file/DataStream.d.ts +0 -7
  87. package/dist/handlers/rest/file/DataStream.js +0 -17
  88. package/dist/handlers/rest/file/DataStream.js.map +0 -1
  89. package/dist/handlers/rest/file/formStream.d.ts +0 -4
  90. package/dist/handlers/rest/file/formStream.js +0 -188
  91. package/dist/handlers/rest/file/formStream.js.map +0 -1
  92. package/dist/handlers/rest/file/getExtenstion.d.ts +0 -2
  93. package/dist/handlers/rest/file/getExtenstion.js +0 -22
  94. package/dist/handlers/rest/file/getExtenstion.js.map +0 -1
  95. package/dist/handlers/rest/file/index.d.ts +0 -4
  96. package/dist/handlers/rest/file/index.js +0 -53
  97. package/dist/handlers/rest/file/index.js.map +0 -1
  98. package/dist/handlers/rest/file/storeFile.d.ts +0 -6
  99. package/dist/handlers/rest/file/storeFile.js +0 -44
  100. package/dist/handlers/rest/file/storeFile.js.map +0 -1
  101. package/dist/handlers/rest/file/stream.d.ts +0 -5
  102. package/dist/handlers/rest/file/stream.js +0 -104
  103. package/dist/handlers/rest/file/stream.js.map +0 -1
  104. package/dist/handlers/rest/file/types.d.ts +0 -9
  105. package/dist/handlers/rest/file/types.js +0 -3
  106. package/dist/handlers/rest/file/types.js.map +0 -1
  107. package/dist/handlers/rest/getReqMessage.d.ts +0 -3
  108. package/dist/handlers/rest/getReqMessage.js +0 -92
  109. package/dist/handlers/rest/getReqMessage.js.map +0 -1
  110. package/dist/handlers/rest/index.d.ts +0 -4
  111. package/dist/handlers/rest/index.js +0 -121
  112. package/dist/handlers/rest/index.js.map +0 -1
  113. package/dist/handlers/rest/invalidReq.d.ts +0 -4
  114. package/dist/handlers/rest/invalidReq.js +0 -20
  115. package/dist/handlers/rest/invalidReq.js.map +0 -1
  116. package/dist/handlers/rest/parseResponse.d.ts +0 -6
  117. package/dist/handlers/rest/parseResponse.js +0 -230
  118. package/dist/handlers/rest/parseResponse.js.map +0 -1
  119. package/dist/handlers/rest/playground/index.d.ts +0 -5
  120. package/dist/handlers/rest/playground/index.js +0 -308
  121. package/dist/handlers/rest/playground/index.js.map +0 -1
  122. package/dist/handlers/rest/readBody.d.ts +0 -3
  123. package/dist/handlers/rest/readBody.js +0 -45
  124. package/dist/handlers/rest/readBody.js.map +0 -1
  125. package/dist/handlers/set/index.d.ts +0 -5
  126. package/dist/handlers/set/index.js +0 -20
  127. package/dist/handlers/set/index.js.map +0 -1
  128. package/dist/handlers/subscription/index.d.ts +0 -32
  129. package/dist/handlers/subscription/index.js +0 -223
  130. package/dist/handlers/subscription/index.js.map +0 -1
  131. package/dist/handlers/token.d.ts +0 -5
  132. package/dist/handlers/token.js +0 -122
  133. package/dist/handlers/token.js.map +0 -1
  134. package/dist/handlers/track/index.d.ts +0 -7
  135. package/dist/handlers/track/index.js +0 -102
  136. package/dist/handlers/track/index.js.map +0 -1
  137. package/dist/handlers/userAuth/index.d.ts +0 -5
  138. package/dist/handlers/userAuth/index.js +0 -78
  139. package/dist/handlers/userAuth/index.js.map +0 -1
  140. package/dist/incoming/ws/observable.d.ts +0 -7
  141. package/dist/incoming/ws/observable.js +0 -91
  142. package/dist/incoming/ws/observable.js.map +0 -1
  143. package/dist/observable/cleanup.d.ts +0 -2
  144. package/dist/observable/cleanup.js +0 -66
  145. package/dist/observable/cleanup.js.map +0 -1
  146. package/dist/observable/create.d.ts +0 -3
  147. package/dist/observable/create.js +0 -35
  148. package/dist/observable/create.js.map +0 -1
  149. package/dist/observable/destroy.d.ts +0 -4
  150. package/dist/observable/destroy.js +0 -47
  151. package/dist/observable/destroy.js.map +0 -1
  152. package/dist/observable/extendCache.d.ts +0 -2
  153. package/dist/observable/extendCache.js +0 -10
  154. package/dist/observable/extendCache.js.map +0 -1
  155. package/dist/observable/genObservableId.d.ts +0 -1
  156. package/dist/observable/genObservableId.js +0 -12
  157. package/dist/observable/genObservableId.js.map +0 -1
  158. package/dist/observable/get.d.ts +0 -4
  159. package/dist/observable/get.js +0 -15
  160. package/dist/observable/get.js.map +0 -1
  161. package/dist/observable/index.d.ts +0 -10
  162. package/dist/observable/index.js +0 -27
  163. package/dist/observable/index.js.map +0 -1
  164. package/dist/observable/send.d.ts +0 -5
  165. package/dist/observable/send.js +0 -26
  166. package/dist/observable/send.js.map +0 -1
  167. package/dist/observable/start/error.d.ts +0 -3
  168. package/dist/observable/start/error.js +0 -43
  169. package/dist/observable/start/error.js.map +0 -1
  170. package/dist/observable/start/index.d.ts +0 -2
  171. package/dist/observable/start/index.js +0 -67
  172. package/dist/observable/start/index.js.map +0 -1
  173. package/dist/observable/start/relay.d.ts +0 -4
  174. package/dist/observable/start/relay.js +0 -14
  175. package/dist/observable/start/relay.js.map +0 -1
  176. package/dist/observable/start/update.d.ts +0 -3
  177. package/dist/observable/start/update.js +0 -116
  178. package/dist/observable/start/update.js.map +0 -1
  179. package/dist/observable/subscribe.d.ts +0 -7
  180. package/dist/observable/subscribe.js +0 -47
  181. package/dist/observable/subscribe.js.map +0 -1
  182. package/dist/observable/types.d.ts +0 -25
  183. package/dist/observable/types.js +0 -3
  184. package/dist/observable/types.js.map +0 -1
  185. package/dist/observable/unsub.d.ts +0 -6
  186. package/dist/observable/unsub.js +0 -46
  187. package/dist/observable/unsub.js.map +0 -1
  188. package/dist/openListener.d.ts +0 -4
  189. package/dist/openListener.js +0 -13
  190. package/dist/openListener.js.map +0 -1
  191. package/dist/secrets.d.ts +0 -9
  192. package/dist/secrets.js +0 -150
  193. package/dist/secrets.js.map +0 -1
  194. package/dist/types.d.ts +0 -129
  195. package/dist/types.js +0 -17
  196. package/dist/types.js.map +0 -1
  197. package/dist/upgradeListener.d.ts +0 -4
  198. package/dist/upgradeListener.js +0 -47
  199. package/dist/upgradeListener.js.map +0 -1
  200. package/dist/workers/index.d.ts +0 -0
  201. package/dist/workers/index.js +0 -20
  202. package/dist/workers/index.js.map +0 -1
  203. package/dist/workers/workerCode.d.ts +0 -12
  204. package/dist/workers/workerCode.js +0 -46
  205. package/dist/workers/workerCode.js.map +0 -1
@@ -1,54 +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
- const types_1 = require("../../types");
7
- // start with call
8
- const call = async (server, client, [, name, reqId, payload, path], params // in authorize this is a bit awkard
9
- ) => {
10
- const fn = await (0, getFromConfig_1.getFunction)(server, name);
11
- if (fn && (0, types_1.isCallFunction)(fn)) {
12
- if (!params) {
13
- params = new Params_1.Params(server, payload, client, [name]);
14
- params.path = path;
15
- }
16
- try {
17
- const result = await fn.function(params);
18
- if (fn.headers) {
19
- client.send([client_1.RequestTypes.Call, reqId, result], await fn.headers(params, result));
20
- }
21
- else {
22
- client.send([client_1.RequestTypes.Call, reqId, result]);
23
- }
24
- }
25
- catch (err) {
26
- const error = {
27
- type: err.name,
28
- name,
29
- message: err.message,
30
- payload,
31
- auth: err.name === 'AuthorizationError',
32
- };
33
- if (err.code) {
34
- error.code = err.code;
35
- }
36
- client.send([client_1.RequestTypes.Call, reqId, 0, error]);
37
- }
38
- }
39
- else {
40
- client.send([
41
- client_1.RequestTypes.Call,
42
- reqId,
43
- 0,
44
- {
45
- type: 'FunctionDoesNotExistError',
46
- name: `call "${name}"`,
47
- message: `Function ${name} does not exist`,
48
- payload,
49
- },
50
- ]);
51
- }
52
- };
53
- exports.default = call;
54
- //# sourceMappingURL=call.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"call.js","sourceRoot":"","sources":["../../../src/handlers/functions/call.ts"],"names":[],"mappings":";;AAEA,0CAAiE;AACjE,yCAAqC;AACrC,uDAAiD;AACjD,uCAA4C;AAC5C,kBAAkB;AAClB,MAAM,IAAI,GAAG,KAAK,EAChB,MAAmB,EACnB,MAAc,EACd,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAsB,EACnD,MAAe,CAAC,oCAAoC;EACpD,EAAE;IACF,MAAM,EAAE,GAAG,MAAM,IAAA,2BAAW,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC1C,IAAI,EAAE,IAAI,IAAA,sBAAc,EAAC,EAAE,CAAC,EAAE;QAC5B,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,GAAG,IAAI,eAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;YACpD,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;SACnB;QACD,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YACxC,IAAI,EAAE,CAAC,OAAO,EAAE;gBACd,MAAM,CAAC,IAAI,CACT,CAAC,qBAAY,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,EAClC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CACjC,CAAA;aACF;iBAAM;gBACL,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAY,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;aAChD;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,KAAK,GAAG;gBACZ,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI;gBACJ,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,OAAO;gBACP,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,oBAAoB;aACjC,CAAA;YACR,IAAI,GAAG,CAAC,IAAI,EAAE;gBACZ,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;aACtB;YACD,MAAM,CAAC,IAAI,CAAC,CAAC,qBAAY,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;SAClD;KACF;SAAM;QACL,MAAM,CAAC,IAAI,CAAC;YACV,qBAAY,CAAC,IAAI;YACjB,KAAK;YACL,CAAC;YACD;gBACE,IAAI,EAAE,2BAA2B;gBACjC,IAAI,EAAE,SAAS,IAAI,GAAG;gBACtB,OAAO,EAAE,YAAY,IAAI,iBAAiB;gBAC1C,OAAO;aACR;SACF,CAAC,CAAA;KACH;AACH,CAAC,CAAA;AAED,kBAAe,IAAI,CAAA"}
@@ -1,49 +0,0 @@
1
- /// <reference types="node" />
2
- import { BasedServer } from '../../..';
3
- import Client from '../../../Client';
4
- import { ObservableFunction, DataListener } from '../../../types';
5
- import { Params } from '../../../Params';
6
- declare type GenericObject = {
7
- [key: string]: any;
8
- };
9
- export declare class UserEmitter {
10
- constructor(params: Params, observable: FunctionObservable, checksum?: number, get?: 0 | 1 | 2 | 3, dataListener?: DataListener);
11
- dataListeners: Set<DataListener>;
12
- onData(fn: DataListener): void;
13
- removeDataListener(fn: DataListener): void;
14
- isClosed: boolean;
15
- checksum: number;
16
- lastDiff: [GenericObject, number];
17
- type: 0 | 1 | 2 | 3;
18
- params: Params;
19
- state: GenericObject;
20
- private observable;
21
- close: () => void;
22
- isInit: boolean;
23
- init(fn?: DataListener): void;
24
- update(data: GenericObject, version?: number): void;
25
- error(data: GenericObject, version?: number): void;
26
- destroy(): void;
27
- }
28
- export declare class FunctionObservable {
29
- server: BasedServer;
30
- removeTimer: NodeJS.Timeout;
31
- id: number;
32
- clients: {
33
- [id: string]: UserEmitter;
34
- };
35
- clientsCnt: number;
36
- payload: GenericObject;
37
- isClosed: boolean;
38
- functionDefinition: ObservableFunction;
39
- name: string;
40
- constructor(server: BasedServer, id: number, payload: GenericObject, functionDefinition: ObservableFunction, name: string);
41
- restart(): Promise<void>;
42
- unsubscribeDataListener(client: Client, fn: DataListener, id?: string): void;
43
- subscribeDataListener(client: Client, fn: DataListener, id?: string): void;
44
- destroyIfEmpty(): void;
45
- unsubscribe(client: Client): void;
46
- subscribe(client: Client, checksum?: number, get?: 0 | 1 | 2): void;
47
- sendData(client: Client): void;
48
- }
49
- export {};
@@ -1,290 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FunctionObservable = exports.UserEmitter = void 0;
4
- const client_1 = require("@based/client");
5
- const diff_1 = require("@saulx/diff");
6
- const utils_1 = require("@saulx/utils");
7
- const hash_1 = require("@saulx/hash");
8
- const Params_1 = require("../../../Params");
9
- const getFromConfig_1 = require("../../../getFromConfig");
10
- class UserEmitter {
11
- constructor(params, observable, checksum, get = 0, dataListener) {
12
- this.checksum = checksum;
13
- this.type = get;
14
- this.params = params;
15
- params.update = (d, v) => {
16
- try {
17
- this.update(d, v);
18
- }
19
- catch (err) {
20
- // log in the function
21
- console.error(err);
22
- }
23
- };
24
- this.observable = observable;
25
- this.init(dataListener);
26
- }
27
- onData(fn) {
28
- if (!this.dataListeners) {
29
- this.dataListeners = new Set();
30
- }
31
- this.dataListeners.add(fn);
32
- }
33
- removeDataListener(fn) {
34
- if (this.dataListeners) {
35
- this.dataListeners.delete(fn);
36
- if (this.dataListeners.size === 0) {
37
- delete this.dataListeners;
38
- if (this.type === 3) {
39
- this.destroy();
40
- }
41
- }
42
- }
43
- }
44
- init(fn) {
45
- this.isInit = true;
46
- this.observable.functionDefinition
47
- .function(this.params)
48
- .then((close) => {
49
- if (this.isClosed) {
50
- close();
51
- }
52
- else {
53
- this.close = close;
54
- }
55
- })
56
- .catch((err) => {
57
- const errObj = {
58
- type: err.name,
59
- name: `observable "${this.observable.name}"`,
60
- message: err.message,
61
- payload: this.observable.payload,
62
- auth: err.name === 'AuthorizationError',
63
- };
64
- if (fn) {
65
- fn(null, 0, errObj);
66
- }
67
- else {
68
- this.params.user.send([
69
- client_1.RequestTypes.Subscription,
70
- this.observable.id,
71
- {},
72
- 0,
73
- errObj,
74
- ]);
75
- }
76
- });
77
- }
78
- update(data, version) {
79
- if (typeof data !== 'object') {
80
- console.error('observables need to use objects as data type');
81
- }
82
- else {
83
- this.isInit = false;
84
- if (!version) {
85
- version = (0, hash_1.hashObjectIgnoreKeyOrder)(data);
86
- }
87
- let payload;
88
- if (this.state) {
89
- const s = this.state;
90
- const checksum = this.checksum;
91
- try {
92
- const diff = (0, diff_1.createPatch)(s, data);
93
- this.lastDiff = [diff, checksum];
94
- payload = [
95
- client_1.RequestTypes.SubscriptionDiff,
96
- this.observable.id,
97
- diff,
98
- [checksum, version],
99
- ];
100
- }
101
- catch (err) {
102
- console.error('cannot create patch', err);
103
- }
104
- }
105
- if (!payload) {
106
- if (this.lastDiff) {
107
- delete this.lastDiff;
108
- }
109
- payload = [client_1.RequestTypes.Subscription, this.observable.id, data, version];
110
- }
111
- this.state = (0, utils_1.deepCopy)(data || {});
112
- if (this.dataListeners) {
113
- this.dataListeners.forEach((fn) => {
114
- fn(this.state, this.checksum);
115
- });
116
- }
117
- if (this.type !== 3) {
118
- if (version !== this.checksum) {
119
- this.checksum = version;
120
- this.params.user.send(payload);
121
- if (this.type === 1) {
122
- this.observable.unsubscribe(this.params.user);
123
- }
124
- }
125
- else if (this.type) {
126
- this.checksum = version;
127
- this.params.user.send([
128
- client_1.RequestTypes.Subscription,
129
- this.observable.id,
130
- null,
131
- version,
132
- ]);
133
- if (this.type === 1) {
134
- this.observable.unsubscribe(this.params.user);
135
- }
136
- }
137
- }
138
- }
139
- }
140
- error(data, version) {
141
- console.info('error send it');
142
- }
143
- destroy() {
144
- delete this.observable.clients[this.params.user.id];
145
- delete this.params.user.subscriptions[this.observable.id];
146
- this.observable.clientsCnt--;
147
- if (this.close) {
148
- try {
149
- this.close();
150
- }
151
- catch (err) {
152
- console.error('Cannot close user defined observable');
153
- }
154
- }
155
- this.observable.destroyIfEmpty();
156
- // delete this.observable.server.subscriptions[this.observable.id]
157
- this.isClosed = true;
158
- }
159
- }
160
- exports.UserEmitter = UserEmitter;
161
- class FunctionObservable {
162
- constructor(server, id, payload, functionDefinition, name) {
163
- this.clients = {};
164
- this.clientsCnt = 0;
165
- this.id = id;
166
- this.functionDefinition = functionDefinition;
167
- server.subscriptions[id] = this;
168
- this.payload = payload;
169
- this.server = server;
170
- this.name = name;
171
- }
172
- async restart() {
173
- const functionDefinition = await (0, getFromConfig_1.getFunction)(this.server, this.name);
174
- if (functionDefinition) {
175
- for (const id in this.clients) {
176
- const emitter = this.clients[id];
177
- if (!emitter.isClosed) {
178
- if (emitter.close) {
179
- emitter.close();
180
- }
181
- emitter.init();
182
- }
183
- }
184
- }
185
- }
186
- unsubscribeDataListener(client, fn, id) {
187
- const userSub = this.clients[client.id];
188
- if (userSub) {
189
- userSub.removeDataListener(fn);
190
- }
191
- }
192
- subscribeDataListener(client, fn, id) {
193
- // console.info('go time', client, fn)
194
- const userSub = this.clients[client.id];
195
- if (userSub && !userSub.isClosed) {
196
- // yes attach
197
- userSub.onData(fn);
198
- }
199
- else {
200
- if (!client.subscriptions[this.id]) {
201
- client.subscriptions[this.id] = this;
202
- }
203
- const params = new Params_1.Params(this.server, this.payload, client, [
204
- id,
205
- this.name,
206
- ]);
207
- this.clients[client.id] = new UserEmitter(params, this, 0, 3, fn);
208
- this.clients[client.id].onData(fn);
209
- this.clientsCnt++;
210
- }
211
- }
212
- destroyIfEmpty() {
213
- if (this.clientsCnt === 0) {
214
- this.removeTimer = setTimeout(() => {
215
- delete this.server.subscriptions[this.id];
216
- this.isClosed = true;
217
- }, 10);
218
- }
219
- }
220
- unsubscribe(client) {
221
- if (this.clients[client.id]) {
222
- if (!this.clients[client.id].dataListeners) {
223
- this.clients[client.id].destroy();
224
- }
225
- else {
226
- this.clients[client.id].type = 3;
227
- }
228
- }
229
- }
230
- subscribe(client, checksum, get = 0) {
231
- if (!client.subscriptions) {
232
- client.subscriptions = {};
233
- }
234
- if (this.removeTimer) {
235
- clearTimeout(this.removeTimer);
236
- }
237
- const userSub = this.clients[client.id];
238
- // && !userSub.isInit -- maybe dont need this!
239
- if (userSub && !userSub.isClosed) {
240
- if (get === 1) {
241
- // this is wrong
242
- const payload = [
243
- client_1.RequestTypes.Subscription,
244
- this.id,
245
- userSub.state,
246
- userSub.checksum,
247
- ];
248
- client.send(payload);
249
- }
250
- else {
251
- if (userSub.type === 3) {
252
- userSub.type = get;
253
- }
254
- if (!client.subscriptions[this.id]) {
255
- client.subscriptions[this.id] = this;
256
- }
257
- if (get === 2) {
258
- const payload = [
259
- client_1.RequestTypes.Subscription,
260
- this.id,
261
- userSub.state,
262
- userSub.checksum,
263
- ];
264
- client.send(payload);
265
- }
266
- }
267
- }
268
- else {
269
- // add the params
270
- const params = new Params_1.Params(this.server, this.payload, client, [this.name]);
271
- this.clients[client.id] = new UserEmitter(params, this, checksum, get);
272
- client.subscriptions[this.id] = this;
273
- this.clientsCnt++;
274
- }
275
- }
276
- sendData(client) {
277
- const store = this.clients[client.id];
278
- if (store && store.state && store.checksum && !store.isInit) {
279
- const payload = [
280
- client_1.RequestTypes.Subscription,
281
- this.id,
282
- store.state,
283
- store.checksum,
284
- ];
285
- client.send(payload);
286
- }
287
- }
288
- }
289
- exports.FunctionObservable = FunctionObservable;
290
- //# sourceMappingURL=Observable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Observable.js","sourceRoot":"","sources":["../../../../src/handlers/functions/observable/Observable.ts"],"names":[],"mappings":"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"}
@@ -1,45 +0,0 @@
1
- /// <reference types="node" />
2
- import { BasedServer } from '../../..';
3
- import Client from '../../../Client';
4
- import { ErrorObject } from '@based/client';
5
- import { DataListener, ObservableFunction } from '../../../types';
6
- import { Params } from '../../../Params';
7
- declare type GenericObject = {
8
- [key: string]: any;
9
- };
10
- export declare class SharedFunctionObservable {
11
- lastDiff: number;
12
- jsonDiffCache: string;
13
- jsonCache: string;
14
- server: BasedServer;
15
- removeTimer: NodeJS.Timeout;
16
- id: number;
17
- clients: {
18
- [id: string]: [Client, number, 0 | 1 | 2];
19
- };
20
- dataListenersCnt: number;
21
- dataListeners: {
22
- [id: string]: Set<DataListener>;
23
- };
24
- clientsCnt: number;
25
- errorState: ErrorObject;
26
- payload: GenericObject;
27
- state: GenericObject;
28
- checksum: number;
29
- close: () => void;
30
- isClosed: boolean;
31
- params: Params;
32
- name: string;
33
- constructor(server: BasedServer, id: number, payload: GenericObject, functionDefinition: ObservableFunction, name: string, client?: Client, // tmp
34
- fn?: DataListener);
35
- restart(): Promise<void>;
36
- update(data: GenericObject, version?: number): void;
37
- error(err: Error): void;
38
- destroyIfEmpty(): void;
39
- unsubscribe(client: Client): void;
40
- unsubscribeDataListener(client: Client | void, fn: DataListener, id?: string): void;
41
- subscribeDataListener(client: Client | void, fn: DataListener, id?: string): void;
42
- subscribe(client: Client, checksum?: number, get?: 0 | 1 | 2): void;
43
- sendData(client: Client): void;
44
- }
45
- export {};