@spider-mesh/core 1.0.118 → 1.0.120

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 (41) hide show
  1. package/build/src/Encoder.d.ts +4 -9
  2. package/build/src/Encoder.js +3 -37
  3. package/build/src/Encoder.js.map +1 -1
  4. package/build/src/SpiderMesh.d.ts +41 -45
  5. package/build/src/SpiderMesh.js +215 -273
  6. package/build/src/SpiderMesh.js.map +1 -1
  7. package/build/src/builtin-transporter/BuiltinTransporter.d.ts +5 -10
  8. package/build/src/builtin-transporter/BuiltinTransporter.js +85 -94
  9. package/build/src/builtin-transporter/BuiltinTransporter.js.map +1 -1
  10. package/build/src/builtin-transporter/RxjsTcpServer.d.ts +4 -9
  11. package/build/src/builtin-transporter/RxjsTcpServer.js +25 -25
  12. package/build/src/builtin-transporter/RxjsTcpServer.js.map +1 -1
  13. package/build/src/builtin-transporter/RxjsTcpSocket.d.ts +1 -0
  14. package/build/src/builtin-transporter/RxjsTcpSocket.js +3 -0
  15. package/build/src/builtin-transporter/RxjsTcpSocket.js.map +1 -1
  16. package/build/src/builtin-transporter/RxjsUdpServer.d.ts +20 -0
  17. package/build/src/builtin-transporter/RxjsUdpServer.js +83 -0
  18. package/build/src/builtin-transporter/RxjsUdpServer.js.map +1 -0
  19. package/build/src/const.d.ts +1 -0
  20. package/build/src/const.js +1 -0
  21. package/build/src/const.js.map +1 -1
  22. package/build/src/decorators/Microservice.d.ts +3 -1
  23. package/build/src/interfaces/SpiderMeshNode.d.ts +3 -1
  24. package/build/src/interfaces/SpiderMeshTransporter.d.ts +13 -12
  25. package/build/tests/Rpc.d.ts +1 -0
  26. package/build/tests/Rpc.js +102 -0
  27. package/build/tests/Rpc.js.map +1 -0
  28. package/package.json +1 -1
  29. package/tsconfig.json +2 -1
  30. package/build/src/builtin-transporter/RxjsUdpBroadcaster.d.ts +0 -19
  31. package/build/src/builtin-transporter/RxjsUdpBroadcaster.js +0 -56
  32. package/build/src/builtin-transporter/RxjsUdpBroadcaster.js.map +0 -1
  33. package/build/src/decorators/LimitConcurrentRunning.d.ts +0 -3
  34. package/build/src/decorators/LimitConcurrentRunning.js +0 -23
  35. package/build/src/decorators/LimitConcurrentRunning.js.map +0 -1
  36. package/build/src/helpers/waitFirstEvent.d.ts +0 -3
  37. package/build/src/helpers/waitFirstEvent.js +0 -5
  38. package/build/src/helpers/waitFirstEvent.js.map +0 -1
  39. package/build/src/index.d.ts +0 -12
  40. package/build/src/index.js +0 -10
  41. package/build/src/index.js.map +0 -1
@@ -3,15 +3,10 @@ import { Observable } from "rxjs";
3
3
  export type PureData = string | number | boolean | null | Buffer | PureData[] | {
4
4
  [key: string]: PureData;
5
5
  };
