@lvce-editor/editor-worker 19.58.0 → 19.58.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/editorWorkerMain.js +117 -12
- package/package.json +1 -1
package/dist/editorWorkerMain.js
CHANGED
|
@@ -1748,7 +1748,7 @@ const codeGeneratorAccept = state => {
|
|
|
1748
1748
|
|
|
1749
1749
|
const editorStates = create$9();
|
|
1750
1750
|
const {
|
|
1751
|
-
dispose: dispose$
|
|
1751
|
+
dispose: dispose$4,
|
|
1752
1752
|
getCommandIds,
|
|
1753
1753
|
registerCommands,
|
|
1754
1754
|
wrapGetter
|
|
@@ -3490,6 +3490,93 @@ const getUrlAtOffset = (editor, offset) => {
|
|
|
3490
3490
|
const EditorChange = 1;
|
|
3491
3491
|
const EditorSelection$1 = 2;
|
|
3492
3492
|
|
|
3493
|
+
const deliveries = new Map();
|
|
3494
|
+
const getDelta = (previous, next) => {
|
|
3495
|
+
return Object.fromEntries(Object.entries(next).filter(([key, value]) => previous[key] !== value));
|
|
3496
|
+
};
|
|
3497
|
+
const flush = async delivery => {
|
|
3498
|
+
while (delivery.pending && !delivery.disposed) {
|
|
3499
|
+
const status = delivery.pendingStatus;
|
|
3500
|
+
delivery.pending = false;
|
|
3501
|
+
if (delivery.supportsDeltas === undefined) {
|
|
3502
|
+
try {
|
|
3503
|
+
delivery.supportsDeltas = (await delivery.rpc.invoke('StatusBar.supportsEditorStatusDeltas')) === true;
|
|
3504
|
+
} catch {
|
|
3505
|
+
delivery.supportsDeltas = false;
|
|
3506
|
+
}
|
|
3507
|
+
}
|
|
3508
|
+
if (delivery.disposed) {
|
|
3509
|
+
return;
|
|
3510
|
+
}
|
|
3511
|
+
let update = status;
|
|
3512
|
+
if (delivery.hasBaseline) {
|
|
3513
|
+
if (!delivery.baseline && !status) {
|
|
3514
|
+
continue;
|
|
3515
|
+
}
|
|
3516
|
+
if (delivery.baseline && status) {
|
|
3517
|
+
const delta = getDelta(delivery.baseline, status);
|
|
3518
|
+
if (Object.keys(delta).length === 0) {
|
|
3519
|
+
continue;
|
|
3520
|
+
}
|
|
3521
|
+
if (delivery.supportsDeltas) {
|
|
3522
|
+
update = delta;
|
|
3523
|
+
}
|
|
3524
|
+
}
|
|
3525
|
+
}
|
|
3526
|
+
try {
|
|
3527
|
+
await delivery.rpc.invoke('StatusBar.handleEditorStatusChanged', update);
|
|
3528
|
+
delivery.baseline = status;
|
|
3529
|
+
delivery.hasBaseline = true;
|
|
3530
|
+
} catch (error) {
|
|
3531
|
+
delivery.baseline = undefined;
|
|
3532
|
+
delivery.hasBaseline = false;
|
|
3533
|
+
console.warn('Failed to deliver editor status:', error);
|
|
3534
|
+
}
|
|
3535
|
+
}
|
|
3536
|
+
};
|
|
3537
|
+
const run$1 = async delivery => {
|
|
3538
|
+
try {
|
|
3539
|
+
await flush(delivery);
|
|
3540
|
+
} finally {
|
|
3541
|
+
delivery.running = undefined;
|
|
3542
|
+
}
|
|
3543
|
+
// An update can arrive after flush returns but before this continuation runs.
|
|
3544
|
+
if (delivery.pending && !delivery.disposed) {
|
|
3545
|
+
await start(delivery);
|
|
3546
|
+
}
|
|
3547
|
+
};
|
|
3548
|
+
const start = delivery => {
|
|
3549
|
+
delivery.running = run$1(delivery);
|
|
3550
|
+
return delivery.running;
|
|
3551
|
+
};
|
|
3552
|
+
const dispose$3 = rpcId => {
|
|
3553
|
+
const delivery = deliveries.get(rpcId);
|
|
3554
|
+
if (delivery) {
|
|
3555
|
+
delivery.disposed = true;
|
|
3556
|
+
deliveries.delete(rpcId);
|
|
3557
|
+
}
|
|
3558
|
+
};
|
|
3559
|
+
const send$2 = (rpcId, rpc, status) => {
|
|
3560
|
+
let delivery = deliveries.get(rpcId);
|
|
3561
|
+
if (!delivery || delivery.rpc !== rpc) {
|
|
3562
|
+
dispose$3(rpcId);
|
|
3563
|
+
delivery = {
|
|
3564
|
+
baseline: undefined,
|
|
3565
|
+
disposed: false,
|
|
3566
|
+
hasBaseline: false,
|
|
3567
|
+
pending: false,
|
|
3568
|
+
pendingStatus: undefined,
|
|
3569
|
+
rpc,
|
|
3570
|
+
running: undefined,
|
|
3571
|
+
supportsDeltas: undefined
|
|
3572
|
+
};
|
|
3573
|
+
deliveries.set(rpcId, delivery);
|
|
3574
|
+
}
|
|
3575
|
+
delivery.pendingStatus = status;
|
|
3576
|
+
delivery.pending = true;
|
|
3577
|
+
return delivery.running || start(delivery);
|
|
3578
|
+
};
|
|
3579
|
+
|
|
3493
3580
|
const state$a = Object.create(null);
|
|
3494
3581
|
|
|
3495
3582
|
/**
|
|
@@ -3518,6 +3605,9 @@ const registerListener$1 = (listenerType, rpcId) => {
|
|
|
3518
3605
|
const unregisterListener$1 = (listenerType, rpcId) => {
|
|
3519
3606
|
number(listenerType);
|
|
3520
3607
|
number(rpcId);
|
|
3608
|
+
if (listenerType === EditorSelection$1) {
|
|
3609
|
+
dispose$3(rpcId);
|
|
3610
|
+
}
|
|
3521
3611
|
if (Object.hasOwn(state$a, listenerType)) {
|
|
3522
3612
|
const index = state$a[listenerType].indexOf(rpcId);
|
|
3523
3613
|
if (index !== -1) {
|
|
@@ -5665,21 +5755,34 @@ const getEditorStatus = editor => {
|
|
|
5665
5755
|
};
|
|
5666
5756
|
};
|
|
5667
5757
|
|
|
5668
|
-
const
|
|
5669
|
-
|
|
5758
|
+
const sendToListener = async (rpcId, status) => {
|
|
5759
|
+
const rpc = get$9(rpcId);
|
|
5760
|
+
if (rpc) {
|
|
5761
|
+
await send$2(rpcId, rpc, status);
|
|
5762
|
+
}
|
|
5670
5763
|
};
|
|
5671
|
-
const
|
|
5672
|
-
if (
|
|
5764
|
+
const initializeListener = async rpcId => {
|
|
5765
|
+
if (!getListeners(EditorSelection$1).includes(rpcId)) {
|
|
5673
5766
|
return;
|
|
5674
5767
|
}
|
|
5675
|
-
const
|
|
5676
|
-
|
|
5768
|
+
const editor = getKeys$2().map(uid => get$8(Number(uid))?.newState).find(state => {
|
|
5769
|
+
const {
|
|
5770
|
+
focused,
|
|
5771
|
+
initial
|
|
5772
|
+
} = state || {};
|
|
5773
|
+
return focused && !initial;
|
|
5774
|
+
});
|
|
5775
|
+
await sendToListener(rpcId, editor ? getEditorStatus(editor) : undefined);
|
|
5776
|
+
};
|
|
5777
|
+
const notifyEditorStatusChange = async (_oldEditor, newEditor) => {
|
|
5778
|
+
if (newEditor.initial || !newEditor.focused) {
|
|
5677
5779
|
return;
|
|
5678
5780
|
}
|
|
5679
|
-
|
|
5781
|
+
const status = getEditorStatus(newEditor);
|
|
5782
|
+
await Promise.all(getListeners(EditorSelection$1).map(rpcId => sendToListener(rpcId, status)));
|
|
5680
5783
|
};
|
|
5681
5784
|
const notifyEditorStatusCleared = async () => {
|
|
5682
|
-
await
|
|
5785
|
+
await Promise.all(getListeners(EditorSelection$1).map(rpcId => sendToListener(rpcId, undefined)));
|
|
5683
5786
|
};
|
|
5684
5787
|
|
|
5685
5788
|
const addWidget$1 = widget => {
|
|
@@ -5774,7 +5877,7 @@ const disposeEditor = async editorUid => {
|
|
|
5774
5877
|
});
|
|
5775
5878
|
dispose$1(editorUid);
|
|
5776
5879
|
dispose$2(editorUid);
|
|
5777
|
-
dispose$
|
|
5880
|
+
dispose$4(editorUid);
|
|
5778
5881
|
if (getKeys$2().length === 0) {
|
|
5779
5882
|
await notifyEditorStatusCleared();
|
|
5780
5883
|
}
|
|
@@ -14044,6 +14147,7 @@ const handleMessagePort = async (port, rpcId) => {
|
|
|
14044
14147
|
});
|
|
14045
14148
|
if (rpcId) {
|
|
14046
14149
|
set$h(rpcId, rpc);
|
|
14150
|
+
await initializeListener(rpcId);
|
|
14047
14151
|
}
|
|
14048
14152
|
};
|
|
14049
14153
|
|
|
@@ -14727,10 +14831,11 @@ const refreshGutterDecorationsAll = async () => {
|
|
|
14727
14831
|
* @param listenerType - The type of event to listen for (from ListenerType enum)
|
|
14728
14832
|
* @param rpcId - The RPC ID of the listener that will be notified
|
|
14729
14833
|
*/
|
|
14730
|
-
const registerListener = (listenerType, rpcId) => {
|
|
14834
|
+
const registerListener = async (listenerType, rpcId) => {
|
|
14731
14835
|
number(listenerType);
|
|
14732
14836
|
number(rpcId);
|
|
14733
14837
|
registerListener$1(listenerType, rpcId);
|
|
14838
|
+
await initializeListener(rpcId);
|
|
14734
14839
|
};
|
|
14735
14840
|
|
|
14736
14841
|
const renderAdditionalFocusContext$1 = (oldState, newState) => {
|
|
@@ -16545,7 +16650,7 @@ const commandMap = {
|
|
|
16545
16650
|
'Id.configure': configure,
|
|
16546
16651
|
'Initialize.initialize': intialize,
|
|
16547
16652
|
'Listener.register': registerListener,
|
|
16548
|
-
'Listener.registerListener': registerListener
|
|
16653
|
+
'Listener.registerListener': registerListener,
|
|
16549
16654
|
'Listener.unregister': unregisterListener,
|
|
16550
16655
|
'SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionHostWorker': sendDeprecatedExtensionHostPortToExtensionManagementWorker,
|
|
16551
16656
|
'SendMessagePortToExtensionManagementWorker.sendMessagePortToExtensionManagementWorker': sendMessagePortToExtensionManagementWorker
|