@lvce-editor/ipc 3.7.0 → 4.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 CHANGED
@@ -41,6 +41,11 @@ const wrap$3 = global => {
41
41
  };
42
42
  this.listener = listener;
43
43
  this.global.onmessage = wrappedListener;
44
+ },
45
+ dispose() {
46
+ // @ts-ignore
47
+ this.listener = null;
48
+ this.global.onmessage = null;
44
49
  }
45
50
  };
46
51
  };
@@ -284,6 +289,7 @@ const waitForFirstMessage = async port => {
284
289
 
285
290
  const listen$1 = async () => {
286
291
  const parentIpcRaw = listen$2();
292
+ signal$1(parentIpcRaw);
287
293
  const parentIpc = wrap$3(parentIpcRaw);
288
294
  const firstMessage = await waitForFirstMessage(parentIpc);
289
295
  if (firstMessage.method !== 'initialize') {
@@ -291,6 +297,7 @@ const listen$1 = async () => {
291
297
  }
292
298
  const type = firstMessage.params[0];
293
299
  if (type === 'message-port') {
300
+ parentIpc.dispose();
294
301
  const port = firstMessage.params[1];
295
302
  return port;
296
303
  }
package/dist/index.d.ts CHANGED
@@ -1,6 +1,15 @@
1
+ interface Ipc {
2
+ readonly send: (message: any) => void
3
+ readonly sendAndTransfer: (message: any, transfer: any) => void
4
+ readonly on: any
5
+ readonly onmessage: any
6
+ readonly dispose: () => void
7
+ readonly isDisposed: () => void
8
+ }
9
+
1
10
  interface IpcChild {
2
11
  readonly listen: any
3
- readonly wrap: any
12
+ readonly wrap: Ipc
4
13
  }
5
14
 
6
15
  export const IpcChildWithElectronMessagePort: IpcChild
@@ -11,7 +20,7 @@ export const IpcChildWithNodeWorker: IpcChild
11
20
 
12
21
  interface IpcParent {
13
22
  readonly create: any
14
- readonly wrap: any
23
+ readonly wrap: Ipc
15
24
  }
16
25
 
17
26
  export const IpcParentWithElectronUtilityProcess: IpcParent
package/dist/index.js CHANGED
@@ -185,7 +185,11 @@ const wrap$a = messagePort => {
185
185
  // @ts-ignore
186
186
  const wrappedListener = event => {
187
187
  const actualData = getActualData$1(event);
188
- listener(actualData);
188
+ const syntheticEvent = {
189
+ data: actualData,
190
+ target: this
191
+ };
192
+ listener(syntheticEvent);
189
193
  };
190
194
  this.messagePort.on(event, wrappedListener);
191
195
  } else if (event === 'close') {
@@ -260,7 +264,11 @@ const wrap$9 = parentPort => {
260
264
  // @ts-ignore
261
265
  const wrappedListener = event => {
262
266
  const actualData = getUtilityProcessPortData(event);
263
- listener(actualData);
267
+ const syntheticEvent = {
268
+ data: actualData,
269
+ target: this
270
+ };
271
+ listener(syntheticEvent);
264
272
  };
265
273
  this.parentPort.on(event, wrappedListener);
266
274
  } else if (event === 'close') {
@@ -335,6 +343,11 @@ const wrap$8 = global => {
335
343
  };
336
344
  this.listener = listener;
337
345
  this.global.onmessage = wrappedListener;
346
+ },
347
+ dispose() {
348
+ // @ts-ignore
349
+ this.listener = null;
350
+ this.global.onmessage = null;
338
351
  }
339
352
  };
340
353
  };
@@ -377,6 +390,7 @@ const waitForFirstMessage = async port => {
377
390
 
378
391
  const listen$4 = async () => {
379
392
  const parentIpcRaw = listen$5();
393
+ signal$2(parentIpcRaw);
380
394
  const parentIpc = wrap$8(parentIpcRaw);
381
395
  const firstMessage = await waitForFirstMessage(parentIpc);
382
396
  if (firstMessage.method !== 'initialize') {
@@ -384,6 +398,7 @@ const listen$4 = async () => {
384
398
  }
385
399
  const type = firstMessage.params[0];
386
400
  if (type === 'message-port') {
401
+ parentIpc.dispose();
387
402
  const port = firstMessage.params[1];
388
403
  return port;
389
404
  }
@@ -463,7 +478,11 @@ const wrap$6 = process => {
463
478
  // @ts-ignore
464
479
  const wrappedListener = (event, handle) => {
465
480
  const actualData = getActualData(event, handle);
466
- listener(actualData);
481
+ const syntheticEvent = {
482
+ data: actualData,
483
+ target: this
484
+ };
485
+ listener(syntheticEvent);
467
486
  };
468
487
  this.process.on(event, wrappedListener);
469
488
  } else if (event === 'close') {
@@ -507,7 +526,14 @@ const wrap$5 = port => {
507
526
  return {
508
527
  port,
509
528
  on(event, listener) {
510
- this.port.on(event, listener);
529
+ const wrappedListener = message => {
530
+ const event = {
531
+ data: message,
532
+ target: this
533
+ };
534
+ listener(event);
535
+ };
536
+ this.port.on(event, wrappedListener);
511
537
  },
512
538
  off(event, listener) {
513
539
  this.port.off(event, listener);
@@ -546,7 +572,14 @@ const wrap$4 = parentPort => {
546
572
  return {
547
573
  parentPort,
548
574
  on(event, listener) {
549
- this.parentPort.on(event, listener);
575
+ const wrappedListener = message => {
576
+ const event = {
577
+ data: message,
578
+ target: this
579
+ };
580
+ listener(event);
581
+ };
582
+ this.parentPort.on(event, wrappedListener);
550
583
  },
551
584
  off(event, listener) {
552
585
  this.parentPort.off(event, listener);
@@ -690,7 +723,11 @@ const wrap$3 = webSocket => {
690
723
  // @ts-ignore
691
724
  const wrappedListener = message => {
692
725
  const data = deserialize(message);
693
- listener(data);
726
+ const event = {
727
+ data,
728
+ target: this
729
+ };
730
+ listener(event);
694
731
  };
695
732
  webSocket.on('message', wrappedListener);
696
733
  break;
@@ -822,7 +859,6 @@ const create$2 = async ({
822
859
  childProcess.stdout.pipe(process.stdout);
823
860
  const {
824
861
  type,
825
- event,
826
862
  stdout,
827
863
  stderr
828
864
  } = await getFirstUtilityProcessEvent(childProcess);
@@ -840,7 +876,14 @@ const wrap$2 = process => {
840
876
  process,
841
877
  // @ts-ignore
842
878
  on(event, listener) {
843
- this.process.on(event, listener);
879
+ const wrappedListener = message => {
880
+ const syntheticEvent = {
881
+ data: message,
882
+ target: this
883
+ };
884
+ listener(syntheticEvent);
885
+ };
886
+ this.process.on(event, wrappedListener);
844
887
  },
845
888
  // @ts-ignore
846
889
  send(message) {
@@ -986,7 +1029,6 @@ const create$1 = async ({
986
1029
  const {
987
1030
  type,
988
1031
  event,
989
- stdout,
990
1032
  stderr
991
1033
  } = await getFirstNodeChildProcessEvent(childProcess);
992
1034
  if (type === Exit) {
@@ -1011,7 +1053,14 @@ const wrap$1 = childProcess => {
1011
1053
  childProcess,
1012
1054
  // @ts-ignore
1013
1055
  on(event, listener) {
1014
- this.childProcess.on(event, listener);
1056
+ const wrappedListener = message => {
1057
+ const syntheticEvent = {
1058
+ data: message,
1059
+ target: this
1060
+ };
1061
+ listener(syntheticEvent);
1062
+ };
1063
+ this.childProcess.on(event, wrappedListener);
1015
1064
  },
1016
1065
  // @ts-ignore
1017
1066
  off(event, listener) {
@@ -1091,7 +1140,14 @@ const wrap = worker => {
1091
1140
  worker,
1092
1141
  // @ts-ignore
1093
1142
  on(event, listener) {
1094
- this.worker.on(event, listener);
1143
+ const wrappedListener = message => {
1144
+ const syntheticEvent = {
1145
+ data: message,
1146
+ target: this
1147
+ };
1148
+ listener(syntheticEvent);
1149
+ };
1150
+ this.worker.on(event, wrappedListener);
1095
1151
  },
1096
1152
  // @ts-ignore
1097
1153
  send(message) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/ipc",
3
- "version": "3.7.0",
3
+ "version": "4.0.0",
4
4
  "description": "Inter Process Communication for Lvce Editor",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",