@lvce-editor/ipc 10.0.0 → 10.0.2
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/browser.js +23 -25
- package/dist/electron.js +33 -27
- package/dist/index.js +38 -41
- package/package.json +2 -2
package/dist/browser.js
CHANGED
|
@@ -2,6 +2,28 @@ const getData$1 = event => {
|
|
|
2
2
|
return event.data;
|
|
3
3
|
};
|
|
4
4
|
|
|
5
|
+
const walkValue = (value, transferrables, isTransferrable) => {
|
|
6
|
+
if (!value) {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
if (isTransferrable(value)) {
|
|
10
|
+
transferrables.push(value);
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
if (Array.isArray(value)) {
|
|
14
|
+
for (const item of value) {
|
|
15
|
+
walkValue(item, transferrables, isTransferrable);
|
|
16
|
+
}
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
if (typeof value === 'object') {
|
|
20
|
+
for (const property of Object.values(value)) {
|
|
21
|
+
walkValue(property, transferrables, isTransferrable);
|
|
22
|
+
}
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
|
|
5
27
|
const isMessagePort = value => {
|
|
6
28
|
return value && value instanceof MessagePort;
|
|
7
29
|
};
|
|
@@ -33,33 +55,9 @@ const isTransferrable = value => {
|
|
|
33
55
|
return false;
|
|
34
56
|
};
|
|
35
57
|
|
|
36
|
-
const walkValue = (value, transferrables) => {
|
|
37
|
-
if (!value) {
|
|
38
|
-
return value;
|
|
39
|
-
}
|
|
40
|
-
if (isTransferrable(value)) {
|
|
41
|
-
transferrables.push(value);
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
if (Array.isArray(value)) {
|
|
45
|
-
for (const item of value) {
|
|
46
|
-
walkValue(item, transferrables);
|
|
47
|
-
}
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
if (typeof value === 'object') {
|
|
51
|
-
const newObject = Object.create(null);
|
|
52
|
-
for (const property of Object.values(value)) {
|
|
53
|
-
walkValue(property, transferrables);
|
|
54
|
-
}
|
|
55
|
-
return newObject;
|
|
56
|
-
}
|
|
57
|
-
return value;
|
|
58
|
-
};
|
|
59
|
-
|
|
60
58
|
const getTransferrables = value => {
|
|
61
59
|
const transferrables = [];
|
|
62
|
-
walkValue(value, transferrables);
|
|
60
|
+
walkValue(value, transferrables, isTransferrable);
|
|
63
61
|
return transferrables;
|
|
64
62
|
};
|
|
65
63
|
|
package/dist/electron.js
CHANGED
|
@@ -340,6 +340,28 @@ class IpcError extends VError {
|
|
|
340
340
|
}
|
|
341
341
|
}
|
|
342
342
|
|
|
343
|
+
const walkValue = (value, transferrables, isTransferrable) => {
|
|
344
|
+
if (!value) {
|
|
345
|
+
return;
|
|
346
|
+
}
|
|
347
|
+
if (isTransferrable(value)) {
|
|
348
|
+
transferrables.push(value);
|
|
349
|
+
return;
|
|
350
|
+
}
|
|
351
|
+
if (Array.isArray(value)) {
|
|
352
|
+
for (const item of value) {
|
|
353
|
+
walkValue(item, transferrables, isTransferrable);
|
|
354
|
+
}
|
|
355
|
+
return;
|
|
356
|
+
}
|
|
357
|
+
if (typeof value === 'object') {
|
|
358
|
+
for (const property of Object.values(value)) {
|
|
359
|
+
walkValue(property, transferrables, isTransferrable);
|
|
360
|
+
}
|
|
361
|
+
return;
|
|
362
|
+
}
|
|
363
|
+
};
|
|
364
|
+
|
|
343
365
|
const isMessagePort = value => {
|
|
344
366
|
return value && value instanceof MessagePort;
|
|
345
367
|
};
|
|
@@ -371,33 +393,9 @@ const isTransferrable = value => {
|
|
|
371
393
|
return false;
|
|
372
394
|
};
|
|
373
395
|
|
|
374
|
-
const walkValue = (value, transferrables) => {
|
|
375
|
-
if (!value) {
|
|
376
|
-
return value;
|
|
377
|
-
}
|
|
378
|
-
if (isTransferrable(value)) {
|
|
379
|
-
transferrables.push(value);
|
|
380
|
-
return;
|
|
381
|
-
}
|
|
382
|
-
if (Array.isArray(value)) {
|
|
383
|
-
for (const item of value) {
|
|
384
|
-
walkValue(item, transferrables);
|
|
385
|
-
}
|
|
386
|
-
return;
|
|
387
|
-
}
|
|
388
|
-
if (typeof value === 'object') {
|
|
389
|
-
const newObject = Object.create(null);
|
|
390
|
-
for (const property of Object.values(value)) {
|
|
391
|
-
walkValue(property, transferrables);
|
|
392
|
-
}
|
|
393
|
-
return newObject;
|
|
394
|
-
}
|
|
395
|
-
return value;
|
|
396
|
-
};
|
|
397
|
-
|
|
398
396
|
const getTransferrables = value => {
|
|
399
397
|
const transferrables = [];
|
|
400
|
-
walkValue(value, transferrables);
|
|
398
|
+
walkValue(value, transferrables, isTransferrable);
|
|
401
399
|
return transferrables;
|
|
402
400
|
};
|
|
403
401
|
|
|
@@ -571,6 +569,14 @@ const getFirstNodeChildProcessEvent = async childProcess => {
|
|
|
571
569
|
};
|
|
572
570
|
};
|
|
573
571
|
|
|
572
|
+
const getTransferrablesNode = value => {
|
|
573
|
+
const transferrables = getTransferrables(value);
|
|
574
|
+
if (transferrables.length === 0) {
|
|
575
|
+
throw new Error(`no transferrables found`);
|
|
576
|
+
}
|
|
577
|
+
return transferrables[0];
|
|
578
|
+
};
|
|
579
|
+
|
|
574
580
|
// @ts-ignore
|
|
575
581
|
const create$1 = async ({
|
|
576
582
|
path,
|
|
@@ -623,7 +629,7 @@ class IpcParentWithNodeForkedProcess extends Ipc {
|
|
|
623
629
|
this._rawIpc.send(message);
|
|
624
630
|
}
|
|
625
631
|
sendAndTransfer(message) {
|
|
626
|
-
const transfer =
|
|
632
|
+
const transfer = getTransferrablesNode(message);
|
|
627
633
|
this._rawIpc.send(message, transfer);
|
|
628
634
|
}
|
|
629
635
|
dispose() {
|
|
@@ -755,7 +761,7 @@ const wrap = worker => {
|
|
|
755
761
|
},
|
|
756
762
|
// @ts-ignore
|
|
757
763
|
sendAndTransfer(message) {
|
|
758
|
-
const transfer =
|
|
764
|
+
const transfer = getTransferrablesNode(message);
|
|
759
765
|
this.worker.postMessage(message, transfer);
|
|
760
766
|
},
|
|
761
767
|
dispose() {
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,28 @@
|
|
|
1
1
|
import { VError } from '@lvce-editor/verror';
|
|
2
2
|
import { string } from '@lvce-editor/assert';
|
|
3
3
|
|
|
4
|
+
const walkValue = (value, transferrables, isTransferrable) => {
|
|
5
|
+
if (!value) {
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
if (isTransferrable(value)) {
|
|
9
|
+
transferrables.push(value);
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
if (Array.isArray(value)) {
|
|
13
|
+
for (const item of value) {
|
|
14
|
+
walkValue(item, transferrables, isTransferrable);
|
|
15
|
+
}
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
if (typeof value === 'object') {
|
|
19
|
+
for (const property of Object.values(value)) {
|
|
20
|
+
walkValue(property, transferrables, isTransferrable);
|
|
21
|
+
}
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
|
|
4
26
|
const isMessagePort = value => {
|
|
5
27
|
return value && value instanceof MessagePort;
|
|
6
28
|
};
|
|
@@ -32,33 +54,9 @@ const isTransferrable = value => {
|
|
|
32
54
|
return false;
|
|
33
55
|
};
|
|
34
56
|
|
|
35
|
-
const walkValue = (value, transferrables) => {
|
|
36
|
-
if (!value) {
|
|
37
|
-
return value;
|
|
38
|
-
}
|
|
39
|
-
if (isTransferrable(value)) {
|
|
40
|
-
transferrables.push(value);
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
if (Array.isArray(value)) {
|
|
44
|
-
for (const item of value) {
|
|
45
|
-
walkValue(item, transferrables);
|
|
46
|
-
}
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
if (typeof value === 'object') {
|
|
50
|
-
const newObject = Object.create(null);
|
|
51
|
-
for (const property of Object.values(value)) {
|
|
52
|
-
walkValue(property, transferrables);
|
|
53
|
-
}
|
|
54
|
-
return newObject;
|
|
55
|
-
}
|
|
56
|
-
return value;
|
|
57
|
-
};
|
|
58
|
-
|
|
59
57
|
const getTransferrables = value => {
|
|
60
58
|
const transferrables = [];
|
|
61
|
-
walkValue(value, transferrables);
|
|
59
|
+
walkValue(value, transferrables, isTransferrable);
|
|
62
60
|
return transferrables;
|
|
63
61
|
};
|
|
64
62
|
|
|
@@ -277,7 +275,7 @@ const listen$8 = ({
|
|
|
277
275
|
const signal$6 = messagePort => {
|
|
278
276
|
messagePort.start();
|
|
279
277
|
};
|
|
280
|
-
const getActualData
|
|
278
|
+
const getActualData = event => {
|
|
281
279
|
const {
|
|
282
280
|
data,
|
|
283
281
|
ports
|
|
@@ -295,7 +293,7 @@ class IpcChildWithElectronMessagePort extends Ipc {
|
|
|
295
293
|
super(port);
|
|
296
294
|
}
|
|
297
295
|
getData(event) {
|
|
298
|
-
return getActualData
|
|
296
|
+
return getActualData(event);
|
|
299
297
|
}
|
|
300
298
|
send(message) {
|
|
301
299
|
this._rawIpc.postMessage(message);
|
|
@@ -518,6 +516,14 @@ const IpcChildWithModuleWorkerAndMessagePort$1 = {
|
|
|
518
516
|
wrap: wrap$8
|
|
519
517
|
};
|
|
520
518
|
|
|
519
|
+
const getTransferrablesNode = value => {
|
|
520
|
+
const transferrables = getTransferrables(value);
|
|
521
|
+
if (transferrables.length === 0) {
|
|
522
|
+
throw new Error(`no transferrables found`);
|
|
523
|
+
}
|
|
524
|
+
return transferrables[0];
|
|
525
|
+
};
|
|
526
|
+
|
|
521
527
|
const listen$4 = async () => {
|
|
522
528
|
if (!process.send) {
|
|
523
529
|
throw new Error('process.send must be defined');
|
|
@@ -527,21 +533,12 @@ const listen$4 = async () => {
|
|
|
527
533
|
const signal$3 = process => {
|
|
528
534
|
process.send(readyMessage);
|
|
529
535
|
};
|
|
530
|
-
const getActualData = (message, handle) => {
|
|
531
|
-
if (handle) {
|
|
532
|
-
return {
|
|
533
|
-
...message,
|
|
534
|
-
params: [handle, ...message.params]
|
|
535
|
-
};
|
|
536
|
-
}
|
|
537
|
-
return message;
|
|
538
|
-
};
|
|
539
536
|
class IpcChildWithNodeForkedProcess extends Ipc {
|
|
540
537
|
constructor(process) {
|
|
541
538
|
super(process);
|
|
542
539
|
}
|
|
543
|
-
getData(message
|
|
544
|
-
return
|
|
540
|
+
getData(message) {
|
|
541
|
+
return message;
|
|
545
542
|
}
|
|
546
543
|
onClose(callback) {
|
|
547
544
|
this._rawIpc.on('close', callback);
|
|
@@ -553,7 +550,7 @@ class IpcChildWithNodeForkedProcess extends Ipc {
|
|
|
553
550
|
this._rawIpc.on('message', callback);
|
|
554
551
|
}
|
|
555
552
|
sendAndTransfer(message) {
|
|
556
|
-
const transfer =
|
|
553
|
+
const transfer = getTransferrablesNode(message);
|
|
557
554
|
this._rawIpc.send(message, transfer);
|
|
558
555
|
}
|
|
559
556
|
dispose() {
|
|
@@ -1181,7 +1178,7 @@ class IpcParentWithNodeForkedProcess extends Ipc {
|
|
|
1181
1178
|
this._rawIpc.send(message);
|
|
1182
1179
|
}
|
|
1183
1180
|
sendAndTransfer(message) {
|
|
1184
|
-
const transfer =
|
|
1181
|
+
const transfer = getTransferrablesNode(message);
|
|
1185
1182
|
this._rawIpc.send(message, transfer);
|
|
1186
1183
|
}
|
|
1187
1184
|
dispose() {
|
|
@@ -1272,7 +1269,7 @@ const wrap = worker => {
|
|
|
1272
1269
|
},
|
|
1273
1270
|
// @ts-ignore
|
|
1274
1271
|
sendAndTransfer(message) {
|
|
1275
|
-
const transfer =
|
|
1272
|
+
const transfer = getTransferrablesNode(message);
|
|
1276
1273
|
this.worker.postMessage(message, transfer);
|
|
1277
1274
|
},
|
|
1278
1275
|
dispose() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lvce-editor/ipc",
|
|
3
|
-
"version": "10.0.
|
|
3
|
+
"version": "10.0.2",
|
|
4
4
|
"description": "Inter Process Communication for Lvce Editor",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"@lvce-editor/assert": "^1.2.0",
|
|
18
18
|
"@lvce-editor/verror": "^1.4.0",
|
|
19
|
-
"@lvce-editor/web-socket-server": "^1.
|
|
19
|
+
"@lvce-editor/web-socket-server": "^1.3.0"
|
|
20
20
|
},
|
|
21
21
|
"engines": {
|
|
22
22
|
"node": ">=18"
|