@spider-mesh/core 1.0.152 → 2.0.1

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 (83) hide show
  1. package/build/const.d.ts +1 -0
  2. package/build/const.js +2 -0
  3. package/build/const.js.map +1 -0
  4. package/build/src/SpiderMesh.d.ts +25 -70
  5. package/build/src/SpiderMesh.js +308 -420
  6. package/build/src/SpiderMesh.js.map +1 -1
  7. package/build/src/decorators/BeforeMicroserviceOnline.d.ts +1 -2
  8. package/build/src/decorators/BeforeMicroserviceOnline.js +1 -1
  9. package/build/src/decorators/BeforeMicroserviceOnline.js.map +1 -1
  10. package/build/src/decorators/LimitConcurrentRunning.d.ts +2 -3
  11. package/build/src/decorators/LimitConcurrentRunning.js +2 -27
  12. package/build/src/decorators/LimitConcurrentRunning.js.map +1 -1
  13. package/build/src/decorators/Microservice.d.ts +10 -7
  14. package/build/src/decorators/Microservice.js +13 -12
  15. package/build/src/decorators/Microservice.js.map +1 -1
  16. package/build/src/decorators/NestJSExposeMicroservice.d.ts +1 -2
  17. package/build/src/decorators/NestJSExposeMicroservice.js +9 -7
  18. package/build/src/decorators/NestJSExposeMicroservice.js.map +1 -1
  19. package/build/src/decorators/NestJSLinkEvent.d.ts +5 -16
  20. package/build/src/decorators/NestJSLinkEvent.js +2 -2
  21. package/build/src/decorators/NestJSLinkEvent.js.map +1 -1
  22. package/build/src/decorators/NestJSLinkMicroservice.d.ts +2 -2
  23. package/build/src/decorators/NestJSLinkMicroservice.js +2 -2
  24. package/build/src/decorators/NestJSLinkMicroservice.js.map +1 -1
  25. package/build/src/helpers/LimitConcurrency.d.ts +3 -0
  26. package/build/src/helpers/LimitConcurrency.js +34 -0
  27. package/build/src/helpers/LimitConcurrency.js.map +1 -0
  28. package/build/src/helpers/MicroserviceException.d.ts +8 -0
  29. package/build/src/helpers/MicroserviceException.js +9 -0
  30. package/build/src/helpers/MicroserviceException.js.map +1 -0
  31. package/build/src/helpers/MicroserviceNotFound copy.d.ts +5 -0
  32. package/build/src/helpers/MicroserviceNotFound copy.js +8 -0
  33. package/build/src/helpers/MicroserviceNotFound copy.js.map +1 -0
  34. package/build/src/helpers/MicroserviceNotFound.d.ts +5 -0
  35. package/build/src/helpers/MicroserviceNotFound.js +8 -0
  36. package/build/src/helpers/MicroserviceNotFound.js.map +1 -0
  37. package/build/src/helpers/MicroserviceOfflineException.d.ts +5 -0
  38. package/build/src/helpers/MicroserviceOfflineException.js +8 -0
  39. package/build/src/helpers/MicroserviceOfflineException.js.map +1 -0
  40. package/build/src/helpers/MicroserviceRpcTimeout.d.ts +5 -0
  41. package/build/src/helpers/MicroserviceRpcTimeout.js +8 -0
  42. package/build/src/helpers/MicroserviceRpcTimeout.js.map +1 -0
  43. package/build/src/helpers/randomUUID.js.map +1 -1
  44. package/build/src/helpers/sleep.js +1 -1
  45. package/build/src/helpers/sleep.js.map +1 -1
  46. package/build/src/index.d.ts +14 -15
  47. package/build/src/index.js +14 -12
  48. package/build/src/index.js.map +1 -1
  49. package/build/src/interfaces/DiscoveryTransporter.d.ts +5 -0
  50. package/build/src/interfaces/DiscoveryTransporter.js +3 -0
  51. package/build/src/interfaces/DiscoveryTransporter.js.map +1 -0
  52. package/build/src/interfaces/PubsubTransporter.d.ts +10 -0
  53. package/build/src/interfaces/PubsubTransporter.js +3 -0
  54. package/build/src/interfaces/PubsubTransporter.js.map +1 -0
  55. package/build/src/interfaces/RemoteService.d.ts +12 -19
  56. package/build/src/interfaces/RpcTransporter.d.ts +30 -0
  57. package/build/src/interfaces/RpcTransporter.js +3 -0
  58. package/build/src/interfaces/RpcTransporter.js.map +1 -0
  59. package/build/src/interfaces/SpiderMeshNode.d.ts +14 -19
  60. package/build/tsconfig.tsbuildinfo +1 -0
  61. package/package.json +7 -8
  62. package/tsconfig.json +2 -2
  63. package/build/src/Encoder.d.ts +0 -8
  64. package/build/src/Encoder.js +0 -76
  65. package/build/src/Encoder.js.map +0 -1
  66. package/build/src/RPCOptions.d.ts +0 -11
  67. package/build/src/RPCOptions.js +0 -11
  68. package/build/src/RPCOptions.js.map +0 -1
  69. package/build/src/const.d.ts +0 -6
  70. package/build/src/const.js +0 -8
  71. package/build/src/const.js.map +0 -1
  72. package/build/src/decorators/CustomSpiderMesh.d.ts +0 -6
  73. package/build/src/decorators/CustomSpiderMesh.js +0 -9
  74. package/build/src/decorators/CustomSpiderMesh.js.map +0 -1
  75. package/build/src/decorators/DeepProxy.d.ts +0 -7
  76. package/build/src/decorators/DeepProxy.js +0 -24
  77. package/build/src/decorators/DeepProxy.js.map +0 -1
  78. package/build/src/decorators/ListenEvent.d.ts +0 -19
  79. package/build/src/decorators/ListenEvent.js +0 -23
  80. package/build/src/decorators/ListenEvent.js.map +0 -1
  81. package/build/src/interfaces/SpiderMeshTransporter.d.ts +0 -33
  82. package/build/src/interfaces/SpiderMeshTransporter.js +0 -2
  83. package/build/src/interfaces/SpiderMeshTransporter.js.map +0 -1
