@lvce-editor/explorer-view 3.25.0 → 3.27.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.
@@ -533,7 +533,7 @@ const create$4$1 = (method, params) => {
533
533
  };
534
534
  };
535
535
  const callbacks = Object.create(null);
536
- const set$6 = (id, fn) => {
536
+ const set$8 = (id, fn) => {
537
537
  callbacks[id] = fn;
538
538
  };
539
539
  const get$2 = id => {
@@ -552,7 +552,7 @@ const registerPromise = () => {
552
552
  resolve,
553
553
  promise
554
554
  } = Promise.withResolvers();
555
- set$6(id, resolve);
555
+ set$8(id, resolve);
556
556
  return {
557
557
  id,
558
558
  promise
@@ -897,10 +897,10 @@ const send = (transport, method, ...params) => {
897
897
  const message = create$4$1(method, params);
898
898
  transport.send(message);
899
899
  };
900
- const invoke$4 = (ipc, method, ...params) => {
900
+ const invoke$5 = (ipc, method, ...params) => {
901
901
  return invokeHelper(ipc, method, params, false);
902
902
  };
903
- const invokeAndTransfer$2 = (ipc, method, ...params) => {
903
+ const invokeAndTransfer$3 = (ipc, method, ...params) => {
904
904
  return invokeHelper(ipc, method, params, true);
905
905
  };
906
906
 
@@ -936,10 +936,10 @@ const createRpc = ipc => {
936
936
  send(ipc, method, ...params);
937
937
  },
938
938
  invoke(method, ...params) {
939
- return invoke$4(ipc, method, ...params);
939
+ return invoke$5(ipc, method, ...params);
940
940
  },
941
941
  invokeAndTransfer(method, ...params) {
942
- return invokeAndTransfer$2(ipc, method, ...params);
942
+ return invokeAndTransfer$3(ipc, method, ...params);
943
943
  },
944
944
  async dispose() {
945
945
  await ipc?.dispose();
@@ -1169,6 +1169,7 @@ const Alt = 1 << 9 >>> 0;
1169
1169
  const DebugWorker = 55;
1170
1170
  const FileSystemWorker$1 = 209;
1171
1171
  const RendererWorker$1 = 1;
1172
+ const IconThemeWorker$1 = 7009;
1172
1173
 
1173
1174
  const FocusElementByName = 'Viewlet.focusElementByName';
1174
1175
  const FocusSelector = 'Viewlet.focusSelector';
@@ -1180,7 +1181,7 @@ const FocusExplorer = 13;
1180
1181
  const FocusExplorerEditBox = 14;
1181
1182
 
1182
1183
  const rpcs = Object.create(null);
1183
- const set$5 = (id, rpc) => {
1184
+ const set$7 = (id, rpc) => {
1184
1185
  rpcs[id] = rpc;
1185
1186
  };
1186
1187
  const get$1 = id => {
@@ -1202,7 +1203,7 @@ const create$1 = rpcId => {
1202
1203
  return rpc.invokeAndTransfer(method, ...params);
1203
1204
  },
1204
1205
  set(rpc) {
1205
- set$5(rpcId, rpc);
1206
+ set$7(rpcId, rpc);
1206
1207
  },
1207
1208
  async dispose() {
1208
1209
  const rpc = get$1(rpcId);
@@ -1212,60 +1213,60 @@ const create$1 = rpcId => {
1212
1213
  };
1213
1214
 
1214
1215
  const {
1215
- invoke: invoke$3,
1216
- invokeAndTransfer: invokeAndTransfer$1,
1217
- set: set$4,
1218
- dispose: dispose$1
1216
+ invoke: invoke$4,
1217
+ invokeAndTransfer: invokeAndTransfer$2,
1218
+ set: set$6,
1219
+ dispose: dispose$2
1219
1220
  } = create$1(FileSystemWorker$1);
1220
1221
  const remove$1 = async dirent => {
1221
- return invoke$3('FileSystem.remove', dirent);
1222
+ return invoke$4('FileSystem.remove', dirent);
1222
1223
  };
1223
1224
  const readDirWithFileTypes$1 = async uri => {
1224
- return invoke$3('FileSystem.readDirWithFileTypes', uri);
1225
+ return invoke$4('FileSystem.readDirWithFileTypes', uri);
1225
1226
  };
1226
1227
  const getPathSeparator$2 = async root => {
1227
1228
  // @ts-ignore
1228
- return invoke$3('FileSystem.getPathSeparator', root);
1229
+ return invoke$4('FileSystem.getPathSeparator', root);
1229
1230
  };
1230
1231
  const getRealPath$1 = async path => {
1231
- return invoke$3('FileSystem.getRealPath', path);
1232
+ return invoke$4('FileSystem.getRealPath', path);
1232
1233
  };
1233
1234
  const stat$1 = async dirent => {
1234
- return invoke$3('FileSystem.stat', dirent);
1235
+ return invoke$4('FileSystem.stat', dirent);
1235
1236
  };
1236
1237
  const createFile = async uri => {
1237
- return invoke$3('FileSystem.writeFile', uri, '');
1238
+ return invoke$4('FileSystem.writeFile', uri, '');
1238
1239
  };
1239
1240
  const readFile$1 = async uri => {
1240
- return invoke$3('FileSystem.readFile', uri);
1241
+ return invoke$4('FileSystem.readFile', uri);
1241
1242
  };
1242
1243
  const writeFile$1 = async (uri, content) => {
1243
- return invoke$3('FileSystem.writeFile', uri, content);
1244
+ return invoke$4('FileSystem.writeFile', uri, content);
1244
1245
  };
1245
1246
  const mkdir$1 = async uri => {
1246
- return invoke$3('FileSystem.mkdir', uri);
1247
+ return invoke$4('FileSystem.mkdir', uri);
1247
1248
  };
1248
1249
  const rename$2 = async (oldUri, newUri) => {
1249
- return invoke$3('FileSystem.rename', oldUri, newUri);
1250
+ return invoke$4('FileSystem.rename', oldUri, newUri);
1250
1251
  };
1251
1252
  const copy$2 = async (oldUri, newUri) => {
1252
- return invoke$3('FileSystem.copy', oldUri, newUri);
1253
+ return invoke$4('FileSystem.copy', oldUri, newUri);
1253
1254
  };
1254
1255
  const exists = async uri => {
1255
1256
  // @ts-ignore
1256
- return invoke$3('FileSystem.exists', uri);
1257
+ return invoke$4('FileSystem.exists', uri);
1257
1258
  };
1258
1259
  const getFolderSize$1 = async uri => {
1259
1260
  // @ts-ignore
1260
- return invoke$3('FileSystem.getFolderSize', uri);
1261
+ return invoke$4('FileSystem.getFolderSize', uri);
1261
1262
  };
1262
1263
  const readFileAsBlob = async uri => {
1263
1264
  // @ts-ignore
1264
- return invoke$3('FileSystem.readFileAsBlob', uri);
1265
+ return invoke$4('FileSystem.readFileAsBlob', uri);
1265
1266
  };
1266
1267
  const appendFile = async (uri, text) => {
1267
1268
  // @ts-ignore
1268
- return invoke$3('FileSystem.appendFile', uri, text);
1269
+ return invoke$4('FileSystem.appendFile', uri, text);
1269
1270
  };
1270
1271
 
1271
1272
  const FileSystemWorker = {
@@ -1273,28 +1274,56 @@ const FileSystemWorker = {
1273
1274
  appendFile,
1274
1275
  copy: copy$2,
1275
1276
  createFile,
1276
- dispose: dispose$1,
1277
+ dispose: dispose$2,
1277
1278
  exists,
1278
1279
  getFolderSize: getFolderSize$1,
1279
1280
  getPathSeparator: getPathSeparator$2,
1280
1281
  getRealPath: getRealPath$1,
1281
- invoke: invoke$3,
1282
- invokeAndTransfer: invokeAndTransfer$1,
1282
+ invoke: invoke$4,
1283
+ invokeAndTransfer: invokeAndTransfer$2,
1283
1284
  mkdir: mkdir$1,
1284
1285
  readDirWithFileTypes: readDirWithFileTypes$1,
1285
1286
  readFile: readFile$1,
1286
1287
  readFileAsBlob,
1287
1288
  remove: remove$1,
1288
1289
  rename: rename$2,
1289
- set: set$4,
1290
+ set: set$6,
1290
1291
  stat: stat$1,
1291
1292
  writeFile: writeFile$1
1292
1293
  };
1293
1294
 
1295
+ const {
1296
+ invoke: invoke$3,
1297
+ invokeAndTransfer: invokeAndTransfer$1,
1298
+ set: set$5,
1299
+ dispose: dispose$1
1300
+ } = create$1(IconThemeWorker$1);
1301
+ const getIcons$1 = async iconRequests => {
1302
+ // @ts-ignore
1303
+ return invoke$3('IconTheme.getIcons', iconRequests);
1304
+ };
1305
+ const registerMockRpc$1 = commandMap => {
1306
+ const mockRpc = createMockRpc({
1307
+ commandMap
1308
+ });
1309
+ set$5(mockRpc);
1310
+ return mockRpc;
1311
+ };
1312
+
1313
+ const IconThemeWorker = {
1314
+ __proto__: null,
1315
+ dispose: dispose$1,
1316
+ getIcons: getIcons$1,
1317
+ invoke: invoke$3,
1318
+ invokeAndTransfer: invokeAndTransfer$1,
1319
+ registerMockRpc: registerMockRpc$1,
1320
+ set: set$5
1321
+ };
1322
+
1294
1323
  const {
1295
1324
  invoke: invoke$2,
1296
1325
  invokeAndTransfer,
1297
- set: set$3,
1326
+ set: set$4,
1298
1327
  dispose
1299
1328
  } = create$1(RendererWorker$1);
1300
1329
  const searchFileHtml = async uri => {
@@ -1561,7 +1590,7 @@ const registerMockRpc = commandMap => {
1561
1590
  const mockRpc = createMockRpc({
1562
1591
  commandMap
1563
1592
  });
1564
- set$3(mockRpc);
1593
+ set$4(mockRpc);
1565
1594
  return mockRpc;
1566
1595
  };
1567
1596
 
@@ -1629,7 +1658,7 @@ const RendererWorker = {
1629
1658
  sendMessagePortToRendererProcess,
1630
1659
  sendMessagePortToSearchProcess,
1631
1660
  sendMessagePortToSyntaxHighlightingWorker,
1632
- set: set$3,
1661
+ set: set$4,
1633
1662
  setAdditionalFocus,
1634
1663
  setColorTheme,
1635
1664
  setExtensionsSearchValue,
@@ -1648,7 +1677,7 @@ const RendererWorker = {
1648
1677
 
1649
1678
  const {
1650
1679
  invoke: invoke$1,
1651
- set: set$2,
1680
+ set: set$3,
1652
1681
  writeClipBoardText,
1653
1682
  confirm,
1654
1683
  showContextMenu,
@@ -1660,7 +1689,7 @@ const invoke = async (method, ...params) => {
1660
1689
  return invoke$1(method, ...params);
1661
1690
  };
1662
1691
  const {
1663
- set: set$1
1692
+ set: set$2
1664
1693
  } = FileSystemWorker;
1665
1694
 
1666
1695
  const remove = async dirent => {
@@ -2527,18 +2556,26 @@ const getIconsCached = (dirents, fileIconCache) => {
2527
2556
  return dirents.map(dirent => fileIconCache[dirent]);
2528
2557
  };
2529
2558
 
2530
- const getMissingIconRequests = (dirents, fileIconCache) => {
2531
- const missingRequests = [];
2559
+ const getMissingDirents = (dirents, fileIconCache) => {
2560
+ const missingDirents = [];
2532
2561
  for (const dirent of dirents) {
2533
2562
  if (!(dirent.path in fileIconCache)) {
2534
- missingRequests.push({
2535
- type: dirent.type,
2536
- name: dirent.name,
2537
- path: dirent.path
2538
- });
2563
+ missingDirents.push(dirent);
2539
2564
  }
2540
2565
  }
2541
- return missingRequests;
2566
+ return missingDirents;
2567
+ };
2568
+ const toIconRequest = dirent => {
2569
+ return {
2570
+ type: dirent.type,
2571
+ name: dirent.name,
2572
+ path: dirent.path
2573
+ };
2574
+ };
2575
+ const getMissingIconRequests = (dirents, fileIconCache) => {
2576
+ const missingRequests = getMissingDirents(dirents, fileIconCache);
2577
+ const iconRequests = missingRequests.map(toIconRequest);
2578
+ return iconRequests;
2542
2579
  };
2543
2580
 
2544
2581
  const getPath = item => {
@@ -2778,7 +2815,7 @@ const getVisibleExplorerItems = (items, minLineY, maxLineY, focusedIndex, editin
2778
2815
 
2779
2816
  const {
2780
2817
  get,
2781
- set,
2818
+ set: set$1,
2782
2819
  registerCommands,
2783
2820
  getCommandIds,
2784
2821
  wrapGetter
@@ -2807,9 +2844,9 @@ const wrapListItemCommand = fn => {
2807
2844
  fileIconCache
2808
2845
  } = updatedState;
2809
2846
  const intermediate = get(id);
2810
- set(id, intermediate.oldState, updatedState);
2847
+ set$1(id, intermediate.oldState, updatedState);
2811
2848
  const maxLineY = getExplorerMaxLineY(minLineY, height, itemHeight, items.length);
2812
- if (items === intermediate.newState.items && minLineY === intermediate.newState.minLineY && editingIcon === intermediate.newState.editingIcon && cutItems === intermediate.newState.cutItems && editingErrorMessage === intermediate.newState.editingErrorMessage) {
2849
+ if (items === intermediate.newState.items && minLineY === intermediate.newState.minLineY && editingIcon === intermediate.newState.editingIcon && cutItems === intermediate.newState.cutItems && editingErrorMessage === intermediate.newState.editingErrorMessage && dropTargets === intermediate.newState.dropTargets) {
2813
2850
  return;
2814
2851
  }
2815
2852
  const visible = items.slice(minLineY, maxLineY);
@@ -2826,7 +2863,7 @@ const wrapListItemCommand = fn => {
2826
2863
  maxLineY
2827
2864
  };
2828
2865
  const intermediate2 = get(id);
2829
- set(id, intermediate2.oldState, finalState);
2866
+ set$1(id, intermediate2.oldState, finalState);
2830
2867
  };
2831
2868
  return wrappedCommand;
2832
2869
  };
@@ -2888,7 +2925,7 @@ const create2 = (uid, uri, x, y, width, height, args, parentUid, platform = 0) =
2888
2925
  errorMessageTop: 0,
2889
2926
  visibleExplorerItems: []
2890
2927
  };
2891
- set(uid, state, state);
2928
+ set$1(uid, state, state);
2892
2929
  };
2893
2930
 
2894
2931
  // TODO parentUid might ot be needed
@@ -2944,7 +2981,7 @@ const create = (id, uri, x, y, width, height, args, parentUid, platform = 0) =>
2944
2981
  errorMessageTop: 0,
2945
2982
  visibleExplorerItems: []
2946
2983
  };
2947
- set(state.uid, state, state);
2984
+ set$1(state.uid, state, state);
2948
2985
  return state;
2949
2986
  };
2950
2987
 
@@ -3079,8 +3116,9 @@ const getChildDirentsRecursively = async (dirent, pathSeparator) => {
3079
3116
 
3080
3117
  const getParentEndIndex = (dirents, index) => {
3081
3118
  const dirent = dirents[index];
3119
+ const depth = dirent.depth;
3082
3120
  let endIndex = index + 1;
3083
- while (endIndex < dirents.length && dirents[endIndex].depth > dirent.depth) {
3121
+ while (endIndex < dirents.length && dirents[endIndex].depth > depth) {
3084
3122
  endIndex++;
3085
3123
  }
3086
3124
  return endIndex;
@@ -3957,7 +3995,7 @@ const handleContextMenuMouseAt = async (state, x, y) => {
3957
3995
  focusedIndex,
3958
3996
  focused: false
3959
3997
  };
3960
- set(state.uid, state, newState);
3998
+ set$1(state.uid, state, newState);
3961
3999
  await show(x, y, Explorer);
3962
4000
  return state;
3963
4001
  };
@@ -4041,7 +4079,7 @@ const canBeDroppedInto = dirent => {
4041
4079
 
4042
4080
  const countInRange = (start, end) => {
4043
4081
  const items = [];
4044
- for (let i = start; i < end; i++) {
4082
+ for (let i = start; i <= end; i++) {
4045
4083
  items.push(i);
4046
4084
  }
4047
4085
  return items;
@@ -5094,11 +5132,31 @@ const createFileSystemWorkerRpc = async () => {
5094
5132
 
5095
5133
  const initializeFileSystemWorker = async () => {
5096
5134
  const rpc = await createFileSystemWorkerRpc();
5097
- set$1(rpc);
5135
+ set$2(rpc);
5136
+ };
5137
+
5138
+ const createIconThemeWorkerRpc = async () => {
5139
+ try {
5140
+ const rpc = await TransferMessagePortRpcParent.create({
5141
+ commandMap: {},
5142
+ send: sendMessagePortToFileSystemWorker
5143
+ });
5144
+ return rpc;
5145
+ } catch (error) {
5146
+ throw new VError(error, `Failed to create icon theme worker rpc`);
5147
+ }
5148
+ };
5149
+
5150
+ const {
5151
+ set} = IconThemeWorker;
5152
+
5153
+ const initializeIconThemeWorker = async () => {
5154
+ const rpc = await createIconThemeWorkerRpc();
5155
+ set(rpc);
5098
5156
  };
5099
5157
 
5100
5158
  const initialize = async () => {
5101
- await initializeFileSystemWorker();
5159
+ await Promise.all([initializeFileSystemWorker(), initializeIconThemeWorker()]);
5102
5160
  };
5103
5161
 
5104
5162
  const getNewChildDirentsForNewDirent = async (items, depth, parentPath, direntType) => {
@@ -5814,7 +5872,7 @@ const render2 = (uid, diffResult) => {
5814
5872
  oldState,
5815
5873
  newState
5816
5874
  } = get(uid);
5817
- set(uid, newState, newState);
5875
+ set$1(uid, newState, newState);
5818
5876
  const commands = applyRender(oldState, newState, diffResult);
5819
5877
  return commands;
5820
5878
  };
@@ -6255,8 +6313,6 @@ const commandMap = {
6255
6313
  'Explorer.focusFirst': wrapListItemCommand(focusFirst),
6256
6314
  'Explorer.focusIndex': wrapListItemCommand(focusIndex),
6257
6315
  'Explorer.focusLast': wrapListItemCommand(focusLast),
6258
- 'Explorer.handleDragStart': wrapListItemCommand(handleDragStart),
6259
- 'Explorer.handleDragOverIndex': wrapListItemCommand(handleDragOverIndex),
6260
6316
  'Explorer.focusNext': wrapListItemCommand(focusNext),
6261
6317
  'Explorer.focusNone': wrapListItemCommand(focusNone),
6262
6318
  'Explorer.focusPrevious': wrapListItemCommand(focusPrevious),
@@ -6265,7 +6321,6 @@ const commandMap = {
6265
6321
  'Explorer.getMouseActions': getMouseActions,
6266
6322
  'Explorer.handleArrowLeft': wrapListItemCommand(handleArrowLeft),
6267
6323
  'Explorer.handleArrowRight': wrapListItemCommand(handleArrowRight),
6268
- 'Explorer.handleEscape': wrapListItemCommand(handleEscape),
6269
6324
  'Explorer.handleBlur': wrapListItemCommand(handleBlur),
6270
6325
  'Explorer.handleClick': wrapListItemCommand(handleClick),
6271
6326
  'Explorer.handleClickAt': wrapListItemCommand(handleClickAt),
@@ -6278,7 +6333,10 @@ const commandMap = {
6278
6333
  'Explorer.handleCut': wrapListItemCommand(handleCut),
6279
6334
  'Explorer.handleDragLeave': wrapListItemCommand(handleDragLeave),
6280
6335
  'Explorer.handleDragOver': wrapListItemCommand(handleDragOver),
6336
+ 'Explorer.handleDragOverIndex': wrapListItemCommand(handleDragOverIndex),
6337
+ 'Explorer.handleDragStart': wrapListItemCommand(handleDragStart),
6281
6338
  'Explorer.handleDrop': wrapListItemCommand(handleDrop),
6339
+ 'Explorer.handleEscape': wrapListItemCommand(handleEscape),
6282
6340
  'Explorer.handleFocus': wrapListItemCommand(handleFocus),
6283
6341
  'Explorer.handleIconThemeChange': wrapListItemCommand(handleIconThemeChange),
6284
6342
  'Explorer.handleInputBlur': wrapListItemCommand(handleInputBlur),
@@ -6328,7 +6386,7 @@ const listen = async () => {
6328
6386
  const rpc = await WebWorkerRpcClient.create({
6329
6387
  commandMap: commandMap
6330
6388
  });
6331
- set$2(rpc);
6389
+ set$3(rpc);
6332
6390
  };
6333
6391
 
6334
6392
  const main = async () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/explorer-view",
3
- "version": "3.25.0",
3
+ "version": "3.27.0",
4
4
  "description": "Explorer Worker",
5
5
  "repository": {
6
6
  "type": "git",