@wishcore/wish-rpc 0.6.10 → 0.6.11
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/dist/src/rpc-client.d.ts +1 -3
- package/dist/src/rpc-client.js +1 -3
- package/dist/src/rpc-client.js.map +1 -1
- package/package.json +2 -1
- package/dist/index.d.ts +0 -28
- package/dist/index.js +0 -8
- package/dist/index.js.map +0 -1
- package/dist/rpc-client.d.ts +0 -17
- package/dist/rpc-client.js +0 -98
- package/dist/rpc-client.js.map +0 -1
- package/dist/rpc-server.d.ts +0 -55
- package/dist/rpc-server.js +0 -414
- package/dist/rpc-server.js.map +0 -1
package/dist/src/rpc-client.d.ts
CHANGED
package/dist/src/rpc-client.js
CHANGED
|
@@ -10,10 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.Client = void 0;
|
|
13
|
-
|
|
14
|
-
class Client extends events_1.EventEmitter {
|
|
13
|
+
class Client {
|
|
15
14
|
constructor(write, opts) {
|
|
16
|
-
super();
|
|
17
15
|
this.write = write;
|
|
18
16
|
this.requests = {};
|
|
19
17
|
this.id = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc-client.js","sourceRoot":"","sources":["../../src/rpc-client.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"rpc-client.js","sourceRoot":"","sources":["../../src/rpc-client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@wishcore/wish-rpc",
|
|
3
3
|
"author": "André Kaustell <andre.kaustell@wishtech.fi>",
|
|
4
4
|
"description": "An RPC implementation for Node.js, initally developed for the Wish project.",
|
|
5
|
-
"version": "0.6.
|
|
5
|
+
"version": "0.6.11",
|
|
6
6
|
"main": "dist/src/index.js",
|
|
7
7
|
"license": "Apache-2.0",
|
|
8
8
|
"repository": {
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
"url": "git+ssh://wish.cto.fi:/git/wish-rpc#master"
|
|
11
11
|
},
|
|
12
12
|
"scripts": {
|
|
13
|
+
"build": "tsc",
|
|
13
14
|
"test": "mocha --exit -r ts-node/register test/**/*.spec.ts",
|
|
14
15
|
"test-only": "mocha --exit -r ts-node/register",
|
|
15
16
|
"coverage": "istanbul cover --hook-run-in-context _mocha -- -R spec",
|
package/dist/index.d.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
export interface MethodMap {
|
|
2
|
-
[endpoint: string]: any;
|
|
3
|
-
}
|
|
4
|
-
export interface RequestMessage {
|
|
5
|
-
op: string;
|
|
6
|
-
args?: any[];
|
|
7
|
-
id?: number;
|
|
8
|
-
push?: number;
|
|
9
|
-
sig?: number;
|
|
10
|
-
data?: any;
|
|
11
|
-
end?: number;
|
|
12
|
-
stream?: any;
|
|
13
|
-
}
|
|
14
|
-
export interface ResponseMessage {
|
|
15
|
-
ack?: number;
|
|
16
|
-
err?: number;
|
|
17
|
-
sig?: number;
|
|
18
|
-
end?: number;
|
|
19
|
-
push?: number;
|
|
20
|
-
data?: any;
|
|
21
|
-
}
|
|
22
|
-
export interface RequestMap {
|
|
23
|
-
[clientId: string]: {
|
|
24
|
-
[requestId: string]: any;
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
export * from './rpc-client';
|
|
28
|
-
export * from './rpc-server';
|
package/dist/index.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
function __export(m) {
|
|
3
|
-
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
|
|
4
|
-
}
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
__export(require("./rpc-client"));
|
|
7
|
-
__export(require("./rpc-server"));
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AA+BA,kCAA6B;AAC7B,kCAA6B"}
|
package/dist/rpc-client.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { EventEmitter } from 'events';
|
|
3
|
-
import { ResponseMessage } from 'src';
|
|
4
|
-
export declare class Client extends EventEmitter {
|
|
5
|
-
private write;
|
|
6
|
-
private requests;
|
|
7
|
-
private id;
|
|
8
|
-
private mtu;
|
|
9
|
-
constructor(write: (msg: ResponseMessage) => void, opts?: {
|
|
10
|
-
mtu: number;
|
|
11
|
-
});
|
|
12
|
-
destroy(): void;
|
|
13
|
-
messageReceived(msg: any, next: any): void;
|
|
14
|
-
request(op: string, args: any[], cb: any): number | null;
|
|
15
|
-
send(id: number, data: any): void;
|
|
16
|
-
end(id: number): void;
|
|
17
|
-
}
|
package/dist/rpc-client.js
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const events_1 = require("events");
|
|
4
|
-
class Client extends events_1.EventEmitter {
|
|
5
|
-
constructor(write, opts) {
|
|
6
|
-
super();
|
|
7
|
-
this.write = write;
|
|
8
|
-
this.requests = {};
|
|
9
|
-
this.id = 0;
|
|
10
|
-
this.mtu = 65535;
|
|
11
|
-
if (opts && opts.mtu) {
|
|
12
|
-
this.mtu = opts.mtu;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
destroy() {
|
|
16
|
-
this.requests = null;
|
|
17
|
-
this.write = null;
|
|
18
|
-
}
|
|
19
|
-
messageReceived(msg, next) {
|
|
20
|
-
//console.log("RpcClient received message", msg);
|
|
21
|
-
const end = !!(msg.err || msg.ack || msg.fin);
|
|
22
|
-
const id = msg.ack || msg.err || msg.sig || msg.fin;
|
|
23
|
-
const request = this.requests[id];
|
|
24
|
-
let retval;
|
|
25
|
-
if (request && typeof request.cb === 'function') {
|
|
26
|
-
let err;
|
|
27
|
-
if (msg.fin) {
|
|
28
|
-
// This request closed gracefully
|
|
29
|
-
request.cb.call(request.context, null, null, true);
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
if (request.canceled) {
|
|
33
|
-
console.log('This request is canceled. Not calling the callback.');
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
// all is good, call the callback function
|
|
37
|
-
err = msg.err ? msg.data : null;
|
|
38
|
-
retval = request.cb.call(request.context, err, msg.data, end);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
if (end) {
|
|
43
|
-
//console.log("deleting this request", id);
|
|
44
|
-
delete this.requests[id];
|
|
45
|
-
}
|
|
46
|
-
return retval;
|
|
47
|
-
}
|
|
48
|
-
request(op, args, cb) {
|
|
49
|
-
if (typeof args === 'function') {
|
|
50
|
-
cb = args;
|
|
51
|
-
args = null;
|
|
52
|
-
}
|
|
53
|
-
if (!Array.isArray(args)) {
|
|
54
|
-
args = typeof args === 'undefined' || args === null ? null : [args];
|
|
55
|
-
}
|
|
56
|
-
if (typeof cb !== 'function') {
|
|
57
|
-
cb = null;
|
|
58
|
-
}
|
|
59
|
-
const msg = { op };
|
|
60
|
-
if (Array.isArray(args)) {
|
|
61
|
-
msg.args = args;
|
|
62
|
-
}
|
|
63
|
-
if (cb) {
|
|
64
|
-
//console.log("we have a cb.", cb, new Error().stack);
|
|
65
|
-
msg.id = ++this.id;
|
|
66
|
-
this.requests[msg.id] = {
|
|
67
|
-
cb: cb,
|
|
68
|
-
context: {
|
|
69
|
-
id: msg.id,
|
|
70
|
-
cancel: () => {
|
|
71
|
-
setTimeout(((id) => {
|
|
72
|
-
return () => {
|
|
73
|
-
if (this.requests[id]) {
|
|
74
|
-
console.log('rpc-client.js: timeout, the request has not been removed while it was canceled', id, this.requests[id]);
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
})(msg.id), 1500);
|
|
78
|
-
this.requests[msg.id].canceled = true;
|
|
79
|
-
this.write({ end: msg.id });
|
|
80
|
-
},
|
|
81
|
-
emit: (data) => {
|
|
82
|
-
return this.write({ sig: msg.id, data: data });
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
this.write(msg);
|
|
88
|
-
return msg.id || null;
|
|
89
|
-
}
|
|
90
|
-
send(id, data) {
|
|
91
|
-
this.write({ push: id, data });
|
|
92
|
-
}
|
|
93
|
-
end(id) {
|
|
94
|
-
this.write({ end: id });
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
exports.Client = Client;
|
|
98
|
-
//# sourceMappingURL=rpc-client.js.map
|
package/dist/rpc-client.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rpc-client.js","sourceRoot":"","sources":["../src/rpc-client.ts"],"names":[],"mappings":"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"}
|
package/dist/rpc-server.d.ts
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The idea is to be able to easily register methods/functions to be called
|
|
3
|
-
* remotely, to enable access control and return data directly, asynchronously or
|
|
4
|
-
* opening a stream which delivers data for long running tasks or large data
|
|
5
|
-
* transfers.
|
|
6
|
-
*
|
|
7
|
-
* When registerCore is run with the wish core instance, it reads all objects
|
|
8
|
-
* that have a property named "_". It scans those properties for properties
|
|
9
|
-
* which have a descriptor property with the same name prepended with "_".
|
|
10
|
-
*
|
|
11
|
-
* Sub modules are not implemented yet, but an example should look like the
|
|
12
|
-
* relay, module below.
|
|
13
|
-
*
|
|
14
|
-
* Ex.
|
|
15
|
-
* rpc.insertMethods({
|
|
16
|
-
* _doThis: {
|
|
17
|
-
* doc: "This function does this, and emits progress each second and end.",
|
|
18
|
-
* },
|
|
19
|
-
* doThis: function(req,res) {
|
|
20
|
-
* ...
|
|
21
|
-
* },
|
|
22
|
-
* _relay: {
|
|
23
|
-
* doc: "A bunch of relay related functions"
|
|
24
|
-
* },
|
|
25
|
-
* relay: {
|
|
26
|
-
* _test: {},
|
|
27
|
-
* test: function() {},
|
|
28
|
-
* _list: {},
|
|
29
|
-
* list: function() {}
|
|
30
|
-
* }
|
|
31
|
-
* });
|
|
32
|
-
*/
|
|
33
|
-
import { MethodMap, RequestMessage } from 'src';
|
|
34
|
-
export declare class Server {
|
|
35
|
-
private modules;
|
|
36
|
-
private methods;
|
|
37
|
-
private requests;
|
|
38
|
-
private clientIdCounter;
|
|
39
|
-
/** internal request id counter */
|
|
40
|
-
private requestId;
|
|
41
|
-
/** counting id for rpc invoke function */
|
|
42
|
-
private invokeId;
|
|
43
|
-
constructor(methods?: MethodMap);
|
|
44
|
-
destroy(): void;
|
|
45
|
-
insertMethods(o: any): void;
|
|
46
|
-
addMethods(path: string, o: MethodMap): void;
|
|
47
|
-
listMethods(args: any, context: any, cb: any): void;
|
|
48
|
-
clientOffline(clientId: number): void;
|
|
49
|
-
closeAll(): void;
|
|
50
|
-
parse(msg: RequestMessage, respond: any, context: any, clientId: number): void;
|
|
51
|
-
emit(op: string, data: any): void;
|
|
52
|
-
invokeRaw(msg: RequestMessage, respond: any, context: any, clientId: any): void;
|
|
53
|
-
close(clientId: number): void;
|
|
54
|
-
open(): number;
|
|
55
|
-
}
|
package/dist/rpc-server.js
DELETED
|
@@ -1,414 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* The idea is to be able to easily register methods/functions to be called
|
|
4
|
-
* remotely, to enable access control and return data directly, asynchronously or
|
|
5
|
-
* opening a stream which delivers data for long running tasks or large data
|
|
6
|
-
* transfers.
|
|
7
|
-
*
|
|
8
|
-
* When registerCore is run with the wish core instance, it reads all objects
|
|
9
|
-
* that have a property named "_". It scans those properties for properties
|
|
10
|
-
* which have a descriptor property with the same name prepended with "_".
|
|
11
|
-
*
|
|
12
|
-
* Sub modules are not implemented yet, but an example should look like the
|
|
13
|
-
* relay, module below.
|
|
14
|
-
*
|
|
15
|
-
* Ex.
|
|
16
|
-
* rpc.insertMethods({
|
|
17
|
-
* _doThis: {
|
|
18
|
-
* doc: "This function does this, and emits progress each second and end.",
|
|
19
|
-
* },
|
|
20
|
-
* doThis: function(req,res) {
|
|
21
|
-
* ...
|
|
22
|
-
* },
|
|
23
|
-
* _relay: {
|
|
24
|
-
* doc: "A bunch of relay related functions"
|
|
25
|
-
* },
|
|
26
|
-
* relay: {
|
|
27
|
-
* _test: {},
|
|
28
|
-
* test: function() {},
|
|
29
|
-
* _list: {},
|
|
30
|
-
* list: function() {}
|
|
31
|
-
* }
|
|
32
|
-
* });
|
|
33
|
-
*/
|
|
34
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
-
const debug = console.log;
|
|
36
|
-
class Server {
|
|
37
|
-
constructor(methods) {
|
|
38
|
-
this.modules = {};
|
|
39
|
-
this.methods = {};
|
|
40
|
-
this.requests = {};
|
|
41
|
-
this.clientIdCounter = 0;
|
|
42
|
-
/** internal request id counter */
|
|
43
|
-
this.requestId = 0;
|
|
44
|
-
/** counting id for rpc invoke function */
|
|
45
|
-
this.invokeId = 0;
|
|
46
|
-
if (methods) {
|
|
47
|
-
this.insertMethods(methods);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
destroy() {
|
|
51
|
-
for (const i in this.requests) {
|
|
52
|
-
for (const j in this.requests[i]) {
|
|
53
|
-
if (typeof this.requests[i][j].end === 'function') {
|
|
54
|
-
this.requests[i][j].end();
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
delete this.requests[i];
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
insertMethods(o) {
|
|
61
|
-
const path = '';
|
|
62
|
-
this.addMethods(path, o);
|
|
63
|
-
}
|
|
64
|
-
addMethods(path, o) {
|
|
65
|
-
//console.log("addMethods", path, o);
|
|
66
|
-
const prefix = path ? path + '.' : '';
|
|
67
|
-
for (const i in o) {
|
|
68
|
-
if (i === '_') {
|
|
69
|
-
// module meta
|
|
70
|
-
}
|
|
71
|
-
else if (i.substring(0, 1) !== '_') {
|
|
72
|
-
if (o['_' + i]) {
|
|
73
|
-
// publish is _funcName exists for funcName
|
|
74
|
-
if (typeof o[i] === 'function') {
|
|
75
|
-
const ip = o['_' + i].name || i;
|
|
76
|
-
o['_' + i].fullname = prefix + ip;
|
|
77
|
-
try {
|
|
78
|
-
this.modules[prefix + ip] = o['_' + i];
|
|
79
|
-
this.methods[prefix + ip] = o[i];
|
|
80
|
-
const acl = this.modules[prefix + ip].acl;
|
|
81
|
-
const isPublic = this.modules[prefix + ip].public;
|
|
82
|
-
// public property is deprecated, use acl = false instead
|
|
83
|
-
if (isPublic) {
|
|
84
|
-
delete this.modules[prefix + ip]['public'];
|
|
85
|
-
}
|
|
86
|
-
if (acl === false || isPublic === true) {
|
|
87
|
-
// access control is explicitly disabled, allow access
|
|
88
|
-
this.modules[prefix + ip].acl = false;
|
|
89
|
-
}
|
|
90
|
-
else if (acl === true || typeof acl === 'undefined') {
|
|
91
|
-
this.modules[prefix + ip].acl = ['_call'];
|
|
92
|
-
}
|
|
93
|
-
if (Array.isArray(acl)) {
|
|
94
|
-
if (acl.indexOf('_call') === -1) {
|
|
95
|
-
this.modules[prefix + ip].acl.push('_call');
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
//this.selfs[prefix + ip] = o;
|
|
99
|
-
}
|
|
100
|
-
catch (e) {
|
|
101
|
-
console.log('Kaboom! ', e);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
else if (typeof o[i] === 'object') {
|
|
105
|
-
// this is a sub item
|
|
106
|
-
//this.modules[prefix + i] = o['_' + i];
|
|
107
|
-
this.addMethods(prefix + i, o[i]);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
// no _funcName found, do not publish via RPC
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
listMethods(args, context, cb) {
|
|
117
|
-
const result = {};
|
|
118
|
-
function copy(s, filter) {
|
|
119
|
-
const d = {};
|
|
120
|
-
for (const j in s) {
|
|
121
|
-
if (filter[j]) {
|
|
122
|
-
continue;
|
|
123
|
-
}
|
|
124
|
-
d[j] = s[j];
|
|
125
|
-
}
|
|
126
|
-
return d;
|
|
127
|
-
}
|
|
128
|
-
const filter = { fullname: true };
|
|
129
|
-
//console.log("no acl.");
|
|
130
|
-
for (const i in this.modules) {
|
|
131
|
-
result[i] = copy(this.modules[i], filter);
|
|
132
|
-
}
|
|
133
|
-
cb(null, result);
|
|
134
|
-
}
|
|
135
|
-
clientOffline(clientId) {
|
|
136
|
-
for (const i in this.requests[clientId]) {
|
|
137
|
-
if (typeof this.requests[clientId][i].end === 'function') {
|
|
138
|
-
this.requests[clientId][i].end();
|
|
139
|
-
}
|
|
140
|
-
//console.log("Ended due to client offline:", this.requests[clientId][i]);
|
|
141
|
-
delete this.requests[clientId][i];
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
closeAll() {
|
|
145
|
-
for (const i in this.requests) {
|
|
146
|
-
for (const j in this.requests[i]) {
|
|
147
|
-
if (typeof this.requests[i][j].end === 'function') {
|
|
148
|
-
this.requests[i][j].end();
|
|
149
|
-
}
|
|
150
|
-
//console.log("Ended due to client offline:", this.requests[i][j]);
|
|
151
|
-
delete this.requests[i][j];
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
parse(msg, respond, context, clientId) {
|
|
156
|
-
if (typeof clientId !== 'number') {
|
|
157
|
-
//console.log("Got RPC request from unspecified client, setting clientId to __none.");
|
|
158
|
-
return;
|
|
159
|
-
}
|
|
160
|
-
try {
|
|
161
|
-
if (msg.push) {
|
|
162
|
-
if (this.requests[clientId] && this.requests[clientId][msg.push]) {
|
|
163
|
-
this.invokeRaw(msg, respond, this.requests[clientId][msg.push].context, clientId);
|
|
164
|
-
}
|
|
165
|
-
return;
|
|
166
|
-
}
|
|
167
|
-
if (msg.sig) {
|
|
168
|
-
if (this.requests[clientId] && this.requests[clientId][msg.sig]) {
|
|
169
|
-
this.invokeRaw(msg, respond, this.requests[clientId][msg.sig].context, clientId);
|
|
170
|
-
}
|
|
171
|
-
return;
|
|
172
|
-
}
|
|
173
|
-
if (msg.end) {
|
|
174
|
-
const id = msg.end;
|
|
175
|
-
//console.log("end this request:", clientId, id, this.requests[clientId] ? this.requests[clientId][id] : this.requests);
|
|
176
|
-
if (this.requests[clientId] && this.requests[clientId][id]) {
|
|
177
|
-
if (typeof this.requests[clientId][id].end === 'function') {
|
|
178
|
-
this.requests[clientId][id].end();
|
|
179
|
-
}
|
|
180
|
-
respond({ fin: id });
|
|
181
|
-
delete this.requests[clientId][id];
|
|
182
|
-
return;
|
|
183
|
-
}
|
|
184
|
-
if (!this.requests[clientId][id]) {
|
|
185
|
-
return; // console.log("No such request...", id, clientId, new Error().stack, this.requests[clientId], this.requests);
|
|
186
|
-
}
|
|
187
|
-
if (typeof this.requests[clientId][id].end === 'function') {
|
|
188
|
-
this.requests[id].end();
|
|
189
|
-
}
|
|
190
|
-
return;
|
|
191
|
-
}
|
|
192
|
-
if (msg.op === 'methods') {
|
|
193
|
-
this.listMethods(msg.args, context, function (err, data) {
|
|
194
|
-
respond({ ack: msg.id, data: data });
|
|
195
|
-
});
|
|
196
|
-
return;
|
|
197
|
-
}
|
|
198
|
-
if (typeof this.methods[msg.op] === 'undefined') {
|
|
199
|
-
// service not found
|
|
200
|
-
respond({ err: msg.id, data: { code: 300, msg: 'No method found: ' + msg.op } });
|
|
201
|
-
return;
|
|
202
|
-
}
|
|
203
|
-
this.invokeRaw(msg, respond, context, clientId);
|
|
204
|
-
}
|
|
205
|
-
catch (e) {
|
|
206
|
-
debug('Dynamic RPC failed to execute ', msg.op, e, e.stack);
|
|
207
|
-
try {
|
|
208
|
-
console.log('RPC caught error', e.stack);
|
|
209
|
-
respond({ ack: msg.id, err: msg.id, data: 'caught error in ' + msg.op + ': ' + e.toString(), debug: e.stack });
|
|
210
|
-
}
|
|
211
|
-
catch (e) {
|
|
212
|
-
respond({ err: msg.id, data: 'rpc', errmsg: e.toString() });
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
emit(op, data) {
|
|
217
|
-
for (const client in this.requests) {
|
|
218
|
-
if (this.requests[client]) {
|
|
219
|
-
for (const id in this.requests[client]) {
|
|
220
|
-
if (this.requests[client][id].op === op) {
|
|
221
|
-
const { send } = this.requests[client][id];
|
|
222
|
-
send({ sig: id, data });
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
invokeRaw(msg, respond, context, clientId) {
|
|
229
|
-
++this.requestId;
|
|
230
|
-
if (!this.requests[clientId]) {
|
|
231
|
-
return console.log('Session not opened for client. Use Server.open() first');
|
|
232
|
-
}
|
|
233
|
-
if (msg.push) {
|
|
234
|
-
// we got a sig from client... neat, must be streaming!
|
|
235
|
-
const ctx = this.requests[clientId][msg.push];
|
|
236
|
-
//console.log('stream context:', ctx);
|
|
237
|
-
if (msg.data === null) {
|
|
238
|
-
console.log('msg.data is null:', msg);
|
|
239
|
-
return;
|
|
240
|
-
}
|
|
241
|
-
ctx.data(msg.data);
|
|
242
|
-
return;
|
|
243
|
-
}
|
|
244
|
-
if (msg.sig) {
|
|
245
|
-
// we got a sig from client... neat, must be streaming!
|
|
246
|
-
const ctx = this.requests[clientId][msg.sig];
|
|
247
|
-
// call the actual method
|
|
248
|
-
try {
|
|
249
|
-
this.methods[ctx.op].call(this.requests[clientId][msg.sig], msg.data, {
|
|
250
|
-
send: (data) => {
|
|
251
|
-
if (typeof ctx.end === 'function') {
|
|
252
|
-
ctx.end();
|
|
253
|
-
}
|
|
254
|
-
if (this.requests[clientId][msg.sig]) {
|
|
255
|
-
delete this.requests[clientId][msg.sig];
|
|
256
|
-
}
|
|
257
|
-
respond({ ack: msg.sig, data: data });
|
|
258
|
-
},
|
|
259
|
-
emit: (data) => {
|
|
260
|
-
if (!this.requests[clientId][msg.sig]) {
|
|
261
|
-
if (typeof ctx.end === 'function') {
|
|
262
|
-
ctx.end();
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
return respond({ sig: msg.sig, data: data });
|
|
266
|
-
},
|
|
267
|
-
error: (data) => {
|
|
268
|
-
if (typeof ctx.end === 'function') {
|
|
269
|
-
ctx.end();
|
|
270
|
-
}
|
|
271
|
-
delete this.requests[clientId][msg.sig];
|
|
272
|
-
respond({ err: msg.sig, data: data });
|
|
273
|
-
},
|
|
274
|
-
close: (data) => {
|
|
275
|
-
if (typeof ctx.end === 'function') {
|
|
276
|
-
ctx.end();
|
|
277
|
-
}
|
|
278
|
-
delete this.requests[clientId][msg.sig];
|
|
279
|
-
respond({ fin: msg.sig });
|
|
280
|
-
}
|
|
281
|
-
}, context);
|
|
282
|
-
}
|
|
283
|
-
catch (e) {
|
|
284
|
-
console.log('Calling the method in RPC failed:', msg.op, msg.args, e.stack);
|
|
285
|
-
delete this.requests[clientId][msg.sig];
|
|
286
|
-
respond({ err: msg.sig, data: { msg: 'rpc failed during execution of ' + msg.op, code: 578 } });
|
|
287
|
-
}
|
|
288
|
-
return;
|
|
289
|
-
}
|
|
290
|
-
if (typeof msg.id === 'undefined') {
|
|
291
|
-
// this is an event
|
|
292
|
-
const reqCtx = {};
|
|
293
|
-
this.methods[msg.op].call(reqCtx, { args: msg.args }, {
|
|
294
|
-
send: () => { debug('Trying to send response to event (' + msg.op + '). Dropping.'); },
|
|
295
|
-
emit: () => { debug('Trying to emit response to event (' + msg.op + '). Dropping.'); },
|
|
296
|
-
error: () => { debug('Trying to respond with error to event (' + msg.op + '). Dropping.'); },
|
|
297
|
-
close: () => { debug('Trying to close event (' + msg.op + '). Dropping.'); }
|
|
298
|
-
}, context);
|
|
299
|
-
}
|
|
300
|
-
else {
|
|
301
|
-
// this is a regular rpc request
|
|
302
|
-
const reqCtx = {
|
|
303
|
-
id: msg.id,
|
|
304
|
-
op: msg.op,
|
|
305
|
-
args: msg.args,
|
|
306
|
-
context,
|
|
307
|
-
end: null,
|
|
308
|
-
send: respond,
|
|
309
|
-
};
|
|
310
|
-
if (!this.requests[clientId]) {
|
|
311
|
-
this.requests[clientId] = {};
|
|
312
|
-
}
|
|
313
|
-
if (this.requests[clientId][msg.id]) {
|
|
314
|
-
console.log("Serious warning. There is already a request by that id, we'll kill it off! This session is likely not clean. clientId:", clientId, 'msg', msg, 'stack trace:', new Error().stack);
|
|
315
|
-
if (typeof this.requests[clientId][msg.id].end === 'function') {
|
|
316
|
-
this.requests[clientId][msg.id].end();
|
|
317
|
-
}
|
|
318
|
-
delete this.requests[clientId][msg.id];
|
|
319
|
-
console.log('Removed old request by same id from same client...');
|
|
320
|
-
}
|
|
321
|
-
this.requests[clientId][msg.id] = reqCtx;
|
|
322
|
-
// call the actual method
|
|
323
|
-
try {
|
|
324
|
-
this.methods[msg.op].call(reqCtx, { args: msg.args }, {
|
|
325
|
-
send: (data) => {
|
|
326
|
-
if (typeof reqCtx.end === 'function') {
|
|
327
|
-
reqCtx.end();
|
|
328
|
-
}
|
|
329
|
-
if (this.requests[clientId][msg.id]) {
|
|
330
|
-
delete this.requests[clientId][msg.id];
|
|
331
|
-
}
|
|
332
|
-
respond({ ack: msg.id, data: data });
|
|
333
|
-
},
|
|
334
|
-
emit: (data) => {
|
|
335
|
-
if (!this.requests[clientId][msg.id]) {
|
|
336
|
-
if (typeof reqCtx.end === 'function') {
|
|
337
|
-
reqCtx.end();
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
return respond({ sig: msg.id, data: data });
|
|
341
|
-
},
|
|
342
|
-
error: (data) => {
|
|
343
|
-
if (typeof reqCtx.end === 'function') {
|
|
344
|
-
reqCtx.end();
|
|
345
|
-
}
|
|
346
|
-
delete this.requests[clientId][msg.id];
|
|
347
|
-
respond({ err: msg.id, data: data });
|
|
348
|
-
},
|
|
349
|
-
close: (data) => {
|
|
350
|
-
if (typeof reqCtx.end === 'function') {
|
|
351
|
-
reqCtx.end();
|
|
352
|
-
}
|
|
353
|
-
delete this.requests[clientId][msg.id];
|
|
354
|
-
respond({ fin: msg.id });
|
|
355
|
-
}
|
|
356
|
-
}, context);
|
|
357
|
-
}
|
|
358
|
-
catch (e) {
|
|
359
|
-
console.log('Calling the method in RPC failed:', msg.op, msg.args, e.stack);
|
|
360
|
-
delete this.requests[clientId][msg.id];
|
|
361
|
-
respond({ err: msg.id, data: { msg: 'rpc failed during execution of ' + msg.op, code: 578 } });
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
}
|
|
365
|
-
/*
|
|
366
|
-
invoke(op: string, args: any[], stream: any, cb): void {
|
|
367
|
-
if(typeof stream === 'function') { cb = stream; stream = null; }
|
|
368
|
-
|
|
369
|
-
if( !Array.isArray(args) ) {
|
|
370
|
-
args = [args];
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
if (typeof cb !== 'function') {
|
|
374
|
-
throw new Error('RPC invoke requires callback function as third argument');
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
const msg: RequestMessage = {
|
|
378
|
-
op,
|
|
379
|
-
args,
|
|
380
|
-
stream,
|
|
381
|
-
id: ++this.invokeId
|
|
382
|
-
};
|
|
383
|
-
const context = {
|
|
384
|
-
clientType: 'invoke',
|
|
385
|
-
clientId: 'invokedViaRPCInvoke'
|
|
386
|
-
};
|
|
387
|
-
|
|
388
|
-
const response = (reply) => {
|
|
389
|
-
const ctx = { cancel: () => { this.parse({ end: msg.id }, () => { }, {}, 0); }, id: msg.id };
|
|
390
|
-
process.nextTick(() => {
|
|
391
|
-
cb.call(ctx, reply.err ? true : null, reply.data);
|
|
392
|
-
});
|
|
393
|
-
};
|
|
394
|
-
|
|
395
|
-
this.parse(msg, response, context, '__invoke');
|
|
396
|
-
}
|
|
397
|
-
*/
|
|
398
|
-
close(clientId) {
|
|
399
|
-
for (const i in this.requests[clientId]) {
|
|
400
|
-
if (typeof this.requests[clientId][i].end === 'function') {
|
|
401
|
-
this.requests[clientId][i].end();
|
|
402
|
-
}
|
|
403
|
-
delete this.requests[clientId][i];
|
|
404
|
-
}
|
|
405
|
-
delete this.requests[clientId];
|
|
406
|
-
}
|
|
407
|
-
open() {
|
|
408
|
-
const clientId = ++this.clientIdCounter;
|
|
409
|
-
this.requests[clientId] = {};
|
|
410
|
-
return clientId;
|
|
411
|
-
}
|
|
412
|
-
}
|
|
413
|
-
exports.Server = Server;
|
|
414
|
-
//# sourceMappingURL=rpc-server.js.map
|
package/dist/rpc-server.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rpc-server.js","sourceRoot":"","sources":["../src/rpc-server.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;;AAIH,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC;AAE1B,MAAa,MAAM;IAUf,YAAa,OAAmB;QATxB,YAAO,GAAG,EAAE,CAAA;QACZ,YAAO,GAAG,EAAE,CAAC;QACb,aAAQ,GAAe,EAAE,CAAC;QAC1B,oBAAe,GAAG,CAAC,CAAC;QAC5B,kCAAkC;QAC1B,cAAS,GAAG,CAAC,CAAC;QACtB,0CAA0C;QAClC,aAAQ,GAAG,CAAC,CAAC;QAGjB,IAAG,OAAO,EAAE;YACR,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;SAC/B;IACL,CAAC;IAED,OAAO;QACH,KAAI,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC1B,KAAI,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;gBAC7B,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,UAAU,EAAE;oBAC/C,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;iBAC7B;aACJ;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SAC3B;IACL,CAAC;IAED,aAAa,CAAC,CAAC;QACX,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,UAAU,CAAC,IAAY,EAAE,CAAY;QACjC,qCAAqC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAEtC,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE;YACf,IAAI,CAAC,KAAK,GAAG,EAAG;gBACZ,cAAc;aACjB;iBAAM,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE;gBAClC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE;oBACZ,2CAA2C;oBAE3C,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE;wBAC5B,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;wBAChC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,MAAM,GAAG,EAAE,CAAC;wBAElC,IAAI;4BACA,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;4BACvC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;4BAEjC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;4BAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC;4BAElD,yDAAyD;4BACzD,IAAG,QAAQ,EAAE;gCAAE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;6BAAE;4BAE5D,IAAI,GAAG,KAAK,KAAK,IAAI,QAAQ,KAAK,IAAI,EAAE;gCACpC,sDAAsD;gCACtD,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC;6BACzC;iCAAM,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,WAAW,EAAG;gCACpD,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;6BAC7C;4BAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAG;gCAAE,IAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAG,CAAC,CAAC,EAAE;oCAAE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iCAAE;6BAAE;4BAE3G,8BAA8B;yBACjC;wBAAC,OAAO,CAAC,EAAE;4BACR,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;yBAC9B;qBACJ;yBAAM,IAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;wBAChC,qBAAqB;wBACrB,wCAAwC;wBACxC,IAAI,CAAC,UAAU,CAAE,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBACtC;iBACJ;qBAAM;oBACH,6CAA6C;iBAChD;aACJ;SACJ;IACL,CAAC;IAED,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;QACzB,MAAM,MAAM,GAAG,EAAE,CAAC;QAElB,SAAS,IAAI,CAAC,CAAC,EAAE,MAAM;YACnB,MAAM,CAAC,GAAG,EAAE,CAAC;YACb,KAAI,MAAM,CAAC,IAAI,CAAC,EAAE;gBACd,IAAG,MAAM,CAAC,CAAC,CAAC,EAAE;oBAAE,SAAS;iBAAE;gBAC3B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aACf;YACD,OAAO,CAAC,CAAC;QACb,CAAC;QAED,MAAM,MAAM,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAElC,yBAAyB;QACzB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YAC1B,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;SAC7C;QACD,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrB,CAAC;IAED,aAAa,CAAC,QAAgB;QAC1B,KAAI,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACpC,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,UAAU,EAAE;gBACtD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;aACpC;YACD,0EAA0E;YAC1E,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;SACrC;IACL,CAAC;IAED,QAAQ;QACJ,KAAI,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC1B,KAAI,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;gBAC7B,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,UAAU,EAAE;oBAC/C,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;iBAC7B;gBACD,mEAAmE;gBACnE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC9B;SACJ;IACL,CAAC;IAED,KAAK,CAAC,GAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,QAAgB;QACzD,IAAG,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAC7B,sFAAsF;YACtF,OAAO;SACV;QAED,IAAI;YACA,IAAI,GAAG,CAAC,IAAI,EAAG;gBACX,IAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAC7D,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;iBACrF;gBACD,OAAO;aACV;YACD,IAAI,GAAG,CAAC,GAAG,EAAG;gBACV,IAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;oBAC5D,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;iBACpF;gBACD,OAAO;aACV;YACD,IAAI,GAAG,CAAC,GAAG,EAAG;gBACV,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC;gBACnB,wHAAwH;gBAExH,IAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE;oBACvD,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,UAAU,EAAE;wBACvD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;qBACrC;oBACD,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;oBACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;oBACnC,OAAO;iBACV;gBACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAG;oBAC/B,OAAO,CAAC,8GAA8G;iBACzH;gBACD,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,UAAU,EAAE;oBACvD,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;iBAC3B;gBACD,OAAO;aACV;YAED,IAAK,GAAG,CAAC,EAAE,KAAK,SAAS,EAAG;gBACxB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,UAAS,GAAG,EAAE,IAAI;oBAClD,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;gBACH,OAAO;aACV;YACD,IAAK,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,WAAW,EAAG;gBAC/C,oBAAoB;gBACpB,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,mBAAmB,GAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC/E,OAAO;aACV;YAED,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;SACnD;QAAC,OAAM,CAAC,EAAE;YACP,KAAK,CAAC,gCAAgC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YAC5D,IAAI;gBACA,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBACzC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,GAAC,GAAG,CAAC,EAAE,GAAC,IAAI,GAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;aAC5G;YAAC,OAAM,CAAC,EAAE;gBACP,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;aAC/D;SACJ;IACL,CAAC;IAED,IAAI,CAAC,EAAU,EAAE,IAAI;QACjB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;YAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBACvB,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;oBACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;wBACrC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;wBAC3C,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;qBAC3B;iBACJ;aACJ;SACJ;IACL,CAAC;IAED,SAAS,CAAC,GAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ;QACrD,EAAE,IAAI,CAAC,SAAS,CAAC;QAEjB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;SAChF;QAED,IAAG,GAAG,CAAC,IAAI,EAAE;YACT,uDAAuD;YACvD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAE9C,sCAAsC;YAEtC,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE;gBACnB,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;gBACtC,OAAO;aACV;YAED,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEnB,OAAO;SACV;QAED,IAAG,GAAG,CAAC,GAAG,EAAE;YACR,uDAAuD;YACvD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAE7C,yBAAyB;YACzB,IAAI;gBACA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAChC,GAAG,CAAC,IAAI,EACR;oBACI,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;wBACX,IAAG,OAAO,GAAG,CAAC,GAAG,KAAK,UAAU,EAAE;4BAAE,GAAG,CAAC,GAAG,EAAE,CAAC;yBAAE;wBAChD,IAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;4BACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;yBAC3C;wBACD,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC1C,CAAC;oBACD,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;wBACX,IAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;4BAClC,IAAG,OAAO,GAAG,CAAC,GAAG,KAAK,UAAU,EAAE;gCAAE,GAAG,CAAC,GAAG,EAAE,CAAC;6BAAE;yBACnD;wBACD,OAAO,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBACjD,CAAC;oBACD,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;wBACZ,IAAG,OAAO,GAAG,CAAC,GAAG,KAAK,UAAU,EAAE;4BAAE,GAAG,CAAC,GAAG,EAAE,CAAC;yBAAE;wBAChD,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBACxC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC1C,CAAC;oBACD,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;wBACZ,IAAG,OAAO,GAAG,CAAC,GAAG,KAAK,UAAU,EAAE;4BAAE,GAAG,CAAC,GAAG,EAAE,CAAC;yBAAE;wBAChD,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBACxC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC9B,CAAC;iBACJ,EACD,OAAO,CAAC,CAAC;aAChB;YAAC,OAAM,CAAC,EAAE;gBACP,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC5E,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,iCAAiC,GAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;aACjG;YAED,OAAO;SACV;QAED,IAAG,OAAO,GAAG,CAAC,EAAE,KAAK,WAAW,EAAE;YAC9B,mBAAmB;YACnB,MAAM,MAAM,GAAG,EACd,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CACrB,MAAM,EACN,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,EAClB;gBACI,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,oCAAoC,GAAC,GAAG,CAAC,EAAE,GAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBAClF,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,oCAAoC,GAAC,GAAG,CAAC,EAAE,GAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBAClF,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,yCAAyC,GAAC,GAAG,CAAC,EAAE,GAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBACxF,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,yBAAyB,GAAC,GAAG,CAAC,EAAE,GAAC,cAAc,CAAC,CAAC,CAAC,CAAC;aAC3E,EACD,OAAO,CAAC,CAAC;SAChB;aAAM;YACH,gCAAgC;YAChC,MAAM,MAAM,GAAG;gBACX,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO;gBACP,GAAG,EAAE,IAAI;gBACT,IAAI,EAAE,OAAO;aAChB,CAAC;YAEF,IAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;aAAE;YAC9D,IAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAChC,OAAO,CAAC,GAAG,CACP,wHAAwH,EACxH,QAAQ,EACR,KAAK,EAAE,GAAG,EACV,cAAc,EAAE,IAAI,KAAK,EAAE,CAAC,KAAK,CACpC,CAAC;gBAEF,IAAG,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,UAAU,EAAE;oBAC1D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;iBACzC;gBACD,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;aACrE;YACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;YAEzC,yBAAyB;YACzB,IAAI;gBACA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CACrB,MAAM,EACN,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,EAClB;oBACI,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;wBACX,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,UAAU,EAAE;4BAAE,MAAM,CAAC,GAAG,EAAE,CAAC;yBAAE;wBACvD,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;4BACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;yBAC1C;wBACD,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBACzC,CAAC;oBACD,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;wBACX,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;4BAClC,IAAG,OAAO,MAAM,CAAC,GAAG,KAAK,UAAU,EAAE;gCAAE,MAAM,CAAC,GAAG,EAAE,CAAC;6BAAE;yBACzD;wBACD,OAAO,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBAChD,CAAC;oBACD,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;wBACZ,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,UAAU,EAAE;4BAAE,MAAM,CAAC,GAAG,EAAE,CAAC;yBAAE;wBACvD,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBACvC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBACzC,CAAC;oBACD,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;wBACZ,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,UAAU,EAAE;4BAAE,MAAM,CAAC,GAAG,EAAE,CAAC;yBAAE;wBACvD,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBACvC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC7B,CAAC;iBACJ,EACD,OAAO,CAAC,CAAC;aAChB;YAAC,OAAM,CAAC,EAAE;gBACP,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC5E,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACvC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,iCAAiC,GAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;aAChG;SACJ;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAgCE;IAEF,KAAK,CAAC,QAAgB;QAClB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACrC,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,UAAU,EAAE;gBACtD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;aACpC;YAED,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;SACrC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,IAAI;QACA,MAAM,QAAQ,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QAC7B,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ;AAjZD,wBAiZC"}
|