@lvce-editor/main-area-worker 9.35.0 → 9.35.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.
@@ -957,9 +957,9 @@ const create$d = (id, method, params) => {
957
957
  return message;
958
958
  };
959
959
 
960
- let id$1 = 0;
960
+ let id = 0;
961
961
  const create$c = () => {
962
- return ++id$1;
962
+ return ++id;
963
963
  };
964
964
 
965
965
  const registerPromise = map => {
@@ -1214,7 +1214,7 @@ const createMockRpc = ({
1214
1214
  };
1215
1215
 
1216
1216
  const rpcs = Object.create(null);
1217
- const set$6 = (id, rpc) => {
1217
+ const set$5 = (id, rpc) => {
1218
1218
  rpcs[id] = rpc;
1219
1219
  };
1220
1220
  const get$1 = id => {
@@ -1247,7 +1247,7 @@ const create$4 = rpcId => {
1247
1247
  const mockRpc = createMockRpc({
1248
1248
  commandMap
1249
1249
  });
1250
- set$6(rpcId, mockRpc);
1250
+ set$5(rpcId, mockRpc);
1251
1251
  // @ts-ignore
1252
1252
  mockRpc[Symbol.dispose] = () => {
1253
1253
  remove(rpcId);
@@ -1256,7 +1256,7 @@ const create$4 = rpcId => {
1256
1256
  return mockRpc;
1257
1257
  },
1258
1258
  set(rpc) {
1259
- set$6(rpcId, rpc);
1259
+ set$5(rpcId, rpc);
1260
1260
  }
1261
1261
  };
1262
1262
  };
@@ -1438,6 +1438,7 @@ const VirtualDomElements = {
1438
1438
  const Button$1 = 'event.button';
1439
1439
  const ClientX = 'event.clientX';
1440
1440
  const ClientY = 'event.clientY';
1441
+ const DataTransferFiles = 'event.dataTransfer.files';
1441
1442
  const DataTransferFiles2 = 'event.dataTransfer.files2';
1442
1443
  const EventTargetClassName = 'event.target.className';
1443
1444
  const TargetName = 'event.target.name';
@@ -1452,11 +1453,11 @@ const Add$1 = 6;
1452
1453
  const NavigateChild$1 = 7;
1453
1454
  const NavigateParent$1 = 8;
1454
1455
 
1456
+ const Web = 1;
1455
1457
  const Electron = 2;
1456
1458
 
1457
1459
  const ClipBoardWorker = 3400;
1458
1460
  const DialogWorker = 7014;
1459
- const ExtensionHostWorker = 44;
1460
1461
  const IconThemeWorker = 7009;
1461
1462
  const RendererWorker = 1;
1462
1463
 
@@ -1467,17 +1468,13 @@ const SetPatches = 'Viewlet.setPatches';
1467
1468
  const FocusEditorText = 12;
1468
1469
 
1469
1470
  const {
1470
- set: set$5
1471
+ set: set$4
1471
1472
  } = create$4(ClipBoardWorker);
1472
1473
 
1473
1474
  const {
1474
1475
  invoke: invoke$2,
1475
- set: set$4
1476
- } = create$4(DialogWorker);
1477
-
1478
- const {
1479
1476
  set: set$3
1480
- } = create$4(ExtensionHostWorker);
1477
+ } = create$4(DialogWorker);
1481
1478
 
1482
1479
  const {
1483
1480
  invoke: invoke$1,
@@ -1577,10 +1574,6 @@ const sendMessagePortToIconThemeWorker = async (port, rpcId) => {
1577
1574
  const readFile = async uri => {
1578
1575
  return invoke('FileSystem.readFile', uri);
1579
1576
  };
1580
- const sendMessagePortToExtensionHostWorker$1 = async (port, rpcId = 0) => {
1581
- const command = 'HandleMessagePort.handleMessagePort2';
1582
- await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionHostWorker', port, command, rpcId);
1583
- };
1584
1577
  const confirm$1 = async (message, options) => {
1585
1578
  const result = await invoke('ConfirmPrompt.prompt', message, options);
1586
1579
  return result;
@@ -4848,11 +4841,37 @@ const parseUriList = value => {
4848
4841
  return value.split(lineSeparatorRegex).map(uri => uri.trim()).filter(uri => uri && !uri.startsWith('#'));
4849
4842
  };
4850
4843
 
4844
+ const windowsDriveLetterRegex = /^[a-zA-Z]:\\/;
4845
+ const encodeFilePath = path => {
4846
+ return encodeURI(path).replaceAll('#', '%23').replaceAll('?', '%3F');
4847
+ };
4848
+ const toFileUri$1 = path => {
4849
+ if (path.startsWith('file://')) {
4850
+ return path;
4851
+ }
4852
+ if (windowsDriveLetterRegex.test(path)) {
4853
+ const normalizedPath = path.replaceAll('\\', '/');
4854
+ return `file:///${encodeFilePath(normalizedPath)}`;
4855
+ }
4856
+ return `file://${encodeFilePath(path)}`;
4857
+ };
4858
+
4851
4859
  const suffixByHandleKind = {
4852
4860
  directory: '/',
4853
4861
  file: ''
4854
4862
  };
4855
- const getDroppedUris = async itemIds => {
4863
+ const getDroppedElectronUris = async (itemIds, files) => {
4864
+ if (itemIds.length > 0) {
4865
+ await getFileHandles(itemIds);
4866
+ }
4867
+ const uris = [];
4868
+ for (const file of files) {
4869
+ const path = await invoke('FileSystemHandle.getFilePathElectron', file);
4870
+ uris.push(toFileUri$1(path));
4871
+ }
4872
+ return uris;
4873
+ };
4874
+ const getDroppedBrowserUris = async itemIds => {
4856
4875
  if (itemIds.length === 0) {
4857
4876
  return [];
4858
4877
  }
@@ -4892,6 +4911,12 @@ const getDroppedUris = async itemIds => {
4892
4911
  }
4893
4912
  return uris;
4894
4913
  };
4914
+ const getDroppedUris = async (itemIds, files = [], platform = Web) => {
4915
+ if (platform === Electron && files.length > 0) {
4916
+ return getDroppedElectronUris(itemIds, files);
4917
+ }
4918
+ return getDroppedBrowserUris(itemIds);
4919
+ };
4895
4920
 
4896
4921
  const openUrisWithContext = async (context, uris) => {
4897
4922
  for (const uri of uris) {
@@ -4899,9 +4924,12 @@ const openUrisWithContext = async (context, uris) => {
4899
4924
  }
4900
4925
  };
4901
4926
 
4902
- const handleDrop = async (context, itemIds) => {
4927
+ const handleDrop = async (context, itemIds, files = []) => {
4903
4928
  await context.updateState(handleDragLeave);
4904
- const uris = await getDroppedUris(itemIds);
4929
+ const {
4930
+ platform
4931
+ } = context.getState();
4932
+ const uris = await getDroppedUris(itemIds, files, platform);
4905
4933
  for (const uri of uris) {
4906
4934
  if (uri.endsWith('/') || (await isDirectoryEditorInput({
4907
4935
  type: 'editor',
@@ -5881,26 +5909,8 @@ const hasActiveTextEditor = state => {
5881
5909
  return activeTab?.tab.editorInput?.type === 'editor';
5882
5910
  };
5883
5911
 
5884
- const id = 7201;
5885
- const sendMessagePortToExtensionHostWorker = async port => {
5886
- await sendMessagePortToExtensionHostWorker$1(port, id);
5887
- };
5888
-
5889
- const createExtensionHostRpc = async () => {
5890
- try {
5891
- const rpc = await create$9({
5892
- commandMap: {},
5893
- send: sendMessagePortToExtensionHostWorker
5894
- });
5895
- return rpc;
5896
- } catch (error) {
5897
- throw new VError(error, `Failed to create extension host rpc`);
5898
- }
5899
- };
5900
-
5901
5912
  const initialize = async () => {
5902
- const rpc = await createExtensionHostRpc();
5903
- set$3(rpc);
5913
+ // Kept as a compatibility command for existing renderer startup code.
5904
5914
  };
5905
5915
 
5906
5916
  const hasTargetGroup = groupId => {
@@ -7380,7 +7390,7 @@ const renderEventListeners = () => {
7380
7390
  params: ['handleDragLeave']
7381
7391
  }, {
7382
7392
  name: HandleDrop,
7383
- params: ['handleDrop', DataTransferFiles2],
7393
+ params: ['handleDrop', DataTransferFiles2, DataTransferFiles],
7384
7394
  preventDefault: true
7385
7395
  }];
7386
7396
  };
@@ -8094,7 +8104,7 @@ const initializeClipBoardWorker = async () => {
8094
8104
  commandMap: {},
8095
8105
  send: sendMessagePortToClipBoardWorker
8096
8106
  });
8097
- set$5(rpc);
8107
+ set$4(rpc);
8098
8108
  };
8099
8109
 
8100
8110
  const send = port => {
@@ -8144,7 +8154,7 @@ const listen = async () => {
8144
8154
  commandMap: {},
8145
8155
  send: sendMessagePortToDialogWorker
8146
8156
  });
8147
- set$4(dialogRpc);
8157
+ set$3(dialogRpc);
8148
8158
  };
8149
8159
 
8150
8160
  const main$1 = async () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/main-area-worker",
3
- "version": "9.35.0",
3
+ "version": "9.35.2",
4
4
  "description": "Main Area Worker",
5
5
  "repository": {
6
6
  "type": "git",