cry-ebus2 3.1.12 → 3.1.13

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 (206) hide show
  1. package/package.json +2 -1
  2. package/tsconfig.json +1 -1
  3. package/dist/EbusClientEvents.d.ts +0 -5
  4. package/dist/EbusClientEvents.d.ts.map +0 -1
  5. package/dist/EbusClientEvents.js +0 -3
  6. package/dist/EbusClientEvents.js.map +0 -1
  7. package/dist/EbusConfiguration.d.ts +0 -17
  8. package/dist/EbusConfiguration.d.ts.map +0 -1
  9. package/dist/EbusConfiguration.js +0 -3
  10. package/dist/EbusConfiguration.js.map +0 -1
  11. package/dist/EbusReject.d.ts +0 -11
  12. package/dist/EbusReject.d.ts.map +0 -1
  13. package/dist/EbusReject.js +0 -16
  14. package/dist/EbusReject.js.map +0 -1
  15. package/dist/EbusRejectReason.d.ts +0 -2
  16. package/dist/EbusRejectReason.d.ts.map +0 -1
  17. package/dist/EbusRejectReason.js +0 -3
  18. package/dist/EbusRejectReason.js.map +0 -1
  19. package/dist/EbusRequestOptions.d.ts +0 -8
  20. package/dist/EbusRequestOptions.d.ts.map +0 -1
  21. package/dist/EbusRequestOptions.js +0 -3
  22. package/dist/EbusRequestOptions.js.map +0 -1
  23. package/dist/EbusUnpackedResult.d.ts +0 -10
  24. package/dist/EbusUnpackedResult.d.ts.map +0 -1
  25. package/dist/EbusUnpackedResult.js +0 -23
  26. package/dist/EbusUnpackedResult.js.map +0 -1
  27. package/dist/block.d.ts +0 -2
  28. package/dist/block.d.ts.map +0 -1
  29. package/dist/block.js +0 -10
  30. package/dist/block.js.map +0 -1
  31. package/dist/broker.d.ts +0 -42
  32. package/dist/broker.d.ts.map +0 -1
  33. package/dist/broker.js +0 -292
  34. package/dist/broker.js.map +0 -1
  35. package/dist/client.d.ts +0 -2
  36. package/dist/client.d.ts.map +0 -1
  37. package/dist/client.js +0 -6
  38. package/dist/client.js.map +0 -1
  39. package/dist/clientBlocking.d.ts +0 -27
  40. package/dist/clientBlocking.d.ts.map +0 -1
  41. package/dist/clientBlocking.js +0 -177
  42. package/dist/clientBlocking.js.map +0 -1
  43. package/dist/clientNonBlocking.d.ts +0 -46
  44. package/dist/clientNonBlocking.d.ts.map +0 -1
  45. package/dist/clientNonBlocking.js +0 -264
  46. package/dist/clientNonBlocking.js.map +0 -1
  47. package/dist/consts.d.ts +0 -3
  48. package/dist/consts.d.ts.map +0 -1
  49. package/dist/consts.js +0 -20
  50. package/dist/consts.js.map +0 -1
  51. package/dist/deferredPromise.d.ts +0 -36
  52. package/dist/deferredPromise.d.ts.map +0 -1
  53. package/dist/deferredPromise.js +0 -59
  54. package/dist/deferredPromise.js.map +0 -1
  55. package/dist/delayWorker.d.ts +0 -10
  56. package/dist/delayWorker.d.ts.map +0 -1
  57. package/dist/delayWorker.js +0 -21
  58. package/dist/delayWorker.js.map +0 -1
  59. package/dist/echoWorker.d.ts +0 -6
  60. package/dist/echoWorker.d.ts.map +0 -1
  61. package/dist/echoWorker.js +0 -19
  62. package/dist/echoWorker.js.map +0 -1
  63. package/dist/errorWorker.d.ts +0 -11
  64. package/dist/errorWorker.d.ts.map +0 -1
  65. package/dist/errorWorker.js +0 -18
  66. package/dist/errorWorker.js.map +0 -1
  67. package/dist/index.d.ts +0 -19
  68. package/dist/index.d.ts.map +0 -1
  69. package/dist/index.js +0 -34
  70. package/dist/index.js.map +0 -1
  71. package/dist/loadConfiguration.d.ts +0 -3
  72. package/dist/loadConfiguration.d.ts.map +0 -1
  73. package/dist/loadConfiguration.js +0 -13
  74. package/dist/loadConfiguration.js.map +0 -1
  75. package/dist/pub.d.ts +0 -11
  76. package/dist/pub.d.ts.map +0 -1
  77. package/dist/pub.js +0 -26
  78. package/dist/pub.js.map +0 -1
  79. package/dist/rejectWorker.d.ts +0 -11
  80. package/dist/rejectWorker.d.ts.map +0 -1
  81. package/dist/rejectWorker.js +0 -18
  82. package/dist/rejectWorker.js.map +0 -1
  83. package/dist/run/all.d.ts +0 -2
  84. package/dist/run/all.d.ts.map +0 -1
  85. package/dist/run/all.js +0 -15
  86. package/dist/run/all.js.map +0 -1
  87. package/dist/run/broker.d.mts +0 -2
  88. package/dist/run/broker.d.mts.map +0 -1
  89. package/dist/run/broker.mjs +0 -7
  90. package/dist/run/broker.mjs.map +0 -1
  91. package/dist/run/call.d.ts +0 -2
  92. package/dist/run/call.d.ts.map +0 -1
  93. package/dist/run/call.js +0 -78
  94. package/dist/run/call.js.map +0 -1
  95. package/dist/run/calling.d.ts +0 -2
  96. package/dist/run/calling.d.ts.map +0 -1
  97. package/dist/run/calling.js +0 -96
  98. package/dist/run/calling.js.map +0 -1
  99. package/dist/run/callingBurst.d.ts +0 -2
  100. package/dist/run/callingBurst.d.ts.map +0 -1
  101. package/dist/run/callingBurst.js +0 -43
  102. package/dist/run/callingBurst.js.map +0 -1
  103. package/dist/run/delay.d.mts +0 -2
  104. package/dist/run/delay.d.mts.map +0 -1
  105. package/dist/run/delay.mjs +0 -7
  106. package/dist/run/delay.mjs.map +0 -1
  107. package/dist/run/echo.d.mts +0 -2
  108. package/dist/run/echo.d.mts.map +0 -1
  109. package/dist/run/echo.mjs +0 -7
  110. package/dist/run/echo.mjs.map +0 -1
  111. package/dist/run/error.d.mts +0 -2
  112. package/dist/run/error.d.mts.map +0 -1
  113. package/dist/run/error.mjs +0 -7
  114. package/dist/run/error.mjs.map +0 -1
  115. package/dist/run/ping.d.mts +0 -2
  116. package/dist/run/ping.d.mts.map +0 -1
  117. package/dist/run/ping.mjs +0 -71
  118. package/dist/run/ping.mjs.map +0 -1
  119. package/dist/run/pub.d.ts +0 -2
  120. package/dist/run/pub.d.ts.map +0 -1
  121. package/dist/run/pub.js +0 -30
  122. package/dist/run/pub.js.map +0 -1
  123. package/dist/run/reject.d.ts +0 -2
  124. package/dist/run/reject.d.ts.map +0 -1
  125. package/dist/run/reject.js +0 -7
  126. package/dist/run/reject.js.map +0 -1
  127. package/dist/run/sub.d.ts +0 -2
  128. package/dist/run/sub.d.ts.map +0 -1
  129. package/dist/run/sub.js +0 -93
  130. package/dist/run/sub.js.map +0 -1
  131. package/dist/run/termimalCommands.d.ts +0 -33
  132. package/dist/run/termimalCommands.d.ts.map +0 -1
  133. package/dist/run/termimalCommands.js +0 -35
  134. package/dist/run/termimalCommands.js.map +0 -1
  135. package/dist/run/workers.d.ts +0 -2
  136. package/dist/run/workers.d.ts.map +0 -1
  137. package/dist/run/workers.js +0 -38
  138. package/dist/run/workers.js.map +0 -1
  139. package/dist/serialize.d.ts +0 -4
  140. package/dist/serialize.d.ts.map +0 -1
  141. package/dist/serialize.js +0 -34
  142. package/dist/serialize.js.map +0 -1
  143. package/dist/service.d.ts +0 -23
  144. package/dist/service.d.ts.map +0 -1
  145. package/dist/service.js +0 -112
  146. package/dist/service.js.map +0 -1
  147. package/dist/sleep.d.ts +0 -2
  148. package/dist/sleep.d.ts.map +0 -1
  149. package/dist/sleep.js +0 -10
  150. package/dist/sleep.js.map +0 -1
  151. package/dist/sub.d.ts +0 -24
  152. package/dist/sub.d.ts.map +0 -1
  153. package/dist/sub.js +0 -72
  154. package/dist/sub.js.map +0 -1
  155. package/dist/test/config.d.ts +0 -2
  156. package/dist/test/config.d.ts.map +0 -1
  157. package/dist/test/config.js +0 -25
  158. package/dist/test/config.js.map +0 -1
  159. package/dist/test/echo.d.ts +0 -2
  160. package/dist/test/echo.d.ts.map +0 -1
  161. package/dist/test/echo.js +0 -56
  162. package/dist/test/echo.js.map +0 -1
  163. package/dist/test/index.d.ts +0 -1
  164. package/dist/test/index.d.ts.map +0 -1
  165. package/dist/test/index.js +0 -47
  166. package/dist/test/index.js.map +0 -1
  167. package/dist/test/pack.d.ts +0 -2
  168. package/dist/test/pack.d.ts.map +0 -1
  169. package/dist/test/pack.js +0 -1446
  170. package/dist/test/pack.js.map +0 -1
  171. package/dist/test/performance.d.ts +0 -2
  172. package/dist/test/performance.d.ts.map +0 -1
  173. package/dist/test/performance.js +0 -46
  174. package/dist/test/performance.js.map +0 -1
  175. package/dist/test/pub.d.ts +0 -2
  176. package/dist/test/pub.d.ts.map +0 -1
  177. package/dist/test/pub.js +0 -59
  178. package/dist/test/pub.js.map +0 -1
  179. package/dist/test/pub2.d.ts +0 -2
  180. package/dist/test/pub2.d.ts.map +0 -1
  181. package/dist/test/pub2.js +0 -25
  182. package/dist/test/pub2.js.map +0 -1
  183. package/dist/test/reject.d.ts +0 -2
  184. package/dist/test/reject.d.ts.map +0 -1
  185. package/dist/test/reject.js +0 -35
  186. package/dist/test/reject.js.map +0 -1
  187. package/dist/test/services.d.ts +0 -2
  188. package/dist/test/services.d.ts.map +0 -1
  189. package/dist/test/services.js +0 -46
  190. package/dist/test/services.js.map +0 -1
  191. package/dist/test/stress.d.ts +0 -2
  192. package/dist/test/stress.d.ts.map +0 -1
  193. package/dist/test/stress.js +0 -28
  194. package/dist/test/stress.js.map +0 -1
  195. package/dist/test/timing.d.ts +0 -2
  196. package/dist/test/timing.d.ts.map +0 -1
  197. package/dist/test/timing.js +0 -70
  198. package/dist/test/timing.js.map +0 -1
  199. package/dist/types.d.ts +0 -23
  200. package/dist/types.d.ts.map +0 -1
  201. package/dist/types.js +0 -28
  202. package/dist/types.js.map +0 -1
  203. package/dist/worker.d.ts +0 -27
  204. package/dist/worker.d.ts.map +0 -1
  205. package/dist/worker.js +0 -223
  206. package/dist/worker.js.map +0 -1
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "cry-ebus2",
3
- "version": "3.1.12",
3
+ "version": "3.1.13",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
7
+ "type": "module",
7
8
  "scripts": {
8
9
  "test": "mocha dist/test"
9
10
  },
