@lvce-editor/extension-search-view 4.4.0 → 4.6.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.
@@ -417,9 +417,103 @@ const IpcChildWithModuleWorkerAndMessagePort$1 = {
417
417
  listen: listen$6,
418
418
  wrap: wrap$e
419
419
  };
420
+ const addListener = (emitter, type, callback) => {
421
+ if ('addEventListener' in emitter) {
422
+ emitter.addEventListener(type, callback);
423
+ } else {
424
+ emitter.on(type, callback);
425
+ }
426
+ };
427
+ const removeListener = (emitter, type, callback) => {
428
+ if ('removeEventListener' in emitter) {
429
+ emitter.removeEventListener(type, callback);
430
+ } else {
431
+ emitter.off(type, callback);
432
+ }
433
+ };
434
+ const getFirstEvent = (eventEmitter, eventMap) => {
435
+ const {
436
+ resolve,
437
+ promise
438
+ } = Promise.withResolvers();
439
+ const listenerMap = Object.create(null);
440
+ const cleanup = value => {
441
+ for (const event of Object.keys(eventMap)) {
442
+ removeListener(eventEmitter, event, listenerMap[event]);
443
+ }
444
+ resolve(value);
445
+ };
446
+ for (const [event, type] of Object.entries(eventMap)) {
447
+ const listener = event => {
448
+ cleanup({
449
+ type,
450
+ event
451
+ });
452
+ };
453
+ addListener(eventEmitter, event, listener);
454
+ listenerMap[event] = listener;
455
+ }
456
+ return promise;
457
+ };
458
+ const Message$1 = 3;
459
+ const create$5$1 = async ({
460
+ messagePort,
461
+ isMessagePortOpen
462
+ }) => {
463
+ if (!isMessagePort(messagePort)) {
464
+ throw new IpcError('port must be of type MessagePort');
465
+ }
466
+ if (isMessagePortOpen) {
467
+ return messagePort;
468
+ }
469
+ const eventPromise = getFirstEvent(messagePort, {
470
+ message: Message$1
471
+ });
472
+ messagePort.start();
473
+ const {
474
+ type,
475
+ event
476
+ } = await eventPromise;
477
+ if (type !== Message$1) {
478
+ throw new IpcError('Failed to wait for ipc message');
479
+ }
480
+ if (event.data !== readyMessage) {
481
+ throw new IpcError('unexpected first message');
482
+ }
483
+ return messagePort;
484
+ };
485
+ const signal$1 = messagePort => {
486
+ messagePort.start();
487
+ };
488
+ class IpcParentWithMessagePort extends Ipc {
489
+ getData = getData$2;
490
+ send(message) {
491
+ this._rawIpc.postMessage(message);
492
+ }
493
+ sendAndTransfer(message) {
494
+ const transfer = getTransferrables(message);
495
+ this._rawIpc.postMessage(message, transfer);
496
+ }
497
+ dispose() {
498
+ this._rawIpc.close();
499
+ }
500
+ onMessage(callback) {
501
+ this._rawIpc.addEventListener('message', callback);
502
+ }
503
+ onClose(callback) {}
504
+ }
505
+ const wrap$5 = messagePort => {
506
+ return new IpcParentWithMessagePort(messagePort);
507
+ };
508
+ const IpcParentWithMessagePort$1 = {
509
+ __proto__: null,
510
+ create: create$5$1,
511
+ signal: signal$1,
512
+ wrap: wrap$5
513
+ };
420
514
 
421
515
  const Two = '2.0';
