@lvce-editor/ipc 11.2.0 → 11.4.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 +56 -41
- package/package.json +1 -1
package/dist/browser.js
CHANGED
|
@@ -593,12 +593,66 @@ const IpcChildWithWindow$1 = {
|
|
|
593
593
|
wrap: wrap$3
|
|
594
594
|
};
|
|
595
595
|
|
|
596
|
-
const
|
|
597
|
-
|
|
596
|
+
const Message$1 = 3;
|
|
597
|
+
|
|
598
|
+
const addListener = (emitter, type, callback) => {
|
|
599
|
+
if ('addEventListener' in emitter) {
|
|
600
|
+
emitter.addEventListener(type, callback);
|
|
601
|
+
} else {
|
|
602
|
+
emitter.on(type, callback);
|
|
603
|
+
}
|
|
604
|
+
};
|
|
605
|
+
const removeListener = (emitter, type, callback) => {
|
|
606
|
+
if ('removeEventListener' in emitter) {
|
|
607
|
+
emitter.removeEventListener(type, callback);
|
|
608
|
+
} else {
|
|
609
|
+
emitter.off(type, callback);
|
|
610
|
+
}
|
|
611
|
+
};
|
|
612
|
+
const getFirstEvent = (eventEmitter, eventMap) => {
|
|
613
|
+
const {
|
|
614
|
+
resolve,
|
|
615
|
+
promise
|
|
616
|
+
} = withResolvers();
|
|
617
|
+
const listenerMap = Object.create(null);
|
|
618
|
+
const cleanup = value => {
|
|
619
|
+
for (const event of Object.keys(eventMap)) {
|
|
620
|
+
removeListener(eventEmitter, event, listenerMap[event]);
|
|
621
|
+
}
|
|
622
|
+
resolve(value);
|
|
623
|
+
};
|
|
624
|
+
for (const [event, type] of Object.entries(eventMap)) {
|
|
625
|
+
const listener = event => {
|
|
626
|
+
cleanup({
|
|
627
|
+
type,
|
|
628
|
+
event
|
|
629
|
+
});
|
|
630
|
+
};
|
|
631
|
+
addListener(eventEmitter, event, listener);
|
|
632
|
+
listenerMap[event] = listener;
|
|
633
|
+
}
|
|
634
|
+
return promise;
|
|
635
|
+
};
|
|
636
|
+
|
|
637
|
+
const create$2 = async ({
|
|
638
|
+
messagePort,
|
|
639
|
+
isMessagePortOpen
|
|
598
640
|
}) => {
|
|
599
641
|
if (!isMessagePort(messagePort)) {
|
|
600
642
|
throw new IpcError('port must be of type MessagePort');
|
|
601
643
|
}
|
|
644
|
+
if (isMessagePortOpen) {
|
|
645
|
+
return messagePort;
|
|
646
|
+
}
|
|
647
|
+
const eventPromise = getFirstEvent(messagePort, {
|
|
648
|
+
message: Message$1
|
|
649
|
+
});
|
|
650
|
+
messagePort.start();
|
|
651
|
+
const event = await eventPromise;
|
|
652
|
+
// @ts-ignore
|
|
653
|
+
if (event.data !== readyMessage) {
|
|
654
|
+
throw new IpcError('unexpected first message');
|
|
655
|
+
}
|
|
602
656
|
return messagePort;
|
|
603
657
|
};
|
|
604
658
|
const signal = messagePort => {
|
|
@@ -637,45 +691,6 @@ const IpcParentWithMessagePort$1 = {
|
|
|
637
691
|
const Message = 'message';
|
|
638
692
|
const Error$1 = 'error';
|
|
639
693
|
|
|
640
|
-
const addListener = (emitter, type, callback) => {
|
|
641
|
-
if ('addEventListener' in emitter) {
|
|
642
|
-
emitter.addEventListener(type, callback);
|
|
643
|
-
} else {
|
|
644
|
-
emitter.on(type, callback);
|
|
645
|
-
}
|
|
646
|
-
};
|
|
647
|
-
const removeListener = (emitter, type, callback) => {
|
|
648
|
-
if ('removeEventListener' in emitter) {
|
|
649
|
-
emitter.removeEventListener(type, callback);
|
|
650
|
-
} else {
|
|
651
|
-
emitter.off(type, callback);
|
|
652
|
-
}
|
|
653
|
-
};
|
|
654
|
-
const getFirstEvent = (eventEmitter, eventMap) => {
|
|
655
|
-
const {
|
|
656
|
-
resolve,
|
|
657
|
-
promise
|
|
658
|
-
} = withResolvers();
|
|
659
|
-
const listenerMap = Object.create(null);
|
|
660
|
-
const cleanup = value => {
|
|
661
|
-
for (const event of Object.keys(eventMap)) {
|
|
662
|
-
removeListener(eventEmitter, event, listenerMap[event]);
|
|
663
|
-
}
|
|
664
|
-
resolve(value);
|
|
665
|
-
};
|
|
666
|
-
for (const [event, type] of Object.entries(eventMap)) {
|
|
667
|
-
const listener = event => {
|
|
668
|
-
cleanup({
|
|
669
|
-
type,
|
|
670
|
-
event
|
|
671
|
-
});
|
|
672
|
-
};
|
|
673
|
-
addListener(eventEmitter, event, listener);
|
|
674
|
-
listenerMap[event] = listener;
|
|
675
|
-
}
|
|
676
|
-
return promise;
|
|
677
|
-
};
|
|
678
|
-
|
|
679
694
|
const getFirstWorkerEvent = worker => {
|
|
680
695
|
return getFirstEvent(worker, {
|
|
681
696
|
message: Message,
|