@lvce-editor/extension-host-worker 8.12.0 → 8.14.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.
@@ -59,7 +59,7 @@ const Boolean$2 = 5;
59
59
  const Function = 6;
60
60
  const Null = 7;
61
61
  const Unknown = 8;
62
- const getType$1 = value => {
62
+ const getType$2 = value => {
63
63
  switch (typeof value) {
64
64
  case 'number':
65
65
  return Number$1;
@@ -82,31 +82,31 @@ const getType$1 = value => {
82
82
  }
83
83
  };
84
84
  const object = value => {
85
- const type = getType$1(value);
85
+ const type = getType$2(value);
86
86
  if (type !== Object$1$1) {
87
87
  throw new AssertionError('expected value to be of type object');
88
88
  }
89
89
  };
90
90
  const number = value => {
91
- const type = getType$1(value);
91
+ const type = getType$2(value);
92
92
  if (type !== Number$1) {
93
93
  throw new AssertionError('expected value to be of type number');
94
94
  }
95
95
  };
96
96
  const array = value => {
97
- const type = getType$1(value);
97
+ const type = getType$2(value);
98
98
  if (type !== Array$1$1) {
99
99
  throw new AssertionError('expected value to be of type array');
100
100
  }
101
101
  };
102
102
  const string = value => {
103
- const type = getType$1(value);
103
+ const type = getType$2(value);
104
104
  if (type !== String$2) {
105
105
  throw new AssertionError('expected value to be of type string');
106
106
  }
107
107
  };
108
108
  const fn = value => {
109
- const type = getType$1(value);
109
+ const type = getType$2(value);
110
110
  if (type !== Function) {
111
111
  throw new AssertionError('expected value to be of type function');
112
112
  }
@@ -351,7 +351,7 @@ class NoProviderFoundError extends Error {
351
351
  }
352
352
  }
353
353
 
354
- const getType = value => {
354
+ const getType$1 = value => {
355
355
  switch (typeof value) {
356
356
  case 'boolean':
357
357
  return 'boolean';
@@ -383,7 +383,7 @@ const validateResultObject = (result, resultShape) => {
383
383
  for (const [key, value] of Object.entries(resultShape.properties)) {
384
384
  // @ts-ignore
385
385
  const expectedType = value.type;
386
- const actualType = getType(result[key]);
386
+ const actualType = getType$1(result[key]);
387
387
  if (expectedType !== actualType) {
388
388
  return `item.${key} must be of type ${expectedType}`;
389
389
  }
@@ -392,7 +392,7 @@ const validateResultObject = (result, resultShape) => {
392
392
  };
393
393
  const validateResultArray = (result, resultShape) => {
394
394
  for (const item of result) {
395
- const actualType = getType(item);
395
+ const actualType = getType$1(item);
396
396
  const expectedType = resultShape.items.type;
397
397
  if (actualType !== expectedType) {
398
398
  return `expected result to be of type ${expectedType} but was of type ${actualType}`;
@@ -413,7 +413,7 @@ const getPreviewString = item => {
413
413
  return `"${item}"`;
414
414
  };
415
415
  const getPreview = item => {
416
- const type = getType(item);
416
+ const type = getType$1(item);
417
417
  switch (type) {
418
418
  case 'array':
419
419
  return getPreviewArray(item);
@@ -429,7 +429,7 @@ const validate = (item, schema) => {
429
429
  if (typeof schema === 'function') {
430
430
  return schema(item);
431
431
  }
432
- const actualType = getType(item);
432
+ const actualType = getType$1(item);
433
433
  const expectedType = schema.type;
434
434
  if (actualType !== expectedType) {
435
435
  if (schema.allowUndefined && (item === undefined || item === null)) {
@@ -1908,7 +1908,7 @@ const createMockRpc = ({
1908
1908
  };
1909
1909
 
1910
1910
  const rpcs$2 = Object.create(null);
1911
- const set$c = (id, rpc) => {
1911
+ const set$d = (id, rpc) => {
1912
1912
  rpcs$2[id] = rpc;
1913
1913
  };
1914
1914
  const get$a = id => {
@@ -1941,7 +1941,7 @@ const create$7 = rpcId => {
1941
1941
  const mockRpc = createMockRpc({
1942
1942
  commandMap
1943
1943
  });
1944
- set$c(rpcId, mockRpc);
1944
+ set$d(rpcId, mockRpc);
1945
1945
  // @ts-ignore
1946
1946
  mockRpc[Symbol.dispose] = () => {
1947
1947
  remove$4(rpcId);
@@ -1950,7 +1950,7 @@ const create$7 = rpcId => {
1950
1950
  return mockRpc;
1951
1951
  },
1952
1952
  set(rpc) {
1953
- set$c(rpcId, rpc);
1953
+ set$d(rpcId, rpc);
1954
1954
  }
1955
1955
  };
1956
1956
  };
@@ -1970,14 +1970,18 @@ const DebugWorker = {
1970
1970
  const {
1971
1971
  invoke: invoke$5,
1972
1972
  invokeAndTransfer: invokeAndTransfer$3,
1973
- set: set$b
1973
+ set: set$c
1974
1974
  } = create$7(ExtensionManagementWorker);
1975
1975
 
1976
1976
  const {
1977
1977
  invoke: invoke$4,
1978
- set: set$a
1978
+ set: set$b
1979
1979
  } = create$7(7013);
1980
1980
 
1981
+ const {
1982
+ set: set$a
1983
+ } = create$7(10_000);
1984
+
1981
1985
  const {
1982
1986
  invoke: invoke$3,
1983
1987
  invokeAndTransfer: invokeAndTransfer$2} = create$7(RendererWorker$1);
@@ -1985,6 +1989,10 @@ const sendMessagePortToFileSearchWorker = async (port, rpcId = 0) => {
1985
1989
  const command = 'QuickPick.handleMessagePort';
1986
1990
  await invokeAndTransfer$2('SendMessagePortToExtensionHostWorker.sendMessagePortToFileSearchWorker', port, command, rpcId);
1987
1991
  };
1992
+ const sendMessagePortToQuickPickWorker = async (port, rpcId = 0) => {
1993
+ const command = 'QuickPick.handleMessagePort';
1994
+ await invokeAndTransfer$2('SendMessagePortToExtensionHostWorker.sendMessagePortToQuickPickWorker', port, command, rpcId);
1995
+ };
1988
1996
  const sendMessagePortToIframeWorker = async (port, rpcId) => {
1989
1997
  const command = 'Iframes.handleMessagePort';
1990
1998
  await invokeAndTransfer$2('SendMessagePortToExtensionHostWorker.sendMessagePortToIframeWorker', port, command, rpcId);
@@ -3309,8 +3317,8 @@ const getStatusBarItems2 = async () => {
3309
3317
  }
3310
3318
  const values = Object.values(providers);
3311
3319
  for (const provider of values) {
3312
- if (provider && provider.getStatusBarItem) {
3313
- const item = provider.getStatusBarItem();
3320
+ if (provider) {
3321
+ const item = getValidatedStatusBarItem(provider);
3314
3322
  if (item) {
3315
3323
  statusBarItems.push(item);
3316
3324
  }
@@ -3334,9 +3342,53 @@ const getStatusBarItemProviderDisplay = provider => {
3334
3342
  const notifyChange = async id => {
3335
3343
  await invoke$1('StatusBar.handleChange', id);
3336
3344
  };
3345
+ const getType = value => {
3346
+ if (value === null) {
3347
+ return 'null';
3348
+ }
3349
+ if (Array.isArray(value)) {
3350
+ return 'array';
3351
+ }
3352
+ return typeof value;
3353
+ };
3354
+ const validateStatusBarItem = item => {
3355
+ if (!item || typeof item !== 'object') {
3356
+ throw new Error(`status bar item must be an object, got ${getType(item)}`);
3357
+ }
3358
+ if ('text' in item && typeof item.text !== 'string') {
3359
+ throw new Error(`status bar item.text must be a string, got ${getType(item.text)}`);
3360
+ }
3361
+ if ('name' in item && typeof item.name !== 'string') {
3362
+ throw new Error(`status bar item.name must be a string, got ${getType(item.name)}`);
3363
+ }
3364
+ };
3365
+ const getErrorStatusBarItem = title => {
3366
+ return {
3367
+ icon: '',
3368
+ name: 'error',
3369
+ onClick: '',
3370
+ text: 'error',
3371
+ title
3372
+ };
3373
+ };
3374
+ const getValidatedStatusBarItem = provider => {
3375
+ try {
3376
+ const item = provider.getStatusBarItem();
3377
+ if (!item) {
3378
+ return item;
3379
+ }
3380
+ validateStatusBarItem(item);
3381
+ return item;
3382
+ } catch (error) {
3383
+ const providerDisplay = getStatusBarItemProviderDisplay(provider);
3384
+ const wrappedError = new VError(error, `Failed to execute status bar item provider${providerDisplay}`);
3385
+ console.error(wrappedError);
3386
+ return getErrorStatusBarItem(wrappedError.message);
3387
+ }
3388
+ };
3337
3389
  const executeStatusBarItemProvider = id => {
3338
3390
  const provider = providers[id];
3339
- return provider.getStatusBarItem();
3391
+ return getValidatedStatusBarItem(provider);
3340
3392
  };
3341
3393
  const registerStatuBarItemProvider = provider => {
3342
3394
  try {
@@ -3746,21 +3798,27 @@ const launchExtensionManagementWorker = async () => {
3746
3798
  await sendMessagePortToExtensionManagementWorker(port, 0);
3747
3799
  }
3748
3800
  });
3749
- set$b(rpc);
3801
+ set$c(rpc);
3750
3802
  };
3751
3803
 
3752
3804
  const launchFileSearchWorker = async () => {
3753
- try {
3754
- const rpc = await create$d({
3755
- commandMap: {},
3756
- async send(port) {
3757
- await sendMessagePortToFileSearchWorker(port, 0);
3758
- }
3759
- });
3760
- set$a(rpc);
3761
- } catch {
3762
- // ignore
3763
- }
3805
+ const rpc = await create$d({
3806
+ commandMap: {},
3807
+ async send(port) {
3808
+ await sendMessagePortToFileSearchWorker(port, 0);
3809
+ }
3810
+ });
3811
+ set$b(rpc);
3812
+ };
3813
+
3814
+ const launchQuickPickWorker = async () => {
3815
+ const rpc = await create$d({
3816
+ commandMap: {},
3817
+ async send(port) {
3818
+ await sendMessagePortToQuickPickWorker(port, 0);
3819
+ }
3820
+ });
3821
+ set$a(rpc);
3764
3822
  };
3765
3823
 
3766
3824
  const create = () => {
@@ -5613,7 +5671,7 @@ const handleMessagePort2 = async (port, rpcId) => {
5613
5671
  messagePort: port
5614
5672
  });
5615
5673
  if (rpcId) {
5616
- set$c(rpcId, rpc);
5674
+ set$d(rpcId, rpc);
5617
5675
  }
5618
5676
  };
5619
5677
 
@@ -5623,7 +5681,7 @@ const handleMessagePort = async (port, rpcId) => {
5623
5681
  messagePort: port
5624
5682
  });
5625
5683
  if (rpcId) {
5626
- set$c(rpcId, rpc);
5684
+ set$d(rpcId, rpc);
5627
5685
  }
5628
5686
  };
5629
5687
 
@@ -6389,11 +6447,11 @@ const launchRendererWorker = async () => {
6389
6447
  const rpc = await create$8({
6390
6448
  commandMap: commandMap
6391
6449
  });
6392
- set$c(RendererWorker, rpc);
6450
+ set$d(RendererWorker, rpc);
6393
6451
  };
6394
6452
 
6395
6453
  const listen = async () => {
6396
- await Promise.all([launchExtensionManagementWorker(), launchFileSearchWorker(), launchRendererWorker()]);
6454
+ await Promise.all([launchExtensionManagementWorker(), launchFileSearchWorker(), launchRendererWorker(), launchQuickPickWorker()]);
6397
6455
  };
6398
6456
 
6399
6457
  const main = async () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/extension-host-worker",
3
- "version": "8.12.0",
3
+ "version": "8.14.0",
4
4
  "description": "Webworker for the extension host functionality in Lvce Editor.",
5
5
  "keywords": [
6
6
  "web-worker"