@lvce-editor/embeds-worker 3.0.0 → 4.1.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/README.md CHANGED
@@ -1 +1,12 @@
1
- # embeds-worker
1
+ # Embeds Worker
2
+
3
+ Web Worker for the embeds functionality in LVCE Editor.
4
+
5
+ ## Contributing
6
+
7
+ ```sh
8
+ git clone git@github.com:lvce-editor/embeds-worker.git &&
9
+ cd embeds-worker &&
10
+ npm ci &&
11
+ npm test
12
+ ```
@@ -472,7 +472,7 @@ const create$4 = (method, params) => {
472
472
  };
473
473
  };
474
474
  const callbacks = Object.create(null);
475
- const set$3 = (id, fn) => {
475
+ const set$5 = (id, fn) => {
476
476
  callbacks[id] = fn;
477
477
  };
478
478
  const get$1 = id => {
@@ -491,7 +491,7 @@ const registerPromise = () => {
491
491
  resolve,
492
492
  promise
493
493
  } = Promise.withResolvers();
494
- set$3(id, resolve);
494
+ set$5(id, resolve);
495
495
  return {
496
496
  id,
497
497
  promise
@@ -564,6 +564,17 @@ const constructError = (message, type, name) => {
564
564
  }
565
565
  return new ErrorConstructor(message);
566
566
  };
567
+ const joinLines = lines => {
568
+ return lines.join(NewLine);
569
+ };
570
+ const splitLines = lines => {
571
+ return lines.split(NewLine);
572
+ };
573
+ const getCurrentStack = () => {
574
+ const stackLinesToSkip = 3;
575
+ const currentStack = joinLines(splitLines(new Error().stack || '').slice(stackLinesToSkip));
576
+ return currentStack;
577
+ };
567
578
  const getNewLineIndex = (string, startIndex = undefined) => {
568
579
  return string.indexOf(NewLine, startIndex);
569
580
  };
@@ -574,19 +585,16 @@ const getParentStack = error => {
574
585
  }
575
586
  return parentStack;
576
587
  };
577
- const joinLines = lines => {
578
- return lines.join(NewLine);
579
- };
580
588
  const MethodNotFound = -32601;
581
589
  const Custom = -32001;
582
- const splitLines = lines => {
583
- return lines.split(NewLine);
584
- };
585
590
  const restoreJsonRpcError = error => {
591
+ const currentStack = getCurrentStack();
586
592
  if (error && error instanceof Error) {
593
+ if (typeof error.stack === 'string') {
594
+ error.stack = error.stack + NewLine + currentStack;
595
+ }
587
596
  return error;
588
597
  }
589
- const currentStack = joinLines(splitLines(new Error().stack || '').slice(1));
590
598
  if (error && error.code && error.code === MethodNotFound) {
591
599
  const restoredError = new JsonRpcError(error.message);
592
600
  const parentStack = getParentStack(error);
@@ -667,6 +675,17 @@ const getErrorType = prettyError => {
667
675
  }
668
676
  return undefined;
669
677
  };
678
+ const isAlreadyStack = line => {
679
+ return line.trim().startsWith('at ');
680
+ };
681
+ const getStack = prettyError => {
682
+ const stackString = prettyError.stack || '';
683
+ const newLineIndex = stackString.indexOf('\n');
684
+ if (newLineIndex !== -1 && !isAlreadyStack(stackString.slice(0, newLineIndex))) {
685
+ return stackString.slice(newLineIndex + 1);
686
+ }
687
+ return stackString;
688
+ };
670
689
  const getErrorProperty = (error, prettyError) => {
671
690
  if (error && error.code === E_COMMAND_NOT_FOUND) {
672
691
  return {
@@ -679,7 +698,7 @@ const getErrorProperty = (error, prettyError) => {
679
698
  code: Custom,
680
699
  message: prettyError.message,
681
700
  data: {
682
- stack: prettyError.stack,
701
+ stack: getStack(prettyError),
683
702
  codeFrame: prettyError.codeFrame,
684
703
  type: getErrorType(prettyError),
685
704
  code: prettyError.code,
@@ -687,18 +706,18 @@ const getErrorProperty = (error, prettyError) => {
687
706
  }
688
707
  };
689
708
  };
690
- const create$1$1 = (message, error) => {
709
+ const create$1$1 = (id, error) => {
691
710
  return {
692
711
  jsonrpc: Two,
693
- id: message.id,
712
+ id,
694
713
  error
695
714
  };
696
715
  };
697
- const getErrorResponse = (message, error, preparePrettyError, logError) => {
716
+ const getErrorResponse = (id, error, preparePrettyError, logError) => {
698
717
  const prettyError = preparePrettyError(error);
699
718
  logError(error, prettyError);
700
719
  const errorProperty = getErrorProperty(error, prettyError);
701
- return create$1$1(message, errorProperty);
720
+ return create$1$1(id, errorProperty);
702
721
  };
703
722
  const create$5 = (message, result) => {
704
723
  return {
@@ -711,12 +730,27 @@ const getSuccessResponse = (message, result) => {
711
730
  const resultProperty = result ?? null;
712
731
  return create$5(message, resultProperty);
713
732
  };
733
+ const getErrorResponseSimple = (id, error) => {
734
+ return {
735
+ jsonrpc: Two,
736
+ id,
737
+ error: {
738
+ code: Custom,
739
+ // @ts-ignore
740
+ message: error.message,
741
+ data: error
742
+ }
743
+ };
744
+ };
714
745
  const getResponse = async (message, ipc, execute, preparePrettyError, logError, requiresSocket) => {
715
746
  try {
716
747
  const result = requiresSocket(message.method) ? await execute(message.method, ipc, ...message.params) : await execute(message.method, ...message.params);
717
748
  return getSuccessResponse(message, result);
718
749
  } catch (error) {
719
- return getErrorResponse(message, error, preparePrettyError, logError);
750
+ if (ipc.canUseSimpleErrorResponse) {
751
+ return getErrorResponseSimple(message.id, error);
752
+ }
753
+ return getErrorResponse(message.id, error, preparePrettyError, logError);
720
754
  }
721
755
  };
722
756
  const defaultPreparePrettyError = error => {
@@ -771,7 +805,7 @@ const handleJsonRpcMessage = async (...args) => {
771
805
  try {
772
806
  ipc.send(response);
773
807
  } catch (error) {
774
- const errorResponse = getErrorResponse(message, error, preparePrettyError, logError);
808
+ const errorResponse = getErrorResponse(message.id, error, preparePrettyError, logError);
775
809
  ipc.send(errorResponse);
776
810
  }
777
811
  return;
@@ -802,13 +836,19 @@ const send = (transport, method, ...params) => {
802
836
  const message = create$4(method, params);
803
837
  transport.send(message);
804
838
  };
805
- const invoke$3 = (ipc, method, ...params) => {
839
+ const invoke$4 = (ipc, method, ...params) => {
806
840
  return invokeHelper(ipc, method, params, false);
807
841
  };
808
- const invokeAndTransfer$1 = (ipc, method, ...params) => {
842
+ const invokeAndTransfer$3 = (ipc, method, ...params) => {
809
843
  return invokeHelper(ipc, method, params, true);
810
844
  };
811
845
 
846
+ class CommandNotFoundError extends Error {
847
+ constructor(command) {
848
+ super(`Command not found ${command}`);
849
+ this.name = 'CommandNotFoundError';
850
+ }
851
+ }
812
852
  const commands = Object.create(null);
813
853
  const register = commandMap => {
814
854
  Object.assign(commands, commandMap);
@@ -819,7 +859,7 @@ const getCommand = key => {
819
859
  const execute = (command, ...args) => {
820
860
  const fn = getCommand(command);
821
861
  if (!fn) {
822
- throw new Error(`command not found ${command}`);
862
+ throw new CommandNotFoundError(command);
823
863
  }
824
864
  return fn(...args);
825
865
  };
@@ -835,10 +875,10 @@ const createRpc = ipc => {
835
875
  send(ipc, method, ...params);
836
876
  },
837
877
  invoke(method, ...params) {
838
- return invoke$3(ipc, method, ...params);
878
+ return invoke$4(ipc, method, ...params);
839
879
  },
840
880
  invokeAndTransfer(method, ...params) {
841
- return invokeAndTransfer$1(ipc, method, ...params);
881
+ return invokeAndTransfer$3(ipc, method, ...params);
842
882
  },
843
883
  async dispose() {
844
884
  await ipc?.dispose();
@@ -876,7 +916,7 @@ const listen$1 = async (module, options) => {
876
916
  const ipc = module.wrap(rawIpc);
877
917
  return ipc;
878
918
  };
879
- const create$9 = async ({
919
+ const create$e = async ({
880
920
  commandMap,
881
921
  messagePort,
882
922
  isMessagePortOpen
@@ -894,7 +934,7 @@ const create$9 = async ({
894
934
  };
895
935
  const MessagePortRpcParent = {
896
936
  __proto__: null,
897
- create: create$9
937
+ create: create$e
898
938
  };
899
939
  const create$1 = async ({
900
940
  commandMap
@@ -910,17 +950,38 @@ const WebWorkerRpcClient = {
910
950
  __proto__: null,
911
951
  create: create$1
912
952
  };
953
+ const createMockRpc = ({
954
+ commandMap
955
+ }) => {
956
+ const invocations = [];
957
+ const invoke = (method, ...params) => {
958
+ invocations.push([method, ...params]);
959
+ const command = commandMap[method];
960
+ if (!command) {
961
+ throw new Error(`command ${method} not found`);
962
+ }
963
+ return command(...params);
964
+ };
965
+ const mockRpc = {
966
+ invoke,
967
+ invokeAndTransfer: invoke,
968
+ invocations
969
+ };
970
+ return mockRpc;
971
+ };
972
+
973
+ const DebugWorker = 55;
974
+ const EmbedsProcess$1 = 207;
975
+ const RendererWorker$1 = 1;
913
976
 
914
977
  const rpcs = Object.create(null);
915
- const set$7 = (id, rpc) => {
978
+ const set$4 = (id, rpc) => {
916
979
  rpcs[id] = rpc;
917
980
  };
918
981
  const get = id => {
919
982
  return rpcs[id];
920
983
  };
921
984
 
922
- /* eslint-disable @typescript-eslint/explicit-function-return-type */
923
-
924
985
  const create = rpcId => {
925
986
  return {
926
987
  // @ts-ignore
@@ -936,46 +997,399 @@ const create = rpcId => {
936
997
  return rpc.invokeAndTransfer(method, ...params);
937
998
  },
938
999
  set(rpc) {
939
- set$7(rpcId, rpc);
1000
+ set$4(rpcId, rpc);
1001
+ },
1002
+ async dispose() {
1003
+ const rpc = get(rpcId);
1004
+ await rpc.dispose();
940
1005
  }
941
1006
  };
942
1007
  };
943
- const MainProcess$1 = -5;
944
- const RendererWorker$1 = 1;
1008
+
945
1009
  const {
946
- invoke: invoke$5,
947
- set: set$5
948
- } = create(MainProcess$1);
1010
+ invoke: invoke$3,
1011
+ invokeAndTransfer: invokeAndTransfer$2,
1012
+ set: set$3,
1013
+ dispose: dispose$1
1014
+ } = create(EmbedsProcess$1);
1015
+
949
1016
  const EmbedsProcess = {
950
1017
  __proto__: null,
951
- invoke: invoke$5,
952
- set: set$5
1018
+ dispose: dispose$1,
1019
+ invoke: invoke$3,
1020
+ invokeAndTransfer: invokeAndTransfer$2,
1021
+ set: set$3
953
1022
  };
1023
+
954
1024
  const {
955
1025
  invoke: invoke$2,
956
- invokeAndTransfer: invokeAndTransfer$2,
957
- set: set$2
1026
+ invokeAndTransfer: invokeAndTransfer$1,
1027
+ set: set$2,
1028
+ dispose
958
1029
  } = create(RendererWorker$1);
1030
+ const searchFileHtml = async uri => {
1031
+ return invoke$2('ExtensionHost.searchFileWithHtml', uri);
1032
+ };
1033
+ const getFilePathElectron = async file => {
1034
+ return invoke$2('FileSystemHandle.getFilePathElectron', file);
1035
+ };
1036
+ const showContextMenu = async (x, y, id, ...args) => {
1037
+ return invoke$2('ContextMenu.show', x, y, id, ...args);
1038
+ };
1039
+ const getElectronVersion = async () => {
1040
+ return invoke$2('Process.getElectronVersion');
1041
+ };
1042
+ const applyBulkReplacement = async bulkEdits => {
1043
+ await invoke$2('BulkReplacement.applyBulkReplacement', bulkEdits);
1044
+ };
1045
+ const setColorTheme = async id => {
1046
+ // @ts-ignore
1047
+ return invoke$2(/* ColorTheme.setColorTheme */'ColorTheme.setColorTheme', /* colorThemeId */id);
1048
+ };
1049
+ const getNodeVersion = async () => {
1050
+ return invoke$2('Process.getNodeVersion');
1051
+ };
1052
+ const getChromeVersion = async () => {
1053
+ return invoke$2('Process.getChromeVersion');
1054
+ };
1055
+ const getV8Version = async () => {
1056
+ return invoke$2('Process.getV8Version');
1057
+ };
1058
+ const getFileHandles = async fileIds => {
1059
+ const files = await invoke$2('FileSystemHandle.getFileHandles', fileIds);
1060
+ return files;
1061
+ };
1062
+ const setWorkspacePath = async path => {
1063
+ await invoke$2('Workspace.setPath', path);
1064
+ };
1065
+ const registerWebViewInterceptor = async (id, port) => {
1066
+ await invokeAndTransfer$1('WebView.registerInterceptor', id, port);
1067
+ };
1068
+ const unregisterWebViewInterceptor = async id => {
1069
+ await invoke$2('WebView.unregisterInterceptor', id);
1070
+ };
1071
+ const sendMessagePortToEditorWorker = async (port, rpcId) => {
1072
+ const command = 'HandleMessagePort.handleMessagePort';
1073
+ // @ts-ignore
1074
+ await invokeAndTransfer$1('SendMessagePortToExtensionHostWorker.sendMessagePortToEditorWorker', port, command, rpcId);
1075
+ };
1076
+ const sendMessagePortToErrorWorker = async (port, rpcId) => {
1077
+ const command = 'Errors.handleMessagePort';
1078
+ // @ts-ignore
1079
+ await invokeAndTransfer$1('SendMessagePortToExtensionHostWorker.sendMessagePortToErrorWorker', port, command, rpcId);
1080
+ };
1081
+ const sendMessagePortToMarkdownWorker = async (port, rpcId) => {
1082
+ const command = 'Markdown.handleMessagePort';
1083
+ // @ts-ignore
1084
+ await invokeAndTransfer$1('SendMessagePortToExtensionHostWorker.sendMessagePortToMarkdownWorker', port, command, rpcId);
1085
+ };
1086
+ const sendMessagePortToIconThemeWorker = async (port, rpcId) => {
1087
+ const command = 'IconTheme.handleMessagePort';
1088
+ // @ts-ignore
1089
+ await invokeAndTransfer$1('SendMessagePortToExtensionHostWorker.sendMessagePortToIconThemeWorker', port, command, rpcId);
1090
+ };
1091
+ const sendMessagePortToFileSystemWorker = async (port, rpcId) => {
1092
+ const command = 'FileSystem.handleMessagePort';
1093
+ // @ts-ignore
1094
+ await invokeAndTransfer$1('SendMessagePortToExtensionHostWorker.sendMessagePortToFileSystemWorker', port, command, rpcId);
1095
+ };
1096
+ const readFile = async uri => {
1097
+ return invoke$2('FileSystem.readFile', uri);
1098
+ };
1099
+ const getWebViewSecret = async key => {
1100
+ // @ts-ignore
1101
+ return invoke$2('WebView.getSecret', key);
1102
+ };
1103
+ const setWebViewPort = async (uid, port, origin, portType) => {
1104
+ return invokeAndTransfer$1('WebView.setPort', uid, port, origin, portType);
1105
+ };
1106
+ const setFocus = key => {
1107
+ return invoke$2('Focus.setFocus', key);
1108
+ };
1109
+ const getFileIcon = async options => {
1110
+ return invoke$2('IconTheme.getFileIcon', options);
1111
+ };
1112
+ const getColorThemeNames = async () => {
1113
+ return invoke$2('ColorTheme.getColorThemeNames');
1114
+ };
1115
+ const disableExtension = async id => {
1116
+ // @ts-ignore
1117
+ return invoke$2('ExtensionManagement.disable', id);
1118
+ };
1119
+ const enableExtension = async id => {
1120
+ // @ts-ignore
1121
+ return invoke$2('ExtensionManagement.enable', id);
1122
+ };
1123
+ const handleDebugChange = async params => {
1124
+ // @ts-ignore
1125
+ return invoke$2('Run And Debug.handleChange', params);
1126
+ };
1127
+ const getFolderIcon = async options => {
1128
+ return invoke$2('IconTheme.getFolderIcon', options);
1129
+ };
1130
+ const closeWidget = async widgetId => {
1131
+ return invoke$2('Viewlet.closeWidget', widgetId);
1132
+ };
1133
+ const sendMessagePortToExtensionHostWorker = async (port, rpcId = 0) => {
1134
+ const command = 'HandleMessagePort.handleMessagePort2';
1135
+ await invokeAndTransfer$1('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionHostWorker', port, command, rpcId);
1136
+ };
1137
+ const sendMessagePortToSearchProcess = async port => {
1138
+ await invokeAndTransfer$1('SendMessagePortToElectron.sendMessagePortToElectron', port, 'HandleMessagePortForSearchProcess.handleMessagePortForSearchProcess');
1139
+ };
1140
+ const confirm = async (message, options) => {
1141
+ // @ts-ignore
1142
+ const result = await invoke$2('ConfirmPrompt.prompt', message, options);
1143
+ return result;
1144
+ };
1145
+ const getRecentlyOpened = async () => {
1146
+ return invoke$2(/* RecentlyOpened.getRecentlyOpened */'RecentlyOpened.getRecentlyOpened');
1147
+ };
1148
+ const getKeyBindings = async () => {
1149
+ return invoke$2('KeyBindingsInitial.getKeyBindings');
1150
+ };
1151
+ const writeClipBoardText = async text => {
1152
+ await invoke$2('ClipBoard.writeText', /* text */text);
1153
+ };
1154
+ const writeClipBoardImage = async blob => {
1155
+ // @ts-ignore
1156
+ await invoke$2('ClipBoard.writeImage', /* text */blob);
1157
+ };
1158
+ const searchFileMemory = async uri => {
1159
+ // @ts-ignore
1160
+ return invoke$2('ExtensionHost.searchFileWithMemory', uri);
1161
+ };
1162
+ const searchFileFetch = async uri => {
1163
+ return invoke$2('ExtensionHost.searchFileWithFetch', uri);
1164
+ };
1165
+ const showMessageBox = async options => {
1166
+ return invoke$2('ElectronDialog.showMessageBox', options);
1167
+ };
1168
+ const handleDebugResumed = async params => {
1169
+ await invoke$2('Run And Debug.handleResumed', params);
1170
+ };
1171
+ const openWidget = async name => {
1172
+ await invoke$2('Viewlet.openWidget', name);
1173
+ };
1174
+ const getIcons = async requests => {
1175
+ const icons = await invoke$2('IconTheme.getIcons', requests);
1176
+ return icons;
1177
+ };
1178
+ const activateByEvent = event => {
1179
+ return invoke$2('ExtensionHostManagement.activateByEvent', event);
1180
+ };
1181
+ const setAdditionalFocus = focusKey => {
1182
+ // @ts-ignore
1183
+ return invoke$2('Focus.setAdditionalFocus', focusKey);
1184
+ };
1185
+ const getActiveEditorId = () => {
1186
+ // @ts-ignore
1187
+ return invoke$2('GetActiveEditor.getActiveEditorId');
1188
+ };
1189
+ const getWorkspacePath = () => {
1190
+ return invoke$2('Workspace.getPath');
1191
+ };
1192
+ const sendMessagePortToRendererProcess = async port => {
1193
+ const command = 'HandleMessagePort.handleMessagePort';
1194
+ // @ts-ignore
1195
+ await invokeAndTransfer$1('SendMessagePortToExtensionHostWorker.sendMessagePortToRendererProcess', port, command, DebugWorker);
1196
+ };
1197
+ const getPreference = async key => {
1198
+ return await invoke$2('Preferences.get', key);
1199
+ };
1200
+ const getAllExtensions = async () => {
1201
+ return invoke$2('ExtensionManagement.getAllExtensions');
1202
+ };
1203
+ const rerenderEditor = async key => {
1204
+ // @ts-ignore
1205
+ return invoke$2('Editor.rerender', key);
1206
+ };
1207
+ const handleDebugPaused = async params => {
1208
+ await invoke$2('Run And Debug.handlePaused', params);
1209
+ };
1210
+ const openUri = async (uri, focus, options) => {
1211
+ await invoke$2('Main.openUri', uri, focus, options);
1212
+ };
1213
+ const sendMessagePortToSyntaxHighlightingWorker = async port => {
1214
+ await invokeAndTransfer$1(
1215
+ // @ts-ignore
1216
+ 'SendMessagePortToSyntaxHighlightingWorker.sendMessagePortToSyntaxHighlightingWorker', port, 'HandleMessagePort.handleMessagePort2');
1217
+ };
1218
+ const handleDebugScriptParsed = async script => {
1219
+ await invoke$2('Run And Debug.handleScriptParsed', script);
1220
+ };
1221
+ const getWindowId = async () => {
1222
+ return invoke$2('GetWindowId.getWindowId');
1223
+ };
1224
+ const getBlob = async uri => {
1225
+ // @ts-ignore
1226
+ return invoke$2('FileSystem.getBlob', uri);
1227
+ };
1228
+ const getExtensionCommands = async () => {
1229
+ return invoke$2('ExtensionHost.getCommands');
1230
+ };
1231
+ const showErrorDialog = async errorInfo => {
1232
+ // @ts-ignore
1233
+ await invoke$2('ErrorHandling.showErrorDialog', errorInfo);
1234
+ };
1235
+ const getFolderSize = async uri => {
1236
+ // @ts-ignore
1237
+ return await invoke$2('FileSystem.getFolderSize', uri);
1238
+ };
1239
+ const getExtension = async id => {
1240
+ // @ts-ignore
1241
+ return invoke$2('ExtensionManagement.getExtension', id);
1242
+ };
1243
+ const getMarkdownDom = async html => {
1244
+ // @ts-ignore
1245
+ return invoke$2('Markdown.getVirtualDom', html);
1246
+ };
1247
+ const renderMarkdown = async (markdown, options) => {
1248
+ // @ts-ignore
1249
+ return invoke$2('Markdown.renderMarkdown', markdown, options);
1250
+ };
1251
+ const openNativeFolder = async uri => {
1252
+ // @ts-ignore
1253
+ await invoke$2('OpenNativeFolder.openNativeFolder', uri);
1254
+ };
1255
+ const uninstallExtension = async id => {
1256
+ return invoke$2('ExtensionManagement.uninstall', id);
1257
+ };
1258
+ const installExtension = async id => {
1259
+ // @ts-ignore
1260
+ return invoke$2('ExtensionManagement.install', id);
1261
+ };
1262
+ const openExtensionSearch = async () => {
1263
+ // @ts-ignore
1264
+ return invoke$2('SideBar.openViewlet', 'Extensions');
1265
+ };
1266
+ const setExtensionsSearchValue = async searchValue => {
1267
+ // @ts-ignore
1268
+ return invoke$2('Extensions.handleInput', searchValue);
1269
+ };
1270
+ const openExternal = async uri => {
1271
+ // @ts-ignore
1272
+ await invoke$2('Open.openExternal', uri);
1273
+ };
1274
+ const openUrl = async uri => {
1275
+ // @ts-ignore
1276
+ await invoke$2('Open.openUrl', uri);
1277
+ };
1278
+ const getAllPreferences = async () => {
1279
+ // @ts-ignore
1280
+ return invoke$2('Preferences.getAll');
1281
+ };
1282
+ const showSaveFilePicker = async () => {
1283
+ // @ts-ignore
1284
+ return invoke$2('FilePicker.showSaveFilePicker');
1285
+ };
1286
+ const getLogsDir = async () => {
1287
+ // @ts-ignore
1288
+ return invoke$2('PlatformPaths.getLogsDir');
1289
+ };
1290
+ const registerMockRpc = commandMap => {
1291
+ const mockRpc = createMockRpc({
1292
+ commandMap
1293
+ });
1294
+ set$2(mockRpc);
1295
+ return mockRpc;
1296
+ };
1297
+
959
1298
  const RendererWorker = {
960
1299
  __proto__: null,
1300
+ activateByEvent,
1301
+ applyBulkReplacement,
1302
+ closeWidget,
1303
+ confirm,
1304
+ disableExtension,
1305
+ dispose,
1306
+ enableExtension,
1307
+ getActiveEditorId,
1308
+ getAllExtensions,
1309
+ getAllPreferences,
1310
+ getBlob,
1311
+ getChromeVersion,
1312
+ getColorThemeNames,
1313
+ getElectronVersion,
1314
+ getExtension,
1315
+ getExtensionCommands,
1316
+ getFileHandles,
1317
+ getFileIcon,
1318
+ getFilePathElectron,
1319
+ getFolderIcon,
1320
+ getFolderSize,
1321
+ getIcons,
1322
+ getKeyBindings,
1323
+ getLogsDir,
1324
+ getMarkdownDom,
1325
+ getNodeVersion,
1326
+ getPreference,
1327
+ getRecentlyOpened,
1328
+ getV8Version,
1329
+ getWebViewSecret,
1330
+ getWindowId,
1331
+ getWorkspacePath,
1332
+ handleDebugChange,
1333
+ handleDebugPaused,
1334
+ handleDebugResumed,
1335
+ handleDebugScriptParsed,
1336
+ installExtension,
961
1337
  invoke: invoke$2,
962
- invokeAndTransfer: invokeAndTransfer$2,
963
- set: set$2
1338
+ invokeAndTransfer: invokeAndTransfer$1,
1339
+ openExtensionSearch,
1340
+ openExternal,
1341
+ openNativeFolder,
1342
+ openUri,
1343
+ openUrl,
1344
+ openWidget,
1345
+ readFile,
1346
+ registerMockRpc,
1347
+ registerWebViewInterceptor,
1348
+ renderMarkdown,
1349
+ rerenderEditor,
1350
+ searchFileFetch,
1351
+ searchFileHtml,
1352
+ searchFileMemory,
1353
+ sendMessagePortToEditorWorker,
1354
+ sendMessagePortToErrorWorker,
1355
+ sendMessagePortToExtensionHostWorker,
1356
+ sendMessagePortToFileSystemWorker,
1357
+ sendMessagePortToIconThemeWorker,
1358
+ sendMessagePortToMarkdownWorker,
1359
+ sendMessagePortToRendererProcess,
1360
+ sendMessagePortToSearchProcess,
1361
+ sendMessagePortToSyntaxHighlightingWorker,
1362
+ set: set$2,
1363
+ setAdditionalFocus,
1364
+ setColorTheme,
1365
+ setExtensionsSearchValue,
1366
+ setFocus,
1367
+ setWebViewPort,
1368
+ setWorkspacePath,
1369
+ showContextMenu,
1370
+ showErrorDialog,
1371
+ showMessageBox,
1372
+ showSaveFilePicker,
1373
+ uninstallExtension,
1374
+ unregisterWebViewInterceptor,
1375
+ writeClipBoardImage,
1376
+ writeClipBoardText
964
1377
  };
965
1378
 
966
1379
  const {
967
- set: set$1,
968
- invoke: invoke$1} = EmbedsProcess;
1380
+ invoke: invoke$1,
1381
+ set: set$1
1382
+ } = EmbedsProcess;
1383
+
1384
+ const ERR_ABORTED = 'ERR_ABORTED';
1385
+ const ERR_FAILED = 'ERR_FAILED';
969
1386
 
970
1387
  const {
971
1388
  invoke,
972
- set,
973
- invokeAndTransfer
1389
+ invokeAndTransfer,
1390
+ set
974
1391
  } = RendererWorker;
975
1392
 
976
- const ERR_ABORTED = 'ERR_ABORTED';
977
- const ERR_FAILED = 'ERR_FAILED';
978
-
979
1393
  const createWebContentsView = async (restoreId, fallThroughKeyBindings) => {
980
1394
  // @ts-ignore
981
1395
  const id = await invoke$1('ElectronWebContentsView.createWebContentsView', restoreId, fallThroughKeyBindings);
@@ -985,7 +1399,6 @@ const disposeWebContentsView = id => {
985
1399
  return invoke$1('ElectronWebContentsView.disposeWebContentsView', id);
986
1400
  };
987
1401
  const resizeWebContentsView = (id, x, y, width, height) => {
988
- // @ts-ignore
989
1402
  return invoke$1('ElectronWebContentsView.resizeBrowserView', id, x, y, width, height);
990
1403
  };
991
1404
  const setIframeSrcFallback = async (id, error) => {
@@ -993,12 +1406,10 @@ const setIframeSrcFallback = async (id, error) => {
993
1406
  code,
994
1407
  message
995
1408
  } = error;
996
- // @ts-ignore
997
1409
  await invoke$1('ElectronWebContentsView.setIframeSrcFallback', id, code, message);
998
1410
  };
999
1411
  const setIframeSrc = async (id, iframeSrc) => {
1000
1412
  try {
1001
- // @ts-ignore
1002
1413
  await invoke$1('ElectronWebContentsView.setIframeSrc', id, iframeSrc);
1003
1414
  } catch (error) {
1004
1415
  console.log({
@@ -1006,11 +1417,13 @@ const setIframeSrc = async (id, iframeSrc) => {
1006
1417
  });
1007
1418
  // TODO send error back to embeds worker,
1008
1419
  // embeds worker decides how to handle error
1420
+
1009
1421
  // @ts-ignore
1010
1422
  if (error && error.code === ERR_ABORTED) {
1011
1423
  console.info(`[embeds worker] navigation to ${iframeSrc} aborted`);
1012
1424
  return;
1013
1425
  }
1426
+
1014
1427
  // @ts-ignore
1015
1428
  if (error && error.code === ERR_FAILED) {
1016
1429
  console.info(`[embeds worker] navigation to ${iframeSrc} canceled`);
@@ -1025,63 +1438,49 @@ const setIframeSrc = async (id, iframeSrc) => {
1025
1438
  }
1026
1439
  };
1027
1440
  const focus = id => {
1028
- // @ts-ignore
1029
1441
  return invoke$1('ElectronWebContentsView.focus', id);
1030
1442
  };
1031
1443
  const openDevtools = id => {
1032
- // @ts-ignore
1033
1444
  return invoke$1('ElectronWebContentsView.openDevtools', id);
1034
1445
  };
1035
1446
  const reload = id => {
1036
- // @ts-ignore
1037
1447
  return invoke$1('ElectronWebContentsView.reload', id);
1038
1448
  };
1039
1449
  const show = id => {
1040
- // @ts-ignore
1041
1450
  return invoke$1('ElectronWebContentsView.show', id);
1042
1451
  };
1043
1452
  const hide = id => {
1044
- // @ts-ignore
1045
1453
  return invoke$1('ElectronWebContentsView.hide', id);
1046
1454
  };
1047
1455
  const forward = id => {
1048
- // @ts-ignore
1049
1456
  return invoke$1('ElectronWebContentsView.forward', id);
1050
1457
  };
1051
1458
  const backward = id => {
1052
- // @ts-ignore
1053
1459
  return invoke$1('ElectronWebContentsView.backward', id);
1054
1460
  };
1055
1461
  const getDomTree = id => {
1056
- // @ts-ignore
1057
1462
  return invoke$1('ElectronWebContentsView.getDomTree', id);
1058
1463
  };
1059
1464
  const insertCss = (id, css) => {
1060
- // @ts-ignore
1061
1465
  return invoke$1('ElectronWebContentsView.insertCss', id, css);
1062
1466
  };
1063
1467
  const insertJavaScript = (id, code) => {
1064
- // @ts-ignore
1065
1468
  return invoke$1('ElectronWebContentsView.insertJavaScript', id, code);
1066
1469
  };
1067
1470
  const cancelNavigation = id => {
1068
- // @ts-ignore
1069
1471
  return invoke$1('ElectronWebContentsView.cancelNavigation', id);
1070
1472
  };
1071
1473
  const inspectElement = (id, x, y) => {
1072
- // @ts-ignore
1073
1474
  return invoke$1('ElectronWebContentsView.inspectElement', id, x, y);
1074
1475
  };
1075
1476
  const copyImageAt = (id, x, y) => {
1076
- // @ts-ignore
1077
1477
  return invoke$1('ElectronWebContentsView.copyImageAt', id, x, y);
1078
1478
  };
1079
- const setFallthroughKeyBindings = (id, fallthroughKeybindings) => {
1479
+ const setFallthroughKeyBindings = async (id, fallthroughKeybindings) => {
1080
1480
  // TODO
1081
1481
  // return EmbedsProcess.invoke('ElectronWebContentsView.setFallthroughKeyBindings', id, fallthroughKeybindings)
1082
1482
  };
1083
1483
  const getStats = (id, fallthroughKeybindings) => {
1084
- // @ts-ignore
1085
1484
  return invoke$1('ElectronWebContentsView.getStats', id, fallthroughKeybindings);
1086
1485
  };
1087
1486
  const forwardEvent = key => (id, ...args) => {
@@ -1093,7 +1492,7 @@ const handleWillNavigate = forwardEvent('ElectronBrowserView.handleWillNavigate'
1093
1492
  const handleContextMenu = forwardEvent('ElectronBrowserView.handleContextMenu');
1094
1493
 
1095
1494
  const exit = () => {
1096
- self.close();
1495
+ globalThis.close();
1097
1496
  };
1098
1497
 
1099
1498
  const getPortTuple = () => {
@@ -1126,8 +1525,8 @@ const createEmbedsProcessRpc = async () => {
1126
1525
  port1.start();
1127
1526
  const rpc = await MessagePortRpcParent.create({
1128
1527
  commandMap: {},
1129
- messagePort: port1,
1130
- isMessagePortOpen: true
1528
+ isMessagePortOpen: true,
1529
+ messagePort: port1
1131
1530
  });
1132
1531
  // TODO createMessageportRpcParent should call port start
1133
1532
  return rpc;
package/package.json CHANGED
@@ -1,10 +1,13 @@
1
1
  {
2
2
  "name": "@lvce-editor/embeds-worker",
3
- "version": "3.0.0",
4
- "description": "",
5
- "main": "dist/embedsWorkerMain.js",
3
+ "version": "4.1.0",
4
+ "description": "Web Worker to manage electron webcontent views in Lvce Editor",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git@github.com:lvce-editor/embeds-worker.git"
8
+ },
9
+ "license": "MIT",
10
+ "author": "Lvce Editor",
6
11
  "type": "module",
7
- "keywords": [],
8
- "author": "",
9
- "license": "MIT"
12
+ "main": "dist/embedsWorkerMain.js"
10
13
  }