@spider-mesh/core 1.0.23 → 1.0.25
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/index.d.ts +10 -8
- package/build/index.js +7 -5
- package/build/index.js.map +1 -1
- package/build/src/BuiltinTransporter.d.ts +1 -1
- package/build/src/BuiltinTransporter.js +16 -27
- package/build/src/BuiltinTransporter.js.map +1 -1
- package/build/src/DeepProxy.d.ts +2 -2
- package/build/src/DeepProxy.js +8 -12
- package/build/src/DeepProxy.js.map +1 -1
- package/build/src/RPCOptions.d.ts +13 -13
- package/build/src/RPCOptions.js +14 -1
- package/build/src/RPCOptions.js.map +1 -1
- package/build/src/RemoteService.d.ts +11 -5
- package/build/src/RxjsTcpServer.d.ts +1 -1
- package/build/src/RxjsTcpServer.js +1 -1
- package/build/src/RxjsTcpServer.js.map +1 -1
- package/build/src/RxjsTcpSocket.d.ts +1 -1
- package/build/src/RxjsTcpSocket.js +11 -2
- package/build/src/RxjsTcpSocket.js.map +1 -1
- package/build/src/SpiderMesh.d.ts +15 -8
- package/build/src/SpiderMesh.js +53 -30
- package/build/src/SpiderMesh.js.map +1 -1
- package/build/src/const.d.ts +6 -0
- package/build/src/const.js +8 -0
- package/build/src/const.js.map +1 -0
- package/build/src/decorators/ListenEvent.d.ts +7 -0
- package/build/src/decorators/{SubscribeEvent.js → ListenEvent.js} +3 -2
- package/build/src/decorators/ListenEvent.js.map +1 -0
- package/build/src/decorators/Microservice.d.ts +2 -2
- package/build/src/decorators/Microservice.js +6 -2
- package/build/src/decorators/Microservice.js.map +1 -1
- package/build/src/decorators/OnMicroserviceReady.d.ts +6 -3
- package/build/src/decorators/OnMicroserviceReady.js +4 -4
- package/build/src/decorators/OnMicroserviceReady.js.map +1 -1
- package/build/src/helpers/waitFirstEvent.d.ts +1 -1
- package/package.json +1 -1
- package/tsconfig.json +3 -3
- package/build/src/decorators/SubscribeEvent.d.ts +0 -6
- package/build/src/decorators/SubscribeEvent.js.map +0 -1
- package/yarn.lock +0 -197
package/build/index.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
8
|
-
export {
|
|
1
|
+
export { DEFAULT_NAMEPSACE, NODE_ID } from './src/const.js';
|
|
2
|
+
export { BuiltinTransporter } from './src/BuiltinTransporter.js';
|
|
3
|
+
export { SpiderMesh } from './src/SpiderMesh.js';
|
|
4
|
+
export { SpiderMeshNode, SpiderMeshNodeMetadata } from './src/SpiderMeshNode.js';
|
|
5
|
+
export { SpiderMeshTransporter, SpiderMeshTransporterFactory } from './src/SpiderMeshTransporter.js';
|
|
6
|
+
export { RemoteService } from './src/RemoteService.js';
|
|
7
|
+
export { RPCOptions, RPCOptionsList } from './src/RPCOptions.js';
|
|
8
|
+
export { OnMicroserviceReady } from './src/decorators/OnMicroserviceReady.js';
|
|
9
|
+
export { Microservice } from './src/decorators/Microservice.js';
|
|
10
|
+
export { ListenEvent } from './src/decorators/ListenEvent.js';
|
package/build/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
1
|
+
export { DEFAULT_NAMEPSACE, NODE_ID } from './src/const.js';
|
|
2
|
+
export { BuiltinTransporter } from './src/BuiltinTransporter.js';
|
|
3
|
+
export { SpiderMesh } from './src/SpiderMesh.js';
|
|
4
|
+
export { RPCOptionsList } from './src/RPCOptions.js';
|
|
5
|
+
export { OnMicroserviceReady } from './src/decorators/OnMicroserviceReady.js';
|
|
6
|
+
export { Microservice } from './src/decorators/Microservice.js';
|
|
7
|
+
export { ListenEvent } from './src/decorators/ListenEvent.js';
|
|
6
8
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAIhD,OAAO,EAAc,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PublishMetadata, SpiderMeshTransporter, SpiderMeshTransporterEvent } from "./SpiderMeshTransporter";
|
|
1
|
+
import { PublishMetadata, SpiderMeshTransporter, SpiderMeshTransporterEvent } from "./SpiderMeshTransporter.js";
|
|
2
2
|
import { Observable, Subject } from 'rxjs';
|
|
3
3
|
export declare class BuiltinTransporter implements SpiderMeshTransporter {
|
|
4
4
|
#private;
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { randomUUID } from "crypto";
|
|
2
2
|
import { Observable, Subject, debounceTime, filter, first, map, merge, mergeAll, mergeMap, takeUntil } from 'rxjs';
|
|
3
|
-
import { RxjsTcpSocket } from "./RxjsTcpSocket";
|
|
4
|
-
import { RxjsTcpServer } from "./RxjsTcpServer";
|
|
5
|
-
import { RxjsUdpBroadcaster } from "./RxjsUdpBroadcaster";
|
|
6
|
-
|
|
7
|
-
const SEEDING_IP_RANGES = process.env.SEEDING_IP_RANGE;
|
|
8
|
-
const SEEDING_IPS = process.env.SEEDING_IP;
|
|
3
|
+
import { RxjsTcpSocket } from "./RxjsTcpSocket.js";
|
|
4
|
+
import { RxjsTcpServer } from "./RxjsTcpServer.js";
|
|
5
|
+
import { RxjsUdpBroadcaster } from "./RxjsUdpBroadcaster.js";
|
|
6
|
+
import { SEEDING_IPS, SEEDING_IP_RANGES, UDP_PORT } from './const.js';
|
|
9
7
|
export class BuiltinTransporter {
|
|
10
8
|
node_id;
|
|
11
9
|
namespace;
|
|
@@ -53,8 +51,14 @@ export class BuiltinTransporter {
|
|
|
53
51
|
const host = node_socket.rawSocket.remoteAddress;
|
|
54
52
|
if (!host)
|
|
55
53
|
return;
|
|
56
|
-
//
|
|
54
|
+
// DEBUG && console.log(`[${new Date().toLocaleTimeString()}] [TCP] Node online [${host}]`, new_node)
|
|
57
55
|
const new_node_id = new_node.node_id;
|
|
56
|
+
const remote_info = new_node.peers.find(p => p.node_id == this.node_id);
|
|
57
|
+
const peer_updated = remote_info ? remote_info.version == this.#version : false;
|
|
58
|
+
for (const event of new_node.listening) {
|
|
59
|
+
!this.#events_map.has(event) && this.#events_map.set(event, new Set());
|
|
60
|
+
this.#events_map.get(event)?.add(new_node_id);
|
|
61
|
+
}
|
|
58
62
|
if (!this.#nodes_map.has(new_node_id)) {
|
|
59
63
|
const socket = node_socket.opened_by_remote_side ? (await RxjsTcpSocket.connect({
|
|
60
64
|
host,
|
|
@@ -63,7 +67,7 @@ export class BuiltinTransporter {
|
|
|
63
67
|
}) || node_socket) : node_socket;
|
|
64
68
|
// When ofline
|
|
65
69
|
socket.$status.pipe(filter(status => status == 'closed' || status == 'error'), first()).subscribe(() => {
|
|
66
|
-
//
|
|
70
|
+
// DEBUG && console.log(`[${new Date().toLocaleTimeString()}] [TCP] Node offline ${new_node_id}`)
|
|
67
71
|
const node = this.#nodes_map.get(new_node_id);
|
|
68
72
|
node && node.listening.map(evt => {
|
|
69
73
|
this.#events_map.get(evt)?.delete(node.node_id);
|
|
@@ -72,15 +76,9 @@ export class BuiltinTransporter {
|
|
|
72
76
|
this.$nodes_status.next({ node_id: new_node_id, online: false });
|
|
73
77
|
});
|
|
74
78
|
// Add to map
|
|
75
|
-
this.#nodes_map.set(new_node_id, { ...new_node, host, socket });
|
|
76
|
-
|
|
77
|
-
const remote_info = new_node.peers.find(p => p.node_id == this.node_id);
|
|
78
|
-
const peer_updated = remote_info && remote_info.version == this.#version;
|
|
79
|
-
for (const event of new_node.listening) {
|
|
80
|
-
!this.#events_map.has(event) && this.#events_map.set(event, new Set());
|
|
81
|
-
this.#events_map.get(event)?.add(new_node_id);
|
|
79
|
+
this.#nodes_map.set(new_node_id, { ...new_node, host, socket, peers: new_node.peers.map(p => ({ ...p, peers: [] })) });
|
|
80
|
+
peer_updated && this.$nodes_status.next({ node_id: new_node_id, online: true });
|
|
82
81
|
}
|
|
83
|
-
peer_updated && this.$nodes_status.next({ node_id: new_node_id, online: true });
|
|
84
82
|
return {
|
|
85
83
|
peer_updated,
|
|
86
84
|
socket: this.#nodes_map.get(new_node_id).socket
|
|
@@ -115,6 +113,7 @@ export class BuiltinTransporter {
|
|
|
115
113
|
this.#version = Date.now();
|
|
116
114
|
this.#listeners.get(topic)?.delete(id);
|
|
117
115
|
this.#listeners.get(topic)?.size == 0 && this.#listeners.delete(topic);
|
|
116
|
+
this.#$rebroadcast.next();
|
|
118
117
|
};
|
|
119
118
|
});
|
|
120
119
|
}
|
|
@@ -128,20 +127,10 @@ export class BuiltinTransporter {
|
|
|
128
127
|
if (node_id == 'all' || !node_id) {
|
|
129
128
|
for (const node_id of this.#events_map.get(event) || []) {
|
|
130
129
|
const node = this.#nodes_map.get(node_id);
|
|
131
|
-
await node?.
|
|
130
|
+
await node?.socket?.write(msg);
|
|
132
131
|
}
|
|
133
132
|
return;
|
|
134
133
|
}
|
|
135
|
-
// if (node_id == 'rr') {
|
|
136
|
-
// const key = `${event}.${routing_key || 'default'}`
|
|
137
|
-
// const nodes = [... this.#events_map.get(event) || []]
|
|
138
|
-
// const current_index = (this.#round_robin_indexes.get(key) || 0) % nodes.length
|
|
139
|
-
// this.#round_robin_indexes.set(key, current_index + 1)
|
|
140
|
-
// const node_id = nodes[current_index]
|
|
141
|
-
// await this.#nodes_map.get(node_id)?.socket?.write(msg)
|
|
142
|
-
// return
|
|
143
|
-
// }
|
|
144
|
-
// p2p
|
|
145
134
|
node_id && await this.#nodes_map.get(node_id)?.socket?.write(msg);
|
|
146
135
|
}
|
|
147
136
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuiltinTransporter.js","sourceRoot":"","sources":["../../src/BuiltinTransporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,OAAO,
|
|
1
|
+
{"version":3,"file":"BuiltinTransporter.js","sourceRoot":"","sources":["../../src/BuiltinTransporter.ts"],"names":[],"mappings":"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"}
|
package/build/src/DeepProxy.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare class DeepProxy {
|
|
2
2
|
#private;
|
|
3
|
-
private
|
|
3
|
+
private option_parser;
|
|
4
4
|
private handler;
|
|
5
|
-
constructor(
|
|
5
|
+
constructor(option_parser: (method: string) => boolean, handler: (method: string, options: any) => any);
|
|
6
6
|
nest(): this;
|
|
7
7
|
}
|
package/build/src/DeepProxy.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export class DeepProxy {
|
|
2
|
-
|
|
2
|
+
option_parser;
|
|
3
3
|
handler;
|
|
4
4
|
#options = {};
|
|
5
|
-
constructor(
|
|
6
|
-
this.
|
|
5
|
+
constructor(option_parser, handler) {
|
|
6
|
+
this.option_parser = option_parser;
|
|
7
7
|
this.handler = handler;
|
|
8
8
|
}
|
|
9
9
|
nest() {
|
|
@@ -11,15 +11,11 @@ export class DeepProxy {
|
|
|
11
11
|
get: (_, method) => {
|
|
12
12
|
if (method == 'then')
|
|
13
13
|
return null;
|
|
14
|
-
if (
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return
|
|
18
|
-
|
|
19
|
-
return this.nest();
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
}
|
|
14
|
+
if (this.option_parser(method))
|
|
15
|
+
return (value = true) => {
|
|
16
|
+
this.#options[method] = value;
|
|
17
|
+
return this.nest();
|
|
18
|
+
};
|
|
23
19
|
return this.handler(method, this.#options);
|
|
24
20
|
}
|
|
25
21
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeepProxy.js","sourceRoot":"","sources":["../../src/DeepProxy.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,SAAS;IAKN;IACA;IAJZ,QAAQ,GAA2B,EAAE,CAAA;IAErC,YACY,
|
|
1
|
+
{"version":3,"file":"DeepProxy.js","sourceRoot":"","sources":["../../src/DeepProxy.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,SAAS;IAKN;IACA;IAJZ,QAAQ,GAA2B,EAAE,CAAA;IAErC,YACY,aAA0C,EAC1C,OAAyC;QADzC,kBAAa,GAAb,aAAa,CAA6B;QAC1C,YAAO,GAAP,OAAO,CAAkC;IACjD,CAAC;IAGL,IAAI;QACA,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE;YACnB,GAAG,EAAE,CAAC,CAAC,EAAE,MAAc,EAAE,EAAE;gBAEvB,IAAI,MAAM,IAAI,MAAM;oBAAE,OAAO,IAAI,CAAA;gBAEjC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;oBAAE,OAAO,CAAC,KAAK,GAAG,IAAI,EAAE,EAAE;wBACpD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,KAAK,CAAA;wBAC7B,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;oBACtB,CAAC,CAAA;gBACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC9C,CAAC;SACJ,CAAC,CAAA;IACN,CAAC;CACJ"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
export type RPCOptions<T = any> = {
|
|
2
|
-
node_id: string;
|
|
3
|
-
ip: string;
|
|
4
|
-
load_balance_mode: 'round-robin' | 'least-connections' | 'weight';
|
|
5
|
-
offline_cut: boolean;
|
|
6
|
-
timeout: number;
|
|
7
|
-
nevermind: boolean;
|
|
8
|
-
fallback: T;
|
|
9
|
-
retry: number;
|
|
10
|
-
retry_delay: number;
|
|
11
|
-
require_ack: boolean;
|
|
12
|
-
ack_timeout: number;
|
|
13
|
-
queue: boolean;
|
|
2
|
+
$node_id: string;
|
|
3
|
+
$ip: string;
|
|
4
|
+
$load_balance_mode: 'round-robin' | 'least-connections' | 'weight';
|
|
5
|
+
$offline_cut: boolean;
|
|
6
|
+
$timeout: number;
|
|
7
|
+
$nevermind: boolean;
|
|
8
|
+
$fallback: T;
|
|
9
|
+
$retry: number;
|
|
10
|
+
$retry_delay: number;
|
|
11
|
+
$require_ack: boolean;
|
|
12
|
+
$ack_timeout: number;
|
|
13
|
+
$queue: boolean;
|
|
14
14
|
};
|
|
15
|
-
export declare const RPCOptionsList: string
|
|
15
|
+
export declare const RPCOptionsList: Set<string>;
|
package/build/src/RPCOptions.js
CHANGED
|
@@ -1,2 +1,15 @@
|
|
|
1
|
-
export const RPCOptionsList = [
|
|
1
|
+
export const RPCOptionsList = new Set([
|
|
2
|
+
'$node_id',
|
|
3
|
+
'$ip',
|
|
4
|
+
'$load_balance_mode',
|
|
5
|
+
'$offline_cut',
|
|
6
|
+
'$timeout',
|
|
7
|
+
'$nevermind',
|
|
8
|
+
'$fallback',
|
|
9
|
+
'$retry',
|
|
10
|
+
'$retry_delay',
|
|
11
|
+
'$require_ack',
|
|
12
|
+
'$ack_timeout',
|
|
13
|
+
'$safe_mode'
|
|
14
|
+
]);
|
|
2
15
|
//# sourceMappingURL=RPCOptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RPCOptions.js","sourceRoot":"","sources":["../../src/RPCOptions.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,cAAc,GAAG,
|
|
1
|
+
{"version":3,"file":"RPCOptions.js","sourceRoot":"","sources":["../../src/RPCOptions.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAClC,UAAU;IACV,KAAK;IACL,oBAAoB;IACpB,cAAc;IACd,UAAU;IACV,YAAY;IACZ,WAAW;IACX,QAAQ;IACR,cAAc;IACd,cAAc;IACd,cAAc;IACd,YAAY;CACf,CAAC,CAAA"}
|
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
import { Observable } from "rxjs";
|
|
2
|
-
import { RPCOptions } from "./RPCOptions";
|
|
3
|
-
import { SpiderMeshNode } from "./SpiderMeshNode";
|
|
2
|
+
import { RPCOptions } from "./RPCOptions.js";
|
|
3
|
+
import { SpiderMeshNode } from "./SpiderMeshNode.js";
|
|
4
4
|
export type RemoteService<T = {
|
|
5
5
|
[key: string]: any;
|
|
6
6
|
}> = ({
|
|
7
|
+
$wait_service_online: () => Promise<void>;
|
|
8
|
+
$safe_mode: () => {
|
|
9
|
+
[K in keyof T as (T[K] extends (...args: any) => any ? K : '')]: T[K] extends (...args: any) => any ? ((...args: Parameters<T[K]>) => [
|
|
10
|
+
Error | null,
|
|
11
|
+
Promise<Awaited<ReturnType<T[K]>>> | null
|
|
12
|
+
]) : null;
|
|
13
|
+
};
|
|
14
|
+
} & {
|
|
7
15
|
[K in keyof T as (T[K] extends (...args: any) => any ? K : '')]: T[K] extends (...args: any) => any ? ((...args: Parameters<T[K]>) => Promise<Awaited<ReturnType<T[K]>>>) : null;
|
|
8
16
|
} & {
|
|
9
|
-
[key in keyof RPCOptions as `$
|
|
17
|
+
[key in keyof RPCOptions as `${key}`]: (value: RPCOptions[key]) => RemoteService<T>;
|
|
10
18
|
} & {
|
|
11
19
|
$list_nodes: () => SpiderMeshNode[];
|
|
12
20
|
} & {
|
|
@@ -14,6 +22,4 @@ export type RemoteService<T = {
|
|
|
14
22
|
node: SpiderMeshNode;
|
|
15
23
|
data: Awaited<ReturnType<T[key]>>;
|
|
16
24
|
}>) : T[key];
|
|
17
|
-
} & {
|
|
18
|
-
$wait_service_online: () => Promise<void>;
|
|
19
25
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createServer } from "net";
|
|
2
2
|
import { Subject } from "rxjs";
|
|
3
|
-
import { RxjsTcpSocket } from "./RxjsTcpSocket";
|
|
3
|
+
import { RxjsTcpSocket } from "./RxjsTcpSocket.js";
|
|
4
4
|
export class RxjsTcpServer {
|
|
5
5
|
static start(start_port = 10001) {
|
|
6
6
|
const $online = new Subject();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RxjsTcpServer.js","sourceRoot":"","sources":["../../src/RxjsTcpServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,KAAK,CAAA;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"RxjsTcpServer.js","sourceRoot":"","sources":["../../src/RxjsTcpServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,KAAK,CAAA;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD,MAAM,OAAO,aAAa;IAGtB,MAAM,CAAC,KAAK,CAAa,aAAqB,KAAK;QAC/C,MAAM,OAAO,GAAG,IAAI,OAAO,EAIvB,CAAA;QAGJ,UAAU,CAAC,KAAK,IAAI,EAAE;YAClB,KAAK,IAAI,IAAI,GAAG,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;gBACtC,MAAM,WAAW,GAAG,IAAI,OAAO,EAAoB,CAAA;gBACnD,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;gBAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,OAAO,CAAU,CAAC,CAAC,EAAE;oBAC3C,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;oBACvC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;oBACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBACvB,CAAC,CAAC,CAAA;gBACF,IAAI,CAAC,OAAO;oBAAE,SAAQ;gBACtB,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;oBACnC,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,IAAI,CAAI,MAAM,CAAC,CAAA;oBACzD,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;gBACnC,CAAC,CAAC,CAAA;gBACF,MAAM,MAAM,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;gBAC/D,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;gBAC3C,MAAM,MAAM,CAAA;gBACZ,MAAM,CAAC,kBAAkB,EAAE,CAAA;aAC9B;QACL,CAAC,CAAC,CAAA;QACF,OAAO,OAAO,CAAA;IAClB,CAAC;CAEJ"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createConnection } from "net";
|
|
2
2
|
import { BehaviorSubject, Subject, filter, firstValueFrom, fromEvent, mergeMap, takeUntil } from "rxjs";
|
|
3
|
-
import { sleep } from "./helpers/sleep";
|
|
3
|
+
import { sleep } from "./helpers/sleep.js";
|
|
4
|
+
import { DEBUG } from "./const.js";
|
|
4
5
|
class RxjsTcpSocket {
|
|
5
6
|
opened_by_remote_side;
|
|
6
7
|
static #separator = String.fromCharCode(0x1E);
|
|
@@ -30,7 +31,7 @@ class RxjsTcpSocket {
|
|
|
30
31
|
socket.removeAllListeners();
|
|
31
32
|
if (status == 'closed')
|
|
32
33
|
return;
|
|
33
|
-
|
|
34
|
+
DEBUG && console.log(`[${new Date().toLocaleTimeString()}] Socket error, retrying in 1 sec`);
|
|
34
35
|
await sleep(5000);
|
|
35
36
|
}
|
|
36
37
|
s(null);
|
|
@@ -64,6 +65,10 @@ class RxjsTcpSocket {
|
|
|
64
65
|
try {
|
|
65
66
|
const json = JSON.parse(part);
|
|
66
67
|
this.$incoming_data.next(json);
|
|
68
|
+
DEBUG && console.log({
|
|
69
|
+
time: `${new Date().getMinutes()}:${new Date().getSeconds()}:${new Date().getMilliseconds()}`,
|
|
70
|
+
received: json
|
|
71
|
+
});
|
|
67
72
|
}
|
|
68
73
|
catch (e) {
|
|
69
74
|
}
|
|
@@ -76,6 +81,10 @@ class RxjsTcpSocket {
|
|
|
76
81
|
async write(data) {
|
|
77
82
|
const msg = JSON.stringify(data) + RxjsTcpSocket.#separator;
|
|
78
83
|
const buffer = Buffer.from(msg);
|
|
84
|
+
DEBUG && console.log({
|
|
85
|
+
time: `${new Date().getMinutes()}:${new Date().getSeconds()}:${new Date().getMilliseconds()}`,
|
|
86
|
+
send: data
|
|
87
|
+
});
|
|
79
88
|
this.#$outgoing_data.next(buffer);
|
|
80
89
|
}
|
|
81
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RxjsTcpSocket.js","sourceRoot":"","sources":["../../src/RxjsTcpSocket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,gBAAgB,EAAU,MAAM,KAAK,CAAA;AACjE,OAAO,EAAE,eAAe,EAAc,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AACnH,OAAO,EAAE,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"RxjsTcpSocket.js","sourceRoot":"","sources":["../../src/RxjsTcpSocket.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { SpiderMeshNode, SpiderMeshNodeMetadata } from './SpiderMeshNode';
|
|
2
|
-
import { SpiderMeshTransporter, SpiderMeshTransporterEvent } from './SpiderMeshTransporter';
|
|
3
|
-
import { RPCOptions } from './RPCOptions';
|
|
4
|
-
import { RemoteService } from './RemoteService';
|
|
1
|
+
import { SpiderMeshNode, SpiderMeshNodeMetadata } from './SpiderMeshNode.js';
|
|
2
|
+
import { SpiderMeshTransporter, SpiderMeshTransporterEvent } from './SpiderMeshTransporter.js';
|
|
3
|
+
import { RPCOptions } from './RPCOptions.js';
|
|
4
|
+
import { RemoteService } from './RemoteService.js';
|
|
5
5
|
import { Observable, Subject } from 'rxjs';
|
|
6
6
|
export type RpcPayload = {
|
|
7
7
|
id: string;
|
|
@@ -21,6 +21,7 @@ export declare class SpiderMeshConfig {
|
|
|
21
21
|
node_id?: string;
|
|
22
22
|
transporter: SpiderMeshTransporter;
|
|
23
23
|
}
|
|
24
|
+
export type SpiderMeshNamespace = string;
|
|
24
25
|
export declare class SpiderMesh {
|
|
25
26
|
#private;
|
|
26
27
|
private transporter;
|
|
@@ -28,14 +29,20 @@ export declare class SpiderMesh {
|
|
|
28
29
|
online: boolean;
|
|
29
30
|
node: SpiderMeshNode;
|
|
30
31
|
}>;
|
|
31
|
-
constructor(transporter
|
|
32
|
+
constructor(transporter?: SpiderMeshTransporter);
|
|
33
|
+
static add_transporter(transporter: SpiderMeshTransporter): void;
|
|
32
34
|
$metadata(revalidate_on_join?: boolean): Promise<SpiderMeshNodeMetadata>;
|
|
33
35
|
$update_isolate_mode(active: boolean): Promise<SpiderMeshNodeMetadata>;
|
|
34
|
-
|
|
35
|
-
rpc(service: string, method: string, args: any, options: RPCOptions): Promise<any>;
|
|
36
|
+
rpc<T = any>(service: string, method: string, args: any, options: RPCOptions): Promise<T>;
|
|
36
37
|
link_remote_service<T>(factory: {
|
|
37
38
|
new (...args: any[]): T;
|
|
38
|
-
}): RemoteService<T
|
|
39
|
+
}, wait_service_online?: boolean): Promise<RemoteService<T>>;
|
|
40
|
+
link_event<T>(event_factory: {
|
|
41
|
+
new (...args: any[]): T;
|
|
42
|
+
}): Promise<{
|
|
43
|
+
publish: (data: T) => Promise<void>;
|
|
44
|
+
listen: () => Observable<SpiderMeshTransporterEvent<any>>;
|
|
45
|
+
}>;
|
|
39
46
|
publish<T = any>(event: string, data: T): Promise<void>;
|
|
40
47
|
listen<T = any>(topic: string): Observable<SpiderMeshTransporterEvent<T>>;
|
|
41
48
|
}
|
package/build/src/SpiderMesh.js
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { randomUUID } from 'crypto';
|
|
2
2
|
import { get } from 'http';
|
|
3
3
|
import { networkInterfaces } from 'os';
|
|
4
|
-
import { DeepProxy } from './DeepProxy';
|
|
5
|
-
import { RPCOptionsList } from './RPCOptions';
|
|
4
|
+
import { DeepProxy } from './DeepProxy.js';
|
|
5
|
+
import { RPCOptionsList } from './RPCOptions.js';
|
|
6
6
|
import os from 'os';
|
|
7
|
-
import { listEventSubscribers } from './decorators/
|
|
8
|
-
import { listReadyHookMethods } from './decorators/OnMicroserviceReady';
|
|
7
|
+
import { listEventSubscribers } from './decorators/ListenEvent.js';
|
|
8
|
+
import { listReadyHookMethods } from './decorators/OnMicroserviceReady.js';
|
|
9
9
|
import { BehaviorSubject, Subject, filter, from, mergeMap } from 'rxjs';
|
|
10
10
|
import { readFileSync } from 'fs';
|
|
11
|
-
import { serviceInstanceList } from './decorators/Microservice';
|
|
12
|
-
import { sleep } from './helpers/sleep';
|
|
11
|
+
import { serviceInstanceList } from './decorators/Microservice.js';
|
|
12
|
+
import { sleep } from './helpers/sleep.js';
|
|
13
|
+
import { BuiltinTransporter } from './BuiltinTransporter.js';
|
|
14
|
+
import { DEBUG, DEFAULT_NAMEPSACE, NODE_ID } from './const.js';
|
|
13
15
|
export class SpiderMeshConfig {
|
|
14
16
|
namespace;
|
|
15
17
|
node_id;
|
|
@@ -40,8 +42,13 @@ export class SpiderMesh {
|
|
|
40
42
|
return s(null);
|
|
41
43
|
});
|
|
42
44
|
$nodes_monitor = new Subject();
|
|
43
|
-
|
|
45
|
+
#initing;
|
|
46
|
+
constructor(transporter = new BuiltinTransporter(NODE_ID, DEFAULT_NAMEPSACE)) {
|
|
44
47
|
this.transporter = transporter;
|
|
48
|
+
this.#initing = this.#init();
|
|
49
|
+
}
|
|
50
|
+
static add_transporter(transporter) {
|
|
51
|
+
new this(transporter);
|
|
45
52
|
}
|
|
46
53
|
async $metadata(revalidate_on_join) {
|
|
47
54
|
const ips = Object.values(networkInterfaces()).map(itf => itf?.map(ip => ip.address) || []).flat(2);
|
|
@@ -149,11 +156,7 @@ export class SpiderMesh {
|
|
|
149
156
|
return;
|
|
150
157
|
}
|
|
151
158
|
}
|
|
152
|
-
#
|
|
153
|
-
async start() {
|
|
154
|
-
if (this.#started)
|
|
155
|
-
return;
|
|
156
|
-
this.#started = true;
|
|
159
|
+
async #init() {
|
|
157
160
|
// Init transporter
|
|
158
161
|
await this.transporter.start();
|
|
159
162
|
// Listen RPC
|
|
@@ -171,7 +174,7 @@ export class SpiderMesh {
|
|
|
171
174
|
node_id
|
|
172
175
|
});
|
|
173
176
|
});
|
|
174
|
-
serviceInstanceList.pipe(filter(
|
|
177
|
+
serviceInstanceList.pipe(filter(i => i.namespace == this.transporter.namespace), mergeMap(async ({ instance }) => {
|
|
175
178
|
await this.#active_local_service(instance);
|
|
176
179
|
await this.#active_ready_hooks(instance);
|
|
177
180
|
})).subscribe();
|
|
@@ -182,7 +185,7 @@ export class SpiderMesh {
|
|
|
182
185
|
if (this.#$isolated.value)
|
|
183
186
|
return;
|
|
184
187
|
const peer_updated = node.linked.includes(this.transporter.node_id);
|
|
185
|
-
|
|
188
|
+
DEBUG && console.log(`[${new Date().toLocaleString()}:${new Date().getMilliseconds()}] New node `, node, { peer_updated });
|
|
186
189
|
const discovered = this.#remote_nodes.get(node.id);
|
|
187
190
|
const new_node = {
|
|
188
191
|
...discovered || {},
|
|
@@ -218,7 +221,7 @@ export class SpiderMesh {
|
|
|
218
221
|
const node = this.#remote_nodes.get(id);
|
|
219
222
|
if (!node)
|
|
220
223
|
return;
|
|
221
|
-
|
|
224
|
+
DEBUG && console.log(`[${new Date().toLocaleString()}] Node ${id} offline`);
|
|
222
225
|
this.$nodes_monitor.next({ node, online: false });
|
|
223
226
|
this.#remote_rpc_services.forEach(service => {
|
|
224
227
|
service.nodes = service.nodes?.filter(node => node.id != id);
|
|
@@ -236,23 +239,24 @@ export class SpiderMesh {
|
|
|
236
239
|
return current.nodes[index].id;
|
|
237
240
|
}
|
|
238
241
|
async rpc(service, method, args, options) {
|
|
242
|
+
await this.#initing;
|
|
239
243
|
return await new Promise(async (success, r) => {
|
|
240
|
-
const reject = (err) => (options
|
|
244
|
+
const reject = (err) => (options.$fallback !== undefined) ? success(options.$fallback) : r(err);
|
|
241
245
|
const rid = randomUUID();
|
|
242
|
-
options
|
|
246
|
+
options.$timeout && setTimeout(() => {
|
|
243
247
|
reject(new Error('TIMEOUT'));
|
|
244
248
|
this.#rpc_queue.delete(rid);
|
|
245
|
-
}, options
|
|
246
|
-
!options
|
|
249
|
+
}, options.$timeout);
|
|
250
|
+
!options.$nevermind && this.#rpc_queue.set(rid, {
|
|
247
251
|
args,
|
|
248
252
|
last_ping: 0,
|
|
249
253
|
reject,
|
|
250
254
|
request_time: Date.now(),
|
|
251
255
|
success,
|
|
252
|
-
timeout: options
|
|
253
|
-
target_node_id: options
|
|
256
|
+
timeout: options.$timeout,
|
|
257
|
+
target_node_id: options.$node_id
|
|
254
258
|
});
|
|
255
|
-
const retry_count = options
|
|
259
|
+
const retry_count = options.$retry || 1;
|
|
256
260
|
for (let i = retry_count; i > 0; i--) {
|
|
257
261
|
try {
|
|
258
262
|
const node_id = this.#caculate_rpc_node_id(service);
|
|
@@ -266,13 +270,13 @@ export class SpiderMesh {
|
|
|
266
270
|
return;
|
|
267
271
|
}
|
|
268
272
|
catch (e) { }
|
|
269
|
-
i > 1 && await new Promise(s => setTimeout(s, options
|
|
273
|
+
i > 1 && await new Promise(s => setTimeout(s, options.$retry_delay || 1000));
|
|
270
274
|
}
|
|
271
|
-
if (options
|
|
272
|
-
return success(options
|
|
275
|
+
if (options.$fallback)
|
|
276
|
+
return success(options.$fallback);
|
|
273
277
|
});
|
|
274
278
|
}
|
|
275
|
-
link_remote_service(factory) {
|
|
279
|
+
async link_remote_service(factory, wait_service_online = true) {
|
|
276
280
|
const service_name = factory.name;
|
|
277
281
|
const omit_properties = new Set([
|
|
278
282
|
'caller',
|
|
@@ -300,6 +304,7 @@ export class SpiderMesh {
|
|
|
300
304
|
if (!this.#remote_rpc_services.has(service_name)) {
|
|
301
305
|
this.#remote_rpc_services.set(service_name, { last_call_index: -1, nodes: [] });
|
|
302
306
|
}
|
|
307
|
+
wait_service_online && await this.#wait_service_online(service_name);
|
|
303
308
|
return new Proxy({}, {
|
|
304
309
|
get: (_, method) => {
|
|
305
310
|
if (method == '$wait_service_online') {
|
|
@@ -314,17 +319,34 @@ export class SpiderMesh {
|
|
|
314
319
|
return null;
|
|
315
320
|
const nodes = [...this.#remote_nodes.values()].filter(node => node.services.includes(service_name) && !node.isolate);
|
|
316
321
|
return (...args) => from(nodes).pipe(mergeMap(async (node) => {
|
|
317
|
-
const data = await this.rpc(service_name, real_method, args, { node_id: node.id });
|
|
322
|
+
const data = await this.rpc(service_name, real_method, args, { $node_id: node.id });
|
|
318
323
|
return { data, node };
|
|
319
324
|
}));
|
|
320
325
|
}
|
|
321
|
-
if (actions.has(method) || method.startsWith('$
|
|
322
|
-
return new DeepProxy(RPCOptionsList, (method, options) => ((...args) =>
|
|
326
|
+
if (actions.has(method) || method.startsWith('$')) {
|
|
327
|
+
return new DeepProxy(method => RPCOptionsList.has(method), (method, options) => (async (...args) => {
|
|
328
|
+
const safe = options.$safe_mode;
|
|
329
|
+
try {
|
|
330
|
+
const data = await this.rpc(service_name, method, args, options);
|
|
331
|
+
return safe ? [null, data] : data;
|
|
332
|
+
}
|
|
333
|
+
catch (e) {
|
|
334
|
+
if (safe)
|
|
335
|
+
return [e, null];
|
|
336
|
+
throw e;
|
|
337
|
+
}
|
|
338
|
+
})).nest()[method];
|
|
323
339
|
}
|
|
324
340
|
return null;
|
|
325
341
|
}
|
|
326
342
|
});
|
|
327
343
|
}
|
|
344
|
+
async link_event(event_factory) {
|
|
345
|
+
return {
|
|
346
|
+
publish: (data) => this.publish(event_factory.name, data),
|
|
347
|
+
listen: () => this.listen(event_factory.name)
|
|
348
|
+
};
|
|
349
|
+
}
|
|
328
350
|
async #active_local_service(instance) {
|
|
329
351
|
const prototype = Object.getPrototypeOf(instance);
|
|
330
352
|
const name = prototype.constructor.name;
|
|
@@ -353,11 +375,12 @@ export class SpiderMesh {
|
|
|
353
375
|
// Wait remote service ready
|
|
354
376
|
await this.#wait_service_online();
|
|
355
377
|
// Active ready hook
|
|
356
|
-
for (const method of listReadyHookMethods(Object.getPrototypeOf(instance))) {
|
|
378
|
+
for (const { method } of listReadyHookMethods(Object.getPrototypeOf(instance))) {
|
|
357
379
|
instance[method]?.();
|
|
358
380
|
}
|
|
359
381
|
}
|
|
360
382
|
async publish(event, data) {
|
|
383
|
+
await this.#initing;
|
|
361
384
|
this.transporter.publish({ event, data });
|
|
362
385
|
}
|
|
363
386
|
listen(topic) {
|
|
@@ -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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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const DEFAULT_NAMEPSACE = "default";
|
|
2
|
+
export declare const NODE_ID: string;
|
|
3
|
+
export declare const DEBUG: string | undefined;
|
|
4
|
+
export declare const UDP_PORT: number;
|
|
5
|
+
export declare const SEEDING_IP_RANGES: string | undefined;
|
|
6
|
+
export declare const SEEDING_IPS: string | undefined;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { randomUUID } from "crypto";
|
|
2
|
+
export const DEFAULT_NAMEPSACE = process.env.SPIDER_MESH_NAMESPACE = 'default';
|
|
3
|
+
export const NODE_ID = process.env.SPIDER_MESH_NODE_ID || randomUUID();
|
|
4
|
+
export const DEBUG = process.env.SPIDERMESH_DEBUG;
|
|
5
|
+
export const UDP_PORT = Number(process.env.UDP_PORT || 10000);
|
|
6
|
+
export const SEEDING_IP_RANGES = process.env.SEEDING_IP_RANGE;
|
|
7
|
+
export const SEEDING_IPS = process.env.SEEDING_IP;
|
|
8
|
+
//# sourceMappingURL=const.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAEnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,SAAS,CAAA;AAC9E,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,UAAU,EAAE,CAAA;AACtE,MAAM,CAAC,MAAM,KAAK,GAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAA;AAClD,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAA;AAC7D,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAA;AAC7D,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const key: unique symbol;
|
|
2
|
+
export type EventMetadata = {
|
|
3
|
+
method: string;
|
|
4
|
+
event: string;
|
|
5
|
+
};
|
|
6
|
+
export declare const ListenEvent: <T>(factory: new () => T) => (target: Object, method: any, descriptor: TypedPropertyDescriptor<(event: T) => void>) => void;
|
|
7
|
+
export declare const listEventSubscribers: (target: any) => EventMetadata[];
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export const key = Symbol.for('SubscribeEvent');
|
|
2
|
-
export const
|
|
2
|
+
export const ListenEvent = (factory) => (target, method, descriptor) => {
|
|
3
|
+
const event = factory.name;
|
|
3
4
|
Object.defineProperty(descriptor.value, key, { value: { method, event } });
|
|
4
5
|
};
|
|
5
6
|
export const listEventSubscribers = (target) => {
|
|
@@ -11,4 +12,4 @@ export const listEventSubscribers = (target) => {
|
|
|
11
12
|
}
|
|
12
13
|
return methods;
|
|
13
14
|
};
|
|
14
|
-
//# sourceMappingURL=
|
|
15
|
+
//# sourceMappingURL=ListenEvent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListenEvent.js","sourceRoot":"","sources":["../../../src/decorators/ListenEvent.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;AAI/C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAI,OAAqB,EAAE,EAAE,CAAC,CACrD,MAAc,EACd,MAAM,EACN,UAAuD,EACzD,EAAE;IACA,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAA;IAC1B,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAmB,EAAE,CAAC,CAAA;AAC/F,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,EAAE;IAC3C,MAAM,OAAO,GAAG,EAAqB,CAAA;IACrC,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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ReplaySubject } from "rxjs";
|
|
2
2
|
export declare const serviceInstanceList: ReplaySubject<{
|
|
3
3
|
instance: any;
|
|
4
|
-
|
|
4
|
+
namespace: string;
|
|
5
5
|
}>;
|
|
6
|
-
export declare const Microservice: (
|
|
6
|
+
export declare const Microservice: (namespace?: string) => any;
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { ReplaySubject } from "rxjs";
|
|
2
|
+
import { DEFAULT_NAMEPSACE } from "../const.js";
|
|
2
3
|
export const serviceInstanceList = new ReplaySubject();
|
|
3
|
-
export const Microservice = (
|
|
4
|
+
export const Microservice = (namespace = DEFAULT_NAMEPSACE) => {
|
|
4
5
|
return ((target) => {
|
|
5
6
|
class C extends target {
|
|
6
7
|
constructor(...args) {
|
|
7
8
|
super(...args);
|
|
8
|
-
serviceInstanceList.next({
|
|
9
|
+
serviceInstanceList.next({
|
|
10
|
+
instance: this,
|
|
11
|
+
namespace
|
|
12
|
+
});
|
|
9
13
|
}
|
|
10
14
|
}
|
|
11
15
|
Object.defineProperty(C, 'name', { value: target.name });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Microservice.js","sourceRoot":"","sources":["../../../src/decorators/Microservice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,MAAM,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,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,aAAa,EAAwC,CAAA;AAG5F,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,YAAoB,iBAAiB,EAAE,EAAE;IAClE,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;oBACrB,QAAQ,EAAE,IAAI;oBACd,SAAS;iBACZ,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"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
export declare const
|
|
2
|
-
export
|
|
3
|
-
|
|
1
|
+
export declare const key: unique symbol;
|
|
2
|
+
export type OnMicroserviceReadyMetadata = {
|
|
3
|
+
method: string;
|
|
4
|
+
};
|
|
5
|
+
export declare const OnMicroserviceReady: () => <T>(target: Object, method: string | symbol, descriptor: TypedPropertyDescriptor<T>) => void;
|
|
6
|
+
export declare const listReadyHookMethods: (target: any) => OnMicroserviceReadyMetadata[];
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export const
|
|
2
|
-
export const OnMicroserviceReady = () => (target,
|
|
3
|
-
Object.defineProperty(descriptor.value,
|
|
1
|
+
export const key = Symbol.for('OnMicroserviceReadyHook');
|
|
2
|
+
export const OnMicroserviceReady = () => (target, method, descriptor) => {
|
|
3
|
+
Object.defineProperty(descriptor.value, key, { value: { method } });
|
|
4
4
|
};
|
|
5
5
|
export const listReadyHookMethods = (target) => {
|
|
6
6
|
const methods = [];
|
|
7
7
|
for (let f = target; f != null; f = Object.getPrototypeOf(f)) {
|
|
8
8
|
for (const method of Object.getOwnPropertyNames(f)) {
|
|
9
|
-
f[method]?.[
|
|
9
|
+
f[method]?.[key] && methods.push(f[method]?.[key]);
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
return methods;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnMicroserviceReady.js","sourceRoot":"","sources":["../../../src/decorators/OnMicroserviceReady.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"OnMicroserviceReady.js","sourceRoot":"","sources":["../../../src/decorators/OnMicroserviceReady.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;AAIxD,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,CACrC,MAAc,EACd,MAAuB,EACvB,UAAsC,EACxC,EAAE;IACA,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAiC,EAAE,CAAC,CAAA;AACtG,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,EAAE;IAC3C,MAAM,OAAO,GAAG,EAAmC,CAAA;IACnD,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"}
|
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.25",
|
|
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",
|
package/tsconfig.json
CHANGED
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
"DOM",
|
|
9
9
|
"ES2021"
|
|
10
10
|
],
|
|
11
|
-
"module": "
|
|
11
|
+
"module": "NodeNext",
|
|
12
12
|
"strict": true,
|
|
13
13
|
"sourceMap": true,
|
|
14
|
-
"moduleResolution": "
|
|
14
|
+
"moduleResolution": "NodeNext",
|
|
15
15
|
"allowSyntheticDefaultImports": true,
|
|
16
16
|
"declaration": true,
|
|
17
17
|
"emitDecoratorMetadata": true,
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"strictPropertyInitialization": false,
|
|
20
20
|
"noImplicitAny": false,
|
|
21
21
|
"esModuleInterop": true,
|
|
22
|
-
"skipLibCheck": true
|
|
22
|
+
"skipLibCheck": true
|
|
23
23
|
},
|
|
24
24
|
"exclude": [
|
|
25
25
|
"bin/*",
|
|
@@ -1,6 +0,0 @@
|
|
|
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
|
-
}[];
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
package/yarn.lock
DELETED
|
@@ -1,197 +0,0 @@
|
|
|
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==
|