@spider-mesh/core 1.0.129 → 1.0.132
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.
- package/build/src/Encoder.js +3 -0
- package/build/src/Encoder.js.map +1 -1
- package/build/src/SpiderMesh.d.ts +4 -2
- package/build/src/SpiderMesh.js +19 -45
- package/build/src/SpiderMesh.js.map +1 -1
- package/build/src/const.js +2 -2
- package/build/src/const.js.map +1 -1
- package/build/src/decorators/ListenEvent.d.ts +2 -2
- package/build/src/decorators/Microservice.d.ts +0 -30
- package/build/src/decorators/Microservice.js +0 -20
- package/build/src/decorators/Microservice.js.map +1 -1
- package/build/src/decorators/NestJSExposeMicroservice.d.ts +6 -0
- package/build/src/decorators/NestJSExposeMicroservice.js +12 -0
- package/build/src/decorators/NestJSExposeMicroservice.js.map +1 -0
- package/build/src/decorators/NestJSInjectMetadata.d.ts +7 -0
- package/build/src/decorators/NestJSInjectMetadata.js +14 -0
- package/build/src/decorators/NestJSInjectMetadata.js.map +1 -0
- package/build/src/decorators/NestJSLinkEvent.d.ts +20 -0
- package/build/src/decorators/NestJSLinkEvent.js +7 -0
- package/build/src/decorators/NestJSLinkEvent.js.map +1 -0
- package/build/src/decorators/NestJSLinkMicroservice.d.ts +6 -0
- package/build/src/decorators/NestJSLinkMicroservice.js +7 -0
- package/build/src/decorators/NestJSLinkMicroservice.js.map +1 -0
- package/build/src/decorators/OnMicroserviceReady.d.ts +1 -1
- package/build/src/index.d.ts +6 -2
- package/build/src/index.js +6 -2
- package/build/src/index.js.map +1 -1
- package/build/src/interfaces/SpiderMeshNode.d.ts +0 -6
- package/package.json +4 -2
- package/tsconfig.json +2 -1
- package/build/src/builtin-transporter/BuiltinTransporter.d.ts +0 -11
- package/build/src/builtin-transporter/BuiltinTransporter.js +0 -151
- package/build/src/builtin-transporter/BuiltinTransporter.js.map +0 -1
- package/build/src/builtin-transporter/RxjsTcpServer.d.ts +0 -6
- package/build/src/builtin-transporter/RxjsTcpServer.js +0 -31
- package/build/src/builtin-transporter/RxjsTcpServer.js.map +0 -1
- package/build/src/builtin-transporter/RxjsTcpSocket.d.ts +0 -19
- package/build/src/builtin-transporter/RxjsTcpSocket.js +0 -72
- package/build/src/builtin-transporter/RxjsTcpSocket.js.map +0 -1
- package/build/src/builtin-transporter/RxjsUdpServer.d.ts +0 -20
- package/build/src/builtin-transporter/RxjsUdpServer.js +0 -92
- package/build/src/builtin-transporter/RxjsUdpServer.js.map +0 -1
- package/build/src/helpers/waitFirstEvent.d.ts +0 -3
- package/build/src/helpers/waitFirstEvent.js +0 -5
- package/build/src/helpers/waitFirstEvent.js.map +0 -1
- package/build/tests/ExampleEvent.d.ts +0 -1
- package/build/tests/ExampleEvent.js +0 -2
- package/build/tests/ExampleEvent.js.map +0 -1
- package/build/tests/ExampleService.d.ts +0 -29
- package/build/tests/ExampleService.js +0 -70
- package/build/tests/ExampleService.js.map +0 -1
- package/build/tests/index.d.ts +0 -1
- package/build/tests/index.js +0 -119
- package/build/tests/index.js.map +0 -1
package/build/src/Encoder.js
CHANGED
package/build/src/Encoder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Encoder.js","sourceRoot":"","sources":["../../src/Encoder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Encoder.js","sourceRoot":"","sources":["../../src/Encoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ 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 } from 'rxjs';
|
|
7
|
+
import { Observable, ReplaySubject, Subject } from 'rxjs';
|
|
8
8
|
import { Encodable } from './Encoder.js';
|
|
9
9
|
type SpiderMeshMetadata = {
|
|
10
10
|
smnid: string;
|
|
@@ -44,8 +44,10 @@ export type SpiderMeshBatchPublishPayload<T extends Encodable = Encodable> = {
|
|
|
44
44
|
};
|
|
45
45
|
export declare class SpiderMesh {
|
|
46
46
|
#private;
|
|
47
|
+
static $transporters: ReplaySubject<SpiderMeshTransporter>;
|
|
47
48
|
$nodes_monitor: Subject<SpiderMeshNodeMetadata>;
|
|
48
|
-
constructor(
|
|
49
|
+
constructor();
|
|
50
|
+
set_metadata(metadata: any, overwrite?: boolean): void;
|
|
49
51
|
rpc<T = any>(service: string, method: string, args: any, options?: Partial<RPCOptions>): Observable<T> | undefined;
|
|
50
52
|
$metadata(): Promise<Omit<SpiderMeshNodeMetadata, "local_transporter_id" | "remote_transporter_id">>;
|
|
51
53
|
$update_isolate_mode(active: boolean): Promise<void>;
|
package/build/src/SpiderMesh.js
CHANGED
|
@@ -1,48 +1,34 @@
|
|
|
1
|
-
import { randomUUID } from 'crypto';
|
|
2
|
-
import { get } from 'http';
|
|
3
|
-
import { networkInterfaces } from 'os';
|
|
4
1
|
import { DeepProxy } from './decorators/DeepProxy.js';
|
|
5
2
|
import { RPCOptionsList } from './RPCOptions.js';
|
|
6
|
-
import os from 'os';
|
|
7
3
|
import { listEventSubscribers } from './decorators/ListenEvent.js';
|
|
8
4
|
import { listReadyHookMethods } from './decorators/OnMicroserviceReady.js';
|
|
9
|
-
import { BehaviorSubject, Observable, Subject, bufferTime, catchError, debounceTime, filter, firstValueFrom, from, groupBy, map, merge, mergeAll, mergeMap, of, retry, scan, share, tap, timeout } from 'rxjs';
|
|
10
|
-
import { readFileSync } from 'fs';
|
|
5
|
+
import { BehaviorSubject, Observable, ReplaySubject, Subject, bufferTime, catchError, debounceTime, filter, firstValueFrom, from, groupBy, map, merge, mergeAll, mergeMap, of, retry, scan, share, tap, timeout } from 'rxjs';
|
|
11
6
|
import { sleep } from './helpers/sleep.js';
|
|
12
7
|
import { NAMEPSACE } from './const.js';
|
|
13
|
-
import { BuiltinTransporter } from './builtin-transporter/BuiltinTransporter.js';
|
|
14
8
|
import { $services } from './decorators/Microservice.js';
|
|
15
|
-
|
|
9
|
+
import { v4 } from 'uuid';
|
|
10
|
+
if (typeof Buffer == 'undefined') {
|
|
11
|
+
global.Buffer = require('buffer').Buffer;
|
|
12
|
+
}
|
|
16
13
|
export class SpiderMesh {
|
|
17
|
-
|
|
14
|
+
static $transporters = new ReplaySubject();
|
|
15
|
+
#node_id = v4();
|
|
18
16
|
#requests = new Map;
|
|
19
17
|
#local_services = new Map();
|
|
20
18
|
#remote_services = new Map;
|
|
21
19
|
#linked_nodes = new Map();
|
|
22
|
-
#public_ip = new Promise(async (s) => {
|
|
23
|
-
for (let i = 1; i <= 5; i++) {
|
|
24
|
-
const ip = await new Promise(s => {
|
|
25
|
-
get('http://api.ipify.org', (res) => {
|
|
26
|
-
res.setEncoding('utf8');
|
|
27
|
-
let rawData = '';
|
|
28
|
-
res.on('data', (chunk) => { rawData += chunk; });
|
|
29
|
-
res.on('end', () => s(rawData));
|
|
30
|
-
}).on('error', () => s(null));
|
|
31
|
-
});
|
|
32
|
-
if (ip && ip != 'Bad Gateway')
|
|
33
|
-
return s(ip);
|
|
34
|
-
await new Promise(s => setTimeout(s, 100));
|
|
35
|
-
}
|
|
36
|
-
return s(null);
|
|
37
|
-
});
|
|
38
20
|
$nodes_monitor = new Subject();
|
|
39
21
|
#$isolated = new BehaviorSubject(false);
|
|
40
22
|
#transporters = new Map();
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
23
|
+
#metadata = {};
|
|
24
|
+
constructor() {
|
|
25
|
+
SpiderMesh.$transporters.subscribe(transporter => this.link_transporter(transporter));
|
|
26
|
+
}
|
|
27
|
+
set_metadata(metadata, overwrite = false) {
|
|
28
|
+
this.#metadata = {
|
|
29
|
+
...overwrite ? {} : this.#metadata,
|
|
30
|
+
...metadata
|
|
31
|
+
};
|
|
46
32
|
}
|
|
47
33
|
#caculate_rpc_node_id(service_name, options = {}) {
|
|
48
34
|
const current = this.#remote_services.get(service_name);
|
|
@@ -53,10 +39,7 @@ export class SpiderMesh {
|
|
|
53
39
|
return options.$node_id;
|
|
54
40
|
return;
|
|
55
41
|
}
|
|
56
|
-
const
|
|
57
|
-
const nodes = option_ip ? (current
|
|
58
|
-
.nodes
|
|
59
|
-
.filter(node => node.public_ip == option_ip || node.ip_addresses.includes(option_ip))) : current.nodes;
|
|
42
|
+
const nodes = current.nodes;
|
|
60
43
|
if (nodes.length == 0)
|
|
61
44
|
return;
|
|
62
45
|
current.last_call_index = (current.last_call_index + 1) % nodes.length;
|
|
@@ -88,7 +71,7 @@ export class SpiderMesh {
|
|
|
88
71
|
return;
|
|
89
72
|
}
|
|
90
73
|
const $ = new Observable($response => {
|
|
91
|
-
const request_id =
|
|
74
|
+
const request_id = v4();
|
|
92
75
|
this.#requests.set(request_id, { $response, rpc_node_id });
|
|
93
76
|
this.publish({
|
|
94
77
|
topic: rpc_node_id,
|
|
@@ -131,10 +114,6 @@ export class SpiderMesh {
|
|
|
131
114
|
});
|
|
132
115
|
}
|
|
133
116
|
async $metadata() {
|
|
134
|
-
const ips = (Object.values(networkInterfaces())
|
|
135
|
-
.flat(2)
|
|
136
|
-
.filter(a => a && !a.internal && a.address)
|
|
137
|
-
.map(a => a?.address));
|
|
138
117
|
const services = [...this.#local_services.entries()].reduce((p, [service_id, { metadata }]) => ({
|
|
139
118
|
...p,
|
|
140
119
|
[service_id]: metadata
|
|
@@ -145,16 +124,11 @@ export class SpiderMesh {
|
|
|
145
124
|
.map(node => node.local_transporter_id))
|
|
146
125
|
];
|
|
147
126
|
const metadata = {
|
|
127
|
+
...this.#metadata,
|
|
148
128
|
node_id: this.#node_id,
|
|
149
|
-
name: PACKAGE_JSON?.name || 'UNKNOWN',
|
|
150
|
-
version: PACKAGE_JSON?.version || '1.0.0',
|
|
151
129
|
path: process.cwd(),
|
|
152
130
|
uptime: process.uptime(),
|
|
153
|
-
hostname: os.hostname(),
|
|
154
|
-
plaform: os.platform(),
|
|
155
131
|
node_version: process.version,
|
|
156
|
-
public_ip: await this.#public_ip,
|
|
157
|
-
ip_addresses: ips,
|
|
158
132
|
last_online: Date.now(),
|
|
159
133
|
online: true,
|
|
160
134
|
services,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpiderMesh.js","sourceRoot":"","sources":["../../src/SpiderMesh.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SpiderMesh.js","sourceRoot":"","sources":["../../src/SpiderMesh.ts"],"names":[],"mappings":"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"}
|
package/build/src/const.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { v4 } from 'uuid';
|
|
2
2
|
export const NAMEPSACE = process.env.SPIDERMESH_NAMESPACE || 'default';
|
|
3
|
-
export const NODE_ID = process.env.SPIDERMESH_NODE_ID ||
|
|
3
|
+
export const NODE_ID = process.env.SPIDERMESH_NODE_ID || v4();
|
|
4
4
|
export const UDP_BROADCAST_ADDRESS = process.env.SPIDERMESH_UDP_BROADCAST_ADDRESS || '';
|
|
5
5
|
export const UDP_BROADCAST_PORT = Number(process.env.SPIDERMESH_UDP_BROADCAST_PORT || 10000);
|
|
6
6
|
export const UDP_SECRET_KEY = process.env.SPIDERMESH_UDP_BROADCAST_PORT || 'default-spider-mesh-secret-key';
|
package/build/src/const.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/const.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/const.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,EAAE,EAAC,MAAM,MAAM,CAAA;AAEvB,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,SAAS,CAAA;AACtE,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,EAAE,CAAA;AAC7D,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,EAAE,CAAA;AACvF,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,KAAK,CAAC,CAAA;AAC5F,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,gCAAgC,CAAA;AAC3G,MAAM,CAAC,MAAM,kBAAkB,GAAE,MAAM,CAAE,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,CAAC,CAAC,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
2
|
import { SpiderMeshTransporterEvent } from '../interfaces/SpiderMeshTransporter.js';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { Encodable } from '../Encoder.js';
|
|
4
|
+
import { SpiderMesh } from '../SpiderMesh.js';
|
|
5
5
|
export type EventMetadata = {
|
|
6
6
|
method: string;
|
|
7
7
|
event: string;
|
|
@@ -1,38 +1,8 @@
|
|
|
1
1
|
import { ReplaySubject } from "rxjs";
|
|
2
2
|
import { ServiceMetadata } from "../../src/interfaces/SpiderMeshNode.js";
|
|
3
|
-
import { SpiderMesh } from "../../src/SpiderMesh.js";
|
|
4
3
|
export declare const $services: ReplaySubject<{
|
|
5
4
|
instance: any;
|
|
6
5
|
namespace: string;
|
|
7
6
|
metadata: ServiceMetadata;
|
|
8
7
|
}>;
|
|
9
|
-
export declare const NestJSExposeMicroservice: (factory: any, metadata?: ServiceMetadata, namespace?: string) => {
|
|
10
|
-
provide: symbol;
|
|
11
|
-
inject: any[];
|
|
12
|
-
useFactory: (instance: any) => void;
|
|
13
|
-
};
|
|
14
|
-
export declare const NestJSLinkMicroservice: (factory: any, wait_service_online?: boolean) => {
|
|
15
|
-
provide: any;
|
|
16
|
-
inject: (typeof SpiderMesh)[];
|
|
17
|
-
useFactory: (sm: SpiderMesh) => Promise<import("../index.js").RemoteService<unknown>>;
|
|
18
|
-
};
|
|
19
|
-
export declare const NestJSLinkEvent: (factory: any, publish_buffer_ms?: number) => {
|
|
20
|
-
provide: any;
|
|
21
|
-
inject: (typeof SpiderMesh)[];
|
|
22
|
-
useFactory: (sm: SpiderMesh) => Promise<{
|
|
23
|
-
publish: (data: import("../Encoder.js").Encodable) => Promise<void>;
|
|
24
|
-
listen: () => import("rxjs").Observable<{
|
|
25
|
-
payload: import("../Encoder.js").Encodable;
|
|
26
|
-
node_id: string;
|
|
27
|
-
id: string;
|
|
28
|
-
topic: string;
|
|
29
|
-
created_at: number;
|
|
30
|
-
received_at: number;
|
|
31
|
-
metadata: {
|
|
32
|
-
smnid: string;
|
|
33
|
-
};
|
|
34
|
-
sti: string;
|
|
35
|
-
}>;
|
|
36
|
-
}>;
|
|
37
|
-
};
|
|
38
8
|
export declare const Microservice: (namespace?: string, metadata?: ServiceMetadata) => any;
|
|
@@ -1,26 +1,6 @@
|
|
|
1
1
|
import { ReplaySubject } from "rxjs";
|
|
2
2
|
import { NAMEPSACE } from "../const.js";
|
|
3
|
-
import { SpiderMesh } from "../../src/SpiderMesh.js";
|
|
4
3
|
export const $services = new ReplaySubject();
|
|
5
|
-
export const NestJSExposeMicroservice = (factory, metadata = {}, namespace = NAMEPSACE) => ({
|
|
6
|
-
provide: Symbol(),
|
|
7
|
-
inject: [factory],
|
|
8
|
-
useFactory: (instance) => $services.next({
|
|
9
|
-
instance,
|
|
10
|
-
namespace,
|
|
11
|
-
metadata
|
|
12
|
-
})
|
|
13
|
-
});
|
|
14
|
-
export const NestJSLinkMicroservice = (factory, wait_service_online) => ({
|
|
15
|
-
provide: factory,
|
|
16
|
-
inject: [SpiderMesh],
|
|
17
|
-
useFactory: (sm) => sm.link_remote_service(factory, wait_service_online)
|
|
18
|
-
});
|
|
19
|
-
export const NestJSLinkEvent = (factory, publish_buffer_ms) => ({
|
|
20
|
-
provide: factory,
|
|
21
|
-
inject: [SpiderMesh],
|
|
22
|
-
useFactory: (sm) => sm.link_event(factory, publish_buffer_ms)
|
|
23
|
-
});
|
|
24
4
|
export const Microservice = (namespace = NAMEPSACE, metadata = {}) => {
|
|
25
5
|
return ((target) => {
|
|
26
6
|
class C extends target {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Microservice.js","sourceRoot":"","sources":["../../../src/decorators/Microservice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"Microservice.js","sourceRoot":"","sources":["../../../src/decorators/Microservice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGvC,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,aAAa,EAAmE,CAAA;AAI7G,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,YAAoB,SAAS,EAAE,WAA4B,EAAE,EAAE,EAAE;IAC1F,OAAO,CACH,CAAC,MAAmC,EAAE,EAAE;QACpC,MAAM,CAAE,SAAQ,MAAM;YAClB,YAAY,GAAG,IAAW;gBACtB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;gBACd,SAAS,CAAC,IAAI,CAAC;oBACX,QAAQ,EAAE,IAAI;oBACd,SAAS;oBACT,QAAQ;iBACX,CAAC,CAAA;YACN,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,12 @@
|
|
|
1
|
+
import { NAMEPSACE } from "../const.js";
|
|
2
|
+
import { $services } from "./Microservice.js";
|
|
3
|
+
export const NestJSExposeMicroservice = (factory, metadata = {}, namespace = NAMEPSACE) => ({
|
|
4
|
+
provide: Symbol(),
|
|
5
|
+
inject: [factory],
|
|
6
|
+
useFactory: (instance) => $services.next({
|
|
7
|
+
instance,
|
|
8
|
+
namespace,
|
|
9
|
+
metadata
|
|
10
|
+
})
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=NestJSExposeMicroservice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NestJSExposeMicroservice.js","sourceRoot":"","sources":["../../../src/decorators/NestJSExposeMicroservice.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,OAAY,EAAE,WAA4B,EAAE,EAAE,YAAoB,SAAS,EAAE,EAAE,CAAC,CAAC;IACtH,OAAO,EAAE,MAAM,EAAE;IACjB,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,UAAU,EAAE,CAAC,QAAa,EAAE,EAAE,CAAE,SAAS,CAAC,IAAI,CAAC;QAC3C,QAAQ;QACR,SAAS;QACT,QAAQ;KACX,CAAC;CACL,CAAC,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ServiceMetadata } from "../interfaces/SpiderMeshNode.js";
|
|
2
|
+
import { SpiderMesh } from "../SpiderMesh.js";
|
|
3
|
+
export declare const NestJSInjectMetadata: (fn: () => Promise<ServiceMetadata>) => {
|
|
4
|
+
provide: symbol;
|
|
5
|
+
inject: (typeof SpiderMesh)[];
|
|
6
|
+
useFactory: (sm: SpiderMesh) => Promise<void>;
|
|
7
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SpiderMesh } from "../SpiderMesh.js";
|
|
2
|
+
export const NestJSInjectMetadata = (fn) => ({
|
|
3
|
+
provide: Symbol.for('NestJSInjectMetadata'),
|
|
4
|
+
inject: [SpiderMesh],
|
|
5
|
+
useFactory: async (sm) => {
|
|
6
|
+
try {
|
|
7
|
+
const m = await fn();
|
|
8
|
+
sm.set_metadata(m, true);
|
|
9
|
+
}
|
|
10
|
+
catch (e) {
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=NestJSInjectMetadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NestJSInjectMetadata.js","sourceRoot":"","sources":["../../../src/decorators/NestJSInjectMetadata.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EAAkC,EAAE,EAAE,CAAC,CAAC;IACzE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC;IAC3C,MAAM,EAAE,CAAC,UAAU,CAAC;IACpB,UAAU,EAAE,KAAK,EAAE,EAAc,EAAE,EAAE;QACjC,IAAI;YACA,MAAM,CAAC,GAAG,MAAM,EAAE,EAAE,CAAA;YACpB,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;SAC3B;QAAC,OAAO,CAAC,EAAE;SAEX;IACL,CAAC;CACJ,CAAC,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { SpiderMesh } from "../SpiderMesh.js";
|
|
2
|
+
export declare const NestJSLinkEvent: (factory: any, publish_buffer_ms?: number) => {
|
|
3
|
+
provide: any;
|
|
4
|
+
inject: (typeof SpiderMesh)[];
|
|
5
|
+
useFactory: (sm: SpiderMesh) => Promise<{
|
|
6
|
+
publish: (data: import("../Encoder.js").Encodable) => Promise<void>;
|
|
7
|
+
listen: () => import("rxjs").Observable<{
|
|
8
|
+
payload: import("../Encoder.js").Encodable;
|
|
9
|
+
node_id: string;
|
|
10
|
+
id: string;
|
|
11
|
+
topic: string;
|
|
12
|
+
created_at: number;
|
|
13
|
+
received_at: number;
|
|
14
|
+
metadata: {
|
|
15
|
+
smnid: string;
|
|
16
|
+
};
|
|
17
|
+
sti: string;
|
|
18
|
+
}>;
|
|
19
|
+
}>;
|
|
20
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SpiderMesh } from "../SpiderMesh.js";
|
|
2
|
+
export const NestJSLinkEvent = (factory, publish_buffer_ms) => ({
|
|
3
|
+
provide: factory,
|
|
4
|
+
inject: [SpiderMesh],
|
|
5
|
+
useFactory: (sm) => sm.link_event(factory, publish_buffer_ms)
|
|
6
|
+
});
|
|
7
|
+
//# sourceMappingURL=NestJSLinkEvent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NestJSLinkEvent.js","sourceRoot":"","sources":["../../../src/decorators/NestJSLinkEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAY,EAAE,iBAA0B,EAAE,EAAE,CAAC,CAAC;IAC1E,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,CAAC,UAAU,CAAC;IACpB,UAAU,EAAE,CAAC,EAAc,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,iBAAiB,CAAC;CAC5E,CAAC,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { SpiderMesh } from "../SpiderMesh.js";
|
|
2
|
+
export declare const NestJSLinkMicroservice: (factory: any, wait_service_online?: boolean) => {
|
|
3
|
+
provide: any;
|
|
4
|
+
inject: (typeof SpiderMesh)[];
|
|
5
|
+
useFactory: (sm: SpiderMesh) => Promise<import("../index.js").RemoteService<unknown>>;
|
|
6
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SpiderMesh } from "../SpiderMesh.js";
|
|
2
|
+
export const NestJSLinkMicroservice = (factory, wait_service_online) => ({
|
|
3
|
+
provide: factory,
|
|
4
|
+
inject: [SpiderMesh],
|
|
5
|
+
useFactory: (sm) => sm.link_remote_service(factory, wait_service_online)
|
|
6
|
+
});
|
|
7
|
+
//# sourceMappingURL=NestJSLinkMicroservice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NestJSLinkMicroservice.js","sourceRoot":"","sources":["../../../src/decorators/NestJSLinkMicroservice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAY,EAAE,mBAA6B,EAAE,EAAE,CAAC,CAAC;IACpF,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,CAAC,UAAU,CAAC;IACpB,UAAU,EAAE,CAAC,EAAc,EAAE,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,CAAC;CACvF,CAAC,CAAA"}
|
package/build/src/index.d.ts
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
export * from './const.js';
|
|
2
|
-
export { BuiltinTransporter } from './builtin-transporter/BuiltinTransporter.js';
|
|
3
2
|
export { SpiderMesh } from './SpiderMesh.js';
|
|
4
3
|
export { SpiderMeshNode, SpiderMeshNodeMetadata } from './interfaces/SpiderMeshNode.js';
|
|
5
4
|
export { SpiderMeshTransporter, SpiderMeshTransporterFactory } from './interfaces/SpiderMeshTransporter.js';
|
|
6
5
|
export { RemoteService } from './interfaces/RemoteService.js';
|
|
7
6
|
export { RPCOptions, RPCOptionsList } from './RPCOptions.js';
|
|
8
7
|
export { OnMicroserviceReady } from './decorators/OnMicroserviceReady.js';
|
|
9
|
-
export { Microservice
|
|
8
|
+
export { Microservice } from './decorators/Microservice.js';
|
|
9
|
+
export { NestJSExposeMicroservice } from './decorators/NestJSExposeMicroservice.js';
|
|
10
|
+
export { NestJSLinkMicroservice } from './decorators/NestJSLinkMicroservice.js';
|
|
11
|
+
export { NestJSLinkEvent } from './decorators/NestJSLinkEvent.js';
|
|
12
|
+
export { NestJSInjectMetadata } from './decorators/NestJSInjectMetadata.js';
|
|
13
|
+
export { Encodable, Encoder } from './Encoder.js';
|
|
10
14
|
export { ListenEvent, EventDataType, EventHub, createSpiderMeshEvent, E, ListenEventBatch } from './decorators/ListenEvent.js';
|
|
11
15
|
export * from './interfaces/SpiderMeshTransporter.js';
|
|
12
16
|
export { LimitConcurrentRunning } from './decorators/LimitConcurrentRunning.js';
|
package/build/src/index.js
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
export * from './const.js';
|
|
2
|
-
export { BuiltinTransporter } from './builtin-transporter/BuiltinTransporter.js';
|
|
3
2
|
export { SpiderMesh } from './SpiderMesh.js';
|
|
4
3
|
export { RPCOptionsList } from './RPCOptions.js';
|
|
5
4
|
export { OnMicroserviceReady } from './decorators/OnMicroserviceReady.js';
|
|
6
|
-
export { Microservice
|
|
5
|
+
export { Microservice } from './decorators/Microservice.js';
|
|
6
|
+
export { NestJSExposeMicroservice } from './decorators/NestJSExposeMicroservice.js';
|
|
7
|
+
export { NestJSLinkMicroservice } from './decorators/NestJSLinkMicroservice.js';
|
|
8
|
+
export { NestJSLinkEvent } from './decorators/NestJSLinkEvent.js';
|
|
9
|
+
export { NestJSInjectMetadata } from './decorators/NestJSInjectMetadata.js';
|
|
10
|
+
export { Encoder } from './Encoder.js';
|
|
7
11
|
export { ListenEvent, createSpiderMeshEvent, ListenEventBatch } from './decorators/ListenEvent.js';
|
|
8
12
|
export * from './interfaces/SpiderMeshTransporter.js';
|
|
9
13
|
export { LimitConcurrentRunning } from './decorators/LimitConcurrentRunning.js';
|
package/build/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAI5C,OAAO,EAAc,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAA;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAC3E,OAAO,EAAa,OAAO,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EACH,WAAW,EAGX,qBAAqB,EAErB,gBAAgB,EACnB,MAAM,6BAA6B,CAAA;AACpC,cAAc,uCAAuC,CAAA;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA"}
|
|
@@ -5,16 +5,10 @@ export type SpiderMeshNodeMetadata = {
|
|
|
5
5
|
node_id: string;
|
|
6
6
|
local_transporter_id: string;
|
|
7
7
|
remote_transporter_id: string;
|
|
8
|
-
name: string;
|
|
9
|
-
version: string;
|
|
10
8
|
path: string;
|
|
11
9
|
uptime: number;
|
|
12
|
-
plaform: string;
|
|
13
|
-
hostname: string;
|
|
14
10
|
node_version: string;
|
|
15
11
|
namespace: string;
|
|
16
|
-
public_ip: string | null;
|
|
17
|
-
ip_addresses: string[];
|
|
18
12
|
last_online: number;
|
|
19
13
|
online: boolean;
|
|
20
14
|
services: {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spider-mesh/core",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.132",
|
|
5
5
|
"description": "Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters",
|
|
6
6
|
"main": "./build/src/index.js",
|
|
7
7
|
"types": "./build/src/index.d.ts",
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
],
|
|
16
16
|
"devDependencies": {
|
|
17
17
|
"@types/node": "^18.16.0",
|
|
18
|
+
"@types/uuid": "^10.0.0",
|
|
18
19
|
"ts-node": "^10.9.1",
|
|
19
20
|
"typescript": "^5.0.4"
|
|
20
21
|
},
|
|
@@ -34,6 +35,7 @@
|
|
|
34
35
|
"license": "ISC",
|
|
35
36
|
"dependencies": {
|
|
36
37
|
"frame-stream": "^4.0.0",
|
|
37
|
-
"rxjs": "^7.8.1"
|
|
38
|
+
"rxjs": "^7.8.1",
|
|
39
|
+
"uuid": "^10.0.0"
|
|
38
40
|
}
|
|
39
41
|
}
|
package/tsconfig.json
CHANGED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { PublishMetadata, SpiderMeshTransporter, SpiderMeshTransporterEvent, SpiderMeshTransporterEventMetadata, TcpNodeStatus } from "../interfaces/SpiderMeshTransporter.js";
|
|
2
|
-
import { Observable, Subject } from 'rxjs';
|
|
3
|
-
import { Encodable } from "../Encoder.js";
|
|
4
|
-
export declare class BuiltinTransporter implements SpiderMeshTransporter {
|
|
5
|
-
#private;
|
|
6
|
-
readonly $nodes_status: Subject<TcpNodeStatus>;
|
|
7
|
-
readonly transporter_id: string;
|
|
8
|
-
constructor();
|
|
9
|
-
listen<T extends Encodable = Encodable, Metadata extends SpiderMeshTransporterEventMetadata = SpiderMeshTransporterEventMetadata>(topic: string): Observable<SpiderMeshTransporterEvent<T, Metadata>>;
|
|
10
|
-
publish<T extends Encodable, Metadata extends SpiderMeshTransporterEventMetadata = SpiderMeshTransporterEventMetadata>({ payload, event, metadata, rti }: PublishMetadata<T, Metadata>): Promise<void>;
|
|
11
|
-
}
|