@lvce-editor/extension-host-worker 5.30.0 → 5.32.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.
@@ -426,6 +426,9 @@ const getPreview = item => {
426
426
  }
427
427
  };
428
428
  const validate = (item, schema) => {
429
+ if (typeof schema === 'function') {
430
+ return schema(item);
431
+ }
429
432
  const actualType = getType(item);
430
433
  const expectedType = schema.type;
431
434
  if (actualType !== expectedType) {
@@ -2188,6 +2191,12 @@ const readFileExternal = async path => {
2188
2191
  const existsExternal = async uri => {
2189
2192
  return await invoke$1('FileSystem.exists', uri);
2190
2193
  };
2194
+ const mkdirExternal = async uri => {
2195
+ return await invoke$1('FileSystem.mkdir', uri);
2196
+ };
2197
+ const writeFileExternal = async (uri, content) => {
2198
+ return await invoke$1('FileSystem.writeFIle', uri, content);
2199
+ };
2191
2200
  const readDirWithFileTypesExternal = async path => {
2192
2201
  // TODO when file is local,
2193
2202
  // don't ask renderer worker
@@ -2670,15 +2679,41 @@ const executeReferenceProvider2 = (uri, languageId, offset, position) => {
2670
2679
  });
2671
2680
  };
2672
2681
 
2682
+ const validateResult = renameResult => {
2683
+ if (renameResult === null || renameResult === undefined) {
2684
+ return '';
2685
+ }
2686
+ if (typeof renameResult !== 'object') {
2687
+ return 'rename result must be of type object';
2688
+ }
2689
+ if (typeof renameResult.canRename !== 'boolean') {
2690
+ return `renameResult.canRename must be of type boolean`;
2691
+ }
2692
+ if (!Array.isArray(renameResult.edits)) {
2693
+ return `renameResult.edits must be of type array`;
2694
+ }
2695
+ for (const item of renameResult.edits) {
2696
+ if (!item) {
2697
+ return `renameResult item must be defined`;
2698
+ }
2699
+ if (typeof item !== 'object') {
2700
+ return `renameResult item must be of type object`;
2701
+ }
2702
+ if (typeof item.uri !== 'string') {
2703
+ return `renameResult item uri must be of type string`;
2704
+ }
2705
+ if (!Array.isArray(item.edits)) {
2706
+ return `renameResult item edits must be of type array`;
2707
+ }
2708
+ }
2709
+ return '';
2710
+ };
2673
2711
  const {
2674
2712
  registerRenameProvider,
2675
2713
  executeRenameProvider,
2676
2714
  executeprepareRenameProvider} = create$b({
2677
2715
  name: 'Rename',
2678
- resultShape: {
2679
- type: Object$1,
2680
- allowUndefined: true
2681
- },
2716
+ resultShape: validateResult,
2682
2717
  additionalMethodNames: [
2683
2718
  // @ts-ignore
2684
2719
  {
@@ -3341,6 +3376,8 @@ const api = {
3341
3376
  readFile: readFileExternal,
3342
3377
  readDirWithFileTypes: readDirWithFileTypesExternal,
3343
3378
  exists: existsExternal,
3379
+ mkdir: mkdirExternal,
3380
+ writeFile: writeFileExternal,
3344
3381
  // Formatting
3345
3382
  registerFormattingProvider: registerFormattingProvider,
3346
3383
  executeFormattingProvider: executeFormattingProvider,
@@ -4620,6 +4657,9 @@ const getColorThemeUri = (extensions, colorThemeId) => {
4620
4657
  const getColorThemeJson$2 = async colorThemeId => {
4621
4658
  const extensions = await getExtensions();
4622
4659
  const colorThemeUri = getColorThemeUri(extensions, colorThemeId);
4660
+ if (!colorThemeUri) {
4661
+ return {};
4662
+ }
4623
4663
  const json = await readJson(colorThemeUri);
4624
4664
  return json;
4625
4665
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/extension-host-worker",
3
- "version": "5.30.0",
3
+ "version": "5.32.0",
4
4
  "description": "Webworker for the extension host functionality in Lvce Editor.",
5
5
  "keywords": [
6
6
  "web-worker"