package/tsconfig.json CHANGED
@@ -5,7 +5,7 @@
5
5
  /* Basic Options */
6
6
  // "incremental": true, /* Enable incremental compilation */
7
7
  "target": "ES2018" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */,
8
- "module": "CommonJS" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */,
8
+ "module": "NodeNext" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */,
9
9
  "lib": ["es2018", "ES2018.AsyncIterable"] /* Specify library files to be included in the compilation. */,
10
10
  //"allowJs": true, /* Allow javascript files to be compiled. */
11
11
  // "checkJs": true, /* Report errors in .js files. */
@@ -1,5 +0,0 @@
1
- export interface EbusClientEvents {
2
- "ebus/start": () => void;
3
- "ebus/stop": () => void;
4
- }
5
- //# sourceMappingURL=EbusClientEvents.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EbusClientEvents.d.ts","sourceRoot":"","sources":["../src/EbusClientEvents.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,gBAAgB;IAC7B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,IAAI,CAAC;CAC3B"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=EbusClientEvents.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EbusClientEvents.js","sourceRoot":"","sources":["../src/EbusClientEvents.ts"],"names":[],"mappings":""}
@@ -1,17 +0,0 @@
1
- export interface EbusConfiguration {
2
- address: string;
3
- pubAddress: string;
4
- sendHighWaterMark: 1;
5
- sendTimeout: 1;
6
- port: number;
7
- pubPort: number;
8
- server: string;
9
- receiveTimeout: number;
10
- heartbeatInterval: number;
11
- heartbeatTimeout: number;
12
- brokerHeartbeatTimeout: number;
13
- clientChecksBrokerWithHeartbeat: boolean;
14
- brokerChecksWorkersWithHeartbeat: boolean;
15
- requestQueueSizeLimit: number;
16
- }
17
- //# sourceMappingURL=EbusConfiguration.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EbusConfiguration.d.ts","sourceRoot":"","sources":["../src/EbusConfiguration.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,CAAC,CAAC;IACrB,WAAW,EAAE,CAAC,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,+BAA+B,EAAE,OAAO,CAAC;IACzC,gCAAgC,EAAE,OAAO,CAAC;IAC1C,qBAAqB,EAAE,MAAM,CAAC;CACjC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=EbusConfiguration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EbusConfiguration.js","sourceRoot":"","sources":["../src/EbusConfiguration.ts"],"names":[],"mappings":""}
@@ -1,11 +0,0 @@
1
- import { EbusRejectReason } from "./EbusRejectReason.js";
2
- /**
3
- * Throw this error to reject an EbusRequest.
4
- */
5
- export declare class EbusRejectError extends Error {
6
- rejectMessage?: string;
7
- reason: EbusRejectReason;
8
- more: any;
9
- constructor(reason: EbusRejectReason, message?: string, more?: any);
10
- }
11
- //# sourceMappingURL=EbusReject.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EbusReject.d.ts","sourceRoot":"","sources":["../src/EbusReject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;GAEG;AAGH,qBAAa,eAAgB,SAAQ,KAAK;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB,IAAI,EAAE,GAAG,CAAC;gBACE,MAAM,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;CAMrE"}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EbusRejectError = void 0;
4
- /**
5
- * Throw this error to reject an EbusRequest.
6
- */
7
- class EbusRejectError extends Error {
8
- constructor(reason, message, more) {
9
- super(message);
10
- this.rejectMessage = message;
11
- this.reason = reason;
12
- this.more = more;
13
- }
14
- }
15
- exports.EbusRejectError = EbusRejectError;
16
- //# sourceMappingURL=EbusReject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EbusReject.js","sourceRoot":"","sources":["../src/EbusReject.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AAGH,MAAa,eAAgB,SAAQ,KAAK;IAItC,YAAY,MAAwB,EAAE,OAAgB,EAAE,IAAU;QAC9D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ;AAVD,0CAUC"}
@@ -1,2 +0,0 @@
1
- export declare type EbusRejectReason = "timeout" | "reject" | "error";
2
- //# sourceMappingURL=EbusRejectReason.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EbusRejectReason.d.ts","sourceRoot":"","sources":["../src/EbusRejectReason.ts"],"names":[],"mappings":"AAEA,oBAAY,gBAAgB,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=EbusRejectReason.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EbusRejectReason.js","sourceRoot":"","sources":["../src/EbusRejectReason.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- export interface EbusRequestOptions {
2
- receiveTimeout: number;
3
- zip: boolean;
4
- raw: boolean;
5
- prepacked: boolean;
6
- returningError?: boolean;
7
- }
8
- //# sourceMappingURL=EbusRequestOptions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EbusRequestOptions.d.ts","sourceRoot":"","sources":["../src/EbusRequestOptions.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,kBAAkB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,OAAO,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=EbusRequestOptions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EbusRequestOptions.js","sourceRoot":"","sources":["../src/EbusRequestOptions.ts"],"names":[],"mappings":""}
@@ -1,10 +0,0 @@
1
- /// <reference types="node" />
2
- import { EbusRequestOptions } from "./EbusRequestOptions.js";
3
- export declare class EbusUnpackedResult<T> {
4
- opts: Partial<EbusRequestOptions>;
5
- data: T;
6
- unpack: (data: any, opts: Partial<EbusRequestOptions>) => any;
7
- type: "reply" | "error" | "reject" | "timeout" | "unknown";
8
- constructor(data: T, opts: Partial<EbusRequestOptions>, typeBuffer: Buffer);
9
- }
10
- //# sourceMappingURL=EbusUnpackedResult.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EbusUnpackedResult.d.ts","sourceRoot":"","sources":["../src/EbusUnpackedResult.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAI7D,qBAAa,kBAAkB,CAAC,CAAC;IAC7B,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACjC,IAAI,EAAE,CAAC,CAAC;IACR,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,KAAK,GAAG,CAAC;IAC9D,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;gBAC/C,IAAI,EAAE,CAAC,EAAE,IAAI,EAAG,OAAO,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,MAAM;CAU9E"}
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EbusUnpackedResult = void 0;
4
- const serialize_js_1 = require("./serialize.js");
5
- const types_js_1 = require("./types.js");
6
- class EbusUnpackedResult {
7
- constructor(data, opts, typeBuffer) {
8
- this.data = data;
9
- this.opts = opts;
10
- this.type = "unknown";
11
- if (typeBuffer.toString() === types_js_1.Message.Reply)
12
- this.type = "reply";
13
- if (typeBuffer.toString() === types_js_1.Message.Error)
14
- this.type = "error";
15
- if (typeBuffer.toString() === types_js_1.Message.Reject)
16
- this.type = "reject";
17
- if (typeBuffer.toString() === types_js_1.Message.Timeout)
18
- this.type = "timeout";
19
- this.unpack = serialize_js_1.unpack;
20
- }
21
- }
22
- exports.EbusUnpackedResult = EbusUnpackedResult;
23
- //# sourceMappingURL=EbusUnpackedResult.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EbusUnpackedResult.js","sourceRoot":"","sources":["../src/EbusUnpackedResult.ts"],"names":[],"mappings":";;;AACA,iDAAwC;AACxC,yCAAqC;AAErC,MAAa,kBAAkB;IAK3B,YAAY,IAAO,EAAE,IAAkC,EAAE,UAAkB;QACvE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,UAAU,CAAC,QAAQ,EAAE,KAAG,kBAAO,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,GAAC,OAAO,CAAA;QAC5D,IAAI,UAAU,CAAC,QAAQ,EAAE,KAAG,kBAAO,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,GAAC,OAAO,CAAA;QAC5D,IAAI,UAAU,CAAC,QAAQ,EAAE,KAAG,kBAAO,CAAC,MAAM;YAAE,IAAI,CAAC,IAAI,GAAC,QAAQ,CAAA;QAC9D,IAAI,UAAU,CAAC,QAAQ,EAAE,KAAG,kBAAO,CAAC,OAAO;YAAE,IAAI,CAAC,IAAI,GAAC,SAAS,CAAA;QAChE,IAAI,CAAC,MAAM,GAAG,qBAAM,CAAC;IACzB,CAAC;CACJ;AAfD,gDAeC"}
package/dist/block.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare function block(msec: number): Promise<void>;
2
- //# sourceMappingURL=block.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../src/block.ts"],"names":[],"mappings":"AAAA,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,iBAIvC"}
package/dist/block.js DELETED
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.block = void 0;
4
- async function block(msec) {
5
- for (let until = new Date().valueOf() + msec;; new Date().valueOf() <= until) {
6
- /* NOOP */
7
- }
8
- }
9
- exports.block = block;
10
- //# sourceMappingURL=block.js.map
package/dist/block.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"block.js","sourceRoot":"","sources":["../src/block.ts"],"names":[],"mappings":";;;AAAO,KAAK,UAAU,KAAK,CAAC,IAAY;IACpC,KAAK,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,GAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,KAAK,EAAE;QAC3E,UAAU;KACb;AACL,CAAC;AAJD,sBAIC"}
package/dist/broker.d.ts DELETED
@@ -1,42 +0,0 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import { Publisher, Router } from "zeromq";
4
- import { EbusConfiguration } from "./EbusConfiguration.js";
5
- import { Service } from "./service.js";
6
- export declare class Broker {
7
- socket: Router;
8
- services: Map<string, Service>;
9
- workers: Map<string, Buffer>;
10
- configuration: EbusConfiguration;
11
- publisher: Publisher;
12
- interval: NodeJS.Timeout | undefined;
13
- constructor(configuration?: Partial<EbusConfiguration>);
14
- exit(): Promise<void>;
15
- checkWorkersOnHeartbeat(): void;
16
- start(): Promise<void>;
17
- stop(): Promise<void>;
18
- handleClient(messageType: Buffer, client: Buffer, ...rest: Buffer[]): Promise<void>;
19
- restartAllWorkers(whom: string): Promise<void>;
20
- handleWorker(type: Buffer, worker?: Buffer, ...rest: Buffer[]): Promise<void>;
21
- private publishWorkersAndServices;
22
- register(worker: Buffer, service: Buffer): void;
23
- dispatchRequest(reqId: Buffer, client: Buffer, service: Buffer, timeout: number, opts: Buffer, req: Buffer): Promise<void>;
24
- dispatchReply(type: Buffer, worker: Buffer, client: Buffer, ...rep: Buffer[]): Promise<void>;
25
- deregister(worker: Buffer): void;
26
- updateHeartbeatForWorker(worker: Buffer): void;
27
- getService(name: Buffer): Service | undefined;
28
- getWorkerService(worker: Buffer): Buffer;
29
- setWorkerService(worker: Buffer, service: Buffer): void;
30
- getServicesWithWorkes(): string[];
31
- getServicesStatus(): {
32
- name: string;
33
- workers: number;
34
- requests: number;
35
- }[];
36
- getActiveWorkes(): {
37
- name: string;
38
- nWorkers: number;
39
- nRequests: number;
40
- }[];
41
- }
42
- //# sourceMappingURL=broker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"broker.d.ts","sourceRoot":"","sources":["../src/broker.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAI1D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAKtC,qBAAa,MAAM;IACf,MAAM,EAAE,MAAM,CAAuD;IACrE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAY;IAC1C,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAY;IACxC,aAAa,EAAE,iBAAiB,CAAA;IAChC,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAA;gBAExB,aAAa,GAAE,OAAO,CAAC,iBAAiB,CAAM;IAQpD,IAAI;IAaV,uBAAuB;IA+BjB,KAAK;IAmCL,IAAI;IAyBJ,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE;IAoCnE,iBAAiB,CAAC,IAAI,EAAC,MAAM;IAgC7B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE;YAuCrD,yBAAyB;IAKvC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAKlC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAM1G,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE;IAOlF,UAAU,CAAC,MAAM,EAAE,MAAM;IAKzB,wBAAwB,CAAC,MAAM,EAAE,MAAM;IAKvC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAa7C,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAIxC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAIhD,qBAAqB;IAOrB,iBAAiB;;;;;IAYjB,eAAe;;;;;CAWlB"}
package/dist/broker.js DELETED
@@ -1,292 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Broker = void 0;
4
- const cry_helpers_1 = require("cry-helpers");
5
- const zeromq_1 = require("zeromq");
6
- const loadConfiguration_js_1 = require("./loadConfiguration.js");
7
- const serialize_js_1 = require("./serialize.js");
8
- const service_js_1 = require("./service.js");
9
- const types_js_1 = require("./types.js");
10
- const prefixes = ["EBUS_BROKER", "EBUS"];
11
- const log = new cry_helpers_1.Log(prefixes);
12
- class Broker {
13
- constructor(configuration = {}) {
14
- this.socket = new zeromq_1.Router({ sendHighWaterMark: 1, sendTimeout: 1 });
15
- this.services = new Map();
16
- this.workers = new Map();
17
- this.configuration = (0, loadConfiguration_js_1.loadConfiguration)(prefixes, configuration);
18
- this.publisher = new zeromq_1.Publisher;
19
- process.on("SIGINT", async () => { await this.exit(); });
20
- process.on("SIGTERM", async () => { await this.exit(); });
21
- process.on("SIGABRT", async () => { await this.exit(); });
22
- }
23
- async exit() {
24
- setInterval(() => {
25
- log.error(`broker stopped forcefully`);
26
- process.exit(1);
27
- }, 1000);
28
- try {
29
- await this.stop();
30
- log.status("broker stopped");
31
- process.exit(0);
32
- }
33
- catch (_a) { }
34
- }
35
- checkWorkersOnHeartbeat() {
36
- if (this.interval)
37
- clearInterval(this.interval);
38
- this.interval = setInterval(() => {
39
- try {
40
- let now = new Date().valueOf();
41
- for (let [name, service] of this.services) {
42
- for (let [key, val] of service.heartbeats) {
43
- let since = now - val;
44
- if (since > this.configuration.brokerHeartbeatTimeout) {
45
- let worker = service.workers.get(key);
46
- if (worker) {
47
- log.error(`broker removing time-outted worker for ${service.name}`);
48
- log.status(`broker removing time-outted worker for ${service.name}`);
49
- this.deregister(worker);
50
- this.publishWorkersAndServices();
51
- }
52
- else {
53
- log.error(`broker cannot remove time-outed worker for ${service.name}, number of workers = ${service.workers.size}`);
54
- }
55
- }
56
- }
57
- }
58
- }
59
- catch (err) {
60
- log.error("broker heartbeat error");
61
- log.error(err);
62
- }
63
- }, this.configuration.heartbeatInterval);
64
- }
65
- async start() {
66
- await this.socket.bind(this.configuration.address);
67
- await this.publisher.bind(this.configuration.pubAddress);
68
- log.status(`started broker on ${this.configuration.address}`);
69
- log.status(`publisher ready on ${this.configuration.address}`);
70
- await this.publisher.send(['ebus/start', (0, serialize_js_1.pack)(new Date(), {})]);
71
- if (this.configuration.brokerChecksWorkersWithHeartbeat)
72
- this.checkWorkersOnHeartbeat();
73
- const loop = async () => {
74
- for await (const [sender, blank, header, messageType, ...rest] of this.socket) {
75
- try {
76
- switch (header.toString()) {
77
- case types_js_1.Header.Client:
78
- await this.handleClient(messageType, sender, ...rest);
79
- break;
80
- case types_js_1.Header.Worker:
81
- await this.handleWorker(messageType, sender, ...rest);
82
- break;
83
- default:
84
- console.error(`invalid message header: ${header}`);
85
- }
86
- }
87
- catch (err) {
88
- log.error("broker error");
89
- log.error(err);
90
- }
91
- }
92
- };
93
- loop();
94
- }
95
- async stop() {
96
- if (this.interval)
97
- clearInterval(this.interval);
98
- this.interval = undefined;
99
- log.status("broker stopping");
100
- await this.publisher.send(['ebus/stop', (0, serialize_js_1.pack)(new Date(), {})]);
101
- // notify all workers that we're shutting down
102
- this.services.forEach(async (service) => {
103
- for await (let [key, buff] of service.workers.entries()) {
104
- await this.socket.send([
105
- buff,
106
- null,
107
- types_js_1.Header.Worker,
108
- types_js_1.Message.Shutdown,
109
- ]);
110
- }
111
- });
112
- if (!this.socket.closed)
113
- await this.socket.close();
114
- if (!this.publisher.closed)
115
- await this.publisher.close();
116
- log.status("broker stopped");
117
- }
118
- async handleClient(messageType, client, ...rest) {
119
- var _a;
120
- switch (messageType && messageType.toString()) {
121
- case types_js_1.Message.Request:
122
- let [service, reqId, optsBuff, req] = rest;
123
- let opts = cry_helpers_1.serialize.unpack(optsBuff);
124
- let timeout = opts.receiveTimeout || this.configuration.receiveTimeout;
125
- log.debug(`broker received client request id ${reqId} for service ${service}`);
126
- await this.dispatchRequest(reqId, client, service, timeout, optsBuff, req);
127
- break;
128
- case types_js_1.Message.Services:
129
- let workers = cry_helpers_1.serialize.pack(this.getActiveWorkes());
130
- await this.socket.send([client, null, types_js_1.Header.Client, null, workers]);
131
- break;
132
- case types_js_1.Message.Workers:
133
- let services = cry_helpers_1.serialize.pack(this.getServicesWithWorkes());
134
- await this.socket.send([client, null, types_js_1.Header.Client, null, services]);
135
- break;
136
- case types_js_1.Message.Heartbeat:
137
- await this.socket.send([client, null, types_js_1.Header.Client, types_js_1.Message.Heartbeat]);
138
- break;
139
- case types_js_1.Message.Publish:
140
- let [channel, message] = rest;
141
- log.debug(`broker publishing message from client on ${channel}`);
142
- await this.publisher.send([channel, message]);
143
- //await this.socket.send([client, null, Header.Client, "ok" ])
144
- break;
145
- case types_js_1.Message.RestartAllWorkers:
146
- await this.restartAllWorkers((_a = rest === null || rest === void 0 ? void 0 : rest[0]) === null || _a === void 0 ? void 0 : _a.toString());
147
- break;
148
- default:
149
- log.error(`Unknow message request from client`, messageType);
150
- }
151
- }
152
- async restartAllWorkers(whom) {
153
- console.log(`broker restarting ${whom} workers`);
154
- log.status(`broker restarting ${whom} workers`);
155
- whom = whom === null || whom === void 0 ? void 0 : whom.toLowerCase();
156
- for (let [name, service] of this.services) {
157
- if (whom === "all" || whom === name.toLowerCase()) {
158
- for (let [_, worker] of service.workers) {
159
- log.debug(`send ShutdownAndRestart to worker ${name}`, worker);
160
- // request worker to shutdown and
161
- this.socket.sendTimeout = 100;
162
- this.socket.send([
163
- worker,
164
- null,
165
- types_js_1.Header.Worker,
166
- types_js_1.Message.ShutdownAndRestart,
167
- null,
168
- null,
169
- null,
170
- ]).catch(err => {
171
- log.error(`error sending ShutdownAndRestart from deregister: ${err.message}`);
172
- });
173
- this.deregister(worker);
174
- }
175
- }
176
- }
177
- ;
178
- }
179
- async handleWorker(type, worker, ...rest) {
180
- switch (type && type.toString()) {
181
- case types_js_1.Message.Ready: {
182
- const [service] = rest;
183
- await this.register(worker, service);
184
- await this.publishWorkersAndServices();
185
- break;
186
- }
187
- case types_js_1.Message.Heartbeat:
188
- await this.updateHeartbeatForWorker(worker);
189
- break;
190
- case types_js_1.Message.Reject:
191
- case types_js_1.Message.Timeout:
192
- case types_js_1.Message.Reply:
193
- case types_js_1.Message.Error:
194
- const [client, blank, ...rep] = rest;
195
- await this.dispatchReply(type, worker, client, ...rep);
196
- break;
197
- case types_js_1.Message.Disconnect:
198
- await this.deregister(worker);
199
- await this.publishWorkersAndServices();
200
- break;
201
- case types_js_1.Message.Publish:
202
- const [channel, message] = rest;
203
- log.debug(`broker publishing message from worker on ${channel}`);
204
- await this.publisher.send([channel, message]);
205
- break;
206
- default:
207
- log.error(`invalid worker message type: ${type}`);
208
- }
209
- }
210
- async publishWorkersAndServices() {
211
- await this.publisher.send(['ebus/workers', (0, serialize_js_1.pack)(this.getServicesWithWorkes(), {})]);
212
- await this.publisher.send(['ebus/services', (0, serialize_js_1.pack)(this.getServicesStatus(), {})]);
213
- }
214
- register(worker, service) {
215
- var _a;
216
- this.setWorkerService(worker, service);
217
- (_a = this.getService(service)) === null || _a === void 0 ? void 0 : _a.register(worker);
218
- }
219
- async dispatchRequest(reqId, client, service, timeout, opts, req) {
220
- let svc = this.getService(service);
221
- if (svc)
222
- await svc.dispatchRequest(reqId, client, timeout, opts, req);
223
- else
224
- log.error(`broker cannot dispatch request id ${reqId} for ${service} from client `, client);
225
- }
226
- async dispatchReply(type, worker, client, ...rep) {
227
- const service = this.getWorkerService(worker);
228
- let serviceOfWorker = this.getService(service);
229
- if (serviceOfWorker)
230
- await serviceOfWorker.dispatchReply(type, worker, client, ...rep);
231
- else
232
- log.error(`cannot dispatch reply for ${service} ${serviceOfWorker} to client`, client);
233
- }
234
- deregister(worker) {
235
- var _a;
236
- const service = this.getWorkerService(worker);
237
- (_a = this.getService(service)) === null || _a === void 0 ? void 0 : _a.deregister(worker);
238
- }
239
- updateHeartbeatForWorker(worker) {
240
- var _a;
241
- const service = this.getWorkerService(worker);
242
- (_a = this.getService(service)) === null || _a === void 0 ? void 0 : _a.updateHeartbeat(worker);
243
- }
244
- getService(name) {
245
- const key = name === null || name === void 0 ? void 0 : name.toString();
246
- if (!key)
247
- return;
248
- if (this.services.has(key)) {
249
- return this.services.get(key);
250
- }
251
- else {
252
- log.debug(`broker creating new service ${name}`);
253
- const service = new service_js_1.Service(this.socket, key, log);
254
- this.services.set(key, service);
255
- return service;
256
- }
257
- }
258
- getWorkerService(worker) {
259
- return this.workers.get(worker.toString("hex"));
260
- }
261
- setWorkerService(worker, service) {
262
- this.workers.set(worker.toString("hex"), service);
263
- }
264
- getServicesWithWorkes() {
265
- let services = Array.from(this.services.values()).filter(v => v.workers.size);
266
- let names = [...new Set(services.map(s => s.name))];
267
- return names;
268
- }
269
- getServicesStatus() {
270
- let services = Array.from(this.services.values());
271
- let names = services.map(s => {
272
- return {
273
- name: s.name,
274
- workers: s.workers.size,
275
- requests: s.requests.length
276
- };
277
- });
278
- return names;
279
- }
280
- getActiveWorkes() {
281
- let workers = Array.from(this.services.values()).map(service => {
282
- return {
283
- name: service.name,
284
- nWorkers: service.workers.size,
285
- nRequests: service.requests.length
286
- };
287
- });
288
- return workers;
289
- }
290
- }
291
- exports.Broker = Broker;
292
- //# sourceMappingURL=broker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"broker.js","sourceRoot":"","sources":["../src/broker.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export { ClientNonBlocking as Client } from "./clientNonBlocking.js";
2
- //# sourceMappingURL=client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC"}
package/dist/client.js DELETED
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Client = void 0;
4
- var clientNonBlocking_js_1 = require("./clientNonBlocking.js");
5
- Object.defineProperty(exports, "Client", { enumerable: true, get: function () { return clientNonBlocking_js_1.ClientNonBlocking; } });
6
- //# sourceMappingURL=client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AACA,+DAAqE;AAA5D,8GAAA,iBAAiB,OAAU"}
@@ -1,27 +0,0 @@
1
- import { EbusConfiguration } from "./EbusConfiguration.js";
2
- import { EbusRequestOptions } from "./EbusRequestOptions.js";
3
- import { EbusRejectError } from "./EbusReject.js";
4
- import { EbusUnpackedResult } from "./EbusUnpackedResult.js";
5
- import { EbusClientEvents } from "./EbusClientEvents.js";
6
- import { TypedEmitter } from "tiny-typed-emitter";
7
- /**
8
- * ebus client, works one request at the time
9
- * if broker is offline, each request is blocked until timeout runs out
10
- */
11
- export declare class ClientBlocking extends TypedEmitter<EbusClientEvents> {
12
- configuration: EbusConfiguration;
13
- lastError?: EbusRejectError;
14
- ebusOnline: boolean;
15
- requestId: number;
16
- constructor(config?: Partial<EbusConfiguration>);
17
- online(): boolean;
18
- publish(channel: string, message: any): Promise<void>;
19
- services(): Promise<any>;
20
- subscribe(channel: string, message: any): Promise<any>;
21
- workers(): Promise<any>;
22
- request<T>(service: string, req: any, reqOpts?: Partial<EbusRequestOptions>): Promise<unknown>;
23
- requestUpacked<T>(service: string, req: any, reqOpts: Partial<EbusRequestOptions>): Promise<EbusUnpackedResult<any>>;
24
- private _request;
25
- private startHeartbeat;
26
- }
27
- //# sourceMappingURL=clientBlocking.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clientBlocking.d.ts","sourceRoot":"","sources":["../src/clientBlocking.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAI5D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAKjD;;;GAGG;AACH,qBAAa,cAAe,SAAQ,YAAY,CAAC,gBAAgB,CAAC;IAE9D,aAAa,EAAE,iBAAiB,CAAA;IAChC,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B,UAAU,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;gBAEL,MAAM,GAAE,OAAO,CAAC,iBAAiB,CAAM;IAQnD,MAAM;IAIA,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAQrC,QAAQ;IAWR,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAWvC,OAAO;IAYP,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,OAAO,CAAC,kBAAkB,CAAM;IAe/E,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC;YAKzE,QAAQ;IA8BtB,OAAO,CAAC,cAAc;CA0CzB"}