@lvce-editor/extension-host-worker 1.10.0 → 1.12.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.
@@ -30,13 +30,13 @@ const getJson = async url => {
30
30
  throw new DepecratedError(`vscode.getJson is deprecated, use createNodeRpc instead`);
31
31
  };
32
32
 
33
- let AssertionError$1 = class AssertionError extends Error {
33
+ class AssertionError extends Error {
34
34
  constructor(message) {
35
35
  super(message);
36
36
  this.name = 'AssertionError';
37
37
  }
38
- };
39
- const getType$3 = value => {
38
+ }
39
+ const getType$1 = value => {
40
40
  switch (typeof value) {
41
41
  case 'number':
42
42
  return 'number';
@@ -59,39 +59,37 @@ const getType$3 = value => {
59
59
  }
60
60
  };
61
61
  const object = value => {
62
- const type = getType$3(value);
62
+ const type = getType$1(value);
63
63
  if (type !== 'object') {
64
- throw new AssertionError$1('expected value to be of type object');
64
+ throw new AssertionError('expected value to be of type object');
65
65
  }
66
66
  };
67
- const number$1 = value => {
68
- const type = getType$3(value);
67
+ const number = value => {
68
+ const type = getType$1(value);
69
69
  if (type !== 'number') {
70
- throw new AssertionError$1('expected value to be of type number');
70
+ throw new AssertionError('expected value to be of type number');
71
71
  }
72
72
  };
73
73
  const array = value => {
74
- const type = getType$3(value);
74
+ const type = getType$1(value);
75
75
  if (type !== 'array') {
76
- throw new AssertionError$1('expected value to be of type array');
76
+ throw new AssertionError('expected value to be of type array');
77
77
  }
78
78
  };
79
79
  const string = value => {
80
- const type = getType$3(value);
80
+ const type = getType$1(value);
81
81
  if (type !== 'string') {
82
- throw new AssertionError$1('expected value to be of type string');
82
+ throw new AssertionError('expected value to be of type string');
83
83
  }
84
84
  };
85
85
  const fn = value => {
86
- const type = getType$3(value);
86
+ const type = getType$1(value);
87
87
  if (type !== 'function') {
88
- throw new AssertionError$1('expected value to be of type function');
88
+ throw new AssertionError('expected value to be of type function');
89
89
  }
90
90
  };
91
91
 
92
92
  const state$9 = {
93
- /** @type{any[]} */
94
- onDidOpenEditorListeners: [],
95
93
  /** @type{any[]} */
96
94
  onWillChangeEditorListeners: [],
97
95
  /** @type{any[]} */
@@ -287,7 +285,7 @@ const getSyntheticChanges = (textDocument, changes) => {
287
285
  return syntheticChanges;
288
286
  };
289
287
  const syncIncremental = (textDocumentId, changes) => {
290
- number$1(textDocumentId);
288
+ number(textDocumentId);
291
289
  array(changes);
292
290
  const textDocument = getDocument(textDocumentId);
293
291
  if (!textDocument) {
@@ -332,10 +330,10 @@ class NoProviderFoundError extends Error {
332
330
 
333
331
  const normalizeLine$1 = line => {
334
332
  if (line.startsWith('Error: ')) {
335
- return line.slice(`Error: `.length);
333
+ return line.slice('Error: '.length);
336
334
  }
337
335
  if (line.startsWith('VError: ')) {
338
- return line.slice(`VError: `.length);
336
+ return line.slice('VError: '.length);
339
337
  }
340
338
  return line;
341
339
  };
@@ -386,7 +384,7 @@ let VError$1 = class VError extends Error {
386
384
  }
387
385
  };
388
386
 
389
- const getType$2 = value => {
387
+ const getType = value => {
390
388
  switch (typeof value) {
391
389
  case 'number':
392
390
  return 'number';
@@ -417,7 +415,7 @@ const validateResultObject = (result, resultShape) => {
417
415
  for (const [key, value] of Object.entries(resultShape.properties)) {
418
416
  // @ts-ignore
419
417
  const expectedType = value.type;
420
- const actualType = getType$2(result[key]);
418
+ const actualType = getType(result[key]);
421
419
  if (expectedType !== actualType) {
422
420
  return `item.${key} must be of type ${expectedType}`;
423
421
  }
@@ -426,7 +424,7 @@ const validateResultObject = (result, resultShape) => {
426
424
  };
427
425
  const validateResultArray = (result, resultShape) => {
428
426
  for (const item of result) {
429
- const actualType = getType$2(item);
427
+ const actualType = getType(item);
430
428
  const expectedType = resultShape.items.type;
431
429
  if (actualType !== expectedType) {
432
430
  return `expected result to be of type ${expectedType} but was of type ${actualType}`;
@@ -447,7 +445,7 @@ const getPreviewString = item => {
447
445
  return `"${item}"`;
448
446
  };
449
447
  const getPreview = item => {
450
- const type = getType$2(item);
448
+ const type = getType(item);
451
449
  switch (type) {
452
450
  case 'object':
453
451
  return getPreviewObject();
@@ -460,7 +458,7 @@ const getPreview = item => {
460
458
  }
461
459
  };
462
460
  const validate = (item, schema) => {
463
- const actualType = getType$2(item);
461
+ const actualType = getType(item);
464
462
  const expectedType = schema.type;
465
463
  if (actualType !== expectedType) {
466
464
  if (schema.allowUndefined && (item === undefined || item === null)) {
@@ -621,9 +619,7 @@ const String = 'string';
621
619
 
622
620
  const {
623
621
  registerBraceCompletionProvider,
624
- executeBraceCompletionProvider,
625
- reset: reset$9
626
- } = create$9({
622
+ executeBraceCompletionProvider} = create$9({
627
623
  name: 'BraceCompletion',
628
624
  resultShape: {
629
625
  type: Boolean
@@ -684,7 +680,7 @@ const getCommandDisplay = command => {
684
680
  }
685
681
  return '';
686
682
  };
687
- const registerCommand$1 = command => {
683
+ const registerCommand = command => {
688
684
  try {
689
685
  if (!command) {
690
686
  if (command === null) {
@@ -766,95 +762,45 @@ const create$4$1 = (method, params) => {
766
762
  params
767
763
  };
768
764
  };
769
- class AssertionError extends Error {
770
- constructor(message) {
771
- super(message);
772
- this.name = 'AssertionError';
773
- }
774
- }
775
- const getType$1 = value => {
776
- switch (typeof value) {
777
- case 'number':
778
- return 'number';
779
- case 'function':
780
- return 'function';
781
- case 'string':
782
- return 'string';
783
- case 'object':
784
- if (value === null) {
785
- return 'null';
786
- }
787
- if (Array.isArray(value)) {
788
- return 'array';
789
- }
790
- return 'object';
791
- case 'boolean':
792
- return 'boolean';
793
- default:
794
- return 'unknown';
795
- }
796
- };
797
- const number = value => {
798
- const type = getType$1(value);
799
- if (type !== 'number') {
800
- throw new AssertionError('expected value to be of type number');
801
- }
802
- };
803
- const state$1$1 = {
765
+ const state$6 = {
804
766
  callbacks: Object.create(null)
805
767
  };
806
768
  const set$4 = (id, fn) => {
807
- state$1$1.callbacks[id] = fn;
769
+ state$6.callbacks[id] = fn;
808
770
  };
809
771
  const get$4 = id => {
810
- return state$1$1.callbacks[id];
772
+ return state$6.callbacks[id];
811
773
  };
812
774
  const remove = id => {
813
- delete state$1$1.callbacks[id];
814
- };
815
- const state$6 = {
816
- id: 0
775
+ delete state$6.callbacks[id];
817
776
  };
777
+ let id = 0;
818
778
  const create$3$1 = () => {
819
- return ++state$6.id;
779
+ return ++id;
820
780
  };
821
781
  const warn = (...args) => {
822
782
  console.warn(...args);
823
783
  };
824
- const withResolvers$2 = () => {
825
- /**
826
- * @type {any}
827
- */
828
- let _resolve;
829
- const promise = new Promise(resolve => {
830
- _resolve = resolve;
831
- });
832
- return {
833
- resolve: _resolve,
834
- promise
835
- };
836
- };
837
784
  const registerPromise = () => {
838
785
  const id = create$3$1();
839
786
  const {
840
787
  resolve,
841
788
  promise
842
- } = withResolvers$2();
789
+ } = Promise.withResolvers();
843
790
  set$4(id, resolve);
844
791
  return {
845
792
  id,
846
793
  promise
847
794
  };
848
795
  };
849
- const resolve = (id, args) => {
850
- number(id);
796
+ const resolve = (id, response) => {
851
797
  const fn = get$4(id);
852
798
  if (!fn) {
853
- console.log(args);
799
+ console.log(response);
854
800
  warn(`callback ${id} may already be disposed`);
855
801
  return;
856
802
  }
857
- fn(args);
803
+ fn(response);
858
804
  remove(id);
859
805
  };
860
806
  const create$2$1 = (method, params) => {
@@ -1005,7 +951,7 @@ const unwrapJsonRpcResult = responseMessage => {
1005
951
  throw new JsonRpcError('unexpected response message');
1006
952
  };
1007
953
  const E_COMMAND_NOT_FOUND = 'E_COMMAND_NOT_FOUND';
1008
- const getType = prettyError => {
954
+ const getErrorType = prettyError => {
1009
955
  if (prettyError && prettyError.type) {
1010
956
  return prettyError.type;
1011
957
  }
@@ -1028,7 +974,7 @@ const getErrorProperty = (error, prettyError) => {
1028
974
  data: {
1029
975
  stack: prettyError.stack,
1030
976
  codeFrame: prettyError.codeFrame,
1031
- type: getType(prettyError),
977
+ type: getErrorType(prettyError),
1032
978
  code: prettyError.code,
1033
979
  name: prettyError.name
1034
980
  }
@@ -1076,32 +1022,42 @@ const defaultRequiresSocket = () => {
1076
1022
  return false;
1077
1023
  };
1078
1024
  const defaultResolve = resolve;
1079
- const handleJsonRpcMessage = async (...args) => {
1080
- let message;
1081
- let ipc;
1082
- let execute;
1083
- let preparePrettyError;
1084
- let logError;
1085
- let resolve;
1086
- let requiresSocket;
1025
+
1026
+ // TODO maybe remove this in v6 or v7, only accept options object to simplify the code
1027
+ const normalizeParams = args => {
1087
1028
  if (args.length === 1) {
1088
- const arg = args[0];
1089
- message = arg.message;
1090
- ipc = arg.ipc;
1091
- execute = arg.execute;
1092
- preparePrettyError = arg.preparePrettyError || defaultPreparePrettyError;
1093
- logError = arg.logError || defaultLogError;
1094
- requiresSocket = arg.requiresSocket || defaultRequiresSocket;
1095
- resolve = arg.resolve || defaultResolve;
1096
- } else {
1097
- ipc = args[0];
1098
- message = args[1];
1099
- execute = args[2];
1100
- resolve = args[3];
1101
- preparePrettyError = args[4];
1102
- logError = args[5];
1103
- requiresSocket = args[6];
1029
+ const options = args[0];
1030
+ return {
1031
+ ipc: options.ipc,
1032
+ message: options.message,
1033
+ execute: options.execute,
1034
+ resolve: options.resolve || defaultResolve,
1035
+ preparePrettyError: options.preparePrettyError || defaultPreparePrettyError,
1036
+ logError: options.logError || defaultLogError,
1037
+ requiresSocket: options.requiresSocket || defaultRequiresSocket
1038
+ };
1104
1039
  }
1040
+ return {
1041
+ ipc: args[0],
1042
+ message: args[1],
1043
+ execute: args[2],
1044
+ resolve: args[3],
1045
+ preparePrettyError: args[4],
1046
+ logError: args[5],
1047
+ requiresSocket: args[6]
1048
+ };
1049
+ };
1050
+ const handleJsonRpcMessage = async (...args) => {
1051
+ const options = normalizeParams(args);
1052
+ const {
1053
+ message,
1054
+ ipc,
1055
+ execute,
1056
+ resolve,
1057
+ preparePrettyError,
1058
+ logError,
1059
+ requiresSocket
1060
+ } = options;
1105
1061
  if ('id' in message) {
1106
1062
  if ('method' in message) {
1107
1063
  const response = await getResponse(message, ipc, execute, preparePrettyError, logError, requiresSocket);
@@ -1122,39 +1078,33 @@ const handleJsonRpcMessage = async (...args) => {
1122
1078
  }
1123
1079
  throw new JsonRpcError('unexpected message');
1124
1080
  };
1125
- const send$1 = (transport, method, ...params) => {
1126
- const message = create$4$1(method, params);
1127
- transport.send(message);
1128
- };
1129
- const invoke$1 = async (ipc, method, ...params) => {
1081
+ const invokeHelper = async (ipc, method, params, useSendAndTransfer) => {
1130
1082
  const {
1131
1083
  message,
1132
1084
  promise
1133
1085
  } = create$2$1(method, params);
1134
- ipc.send(message);
1086
+ if (useSendAndTransfer && ipc.sendAndTransfer) {
1087
+ ipc.sendAndTransfer(message);
1088
+ } else {
1089
+ ipc.send(message);
1090
+ }
1135
1091
  const responseMessage = await promise;
1136
- const result = unwrapJsonRpcResult(responseMessage);
1137
- return result;
1092
+ return unwrapJsonRpcResult(responseMessage);
1138
1093
  };
1139
- const invokeAndTransfer$1 = async (ipc, method, ...params) => {
1140
- const {
1141
- message,
1142
- promise
1143
- } = create$2$1(method, params);
1144
- ipc.sendAndTransfer(message);
1145
- const responseMessage = await promise;
1146
- const result = unwrapJsonRpcResult(responseMessage);
1147
- return result;
1094
+ const send$1 = (transport, method, ...params) => {
1095
+ const message = create$4$1(method, params);
1096
+ transport.send(message);
1097
+ };
1098
+ const invoke$1 = (ipc, method, ...params) => {
1099
+ return invokeHelper(ipc, method, params, false);
1100
+ };
1101
+ const invokeAndTransfer$1 = (ipc, method, ...params) => {
1102
+ return invokeHelper(ipc, method, params, true);
1148
1103
  };
1149
1104
 
1150
1105
  const commands = Object.create(null);
1151
- const registerCommand = (key, fn) => {
1152
- commands[key] = fn;
1153
- };
1154
1106
  const register$1 = commandMap => {
1155
- for (const [key, value] of Object.entries(commandMap)) {
1156
- registerCommand(key, value);
1157
- }
1107
+ Object.assign(commands, commandMap);
1158
1108
  };
1159
1109
  const getCommand = key => {
1160
1110
  return commands[key];
@@ -1338,9 +1288,7 @@ const setPauseOnExceptions = async (protocol, value) => {
1338
1288
 
1339
1289
  const {
1340
1290
  registerDefinitionProvider,
1341
- executeDefinitionProvider,
1342
- reset: reset$8
1343
- } = create$9({
1291
+ executeDefinitionProvider} = create$9({
1344
1292
  name: 'Definition',
1345
1293
  resultShape: {
1346
1294
  allowUndefined: true,
@@ -1461,9 +1409,7 @@ const getPathSeparator = protocol => {
1461
1409
 
1462
1410
  const {
1463
1411
  registerFormattingProvider,
1464
- executeFormattingProvider,
1465
- reset: reset$7
1466
- } = create$9({
1412
+ executeFormattingProvider} = create$9({
1467
1413
  name: 'Formatting',
1468
1414
  executeKey: 'format',
1469
1415
  resultShape: {
@@ -1523,9 +1469,7 @@ const getPosition = (textDocument, offset) => {
1523
1469
 
1524
1470
  const {
1525
1471
  registerHoverProvider,
1526
- executeHoverProvider,
1527
- reset: reset$6
1528
- } = create$9({
1472
+ executeHoverProvider} = create$9({
1529
1473
  name: 'Hover',
1530
1474
  resultShape: {
1531
1475
  allowUndefined: true,
@@ -1536,9 +1480,7 @@ const {
1536
1480
 
1537
1481
  const {
1538
1482
  registerImplementationProvider,
1539
- executeImplementationProvider,
1540
- reset: reset$5
1541
- } = create$9({
1483
+ executeImplementationProvider} = create$9({
1542
1484
  name: 'Implementation',
1543
1485
  resultShape: {
1544
1486
  type: Array$1,
@@ -1650,9 +1592,7 @@ const showQuickPick = async ({
1650
1592
  const {
1651
1593
  registerReferenceProvider,
1652
1594
  executeReferenceProvider,
1653
- executefileReferenceProvider,
1654
- reset: reset$4
1655
- } = create$9({
1595
+ executefileReferenceProvider} = create$9({
1656
1596
  name: 'Reference',
1657
1597
  resultShape: {
1658
1598
  type: Array$1,
@@ -1677,9 +1617,7 @@ const {
1677
1617
  const {
1678
1618
  registerRenameProvider,
1679
1619
  executeRenameProvider,
1680
- executeprepareRenameProvider,
1681
- reset: reset$3
1682
- } = create$9({
1620
+ executeprepareRenameProvider} = create$9({
1683
1621
  name: 'Rename',
1684
1622
  resultShape: {
1685
1623
  type: Object$1,
@@ -1836,9 +1774,7 @@ const createRpc = ({
1836
1774
 
1837
1775
  const {
1838
1776
  registerSelectionProvider,
1839
- executeSelectionProvider,
1840
- reset: reset$2
1841
- } = create$9({
1777
+ executeSelectionProvider} = create$9({
1842
1778
  name: 'Selection',
1843
1779
  resultShape: {
1844
1780
  allowUndefined: true,
@@ -1944,9 +1880,7 @@ const getEnabledProviderIds = async (scheme, root) => {
1944
1880
 
1945
1881
  const {
1946
1882
  registerTabCompletionProvider,
1947
- executeTabCompletionProvider,
1948
- reset: reset$1
1949
- } = create$9({
1883
+ executeTabCompletionProvider} = create$9({
1950
1884
  name: 'TabCompletion',
1951
1885
  resultShape: {
1952
1886
  type: Object$1,
@@ -1974,7 +1908,7 @@ const executeTextSearchProvider = async (scheme, query) => {
1974
1908
  try {
1975
1909
  const textSearchProvider = state$2.textSearchProviders[scheme];
1976
1910
  if (!textSearchProvider) {
1977
- throw new Error(`no text search provider for ${scheme} found`);
1911
+ throw new Error(`No text search provider for ${scheme} found`);
1978
1912
  }
1979
1913
  const results = await textSearchProvider.provideTextSearchResults(query);
1980
1914
  return results;
@@ -1985,9 +1919,7 @@ const executeTextSearchProvider = async (scheme, query) => {
1985
1919
 
1986
1920
  const {
1987
1921
  registerTypeDefinitionProvider,
1988
- executeTypeDefinitionProvider,
1989
- reset
1990
- } = create$9({
1922
+ executeTypeDefinitionProvider} = create$9({
1991
1923
  name: 'TypeDefinition',
1992
1924
  resultShape: {
1993
1925
  allowUndefined: true,
@@ -2269,7 +2201,7 @@ const api = {
2269
2201
  // Code Action
2270
2202
  registerCodeActionsProvider: registerCodeActionProvider,
2271
2203
  // Command
2272
- registerCommand: registerCommand$1,
2204
+ registerCommand: registerCommand,
2273
2205
  executeCommand: executeCommand,
2274
2206
  // Completion
2275
2207
  registerCompletionProvider: registerCompletionProvider,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/extension-host-worker",
3
- "version": "1.10.0",
3
+ "version": "1.12.0",
4
4
  "description": "Webworker for the extension host functionality in Lvce Editor.",
5
5
  "main": "dist/extensionHostWorkerMain.js",
6
6
  "type": "module",