cry-ebus2 3.1.11 → 3.1.13
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/package.json +2 -2
- package/dist/EbusClientEvents.d.ts +0 -5
- package/dist/EbusClientEvents.d.ts.map +0 -1
- package/dist/EbusClientEvents.js +0 -2
- package/dist/EbusClientEvents.js.map +0 -1
- package/dist/EbusConfiguration.d.ts +0 -17
- package/dist/EbusConfiguration.d.ts.map +0 -1
- package/dist/EbusConfiguration.js +0 -2
- package/dist/EbusConfiguration.js.map +0 -1
- package/dist/EbusReject.d.ts +0 -11
- package/dist/EbusReject.d.ts.map +0 -1
- package/dist/EbusReject.js +0 -12
- package/dist/EbusReject.js.map +0 -1
- package/dist/EbusRejectReason.d.ts +0 -2
- package/dist/EbusRejectReason.d.ts.map +0 -1
- package/dist/EbusRejectReason.js +0 -2
- package/dist/EbusRejectReason.js.map +0 -1
- package/dist/EbusRequestOptions.d.ts +0 -8
- package/dist/EbusRequestOptions.d.ts.map +0 -1
- package/dist/EbusRequestOptions.js +0 -2
- package/dist/EbusRequestOptions.js.map +0 -1
- package/dist/EbusUnpackedResult.d.ts +0 -10
- package/dist/EbusUnpackedResult.d.ts.map +0 -1
- package/dist/EbusUnpackedResult.js +0 -19
- package/dist/EbusUnpackedResult.js.map +0 -1
- package/dist/block.d.ts +0 -2
- package/dist/block.d.ts.map +0 -1
- package/dist/block.js +0 -6
- package/dist/block.js.map +0 -1
- package/dist/broker.d.ts +0 -42
- package/dist/broker.d.ts.map +0 -1
- package/dist/broker.js +0 -288
- package/dist/broker.js.map +0 -1
- package/dist/client.d.ts +0 -2
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -2
- package/dist/client.js.map +0 -1
- package/dist/clientBlocking.d.ts +0 -27
- package/dist/clientBlocking.d.ts.map +0 -1
- package/dist/clientBlocking.js +0 -173
- package/dist/clientBlocking.js.map +0 -1
- package/dist/clientNonBlocking.d.ts +0 -46
- package/dist/clientNonBlocking.d.ts.map +0 -1
- package/dist/clientNonBlocking.js +0 -257
- package/dist/clientNonBlocking.js.map +0 -1
- package/dist/consts.d.ts +0 -3
- package/dist/consts.d.ts.map +0 -1
- package/dist/consts.js +0 -17
- package/dist/consts.js.map +0 -1
- package/dist/deferredPromise.d.ts +0 -36
- package/dist/deferredPromise.d.ts.map +0 -1
- package/dist/deferredPromise.js +0 -56
- package/dist/deferredPromise.js.map +0 -1
- package/dist/delayWorker.d.ts +0 -10
- package/dist/delayWorker.d.ts.map +0 -1
- package/dist/delayWorker.js +0 -17
- package/dist/delayWorker.js.map +0 -1
- package/dist/echoWorker.d.ts +0 -6
- package/dist/echoWorker.d.ts.map +0 -1
- package/dist/echoWorker.js +0 -15
- package/dist/echoWorker.js.map +0 -1
- package/dist/errorWorker.d.ts +0 -11
- package/dist/errorWorker.d.ts.map +0 -1
- package/dist/errorWorker.js +0 -14
- package/dist/errorWorker.js.map +0 -1
- package/dist/index.d.ts +0 -19
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -16
- package/dist/index.js.map +0 -1
- package/dist/loadConfiguration.d.ts +0 -3
- package/dist/loadConfiguration.d.ts.map +0 -1
- package/dist/loadConfiguration.js +0 -9
- package/dist/loadConfiguration.js.map +0 -1
- package/dist/pub.d.ts +0 -11
- package/dist/pub.d.ts.map +0 -1
- package/dist/pub.js +0 -22
- package/dist/pub.js.map +0 -1
- package/dist/rejectWorker.d.ts +0 -11
- package/dist/rejectWorker.d.ts.map +0 -1
- package/dist/rejectWorker.js +0 -14
- package/dist/rejectWorker.js.map +0 -1
- package/dist/run/all.d.ts +0 -2
- package/dist/run/all.d.ts.map +0 -1
- package/dist/run/all.js +0 -13
- package/dist/run/all.js.map +0 -1
- package/dist/run/broker.d.mts +0 -2
- package/dist/run/broker.d.mts.map +0 -1
- package/dist/run/broker.mjs +0 -5
- package/dist/run/broker.mjs.map +0 -1
- package/dist/run/call.d.ts +0 -2
- package/dist/run/call.d.ts.map +0 -1
- package/dist/run/call.js +0 -76
- package/dist/run/call.js.map +0 -1
- package/dist/run/calling.d.ts +0 -2
- package/dist/run/calling.d.ts.map +0 -1
- package/dist/run/calling.js +0 -94
- package/dist/run/calling.js.map +0 -1
- package/dist/run/callingBurst.d.ts +0 -2
- package/dist/run/callingBurst.d.ts.map +0 -1
- package/dist/run/callingBurst.js +0 -41
- package/dist/run/callingBurst.js.map +0 -1
- package/dist/run/delay.d.mts +0 -2
- package/dist/run/delay.d.mts.map +0 -1
- package/dist/run/delay.mjs +0 -5
- package/dist/run/delay.mjs.map +0 -1
- package/dist/run/echo.d.mts +0 -2
- package/dist/run/echo.d.mts.map +0 -1
- package/dist/run/echo.mjs +0 -5
- package/dist/run/echo.mjs.map +0 -1
- package/dist/run/error.d.mts +0 -2
- package/dist/run/error.d.mts.map +0 -1
- package/dist/run/error.mjs +0 -5
- package/dist/run/error.mjs.map +0 -1
- package/dist/run/ping.d.mts +0 -2
- package/dist/run/ping.d.mts.map +0 -1
- package/dist/run/ping.mjs +0 -69
- package/dist/run/ping.mjs.map +0 -1
- package/dist/run/pub.d.ts +0 -2
- package/dist/run/pub.d.ts.map +0 -1
- package/dist/run/pub.js +0 -28
- package/dist/run/pub.js.map +0 -1
- package/dist/run/reject.d.ts +0 -2
- package/dist/run/reject.d.ts.map +0 -1
- package/dist/run/reject.js +0 -5
- package/dist/run/reject.js.map +0 -1
- package/dist/run/sub.d.ts +0 -2
- package/dist/run/sub.d.ts.map +0 -1
- package/dist/run/sub.js +0 -88
- package/dist/run/sub.js.map +0 -1
- package/dist/run/termimalCommands.d.ts +0 -33
- package/dist/run/termimalCommands.d.ts.map +0 -1
- package/dist/run/termimalCommands.js +0 -33
- package/dist/run/termimalCommands.js.map +0 -1
- package/dist/run/workers.d.ts +0 -2
- package/dist/run/workers.d.ts.map +0 -1
- package/dist/run/workers.js +0 -36
- package/dist/run/workers.js.map +0 -1
- package/dist/serialize.d.ts +0 -4
- package/dist/serialize.d.ts.map +0 -1
- package/dist/serialize.js +0 -26
- package/dist/serialize.js.map +0 -1
- package/dist/service.d.ts +0 -23
- package/dist/service.d.ts.map +0 -1
- package/dist/service.js +0 -108
- package/dist/service.js.map +0 -1
- package/dist/sleep.d.ts +0 -2
- package/dist/sleep.d.ts.map +0 -1
- package/dist/sleep.js +0 -6
- package/dist/sleep.js.map +0 -1
- package/dist/sub.d.ts +0 -24
- package/dist/sub.d.ts.map +0 -1
- package/dist/sub.js +0 -68
- package/dist/sub.js.map +0 -1
- package/dist/test/config.d.ts +0 -2
- package/dist/test/config.d.ts.map +0 -1
- package/dist/test/config.js +0 -23
- package/dist/test/config.js.map +0 -1
- package/dist/test/echo.d.ts +0 -2
- package/dist/test/echo.d.ts.map +0 -1
- package/dist/test/echo.js +0 -54
- package/dist/test/echo.js.map +0 -1
- package/dist/test/index.d.ts +0 -2
- package/dist/test/index.d.ts.map +0 -1
- package/dist/test/index.js +0 -47
- package/dist/test/index.js.map +0 -1
- package/dist/test/pack.d.ts +0 -2
- package/dist/test/pack.d.ts.map +0 -1
- package/dist/test/pack.js +0 -1444
- package/dist/test/pack.js.map +0 -1
- package/dist/test/performance.d.ts +0 -2
- package/dist/test/performance.d.ts.map +0 -1
- package/dist/test/performance.js +0 -44
- package/dist/test/performance.js.map +0 -1
- package/dist/test/pub.d.ts +0 -2
- package/dist/test/pub.d.ts.map +0 -1
- package/dist/test/pub.js +0 -57
- package/dist/test/pub.js.map +0 -1
- package/dist/test/pub2.d.ts +0 -2
- package/dist/test/pub2.d.ts.map +0 -1
- package/dist/test/pub2.js +0 -23
- package/dist/test/pub2.js.map +0 -1
- package/dist/test/reject.d.ts +0 -2
- package/dist/test/reject.d.ts.map +0 -1
- package/dist/test/reject.js +0 -33
- package/dist/test/reject.js.map +0 -1
- package/dist/test/services.d.ts +0 -2
- package/dist/test/services.d.ts.map +0 -1
- package/dist/test/services.js +0 -44
- package/dist/test/services.js.map +0 -1
- package/dist/test/stress.d.ts +0 -2
- package/dist/test/stress.d.ts.map +0 -1
- package/dist/test/stress.js +0 -26
- package/dist/test/stress.js.map +0 -1
- package/dist/test/timing.d.ts +0 -2
- package/dist/test/timing.d.ts.map +0 -1
- package/dist/test/timing.js +0 -68
- package/dist/test/timing.js.map +0 -1
- package/dist/types.d.ts +0 -23
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -25
- package/dist/types.js.map +0 -1
- package/dist/worker.d.ts +0 -27
- package/dist/worker.d.ts.map +0 -1
- package/dist/worker.js +0 -219
- package/dist/worker.js.map +0 -1
package/dist/clientBlocking.js
DELETED
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
1;
|
|
2
|
-
import { Log, serialize } from "cry-helpers";
|
|
3
|
-
import { Request } from "zeromq";
|
|
4
|
-
import { loadConfiguration } from "./loadConfiguration.js";
|
|
5
|
-
import { Header, Message } from "./types.js";
|
|
6
|
-
import { pack, unpack } from "./serialize.js";
|
|
7
|
-
import { EbusRejectError } from "./EbusReject.js";
|
|
8
|
-
import { EbusUnpackedResult } from "./EbusUnpackedResult.js";
|
|
9
|
-
import { TypedEmitter } from "tiny-typed-emitter";
|
|
10
|
-
const prefixes = ["EBUS_CLIENT", "EBUS"];
|
|
11
|
-
let log = new Log(prefixes);
|
|
12
|
-
/**
|
|
13
|
-
* ebus client, works one request at the time
|
|
14
|
-
* if broker is offline, each request is blocked until timeout runs out
|
|
15
|
-
*/
|
|
16
|
-
export class ClientBlocking extends TypedEmitter {
|
|
17
|
-
constructor(config = {}) {
|
|
18
|
-
super();
|
|
19
|
-
this.configuration = loadConfiguration(prefixes, config);
|
|
20
|
-
if (this.configuration.clientChecksBrokerWithHeartbeat)
|
|
21
|
-
this.startHeartbeat();
|
|
22
|
-
this.ebusOnline = false;
|
|
23
|
-
this.requestId = 0;
|
|
24
|
-
}
|
|
25
|
-
online() {
|
|
26
|
-
return this.ebusOnline;
|
|
27
|
-
}
|
|
28
|
-
async publish(channel, message) {
|
|
29
|
-
let receiveTimeout = this.configuration.receiveTimeout;
|
|
30
|
-
let socket = new Request({ receiveTimeout });
|
|
31
|
-
await socket.connect(this.configuration.address);
|
|
32
|
-
await socket.send([Header.Client, Message.Publish, channel, pack(message, {})]);
|
|
33
|
-
try {
|
|
34
|
-
if (!socket.closed)
|
|
35
|
-
socket.close();
|
|
36
|
-
}
|
|
37
|
-
catch ( /* intentional */_a) { /* intentional */ }
|
|
38
|
-
}
|
|
39
|
-
async services() {
|
|
40
|
-
let receiveTimeout = this.configuration.receiveTimeout;
|
|
41
|
-
let socket = new Request({ receiveTimeout });
|
|
42
|
-
await socket.connect(this.configuration.address);
|
|
43
|
-
await socket.send([Header.Client, Message.Services]);
|
|
44
|
-
log.debug(`ebus client requested services with receiveTimeout ${receiveTimeout}`);
|
|
45
|
-
const [blank, header, services] = await socket.receive();
|
|
46
|
-
try {
|
|
47
|
-
if (!socket.closed)
|
|
48
|
-
socket.close();
|
|
49
|
-
}
|
|
50
|
-
catch ( /* intentional */_a) { /* intentional */ }
|
|
51
|
-
return serialize.unpack(services);
|
|
52
|
-
}
|
|
53
|
-
async subscribe(channel, message) {
|
|
54
|
-
let receiveTimeout = this.configuration.receiveTimeout;
|
|
55
|
-
let socket = new Request({ receiveTimeout });
|
|
56
|
-
await socket.connect(this.configuration.address);
|
|
57
|
-
await socket.send([Header.Client, Message.Services]);
|
|
58
|
-
log.debug(`ebus client requested services with receiveTimeout ${receiveTimeout}`);
|
|
59
|
-
const [blank, header, services] = await socket.receive();
|
|
60
|
-
try {
|
|
61
|
-
if (!socket.closed)
|
|
62
|
-
socket.close();
|
|
63
|
-
}
|
|
64
|
-
catch ( /* intentional */_a) { /* intentional */ }
|
|
65
|
-
return serialize.unpack(services);
|
|
66
|
-
}
|
|
67
|
-
async workers() {
|
|
68
|
-
let receiveTimeout = this.configuration.receiveTimeout;
|
|
69
|
-
let socket = new Request({ receiveTimeout });
|
|
70
|
-
await socket.connect(this.configuration.address);
|
|
71
|
-
await socket.send([Header.Client, Message.Workers]);
|
|
72
|
-
log.debug(`ebus client requested workers with receiveTimeout ${receiveTimeout}`);
|
|
73
|
-
const [blank, header, workers] = await socket.receive();
|
|
74
|
-
try {
|
|
75
|
-
if (!socket.closed)
|
|
76
|
-
socket.close();
|
|
77
|
-
}
|
|
78
|
-
catch ( /* intentional */_a) { /* intentional */ }
|
|
79
|
-
return serialize.unpack(workers);
|
|
80
|
-
}
|
|
81
|
-
async request(service, req, reqOpts = {}) {
|
|
82
|
-
let { data, opts, type } = await this._request(service, req, reqOpts);
|
|
83
|
-
switch (type && type.toString()) {
|
|
84
|
-
case Message.Timeout:
|
|
85
|
-
case Message.Reject:
|
|
86
|
-
case Message.Error:
|
|
87
|
-
this.lastError = unpack(data, opts);
|
|
88
|
-
return undefined;
|
|
89
|
-
case Message.Reply:
|
|
90
|
-
return unpack(data, opts);
|
|
91
|
-
}
|
|
92
|
-
return undefined;
|
|
93
|
-
}
|
|
94
|
-
async requestUpacked(service, req, reqOpts) {
|
|
95
|
-
let { data, opts, type } = await this._request(service, req, reqOpts);
|
|
96
|
-
return new EbusUnpackedResult(data, opts, type);
|
|
97
|
-
}
|
|
98
|
-
async _request(service, req, opts) {
|
|
99
|
-
let receiveTimeout = opts.receiveTimeout || this.configuration.receiveTimeout;
|
|
100
|
-
let socket = new Request({ receiveTimeout });
|
|
101
|
-
await socket.connect(this.configuration.address);
|
|
102
|
-
log.debug(`ebus client requesting '${req}' from '${service}' with reqId ${this.requestId + 1}, receiveTimeout ${receiveTimeout}`);
|
|
103
|
-
await socket.send([Header.Client, Message.Request, service, ++this.requestId, serialize.pack(opts), pack(req, opts)]);
|
|
104
|
-
try {
|
|
105
|
-
const [blank, type, returnRequestId, optsBuff, res] = await socket.receive();
|
|
106
|
-
log.debug(`ebus client received response for reqId ${returnRequestId} of `, type);
|
|
107
|
-
try {
|
|
108
|
-
if (!socket.closed)
|
|
109
|
-
socket.close();
|
|
110
|
-
}
|
|
111
|
-
catch ( /* intentional */_a) { /* intentional */ }
|
|
112
|
-
let opts = serialize.unpack(optsBuff);
|
|
113
|
-
return { data: res, opts, type };
|
|
114
|
-
}
|
|
115
|
-
catch (err) {
|
|
116
|
-
log.warn(`request expired at client waiting for '${service}' after ${receiveTimeout} ms`);
|
|
117
|
-
this.lastError = new EbusRejectError("timeout", `timeout in client requesting '${service}' after ${receiveTimeout} ms`);
|
|
118
|
-
}
|
|
119
|
-
try {
|
|
120
|
-
if (!socket.closed)
|
|
121
|
-
socket.close();
|
|
122
|
-
}
|
|
123
|
-
catch ( /* intentional */_b) { /* intentional */ }
|
|
124
|
-
return { data: undefined, opts: {}, type: Buffer.from([0]) };
|
|
125
|
-
}
|
|
126
|
-
startHeartbeat() {
|
|
127
|
-
let receiveTimeout = this.configuration.heartbeatTimeout;
|
|
128
|
-
let socket;
|
|
129
|
-
setInterval(async () => {
|
|
130
|
-
try {
|
|
131
|
-
if (!socket) {
|
|
132
|
-
log.status("client connected new heartbeat socket");
|
|
133
|
-
socket = new Request({ receiveTimeout });
|
|
134
|
-
await socket.connect(this.configuration.address);
|
|
135
|
-
}
|
|
136
|
-
try {
|
|
137
|
-
await socket.send([Header.Client, Message.Heartbeat]);
|
|
138
|
-
await socket.receive();
|
|
139
|
-
if (!this.ebusOnline) {
|
|
140
|
-
this.ebusOnline = true;
|
|
141
|
-
log.status("client noted ebus/start");
|
|
142
|
-
this.emit("ebus/start");
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
catch (err) {
|
|
146
|
-
if (this.ebusOnline) {
|
|
147
|
-
this.ebusOnline = false;
|
|
148
|
-
log.status("client noted ebus/stop");
|
|
149
|
-
this.emit("ebus/stop");
|
|
150
|
-
}
|
|
151
|
-
try {
|
|
152
|
-
if (socket && !socket.closed)
|
|
153
|
-
socket.close();
|
|
154
|
-
}
|
|
155
|
-
catch ( /* intentional */_a) { /* intentional */ }
|
|
156
|
-
socket = undefined;
|
|
157
|
-
}
|
|
158
|
-
//try { if (!socket.closed) socket.close() } catch { /* intentional */ }
|
|
159
|
-
}
|
|
160
|
-
catch (err) {
|
|
161
|
-
log.error("client heartbeat error");
|
|
162
|
-
log.error(err);
|
|
163
|
-
try {
|
|
164
|
-
if (socket && !socket.closed)
|
|
165
|
-
socket.close();
|
|
166
|
-
}
|
|
167
|
-
catch ( /* intentional */_b) { /* intentional */ }
|
|
168
|
-
socket = undefined;
|
|
169
|
-
}
|
|
170
|
-
}, this.configuration.heartbeatInterval);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
//# sourceMappingURL=clientBlocking.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"clientBlocking.js","sourceRoot":"","sources":["../src/clientBlocking.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { Request } from "zeromq";
|
|
2
|
-
import { EbusConfiguration } from "./EbusConfiguration.js";
|
|
3
|
-
import { EbusRequestOptions } from "./EbusRequestOptions.js";
|
|
4
|
-
import { EbusRejectError } from "./EbusReject.js";
|
|
5
|
-
import { EbusUnpackedResult } from "./EbusUnpackedResult.js";
|
|
6
|
-
import { EbusClientEvents } from "./EbusClientEvents.js";
|
|
7
|
-
import DeferredPromise from "./deferredPromise.js";
|
|
8
|
-
import { TypedEmitter } from 'tiny-typed-emitter';
|
|
9
|
-
declare class RequestPromise extends DeferredPromise<any> {
|
|
10
|
-
requestId: number;
|
|
11
|
-
constructor(requestId: number);
|
|
12
|
-
}
|
|
13
|
-
export declare class ClientNonBlocking extends TypedEmitter<EbusClientEvents> {
|
|
14
|
-
configuration: EbusConfiguration;
|
|
15
|
-
private _lastError?;
|
|
16
|
-
get lastError(): EbusRejectError | undefined;
|
|
17
|
-
set lastError(value: EbusRejectError | undefined);
|
|
18
|
-
ebusOnline: boolean;
|
|
19
|
-
requestId: number;
|
|
20
|
-
requests: Map<number, [promise: RequestPromise, until: number, requestId: number, service: string, socked: Request | undefined]>;
|
|
21
|
-
constructor(config?: Partial<EbusConfiguration>);
|
|
22
|
-
publish(channel: string, message: any): Promise<void>;
|
|
23
|
-
services(): Promise<any>;
|
|
24
|
-
restartAllWorkers(whom: string): Promise<void>;
|
|
25
|
-
workers(): Promise<any>;
|
|
26
|
-
/**
|
|
27
|
-
* @deprecated since version 2.0
|
|
28
|
-
* @param service
|
|
29
|
-
* @param req
|
|
30
|
-
* @param rid - not used
|
|
31
|
-
* @param receiveTimeout
|
|
32
|
-
*/
|
|
33
|
-
requestPromise(service: string, req: any, rid: string, receiveTimeout: number): Promise<{
|
|
34
|
-
data: any;
|
|
35
|
-
rid: string;
|
|
36
|
-
}>;
|
|
37
|
-
request<T>(service: string, req: any, reqOpts?: Partial<EbusRequestOptions>): Promise<T | undefined>;
|
|
38
|
-
requestUpacked<T>(service: string, req: any, reqOpts: Partial<EbusRequestOptions>): Promise<EbusUnpackedResult<T> | undefined>;
|
|
39
|
-
private transformPackedRequestResult;
|
|
40
|
-
private transformUnpackedRequestResult;
|
|
41
|
-
private _request;
|
|
42
|
-
private deleteRequestsThatWereTimeouted;
|
|
43
|
-
private startHeartbeat;
|
|
44
|
-
}
|
|
45
|
-
export {};
|
|
46
|
-
//# sourceMappingURL=clientNonBlocking.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"clientNonBlocking.d.ts","sourceRoot":"","sources":["../src/clientNonBlocking.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAI5D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAQlD,cAAM,cAAe,SAAQ,eAAe,CAAC,GAAG,CAAC;IAC7C,SAAS,EAAE,MAAM,CAAA;gBACL,SAAS,EAAE,MAAM;CAIhC;AAED,qBAAa,iBAAkB,SAAQ,YAAY,CAAC,gBAAgB,CAAC;IAEjE,aAAa,EAAE,iBAAiB,CAAA;IAChC,OAAO,CAAC,UAAU,CAAC,CAA6B;IAChD,IAAW,SAAS,IAAI,eAAe,GAAG,SAAS,CAElD;IACD,IAAW,SAAS,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,EAEtD;IACD,UAAU,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAC,SAAS,CAAC,CAAC,CAAA;gBAElH,MAAM,GAAE,OAAO,CAAC,iBAAiB,CAAM;IAS7C,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IASrC,QAAQ;IAWR,iBAAiB,CAAC,IAAI,EAAC,MAAM;IAQ7B,OAAO;IAYb;;;;;;OAMG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;;;;IAM7E,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAC/E,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAYtB,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACnF,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAY9C,OAAO,CAAC,4BAA4B;IAmBpC,OAAO,CAAC,8BAA8B;YAMxB,QAAQ;IAqEtB,OAAO,CAAC,+BAA+B;IAmBvC,OAAO,CAAC,cAAc;CAyCzB"}
|
|
@@ -1,257 +0,0 @@
|
|
|
1
|
-
import { Log, serialize } from "cry-helpers";
|
|
2
|
-
import { Request } from "zeromq";
|
|
3
|
-
import { loadConfiguration } from "./loadConfiguration.js";
|
|
4
|
-
import { Header, Message } from "./types.js";
|
|
5
|
-
import { pack, unpack } from "./serialize.js";
|
|
6
|
-
import { EbusRejectError } from "./EbusReject.js";
|
|
7
|
-
import { EbusUnpackedResult } from "./EbusUnpackedResult.js";
|
|
8
|
-
import DeferredPromise from "./deferredPromise.js";
|
|
9
|
-
import { TypedEmitter } from 'tiny-typed-emitter';
|
|
10
|
-
const prefixes = ["EBUS_CLIENT", "EBUS"];
|
|
11
|
-
let log = new Log(prefixes);
|
|
12
|
-
class RequestPromise extends DeferredPromise {
|
|
13
|
-
constructor(requestId) {
|
|
14
|
-
super();
|
|
15
|
-
this.requestId = requestId;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
export class ClientNonBlocking extends TypedEmitter {
|
|
19
|
-
constructor(config = {}) {
|
|
20
|
-
super();
|
|
21
|
-
this.configuration = loadConfiguration(prefixes, config);
|
|
22
|
-
if (this.configuration.clientChecksBrokerWithHeartbeat)
|
|
23
|
-
this.startHeartbeat();
|
|
24
|
-
this.ebusOnline = false;
|
|
25
|
-
this.requestId = 0;
|
|
26
|
-
this.requests = new Map();
|
|
27
|
-
}
|
|
28
|
-
get lastError() {
|
|
29
|
-
return this._lastError;
|
|
30
|
-
}
|
|
31
|
-
set lastError(value) {
|
|
32
|
-
this._lastError = value;
|
|
33
|
-
}
|
|
34
|
-
async publish(channel, message) {
|
|
35
|
-
let receiveTimeout = this.configuration.receiveTimeout;
|
|
36
|
-
let socket = new Request({ receiveTimeout });
|
|
37
|
-
await socket.connect(this.configuration.address);
|
|
38
|
-
await socket.send([Header.Client, Message.Publish, channel, pack(message, {})]);
|
|
39
|
-
log.debug(`ebus client published on '${channel}'`, message);
|
|
40
|
-
try {
|
|
41
|
-
if (!socket.closed)
|
|
42
|
-
socket.close();
|
|
43
|
-
}
|
|
44
|
-
catch ( /* intentional */_a) { /* intentional */ }
|
|
45
|
-
}
|
|
46
|
-
async services() {
|
|
47
|
-
let receiveTimeout = this.configuration.receiveTimeout;
|
|
48
|
-
let socket = new Request({ receiveTimeout });
|
|
49
|
-
await socket.connect(this.configuration.address);
|
|
50
|
-
await socket.send([Header.Client, Message.Services]);
|
|
51
|
-
log.debug(`ebus client requested services with receiveTimeout ${receiveTimeout}`);
|
|
52
|
-
const [blank, header, services] = await socket.receive();
|
|
53
|
-
try {
|
|
54
|
-
if (!socket.closed)
|
|
55
|
-
socket.close();
|
|
56
|
-
}
|
|
57
|
-
catch ( /* intentional */_a) { /* intentional */ }
|
|
58
|
-
return serialize.unpack(services);
|
|
59
|
-
}
|
|
60
|
-
async restartAllWorkers(whom) {
|
|
61
|
-
let receiveTimeout = this.configuration.receiveTimeout;
|
|
62
|
-
let socket = new Request({ receiveTimeout });
|
|
63
|
-
await socket.connect(this.configuration.address);
|
|
64
|
-
await socket.send([Header.Client, Message.RestartAllWorkers, whom]);
|
|
65
|
-
log.debug(`ebus client requested restart ${whom} workers with receiveTimeout ${receiveTimeout}`);
|
|
66
|
-
}
|
|
67
|
-
async workers() {
|
|
68
|
-
let receiveTimeout = this.configuration.receiveTimeout;
|
|
69
|
-
let socket = new Request({ receiveTimeout });
|
|
70
|
-
await socket.connect(this.configuration.address);
|
|
71
|
-
await socket.send([Header.Client, Message.Workers]);
|
|
72
|
-
log.debug(`ebus client requested workers with receiveTimeout ${receiveTimeout}`);
|
|
73
|
-
const [blank, header, workers] = await socket.receive();
|
|
74
|
-
try {
|
|
75
|
-
if (!socket.closed)
|
|
76
|
-
socket.close();
|
|
77
|
-
}
|
|
78
|
-
catch ( /* intentional */_a) { /* intentional */ }
|
|
79
|
-
return serialize.unpack(workers);
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* @deprecated since version 2.0
|
|
83
|
-
* @param service
|
|
84
|
-
* @param req
|
|
85
|
-
* @param rid - not used
|
|
86
|
-
* @param receiveTimeout
|
|
87
|
-
*/
|
|
88
|
-
async requestPromise(service, req, rid, receiveTimeout) {
|
|
89
|
-
let data = await this.request(service, req, { receiveTimeout });
|
|
90
|
-
log.debug("ebusClient returns from requestPromise", { rid, data });
|
|
91
|
-
return { data, rid };
|
|
92
|
-
}
|
|
93
|
-
async request(service, req, reqOpts = {}) {
|
|
94
|
-
if (this.requests.size > this.configuration.requestQueueSizeLimit) {
|
|
95
|
-
this.lastError = new EbusRejectError("error", "too many waiting request at client");
|
|
96
|
-
return undefined;
|
|
97
|
-
}
|
|
98
|
-
let ret = this._request(service, req, reqOpts, this.transformPackedRequestResult);
|
|
99
|
-
log.debug("ebuClient returns from request", ret, "using opts", reqOpts);
|
|
100
|
-
return ret;
|
|
101
|
-
}
|
|
102
|
-
async requestUpacked(service, req, reqOpts) {
|
|
103
|
-
if (this.requests.size > this.configuration.requestQueueSizeLimit) {
|
|
104
|
-
this.lastError = new EbusRejectError("error", "too many waiting request at client");
|
|
105
|
-
return undefined;
|
|
106
|
-
}
|
|
107
|
-
let ret = this._request(service, req, reqOpts, this.transformUnpackedRequestResult);
|
|
108
|
-
log.debug("ebusClient return from requestUpacked", ret);
|
|
109
|
-
return ret;
|
|
110
|
-
}
|
|
111
|
-
transformPackedRequestResult({ data, opts, type }) {
|
|
112
|
-
switch (type && type.toString()) {
|
|
113
|
-
case Message.Timeout:
|
|
114
|
-
case Message.Reject:
|
|
115
|
-
case Message.Error:
|
|
116
|
-
this.lastError = unpack(data, opts) || this.lastError;
|
|
117
|
-
return undefined;
|
|
118
|
-
case Message.Reply:
|
|
119
|
-
return unpack(data, opts);
|
|
120
|
-
}
|
|
121
|
-
this.lastError =
|
|
122
|
-
new EbusRejectError("error", "error post-processing returned result", { data, opts, type });
|
|
123
|
-
return undefined;
|
|
124
|
-
}
|
|
125
|
-
transformUnpackedRequestResult({ data, opts, type }) {
|
|
126
|
-
return new EbusUnpackedResult(data, opts, type);
|
|
127
|
-
}
|
|
128
|
-
async _request(service, req, opts, processResult) {
|
|
129
|
-
this.lastError = undefined;
|
|
130
|
-
let receiveTimeout = opts.receiveTimeout || this.configuration.receiveTimeout;
|
|
131
|
-
let socket = new Request({ receiveTimeout });
|
|
132
|
-
await socket.connect(this.configuration.address);
|
|
133
|
-
let reqId = ++this.requestId;
|
|
134
|
-
let packedRequest = pack(req, opts);
|
|
135
|
-
delete opts.prepacked;
|
|
136
|
-
await socket.send([Header.Client, Message.Request, service, reqId.toString(), serialize.pack(opts), packedRequest]);
|
|
137
|
-
log.debug(`ebus client requesting '${req}' from '${service}' with reqId ${this.requestId + 1}, receiveTimeout ${receiveTimeout}`);
|
|
138
|
-
let promise = new RequestPromise(reqId);
|
|
139
|
-
this.requests.set(reqId, [promise, new Date().valueOf() + receiveTimeout, reqId, service, socket]);
|
|
140
|
-
try {
|
|
141
|
-
socket.receive()
|
|
142
|
-
.then(async ([blank, type, returnRequestId, optsBuff, res]) => {
|
|
143
|
-
log.debug(`ebus client received response for reqId ${returnRequestId} of `, type);
|
|
144
|
-
let opts = serialize.unpack(optsBuff);
|
|
145
|
-
let toReturn = { data: res, opts, type };
|
|
146
|
-
let newReqId = parseInt(returnRequestId.toString());
|
|
147
|
-
if (reqId !== newReqId) {
|
|
148
|
-
log.error(`client received reqId ${newReqId} instead of ${reqId}`);
|
|
149
|
-
}
|
|
150
|
-
let storedRequest = this.requests.get(newReqId);
|
|
151
|
-
if (!storedRequest) {
|
|
152
|
-
log.error(`client can't locate request with id ${newReqId}`);
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
this.requests.delete(newReqId);
|
|
156
|
-
storedRequest[0].resolve(processResult.bind(this)(toReturn));
|
|
157
|
-
}
|
|
158
|
-
})
|
|
159
|
-
.catch(err => {
|
|
160
|
-
if ((err === null || err === void 0 ? void 0 : err.errno) === 35) {
|
|
161
|
-
this.lastError = new EbusRejectError("timeout", `timeout in client requesting '${service}' after ${receiveTimeout} ms`);
|
|
162
|
-
log.debug(`request expired at client waiting for '${service}' after ${receiveTimeout} ms`, req);
|
|
163
|
-
let processed = processResult.bind(this)({ data: undefined, opts: {}, type: Buffer.from(Message.Timeout) });
|
|
164
|
-
promise.resolve(processed);
|
|
165
|
-
}
|
|
166
|
-
else {
|
|
167
|
-
this.lastError = new EbusRejectError("error", `error in client requesting '${service}' after ${receiveTimeout} ms`);
|
|
168
|
-
log.debug(`request errored at client waiting for '${service}' after ${receiveTimeout} ms`, req);
|
|
169
|
-
let processed = processResult.bind(this)({ data: undefined, opts: {}, type: Buffer.from(Message.Error) });
|
|
170
|
-
promise.resolve(processed);
|
|
171
|
-
}
|
|
172
|
-
this.requests.delete(reqId);
|
|
173
|
-
})
|
|
174
|
-
.finally(() => {
|
|
175
|
-
try {
|
|
176
|
-
if (!socket.closed)
|
|
177
|
-
socket.close();
|
|
178
|
-
}
|
|
179
|
-
catch ( /* intentional */_a) { /* intentional */ }
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
catch (err) {
|
|
183
|
-
log.error("client error that should have been caught");
|
|
184
|
-
log.error(err);
|
|
185
|
-
}
|
|
186
|
-
this.deleteRequestsThatWereTimeouted();
|
|
187
|
-
return promise;
|
|
188
|
-
}
|
|
189
|
-
deleteRequestsThatWereTimeouted() {
|
|
190
|
-
let now = new Date().valueOf();
|
|
191
|
-
for (let requestRecord of this.requests) {
|
|
192
|
-
if (requestRecord[1][1] <= now) {
|
|
193
|
-
this.lastError = new EbusRejectError("timeout", `timeout in client requesting '${requestRecord[1][3]}' during cleanup`);
|
|
194
|
-
log.error(`client timouted request id ${requestRecord[1][2]} for ${requestRecord[1][3]} that should have been removed from rejected promise after ${requestRecord[1][2]}} ms `);
|
|
195
|
-
this.requests.delete(requestRecord[0]);
|
|
196
|
-
let promise = requestRecord[1][0];
|
|
197
|
-
// close socked and remove refenece to it
|
|
198
|
-
if (requestRecord[1][4]) {
|
|
199
|
-
try {
|
|
200
|
-
if (!requestRecord[1][4].closed)
|
|
201
|
-
requestRecord[1][4].close();
|
|
202
|
-
}
|
|
203
|
-
catch ( /*intentional*/_a) { /*intentional*/ }
|
|
204
|
-
requestRecord[1][4] = undefined;
|
|
205
|
-
}
|
|
206
|
-
// resolve and return
|
|
207
|
-
promise.resolve({ data: undefined, opts: {}, type: Buffer.from([0]) });
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
startHeartbeat() {
|
|
212
|
-
let receiveTimeout = this.configuration.heartbeatTimeout;
|
|
213
|
-
let socket;
|
|
214
|
-
setInterval(async () => {
|
|
215
|
-
try {
|
|
216
|
-
if (!socket) {
|
|
217
|
-
log.status("client connected new heartbeat socket");
|
|
218
|
-
socket = new Request({ receiveTimeout });
|
|
219
|
-
await socket.connect(this.configuration.address);
|
|
220
|
-
}
|
|
221
|
-
try {
|
|
222
|
-
await socket.send([Header.Client, Message.Heartbeat]);
|
|
223
|
-
await socket.receive();
|
|
224
|
-
if (!this.ebusOnline) {
|
|
225
|
-
this.ebusOnline = true;
|
|
226
|
-
log.status("client noted ebus/start");
|
|
227
|
-
this.emit("ebus/start");
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
catch (err) {
|
|
231
|
-
if (this.ebusOnline) {
|
|
232
|
-
this.ebusOnline = false;
|
|
233
|
-
log.status("client noted ebus/stop");
|
|
234
|
-
this.emit("ebus/stop");
|
|
235
|
-
}
|
|
236
|
-
try {
|
|
237
|
-
if (socket && !socket.closed)
|
|
238
|
-
socket.close();
|
|
239
|
-
}
|
|
240
|
-
catch ( /* intentional */_a) { /* intentional */ }
|
|
241
|
-
socket = undefined;
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
catch (err) {
|
|
245
|
-
log.error("client heartbeat error");
|
|
246
|
-
log.error(err);
|
|
247
|
-
try {
|
|
248
|
-
if (socket && !socket.closed)
|
|
249
|
-
socket.close();
|
|
250
|
-
}
|
|
251
|
-
catch ( /* intentional */_b) { /* intentional */ }
|
|
252
|
-
socket = undefined;
|
|
253
|
-
}
|
|
254
|
-
}, this.configuration.heartbeatInterval);
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
//# sourceMappingURL=clientNonBlocking.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"clientNonBlocking.js","sourceRoot":"","sources":["../src/clientNonBlocking.ts"],"names":[],"mappings":"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"}
|
package/dist/consts.d.ts
DELETED
package/dist/consts.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,eAAO,MAAM,QAAQ,EAAE,iBAetB,CAAA"}
|
package/dist/consts.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export const defaults = {
|
|
2
|
-
sendHighWaterMark: 1,
|
|
3
|
-
sendTimeout: 1,
|
|
4
|
-
port: 5555,
|
|
5
|
-
pubPort: 5556,
|
|
6
|
-
server: 'tcp://127.0.0.1',
|
|
7
|
-
address: null,
|
|
8
|
-
pubAddress: null,
|
|
9
|
-
receiveTimeout: 2000,
|
|
10
|
-
heartbeatInterval: 400,
|
|
11
|
-
heartbeatTimeout: 10000,
|
|
12
|
-
brokerHeartbeatTimeout: 15000,
|
|
13
|
-
clientChecksBrokerWithHeartbeat: true,
|
|
14
|
-
brokerChecksWorkersWithHeartbeat: true,
|
|
15
|
-
requestQueueSizeLimit: 500,
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=consts.js.map
|
package/dist/consts.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAsB;IACvC,iBAAiB,EAAE,CAAC;IACpB,WAAW,EAAE,CAAC;IACd,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,iBAAiB;IACzB,OAAO,EAAE,IAAW;IACpB,UAAU,EAAE,IAAW;IACvB,cAAc,EAAE,IAAI;IACpB,iBAAiB,EAAE,GAAG;IACtB,gBAAgB,EAAE,KAAK;IACvB,sBAAsB,EAAE,KAAK;IAC7B,+BAA+B,EAAE,IAAI;IACrC,gCAAgC,EAAE,IAAI;IACtC,qBAAqB,EAAE,GAAG;CAC7B,CAAA"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A new instance of deferred is constructed by calling `new DeferredPromse<T>()`.
|
|
3
|
-
* The purpose of the deferred object is to expose the associated Promise
|
|
4
|
-
* instance APIs that can be used for signaling the successful
|
|
5
|
-
* or unsuccessful completion, as well as the state of the task.
|
|
6
|
-
* @export
|
|
7
|
-
* @class DeferredPromise
|
|
8
|
-
* @implements {Promise<T>}
|
|
9
|
-
* @template T
|
|
10
|
-
* @example
|
|
11
|
-
* const deferred = new DeferredPromse<string>();
|
|
12
|
-
* console.log(deferred.state); // 'pending'
|
|
13
|
-
*
|
|
14
|
-
* deferred
|
|
15
|
-
* .then(str => console.log(str))
|
|
16
|
-
* .catch(err => console.error(err));
|
|
17
|
-
*
|
|
18
|
-
* deferred.resolve('Foo');
|
|
19
|
-
* console.log(deferred.state); // 'fulfilled'
|
|
20
|
-
* // deferred.reject('Bar');
|
|
21
|
-
*/
|
|
22
|
-
export default class DeferredPromise<T> implements Promise<T> {
|
|
23
|
-
[Symbol.toStringTag]: 'Promise';
|
|
24
|
-
private _promise;
|
|
25
|
-
private _resolve;
|
|
26
|
-
private _reject;
|
|
27
|
-
private _state;
|
|
28
|
-
get state(): 'pending' | 'fulfilled' | 'rejected';
|
|
29
|
-
constructor();
|
|
30
|
-
finally(onfinally?: (() => void) | null): Promise<T>;
|
|
31
|
-
then<TResult1, TResult2>(onfulfilled?: (value: T) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>): Promise<TResult1 | TResult2>;
|
|
32
|
-
catch<TResult>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>): Promise<T | TResult>;
|
|
33
|
-
resolve(value?: T | PromiseLike<T>): void;
|
|
34
|
-
reject(reason?: any): void;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=deferredPromise.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deferredPromise.d.ts","sourceRoot":"","sources":["../src/deferredPromise.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe,CAAC,CAAC,CAAE,YAAW,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC;IAEhC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,QAAQ,CAAqD;IACrE,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,MAAM,CAAmD;IAEjE,IAAW,KAAK,IAAI,SAAS,GAAG,WAAW,GAAG,UAAU,CAEvD;;IASM,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;IAIpD,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAC1B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,EAC5D,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,GAC5D,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAI3B,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC;IAIlG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI;IAMzC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI;CAKpC"}
|
package/dist/deferredPromise.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A new instance of deferred is constructed by calling `new DeferredPromse<T>()`.
|
|
3
|
-
* The purpose of the deferred object is to expose the associated Promise
|
|
4
|
-
* instance APIs that can be used for signaling the successful
|
|
5
|
-
* or unsuccessful completion, as well as the state of the task.
|
|
6
|
-
* @export
|
|
7
|
-
* @class DeferredPromise
|
|
8
|
-
* @implements {Promise<T>}
|
|
9
|
-
* @template T
|
|
10
|
-
* @example
|
|
11
|
-
* const deferred = new DeferredPromse<string>();
|
|
12
|
-
* console.log(deferred.state); // 'pending'
|
|
13
|
-
*
|
|
14
|
-
* deferred
|
|
15
|
-
* .then(str => console.log(str))
|
|
16
|
-
* .catch(err => console.error(err));
|
|
17
|
-
*
|
|
18
|
-
* deferred.resolve('Foo');
|
|
19
|
-
* console.log(deferred.state); // 'fulfilled'
|
|
20
|
-
* // deferred.reject('Bar');
|
|
21
|
-
*/
|
|
22
|
-
export default class DeferredPromise {
|
|
23
|
-
constructor() {
|
|
24
|
-
this._state = 'pending';
|
|
25
|
-
this._promise = new Promise((resolve, reject) => {
|
|
26
|
-
this._resolve = resolve;
|
|
27
|
-
this._reject = reject;
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
get state() {
|
|
31
|
-
return this._state;
|
|
32
|
-
}
|
|
33
|
-
finally(onfinally) {
|
|
34
|
-
return this._promise.finally(onfinally);
|
|
35
|
-
}
|
|
36
|
-
then(onfulfilled, onrejected) {
|
|
37
|
-
return this._promise.then(onfulfilled, onrejected);
|
|
38
|
-
}
|
|
39
|
-
catch(onrejected) {
|
|
40
|
-
return this._promise.catch(onrejected);
|
|
41
|
-
}
|
|
42
|
-
resolve(value) {
|
|
43
|
-
if (this._resolve === undefined)
|
|
44
|
-
throw new Error("Promise.resolve is undefined");
|
|
45
|
-
this._resolve(value);
|
|
46
|
-
this._state = 'fulfilled';
|
|
47
|
-
}
|
|
48
|
-
reject(reason) {
|
|
49
|
-
if (this._reject === undefined)
|
|
50
|
-
throw new Error("Promise.resolve is undefined");
|
|
51
|
-
this._reject(reason);
|
|
52
|
-
this._state = 'rejected';
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
Symbol.toStringTag;
|
|
56
|
-
//# sourceMappingURL=deferredPromise.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deferredPromise.js","sourceRoot":"","sources":["../src/deferredPromise.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IAYhC;QANQ,WAAM,GAAyC,SAAS,CAAC;QAO7D,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC/C,IAAI,CAAC,QAAQ,GAAG,OAAc,CAAC;YAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IATD,IAAW,KAAK;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IASM,OAAO,CAAC,SAA+B;QAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAEM,IAAI,CACP,WAA4D,EAC5D,UAA8D;QAE9D,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC;IAEM,KAAK,CAAU,UAA4D;QAC9E,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAEM,OAAO,CAAC,KAA0B;QACrC,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAChF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;IAC9B,CAAC;IAEM,MAAM,CAAC,MAAY;QACtB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAC/E,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;IAC7B,CAAC;CACJ;AA5CI,MAAM,CAAC,WAAW"}
|