@lvce-editor/status-bar-worker 1.12.0 → 1.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.
- package/dist/statusBarWorkerMain.js +276 -240
- package/package.json +1 -1
|
@@ -54,49 +54,6 @@ class VError extends Error {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
class AssertionError extends Error {
|
|
58
|
-
constructor(message) {
|
|
59
|
-
super(message);
|
|
60
|
-
this.name = 'AssertionError';
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
const Object$1 = 1;
|
|
64
|
-
const Number$1 = 2;
|
|
65
|
-
const Array$1 = 3;
|
|
66
|
-
const String = 4;
|
|
67
|
-
const Boolean = 5;
|
|
68
|
-
const Function = 6;
|
|
69
|
-
const Null = 7;
|
|
70
|
-
const Unknown = 8;
|
|
71
|
-
const getType = value => {
|
|
72
|
-
switch (typeof value) {
|
|
73
|
-
case 'number':
|
|
74
|
-
return Number$1;
|
|
75
|
-
case 'function':
|
|
76
|
-
return Function;
|
|
77
|
-
case 'string':
|
|
78
|
-
return String;
|
|
79
|
-
case 'object':
|
|
80
|
-
if (value === null) {
|
|
81
|
-
return Null;
|
|
82
|
-
}
|
|
83
|
-
if (Array.isArray(value)) {
|
|
84
|
-
return Array$1;
|
|
85
|
-
}
|
|
86
|
-
return Object$1;
|
|
87
|
-
case 'boolean':
|
|
88
|
-
return Boolean;
|
|
89
|
-
default:
|
|
90
|
-
return Unknown;
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
const number = value => {
|
|
94
|
-
const type = getType(value);
|
|
95
|
-
if (type !== Number$1) {
|
|
96
|
-
throw new AssertionError('expected value to be of type number');
|
|
97
|
-
}
|
|
98
|
-
};
|
|
99
|
-
|
|
100
57
|
const isMessagePort = value => {
|
|
101
58
|
return value && value instanceof MessagePort;
|
|
102
59
|
};
|
|
@@ -225,8 +182,8 @@ const getModuleNotFoundError = stderr => {
|
|
|
225
182
|
const messageIndex = lines.findIndex(isModuleNotFoundMessage);
|
|
226
183
|
const message = lines[messageIndex];
|
|
227
184
|
return {
|
|
228
|
-
|
|
229
|
-
|
|
185
|
+
code: ERR_MODULE_NOT_FOUND,
|
|
186
|
+
message
|
|
230
187
|
};
|
|
231
188
|
};
|
|
232
189
|
const isModuleNotFoundError = stderr => {
|
|
@@ -249,14 +206,14 @@ const isUnhelpfulNativeModuleError = stderr => {
|
|
|
249
206
|
const getNativeModuleErrorMessage = stderr => {
|
|
250
207
|
const message = getMessageCodeBlock(stderr);
|
|
251
208
|
return {
|
|
252
|
-
|
|
253
|
-
|
|
209
|
+
code: E_INCOMPATIBLE_NATIVE_MODULE,
|
|
210
|
+
message: `Incompatible native node module: ${message}`
|
|
254
211
|
};
|
|
255
212
|
};
|
|
256
213
|
const getModuleSyntaxError = () => {
|
|
257
214
|
return {
|
|
258
|
-
|
|
259
|
-
|
|
215
|
+
code: E_MODULES_NOT_SUPPORTED_IN_ELECTRON,
|
|
216
|
+
message: `ES Modules are not supported in electron`
|
|
260
217
|
};
|
|
261
218
|
};
|
|
262
219
|
const getHelpfulChildProcessError = (stdout, stderr) => {
|
|
@@ -275,8 +232,8 @@ const getHelpfulChildProcessError = (stdout, stderr) => {
|
|
|
275
232
|
rest
|
|
276
233
|
} = getDetails(lines);
|
|
277
234
|
return {
|
|
278
|
-
message: actualMessage,
|
|
279
235
|
code: '',
|
|
236
|
+
message: actualMessage,
|
|
280
237
|
stack: rest
|
|
281
238
|
};
|
|
282
239
|
};
|
|
@@ -286,8 +243,8 @@ class IpcError extends VError {
|
|
|
286
243
|
if (stdout || stderr) {
|
|
287
244
|
// @ts-ignore
|
|
288
245
|
const {
|
|
289
|
-
message,
|
|
290
246
|
code,
|
|
247
|
+
message,
|
|
291
248
|
stack
|
|
292
249
|
} = getHelpfulChildProcessError(stdout, stderr);
|
|
293
250
|
const cause = new Error(message);
|
|
@@ -348,8 +305,8 @@ const wrap$f = global => {
|
|
|
348
305
|
};
|
|
349
306
|
const waitForFirstMessage = async port => {
|
|
350
307
|
const {
|
|
351
|
-
|
|
352
|
-
|
|
308
|
+
promise,
|
|
309
|
+
resolve
|
|
353
310
|
} = Promise.withResolvers();
|
|
354
311
|
port.addEventListener('message', resolve, {
|
|
355
312
|
once: true
|
|
@@ -369,8 +326,8 @@ const listen$6 = async () => {
|
|
|
369
326
|
const type = firstMessage.params[0];
|
|
370
327
|
if (type === 'message-port') {
|
|
371
328
|
parentIpc.send({
|
|
372
|
-
jsonrpc: '2.0',
|
|
373
329
|
id: firstMessage.id,
|
|
330
|
+
jsonrpc: '2.0',
|
|
374
331
|
result: null
|
|
375
332
|
});
|
|
376
333
|
parentIpc.dispose();
|
|
@@ -427,8 +384,8 @@ const removeListener = (emitter, type, callback) => {
|
|
|
427
384
|
};
|
|
428
385
|
const getFirstEvent = (eventEmitter, eventMap) => {
|
|
429
386
|
const {
|
|
430
|
-
|
|
431
|
-
|
|
387
|
+
promise,
|
|
388
|
+
resolve
|
|
432
389
|
} = Promise.withResolvers();
|
|
433
390
|
const listenerMap = Object.create(null);
|
|
434
391
|
const cleanup = value => {
|
|
@@ -440,8 +397,8 @@ const getFirstEvent = (eventEmitter, eventMap) => {
|
|
|
440
397
|
for (const [event, type] of Object.entries(eventMap)) {
|
|
441
398
|
const listener = event => {
|
|
442
399
|
cleanup({
|
|
443
|
-
|
|
444
|
-
|
|
400
|
+
event,
|
|
401
|
+
type
|
|
445
402
|
});
|
|
446
403
|
};
|
|
447
404
|
addListener(eventEmitter, event, listener);
|
|
@@ -450,9 +407,9 @@ const getFirstEvent = (eventEmitter, eventMap) => {
|
|
|
450
407
|
return promise;
|
|
451
408
|
};
|
|
452
409
|
const Message$1 = 3;
|
|
453
|
-
const create$5
|
|
454
|
-
|
|
455
|
-
|
|
410
|
+
const create$5 = async ({
|
|
411
|
+
isMessagePortOpen,
|
|
412
|
+
messagePort
|
|
456
413
|
}) => {
|
|
457
414
|
if (!isMessagePort(messagePort)) {
|
|
458
415
|
throw new IpcError('port must be of type MessagePort');
|
|
@@ -465,8 +422,8 @@ const create$5$1 = async ({
|
|
|
465
422
|
});
|
|
466
423
|
messagePort.start();
|
|
467
424
|
const {
|
|
468
|
-
|
|
469
|
-
|
|
425
|
+
event,
|
|
426
|
+
type
|
|
470
427
|
} = await eventPromise;
|
|
471
428
|
if (type !== Message$1) {
|
|
472
429
|
throw new IpcError('Failed to wait for ipc message');
|
|
@@ -501,61 +458,19 @@ const wrap$5 = messagePort => {
|
|
|
501
458
|
};
|
|
502
459
|
const IpcParentWithMessagePort$1 = {
|
|
503
460
|
__proto__: null,
|
|
504
|
-
create: create$5
|
|
461
|
+
create: create$5,
|
|
505
462
|
signal: signal$1,
|
|
506
463
|
wrap: wrap$5
|
|
507
464
|
};
|
|
508
465
|
|
|
509
|
-
const Two = '2.0';
|
|
510
|
-
const create$4$1 = (method, params) => {
|
|
511
|
-
return {
|
|
512
|
-
jsonrpc: Two,
|
|
513
|
-
method,
|
|
514
|
-
params
|
|
515
|
-
};
|
|
516
|
-
};
|
|
466
|
+
const Two$1 = '2.0';
|
|
517
467
|
const callbacks = Object.create(null);
|
|
518
|
-
const set$4 = (id, fn) => {
|
|
519
|
-
callbacks[id] = fn;
|
|
520
|
-
};
|
|
521
468
|
const get$3 = id => {
|
|
522
469
|
return callbacks[id];
|
|
523
470
|
};
|
|
524
|
-
const remove = id => {
|
|
471
|
+
const remove$1 = id => {
|
|
525
472
|
delete callbacks[id];
|
|
526
473
|
};
|
|
527
|
-
let id$1 = 0;
|
|
528
|
-
const create$3$1 = () => {
|
|
529
|
-
return ++id$1;
|
|
530
|
-
};
|
|
531
|
-
const registerPromise = () => {
|
|
532
|
-
const id = create$3$1();
|
|
533
|
-
const {
|
|
534
|
-
resolve,
|
|
535
|
-
promise
|
|
536
|
-
} = Promise.withResolvers();
|
|
537
|
-
set$4(id, resolve);
|
|
538
|
-
return {
|
|
539
|
-
id,
|
|
540
|
-
promise
|
|
541
|
-
};
|
|
542
|
-
};
|
|
543
|
-
const create$2$1 = (method, params) => {
|
|
544
|
-
const {
|
|
545
|
-
id,
|
|
546
|
-
promise
|
|
547
|
-
} = registerPromise();
|
|
548
|
-
const message = {
|
|
549
|
-
jsonrpc: Two,
|
|
550
|
-
method,
|
|
551
|
-
params,
|
|
552
|
-
id
|
|
553
|
-
};
|
|
554
|
-
return {
|
|
555
|
-
message,
|
|
556
|
-
promise
|
|
557
|
-
};
|
|
558
|
-
};
|
|
559
474
|
class JsonRpcError extends Error {
|
|
560
475
|
constructor(message) {
|
|
561
476
|
super(message);
|
|
@@ -706,7 +621,7 @@ const resolve = (id, response) => {
|
|
|
706
621
|
return;
|
|
707
622
|
}
|
|
708
623
|
fn(response);
|
|
709
|
-
remove(id);
|
|
624
|
+
remove$1(id);
|
|
710
625
|
};
|
|
711
626
|
const E_COMMAND_NOT_FOUND = 'E_COMMAND_NOT_FOUND';
|
|
712
627
|
const getErrorType = prettyError => {
|
|
@@ -749,9 +664,9 @@ const getErrorProperty = (error, prettyError) => {
|
|
|
749
664
|
}
|
|
750
665
|
};
|
|
751
666
|
};
|
|
752
|
-
const create$1$
|
|
667
|
+
const create$1$2 = (id, error) => {
|
|
753
668
|
return {
|
|
754
|
-
jsonrpc: Two,
|
|
669
|
+
jsonrpc: Two$1,
|
|
755
670
|
id,
|
|
756
671
|
error
|
|
757
672
|
};
|
|
@@ -760,22 +675,22 @@ const getErrorResponse = (id, error, preparePrettyError, logError) => {
|
|
|
760
675
|
const prettyError = preparePrettyError(error);
|
|
761
676
|
logError(error, prettyError);
|
|
762
677
|
const errorProperty = getErrorProperty(error, prettyError);
|
|
763
|
-
return create$1$
|
|
678
|
+
return create$1$2(id, errorProperty);
|
|
764
679
|
};
|
|
765
|
-
const create$
|
|
680
|
+
const create$3 = (message, result) => {
|
|
766
681
|
return {
|
|
767
|
-
jsonrpc: Two,
|
|
682
|
+
jsonrpc: Two$1,
|
|
768
683
|
id: message.id,
|
|
769
684
|
result: result ?? null
|
|
770
685
|
};
|
|
771
686
|
};
|
|
772
687
|
const getSuccessResponse = (message, result) => {
|
|
773
688
|
const resultProperty = result ?? null;
|
|
774
|
-
return create$
|
|
689
|
+
return create$3(message, resultProperty);
|
|
775
690
|
};
|
|
776
691
|
const getErrorResponseSimple = (id, error) => {
|
|
777
692
|
return {
|
|
778
|
-
jsonrpc: Two,
|
|
693
|
+
jsonrpc: Two$1,
|
|
779
694
|
id,
|
|
780
695
|
error: {
|
|
781
696
|
code: Custom,
|
|
@@ -862,29 +777,6 @@ const handleJsonRpcMessage = async (...args) => {
|
|
|
862
777
|
}
|
|
863
778
|
throw new JsonRpcError('unexpected message');
|
|
864
779
|
};
|
|
865
|
-
const invokeHelper = async (ipc, method, params, useSendAndTransfer) => {
|
|
866
|
-
const {
|
|
867
|
-
message,
|
|
868
|
-
promise
|
|
869
|
-
} = create$2$1(method, params);
|
|
870
|
-
if (useSendAndTransfer && ipc.sendAndTransfer) {
|
|
871
|
-
ipc.sendAndTransfer(message);
|
|
872
|
-
} else {
|
|
873
|
-
ipc.send(message);
|
|
874
|
-
}
|
|
875
|
-
const responseMessage = await promise;
|
|
876
|
-
return unwrapJsonRpcResult(responseMessage);
|
|
877
|
-
};
|
|
878
|
-
const send = (transport, method, ...params) => {
|
|
879
|
-
const message = create$4$1(method, params);
|
|
880
|
-
transport.send(message);
|
|
881
|
-
};
|
|
882
|
-
const invoke$2 = (ipc, method, ...params) => {
|
|
883
|
-
return invokeHelper(ipc, method, params, false);
|
|
884
|
-
};
|
|
885
|
-
const invokeAndTransfer$1 = (ipc, method, ...params) => {
|
|
886
|
-
return invokeHelper(ipc, method, params, true);
|
|
887
|
-
};
|
|
888
780
|
|
|
889
781
|
class CommandNotFoundError extends Error {
|
|
890
782
|
constructor(command) {
|
|
@@ -907,24 +799,87 @@ const execute = (command, ...args) => {
|
|
|
907
799
|
return fn(...args);
|
|
908
800
|
};
|
|
909
801
|
|
|
802
|
+
const Two = '2.0';
|
|
803
|
+
const create$s = (method, params) => {
|
|
804
|
+
return {
|
|
805
|
+
jsonrpc: Two,
|
|
806
|
+
method,
|
|
807
|
+
params
|
|
808
|
+
};
|
|
809
|
+
};
|
|
810
|
+
const create$r = (id, method, params) => {
|
|
811
|
+
const message = {
|
|
812
|
+
id,
|
|
813
|
+
jsonrpc: Two,
|
|
814
|
+
method,
|
|
815
|
+
params
|
|
816
|
+
};
|
|
817
|
+
return message;
|
|
818
|
+
};
|
|
819
|
+
let id$1 = 0;
|
|
820
|
+
const create$q = () => {
|
|
821
|
+
return ++id$1;
|
|
822
|
+
};
|
|
823
|
+
|
|
824
|
+
/* eslint-disable n/no-unsupported-features/es-syntax */
|
|
825
|
+
|
|
826
|
+
const registerPromise = map => {
|
|
827
|
+
const id = create$q();
|
|
828
|
+
const {
|
|
829
|
+
promise,
|
|
830
|
+
resolve
|
|
831
|
+
} = Promise.withResolvers();
|
|
832
|
+
map[id] = resolve;
|
|
833
|
+
return {
|
|
834
|
+
id,
|
|
835
|
+
promise
|
|
836
|
+
};
|
|
837
|
+
};
|
|
838
|
+
|
|
839
|
+
// @ts-ignore
|
|
840
|
+
const invokeHelper = async (callbacks, ipc, method, params, useSendAndTransfer) => {
|
|
841
|
+
const {
|
|
842
|
+
id,
|
|
843
|
+
promise
|
|
844
|
+
} = registerPromise(callbacks);
|
|
845
|
+
const message = create$r(id, method, params);
|
|
846
|
+
if (useSendAndTransfer && ipc.sendAndTransfer) {
|
|
847
|
+
ipc.sendAndTransfer(message);
|
|
848
|
+
} else {
|
|
849
|
+
ipc.send(message);
|
|
850
|
+
}
|
|
851
|
+
const responseMessage = await promise;
|
|
852
|
+
return unwrapJsonRpcResult(responseMessage);
|
|
853
|
+
};
|
|
910
854
|
const createRpc = ipc => {
|
|
855
|
+
const callbacks = Object.create(null);
|
|
856
|
+
ipc._resolve = (id, response) => {
|
|
857
|
+
const fn = callbacks[id];
|
|
858
|
+
if (!fn) {
|
|
859
|
+
console.warn(`callback ${id} may already be disposed`);
|
|
860
|
+
return;
|
|
861
|
+
}
|
|
862
|
+
fn(response);
|
|
863
|
+
delete callbacks[id];
|
|
864
|
+
};
|
|
911
865
|
const rpc = {
|
|
866
|
+
async dispose() {
|
|
867
|
+
await ipc?.dispose();
|
|
868
|
+
},
|
|
869
|
+
invoke(method, ...params) {
|
|
870
|
+
return invokeHelper(callbacks, ipc, method, params, false);
|
|
871
|
+
},
|
|
872
|
+
invokeAndTransfer(method, ...params) {
|
|
873
|
+
return invokeHelper(callbacks, ipc, method, params, true);
|
|
874
|
+
},
|
|
912
875
|
// @ts-ignore
|
|
913
876
|
ipc,
|
|
914
877
|
/**
|
|
915
878
|
* @deprecated
|
|
916
879
|
*/
|
|
917
880
|
send(method, ...params) {
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
invoke(method, ...params) {
|
|
921
|
-
return invoke$2(ipc, method, ...params);
|
|
922
|
-
},
|
|
923
|
-
invokeAndTransfer(method, ...params) {
|
|
924
|
-
return invokeAndTransfer$1(ipc, method, ...params);
|
|
925
|
-
},
|
|
926
|
-
async dispose() {
|
|
927
|
-
await ipc?.dispose();
|
|
881
|
+
const message = create$s(method, params);
|
|
882
|
+
ipc.send(message);
|
|
928
883
|
}
|
|
929
884
|
};
|
|
930
885
|
return rpc;
|
|
@@ -941,7 +896,7 @@ const logError = () => {
|
|
|
941
896
|
const handleMessage = event => {
|
|
942
897
|
const actualRequiresSocket = event?.target?.requiresSocket || requiresSocket;
|
|
943
898
|
const actualExecute = event?.target?.execute || execute;
|
|
944
|
-
return handleJsonRpcMessage(event.target, event.data, actualExecute,
|
|
899
|
+
return handleJsonRpcMessage(event.target, event.data, actualExecute, event.target._resolve, preparePrettyError, logError, actualRequiresSocket);
|
|
945
900
|
};
|
|
946
901
|
const handleIpc = ipc => {
|
|
947
902
|
if ('addEventListener' in ipc) {
|
|
@@ -959,15 +914,16 @@ const listen$1 = async (module, options) => {
|
|
|
959
914
|
const ipc = module.wrap(rawIpc);
|
|
960
915
|
return ipc;
|
|
961
916
|
};
|
|
962
|
-
const create$
|
|
917
|
+
const create$4 = async ({
|
|
963
918
|
commandMap,
|
|
919
|
+
isMessagePortOpen = true,
|
|
964
920
|
messagePort
|
|
965
921
|
}) => {
|
|
966
922
|
// TODO create a commandMap per rpc instance
|
|
967
923
|
register(commandMap);
|
|
968
924
|
const rawIpc = await IpcParentWithMessagePort$1.create({
|
|
969
|
-
|
|
970
|
-
|
|
925
|
+
isMessagePortOpen,
|
|
926
|
+
messagePort
|
|
971
927
|
});
|
|
972
928
|
const ipc = IpcParentWithMessagePort$1.wrap(rawIpc);
|
|
973
929
|
handleIpc(ipc);
|
|
@@ -975,8 +931,9 @@ const create$5 = async ({
|
|
|
975
931
|
messagePort.start();
|
|
976
932
|
return rpc;
|
|
977
933
|
};
|
|
978
|
-
const create$
|
|
934
|
+
const create$2$1 = async ({
|
|
979
935
|
commandMap,
|
|
936
|
+
isMessagePortOpen,
|
|
980
937
|
send
|
|
981
938
|
}) => {
|
|
982
939
|
const {
|
|
@@ -984,16 +941,17 @@ const create$3 = async ({
|
|
|
984
941
|
port2
|
|
985
942
|
} = new MessageChannel();
|
|
986
943
|
await send(port1);
|
|
987
|
-
return create$
|
|
944
|
+
return create$4({
|
|
988
945
|
commandMap,
|
|
946
|
+
isMessagePortOpen,
|
|
989
947
|
messagePort: port2
|
|
990
948
|
});
|
|
991
949
|
};
|
|
992
950
|
const TransferMessagePortRpcParent = {
|
|
993
951
|
__proto__: null,
|
|
994
|
-
create: create$
|
|
952
|
+
create: create$2$1
|
|
995
953
|
};
|
|
996
|
-
const create$
|
|
954
|
+
const create$1$1 = async ({
|
|
997
955
|
commandMap
|
|
998
956
|
}) => {
|
|
999
957
|
// TODO create a commandMap per rpc instance
|
|
@@ -1005,22 +963,31 @@ const create$4 = async ({
|
|
|
1005
963
|
};
|
|
1006
964
|
const WebWorkerRpcClient = {
|
|
1007
965
|
__proto__: null,
|
|
1008
|
-
create: create$
|
|
966
|
+
create: create$1$1
|
|
967
|
+
};
|
|
968
|
+
const createMockRpc = ({
|
|
969
|
+
commandMap
|
|
970
|
+
}) => {
|
|
971
|
+
const invocations = [];
|
|
972
|
+
const invoke = (method, ...params) => {
|
|
973
|
+
invocations.push([method, ...params]);
|
|
974
|
+
const command = commandMap[method];
|
|
975
|
+
if (!command) {
|
|
976
|
+
throw new Error(`command ${method} not found`);
|
|
977
|
+
}
|
|
978
|
+
return command(...params);
|
|
979
|
+
};
|
|
980
|
+
const mockRpc = {
|
|
981
|
+
invocations,
|
|
982
|
+
invoke,
|
|
983
|
+
invokeAndTransfer: invoke
|
|
984
|
+
};
|
|
985
|
+
return mockRpc;
|
|
1009
986
|
};
|
|
1010
|
-
|
|
1011
|
-
const Button$1 = 'button';
|
|
1012
|
-
|
|
1013
|
-
const Button = 1;
|
|
1014
|
-
const Div = 4;
|
|
1015
|
-
const Text = 12;
|
|
1016
|
-
|
|
1017
|
-
const TargetName = 'event.target.name';
|
|
1018
987
|
|
|
1019
988
|
const ExtensionHostWorker = 44;
|
|
1020
989
|
const RendererWorker = 1;
|
|
1021
990
|
|
|
1022
|
-
const SetDom2 = 'Viewlet.setDom2';
|
|
1023
|
-
|
|
1024
991
|
const rpcs = Object.create(null);
|
|
1025
992
|
const set$3 = (id, rpc) => {
|
|
1026
993
|
rpcs[id] = rpc;
|
|
@@ -1028,9 +995,17 @@ const set$3 = (id, rpc) => {
|
|
|
1028
995
|
const get$2 = id => {
|
|
1029
996
|
return rpcs[id];
|
|
1030
997
|
};
|
|
998
|
+
const remove = id => {
|
|
999
|
+
delete rpcs[id];
|
|
1000
|
+
};
|
|
1031
1001
|
|
|
1002
|
+
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
|
1032
1003
|
const create$2 = rpcId => {
|
|
1033
1004
|
return {
|
|
1005
|
+
async dispose() {
|
|
1006
|
+
const rpc = get$2(rpcId);
|
|
1007
|
+
await rpc.dispose();
|
|
1008
|
+
},
|
|
1034
1009
|
// @ts-ignore
|
|
1035
1010
|
invoke(method, ...params) {
|
|
1036
1011
|
const rpc = get$2(rpcId);
|
|
@@ -1043,30 +1018,40 @@ const create$2 = rpcId => {
|
|
|
1043
1018
|
// @ts-ignore
|
|
1044
1019
|
return rpc.invokeAndTransfer(method, ...params);
|
|
1045
1020
|
},
|
|
1021
|
+
registerMockRpc(commandMap) {
|
|
1022
|
+
const mockRpc = createMockRpc({
|
|
1023
|
+
commandMap
|
|
1024
|
+
});
|
|
1025
|
+
set$3(rpcId, mockRpc);
|
|
1026
|
+
// @ts-ignore
|
|
1027
|
+
mockRpc[Symbol.dispose] = () => {
|
|
1028
|
+
remove(rpcId);
|
|
1029
|
+
};
|
|
1030
|
+
// @ts-ignore
|
|
1031
|
+
return mockRpc;
|
|
1032
|
+
},
|
|
1046
1033
|
set(rpc) {
|
|
1047
1034
|
set$3(rpcId, rpc);
|
|
1048
|
-
},
|
|
1049
|
-
async dispose() {
|
|
1050
|
-
const rpc = get$2(rpcId);
|
|
1051
|
-
await rpc.dispose();
|
|
1052
1035
|
}
|
|
1053
1036
|
};
|
|
1054
1037
|
};
|
|
1055
1038
|
|
|
1056
1039
|
const {
|
|
1057
1040
|
invoke: invoke$1,
|
|
1058
|
-
set: set$2
|
|
1041
|
+
set: set$2
|
|
1042
|
+
} = create$2(ExtensionHostWorker);
|
|
1059
1043
|
|
|
1060
1044
|
const {
|
|
1061
1045
|
invoke,
|
|
1062
1046
|
invokeAndTransfer,
|
|
1063
|
-
set: set$1
|
|
1047
|
+
set: set$1
|
|
1048
|
+
} = create$2(RendererWorker);
|
|
1064
1049
|
const sendMessagePortToExtensionHostWorker$1 = async (port, rpcId = 0) => {
|
|
1065
1050
|
const command = 'HandleMessagePort.handleMessagePort2';
|
|
1066
1051
|
await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionHostWorker', port, command, rpcId);
|
|
1067
1052
|
};
|
|
1068
|
-
const activateByEvent$1 = event => {
|
|
1069
|
-
return invoke('ExtensionHostManagement.activateByEvent', event);
|
|
1053
|
+
const activateByEvent$1 = (event, assetDir, platform) => {
|
|
1054
|
+
return invoke('ExtensionHostManagement.activateByEvent', event, assetDir, platform);
|
|
1070
1055
|
};
|
|
1071
1056
|
const getPreference = async key => {
|
|
1072
1057
|
return await invoke('Preferences.get', key);
|
|
@@ -1162,13 +1147,19 @@ const {
|
|
|
1162
1147
|
getCommandIds,
|
|
1163
1148
|
registerCommands,
|
|
1164
1149
|
set,
|
|
1165
|
-
wrapCommand
|
|
1150
|
+
wrapCommand,
|
|
1151
|
+
wrapGetter
|
|
1152
|
+
} = create$1();
|
|
1166
1153
|
|
|
1167
|
-
const create = uid => {
|
|
1154
|
+
const create = (uid, uri, x, y, width, height, platform, assetDir) => {
|
|
1168
1155
|
const state = {
|
|
1156
|
+
assetDir,
|
|
1157
|
+
errorCount: 0,
|
|
1158
|
+
platform,
|
|
1169
1159
|
statusBarItemsLeft: [],
|
|
1170
1160
|
statusBarItemsRight: [],
|
|
1171
|
-
uid
|
|
1161
|
+
uid,
|
|
1162
|
+
warningCount: 0
|
|
1172
1163
|
};
|
|
1173
1164
|
set(uid, state, state);
|
|
1174
1165
|
};
|
|
@@ -1326,29 +1317,26 @@ const itemRightUpdate = (state, newItem) => {
|
|
|
1326
1317
|
};
|
|
1327
1318
|
};
|
|
1328
1319
|
|
|
1329
|
-
const ProblemsErrorIcon = 'ProblemsErrorIcon';
|
|
1330
|
-
const ProblemsWarningIcon = 'ProblemsWarningIcon';
|
|
1331
|
-
const StatusBarItem = 'StatusBarItem';
|
|
1332
|
-
const StatusBarItemsLeft = 'StatusBarItemsLeft';
|
|
1333
|
-
const StatusBarItemsRight = 'StatusBarItemsRight';
|
|
1334
|
-
|
|
1335
1320
|
const OnStatusBarItem = 'onStatusBarItem';
|
|
1336
1321
|
|
|
1337
1322
|
const GetStatusBarItems = 'ExtensionHost.getStatusBarItems2';
|
|
1338
1323
|
|
|
1339
|
-
const activateByEvent = event => {
|
|
1340
|
-
|
|
1324
|
+
const activateByEvent = (event, assetDir, platform) => {
|
|
1325
|
+
// @ts-ignore
|
|
1326
|
+
return activateByEvent$1(event, assetDir, platform);
|
|
1341
1327
|
};
|
|
1342
1328
|
|
|
1343
1329
|
const executeProviders = async ({
|
|
1330
|
+
assetDir,
|
|
1344
1331
|
combineResults,
|
|
1345
1332
|
event,
|
|
1346
1333
|
method,
|
|
1347
1334
|
noProviderFoundMessage = 'No provider found',
|
|
1348
1335
|
noProviderFoundResult,
|
|
1349
|
-
params
|
|
1336
|
+
params,
|
|
1337
|
+
platform
|
|
1350
1338
|
}) => {
|
|
1351
|
-
await activateByEvent(event);
|
|
1339
|
+
await activateByEvent(event, assetDir, platform);
|
|
1352
1340
|
// @ts-ignore
|
|
1353
1341
|
const result = await invoke$1(method, ...params);
|
|
1354
1342
|
return result;
|
|
@@ -1357,17 +1345,55 @@ const executeProviders = async ({
|
|
|
1357
1345
|
const combineResults = results => {
|
|
1358
1346
|
return results.flat();
|
|
1359
1347
|
};
|
|
1360
|
-
const getStatusBarItems$1 = () => {
|
|
1348
|
+
const getStatusBarItems$1 = (assetDir, platform) => {
|
|
1361
1349
|
return executeProviders({
|
|
1350
|
+
assetDir,
|
|
1362
1351
|
combineResults,
|
|
1363
1352
|
event: OnStatusBarItem,
|
|
1364
1353
|
method: GetStatusBarItems,
|
|
1365
1354
|
noProviderFoundMessage: 'No status bar item provider found',
|
|
1366
1355
|
noProviderFoundResult: [],
|
|
1367
|
-
params: []
|
|
1356
|
+
params: [],
|
|
1357
|
+
platform
|
|
1368
1358
|
});
|
|
1369
1359
|
};
|
|
1370
1360
|
|
|
1361
|
+
const ProblemsErrorIcon = 'ProblemsErrorIcon';
|
|
1362
|
+
const ProblemsWarningIcon = 'ProblemsWarningIcon';
|
|
1363
|
+
const StatusBarItem = 'StatusBarItem';
|
|
1364
|
+
const StatusBarItemsLeft = 'StatusBarItemsLeft';
|
|
1365
|
+
const StatusBarItemsRight = 'StatusBarItemsRight';
|
|
1366
|
+
|
|
1367
|
+
const getBuiltinStatusBarItems = async () => {
|
|
1368
|
+
const extraItems = [{
|
|
1369
|
+
command: undefined,
|
|
1370
|
+
elements: [{
|
|
1371
|
+
type: 'text',
|
|
1372
|
+
value: 'Notifications'
|
|
1373
|
+
}],
|
|
1374
|
+
name: Notifications,
|
|
1375
|
+
tooltip: ''
|
|
1376
|
+
}, {
|
|
1377
|
+
command: undefined,
|
|
1378
|
+
elements: [{
|
|
1379
|
+
type: 'icon',
|
|
1380
|
+
value: ProblemsErrorIcon
|
|
1381
|
+
}, {
|
|
1382
|
+
type: 'text',
|
|
1383
|
+
value: '0'
|
|
1384
|
+
}, {
|
|
1385
|
+
type: 'icon',
|
|
1386
|
+
value: ProblemsWarningIcon
|
|
1387
|
+
}, {
|
|
1388
|
+
type: 'text',
|
|
1389
|
+
value: '0'
|
|
1390
|
+
}],
|
|
1391
|
+
name: Problems,
|
|
1392
|
+
tooltip: ''
|
|
1393
|
+
}];
|
|
1394
|
+
return extraItems;
|
|
1395
|
+
};
|
|
1396
|
+
|
|
1371
1397
|
const toStatusBarItem = uiStatusBarItem => {
|
|
1372
1398
|
const elements = [];
|
|
1373
1399
|
if (uiStatusBarItem.icon) {
|
|
@@ -1396,10 +1422,16 @@ const toStatusBarItem = uiStatusBarItem => {
|
|
|
1396
1422
|
};
|
|
1397
1423
|
};
|
|
1398
1424
|
|
|
1425
|
+
const getActualIcon = extensionHostStatusBarItem => {
|
|
1426
|
+
if (extensionHostStatusBarItem.icon === 'branch') {
|
|
1427
|
+
return 'Branch';
|
|
1428
|
+
}
|
|
1429
|
+
return extensionHostStatusBarItem.icon || '';
|
|
1430
|
+
};
|
|
1399
1431
|
const toUiStatusBarItem = extensionHostStatusBarItem => {
|
|
1400
1432
|
return {
|
|
1401
1433
|
command: extensionHostStatusBarItem.command || '',
|
|
1402
|
-
icon: extensionHostStatusBarItem
|
|
1434
|
+
icon: getActualIcon(extensionHostStatusBarItem),
|
|
1403
1435
|
name: extensionHostStatusBarItem.id || extensionHostStatusBarItem.name || '',
|
|
1404
1436
|
text: extensionHostStatusBarItem.text || '',
|
|
1405
1437
|
tooltip: extensionHostStatusBarItem.tooltip || ''
|
|
@@ -1413,39 +1445,14 @@ const toUiStatusBarItems = statusBarItems => {
|
|
|
1413
1445
|
return statusBarItems.map(toUiStatusBarItem);
|
|
1414
1446
|
};
|
|
1415
1447
|
|
|
1416
|
-
const getStatusBarItems = async showItems => {
|
|
1448
|
+
const getStatusBarItems = async (showItems, assetDir, platform) => {
|
|
1417
1449
|
if (!showItems) {
|
|
1418
1450
|
return [];
|
|
1419
1451
|
}
|
|
1420
|
-
await activateByEvent('onSourceControl');
|
|
1421
|
-
const extensionStatusBarItems = await getStatusBarItems$1();
|
|
1452
|
+
await activateByEvent('onSourceControl', assetDir, platform);
|
|
1453
|
+
const extensionStatusBarItems = await getStatusBarItems$1(assetDir, platform);
|
|
1422
1454
|
const uiStatusBarItems = toUiStatusBarItems(extensionStatusBarItems);
|
|
1423
|
-
const extraItems =
|
|
1424
|
-
command: undefined,
|
|
1425
|
-
elements: [{
|
|
1426
|
-
type: 'text',
|
|
1427
|
-
value: 'Notifications'
|
|
1428
|
-
}],
|
|
1429
|
-
name: Notifications,
|
|
1430
|
-
tooltip: ''
|
|
1431
|
-
}, {
|
|
1432
|
-
command: undefined,
|
|
1433
|
-
elements: [{
|
|
1434
|
-
type: 'icon',
|
|
1435
|
-
value: ProblemsErrorIcon
|
|
1436
|
-
}, {
|
|
1437
|
-
type: 'text',
|
|
1438
|
-
value: '0'
|
|
1439
|
-
}, {
|
|
1440
|
-
type: 'icon',
|
|
1441
|
-
value: ProblemsWarningIcon
|
|
1442
|
-
}, {
|
|
1443
|
-
type: 'text',
|
|
1444
|
-
value: '0'
|
|
1445
|
-
}],
|
|
1446
|
-
name: Problems,
|
|
1447
|
-
tooltip: ''
|
|
1448
|
-
}];
|
|
1455
|
+
const extraItems = await getBuiltinStatusBarItems();
|
|
1449
1456
|
return [...uiStatusBarItems.map(toStatusBarItem), ...extraItems];
|
|
1450
1457
|
};
|
|
1451
1458
|
|
|
@@ -1459,15 +1466,38 @@ const itemsVisible = async () => {
|
|
|
1459
1466
|
};
|
|
1460
1467
|
|
|
1461
1468
|
const loadContent = async state => {
|
|
1469
|
+
const {
|
|
1470
|
+
assetDir,
|
|
1471
|
+
platform
|
|
1472
|
+
} = state;
|
|
1462
1473
|
const statusBarItemsPreference = await itemsVisible();
|
|
1463
|
-
const statusBarItems = await getStatusBarItems(statusBarItemsPreference);
|
|
1474
|
+
const statusBarItems = await getStatusBarItems(statusBarItemsPreference, assetDir, platform);
|
|
1464
1475
|
return {
|
|
1465
1476
|
...state,
|
|
1477
|
+
errorCount: 0,
|
|
1466
1478
|
statusBarItemsLeft: [...statusBarItems],
|
|
1467
|
-
statusBarItemsRight: []
|
|
1479
|
+
statusBarItemsRight: [],
|
|
1480
|
+
warningCount: 0
|
|
1468
1481
|
};
|
|
1469
1482
|
};
|
|
1470
1483
|
|
|
1484
|
+
const Button$1 = 'button';
|
|
1485
|
+
|
|
1486
|
+
const MaskIcon = 'MaskIcon';
|
|
1487
|
+
|
|
1488
|
+
const Button = 1;
|
|
1489
|
+
const Div = 4;
|
|
1490
|
+
const Span = 8;
|
|
1491
|
+
const Text = 12;
|
|
1492
|
+
|
|
1493
|
+
const TargetName = 'event.target.name';
|
|
1494
|
+
|
|
1495
|
+
const SetDom2 = 'Viewlet.setDom2';
|
|
1496
|
+
|
|
1497
|
+
const mergeClassNames = (...classNames) => {
|
|
1498
|
+
return classNames.filter(Boolean).join(' ');
|
|
1499
|
+
};
|
|
1500
|
+
|
|
1471
1501
|
const text = data => {
|
|
1472
1502
|
return {
|
|
1473
1503
|
type: Text,
|
|
@@ -1478,28 +1508,39 @@ const text = data => {
|
|
|
1478
1508
|
|
|
1479
1509
|
const HandleClick = 11;
|
|
1480
1510
|
|
|
1481
|
-
const
|
|
1511
|
+
const getTextVirtualDom = element => {
|
|
1512
|
+
return [{
|
|
1513
|
+
childCount: 1,
|
|
1514
|
+
className: 'StatusBarItemLabel',
|
|
1515
|
+
type: Span
|
|
1516
|
+
}, text(element.value)];
|
|
1517
|
+
};
|
|
1518
|
+
const getIconVirtualDom = element => {
|
|
1519
|
+
return [{
|
|
1520
|
+
childCount: 0,
|
|
1521
|
+
className: mergeClassNames(MaskIcon, element.value),
|
|
1522
|
+
type: Div
|
|
1523
|
+
}];
|
|
1524
|
+
};
|
|
1525
|
+
const getStatusBarItemElementVirtualDom = element => {
|
|
1482
1526
|
if (element.type === 'text') {
|
|
1483
|
-
return
|
|
1527
|
+
return getTextVirtualDom(element);
|
|
1484
1528
|
}
|
|
1485
1529
|
if (element.type === 'icon') {
|
|
1486
|
-
return
|
|
1487
|
-
childCount: 0,
|
|
1488
|
-
className: element.value,
|
|
1489
|
-
type: Div
|
|
1490
|
-
}];
|
|
1530
|
+
return getIconVirtualDom(element);
|
|
1491
1531
|
}
|
|
1492
1532
|
return [];
|
|
1493
1533
|
};
|
|
1534
|
+
|
|
1494
1535
|
const getStatusBarItemVirtualDom = statusBarItem => {
|
|
1495
1536
|
const {
|
|
1496
1537
|
elements,
|
|
1497
1538
|
name,
|
|
1498
1539
|
tooltip
|
|
1499
1540
|
} = statusBarItem;
|
|
1500
|
-
const elementNodes = elements.flatMap(
|
|
1541
|
+
const elementNodes = elements.flatMap(getStatusBarItemElementVirtualDom);
|
|
1501
1542
|
return [{
|
|
1502
|
-
childCount:
|
|
1543
|
+
childCount: elements.length,
|
|
1503
1544
|
className: StatusBarItem,
|
|
1504
1545
|
name,
|
|
1505
1546
|
role: Button$1,
|
|
@@ -1595,16 +1636,11 @@ const resize = (state, dimensions) => {
|
|
|
1595
1636
|
};
|
|
1596
1637
|
};
|
|
1597
1638
|
|
|
1598
|
-
const saveState =
|
|
1599
|
-
number(uid);
|
|
1600
|
-
const value = get$1(uid);
|
|
1601
|
-
const {
|
|
1602
|
-
newState
|
|
1603
|
-
} = value;
|
|
1639
|
+
const saveState = state => {
|
|
1604
1640
|
const {
|
|
1605
1641
|
statusBarItemsLeft,
|
|
1606
1642
|
statusBarItemsRight
|
|
1607
|
-
} =
|
|
1643
|
+
} = state;
|
|
1608
1644
|
return {
|
|
1609
1645
|
itemsLeft: statusBarItemsLeft,
|
|
1610
1646
|
itemsRight: statusBarItemsRight
|
|
@@ -1624,7 +1660,7 @@ const commandMap = {
|
|
|
1624
1660
|
'StatusBar.render2': render2,
|
|
1625
1661
|
'StatusBar.renderEventListeners': renderEventListeners,
|
|
1626
1662
|
'StatusBar.resize': wrapCommand(resize),
|
|
1627
|
-
'StatusBar.saveState': saveState,
|
|
1663
|
+
'StatusBar.saveState': wrapGetter(saveState),
|
|
1628
1664
|
'StatusBar.terminate': terminate
|
|
1629
1665
|
};
|
|
1630
1666
|
|