422
- const create$4 = (method, params) => {
516
+ const create$4$1 = (method, params) => {
423
517
  return {
424
518
  jsonrpc: Two,
425
519
  method,
@@ -427,7 +521,7 @@ const create$4 = (method, params) => {
427
521
  };
428
522
  };
429
523
  const callbacks = Object.create(null);
430
- const set$4 = (id, fn) => {
524
+ const set$6 = (id, fn) => {
431
525
  callbacks[id] = fn;
432
526
  };
433
527
  const get$2 = id => {
@@ -446,7 +540,7 @@ const registerPromise = () => {
446
540
  resolve,
447
541
  promise
448
542
  } = Promise.withResolvers();
449
- set$4(id, resolve);
543
+ set$6(id, resolve);
450
544
  return {
451
545
  id,
452
546
  promise
@@ -674,7 +768,7 @@ const getErrorResponse = (id, error, preparePrettyError, logError) => {
674
768
  const errorProperty = getErrorProperty(error, prettyError);
675
769
  return create$1$1(id, errorProperty);
676
770
  };
677
- const create$5 = (message, result) => {
771
+ const create$6 = (message, result) => {
678
772
  return {
679
773
  jsonrpc: Two,
680
774
  id: message.id,
@@ -683,7 +777,7 @@ const create$5 = (message, result) => {
683
777
  };
684
778
  const getSuccessResponse = (message, result) => {
685
779
  const resultProperty = result ?? null;
686
- return create$5(message, resultProperty);
780
+ return create$6(message, resultProperty);
687
781
  };
688
782
  const getErrorResponseSimple = (id, error) => {
689
783
  return {
@@ -788,13 +882,13 @@ const invokeHelper = async (ipc, method, params, useSendAndTransfer) => {
788
882
  return unwrapJsonRpcResult(responseMessage);
789
883
  };
790
884
  const send = (transport, method, ...params) => {
791
- const message = create$4(method, params);
885
+ const message = create$4$1(method, params);
792
886
  transport.send(message);
793
887
  };
794
- const invoke$2 = (ipc, method, ...params) => {
888
+ const invoke$4 = (ipc, method, ...params) => {
795
889
  return invokeHelper(ipc, method, params, false);
796
890
  };
797
- const invokeAndTransfer$1 = (ipc, method, ...params) => {
891
+ const invokeAndTransfer$2 = (ipc, method, ...params) => {
798
892
  return invokeHelper(ipc, method, params, true);
799
893
  };
800
894
 
@@ -830,10 +924,10 @@ const createRpc = ipc => {
830
924
  send(ipc, method, ...params);
831
925
  },
832
926
  invoke(method, ...params) {
833
- return invoke$2(ipc, method, ...params);
927
+ return invoke$4(ipc, method, ...params);
834
928
  },
835
929
  invokeAndTransfer(method, ...params) {
836
- return invokeAndTransfer$1(ipc, method, ...params);
930
+ return invokeAndTransfer$2(ipc, method, ...params);
837
931
  },
838
932
  async dispose() {
839
933
  await ipc?.dispose();
@@ -871,7 +965,41 @@ const listen$1 = async (module, options) => {
871
965
  const ipc = module.wrap(rawIpc);
872
966
  return ipc;
873
967
  };
968
+ const create$5 = async ({
969
+ commandMap,
970
+ messagePort
971
+ }) => {
972
+ // TODO create a commandMap per rpc instance
973
+ register(commandMap);
974
+ const rawIpc = await IpcParentWithMessagePort$1.create({
975
+ messagePort,
976
+ isMessagePortOpen: true
977
+ });
978
+ const ipc = IpcParentWithMessagePort$1.wrap(rawIpc);
979
+ handleIpc(ipc);
980
+ const rpc = createRpc(ipc);
981
+ messagePort.start();
982
+ return rpc;
983
+ };
874
984
  const create$3 = async ({
985
+ commandMap,
986
+ send
987
+ }) => {
988
+ const {
989
+ port1,
990
+ port2
991
+ } = new MessageChannel();
992
+ await send(port1);
993
+ return create$5({
994
+ commandMap,
995
+ messagePort: port2
996
+ });
997
+ };
998
+ const TransferMessagePortRpcParent = {
999
+ __proto__: null,
1000
+ create: create$3
1001
+ };
1002
+ const create$4 = async ({
875
1003
  commandMap
876
1004
  }) => {
877
1005
  // TODO create a commandMap per rpc instance
@@ -883,7 +1011,7 @@ const create$3 = async ({
883
1011
  };
884
1012
  const WebWorkerRpcClient = {
885
1013
  __proto__: null,
886
- create: create$3
1014
+ create: create$4
887
1015
  };
888
1016
  const createMockRpc = ({
889
1017
  commandMap
@@ -905,7 +1033,7 @@ const createMockRpc = ({
905
1033
  return mockRpc;
906
1034
  };
907
1035
 
908
- const toCommandId$1 = key => {
1036
+ const toCommandId = key => {
909
1037
  const dotIndex = key.indexOf('.');
910
1038
  return key.slice(dotIndex + 1);
911
1039
  };
@@ -977,7 +1105,7 @@ const create$2 = () => {
977
1105
  },
978
1106
  getCommandIds() {
979
1107
  const keys = Object.keys(commandMapRef);
980
- const ids = keys.map(toCommandId$1);
1108
+ const ids = keys.map(toCommandId);
981
1109
  return ids;
982
1110
  },
983
1111
  registerCommands(commandMap) {
@@ -1017,7 +1145,7 @@ const SearchExtensionsInMarketplace = 'Search Extensions in Marketplace';
1017
1145
  const ViewsAndMoreActions = 'Views and more Actions...';
1018
1146
  const Extensions$2 = 'Extensions';
1019
1147
  const Copy = 'Copy';
1020
- const CopyExtensionId = 'CopyExtensionId';
1148
+ const CopyExtensionId = 'Copy Extension Id';
1021
1149
  const Name = 'Name';
1022
1150
  const Id$1 = 'Id';
1023
1151
  const Description = 'Description';
@@ -1333,10 +1461,11 @@ const TargetValue = 'event.target.value';
1333
1461
  const LeftClick = 0;
1334
1462
 
1335
1463
  const DebugWorker = 55;
1464
+ const ExtensionHostWorker = 44;
1336
1465
  const RendererWorker$1 = 1;
1337
1466
 
1338
1467
  const rpcs = Object.create(null);
1339
- const set$3 = (id, rpc) => {
1468
+ const set$5 = (id, rpc) => {
1340
1469
  rpcs[id] = rpc;
1341
1470
  };
1342
1471
  const get$1 = id => {
@@ -1358,7 +1487,7 @@ const create$1 = rpcId => {
1358
1487
  return rpc.invokeAndTransfer(method, ...params);
1359
1488
  },
1360
1489
  set(rpc) {
1361
- set$3(rpcId, rpc);
1490
+ set$5(rpcId, rpc);
1362
1491
  },
1363
1492
  async dispose() {
1364
1493
  const rpc = get$1(rpcId);
@@ -1368,51 +1497,89 @@ const create$1 = rpcId => {
1368
1497
  };
1369
1498
 
1370
1499
  const {
1371
- invoke: invoke$1,
1500
+ invoke: invoke$3,
1501
+ invokeAndTransfer: invokeAndTransfer$1,
1502
+ set: set$4,
1503
+ dispose: dispose$3
1504
+ } = create$1(ExtensionHostWorker);
1505
+ const executeReferenceProvider = async (id, offset) => {
1506
+ // @ts-ignore
1507
+ return invoke$3('ExtensionHostReference.executeReferenceProvider', id, offset);
1508
+ };
1509
+ const executeFileReferenceProvider = async id => {
1510
+ // @ts-ignore
1511
+ return invoke$3('ExtensionHostReference.executeFileReferenceProvider', id);
1512
+ };
1513
+ const getRuntimeStatus = async extensionId => {
1514
+ // @ts-ignore
1515
+ return invoke$3('ExtensionHost.getRuntimeStatus', extensionId);
1516
+ };
1517
+ const registerMockRpc$1 = commandMap => {
1518
+ const mockRpc = createMockRpc({
1519
+ commandMap
1520
+ });
1521
+ set$4(mockRpc);
1522
+ return mockRpc;
1523
+ };
1524
+
1525
+ const ExtensionHost = {
1526
+ __proto__: null,
1527
+ dispose: dispose$3,
1528
+ executeFileReferenceProvider,
1529
+ executeReferenceProvider,
1530
+ getRuntimeStatus,
1531
+ invoke: invoke$3,
1532
+ invokeAndTransfer: invokeAndTransfer$1,
1533
+ registerMockRpc: registerMockRpc$1,
1534
+ set: set$4
1535
+ };
1536
+
1537
+ const {
1538
+ invoke: invoke$2,
1372
1539
  invokeAndTransfer,
1373
- set: set$2,
1540
+ set: set$3,
1374
1541
  dispose: dispose$2
1375
1542
  } = create$1(RendererWorker$1);
1376
1543
  const searchFileHtml = async uri => {
1377
- return invoke$1('ExtensionHost.searchFileWithHtml', uri);
1544
+ return invoke$2('ExtensionHost.searchFileWithHtml', uri);
1378
1545
  };
1379
1546
  const getFilePathElectron = async file => {
1380
- return invoke$1('FileSystemHandle.getFilePathElectron', file);
1547
+ return invoke$2('FileSystemHandle.getFilePathElectron', file);
1381
1548
  };
1382
1549
  const showContextMenu$1 = async (x, y, id, ...args) => {
1383
- return invoke$1('ContextMenu.show', x, y, id, ...args);
1550
+ return invoke$2('ContextMenu.show', x, y, id, ...args);
1384
1551
  };
1385
1552
  const getElectronVersion = async () => {
1386
- return invoke$1('Process.getElectronVersion');
1553
+ return invoke$2('Process.getElectronVersion');
1387
1554
  };
1388
1555
  const applyBulkReplacement = async bulkEdits => {
1389
- await invoke$1('BulkReplacement.applyBulkReplacement', bulkEdits);
1556
+ await invoke$2('BulkReplacement.applyBulkReplacement', bulkEdits);
1390
1557
  };
1391
1558
  const setColorTheme = async id => {
1392
1559
  // @ts-ignore
1393
- return invoke$1(/* ColorTheme.setColorTheme */'ColorTheme.setColorTheme', /* colorThemeId */id);
1560
+ return invoke$2(/* ColorTheme.setColorTheme */'ColorTheme.setColorTheme', /* colorThemeId */id);
1394
1561
  };
1395
1562
  const getNodeVersion = async () => {
1396
- return invoke$1('Process.getNodeVersion');
1563
+ return invoke$2('Process.getNodeVersion');
1397
1564
  };
1398
1565
  const getChromeVersion = async () => {
1399
- return invoke$1('Process.getChromeVersion');
1566
+ return invoke$2('Process.getChromeVersion');
1400
1567
  };
1401
1568
  const getV8Version = async () => {
1402
- return invoke$1('Process.getV8Version');
1569
+ return invoke$2('Process.getV8Version');
1403
1570
  };
1404
1571
  const getFileHandles = async fileIds => {
1405
- const files = await invoke$1('FileSystemHandle.getFileHandles', fileIds);
1572
+ const files = await invoke$2('FileSystemHandle.getFileHandles', fileIds);
1406
1573
  return files;
1407
1574
  };
1408
1575
  const setWorkspacePath = async path => {
1409
- await invoke$1('Workspace.setPath', path);
1576
+ await invoke$2('Workspace.setPath', path);
1410
1577
  };
1411
1578
  const registerWebViewInterceptor = async (id, port) => {
1412
1579
  await invokeAndTransfer('WebView.registerInterceptor', id, port);
1413
1580
  };
1414
1581
  const unregisterWebViewInterceptor = async id => {
1415
- await invoke$1('WebView.unregisterInterceptor', id);
1582
+ await invoke$2('WebView.unregisterInterceptor', id);
1416
1583
  };
1417
1584
  const sendMessagePortToEditorWorker = async (port, rpcId) => {
1418
1585
  const command = 'HandleMessagePort.handleMessagePort';
@@ -1440,43 +1607,43 @@ const sendMessagePortToFileSystemWorker = async (port, rpcId) => {
1440
1607
  await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToFileSystemWorker', port, command, rpcId);
1441
1608
  };
1442
1609
  const readFile = async uri => {
1443
- return invoke$1('FileSystem.readFile', uri);
1610
+ return invoke$2('FileSystem.readFile', uri);
1444
1611
  };
1445
1612
  const getWebViewSecret = async key => {
1446
1613
  // @ts-ignore
1447
- return invoke$1('WebView.getSecret', key);
1614
+ return invoke$2('WebView.getSecret', key);
1448
1615
  };
1449
1616
  const setWebViewPort = async (uid, port, origin, portType) => {
1450
1617
  return invokeAndTransfer('WebView.setPort', uid, port, origin, portType);
1451
1618
  };
1452
1619
  const setFocus = key => {
1453
- return invoke$1('Focus.setFocus', key);
1620
+ return invoke$2('Focus.setFocus', key);
1454
1621
  };
1455
1622
  const getFileIcon = async options => {
1456
- return invoke$1('IconTheme.getFileIcon', options);
1623
+ return invoke$2('IconTheme.getFileIcon', options);
1457
1624
  };
1458
1625
  const getColorThemeNames = async () => {
1459
- return invoke$1('ColorTheme.getColorThemeNames');
1626
+ return invoke$2('ColorTheme.getColorThemeNames');
1460
1627
  };
1461
1628
  const disableExtension = async id => {
1462
1629
  // @ts-ignore
1463
- return invoke$1('ExtensionManagement.disable', id);
1630
+ return invoke$2('ExtensionManagement.disable', id);
1464
1631
  };
1465
1632
  const enableExtension = async id => {
1466
1633
  // @ts-ignore
1467
- return invoke$1('ExtensionManagement.enable', id);
1634
+ return invoke$2('ExtensionManagement.enable', id);
1468
1635
  };
1469
1636
  const handleDebugChange = async params => {
1470
1637
  // @ts-ignore
1471
- return invoke$1('Run And Debug.handleChange', params);
1638
+ return invoke$2('Run And Debug.handleChange', params);
1472
1639
  };
1473
1640
  const getFolderIcon = async options => {
1474
- return invoke$1('IconTheme.getFolderIcon', options);
1641
+ return invoke$2('IconTheme.getFolderIcon', options);
1475
1642
  };
1476
1643
  const closeWidget = async widgetId => {
1477
- return invoke$1('Viewlet.closeWidget', widgetId);
1644
+ return invoke$2('Viewlet.closeWidget', widgetId);
1478
1645
  };
1479
- const sendMessagePortToExtensionHostWorker = async (port, rpcId = 0) => {
1646
+ const sendMessagePortToExtensionHostWorker$2 = async (port, rpcId = 0) => {
1480
1647
  const command = 'HandleMessagePort.handleMessagePort2';
1481
1648
  await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionHostWorker', port, command, rpcId);
1482
1649
  };
@@ -1485,55 +1652,55 @@ const sendMessagePortToSearchProcess = async port => {
1485
1652
  };
1486
1653
  const confirm = async (message, options) => {
1487
1654
  // @ts-ignore
1488
- const result = await invoke$1('ConfirmPrompt.prompt', message, options);
1655
+ const result = await invoke$2('ConfirmPrompt.prompt', message, options);
1489
1656
  return result;
1490
1657
  };
1491
1658
  const getRecentlyOpened = async () => {
1492
- return invoke$1(/* RecentlyOpened.getRecentlyOpened */'RecentlyOpened.getRecentlyOpened');
1659
+ return invoke$2(/* RecentlyOpened.getRecentlyOpened */'RecentlyOpened.getRecentlyOpened');
1493
1660
  };
1494
1661
  const getKeyBindings$1 = async () => {
1495
- return invoke$1('KeyBindingsInitial.getKeyBindings');
1662
+ return invoke$2('KeyBindingsInitial.getKeyBindings');
1496
1663
  };
1497
1664
  const writeClipBoardText = async text => {
1498
- await invoke$1('ClipBoard.writeText', /* text */text);
1665
+ await invoke$2('ClipBoard.writeText', /* text */text);
1499
1666
  };
1500
1667
  const writeClipBoardImage = async blob => {
1501
1668
  // @ts-ignore
1502
- await invoke$1('ClipBoard.writeImage', /* text */blob);
1669
+ await invoke$2('ClipBoard.writeImage', /* text */blob);
1503
1670
  };
1504
1671
  const searchFileMemory = async uri => {
1505
1672
  // @ts-ignore
1506
- return invoke$1('ExtensionHost.searchFileWithMemory', uri);
1673
+ return invoke$2('ExtensionHost.searchFileWithMemory', uri);
1507
1674
  };
1508
1675
  const searchFileFetch = async uri => {
1509
- return invoke$1('ExtensionHost.searchFileWithFetch', uri);
1676
+ return invoke$2('ExtensionHost.searchFileWithFetch', uri);
1510
1677
  };
1511
1678
  const showMessageBox = async options => {
1512
- return invoke$1('ElectronDialog.showMessageBox', options);
1679
+ return invoke$2('ElectronDialog.showMessageBox', options);
1513
1680
  };
1514
1681
  const handleDebugResumed = async params => {
1515
- await invoke$1('Run And Debug.handleResumed', params);
1682
+ await invoke$2('Run And Debug.handleResumed', params);
1516
1683
  };
1517
1684
  const openWidget = async name => {
1518
- await invoke$1('Viewlet.openWidget', name);
1685
+ await invoke$2('Viewlet.openWidget', name);
1519
1686
  };
1520
1687
  const getIcons = async requests => {
1521
- const icons = await invoke$1('IconTheme.getIcons', requests);
1688
+ const icons = await invoke$2('IconTheme.getIcons', requests);
1522
1689
  return icons;
1523
1690
  };
1524
1691
  const activateByEvent = event => {
1525
- return invoke$1('ExtensionHostManagement.activateByEvent', event);
1692
+ return invoke$2('ExtensionHostManagement.activateByEvent', event);
1526
1693
  };
1527
1694
  const setAdditionalFocus = focusKey => {
1528
1695
  // @ts-ignore
1529
- return invoke$1('Focus.setAdditionalFocus', focusKey);
1696
+ return invoke$2('Focus.setAdditionalFocus', focusKey);
1530
1697
  };
1531
1698
  const getActiveEditorId = () => {
1532
1699
  // @ts-ignore
1533
- return invoke$1('GetActiveEditor.getActiveEditorId');
1700
+ return invoke$2('GetActiveEditor.getActiveEditorId');
1534
1701
  };
1535
1702
  const getWorkspacePath = () => {
1536
- return invoke$1('Workspace.getPath');
1703
+ return invoke$2('Workspace.getPath');
1537
1704
  };
1538
1705
  const sendMessagePortToRendererProcess = async port => {
1539
1706
  const command = 'HandleMessagePort.handleMessagePort';
@@ -1541,20 +1708,20 @@ const sendMessagePortToRendererProcess = async port => {
1541
1708
  await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToRendererProcess', port, command, DebugWorker);
1542
1709
  };
1543
1710
  const getPreference = async key => {
1544
- return await invoke$1('Preferences.get', key);
1711
+ return await invoke$2('Preferences.get', key);
1545
1712
  };
1546
1713
  const getAllExtensions$2 = async () => {
1547
- return invoke$1('ExtensionManagement.getAllExtensions');
1714
+ return invoke$2('ExtensionManagement.getAllExtensions');
1548
1715
  };
1549
1716
  const rerenderEditor = async key => {
1550
1717
  // @ts-ignore
1551
- return invoke$1('Editor.rerender', key);
1718
+ return invoke$2('Editor.rerender', key);
1552
1719
  };
1553
1720
  const handleDebugPaused = async params => {
1554
- await invoke$1('Run And Debug.handlePaused', params);
1721
+ await invoke$2('Run And Debug.handlePaused', params);
1555
1722
  };
1556
1723
  const openUri$2 = async (uri, focus, options) => {
1557
- await invoke$1('Main.openUri', uri, focus, options);
1724
+ await invoke$2('Main.openUri', uri, focus, options);
1558
1725
  };
1559
1726
  const sendMessagePortToSyntaxHighlightingWorker = async port => {
1560
1727
  await invokeAndTransfer(
@@ -1562,82 +1729,82 @@ const sendMessagePortToSyntaxHighlightingWorker = async port => {
1562
1729
  'SendMessagePortToSyntaxHighlightingWorker.sendMessagePortToSyntaxHighlightingWorker', port, 'HandleMessagePort.handleMessagePort2');
1563
1730
  };
1564
1731
  const handleDebugScriptParsed = async script => {
1565
- await invoke$1('Run And Debug.handleScriptParsed', script);
1732
+ await invoke$2('Run And Debug.handleScriptParsed', script);
1566
1733
  };
1567
1734
  const getWindowId = async () => {
1568
- return invoke$1('GetWindowId.getWindowId');
1735
+ return invoke$2('GetWindowId.getWindowId');
1569
1736
  };
1570
1737
  const getBlob = async uri => {
1571
1738
  // @ts-ignore
1572
- return invoke$1('FileSystem.getBlob', uri);
1739
+ return invoke$2('FileSystem.getBlob', uri);
1573
1740
  };
1574
1741
  const getExtensionCommands = async () => {
1575
- return invoke$1('ExtensionHost.getCommands');
1742
+ return invoke$2('ExtensionHost.getCommands');
1576
1743
  };
1577
1744
  const showErrorDialog = async errorInfo => {
1578
1745
  // @ts-ignore
1579
- await invoke$1('ErrorHandling.showErrorDialog', errorInfo);
1746
+ await invoke$2('ErrorHandling.showErrorDialog', errorInfo);
1580
1747
  };
1581
1748
  const getFolderSize = async uri => {
1582
1749
  // @ts-ignore
1583
- return await invoke$1('FileSystem.getFolderSize', uri);
1750
+ return await invoke$2('FileSystem.getFolderSize', uri);
1584
1751
  };
1585
1752
  const getExtension = async id => {
1586
1753
  // @ts-ignore
1587
- return invoke$1('ExtensionManagement.getExtension', id);
1754
+ return invoke$2('ExtensionManagement.getExtension', id);
1588
1755
  };
1589
1756
  const getMarkdownDom = async html => {
1590
1757
  // @ts-ignore
1591
- return invoke$1('Markdown.getVirtualDom', html);
1758
+ return invoke$2('Markdown.getVirtualDom', html);
1592
1759
  };
1593
1760
  const renderMarkdown = async (markdown, options) => {
1594
1761
  // @ts-ignore
1595
- return invoke$1('Markdown.renderMarkdown', markdown, options);
1762
+ return invoke$2('Markdown.renderMarkdown', markdown, options);
1596
1763
  };
1597
1764
  const openNativeFolder = async uri => {
1598
1765
  // @ts-ignore
1599
- await invoke$1('OpenNativeFolder.openNativeFolder', uri);
1766
+ await invoke$2('OpenNativeFolder.openNativeFolder', uri);
1600
1767
  };
1601
1768
  const uninstallExtension = async id => {
1602
- return invoke$1('ExtensionManagement.uninstall', id);
1769
+ return invoke$2('ExtensionManagement.uninstall', id);
1603
1770
  };
1604
1771
  const installExtension = async id => {
1605
1772
  // @ts-ignore
1606
- return invoke$1('ExtensionManagement.install', id);
1773
+ return invoke$2('ExtensionManagement.install', id);
1607
1774
  };
1608
1775
  const openExtensionSearch = async () => {
1609
1776
  // @ts-ignore
1610
- return invoke$1('SideBar.openViewlet', 'Extensions');
1777
+ return invoke$2('SideBar.openViewlet', 'Extensions');
1611
1778
  };
1612
1779
  const setExtensionsSearchValue = async searchValue => {
1613
1780
  // @ts-ignore
1614
- return invoke$1('Extensions.handleInput', searchValue);
1781
+ return invoke$2('Extensions.handleInput', searchValue);
1615
1782
  };
1616
1783
  const openExternal = async uri => {
1617
1784
  // @ts-ignore
1618
- await invoke$1('Open.openExternal', uri);
1785
+ await invoke$2('Open.openExternal', uri);
1619
1786
  };
1620
1787
  const openUrl = async uri => {
1621
1788
  // @ts-ignore
1622
- await invoke$1('Open.openUrl', uri);
1789
+ await invoke$2('Open.openUrl', uri);
1623
1790
  };
1624
1791
  const getAllPreferences = async () => {
1625
1792
  // @ts-ignore
1626
- return invoke$1('Preferences.getAll');
1793
+ return invoke$2('Preferences.getAll');
1627
1794
  };
1628
1795
  const showSaveFilePicker = async () => {
1629
1796
  // @ts-ignore
1630
- return invoke$1('FilePicker.showSaveFilePicker');
1797
+ return invoke$2('FilePicker.showSaveFilePicker');
1631
1798
  };
1632
1799
  const getLogsDir = async () => {
1633
1800
  // @ts-ignore
1634
- return invoke$1('PlatformPaths.getLogsDir');
1801
+ return invoke$2('PlatformPaths.getLogsDir');
1635
1802
  };
1636
1803
  const registerMockRpc = commandMap => {
1637
1804
  const mockRpc = createMockRpc({
1638
1805
  commandMap
1639
1806
  });
1640
- set$2(mockRpc);
1807
+ set$3(mockRpc);
1641
1808
  return mockRpc;
1642
1809
  };
1643
1810
 
@@ -1680,7 +1847,7 @@ const RendererWorker = {
1680
1847
  handleDebugResumed,
1681
1848
  handleDebugScriptParsed,
1682
1849
  installExtension,
1683
- invoke: invoke$1,
1850
+ invoke: invoke$2,
1684
1851
  invokeAndTransfer,
1685
1852
  openExtensionSearch,
1686
1853
  openExternal,
@@ -1698,14 +1865,14 @@ const RendererWorker = {
1698
1865
  searchFileMemory,
1699
1866
  sendMessagePortToEditorWorker,
1700
1867
  sendMessagePortToErrorWorker,
1701
- sendMessagePortToExtensionHostWorker,
1868
+ sendMessagePortToExtensionHostWorker: sendMessagePortToExtensionHostWorker$2,
1702
1869
  sendMessagePortToFileSystemWorker,
1703
1870
  sendMessagePortToIconThemeWorker,
1704
1871
  sendMessagePortToMarkdownWorker,
1705
1872
  sendMessagePortToRendererProcess,
1706
1873
  sendMessagePortToSearchProcess,
1707
1874
  sendMessagePortToSyntaxHighlightingWorker,
1708
- set: set$2,
1875
+ set: set$3,
1709
1876
  setAdditionalFocus,
1710
1877
  setColorTheme,
1711
1878
  setExtensionsSearchValue,
@@ -1722,15 +1889,23 @@ const RendererWorker = {
1722
1889
  writeClipBoardText
1723
1890
  };
1724
1891
 
1725
- const copyExtensionId = async state => {
1892
+ const getFocusedItem = state => {
1726
1893
  const {
1727
1894
  items,
1728
1895
  focusedIndex
1729
1896
  } = state;
1730
1897
  if (focusedIndex === -1) {
1731
- return state;
1898
+ return undefined;
1732
1899
  }
1733
1900
  const item = items[focusedIndex];
1901
+ return item;
1902
+ };
1903
+
1904
+ const copyExtensionId = async state => {
1905
+ const item = getFocusedItem(state);
1906
+ if (!item) {
1907
+ return state;
1908
+ }
1734
1909
  const {
1735
1910
  id
1736
1911
  } = item;
@@ -1779,14 +1954,10 @@ const getExtensionInfoText = extension => {
1779
1954
  };
1780
1955
 
1781
1956
  const copyExtensionInfo = async state => {
1782
- const {
1783
- items,
1784
- focusedIndex
1785
- } = state;
1786
- if (focusedIndex === -1) {
1957
+ const item = getFocusedItem(state);
1958
+ if (!item) {
1787
1959
  return state;
1788
1960
  }
1789
- const item = items[focusedIndex];
1790
1961
  const text = getExtensionInfoText(item);
1791
1962
  await writeClipBoardText(text);
1792
1963
  return state;
@@ -1794,9 +1965,11 @@ const copyExtensionInfo = async state => {
1794
1965
 
1795
1966
  const {
1796
1967
  get,
1797
- set: set$1,
1968
+ set: set$2,
1798
1969
  dispose: dispose$1,
1799
1970
  wrapCommand,
1971
+ getCommandIds,
1972
+ registerCommands,
1800
1973
  wrapGetter
1801
1974
  } = create$2();
1802
1975
 
@@ -1833,7 +2006,7 @@ const create = (id, uri, x, y, width, height, platform, assetDir) => {
1833
2006
  x,
1834
2007
  y
1835
2008
  };
1836
- set$1(id, state, state);
2009
+ set$2(id, state, state);
1837
2010
  };
1838
2011
 
1839
2012
  const isEqual$2 = (oldState, newState) => {
@@ -2068,18 +2241,6 @@ const getActions = () => {
2068
2241
  }];
2069
2242
  };
2070
2243
 
2071
- const commandMapRef = {};
2072
-
2073
- const toCommandId = key => {
2074
- const dotIndex = key.indexOf('.');
2075
- return key.slice(dotIndex + 1);
2076
- };
2077
- const getCommandIds = () => {
2078
- const keys = Object.keys(commandMapRef);
2079
- const ids = keys.map(toCommandId);
2080
- return ids;
2081
- };
2082
-
2083
2244
  const Enter = 3;
2084
2245
  const Space = 9;
2085
2246
  const PageUp = 10;
@@ -2181,10 +2342,11 @@ const getExtensionDetailUri = extensionId => {
2181
2342
  };
2182
2343
 
2183
2344
  const {
2184
- invoke,
2185
- set,
2345
+ invoke: invoke$1,
2346
+ set: set$1,
2186
2347
  showContextMenu,
2187
- openUri: openUri$1
2348
+ openUri: openUri$1,
2349
+ sendMessagePortToExtensionHostWorker: sendMessagePortToExtensionHostWorker$1
2188
2350
  } = RendererWorker;
2189
2351
 
2190
2352
  const openUri = async uri => {
@@ -2431,16 +2593,50 @@ const handleWheel = (state, deltaMode, deltaY) => {
2431
2593
  return setDeltaY(state, state.deltaY + deltaY);
2432
2594
  };
2433
2595
 
2596
+ const sendMessagePortToExtensionHostWorker = async port => {
2597
+ await sendMessagePortToExtensionHostWorker$1(port, 0);
2598
+ };
2599
+
2600
+ const createExtensionHostWorkerRpc = async () => {
2601
+ try {
2602
+ const rpc = await TransferMessagePortRpcParent.create({
2603
+ commandMap: {},
2604
+ send: sendMessagePortToExtensionHostWorker
2605
+ });
2606
+ return rpc;
2607
+ } catch (error) {
2608
+ throw new VError(error, `Failed to create extension host rpc`);
2609
+ }
2610
+ };
2611
+
2612
+ const {
2613
+ set,
2614
+ invoke} = ExtensionHost;
2615
+
2616
+ const initializeExtensionHostWorker = async () => {
2617
+ const rpc = await createExtensionHostWorkerRpc();
2618
+ set(rpc);
2619
+ };
2620
+
2621
+ const initialize = async () => {
2622
+ await initializeExtensionHostWorker();
2623
+ };
2624
+
2434
2625
  const Web = 1;
2435
2626
  const Electron = 2;
2436
2627
  const Remote = 3;
2437
2628
 
2438
2629
  const getAllExtensions$1 = async platform => {
2439
2630
  if (platform === Web) {
2440
- return [];
2631
+ try {
2632
+ const extensions = await invoke('Extensions.getExtensions');
2633
+ return extensions;
2634
+ } catch {
2635
+ return [];
2636
+ }
2441
2637
  }
2442
2638
  // @ts-ignore todo
2443
- return invoke('ExtensionManagement.getAllExtensions');
2639
+ return invoke$1('ExtensionManagement.getAllExtensions');
2444
2640
  };
2445
2641
 
2446
2642
  const getAllExtensions = platform => {
@@ -3062,7 +3258,7 @@ const render3 = (uid, diffResult) => {
3062
3258
  oldState,
3063
3259
  newState
3064
3260
  } = get(uid);
3065
- set$1(uid, newState, newState);
3261
+ set$2(uid, newState, newState);
3066
3262
  const commands = applyRender(oldState, newState, diffResult);
3067
3263
  return commands;
3068
3264
  };
@@ -3193,6 +3389,8 @@ const toggleSuggest = state => {
3193
3389
  const commandMap = {
3194
3390
  'SearchExtensions.clearSearchResults': wrapCommand(clearSearchResults),
3195
3391
  'SearchExtensions.closeSuggest': wrapCommand(closeSuggest),
3392
+ 'SearchExtensions.copyExtensionId': wrapCommand(copyExtensionId),
3393
+ 'SearchExtensions.copyExtensionInfo': wrapCommand(copyExtensionInfo),
3196
3394
  'SearchExtensions.create': create,
3197
3395
  'SearchExtensions.diff2': diff2,
3198
3396
  'SearchExtensions.dispose': dispose,
@@ -3201,14 +3399,13 @@ const commandMap = {
3201
3399
  'SearchExtensions.focusLast': wrapCommand(focusLast),
3202
3400
  'SearchExtensions.focusNext': wrapCommand(focusNext),
3203
3401
  'SearchExtensions.focusNextPage': wrapCommand(focusNextPage),
3204
- 'SearchExtensions.focusPreviousPage': wrapCommand(focusPreviousPage),
3205
3402
  'SearchExtensions.focusPrevious': wrapCommand(focusPrevious),
3403
+ 'SearchExtensions.focusPreviousPage': wrapCommand(focusPreviousPage),
3206
3404
  'SearchExtensions.getActions': getActions,
3207
3405
  'SearchExtensions.getCommandIds': getCommandIds,
3208
3406
  'SearchExtensions.getKeyBindings': getKeyBindings,
3209
3407
  'SearchExtensions.getMenuEntries': getMenuEntries,
3210
3408
  'SearchExtensions.handleBlur': wrapCommand(handleBlur),
3211
- 'SearchExtensions.copyExtensionInfo': wrapCommand(copyExtensionInfo),
3212
3409
  'SearchExtensions.handleClick': wrapCommand(handleClick),
3213
3410
  'SearchExtensions.handleClickAt': wrapCommand(handleClickAt),
3214
3411
  'SearchExtensions.handleClickCurrent': wrapCommand(handleClickCurrent),
@@ -3225,9 +3422,9 @@ const commandMap = {
3225
3422
  'SearchExtensions.handleScrollBarThumbPointerMove': wrapCommand(handleScrollBarMove),
3226
3423
  'SearchExtensions.handleUninstall': wrapCommand(handleUninstall),
3227
3424
  'SearchExtensions.handleWheel': wrapCommand(handleWheel),
3425
+ 'SearchExtensions.initialize': initialize,
3228
3426
  'SearchExtensions.loadContent': wrapCommand(loadContent),
3229
3427
  'SearchExtensions.openSuggest': wrapCommand(openSuggest),
3230
- 'SearchExtensions.copyExtensionId': wrapCommand(copyExtensionId),
3231
3428
  'SearchExtensions.render3': render3,
3232
3429
  'SearchExtensions.renderActions': renderActions,
3233
3430
  'SearchExtensions.renderEventListeners': renderEventListeners,
@@ -3242,11 +3439,11 @@ const commandMap = {
3242
3439
  };
3243
3440
 
3244
3441
  const listen = async () => {
3245
- Object.assign(commandMapRef, commandMap);
3442
+ registerCommands(commandMap);
3246
3443
  const rpc = await WebWorkerRpcClient.create({
3247
- commandMap: commandMapRef
3444
+ commandMap: commandMap
3248
3445
  });
3249
- set(rpc);
3446
+ set$1(rpc);
3250
3447
  };
3251
3448
 
3252
3449
  const main = async () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/extension-search-view",
3
- "version": "4.4.0",
3
+ "version": "4.6.0",
4
4
  "description": "Extension Search View Worker",
5
5
  "repository": {
6
6
  "type": "git",