@lvce-editor/ipc 10.0.0 → 10.0.1
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 +34 -28
- package/package.json +1 -1
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
|
|
|
@@ -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');
|
|
@@ -553,7 +559,7 @@ class IpcChildWithNodeForkedProcess extends Ipc {
|
|
|
553
559
|
this._rawIpc.on('message', callback);
|
|
554
560
|
}
|
|
555
561
|
sendAndTransfer(message) {
|
|
556
|
-
const transfer =
|
|
562
|
+
const transfer = getTransferrablesNode(message);
|
|
557
563
|
this._rawIpc.send(message, transfer);
|
|
558
564
|
}
|
|
559
565
|
dispose() {
|
|
@@ -1181,7 +1187,7 @@ class IpcParentWithNodeForkedProcess extends Ipc {
|
|
|
1181
1187
|
this._rawIpc.send(message);
|
|
1182
1188
|
}
|
|
1183
1189
|
sendAndTransfer(message) {
|
|
1184
|
-
const transfer =
|
|
1190
|
+
const transfer = getTransferrablesNode(message);
|
|
1185
1191
|
this._rawIpc.send(message, transfer);
|
|
1186
1192
|
}
|
|
1187
1193
|
dispose() {
|
|
@@ -1272,7 +1278,7 @@ const wrap = worker => {
|
|
|
1272
1278
|
},
|
|
1273
1279
|
// @ts-ignore
|
|
1274
1280
|
sendAndTransfer(message) {
|
|
1275
|
-
const transfer =
|
|
1281
|
+
const transfer = getTransferrablesNode(message);
|
|
1276
1282
|
this.worker.postMessage(message, transfer);
|
|
1277
1283
|
},
|
|
1278
1284
|
dispose() {
|