@spider-mesh/core 1.0.21 → 1.0.23

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 (38) hide show
  1. package/build/index.d.ts +0 -1
  2. package/build/index.js +0 -1
  3. package/build/index.js.map +1 -1
  4. package/build/src/BuiltinTransporter.d.ts +10 -12
  5. package/build/src/BuiltinTransporter.js +104 -249
  6. package/build/src/BuiltinTransporter.js.map +1 -1
  7. package/build/src/RemoteService.d.ts +11 -6
  8. package/build/src/RxjsTcpServer.d.ts +9 -0
  9. package/build/src/RxjsTcpServer.js +31 -0
  10. package/build/src/RxjsTcpServer.js.map +1 -0
  11. package/build/src/RxjsTcpSocket.d.ts +14 -0
  12. package/build/src/RxjsTcpSocket.js +83 -0
  13. package/build/src/RxjsTcpSocket.js.map +1 -0
  14. package/build/src/RxjsUdpBroadcaster.d.ts +20 -0
  15. package/build/src/RxjsUdpBroadcaster.js +60 -0
  16. package/build/src/RxjsUdpBroadcaster.js.map +1 -0
  17. package/build/src/SpiderMesh.d.ts +31 -16
  18. package/build/src/SpiderMesh.js +226 -167
  19. package/build/src/SpiderMesh.js.map +1 -1
  20. package/build/src/SpiderMeshNode.d.ts +4 -5
  21. package/build/src/SpiderMeshTransporter.d.ts +19 -8
  22. package/build/src/decorators/Microservice.d.ts +6 -2
  23. package/build/src/decorators/Microservice.js +12 -12
  24. package/build/src/decorators/Microservice.js.map +1 -1
  25. package/build/src/decorators/SubscribeEvent.d.ts +6 -0
  26. package/build/src/decorators/SubscribeEvent.js +14 -0
  27. package/build/src/decorators/SubscribeEvent.js.map +1 -0
  28. package/build/src/helpers/sleep.d.ts +1 -0
  29. package/build/src/helpers/sleep.js +2 -0
  30. package/build/src/helpers/sleep.js.map +1 -0
  31. package/build/src/helpers/waitFirstEvent.d.ts +3 -0
  32. package/build/src/helpers/waitFirstEvent.js +5 -0
  33. package/build/src/helpers/waitFirstEvent.js.map +1 -0
  34. package/package.json +3 -2
  35. package/yarn.lock +197 -0
  36. package/build/src/decorators/createMicroserviceEvent.d.ts +0 -17
  37. package/build/src/decorators/createMicroserviceEvent.js +0 -56
  38. package/build/src/decorators/createMicroserviceEvent.js.map +0 -1