6
- export type EncoablePrimitiveType = Function | PureData | Observable<any> | Buffer;
7
- export type Encodeable = PureData | Array<EncoablePrimitiveType | Encodeable> | {
8
- [key: string]: EncoablePrimitiveType | Encodeable;
6
+ export type Encodeable = PureData | Array<PureData | Encodeable> | {
7
+ [key: string]: PureData | Encodeable;
9
8
  } | Observable<PureData>;
10
9
  export declare const Encoder: {
11
- encode: <T extends Encodeable>(content: T) => {
12
- buffer: Buffer;
13
- functions: Map<string, Function>;
14
- observables: Map<string, Observable<PureData>>;
15
- };
16
- decode: <T_1>(raw: Buffer, function_handler?: (index: string) => Function, oservable_handler?: (id: string) => Observable<any>) => T_1 | null;
10
+ encode: <T extends Encodeable>(content: T) => Buffer;
11
+ decode: <T_1>(raw: Buffer) => T_1 | null;
17
12
  };
@@ -1,18 +1,10 @@
1
- import { randomUUID } from "crypto";
2
- import { Observable } from "rxjs";
3
1
  export const Encoder = {
4
2
  encode: (content) => {
5
3
  const buffers = [];
6
- const functions = new Map();
7
- const observables = new Map();
8
4
  if (content == null || content == undefined) {
9
5
  const buffer = Buffer.alloc(4);
10
6
  buffer.writeInt32LE(-1);
11
- return {
12
- buffer,
13
- functions,
14
- observables
15
- };
7
+ return buffer;
16
8
  }
17
9
  function replacer(key, value) {
18
10
  const originalObject = this[key];
@@ -26,22 +18,6 @@ export const Encoder = {
26
18
  __$$__dataType: 'Set',
27
19
  __$$__value: Array.from(originalObject.values()),
28
20
  };
29
- if (originalObject instanceof Observable) {
30
- const id = randomUUID();
31
- observables.set(id, originalObject);
32
- return {
33
- __$$__dataType: 'Observable',
34
- id
35
- };
36
- }
37
- if (typeof originalObject == 'function') {
38
- const id = randomUUID();
39
- functions.set(id, originalObject);
40
- return {
41
- __$$__dataType: 'Function',
42
- id
43
- };
44
- }
45
21
  if (originalObject instanceof Buffer) {
46
22
  buffers.push(originalObject);
47
23
  return {
@@ -61,9 +37,9 @@ export const Encoder = {
61
37
  }).flat(2);
62
38
  const data = Buffer.from(metadata, 'utf-8');
63
39
  const buffer = Buffer.concat([buffers_count, ...buffers_list, data]);
64
- return { buffer, functions, observables };
40
+ return buffer;
65
41
  },
66
- decode: (raw, function_handler = (() => () => { }), oservable_handler = () => new Observable()) => {
42
+ decode: (raw) => {
67
43
  const buffers = [];
68
44
  const length = raw.readUInt32LE(0);
69
45
  if (length > raw.length || length < 0)
@@ -85,23 +61,13 @@ export const Encoder = {
85
61
  if (value.__$$__dataType === 'Set') {
86
62
  return new Set(value.__$$__value);
87
63
  }
88
- if (value.__$$__dataType == 'Function') {
89
- return function_handler(value.id);
90
- }
91
64
  if (value.__$$__dataType == 'Buffer') {
92
65
  return buffers[value.__index];
93
66
  }
94
- if (value.__$$__dataType == 'Observable') {
95
- return oservable_handler(value.id) || (() => new Observable());
96
- }
97
67
  }
98
68
  return value;
99
69
  }
100
70
  return JSON.parse(metadata, receiver);
101
71
  }
102
72
  };
103
- const a = Encoder.encode(undefined);
104
- console.log(a);
105
- const b = Encoder.decode(a.buffer);
106
- console.log(b);
107
73
  //# sourceMappingURL=Encoder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Encoder.js","sourceRoot":"","sources":["../../src/Encoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Encoder.js","sourceRoot":"","sources":["../../src/Encoder.ts"],"names":[],"mappings":"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"}
@@ -4,59 +4,52 @@ import { SpiderMeshTransporter } from './interfaces/SpiderMeshTransporter.js';
4
4
  import { RPCOptions } from './RPCOptions.js';
5
5
  import { RemoteService } from './interfaces/RemoteService.js';
6
6
  import { EventHub } from './decorators/ListenEvent.js';
7
- import { Observable, Subject, Subscription } from 'rxjs';
7
+ import { Observable, Subject } from 'rxjs';
8
8
  import { Encodeable } from './Encoder.js';
9
9
  export type PureData = string | number | boolean | null | Buffer | PureData[] | {
10
10
  [key: string]: PureData;
11
11
  };
12
- export declare enum MessageType {
13
- RpcRequest = 10,
14
- RpcSubscribeChannel = 20,
15
- RpcUnsubscribeChannel = 30,
16
- RpcStream = 50
17
- }
18
- export type RpcRequest = {
19
- session_id: string;
20
- type: MessageType.RpcRequest;
21
- args: Buffer;
22
- service: string;
23
- method: string;
24
- };
25
- export type RpcSubscribeChannel = {
26
- session_id: string;
27
- observable_id: string;
28
- channel_id: string;
29
- type: MessageType.RpcSubscribeChannel;
30
- };
31
- export type RpcUnsubscribeChannel = {
32
- session_id: string;
33
- channel_id: string;
34
- type: MessageType.RpcUnsubscribeChannel;
35
- };
36
- export type RpcStream = {
37
- session_id: string;
38
- channel_id: string;
39
- type: MessageType.RpcStream;
40
- error?: PureData;
41
- data?: PureData;
42
- completed?: true;
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?: PureData;
22
+ data?: {
23
+ value: PureData;
24
+ };
25
+ completed?: boolean;
26
+ };
43
27
  };
44
- export type RpcEvent = RpcRequest | RpcStream | RpcSubscribeChannel | RpcUnsubscribeChannel;
45
28
  export type SpiderMeshNamespace = string;
46
- export type SpiderMeshRequest = {
47
- target_node_id: string;
48
- observables: Map<string, Observable<PureData>>;
49
- channels: Map<string, Subject<PureData>>;
50
- subscriptions: Map<string, Subscription>;
29
+ export type SpiderMeshPublishPayload<T extends Encodeable = Encodeable> = {
30
+ topic: string | {
31
+ new (): EventHub<T>;
32
+ };
33
+ payload: T;
34
+ node_id?: string;
35
+ local_transporter_id?: string;
36
+ };
37
+ export type SpiderMeshBatchPublishPayload<T extends Encodeable = Encodeable> = {
38
+ topic: string | {
39
+ new (): EventHub<T>;
40
+ };
41
+ payload: T[];
42
+ node_id?: string;
43
+ local_transporter_id?: string;
51
44
  };
52
45
  export declare class SpiderMesh {
53
46
  #private;
54
- private transporter;
55
47
  $nodes_monitor: Subject<SpiderMeshNodeMetadata>;
56
- constructor(transporter?: SpiderMeshTransporter);
48
+ constructor(using_default_transporter?: boolean);
57
49
  rpc<T = any>(service: string, method: string, args: any, options?: Partial<RPCOptions>): Observable<T> & Promise<T>;
58
- $metadata(): Promise<SpiderMeshNodeMetadata>;
59
- $update_isolate_mode(active: boolean): Promise<SpiderMeshNodeMetadata>;
50
+ $metadata(): Promise<Omit<SpiderMeshNodeMetadata, "remote_transporter_id" | "local_transporter_id">>;
51
+ $update_isolate_mode(active: boolean): Promise<void>;
52
+ link_transporter(transporter: SpiderMeshTransporter): Promise<void>;
60
53
  link_remote_service<T>(factory: {
61
54
  new (...args: any[]): T;
62
55
  }, wait_service_online?: boolean): Promise<RemoteService<T>>;
@@ -66,16 +59,19 @@ export declare class SpiderMesh {
66
59
  publish: (data: T) => Promise<void>;
67
60
  listen: () => Observable<{
68
61
  data: T;
62
+ received_transporter_id: string;
63
+ sender_transporter_id: string;
69
64
  sender_node_id: string;
70
65
  }>;
71
66
  }>;
72
- publish<T extends Encodeable>(topic: string | {
73
- new (): EventHub<T>;
74
- }, payload: T, node_id?: string): Promise<void>;
67
+ batch_publish<T extends Encodeable>({ payload, topic, node_id, local_transporter_id }: SpiderMeshBatchPublishPayload<T>): Promise<void>;
68
+ publish<T extends Encodeable>({ payload, topic, node_id, local_transporter_id }: SpiderMeshPublishPayload<T>): Promise<void>;
75
69
  listen<T extends Encodeable = Encodeable>(topic: string | {
76
70
  new (...args: any[]): T;
77
71
  }): Observable<{
78
72
  data: T;
73
+ received_transporter_id: string;
74
+ sender_transporter_id: string;
79
75
  sender_node_id: string;
80
76
  }>;
81
77
  }