@3fv/electron-utility-process-manager 1.0.8 → 1.1.0
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/README.md +41 -3
- package/lib/cjs/common/clients.d.ts +23 -1
- package/lib/cjs/common/clients.js +21 -2
- package/lib/cjs/common/clients.js.map +1 -1
- package/lib/cjs/common/events.d.ts +23 -0
- package/lib/cjs/common/events.js +48 -0
- package/lib/cjs/common/events.js.map +1 -0
- package/lib/cjs/common/index.d.ts +1 -0
- package/lib/cjs/common/index.js +1 -0
- package/lib/cjs/common/index.js.map +1 -1
- package/lib/cjs/common/types.d.ts +5 -0
- package/lib/cjs/main/UPMMainService.d.ts +19 -4
- package/lib/cjs/main/UPMMainService.js +33 -8
- package/lib/cjs/main/UPMMainService.js.map +1 -1
- package/lib/cjs/main/UPMMainServiceManager.js +1 -1
- package/lib/cjs/main/UPMMainServiceManager.js.map +1 -1
- package/lib/cjs/node/UPMNodeProcess.d.ts +23 -0
- package/lib/cjs/node/UPMNodeProcess.js +64 -9
- package/lib/cjs/node/UPMNodeProcess.js.map +1 -1
- package/lib/cjs/renderer/UPMRendererClientFactory.js +1 -1
- package/lib/cjs/renderer/UPMRendererClientFactory.js.map +1 -1
- package/lib/mjs/common/clients.d.ts +23 -1
- package/lib/mjs/common/clients.js +21 -2
- package/lib/mjs/common/clients.js.map +1 -1
- package/lib/mjs/common/events.d.ts +23 -0
- package/lib/mjs/common/events.js +41 -0
- package/lib/mjs/common/events.js.map +1 -0
- package/lib/mjs/common/index.d.ts +1 -0
- package/lib/mjs/common/index.js +1 -0
- package/lib/mjs/common/index.js.map +1 -1
- package/lib/mjs/common/types.d.ts +5 -0
- package/lib/mjs/main/UPMMainService.d.ts +19 -4
- package/lib/mjs/main/UPMMainService.js +34 -9
- package/lib/mjs/main/UPMMainService.js.map +1 -1
- package/lib/mjs/main/UPMMainServiceManager.js +1 -1
- package/lib/mjs/main/UPMMainServiceManager.js.map +1 -1
- package/lib/mjs/node/UPMNodeProcess.d.ts +23 -0
- package/lib/mjs/node/UPMNodeProcess.js +63 -8
- package/lib/mjs/node/UPMNodeProcess.js.map +1 -1
- package/lib/mjs/renderer/UPMRendererClientFactory.js +1 -1
- package/lib/mjs/renderer/UPMRendererClientFactory.js.map +1 -1
- package/package.json +5 -4
- package/src/common/clients.ts +42 -2
- package/src/common/events.ts +43 -0
- package/src/common/index.ts +1 -0
- package/src/common/types.ts +6 -0
- package/src/main/UPMMainService.ts +41 -9
- package/src/main/UPMMainServiceManager.ts +1 -1
- package/src/node/UPMNodeProcess.ts +73 -8
- package/src/renderer/UPMRendererClientFactory.ts +1 -1
package/README.md
CHANGED
|
@@ -43,6 +43,44 @@ upmMainServiceManager.createService("example-service", "/path/to/entry.js", opti
|
|
|
43
43
|
> the process will print a chrome debugging url (i.e. `ws://`)
|
|
44
44
|
|
|
45
45
|
|
|
46
|
+
### Pushing events from the utility process
|
|
47
|
+
|
|
48
|
+
`sendEvent` on the `node` side pushes any structured-cloneable value from the
|
|
49
|
+
utility process to its clients, as fire-and-forget. With no `clientId` it goes
|
|
50
|
+
to every client: the main process (`"main"`, exported as `MainClientId`) and
|
|
51
|
+
each client holding a port.
|
|
52
|
+
|
|
53
|
+
```typescript
|
|
54
|
+
import upmNodeProcess, { MainClientId } from "@3fv/electron-utility-process-manager/node"
|
|
55
|
+
|
|
56
|
+
// EVERY CLIENT
|
|
57
|
+
upmNodeProcess.sendEvent({ progress: 0.5 })
|
|
58
|
+
|
|
59
|
+
// ONLY THE NAMED CLIENTS, RETURNS THE IDS IT WAS POSTED TO
|
|
60
|
+
upmNodeProcess.sendEvent({ progress: 0.5 }, MainClientId, "renderer-01")
|
|
61
|
+
|
|
62
|
+
// THE IDS WHICH CAN CURRENTLY BE PUSHED TO
|
|
63
|
+
upmNodeProcess.clientIds
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Every client (`UPMMainService` in the main process and the `MessagePortClient`
|
|
67
|
+
returned by `createMainClient` or `UPMRendererClientFactory.createClient`)
|
|
68
|
+
receives pushed events through `addEventHandler`, which returns a function that
|
|
69
|
+
removes the handler (`removeEventHandler(handler)` does the same):
|
|
70
|
+
|
|
71
|
+
```typescript
|
|
72
|
+
const removeHandler = client.addEventHandler(data => {
|
|
73
|
+
console.info(`Event pushed by the service`, data)
|
|
74
|
+
})
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Logging
|
|
78
|
+
|
|
79
|
+
The library logs through `tracer`. Lifecycle messages (a service or a client
|
|
80
|
+
port being created, handlers being registered), warnings and errors are
|
|
81
|
+
written; the per-message lines (each message received, handled or sent) are
|
|
82
|
+
logged at `debug` and are not written.
|
|
83
|
+
|
|
46
84
|
### Examples
|
|
47
85
|
|
|
48
86
|
#### Simple Example
|
|
@@ -187,7 +225,7 @@ on the library through `workspace:*`.
|
|
|
187
225
|
| `pnpm build:watch` | Same, in watch mode |
|
|
188
226
|
| `pnpm build:examples` | Compiles `examples/` to `examples/lib-examples` (build first) |
|
|
189
227
|
| `pnpm example --example=<simple\|complex>` | Runs a built example in Electron, restarting it on changes |
|
|
190
|
-
| `pnpm test` | Runs jest over the compiled specs in `lib/cjs` (
|
|
228
|
+
| `pnpm test` | Runs jest over the compiled specs in `lib/cjs` (build first) |
|
|
191
229
|
| `pnpm release` | Starts the GitHub Actions release workflow (patch bump) |
|
|
192
230
|
|
|
193
231
|
The package is a hybrid: `lib/mjs` holds the ES modules and `lib/cjs` the
|
|
@@ -211,7 +249,7 @@ started by `pnpm release` or by
|
|
|
211
249
|
`gh workflow run release.yml --ref master -f bump=<patch|minor|major|none>` (add
|
|
212
250
|
`-f dist-tag=<tag>` to publish under a tag other than `latest`):
|
|
213
251
|
|
|
214
|
-
1. The `version` job runs `pnpm version`, which builds the package
|
|
252
|
+
1. The `version` job runs `pnpm version`, which builds and tests the package
|
|
215
253
|
(`preversion`), commits and tags `vX.Y.Z`, and pushes both to `master`.
|
|
216
254
|
2. The `publish` job checks out that tag, builds it and runs `npm publish`
|
|
217
255
|
through npm trusted publishing, so no npm token or two-factor prompt is
|
|
@@ -227,4 +265,4 @@ Trusted publishing needs a one-time registration of the workflow on npm:
|
|
|
227
265
|
## TODO
|
|
228
266
|
|
|
229
267
|
- [x] CI/CD (release workflow)
|
|
230
|
-
- [ ] Tests
|
|
268
|
+
- [ ] Tests (client-side event dispatch is covered; the Electron processes are not)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MessageRequestFn, MessageRequestMap, MessageRequestNames, MessageRequestParams, MessageRequestReturnType, Port } from "./types.js";
|
|
1
|
+
import { ClientEventHandler, MessageRequestFn, MessageRequestMap, MessageRequestNames, MessageRequestParams, MessageRequestReturnType, Port } from "./types.js";
|
|
2
2
|
/**
|
|
3
3
|
* Service client interface maps a `MessageRequestMap`
|
|
4
4
|
* to its functional methods
|
|
@@ -21,6 +21,20 @@ export interface IMessageClient<ReqMap extends MessageRequestMap, MType extends
|
|
|
21
21
|
* @param data
|
|
22
22
|
*/
|
|
23
23
|
sendEvent(data: any): void;
|
|
24
|
+
/**
|
|
25
|
+
* Register a handler for events pushed by the
|
|
26
|
+
* `utilityProcess` (`UPMNodeProcess.sendEvent`)
|
|
27
|
+
*
|
|
28
|
+
* @param handler
|
|
29
|
+
* @returns a function which removes the handler
|
|
30
|
+
*/
|
|
31
|
+
addEventHandler(handler: ClientEventHandler): () => void;
|
|
32
|
+
/**
|
|
33
|
+
* Remove a handler registered with `addEventHandler`
|
|
34
|
+
*
|
|
35
|
+
* @param handler
|
|
36
|
+
*/
|
|
37
|
+
removeEventHandler(handler: ClientEventHandler): void;
|
|
24
38
|
/**
|
|
25
39
|
* Execute a request, with a response expected
|
|
26
40
|
*
|
|
@@ -66,6 +80,12 @@ export declare class MessagePortClient<ReqMap extends MessageRequestMap, MType e
|
|
|
66
80
|
* @private
|
|
67
81
|
*/
|
|
68
82
|
private readonly pendingMessages_;
|
|
83
|
+
/**
|
|
84
|
+
* Handlers for events pushed by the `utilityProcess`
|
|
85
|
+
*
|
|
86
|
+
* @private
|
|
87
|
+
*/
|
|
88
|
+
private readonly eventHandlers_;
|
|
69
89
|
/**
|
|
70
90
|
* Get the next `messageId`
|
|
71
91
|
*
|
|
@@ -89,6 +109,8 @@ export declare class MessagePortClient<ReqMap extends MessageRequestMap, MType e
|
|
|
89
109
|
*/
|
|
90
110
|
private onMessage;
|
|
91
111
|
sendEvent(data: any): void;
|
|
112
|
+
addEventHandler(handler: ClientEventHandler): () => void;
|
|
113
|
+
removeEventHandler(handler: ClientEventHandler): void;
|
|
92
114
|
executeRequest<Type extends MType, R extends MessageRequestReturnType<ReqMap, Type> = MessageRequestReturnType<ReqMap, Type>>(type: Type, ...args: MessageRequestParams<ReqMap, Type>): Promise<R>;
|
|
93
115
|
close(): void;
|
|
94
116
|
whenReady(): Promise<this>;
|
|
@@ -7,9 +7,10 @@ exports.MessagePortClient = void 0;
|
|
|
7
7
|
const guard_1 = require("@3fv/guard");
|
|
8
8
|
const guards_js_1 = require("./guards.js");
|
|
9
9
|
const tracer_1 = __importDefault(require("tracer"));
|
|
10
|
+
const events_js_1 = require("./events.js");
|
|
10
11
|
const types_js_1 = require("./types.js");
|
|
11
12
|
const deferred_1 = require("@3fv/deferred");
|
|
12
|
-
const log = tracer_1.default.colorConsole();
|
|
13
|
+
const log = tracer_1.default.colorConsole({ level: "info" });
|
|
13
14
|
/**
|
|
14
15
|
* Generic `MessagePort` client implementation, which
|
|
15
16
|
* is functional in any process.
|
|
@@ -65,10 +66,16 @@ class MessagePortClient {
|
|
|
65
66
|
[channel, payload] = ((0, guard_1.isDefined)(payloadOrEnvelope === null || payloadOrEnvelope === void 0 ? void 0 : payloadOrEnvelope["payload"]) ?
|
|
66
67
|
[(_a = payloadOrEnvelope["channel"]) !== null && _a !== void 0 ? _a : types_js_1.IPCChannel.UPMServiceMessage, payloadOrEnvelope["payload"]] :
|
|
67
68
|
[types_js_1.IPCChannel.UPMServiceMessage, payloadOrEnvelope]), { messageId, result, error } = payload;
|
|
69
|
+
// EVENT PUSHED BY THE `utilityProcess`
|
|
70
|
+
if ((payload === null || payload === void 0 ? void 0 : payload.kind) === types_js_1.MessageKind.Event) {
|
|
71
|
+
log.debug(`Event received (clientId=${this.clientId},messageId=${messageId})`);
|
|
72
|
+
this.eventHandlers_.dispatch(payload.eventData);
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
68
75
|
try {
|
|
69
76
|
const pending = this.pendingMessages_.get(messageId);
|
|
70
77
|
if (!pending) {
|
|
71
|
-
log.
|
|
78
|
+
log.debug(`Unable to find pending record ${messageId}`);
|
|
72
79
|
return;
|
|
73
80
|
}
|
|
74
81
|
if (pending.deferred.isSettled()) {
|
|
@@ -95,6 +102,12 @@ class MessagePortClient {
|
|
|
95
102
|
};
|
|
96
103
|
this.port.postMessage(payload);
|
|
97
104
|
}
|
|
105
|
+
addEventHandler(handler) {
|
|
106
|
+
return this.eventHandlers_.add(handler);
|
|
107
|
+
}
|
|
108
|
+
removeEventHandler(handler) {
|
|
109
|
+
this.eventHandlers_.remove(handler);
|
|
110
|
+
}
|
|
98
111
|
async executeRequest(type, ...args) {
|
|
99
112
|
const messageId = this.generateMessageId(), pending = {
|
|
100
113
|
deferred: new deferred_1.Deferred(),
|
|
@@ -159,6 +172,12 @@ class MessagePortClient {
|
|
|
159
172
|
* @private
|
|
160
173
|
*/
|
|
161
174
|
this.pendingMessages_ = new Map();
|
|
175
|
+
/**
|
|
176
|
+
* Handlers for events pushed by the `utilityProcess`
|
|
177
|
+
*
|
|
178
|
+
* @private
|
|
179
|
+
*/
|
|
180
|
+
this.eventHandlers_ = new events_js_1.ClientEventHandlers();
|
|
162
181
|
if ((0, guards_js_1.isMessagePort)(port) || (0, guards_js_1.isUtilityProcess)(port)) {
|
|
163
182
|
if ((0, guard_1.isFunction)(port === null || port === void 0 ? void 0 : port["addEventListener"])) {
|
|
164
183
|
;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clients.js","sourceRoot":"","sources":["../../../src/common/clients.ts"],"names":[],"mappings":";;;;;;AAAA,sCAAkD;AAClD,2CAA6D;AAC7D,oDAA2B;AAC3B,
|
|
1
|
+
{"version":3,"file":"clients.js","sourceRoot":"","sources":["../../../src/common/clients.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ClientEventHandler } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Holds the handlers a client registered for
|
|
4
|
+
* events pushed by the `utilityProcess`
|
|
5
|
+
*/
|
|
6
|
+
export declare class ClientEventHandlers {
|
|
7
|
+
private readonly handlers_;
|
|
8
|
+
/**
|
|
9
|
+
* Register a handler
|
|
10
|
+
*
|
|
11
|
+
* @param handler
|
|
12
|
+
* @returns a function which removes the handler
|
|
13
|
+
*/
|
|
14
|
+
add(handler: ClientEventHandler): () => void;
|
|
15
|
+
remove(handler: ClientEventHandler): void;
|
|
16
|
+
/**
|
|
17
|
+
* Call every handler with the event data, a handler
|
|
18
|
+
* which throws does not stop the others
|
|
19
|
+
*
|
|
20
|
+
* @param data
|
|
21
|
+
*/
|
|
22
|
+
dispatch(data: any): void;
|
|
23
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ClientEventHandlers = void 0;
|
|
7
|
+
const tracer_1 = __importDefault(require("tracer"));
|
|
8
|
+
const log = tracer_1.default.colorConsole({ level: "info" });
|
|
9
|
+
/**
|
|
10
|
+
* Holds the handlers a client registered for
|
|
11
|
+
* events pushed by the `utilityProcess`
|
|
12
|
+
*/
|
|
13
|
+
class ClientEventHandlers {
|
|
14
|
+
constructor() {
|
|
15
|
+
this.handlers_ = new Set();
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Register a handler
|
|
19
|
+
*
|
|
20
|
+
* @param handler
|
|
21
|
+
* @returns a function which removes the handler
|
|
22
|
+
*/
|
|
23
|
+
add(handler) {
|
|
24
|
+
this.handlers_.add(handler);
|
|
25
|
+
return () => this.remove(handler);
|
|
26
|
+
}
|
|
27
|
+
remove(handler) {
|
|
28
|
+
this.handlers_.delete(handler);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Call every handler with the event data, a handler
|
|
32
|
+
* which throws does not stop the others
|
|
33
|
+
*
|
|
34
|
+
* @param data
|
|
35
|
+
*/
|
|
36
|
+
dispatch(data) {
|
|
37
|
+
for (const handler of [...this.handlers_]) {
|
|
38
|
+
try {
|
|
39
|
+
handler(data);
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
log.error(`Event handler failed`, err);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.ClientEventHandlers = ClientEventHandlers;
|
|
48
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/common/events.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA2B;AAG3B,MAAM,GAAG,GAAG,gBAAM,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;AAElD;;;GAGG;AACH,MAAa,mBAAmB;IAAhC;QACmB,cAAS,GAAG,IAAI,GAAG,EAAsB,CAAA;IAgC5D,CAAC;IA9BC;;;;;OAKG;IACH,GAAG,CAAC,OAA2B;QAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC3B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACnC,CAAC;IAED,MAAM,CAAC,OAA2B;QAChC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,IAAS;QAChB,KAAK,MAAM,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,CAAA;YACf,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAA;YACxC,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAjCD,kDAiCC"}
|
package/lib/cjs/common/index.js
CHANGED
|
@@ -16,5 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./types.js"), exports);
|
|
18
18
|
__exportStar(require("./guards.js"), exports);
|
|
19
|
+
__exportStar(require("./events.js"), exports);
|
|
19
20
|
__exportStar(require("./clients.js"), exports);
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,8CAA2B;AAC3B,+CAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,8CAA2B;AAC3B,8CAA2B;AAC3B,+CAA4B"}
|
|
@@ -46,6 +46,11 @@ export interface PendingRequestMessage<ReqMap extends MessageRequestMap = any, T
|
|
|
46
46
|
* @returns true if payload was handled, false if not
|
|
47
47
|
*/
|
|
48
48
|
export type EventHandler = (clientId: string, port: Port, payload: any) => boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Handles an event pushed by the `utilityProcess`
|
|
51
|
+
* to a client (`UPMNodeProcess.sendEvent`)
|
|
52
|
+
*/
|
|
53
|
+
export type ClientEventHandler = (data: any) => void;
|
|
49
54
|
/**
|
|
50
55
|
* Port of any kind
|
|
51
56
|
*/
|
|
@@ -22,6 +22,20 @@ export declare class UPMMainService<ReqMap extends UPM.MessageRequestMap = any,
|
|
|
22
22
|
* @param port
|
|
23
23
|
*/
|
|
24
24
|
sendEvent(data: any, port?: UPM.Port): void;
|
|
25
|
+
/**
|
|
26
|
+
* Register a handler for events the service pushes to
|
|
27
|
+
* the main process (`UPMNodeProcess.sendEvent`)
|
|
28
|
+
*
|
|
29
|
+
* @param handler
|
|
30
|
+
* @returns a function which removes the handler
|
|
31
|
+
*/
|
|
32
|
+
addEventHandler(handler: UPM.ClientEventHandler): () => void;
|
|
33
|
+
/**
|
|
34
|
+
* Remove a handler registered with `addEventHandler`
|
|
35
|
+
*
|
|
36
|
+
* @param handler
|
|
37
|
+
*/
|
|
38
|
+
removeEventHandler(handler: UPM.ClientEventHandler): void;
|
|
25
39
|
/**
|
|
26
40
|
* Send request
|
|
27
41
|
*
|
|
@@ -47,6 +61,7 @@ export declare class UPMMainService<ReqMap extends UPM.MessageRequestMap = any,
|
|
|
47
61
|
private messageIdSeq_;
|
|
48
62
|
private childProcess_;
|
|
49
63
|
private pendingMessages_;
|
|
64
|
+
private eventHandlers_;
|
|
50
65
|
private messageChannels_;
|
|
51
66
|
private onServiceExit;
|
|
52
67
|
/**
|
|
@@ -81,11 +96,11 @@ export declare class UPMMainService<ReqMap extends UPM.MessageRequestMap = any,
|
|
|
81
96
|
*/
|
|
82
97
|
private init;
|
|
83
98
|
/**
|
|
84
|
-
*
|
|
85
|
-
* `executeRequest(...)
|
|
86
|
-
*
|
|
99
|
+
* Handles what the service posts on its parent port:
|
|
100
|
+
* `results` of `executeRequest(...)` & events pushed
|
|
101
|
+
* with `UPMNodeProcess.sendEvent(...)`
|
|
87
102
|
*
|
|
88
|
-
* @param
|
|
103
|
+
* @param payloadOrEnvelope the service posts a `NodeEnvelope`
|
|
89
104
|
* @private
|
|
90
105
|
*/
|
|
91
106
|
private onMessage;
|
|
@@ -48,7 +48,7 @@ const negate_js_1 = __importDefault(require("lodash/negate.js"));
|
|
|
48
48
|
const tracer_1 = __importDefault(require("tracer"));
|
|
49
49
|
const prelude_ts_1 = require("@3fv/prelude-ts");
|
|
50
50
|
const ts_pattern_1 = require("ts-pattern");
|
|
51
|
-
const log = tracer_1.default.colorConsole();
|
|
51
|
+
const log = tracer_1.default.colorConsole({ level: "info" });
|
|
52
52
|
const isNotEmpty = (0, negate_js_1.default)(isEmpty_js_1.default);
|
|
53
53
|
/**
|
|
54
54
|
* Contains & Manages a `Utility/Process`
|
|
@@ -70,6 +70,24 @@ class UPMMainService {
|
|
|
70
70
|
};
|
|
71
71
|
port.postMessage(payload);
|
|
72
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Register a handler for events the service pushes to
|
|
75
|
+
* the main process (`UPMNodeProcess.sendEvent`)
|
|
76
|
+
*
|
|
77
|
+
* @param handler
|
|
78
|
+
* @returns a function which removes the handler
|
|
79
|
+
*/
|
|
80
|
+
addEventHandler(handler) {
|
|
81
|
+
return this.eventHandlers_.add(handler);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Remove a handler registered with `addEventHandler`
|
|
85
|
+
*
|
|
86
|
+
* @param handler
|
|
87
|
+
*/
|
|
88
|
+
removeEventHandler(handler) {
|
|
89
|
+
this.eventHandlers_.remove(handler);
|
|
90
|
+
}
|
|
73
91
|
/**
|
|
74
92
|
* Send request
|
|
75
93
|
*
|
|
@@ -242,19 +260,25 @@ class UPMMainService {
|
|
|
242
260
|
return deferred.promise;
|
|
243
261
|
}
|
|
244
262
|
/**
|
|
245
|
-
*
|
|
246
|
-
* `executeRequest(...)
|
|
247
|
-
*
|
|
263
|
+
* Handles what the service posts on its parent port:
|
|
264
|
+
* `results` of `executeRequest(...)` & events pushed
|
|
265
|
+
* with `UPMNodeProcess.sendEvent(...)`
|
|
248
266
|
*
|
|
249
|
-
* @param
|
|
267
|
+
* @param payloadOrEnvelope the service posts a `NodeEnvelope`
|
|
250
268
|
* @private
|
|
251
269
|
*/
|
|
252
|
-
onMessage(
|
|
253
|
-
const { messageId, result, error } = payload;
|
|
270
|
+
onMessage(payloadOrEnvelope) {
|
|
271
|
+
const payload = ((0, guard_1.isDefined)(payloadOrEnvelope === null || payloadOrEnvelope === void 0 ? void 0 : payloadOrEnvelope["payload"]) ? payloadOrEnvelope["payload"] : payloadOrEnvelope), { messageId, result, error } = payload;
|
|
272
|
+
// EVENT PUSHED BY THE SERVICE
|
|
273
|
+
if ((payload === null || payload === void 0 ? void 0 : payload.kind) === UPM.MessageKind.Event) {
|
|
274
|
+
log.debug(`Event received from service (${this.serviceName},messageId=${messageId})`);
|
|
275
|
+
this.eventHandlers_.dispatch(payload.eventData);
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
254
278
|
try {
|
|
255
279
|
const pending = this.pendingMessages_.get(messageId);
|
|
256
280
|
if (!pending) {
|
|
257
|
-
log.
|
|
281
|
+
log.debug(`Unable to find pending record ${messageId}`);
|
|
258
282
|
return;
|
|
259
283
|
}
|
|
260
284
|
if (pending.deferred.isSettled()) {
|
|
@@ -401,6 +425,7 @@ class UPMMainService {
|
|
|
401
425
|
this.messageIdSeq_ = 0;
|
|
402
426
|
this.childProcess_ = null;
|
|
403
427
|
this.pendingMessages_ = new Map();
|
|
428
|
+
this.eventHandlers_ = new UPM.ClientEventHandlers();
|
|
404
429
|
this.messageChannels_ = new Map();
|
|
405
430
|
(0, guard_1.assert)((0, guard_1.isString)(entryFile) &&
|
|
406
431
|
isNotEmpty(entryFile) &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UPMMainService.js","sourceRoot":"","sources":["../../../src/main/UPMMainService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAEiB;AACjB,
|
|
1
|
+
{"version":3,"file":"UPMMainService.js","sourceRoot":"","sources":["../../../src/main/UPMMainService.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,7 +42,7 @@ const guard_1 = require("@3fv/guard");
|
|
|
42
42
|
const UPM = __importStar(require("../common/index.js"));
|
|
43
43
|
const UPMMainService_js_1 = __importDefault(require("./UPMMainService.js"));
|
|
44
44
|
const tracer_1 = __importDefault(require("tracer"));
|
|
45
|
-
const log = tracer_1.default.colorConsole();
|
|
45
|
+
const log = tracer_1.default.colorConsole({ level: "info" });
|
|
46
46
|
class UPMMainServiceManager {
|
|
47
47
|
/**
|
|
48
48
|
* On new client request from renderer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UPMMainServiceManager.js","sourceRoot":"","sources":["../../../src/main/UPMMainServiceManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAkC;AAClC,sCAA6C;AAE7C,wDAAyC;AACzC,4EAAgD;AAEhD,oDAA2B;AAE3B,MAAM,GAAG,GAAG,gBAAM,CAAC,YAAY,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"UPMMainServiceManager.js","sourceRoot":"","sources":["../../../src/main/UPMMainServiceManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAkC;AAClC,sCAA6C;AAE7C,wDAAyC;AACzC,4EAAgD;AAEhD,oDAA2B;AAE3B,MAAM,GAAG,GAAG,gBAAM,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;AAIlD,MAAa,qBAAqB;IAGhC;;;;;;;OAOG;IACK,WAAW,CAAC,EAAyB,EAAE,WAAmB,EAAE,QAAgB;QAClF,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAA;QACxB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,GAAG,CAAC,KAAK,CAAC,6CAA6C,EAAE,EAAE,CAAC,CAAA;YAC5D,OAAM;QACR,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;QACzC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,GAAG,CAAC,KAAK,CAAC,qBAAqB,WAAW,EAAE,EAAE,EAAE,CAAC,CAAA;YACjD,OAAM;QACR,CAAC;QACD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;YACtD,GAAG,CAAC,IAAI,CAAC,qCAAqC,WAAW,aAAa,QAAQ,GAAG,CAAC,CAAA;YAClF,MAAM,CAAC,WAAW,CACd,GAAG,CAAC,UAAU,CAAC,mBAAmB,EAClC,EAAC,WAAW,EAAE,QAAQ,EAAC,EACvB,CAAC,UAAU,CAAC,CACf,CAAA;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;QACjD,CAAC;IACH,CAAC;IAED,iBAAiB,CAKhB,aAAmD,EAAE,QAAgB;QACpE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAA,gBAAQ,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAa,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAA;YAEpG,MAAM,UAAU,GAAG,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;YACzD,GAAG,CAAC,IAAI,CAAC,qCAAqC,OAAO,CAAC,WAAW,aAAa,QAAQ,GAAG,CAAC,CAAA;YAC1F,OAAO,UAAU,CAAA;QACnB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;YAC/C,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED,gBAAgB,CAGd,WAAmB,EAAE,QAAgB;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAe,WAAW,CAAC,CAAA;QAC1D,IAAA,cAAM,EAAC,CAAC,CAAC,OAAO,EAAC,qBAAqB,WAAW,EAAE,CAAC,CAAA;QAEpD,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAC3C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;YAC/C,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,OAAO;QACnB,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,UAAU,CAGR,WAAmB;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACjF,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,aAAa,CAGjB,WAAmB,EAAE,SAAiB,EAAE,UAAoC,EAAE;;QAC9E,IAAA,cAAM,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,4BAA4B,WAAW,yBAAyB,CAAC,CAAA;QAC1G,MAAM,IAAI,GAAG,IAAI,2BAAc,CAAC,WAAW,EAAE,SAAS,kCACjD,OAAO,KACV,WAAW,EAAE,MAAA,OAAO,CAAC,WAAW,mCAAI,WAAW,IAC/C,CAAA;QAEF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;QAErC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;YACtB,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;YACtC,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,WAAmB;QACtC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;YAAE,OAAM;QAE5C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAClC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QACzB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;IACtB,CAAC;IAED;QA3IQ,cAAS,GAAG,IAAI,GAAG,EAAmC,CAAA;QA4I5D,kBAAO,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAC7E,CAAC;IASD;;OAEG;IACH,MAAM,CAAC,GAAG;QACR,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,qBAAqB,EAAE,CAAA;QAC/C,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;;AAhKH,sDAiKC;AAjBC;;;;GAIG;AACY,gCAAU,GAA0B,IAAI,AAA9B,CAA8B;AAc5C,QAAA,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,EAAE,CAAA;AAEhE,kBAAe,6BAAqB,CAAA"}
|
|
@@ -1,15 +1,38 @@
|
|
|
1
1
|
import * as UPM from "../common/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* `clientId` of the main process, which is
|
|
4
|
+
* reached through `process.parentPort`
|
|
5
|
+
*/
|
|
6
|
+
export declare const MainClientId = "main";
|
|
2
7
|
export declare class UPMNodeProcess {
|
|
3
8
|
readonly processPort: Electron.ParentPort;
|
|
4
9
|
private readonly clientPorts_;
|
|
5
10
|
private readonly requestHandlers_;
|
|
6
11
|
private readonly eventHandlers_;
|
|
12
|
+
private messageIdSeq_;
|
|
7
13
|
private onServiceClientPort;
|
|
8
14
|
private onServiceMessage;
|
|
9
15
|
private onMessage;
|
|
10
16
|
private constructor();
|
|
11
17
|
addRequestHandler<ReqMap extends UPM.MessageRequestMap = any, Type extends UPM.MessageRequestNames<ReqMap> = UPM.MessageRequestNames<ReqMap>>(type: Type, handler: UPM.RequestHandler<ReqMap, Type>): void;
|
|
12
18
|
addEventHandler(handler: UPM.EventHandler): void;
|
|
19
|
+
/**
|
|
20
|
+
* The `clientId` of every client which can currently
|
|
21
|
+
* be pushed an event: the main process (`MainClientId`)
|
|
22
|
+
* and each client with an open port
|
|
23
|
+
*/
|
|
24
|
+
get clientIds(): string[];
|
|
25
|
+
/**
|
|
26
|
+
* Push an event from the `utilityProcess` to its clients
|
|
27
|
+
* as `fire-and-forget`; a client receives it through
|
|
28
|
+
* the handlers it registered with `addEventHandler`.
|
|
29
|
+
*
|
|
30
|
+
* @param data any structured-cloneable value
|
|
31
|
+
* @param clientIds the clients to push to, every client
|
|
32
|
+
* (the main process included) when none are given
|
|
33
|
+
* @returns the `clientId` of each client the event was posted to
|
|
34
|
+
*/
|
|
35
|
+
sendEvent(data: any, ...clientIds: string[]): string[];
|
|
13
36
|
/**
|
|
14
37
|
* Singleton instance
|
|
15
38
|
*
|