@@ -0,0 +1 @@
1
+ export declare const SPIDERMESH_NAMESPACE = "default";
package/build/const.js ADDED
@@ -0,0 +1,2 @@
1
+ export const SPIDERMESH_NAMESPACE = 'default';
2
+ //# sourceMappingURL=const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../const.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAA"}
@@ -1,78 +1,33 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- import { SpiderMeshNodeMetadata } from './interfaces/SpiderMeshNode.js';
3
- import { SpiderMeshTransporter } from './interfaces/SpiderMeshTransporter.js';
4
- import { RPCOptions } from './RPCOptions.js';
5
- import { RemoteService } from './interfaces/RemoteService.js';
6
- import { EventHub } from './decorators/ListenEvent.js';
7
- import { Observable, ReplaySubject, Subject } from 'rxjs';
8
- import { Encodable } from './Encoder.js';
9
- type SpiderMeshMetadata = {
10
- smnid: string;
1
+ import { Observable } from "rxjs";
2
+ import { RemoteService } from "./interfaces/RemoteService.js";
3
+ import { SpiderMeshNode } from "./interfaces/SpiderMeshNode.js";
4
+ import { PubsubTransporter } from "./interfaces/PubsubTransporter.js";
5
+ import { RpcTransporter, RpcOptions } from "./interfaces/RpcTransporter.js";
6
+ import { DiscoveryTransporter } from "./interfaces/DiscoveryTransporter.js";
7
+ export type HelloEvent = SpiderMeshNode & {
8
+ back?: boolean;
11
9
  };
12
- export type SpiderMeshRpcEvent = {
13
- request: {
14
- request_id: string;
15
- args: Buffer;
16
- service: string;
17
- method: string;
18
- };
19
- response: {
20
- request_id: string;
21
- error?: Encodable;
22
- data?: {
23
- value: Encodable;
24
- };
25
- completed?: boolean;
26
- };
27
- };
28
- export type SpiderMeshNamespace = string;
29
- export type SpiderMeshBatchPublishPayload<T extends Encodable = Encodable> = {
30
- topic: string | {
31
- new (): EventHub<T>;
32
- };
33
- payload: T[];
34
- node_id?: string;
35
- local_transporter_id?: string;
10
+ export type ServiceChecker = (nodes: SpiderMeshNode[]) => Promise<boolean> | boolean;
11
+ export type NodesMap = {
12
+ nodes: Map<string, SpiderMeshNode>;
13
+ last_updated_node_id: string;
36
14
  };
37
15
  export declare class SpiderMesh {
38
16
  #private;
39
- private metadata;
40
- static $transporters: ReplaySubject<SpiderMeshTransporter>;
41
- $nodes_monitor: Subject<SpiderMeshNodeMetadata>;
42
- constructor(metadata?: any);
43
- rpc<T = any>(service: string, method: string, args: any, options?: Partial<RPCOptions>): (Observable<T> & Promise<T>) | undefined;
44
- $metadata(): Promise<Omit<SpiderMeshNodeMetadata, "local_transporter_id" | "remote_transporter_id">>;
45
- $update_isolate_mode(active: boolean): Promise<void>;
46
- link_remote_service<T>(factory: {
17
+ readonly node_id: string;
18
+ readonly namespace = "default";
19
+ constructor();
20
+ callRemoteService<T>(options: RpcOptions<T>): Observable<T>;
21
+ linkTransporter(transporter: RpcTransporter | PubsubTransporter | DiscoveryTransporter): import("rxjs").Subscription | undefined;
22
+ waitServiceOnline(service: string, check?: ServiceChecker): Promise<true>;
23
+ linkRemoteService<T>(factory: {
47
24
  new (...args: any[]): T;
48
- }, wait_service_online?: boolean): Promise<RemoteService<T>>;
49
- link_event<T extends Encodable = Encodable>(event_factory: {
25
+ }): RemoteService<T>;
26
+ linkEvent<T>(factory: {
50
27
  new (...args: any[]): T;
51
- }, publish_buffer_ms?: number): Promise<{
28
+ }): {
52
29
  publish: (data: T) => Promise<void>;
53
- listen: () => Observable<{
54
- payload: T;
55
- node_id: string;
56
- id: string;
57
- topic: string;
58
- created_at: number;
59
- received_at: number;
60
- metadata: SpiderMeshMetadata;
61
- sti: string;
62
- }>;
63
- }>;
64
- publish<T extends Encodable>({ payload, topic, node_id, local_transporter_id }: SpiderMeshBatchPublishPayload<T>, transporter?: SpiderMeshTransporter): Promise<void> | undefined;
65
- listen<T extends Encodable = Encodable>(topic: string | {
66
- new (...args: any[]): T;
67
- }, transporter?: SpiderMeshTransporter): Observable<{
68
- payload: T;
69
- node_id: string;
70
- id: string;
71
- topic: string;
72
- created_at: number;
73
- received_at: number;
74
- metadata: SpiderMeshMetadata;
75
- sti: string;
76
- }>;
30
+ listen: () => Observable<T>;
31
+ };
32
+ exposeLocalService(name: string, instance: any): Promise<void>;
77
33
  }
78
- export {};