@@ -1,15 +1,15 @@
1
- import { SpiderMesh } from "../SpiderMesh";
2
- const MicroserviceList = [];
3
- export const Microservice = () => (target) => {
4
- MicroserviceList.push(target);
5
- class C extends target {
6
- constructor(...args) {
7
- super(...args);
8
- SpiderMesh.spider_mesh_instances.forEach(sm => sm.active_local_service(this));
1
+ import { ReplaySubject } from "rxjs";
2
+ export const serviceInstanceList = new ReplaySubject();
3
+ export const Microservice = (namespaces = ['default']) => {
4
+ return ((target) => {
5
+ class C extends target {
6
+ constructor(...args) {
7
+ super(...args);
8
+ serviceInstanceList.next({ instance: this, namespaces });
9
+ }
9
10
  }
10
- }
11
- Object.defineProperty(C, 'name', { value: target.name });
12
- return C;
11
+ Object.defineProperty(C, 'name', { value: target.name });
12
+ return C;
13
+ });
13
14
  };
14
- export const listMicroserviceFactories = () => [...MicroserviceList];
15
15
  //# sourceMappingURL=Microservice.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Microservice.js","sourceRoot":"","sources":["../../../src/decorators/Microservice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,MAAM,gBAAgB,GAAG,EAAW,CAAA;AAEpC,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,CAAC,MAAmC,EAAE,EAAE;IACtE,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC7B,MAAM,CAAE,SAAQ,MAAM;QAClB,YAAY,GAAG,IAAW;YACtB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;YACd,UAAU,CAAC,qBAAqB,CAAC,OAAO,CACpC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CACtC,CAAA;QAEL,CAAC;KACJ;IACD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;IACxD,OAAO,CAAQ,CAAA;AACnB,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAA"}
1
+ {"version":3,"file":"Microservice.js","sourceRoot":"","sources":["../../../src/decorators/Microservice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,MAAM,CAAA;AAEpC,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,aAAa,EAA2C,CAAA;AAG/F,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,aAAuB,CAAC,SAAS,CAAC,EAAE,EAAE;IAC/D,OAAO,CACH,CAAC,MAAmC,EAAE,EAAE;QACpC,MAAM,CAAE,SAAQ,MAAM;YAClB,YAAY,GAAG,IAAW;gBACtB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;gBACd,mBAAmB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;YAC5D,CAAC;SACJ;QACD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QACxD,OAAO,CAAQ,CAAA;IACnB,CAAC,CAGG,CAAA;AACZ,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ export declare const key: unique symbol;
2
+ export declare const SubscribeEvent: (event: string) => <T>(target: Object, method: any, descriptor: TypedPropertyDescriptor<T>) => void;
3
+ export declare const listEventSubscribers: (target: any) => {
4
+ method: string;
5
+ event: string;
6
+ }[];
@@ -0,0 +1,14 @@
1
+ export const key = Symbol.for('SubscribeEvent');
2
+ export const SubscribeEvent = (event) => (target, method, descriptor) => {
3
+ Object.defineProperty(descriptor.value, key, { value: { method, event } });
4
+ };
5
+ export const listEventSubscribers = (target) => {
6
+ const methods = [];
7
+ for (let f = target; f != null; f = Object.getPrototypeOf(f)) {
8
+ for (const method of Object.getOwnPropertyNames(f)) {
9
+ f[method]?.[key] && methods.push(f[method]?.[key]);
10
+ }
11
+ }
12
+ return methods;
13
+ };
14
+ //# sourceMappingURL=SubscribeEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubscribeEvent.js","sourceRoot":"","sources":["../../../src/decorators/SubscribeEvent.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;AAG/C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAC7C,MAAc,EACd,MAAM,EACN,UAAsC,EACxC,EAAE;IACA,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;AAC9E,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,EAAE;IAC3C,MAAM,OAAO,GAAG,EAA0C,CAAA;IAC1D,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;QAC1D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE;YAChD,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;SACrD;KACJ;IACD,OAAO,OAAO,CAAA;AAClB,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const sleep: (ms: number) => Promise<unknown>;
@@ -0,0 +1,2 @@
1
+ export const sleep = (ms) => new Promise(s => setTimeout(s, ~~ms));
2
+ //# sourceMappingURL=sleep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sleep.js","sourceRoot":"","sources":["../../../src/helpers/sleep.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ /// <reference types="node" />
2
+ import { EventEmitter } from "stream";
3
+ export declare function waitFirstEvent(target: EventEmitter, ...events: string[]): Promise<unknown[]>;
@@ -0,0 +1,5 @@
1
+ import { firstValueFrom, merge, fromEvent, map } from "rxjs";
2
+ export function waitFirstEvent(target, ...events) {
3
+ return firstValueFrom(merge(...events.map(e => fromEvent(target, e).pipe(map((...args) => [e, ...args])))));
4
+ }
5
+ //# sourceMappingURL=waitFirstEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waitFirstEvent.js","sourceRoot":"","sources":["../../../src/helpers/waitFirstEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAG7D,MAAM,UAAU,cAAc,CAAC,MAAoB,EAAE,GAAG,MAAgB;IACpE,OAAO,cAAc,CAAC,KAAK,CACvB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAC/E,CAAC,CAAA;AACN,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@spider-mesh/core",
3
3
  "type": "module",
4
- "version": "1.0.21",
4
+ "version": "1.0.23",
5
5
  "description": "Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters",
6
6
  "main": "build/index.js",
7
7
  "types": "build/index.d.ts",
@@ -23,6 +23,7 @@
23
23
  "license": "ISC",
24
24
  "dependencies": {
25
25
  "JSONStream": "^1.3.5",
26
- "event-stream": "^4.0.1"
26
+ "event-stream": "^4.0.1",
27
+ "rxjs": "^7.8.1"
27
28
  }
28
29
  }
package/yarn.lock ADDED
@@ -0,0 +1,197 @@
1
+ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
+ # yarn lockfile v1
3
+
4
+
5
+ "@cspotcode/source-map-support@^0.8.0":
6
+ version "0.8.1"
7
+ resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1"
8
+ integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==
9
+ dependencies:
10
+ "@jridgewell/trace-mapping" "0.3.9"
11
+
12
+ "@jridgewell/resolve-uri@^3.0.3":
13
+ version "3.1.1"
14
+ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721"
15
+ integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==
16
+
17
+ "@jridgewell/sourcemap-codec@^1.4.10":
18
+ version "1.4.15"
19
+ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
20
+ integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
21
+
22
+ "@jridgewell/trace-mapping@0.3.9":
23
+ version "0.3.9"
24
+ resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9"
25
+ integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==
26
+ dependencies:
27
+ "@jridgewell/resolve-uri" "^3.0.3"
28
+ "@jridgewell/sourcemap-codec" "^1.4.10"
29
+
30
+ "@tsconfig/node10@^1.0.7":
31
+ version "1.0.9"
32
+ resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2"
33
+ integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==
34
+
35
+ "@tsconfig/node12@^1.0.7":
36
+ version "1.0.11"
37
+ resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d"
38
+ integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==
39
+
40
+ "@tsconfig/node14@^1.0.0":
41
+ version "1.0.3"
42
+ resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1"
43
+ integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==
44
+
45
+ "@tsconfig/node16@^1.0.2":
46
+ version "1.0.4"
47
+ resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9"
48
+ integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==
49
+
50
+ "@types/node@^18.16.0":
51
+ version "18.17.1"
52
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.17.1.tgz#84c32903bf3a09f7878c391d31ff08f6fe7d8335"
53
+ integrity sha512-xlR1jahfizdplZYRU59JlUx9uzF1ARa8jbhM11ccpCJya8kvos5jwdm2ZAgxSCwOl0fq21svP18EVwPBXMQudw==
54
+
55
+ JSONStream@^1.3.5:
56
+ version "1.3.5"
57
+ resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0"
58
+ integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==
59
+ dependencies:
60
+ jsonparse "^1.2.0"
61
+ through ">=2.2.7 <3"
62
+
63
+ acorn-walk@^8.1.1:
64
+ version "8.2.0"
65
+ resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
66
+ integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
67
+
68
+ acorn@^8.4.1:
69
+ version "8.10.0"
70
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5"
71
+ integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
72
+
73
+ arg@^4.1.0:
74
+ version "4.1.3"
75
+ resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
76
+ integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
77
+
78
+ create-require@^1.1.0:
79
+ version "1.1.1"
80
+ resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
81
+ integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
82
+
83
+ diff@^4.0.1:
84
+ version "4.0.2"
85
+ resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
86
+ integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
87
+
88
+ duplexer@^0.1.1, duplexer@~0.1.1:
89
+ version "0.1.2"
90
+ resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
91
+ integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
92
+
93
+ event-stream@^4.0.1:
94
+ version "4.0.1"
95
+ resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-4.0.1.tgz#4092808ec995d0dd75ea4580c1df6a74db2cde65"
96
+ integrity sha512-qACXdu/9VHPBzcyhdOWR5/IahhGMf0roTeZJfzz077GwylcDd90yOHLouhmv7GJ5XzPi6ekaQWd8AvPP2nOvpA==
97
+ dependencies:
98
+ duplexer "^0.1.1"
99
+ from "^0.1.7"
100
+ map-stream "0.0.7"
101
+ pause-stream "^0.0.11"
102
+ split "^1.0.1"
103
+ stream-combiner "^0.2.2"
104
+ through "^2.3.8"
105
+
106
+ from@^0.1.7:
107
+ version "0.1.7"
108
+ resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe"
109
+ integrity sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==
110
+
111
+ jsonparse@^1.2.0:
112
+ version "1.3.1"
113
+ resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
114
+ integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==
115
+
116
+ make-error@^1.1.1:
117
+ version "1.3.6"
118
+ resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
119
+ integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
120
+
121
+ map-stream@0.0.7:
122
+ version "0.0.7"
123
+ resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.0.7.tgz#8a1f07896d82b10926bd3744a2420009f88974a8"
124
+ integrity sha512-C0X0KQmGm3N2ftbTGBhSyuydQ+vV1LC3f3zPvT3RXHXNZrvfPZcoXp/N5DOa8vedX/rTMm2CjTtivFg2STJMRQ==
125
+
126
+ pause-stream@^0.0.11:
127
+ version "0.0.11"
128
+ resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445"
129
+ integrity sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==
130
+ dependencies:
131
+ through "~2.3"
132
+
133
+ rxjs@^7.8.1:
134
+ version "7.8.1"
135
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543"
136
+ integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==
137
+ dependencies:
138
+ tslib "^2.1.0"
139
+
140
+ split@^1.0.1:
141
+ version "1.0.1"
142
+ resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9"
143
+ integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==
144
+ dependencies:
145
+ through "2"
146
+
147
+ stream-combiner@^0.2.2:
148
+ version "0.2.2"
149
+ resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.2.2.tgz#aec8cbac177b56b6f4fa479ced8c1912cee52858"
150
+ integrity sha512-6yHMqgLYDzQDcAkL+tjJDC5nSNuNIx0vZtRZeiPh7Saef7VHX9H5Ijn9l2VIol2zaNYlYEX6KyuT/237A58qEQ==
151
+ dependencies:
152
+ duplexer "~0.1.1"
153
+ through "~2.3.4"
154
+
155
+ through@2, "through@>=2.2.7 <3", through@^2.3.8, through@~2.3, through@~2.3.4:
156
+ version "2.3.8"
157
+ resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
158
+ integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
159
+
160
+ ts-node@^10.9.1:
161
+ version "10.9.1"
162
+ resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b"
163
+ integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==
164
+ dependencies:
165
+ "@cspotcode/source-map-support" "^0.8.0"
166
+ "@tsconfig/node10" "^1.0.7"
167
+ "@tsconfig/node12" "^1.0.7"
168
+ "@tsconfig/node14" "^1.0.0"
169
+ "@tsconfig/node16" "^1.0.2"
170
+ acorn "^8.4.1"
171
+ acorn-walk "^8.1.1"
172
+ arg "^4.1.0"
173
+ create-require "^1.1.0"
174
+ diff "^4.0.1"
175
+ make-error "^1.1.1"
176
+ v8-compile-cache-lib "^3.0.1"
177
+ yn "3.1.1"
178
+
179
+ tslib@^2.1.0:
180
+ version "2.6.1"
181
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.1.tgz#fd8c9a0ff42590b25703c0acb3de3d3f4ede0410"
182
+ integrity sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==
183
+
184
+ typescript@^5.0.4:
185
+ version "5.1.6"
186
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274"
187
+ integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==
188
+
189
+ v8-compile-cache-lib@^3.0.1:
190
+ version "3.0.1"
191
+ resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"
192
+ integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
193
+
194
+ yn@3.1.1:
195
+ version "3.1.1"
196
+ resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
197
+ integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
@@ -1,17 +0,0 @@
1
- import { SpiderMesh } from "../SpiderMesh";
2
- export declare const EventSubscriberHook: unique symbol;
3
- export type EventSubscriberMetadata = {
4
- method: string;
5
- event: string;
6
- };
7
- export declare const ListenEventList: Set<string>;
8
- export declare const createMicroserviceEvent: <T>(event: string, decorator?: () => ClassDecorator) => {
9
- new (sm: SpiderMesh): {
10
- sm: SpiderMesh;
11
- publish(data: T): void;
12
- subscribe(cb: (node: string, data: T) => any): void;
13
- };
14
- Payload: T;
15
- subscribe(): <T_1>(target: Object, method: string | symbol, descriptor: TypedPropertyDescriptor<T_1>) => void;
16
- };
17
- export declare const listEventSubscribers: (target: any) => EventSubscriberMetadata[];
@@ -1,56 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- import { SpiderMesh } from "../SpiderMesh";
11
- export const EventSubscriberHook = Symbol.for('SubscribeEventHook');
12
- export const ListenEventList = new Set();
13
- export const createMicroserviceEvent = (event, decorator = () => (c) => c) => {
14
- let C = class C {
15
- sm;
16
- static Payload = {};
17
- constructor(sm) {
18
- this.sm = sm;
19
- }
20
- publish(data) {
21
- this.sm.publish(event, data);
22
- }
23
- subscribe(cb) {
24
- this.sm.subscribe(event, cb);
25
- }
26
- static subscribe() {
27
- ListenEventList.add(event);
28
- return (target, method, descriptor) => {
29
- if (typeof method == 'string') {
30
- const value = {
31
- method,
32
- event,
33
- };
34
- Object.defineProperty(descriptor.value, EventSubscriberHook, { value });
35
- }
36
- };
37
- }
38
- };
39
- C = __decorate([
40
- decorator(),
41
- __metadata("design:paramtypes", [SpiderMesh])
42
- ], C);
43
- Object.defineProperty(C, 'name', { value: event });
44
- return C;
45
- };
46
- export const listEventSubscribers = (target) => {
47
- const list = new Array();
48
- for (let f = target; f != null; f = Object.getPrototypeOf(f)) {
49
- for (const method of Object.getOwnPropertyNames(f)) {
50
- const metadata = f[method]?.[EventSubscriberHook];
51
- metadata && list.push(metadata);
52
- }
53
- }
54
- return list;
55
- };
56
- //# sourceMappingURL=createMicroserviceEvent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createMicroserviceEvent.js","sourceRoot":"","sources":["../../../src/decorators/createMicroserviceEvent.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAI1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;AASnE,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAA;AAGhD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAI,KAAa,EAAE,YAAkC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;IAE1G,IACM,CAAC,GADP,MACM,CAAC;QAGgB;QADnB,MAAM,CAAC,OAAO,GAAG,EAAO,CAAA;QACxB,YAAmB,EAAc;YAAd,OAAE,GAAF,EAAE,CAAY;QAAI,CAAC;QACtC,OAAO,CAAC,IAAO;YACX,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAChC,CAAC;QACD,SAAS,CAAC,EAAkC;YACxC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QAChC,CAAC;QAED,MAAM,CAAC,SAAS;YACZ,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAC1B,OAAO,CACH,MAAc,EACd,MAAuB,EACvB,UAAsC,EACxC,EAAE;gBACA,IAAI,OAAO,MAAM,IAAI,QAAQ,EAAE;oBAC3B,MAAM,KAAK,GAA4B;wBACnC,MAAM;wBACN,KAAK;qBACR,CAAA;oBACD,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;iBAC1E;YACL,CAAC,CAAA;QAEL,CAAC;;IA3BC,CAAC;QADN,SAAS,EAAE;yCAIe,UAAU;OAH/B,CAAC,CA6BN;IACD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;IAClD,OAAO,CAAC,CAAA;AAEZ,CAAC,CAAA;AAMD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,EAAE;IAC3C,MAAM,IAAI,GAAG,IAAI,KAAK,EAA2B,CAAA;IACjD,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;QAC1D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE;YAChD,MAAM,QAAQ,GAA4B,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAA;YAC1E,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;SAClC;KACJ;IACD,OAAO,IAAI,CAAA;AACf,CAAC,CAAA"}