@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 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 = getTransferrables(message);
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 = getTransferrables(message);
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$1 = event => {
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$1(event);
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, handle) {
544
- return getActualData(message, handle);
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 = getTransferrables(message);
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 = getTransferrables(message);
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 = getTransferrables(message);
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.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.2.0"
19
+ "@lvce-editor/web-socket-server": "^1.3.0"
20
20
  },
21
21
  "engines": {
22
22
  "node": ">=18"