@livequery/nestjs 2.0.35 → 2.0.36
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/ApiGateway.js +3 -4
- package/build/src/ApiGateway.js.map +1 -1
- package/build/src/ApiGatewayLinker.js +2 -6
- package/build/src/ApiGatewayLinker.js.map +1 -1
- package/build/src/LivequeryWebsocketSync.js +32 -21
- package/build/src/LivequeryWebsocketSync.js.map +1 -1
- package/build/src/RxjsUdp.d.ts +3 -4
- package/build/src/RxjsUdp.js +37 -27
- package/build/src/RxjsUdp.js.map +1 -1
- package/build/src/const.d.ts +2 -2
- package/build/src/const.js +3 -3
- package/build/src/const.js.map +1 -1
- package/build/tests/gateway.js.map +1 -1
- package/build/tests/service.js +2 -2
- package/package.json +1 -1
package/build/src/ApiGateway.js
CHANGED
|
@@ -2,7 +2,7 @@ import { __decorate, __metadata, __param } from "tslib";
|
|
|
2
2
|
import { Controller, Delete, Get, Optional, Patch, Post, Put, Request, Res, } from '@nestjs/common';
|
|
3
3
|
import * as http from 'http';
|
|
4
4
|
import { LivequeryWebsocketSync } from './LivequeryWebsocketSync.js';
|
|
5
|
-
import {
|
|
5
|
+
import { LIVEQUERY_API_GATEWAY_DEBUG } from './const.js';
|
|
6
6
|
import { RxjsUdp } from './RxjsUdp.js';
|
|
7
7
|
import { mergeMap, filter, debounceTime, groupBy } from 'rxjs/operators';
|
|
8
8
|
let ApiGateway = class ApiGateway {
|
|
@@ -11,13 +11,12 @@ let ApiGateway = class ApiGateway {
|
|
|
11
11
|
#routing = {};
|
|
12
12
|
constructor(lws) {
|
|
13
13
|
this.lws = lws;
|
|
14
|
-
const udp = new RxjsUdp(
|
|
14
|
+
const udp = new RxjsUdp();
|
|
15
15
|
udp.pipe(filter(m => m.role == 'service'), filter(m => !this.#services.has(m.id)), groupBy(m => m.id), mergeMap($ => $.pipe(debounceTime(1000), mergeMap(async (e) => {
|
|
16
16
|
await this.#join(e);
|
|
17
17
|
})))).subscribe();
|
|
18
18
|
setTimeout(() => {
|
|
19
19
|
udp.broadcast({
|
|
20
|
-
port: SERVICE_API_UDP_PORT,
|
|
21
20
|
payload: {
|
|
22
21
|
name: 'API gateway',
|
|
23
22
|
paths: [],
|
|
@@ -88,7 +87,7 @@ let ApiGateway = class ApiGateway {
|
|
|
88
87
|
for (const route of routes) {
|
|
89
88
|
for (const { methods } of Object.values(route || {})) {
|
|
90
89
|
for (const list of Object.values(methods || {})) {
|
|
91
|
-
list.hosts = list.hosts.filter(h => h.uri != hostname);
|
|
90
|
+
list.hosts = list.hosts.filter(h => h.instance_id != id || h.uri != hostname);
|
|
92
91
|
}
|
|
93
92
|
}
|
|
94
93
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiGateway.js","sourceRoot":"","sources":["../../src/ApiGateway.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM,gBAAgB,CAAA;AACnG,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAkD,
|
|
1
|
+
{"version":3,"file":"ApiGateway.js","sourceRoot":"","sources":["../../src/ApiGateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,6 @@ import { ModulesContainer } from "@nestjs/core";
|
|
|
5
5
|
import { listPaths } from "./helpers/listPaths.js";
|
|
6
6
|
import { LivequeryWebsocketSync, WEBSOCKET_PATH } from "./LivequeryWebsocketSync.js";
|
|
7
7
|
import { Subject, mergeMap } from "rxjs";
|
|
8
|
-
import { API_GATEWAY_UDP_PORT, SERVICE_API_UDP_PORT } from "./const.js";
|
|
9
8
|
import { filter, combineLatestWith, debounceTime, groupBy } from 'rxjs/operators';
|
|
10
9
|
import { RxjsUdp } from "./RxjsUdp.js";
|
|
11
10
|
let ApiGatewayLinker = class ApiGatewayLinker {
|
|
@@ -15,8 +14,8 @@ let ApiGatewayLinker = class ApiGatewayLinker {
|
|
|
15
14
|
constructor(LivequeryWebsocketSync, modulesContainer) {
|
|
16
15
|
this.modulesContainer = modulesContainer;
|
|
17
16
|
const paths = [...this.modulesContainer.values()].map(m => (listPaths([...m.controllers.keys()].map(c => c)))).flat(2);
|
|
18
|
-
const $udp = new RxjsUdp(
|
|
19
|
-
$udp.pipe(filter(m => m.role == 'gateway'), filter(r => !r.linked.includes(
|
|
17
|
+
const $udp = new RxjsUdp();
|
|
18
|
+
$udp.pipe(filter(m => m.role == 'gateway'), filter(r => !r.linked.includes(RxjsUdp.id)), combineLatestWith(ApiGatewayLinker_1.$me), groupBy(([a, b]) => a.id), mergeMap($ => $.pipe(debounceTime(1000), mergeMap(async ([{ host }, { name, port }]) => {
|
|
20
19
|
const payload = {
|
|
21
20
|
role: 'service',
|
|
22
21
|
paths,
|
|
@@ -28,14 +27,11 @@ let ApiGatewayLinker = class ApiGatewayLinker {
|
|
|
28
27
|
};
|
|
29
28
|
$udp.broadcast({
|
|
30
29
|
payload,
|
|
31
|
-
port: API_GATEWAY_UDP_PORT,
|
|
32
30
|
host
|
|
33
31
|
});
|
|
34
32
|
})))).subscribe();
|
|
35
|
-
combineLatestWith(ApiGatewayLinker_1.$me);
|
|
36
33
|
ApiGatewayLinker_1.$me.subscribe(({ name, port }) => {
|
|
37
34
|
$udp.broadcast({
|
|
38
|
-
port: API_GATEWAY_UDP_PORT,
|
|
39
35
|
payload: {
|
|
40
36
|
name,
|
|
41
37
|
port,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiGatewayLinker.js","sourceRoot":"","sources":["../../src/ApiGatewayLinker.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ApiGatewayLinker.js","sourceRoot":"","sources":["../../src/ApiGatewayLinker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import { __decorate, __metadata, __param } from "tslib";
|
|
2
2
|
import { ConnectedSocket, MessageBody, SubscribeMessage, WebSocketGateway } from "@nestjs/websockets";
|
|
3
|
-
import { Subject, tap, switchMap, retry } from "rxjs";
|
|
3
|
+
import { Subject, tap, switchMap, retry, timer, BehaviorSubject, takeWhile } from "rxjs";
|
|
4
4
|
import WebSocket from 'ws';
|
|
5
|
-
import { of, fromEvent, map, finalize, merge,
|
|
5
|
+
import { of, fromEvent, map, finalize, merge, EMPTY, filter, mergeAll } from 'rxjs';
|
|
6
6
|
import { hidePrivateFields } from "./helpers/hidePrivateFields.js";
|
|
7
7
|
import { randomUUID } from "crypto";
|
|
8
|
+
import { RxjsUdp } from "./RxjsUdp.js";
|
|
9
|
+
const ENDPOINT_RESTARTED = 'ENDPOINT_RESTARTED';
|
|
8
10
|
export const WEBSOCKET_PATH = process.env.REALTIME_UPDATE_SOCKET_PATH || '/livequery/realtime-updates';
|
|
9
11
|
let LivequeryWebsocketSync = class LivequeryWebsocketSync {
|
|
10
12
|
#connections = new Map();
|
|
11
13
|
#subscriptions = new Map();
|
|
12
|
-
id =
|
|
14
|
+
id = RxjsUdp.id;
|
|
13
15
|
auth = randomUUID();
|
|
14
16
|
changes = new Subject();
|
|
15
17
|
constructor() {
|
|
16
|
-
this.changes.pipe();
|
|
17
18
|
this.changes.subscribe(({ ref, data, type }) => {
|
|
18
19
|
const targets = [
|
|
19
20
|
...this.#subscriptions.get(ref) || new Map(),
|
|
@@ -40,28 +41,32 @@ let LivequeryWebsocketSync = class LivequeryWebsocketSync {
|
|
|
40
41
|
});
|
|
41
42
|
}
|
|
42
43
|
connect(url, auth, ondisconect) {
|
|
43
|
-
|
|
44
|
+
const gateway$ = new BehaviorSubject({ id: '', stop: false });
|
|
45
|
+
return of(0).pipe(takeWhile(() => !gateway$.getValue().stop), map(() => new WebSocket(url)), switchMap((ws) => {
|
|
44
46
|
return merge(fromEvent(ws, 'open').pipe(tap(() => {
|
|
45
47
|
const payload = { event: 'start', data: { id: this.id, auth } };
|
|
46
48
|
ws.send(JSON.stringify(payload));
|
|
47
49
|
})), fromEvent(ws, 'close').pipe(map(() => { throw 'CLOSED'; })), fromEvent(ws, 'error').pipe(map(e => { throw e; })), fromEvent(ws, 'message').pipe(map((event) => {
|
|
48
50
|
const data = event.data;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
51
|
+
const parsed = JSON.parse(data.toString());
|
|
52
|
+
if (parsed.event == 'hello') {
|
|
53
|
+
ws.id = parsed.gid;
|
|
54
|
+
const old_id = gateway$.getValue().id;
|
|
55
|
+
if (old_id == '') {
|
|
56
|
+
gateway$.next({ id: ws.id, stop: false });
|
|
55
57
|
}
|
|
56
|
-
if (
|
|
57
|
-
|
|
58
|
-
|
|
58
|
+
if (old_id != '' && old_id != ws.id) {
|
|
59
|
+
gateway$.next({ id: ws.id, stop: true });
|
|
60
|
+
throw ENDPOINT_RESTARTED;
|
|
59
61
|
}
|
|
60
|
-
|
|
62
|
+
this.#connections.set(parsed.gid, ws);
|
|
63
|
+
return;
|
|
61
64
|
}
|
|
62
|
-
|
|
63
|
-
|
|
65
|
+
if (parsed.event == 'subscribe') {
|
|
66
|
+
this.listen([parsed]);
|
|
67
|
+
return;
|
|
64
68
|
}
|
|
69
|
+
return parsed;
|
|
65
70
|
}), filter(Boolean), map(({ event, cids, data }) => cids.map(client_id => ({ event, data, client_id }))), mergeAll(), tap(({ client_id, ...event }) => {
|
|
66
71
|
const socket = this.#connections.get(client_id);
|
|
67
72
|
socket && socket.send(JSON.stringify(event));
|
|
@@ -69,10 +74,12 @@ let LivequeryWebsocketSync = class LivequeryWebsocketSync {
|
|
|
69
74
|
this.#connections.delete(ws.id);
|
|
70
75
|
}));
|
|
71
76
|
}), retry({
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
77
|
+
delay: (e, n) => {
|
|
78
|
+
if (n >= 5 || e == ENDPOINT_RESTARTED)
|
|
79
|
+
return EMPTY;
|
|
80
|
+
return timer(2000);
|
|
81
|
+
}
|
|
82
|
+
}), finalize(() => {
|
|
76
83
|
ondisconect?.();
|
|
77
84
|
})).subscribe();
|
|
78
85
|
}
|
|
@@ -129,6 +136,10 @@ let LivequeryWebsocketSync = class LivequeryWebsocketSync {
|
|
|
129
136
|
start(socket, { id, auth }) {
|
|
130
137
|
if (socket.id)
|
|
131
138
|
return;
|
|
139
|
+
if (auth && auth != this.auth) {
|
|
140
|
+
socket.close();
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
132
143
|
if (this.#connections.has(id)) {
|
|
133
144
|
socket.close();
|
|
134
145
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LivequeryWebsocketSync.js","sourceRoot":"","sources":["../../src/LivequeryWebsocketSync.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtG,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"LivequeryWebsocketSync.js","sourceRoot":"","sources":["../../src/LivequeryWebsocketSync.ts"],"names":[],"mappings":"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"}
|
package/build/src/RxjsUdp.d.ts
CHANGED
|
@@ -6,10 +6,9 @@ export type UdpHello<T> = T & {
|
|
|
6
6
|
};
|
|
7
7
|
export declare class RxjsUdp<T> extends Observable<UdpHello<T>> {
|
|
8
8
|
#private;
|
|
9
|
-
readonly id: `${string}-${string}-${string}-${string}-${string}`;
|
|
10
|
-
constructor(
|
|
11
|
-
broadcast({ payload,
|
|
12
|
-
port: number;
|
|
9
|
+
static readonly id: `${string}-${string}-${string}-${string}-${string}`;
|
|
10
|
+
constructor();
|
|
11
|
+
broadcast({ payload, host }: {
|
|
13
12
|
payload: T;
|
|
14
13
|
host?: string;
|
|
15
14
|
}): Promise<void>;
|
package/build/src/RxjsUdp.js
CHANGED
|
@@ -1,15 +1,24 @@
|
|
|
1
1
|
import { createSocket } from "dgram";
|
|
2
2
|
import { Observable } from "rxjs";
|
|
3
|
-
import { API_GATEWAY_NAMESPACE, API_GATEWAY_UDP_ADDRESS, LIVEQUERY_API_GATEWAY_RAW_DEBUG } from "./const.js";
|
|
3
|
+
import { API_GATEWAY_NAMESPACE, API_GATEWAY_UDP_ADDRESS, LIVEQUERY_API_GATEWAY_RAW_DEBUG, UDP_PRIVATE_PORT, UDP_PUBLIC_PORT } from "./const.js";
|
|
4
4
|
import { randomUUID } from "crypto";
|
|
5
|
+
import { networkInterfaces } from "os";
|
|
6
|
+
LIVEQUERY_API_GATEWAY_RAW_DEBUG && console.log({ LIVEQUERY_API_GATEWAY_RAW_DEBUG: 'ON' });
|
|
5
7
|
export class RxjsUdp extends Observable {
|
|
6
|
-
id = randomUUID();
|
|
7
|
-
#udp =
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
static id = randomUUID();
|
|
9
|
+
#udp = {
|
|
10
|
+
public: createSocket({
|
|
11
|
+
type: 'udp4',
|
|
12
|
+
reuseAddr: true
|
|
13
|
+
}),
|
|
14
|
+
local: createSocket({
|
|
15
|
+
type: 'udp4',
|
|
16
|
+
reuseAddr: true
|
|
17
|
+
})
|
|
18
|
+
};
|
|
19
|
+
#local_addresses = Object.values(networkInterfaces()).map(a => a.map(q => q.address)).flat(2);
|
|
11
20
|
#whitelist_ips = [
|
|
12
|
-
'
|
|
21
|
+
'127.0.0.1',
|
|
13
22
|
...API_GATEWAY_UDP_ADDRESS.split(',').map(a => {
|
|
14
23
|
const s = a.trim().split('.');
|
|
15
24
|
if (s.length == 4)
|
|
@@ -19,38 +28,39 @@ export class RxjsUdp extends Observable {
|
|
|
19
28
|
return [];
|
|
20
29
|
}).flat(2)
|
|
21
30
|
];
|
|
22
|
-
constructor(
|
|
31
|
+
constructor() {
|
|
23
32
|
super(o => {
|
|
24
|
-
this.#udp.on('message',
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
this.#udp.public.on('message', (raw, rinfo) => {
|
|
34
|
+
if (!this.#whitelist_ips.includes(rinfo.address))
|
|
35
|
+
return;
|
|
36
|
+
const info = JSON.parse(raw.toString('utf-8'));
|
|
37
|
+
info.host = rinfo.address;
|
|
38
|
+
this.#udp.public.send(Buffer.from(JSON.stringify(info)), UDP_PRIVATE_PORT, '255.255.255.255');
|
|
39
|
+
});
|
|
40
|
+
this.#udp.local.on('message', (raw, rinfo) => {
|
|
41
|
+
if (!this.#local_addresses.includes(rinfo.address))
|
|
42
|
+
return;
|
|
43
|
+
const info = JSON.parse(raw.toString('utf-8'));
|
|
44
|
+
LIVEQUERY_API_GATEWAY_RAW_DEBUG && console.log({ receive: info });
|
|
45
|
+
if (info.namespace == API_GATEWAY_NAMESPACE && info.id != RxjsUdp.id) {
|
|
46
|
+
o.next(info);
|
|
35
47
|
}
|
|
36
48
|
});
|
|
37
|
-
this.#udp.bind(
|
|
38
|
-
|
|
39
|
-
port,
|
|
40
|
-
}, () => this.#udp.setBroadcast(true));
|
|
49
|
+
this.#udp.public.bind(UDP_PUBLIC_PORT, '0.0.0.0', () => this.#udp.public.setBroadcast(true));
|
|
50
|
+
this.#udp.local.bind(UDP_PRIVATE_PORT, '0.0.0.0', () => this.#udp.local.setBroadcast(true));
|
|
41
51
|
});
|
|
42
52
|
}
|
|
43
|
-
async broadcast({ payload,
|
|
53
|
+
async broadcast({ payload, host }) {
|
|
44
54
|
const hosts = host ? [host] : this.#whitelist_ips;
|
|
45
55
|
const data = JSON.stringify({
|
|
46
56
|
namespace: API_GATEWAY_NAMESPACE,
|
|
47
|
-
id:
|
|
57
|
+
id: RxjsUdp.id,
|
|
48
58
|
...payload,
|
|
49
59
|
});
|
|
50
|
-
LIVEQUERY_API_GATEWAY_RAW_DEBUG && console.log({ broadcast: hosts,
|
|
60
|
+
LIVEQUERY_API_GATEWAY_RAW_DEBUG && console.log({ broadcast: hosts, data, port: UDP_PUBLIC_PORT });
|
|
51
61
|
for (const host of hosts) {
|
|
52
62
|
await new Promise(s => {
|
|
53
|
-
this.#udp.send(data,
|
|
63
|
+
this.#udp.public.send(data, UDP_PUBLIC_PORT, host, s);
|
|
54
64
|
});
|
|
55
65
|
}
|
|
56
66
|
}
|
package/build/src/RxjsUdp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RxjsUdp.js","sourceRoot":"","sources":["../../src/RxjsUdp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AACjC,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"RxjsUdp.js","sourceRoot":"","sources":["../../src/RxjsUdp.ts"],"names":[],"mappings":"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"}
|
package/build/src/const.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare const LIVEQUERY_MAGIC_KEY: string;
|
|
2
2
|
export declare const API_GATEWAY_NAMESPACE: string;
|
|
3
|
-
export declare const API_GATEWAY_UDP_PORT: number;
|
|
4
|
-
export declare const SERVICE_API_UDP_PORT: number;
|
|
5
3
|
export declare const API_GATEWAY_UDP_ADDRESS: string;
|
|
6
4
|
export declare const LIVEQUERY_API_GATEWAY_DEBUG: string | boolean;
|
|
7
5
|
export declare const LIVEQUERY_API_GATEWAY_RAW_DEBUG: string;
|
|
6
|
+
export declare const UDP_PUBLIC_PORT: number;
|
|
7
|
+
export declare const UDP_PRIVATE_PORT: number;
|
package/build/src/const.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export const LIVEQUERY_MAGIC_KEY = `${process.env.LIVEQUERY_MAGIC_KEY || 'livequery'}/`;
|
|
2
2
|
export const API_GATEWAY_NAMESPACE = process.env.API_GATEWAY_NAMESPACE || 'default';
|
|
3
|
-
export const
|
|
4
|
-
export const SERVICE_API_UDP_PORT = Number(process.env.SERVICE_API_UDP_PORT || 13579);
|
|
5
|
-
export const API_GATEWAY_UDP_ADDRESS = process.env.API_GATEWAY_UDP_ADDRESS || '192.168.2';
|
|
3
|
+
export const API_GATEWAY_UDP_ADDRESS = process.env.API_GATEWAY_UDP_ADDRESS || '';
|
|
6
4
|
export const LIVEQUERY_API_GATEWAY_DEBUG = process.env.LIVEQUERY_API_GATEWAY_DEBUG || true;
|
|
7
5
|
export const LIVEQUERY_API_GATEWAY_RAW_DEBUG = process.env.LIVEQUERY_API_GATEWAY_RAW_DEBUG;
|
|
6
|
+
export const UDP_PUBLIC_PORT = Number(process.env.UDP_PUBLIC_PORT || 11001);
|
|
7
|
+
export const UDP_PRIVATE_PORT = Number(process.env.UDP_PRIVATE_PORT || 11002);
|
|
8
8
|
//# sourceMappingURL=const.js.map
|
package/build/src/const.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/const.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,WAAW,GAAG,CAAA;AAEvF,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,SAAS,CAAA;AACnF,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/const.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,WAAW,GAAG,CAAA;AAEvF,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,SAAS,CAAA;AACnF,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,EAAE,CAAA;AAChF,MAAM,CAAC,MAAM,2BAA2B,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,IAAI,CAAA;AAC1F,MAAM,CAAC,MAAM,+BAA+B,GAAG,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAA;AAE1F,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,KAAK,CAAC,CAAA;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,KAAK,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../tests/gateway.ts"],"names":[],"mappings":";AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../tests/gateway.ts"],"names":[],"mappings":";AAAA,OAAO,EAAmB,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAOxC,IAAM,SAAS,GAAf,MAAM,SAAS;CAAI,CAAA;AAAb,SAAS;IAJrB,MAAM,CAAC;QACJ,WAAW,EAAE,CAAC,UAAU,CAAC;QACzB,SAAS,EAAE,CAAC,sBAAsB,CAAC;KACtC,CAAC;GACW,SAAS,CAAI;;AAG1B,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;AAClE,GAAG,CAAC,mBAAmB,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;AAC3C,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAA"}
|
package/build/tests/service.js
CHANGED
|
@@ -60,6 +60,6 @@ AppModule = __decorate([
|
|
|
60
60
|
export { AppModule };
|
|
61
61
|
const app = await NestFactory.create(AppModule);
|
|
62
62
|
app.useWebSocketAdapter(new WsAdapter(app));
|
|
63
|
-
await app.listen(
|
|
64
|
-
ApiGatewayLinker.broadcast('Service API',
|
|
63
|
+
await app.listen(3001);
|
|
64
|
+
ApiGatewayLinker.broadcast('Service API', 3001);
|
|
65
65
|
//# sourceMappingURL=service.js.map
|
package/package.json
CHANGED