@lvce-editor/status-bar-worker 1.13.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 +234 -211
- 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,7 +963,26 @@ 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
987
|
|
|
1011
988
|
const ExtensionHostWorker = 44;
|
|
@@ -1018,7 +995,11 @@ const set$3 = (id, rpc) => {
|
|
|
1018
995
|
const get$2 = id => {
|
|
1019
996
|
return rpcs[id];
|
|
1020
997
|
};
|
|
998
|
+
const remove = id => {
|
|
999
|
+
delete rpcs[id];
|
|
1000
|
+
};
|
|
1021
1001
|
|
|
1002
|
+
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
|
1022
1003
|
const create$2 = rpcId => {
|
|
1023
1004
|
return {
|
|
1024
1005
|
async dispose() {
|
|
@@ -1037,6 +1018,18 @@ const create$2 = rpcId => {
|
|
|
1037
1018
|
// @ts-ignore
|
|
1038
1019
|
return rpc.invokeAndTransfer(method, ...params);
|
|
1039
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
|
+
},
|
|
1040
1033
|
set(rpc) {
|
|
1041
1034
|
set$3(rpcId, rpc);
|
|
1042
1035
|
}
|
|
@@ -1154,15 +1147,19 @@ const {
|
|
|
1154
1147
|
getCommandIds,
|
|
1155
1148
|
registerCommands,
|
|
1156
1149
|
set,
|
|
1157
|
-
wrapCommand
|
|
1150
|
+
wrapCommand,
|
|
1151
|
+
wrapGetter
|
|
1152
|
+
} = create$1();
|
|
1158
1153
|
|
|
1159
1154
|
const create = (uid, uri, x, y, width, height, platform, assetDir) => {
|
|
1160
1155
|
const state = {
|
|
1161
1156
|
assetDir,
|
|
1157
|
+
errorCount: 0,
|
|
1162
1158
|
platform,
|
|
1163
1159
|
statusBarItemsLeft: [],
|
|
1164
1160
|
statusBarItemsRight: [],
|
|
1165
|
-
uid
|
|
1161
|
+
uid,
|
|
1162
|
+
warningCount: 0
|
|
1166
1163
|
};
|
|
1167
1164
|
set(uid, state, state);
|
|
1168
1165
|
};
|
|
@@ -1320,12 +1317,6 @@ const itemRightUpdate = (state, newItem) => {
|
|
|
1320
1317
|
};
|
|
1321
1318
|
};
|
|
1322
1319
|
|
|
1323
|
-
const ProblemsErrorIcon = 'ProblemsErrorIcon';
|
|
1324
|
-
const ProblemsWarningIcon = 'ProblemsWarningIcon';
|
|
1325
|
-
const StatusBarItem = 'StatusBarItem';
|
|
1326
|
-
const StatusBarItemsLeft = 'StatusBarItemsLeft';
|
|
1327
|
-
const StatusBarItemsRight = 'StatusBarItemsRight';
|
|
1328
|
-
|
|
1329
1320
|
const OnStatusBarItem = 'onStatusBarItem';
|
|
1330
1321
|
|
|
1331
1322
|
const GetStatusBarItems = 'ExtensionHost.getStatusBarItems2';
|
|
@@ -1367,6 +1358,42 @@ const getStatusBarItems$1 = (assetDir, platform) => {
|
|
|
1367
1358
|
});
|
|
1368
1359
|
};
|
|
1369
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
|
+
|
|
1370
1397
|
const toStatusBarItem = uiStatusBarItem => {
|
|
1371
1398
|
const elements = [];
|
|
1372
1399
|
if (uiStatusBarItem.icon) {
|
|
@@ -1395,10 +1422,16 @@ const toStatusBarItem = uiStatusBarItem => {
|
|
|
1395
1422
|
};
|
|
1396
1423
|
};
|
|
1397
1424
|
|
|
1425
|
+
const getActualIcon = extensionHostStatusBarItem => {
|
|
1426
|
+
if (extensionHostStatusBarItem.icon === 'branch') {
|
|
1427
|
+
return 'Branch';
|
|
1428
|
+
}
|
|
1429
|
+
return extensionHostStatusBarItem.icon || '';
|
|
1430
|
+
};
|
|
1398
1431
|
const toUiStatusBarItem = extensionHostStatusBarItem => {
|
|
1399
1432
|
return {
|
|
1400
1433
|
command: extensionHostStatusBarItem.command || '',
|
|
1401
|
-
icon: extensionHostStatusBarItem
|
|
1434
|
+
icon: getActualIcon(extensionHostStatusBarItem),
|
|
1402
1435
|
name: extensionHostStatusBarItem.id || extensionHostStatusBarItem.name || '',
|
|
1403
1436
|
text: extensionHostStatusBarItem.text || '',
|
|
1404
1437
|
tooltip: extensionHostStatusBarItem.tooltip || ''
|
|
@@ -1419,32 +1452,7 @@ const getStatusBarItems = async (showItems, assetDir, platform) => {
|
|
|
1419
1452
|
await activateByEvent('onSourceControl', assetDir, platform);
|
|
1420
1453
|
const extensionStatusBarItems = await getStatusBarItems$1(assetDir, platform);
|
|
1421
1454
|
const uiStatusBarItems = toUiStatusBarItems(extensionStatusBarItems);
|
|
1422
|
-
const extraItems =
|
|
1423
|
-
command: undefined,
|
|
1424
|
-
elements: [{
|
|
1425
|
-
type: 'text',
|
|
1426
|
-
value: 'Notifications'
|
|
1427
|
-
}],
|
|
1428
|
-
name: Notifications,
|
|
1429
|
-
tooltip: ''
|
|
1430
|
-
}, {
|
|
1431
|
-
command: undefined,
|
|
1432
|
-
elements: [{
|
|
1433
|
-
type: 'icon',
|
|
1434
|
-
value: ProblemsErrorIcon
|
|
1435
|
-
}, {
|
|
1436
|
-
type: 'text',
|
|
1437
|
-
value: '0'
|
|
1438
|
-
}, {
|
|
1439
|
-
type: 'icon',
|
|
1440
|
-
value: ProblemsWarningIcon
|
|
1441
|
-
}, {
|
|
1442
|
-
type: 'text',
|
|
1443
|
-
value: '0'
|
|
1444
|
-
}],
|
|
1445
|
-
name: Problems,
|
|
1446
|
-
tooltip: ''
|
|
1447
|
-
}];
|
|
1455
|
+
const extraItems = await getBuiltinStatusBarItems();
|
|
1448
1456
|
return [...uiStatusBarItems.map(toStatusBarItem), ...extraItems];
|
|
1449
1457
|
};
|
|
1450
1458
|
|
|
@@ -1466,21 +1474,30 @@ const loadContent = async state => {
|
|
|
1466
1474
|
const statusBarItems = await getStatusBarItems(statusBarItemsPreference, assetDir, platform);
|
|
1467
1475
|
return {
|
|
1468
1476
|
...state,
|
|
1477
|
+
errorCount: 0,
|
|
1469
1478
|
statusBarItemsLeft: [...statusBarItems],
|
|
1470
|
-
statusBarItemsRight: []
|
|
1479
|
+
statusBarItemsRight: [],
|
|
1480
|
+
warningCount: 0
|
|
1471
1481
|
};
|
|
1472
1482
|
};
|
|
1473
1483
|
|
|
1474
1484
|
const Button$1 = 'button';
|
|
1475
1485
|
|
|
1486
|
+
const MaskIcon = 'MaskIcon';
|
|
1487
|
+
|
|
1476
1488
|
const Button = 1;
|
|
1477
1489
|
const Div = 4;
|
|
1490
|
+
const Span = 8;
|
|
1478
1491
|
const Text = 12;
|
|
1479
1492
|
|
|
1480
1493
|
const TargetName = 'event.target.name';
|
|
1481
1494
|
|
|
1482
1495
|
const SetDom2 = 'Viewlet.setDom2';
|
|
1483
1496
|
|
|
1497
|
+
const mergeClassNames = (...classNames) => {
|
|
1498
|
+
return classNames.filter(Boolean).join(' ');
|
|
1499
|
+
};
|
|
1500
|
+
|
|
1484
1501
|
const text = data => {
|
|
1485
1502
|
return {
|
|
1486
1503
|
type: Text,
|
|
@@ -1491,28 +1508,39 @@ const text = data => {
|
|
|
1491
1508
|
|
|
1492
1509
|
const HandleClick = 11;
|
|
1493
1510
|
|
|
1494
|
-
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 => {
|
|
1495
1526
|
if (element.type === 'text') {
|
|
1496
|
-
return
|
|
1527
|
+
return getTextVirtualDom(element);
|
|
1497
1528
|
}
|
|
1498
1529
|
if (element.type === 'icon') {
|
|
1499
|
-
return
|
|
1500
|
-
childCount: 0,
|
|
1501
|
-
className: element.value,
|
|
1502
|
-
type: Div
|
|
1503
|
-
}];
|
|
1530
|
+
return getIconVirtualDom(element);
|
|
1504
1531
|
}
|
|
1505
1532
|
return [];
|
|
1506
1533
|
};
|
|
1534
|
+
|
|
1507
1535
|
const getStatusBarItemVirtualDom = statusBarItem => {
|
|
1508
1536
|
const {
|
|
1509
1537
|
elements,
|
|
1510
1538
|
name,
|
|
1511
1539
|
tooltip
|
|
1512
1540
|
} = statusBarItem;
|
|
1513
|
-
const elementNodes = elements.flatMap(
|
|
1541
|
+
const elementNodes = elements.flatMap(getStatusBarItemElementVirtualDom);
|
|
1514
1542
|
return [{
|
|
1515
|
-
childCount:
|
|
1543
|
+
childCount: elements.length,
|
|
1516
1544
|
className: StatusBarItem,
|
|
1517
1545
|
name,
|
|
1518
1546
|
role: Button$1,
|
|
@@ -1608,16 +1636,11 @@ const resize = (state, dimensions) => {
|
|
|
1608
1636
|
};
|
|
1609
1637
|
};
|
|
1610
1638
|
|
|
1611
|
-
const saveState =
|
|
1612
|
-
number(uid);
|
|
1613
|
-
const value = get$1(uid);
|
|
1614
|
-
const {
|
|
1615
|
-
newState
|
|
1616
|
-
} = value;
|
|
1639
|
+
const saveState = state => {
|
|
1617
1640
|
const {
|
|
1618
1641
|
statusBarItemsLeft,
|
|
1619
1642
|
statusBarItemsRight
|
|
1620
|
-
} =
|
|
1643
|
+
} = state;
|
|
1621
1644
|
return {
|
|
1622
1645
|
itemsLeft: statusBarItemsLeft,
|
|
1623
1646
|
itemsRight: statusBarItemsRight
|
|
@@ -1637,7 +1660,7 @@ const commandMap = {
|
|
|
1637
1660
|
'StatusBar.render2': render2,
|
|
1638
1661
|
'StatusBar.renderEventListeners': renderEventListeners,
|
|
1639
1662
|
'StatusBar.resize': wrapCommand(resize),
|
|
1640
|
-
'StatusBar.saveState': saveState,
|
|
1663
|
+
'StatusBar.saveState': wrapGetter(saveState),
|
|
1641
1664
|
'StatusBar.terminate': terminate
|
|
1642
1665
|
};
|
|
1643
1666
|
|