@lvce-editor/extension-host-worker 8.11.0 → 8.13.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/dist/extensionHostWorkerMain.js +84 -15
- package/package.json +1 -1
|
@@ -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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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)) {
|
|
@@ -3309,8 +3309,8 @@ const getStatusBarItems2 = async () => {
|
|
|
3309
3309
|
}
|
|
3310
3310
|
const values = Object.values(providers);
|
|
3311
3311
|
for (const provider of values) {
|
|
3312
|
-
if (provider
|
|
3313
|
-
const item = provider
|
|
3312
|
+
if (provider) {
|
|
3313
|
+
const item = getValidatedStatusBarItem(provider);
|
|
3314
3314
|
if (item) {
|
|
3315
3315
|
statusBarItems.push(item);
|
|
3316
3316
|
}
|
|
@@ -3325,12 +3325,81 @@ const executeCommand = async name => {
|
|
|
3325
3325
|
await executeCommand$1(name);
|
|
3326
3326
|
};
|
|
3327
3327
|
const providers = Object.create(null);
|
|
3328
|
+
const getStatusBarItemProviderDisplay = provider => {
|
|
3329
|
+
if (provider && provider.id && typeof provider.id === 'string') {
|
|
3330
|
+
return ` ${provider.id}`;
|
|
3331
|
+
}
|
|
3332
|
+
return '';
|
|
3333
|
+
};
|
|
3334
|
+
const notifyChange = async id => {
|
|
3335
|
+
await invoke$1('StatusBar.handleChange', id);
|
|
3336
|
+
};
|
|
3337
|
+
const getType = value => {
|
|
3338
|
+
if (value === null) {
|
|
3339
|
+
return 'null';
|
|
3340
|
+
}
|
|
3341
|
+
if (Array.isArray(value)) {
|
|
3342
|
+
return 'array';
|
|
3343
|
+
}
|
|
3344
|
+
return typeof value;
|
|
3345
|
+
};
|
|
3346
|
+
const validateStatusBarItem = item => {
|
|
3347
|
+
if (!item || typeof item !== 'object') {
|
|
3348
|
+
throw new Error(`status bar item must be an object, got ${getType(item)}`);
|
|
3349
|
+
}
|
|
3350
|
+
if ('text' in item && typeof item.text !== 'string') {
|
|
3351
|
+
throw new Error(`status bar item.text must be a string, got ${getType(item.text)}`);
|
|
3352
|
+
}
|
|
3353
|
+
if ('name' in item && typeof item.name !== 'string') {
|
|
3354
|
+
throw new Error(`status bar item.name must be a string, got ${getType(item.name)}`);
|
|
3355
|
+
}
|
|
3356
|
+
};
|
|
3357
|
+
const getErrorStatusBarItem = title => {
|
|
3358
|
+
return {
|
|
3359
|
+
icon: '',
|
|
3360
|
+
name: 'error',
|
|
3361
|
+
onClick: '',
|
|
3362
|
+
text: 'error',
|
|
3363
|
+
title
|
|
3364
|
+
};
|
|
3365
|
+
};
|
|
3366
|
+
const getValidatedStatusBarItem = provider => {
|
|
3367
|
+
try {
|
|
3368
|
+
const item = provider.getStatusBarItem();
|
|
3369
|
+
if (!item) {
|
|
3370
|
+
return item;
|
|
3371
|
+
}
|
|
3372
|
+
validateStatusBarItem(item);
|
|
3373
|
+
return item;
|
|
3374
|
+
} catch (error) {
|
|
3375
|
+
const providerDisplay = getStatusBarItemProviderDisplay(provider);
|
|
3376
|
+
const wrappedError = new VError(error, `Failed to execute status bar item provider${providerDisplay}`);
|
|
3377
|
+
console.error(wrappedError);
|
|
3378
|
+
return getErrorStatusBarItem(wrappedError.message);
|
|
3379
|
+
}
|
|
3380
|
+
};
|
|
3328
3381
|
const executeStatusBarItemProvider = id => {
|
|
3329
3382
|
const provider = providers[id];
|
|
3330
|
-
return provider
|
|
3383
|
+
return getValidatedStatusBarItem(provider);
|
|
3331
3384
|
};
|
|
3332
3385
|
const registerStatuBarItemProvider = provider => {
|
|
3333
|
-
|
|
3386
|
+
try {
|
|
3387
|
+
if (!provider.id) {
|
|
3388
|
+
throw new Error('status bar item provider is missing id');
|
|
3389
|
+
}
|
|
3390
|
+
if (provider.id in providers) {
|
|
3391
|
+
throw new Error('status bar item provider cannot be registered multiple times');
|
|
3392
|
+
}
|
|
3393
|
+
providers[provider.id] = provider;
|
|
3394
|
+
return {
|
|
3395
|
+
refresh() {
|
|
3396
|
+
return notifyChange(provider.id);
|
|
3397
|
+
}
|
|
3398
|
+
};
|
|
3399
|
+
} catch (error) {
|
|
3400
|
+
const providerDisplay = getStatusBarItemProviderDisplay(provider);
|
|
3401
|
+
throw new VError(error, `Failed to register status bar item provider${providerDisplay}`);
|
|
3402
|
+
}
|
|
3334
3403
|
};
|
|
3335
3404
|
|
|
3336
3405
|
const {
|