@lvce-editor/ipc 9.5.0 → 10.0.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/dist/browser.js +90 -30
- package/dist/electron.js +67 -10
- package/dist/index.js +125 -21
- package/package.json +1 -1
package/dist/browser.js
CHANGED
|
@@ -2,6 +2,67 @@ const getData$1 = event => {
|
|
|
2
2
|
return event.data;
|
|
3
3
|
};
|
|
4
4
|
|
|
5
|
+
const isMessagePort = value => {
|
|
6
|
+
return value && value instanceof MessagePort;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
const isMessagePortMain = value => {
|
|
10
|
+
return value && value.constructor && value.constructor.name === 'MessagePortMain';
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const isOffscreenCanvas = value => {
|
|
14
|
+
return typeof OffscreenCanvas !== 'undefined' && value instanceof OffscreenCanvas;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const isInstanceOf = (value, constructorName) => {
|
|
18
|
+
return value?.constructor?.name === constructorName;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const isSocket = value => {
|
|
22
|
+
return isInstanceOf(value, 'Socket');
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const transferrables = [isMessagePort, isMessagePortMain, isOffscreenCanvas, isSocket];
|
|
26
|
+
|
|
27
|
+
const isTransferrable = value => {
|
|
28
|
+
for (const fn of transferrables) {
|
|
29
|
+
if (fn(value)) {
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return false;
|
|
34
|
+
};
|
|
35
|
+
|
|
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
|
+
const getTransferrables = value => {
|
|
61
|
+
const transferrables = [];
|
|
62
|
+
walkValue(value, transferrables);
|
|
63
|
+
return transferrables;
|
|
64
|
+
};
|
|
65
|
+
|
|
5
66
|
const attachEvents = that => {
|
|
6
67
|
const handleMessage = (...args) => {
|
|
7
68
|
const data = that.getData(...args);
|
|
@@ -44,7 +105,8 @@ class IpcChildWithModuleWorker extends Ipc {
|
|
|
44
105
|
// @ts-ignore
|
|
45
106
|
this._rawIpc.postMessage(message);
|
|
46
107
|
}
|
|
47
|
-
sendAndTransfer(message
|
|
108
|
+
sendAndTransfer(message) {
|
|
109
|
+
const transfer = getTransferrables(message);
|
|
48
110
|
// @ts-ignore
|
|
49
111
|
this._rawIpc.postMessage(message, transfer);
|
|
50
112
|
}
|
|
@@ -320,7 +382,8 @@ class IpcChildWithModuleWorkerAndMessagePort extends Ipc {
|
|
|
320
382
|
send(message) {
|
|
321
383
|
this._rawIpc.postMessage(message);
|
|
322
384
|
}
|
|
323
|
-
sendAndTransfer(message
|
|
385
|
+
sendAndTransfer(message) {
|
|
386
|
+
const transfer = getTransferrables(message);
|
|
324
387
|
this._rawIpc.postMessage(message, transfer);
|
|
325
388
|
}
|
|
326
389
|
dispose() {
|
|
@@ -352,14 +415,15 @@ const listen$2 = () => {
|
|
|
352
415
|
const signal$2 = global => {
|
|
353
416
|
global.postMessage(readyMessage);
|
|
354
417
|
};
|
|
355
|
-
|
|
418
|
+
class IpcChildWithWindow extends Ipc {
|
|
356
419
|
getData(event) {
|
|
357
420
|
return getData$1(event);
|
|
358
421
|
}
|
|
359
422
|
send(message) {
|
|
360
423
|
this._rawIpc.postMessage(message);
|
|
361
424
|
}
|
|
362
|
-
sendAndTransfer(message
|
|
425
|
+
sendAndTransfer(message) {
|
|
426
|
+
const transfer = getTransferrables(message);
|
|
363
427
|
this._rawIpc.postMessage(message, location.origin, transfer);
|
|
364
428
|
}
|
|
365
429
|
dispose() {
|
|
@@ -381,43 +445,37 @@ let IpcChildWithWindow$1 = class IpcChildWithWindow extends Ipc {
|
|
|
381
445
|
};
|
|
382
446
|
this._rawIpc.addEventListener('message', wrapped);
|
|
383
447
|
}
|
|
384
|
-
}
|
|
448
|
+
}
|
|
385
449
|
const wrap$4 = window => {
|
|
386
|
-
return new IpcChildWithWindow
|
|
450
|
+
return new IpcChildWithWindow(window);
|
|
387
451
|
};
|
|
388
452
|
|
|
389
|
-
const IpcChildWithWindow$
|
|
453
|
+
const IpcChildWithWindow$1 = {
|
|
390
454
|
__proto__: null,
|
|
391
455
|
listen: listen$2,
|
|
392
456
|
signal: signal$2,
|
|
393
457
|
wrap: wrap$4
|
|
394
458
|
};
|
|
395
459
|
|
|
396
|
-
const
|
|
397
|
-
return value instanceof MessagePort;
|
|
398
|
-
};
|
|
399
|
-
|
|
400
|
-
const walkValue = (value, transferrables) => {
|
|
460
|
+
const removeValues = (value, toRemove) => {
|
|
401
461
|
if (!value) {
|
|
402
462
|
return value;
|
|
403
463
|
}
|
|
404
|
-
if (isTransferrable(value)) {
|
|
405
|
-
transferrables.push(value);
|
|
406
|
-
return undefined;
|
|
407
|
-
}
|
|
408
464
|
if (Array.isArray(value)) {
|
|
409
465
|
const newItems = [];
|
|
410
466
|
for (const item of value) {
|
|
411
|
-
|
|
412
|
-
|
|
467
|
+
if (!toRemove.includes(item)) {
|
|
468
|
+
newItems.push(removeValues(item, toRemove));
|
|
469
|
+
}
|
|
413
470
|
}
|
|
414
471
|
return newItems;
|
|
415
472
|
}
|
|
416
473
|
if (typeof value === 'object') {
|
|
417
474
|
const newObject = Object.create(null);
|
|
418
475
|
for (const [key, property] of Object.entries(value)) {
|
|
419
|
-
|
|
420
|
-
|
|
476
|
+
if (!toRemove.includes(property)) {
|
|
477
|
+
newObject[key] = removeValues(property, toRemove);
|
|
478
|
+
}
|
|
421
479
|
}
|
|
422
480
|
return newObject;
|
|
423
481
|
}
|
|
@@ -428,8 +486,8 @@ const walkValue = (value, transferrables) => {
|
|
|
428
486
|
// as parameters. If the transferrable object is a parameter, in electron
|
|
429
487
|
// only an empty objected is received in the main process
|
|
430
488
|
const fixElectronParameters = value => {
|
|
431
|
-
const transfer =
|
|
432
|
-
const newValue =
|
|
489
|
+
const transfer = getTransferrables(value);
|
|
490
|
+
const newValue = removeValues(value, transfer);
|
|
433
491
|
return {
|
|
434
492
|
newValue,
|
|
435
493
|
transfer
|
|
@@ -442,14 +500,14 @@ const listen$1 = () => {
|
|
|
442
500
|
const signal$1 = global => {
|
|
443
501
|
global.postMessage(readyMessage);
|
|
444
502
|
};
|
|
445
|
-
class
|
|
503
|
+
class IpcChildWithElectronWindow extends Ipc {
|
|
446
504
|
getData(event) {
|
|
447
505
|
return getData$1(event);
|
|
448
506
|
}
|
|
449
507
|
send(message) {
|
|
450
508
|
this._rawIpc.postMessage(message);
|
|
451
509
|
}
|
|
452
|
-
sendAndTransfer(message
|
|
510
|
+
sendAndTransfer(message) {
|
|
453
511
|
const {
|
|
454
512
|
newValue,
|
|
455
513
|
transfer
|
|
@@ -477,10 +535,10 @@ class IpcChildWithWindow extends Ipc {
|
|
|
477
535
|
}
|
|
478
536
|
}
|
|
479
537
|
const wrap$3 = window => {
|
|
480
|
-
return new
|
|
538
|
+
return new IpcChildWithElectronWindow(window);
|
|
481
539
|
};
|
|
482
540
|
|
|
483
|
-
const IpcChildWithElectronWindow = {
|
|
541
|
+
const IpcChildWithElectronWindow$1 = {
|
|
484
542
|
__proto__: null,
|
|
485
543
|
listen: listen$1,
|
|
486
544
|
signal: signal$1,
|
|
@@ -505,7 +563,8 @@ class IpcChildWithMessagePort extends Ipc {
|
|
|
505
563
|
send(message) {
|
|
506
564
|
this._rawIpc.postMessage(message);
|
|
507
565
|
}
|
|
508
|
-
sendAndTransfer(message
|
|
566
|
+
sendAndTransfer(message) {
|
|
567
|
+
const transfer = getTransferrables(message);
|
|
509
568
|
this._rawIpc.postMessage(message, transfer);
|
|
510
569
|
}
|
|
511
570
|
dispose() {
|
|
@@ -657,7 +716,8 @@ class IpcParentWithModuleWorker extends Ipc {
|
|
|
657
716
|
send(message) {
|
|
658
717
|
this._rawIpc.postMessage(message);
|
|
659
718
|
}
|
|
660
|
-
sendAndTransfer(message
|
|
719
|
+
sendAndTransfer(message) {
|
|
720
|
+
const transfer = getTransferrables(message);
|
|
661
721
|
this._rawIpc.postMessage(message, transfer);
|
|
662
722
|
}
|
|
663
723
|
dispose() {
|
|
@@ -721,7 +781,7 @@ class IpcParentWithWebSocket extends Ipc {
|
|
|
721
781
|
send(message) {
|
|
722
782
|
this._rawIpc.send(stringifyCompact(message));
|
|
723
783
|
}
|
|
724
|
-
sendAndTransfer(message
|
|
784
|
+
sendAndTransfer(message) {
|
|
725
785
|
throw new Error('sendAndTransfer not supported');
|
|
726
786
|
}
|
|
727
787
|
dispose() {
|
|
@@ -744,4 +804,4 @@ const IpcParentWithWebSocket$1 = {
|
|
|
744
804
|
wrap
|
|
745
805
|
};
|
|
746
806
|
|
|
747
|
-
export { IpcChildWithElectronWindow, IpcChildWithMessagePort$1 as IpcChildWithMessagePort, IpcChildWithModuleWorker$1 as IpcChildWithModuleWorker, IpcChildWithModuleWorkerAndMessagePort$1 as IpcChildWithModuleWorkerAndMessagePort, IpcChildWithWindow$
|
|
807
|
+
export { IpcChildWithElectronWindow$1 as IpcChildWithElectronWindow, IpcChildWithMessagePort$1 as IpcChildWithMessagePort, IpcChildWithModuleWorker$1 as IpcChildWithModuleWorker, IpcChildWithModuleWorkerAndMessagePort$1 as IpcChildWithModuleWorkerAndMessagePort, IpcChildWithWindow$1 as IpcChildWithWindow, IpcParentWithModuleWorker$1 as IpcParentWithModuleWorker, IpcParentWithWebSocket$1 as IpcParentWithWebSocket };
|
package/dist/electron.js
CHANGED
|
@@ -26,12 +26,6 @@ const getType = value => {
|
|
|
26
26
|
return 'unknown';
|
|
27
27
|
}
|
|
28
28
|
};
|
|
29
|
-
const array = value => {
|
|
30
|
-
const type = getType(value);
|
|
31
|
-
if (type !== 'array') {
|
|
32
|
-
throw new AssertionError('expected value to be of type array');
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
29
|
const string = value => {
|
|
36
30
|
const type = getType(value);
|
|
37
31
|
if (type !== 'string') {
|
|
@@ -346,6 +340,67 @@ class IpcError extends VError {
|
|
|
346
340
|
}
|
|
347
341
|
}
|
|
348
342
|
|
|
343
|
+
const isMessagePort = value => {
|
|
344
|
+
return value && value instanceof MessagePort;
|
|
345
|
+
};
|
|
346
|
+
|
|
347
|
+
const isMessagePortMain = value => {
|
|
348
|
+
return value && value.constructor && value.constructor.name === 'MessagePortMain';
|
|
349
|
+
};
|
|
350
|
+
|
|
351
|
+
const isOffscreenCanvas = value => {
|
|
352
|
+
return typeof OffscreenCanvas !== 'undefined' && value instanceof OffscreenCanvas;
|
|
353
|
+
};
|
|
354
|
+
|
|
355
|
+
const isInstanceOf = (value, constructorName) => {
|
|
356
|
+
return value?.constructor?.name === constructorName;
|
|
357
|
+
};
|
|
358
|
+
|
|
359
|
+
const isSocket = value => {
|
|
360
|
+
return isInstanceOf(value, 'Socket');
|
|
361
|
+
};
|
|
362
|
+
|
|
363
|
+
const transferrables = [isMessagePort, isMessagePortMain, isOffscreenCanvas, isSocket];
|
|
364
|
+
|
|
365
|
+
const isTransferrable = value => {
|
|
366
|
+
for (const fn of transferrables) {
|
|
367
|
+
if (fn(value)) {
|
|
368
|
+
return true;
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
return false;
|
|
372
|
+
};
|
|
373
|
+
|
|
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
|
+
const getTransferrables = value => {
|
|
399
|
+
const transferrables = [];
|
|
400
|
+
walkValue(value, transferrables);
|
|
401
|
+
return transferrables;
|
|
402
|
+
};
|
|
403
|
+
|
|
349
404
|
// @ts-ignore
|
|
350
405
|
const create$2 = async ({
|
|
351
406
|
path,
|
|
@@ -393,7 +448,8 @@ class IpcParentWithElectronUtilityProcess extends Ipc {
|
|
|
393
448
|
send(message) {
|
|
394
449
|
this._rawIpc.postMessage(message);
|
|
395
450
|
}
|
|
396
|
-
sendAndTransfer(message
|
|
451
|
+
sendAndTransfer(message) {
|
|
452
|
+
const transfer = getTransferrables(message);
|
|
397
453
|
this._rawIpc.postMessage(message, transfer);
|
|
398
454
|
}
|
|
399
455
|
dispose() {
|
|
@@ -566,7 +622,8 @@ class IpcParentWithNodeForkedProcess extends Ipc {
|
|
|
566
622
|
send(message) {
|
|
567
623
|
this._rawIpc.send(message);
|
|
568
624
|
}
|
|
569
|
-
sendAndTransfer(message
|
|
625
|
+
sendAndTransfer(message) {
|
|
626
|
+
const transfer = getTransferrables(message);
|
|
570
627
|
this._rawIpc.send(message, transfer);
|
|
571
628
|
}
|
|
572
629
|
dispose() {
|
|
@@ -697,8 +754,8 @@ const wrap = worker => {
|
|
|
697
754
|
this.worker.postMessage(message);
|
|
698
755
|
},
|
|
699
756
|
// @ts-ignore
|
|
700
|
-
sendAndTransfer(message
|
|
701
|
-
|
|
757
|
+
sendAndTransfer(message) {
|
|
758
|
+
const transfer = getTransferrables(message);
|
|
702
759
|
this.worker.postMessage(message, transfer);
|
|
703
760
|
},
|
|
704
761
|
dispose() {
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,103 @@
|
|
|
1
1
|
import { VError } from '@lvce-editor/verror';
|
|
2
|
-
import { string
|
|
2
|
+
import { string } from '@lvce-editor/assert';
|
|
3
|
+
|
|
4
|
+
const isMessagePort = value => {
|
|
5
|
+
return value && value instanceof MessagePort;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
const isMessagePortMain = value => {
|
|
9
|
+
return value && value.constructor && value.constructor.name === 'MessagePortMain';
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const isOffscreenCanvas = value => {
|
|
13
|
+
return typeof OffscreenCanvas !== 'undefined' && value instanceof OffscreenCanvas;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const isInstanceOf = (value, constructorName) => {
|
|
17
|
+
return value?.constructor?.name === constructorName;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const isSocket = value => {
|
|
21
|
+
return isInstanceOf(value, 'Socket');
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const transferrables = [isMessagePort, isMessagePortMain, isOffscreenCanvas, isSocket];
|
|
25
|
+
|
|
26
|
+
const isTransferrable = value => {
|
|
27
|
+
for (const fn of transferrables) {
|
|
28
|
+
if (fn(value)) {
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return false;
|
|
33
|
+
};
|
|
34
|
+
|
|
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
|
+
const getTransferrables = value => {
|
|
60
|
+
const transferrables = [];
|
|
61
|
+
walkValue(value, transferrables);
|
|
62
|
+
return transferrables;
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
const removeValues = (value, toRemove) => {
|
|
66
|
+
if (!value) {
|
|
67
|
+
return value;
|
|
68
|
+
}
|
|
69
|
+
if (Array.isArray(value)) {
|
|
70
|
+
const newItems = [];
|
|
71
|
+
for (const item of value) {
|
|
72
|
+
if (!toRemove.includes(item)) {
|
|
73
|
+
newItems.push(removeValues(item, toRemove));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return newItems;
|
|
77
|
+
}
|
|
78
|
+
if (typeof value === 'object') {
|
|
79
|
+
const newObject = Object.create(null);
|
|
80
|
+
for (const [key, property] of Object.entries(value)) {
|
|
81
|
+
if (!toRemove.includes(property)) {
|
|
82
|
+
newObject[key] = removeValues(property, toRemove);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return newObject;
|
|
86
|
+
}
|
|
87
|
+
return value;
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
// workaround for electron not supporting transferrable objects
|
|
91
|
+
// as parameters. If the transferrable object is a parameter, in electron
|
|
92
|
+
// only an empty objected is received in the main process
|
|
93
|
+
const fixElectronParameters = value => {
|
|
94
|
+
const transfer = getTransferrables(value);
|
|
95
|
+
const newValue = removeValues(value, transfer);
|
|
96
|
+
return {
|
|
97
|
+
newValue,
|
|
98
|
+
transfer
|
|
99
|
+
};
|
|
100
|
+
};
|
|
3
101
|
|
|
4
102
|
const attachEvents = that => {
|
|
5
103
|
const handleMessage = (...args) => {
|
|
@@ -168,10 +266,6 @@ class IpcError extends VError {
|
|
|
168
266
|
}
|
|
169
267
|
}
|
|
170
268
|
|
|
171
|
-
const isMessagePortMain = value => {
|
|
172
|
-
return value && value.constructor && value.constructor.name === 'MessagePortMain';
|
|
173
|
-
};
|
|
174
|
-
|
|
175
269
|
const listen$8 = ({
|
|
176
270
|
messagePort
|
|
177
271
|
}) => {
|
|
@@ -206,8 +300,12 @@ class IpcChildWithElectronMessagePort extends Ipc {
|
|
|
206
300
|
send(message) {
|
|
207
301
|
this._rawIpc.postMessage(message);
|
|
208
302
|
}
|
|
209
|
-
sendAndTransfer(message
|
|
210
|
-
|
|
303
|
+
sendAndTransfer(message) {
|
|
304
|
+
const {
|
|
305
|
+
newValue,
|
|
306
|
+
transfer
|
|
307
|
+
} = fixElectronParameters(message);
|
|
308
|
+
this._rawIpc.postMessage(newValue, transfer);
|
|
211
309
|
}
|
|
212
310
|
dispose() {
|
|
213
311
|
this._rawIpc.close();
|
|
@@ -267,8 +365,12 @@ class IpcChildWithElectronUtilityProcess extends Ipc {
|
|
|
267
365
|
send(message) {
|
|
268
366
|
this._rawIpc.postMessage(message);
|
|
269
367
|
}
|
|
270
|
-
sendAndTransfer(message
|
|
271
|
-
|
|
368
|
+
sendAndTransfer(message) {
|
|
369
|
+
const {
|
|
370
|
+
newValue,
|
|
371
|
+
transfer
|
|
372
|
+
} = fixElectronParameters(message);
|
|
373
|
+
this._rawIpc.postMessage(newValue, transfer);
|
|
272
374
|
}
|
|
273
375
|
dispose() {
|
|
274
376
|
this._rawIpc.close();
|
|
@@ -313,7 +415,8 @@ class IpcChildWithModuleWorker extends Ipc {
|
|
|
313
415
|
// @ts-ignore
|
|
314
416
|
this._rawIpc.postMessage(message);
|
|
315
417
|
}
|
|
316
|
-
sendAndTransfer(message
|
|
418
|
+
sendAndTransfer(message) {
|
|
419
|
+
const transfer = getTransferrables(message);
|
|
317
420
|
// @ts-ignore
|
|
318
421
|
this._rawIpc.postMessage(message, transfer);
|
|
319
422
|
}
|
|
@@ -388,7 +491,8 @@ class IpcChildWithModuleWorkerAndMessagePort extends Ipc {
|
|
|
388
491
|
send(message) {
|
|
389
492
|
this._rawIpc.postMessage(message);
|
|
390
493
|
}
|
|
391
|
-
sendAndTransfer(message
|
|
494
|
+
sendAndTransfer(message) {
|
|
495
|
+
const transfer = getTransferrables(message);
|
|
392
496
|
this._rawIpc.postMessage(message, transfer);
|
|
393
497
|
}
|
|
394
498
|
dispose() {
|
|
@@ -448,7 +552,8 @@ class IpcChildWithNodeForkedProcess extends Ipc {
|
|
|
448
552
|
onMessage(callback) {
|
|
449
553
|
this._rawIpc.on('message', callback);
|
|
450
554
|
}
|
|
451
|
-
sendAndTransfer(message
|
|
555
|
+
sendAndTransfer(message) {
|
|
556
|
+
const transfer = getTransferrables(message);
|
|
452
557
|
this._rawIpc.send(message, transfer);
|
|
453
558
|
}
|
|
454
559
|
dispose() {
|
|
@@ -466,10 +571,6 @@ const IpcChildWithNodeForkedProcess$1 = {
|
|
|
466
571
|
wrap: wrap$7
|
|
467
572
|
};
|
|
468
573
|
|
|
469
|
-
const isMessagePort = value => {
|
|
470
|
-
return value && value instanceof MessagePort;
|
|
471
|
-
};
|
|
472
|
-
|
|
473
574
|
const listen$3 = async ({
|
|
474
575
|
messagePort
|
|
475
576
|
}) => {
|
|
@@ -584,7 +685,8 @@ class IpcChildWithRendererProcess2 extends Ipc {
|
|
|
584
685
|
send(message) {
|
|
585
686
|
this._rawIpc.postMessage(preloadChannelType, message);
|
|
586
687
|
}
|
|
587
|
-
sendAndTransfer(message
|
|
688
|
+
sendAndTransfer(message) {
|
|
689
|
+
const transfer = getTransferrables(message);
|
|
588
690
|
this._rawIpc.postMessage(preloadChannelType, message, transfer);
|
|
589
691
|
}
|
|
590
692
|
dispose() {
|
|
@@ -904,7 +1006,8 @@ class IpcParentWithElectronUtilityProcess extends Ipc {
|
|
|
904
1006
|
send(message) {
|
|
905
1007
|
this._rawIpc.postMessage(message);
|
|
906
1008
|
}
|
|
907
|
-
sendAndTransfer(message
|
|
1009
|
+
sendAndTransfer(message) {
|
|
1010
|
+
const transfer = getTransferrables(message);
|
|
908
1011
|
this._rawIpc.postMessage(message, transfer);
|
|
909
1012
|
}
|
|
910
1013
|
dispose() {
|
|
@@ -1077,7 +1180,8 @@ class IpcParentWithNodeForkedProcess extends Ipc {
|
|
|
1077
1180
|
send(message) {
|
|
1078
1181
|
this._rawIpc.send(message);
|
|
1079
1182
|
}
|
|
1080
|
-
sendAndTransfer(message
|
|
1183
|
+
sendAndTransfer(message) {
|
|
1184
|
+
const transfer = getTransferrables(message);
|
|
1081
1185
|
this._rawIpc.send(message, transfer);
|
|
1082
1186
|
}
|
|
1083
1187
|
dispose() {
|
|
@@ -1167,8 +1271,8 @@ const wrap = worker => {
|
|
|
1167
1271
|
this.worker.postMessage(message);
|
|
1168
1272
|
},
|
|
1169
1273
|
// @ts-ignore
|
|
1170
|
-
sendAndTransfer(message
|
|
1171
|
-
|
|
1274
|
+
sendAndTransfer(message) {
|
|
1275
|
+
const transfer = getTransferrables(message);
|
|
1172
1276
|
this.worker.postMessage(message, transfer);
|
|
1173
1277
|
},
|
|
1174
1278
|
dispose() {
|