@lvce-editor/extension-detail-view 3.52.0 → 3.54.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/README.md +4 -0
- package/dist/extensionDetailViewWorkerMain.js +325 -171
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -11,6 +11,7 @@ const i18nString = (key, placeholders = emptyObject) => {
|
|
|
11
11
|
};
|
|
12
12
|
|
|
13
13
|
const ActivationEvents$1 = 'Activation Events';
|
|
14
|
+
const RuntimeStatus$1 = 'Runtime Status';
|
|
14
15
|
const Categories$1 = 'Categories';
|
|
15
16
|
const Changelog$2 = 'Changelog';
|
|
16
17
|
const Commands$1 = 'Commands';
|
|
@@ -28,7 +29,7 @@ const Installation = 'Installation';
|
|
|
28
29
|
const JsonValidation$1 = 'Json Validation';
|
|
29
30
|
const Label = 'Label';
|
|
30
31
|
const Marketplace = 'Marketplace';
|
|
31
|
-
const None$
|
|
32
|
+
const None$3 = 'None';
|
|
32
33
|
const NoReadmeFound = 'No Readme Found.';
|
|
33
34
|
const EmptyCommandsArray = 'The extension contributed an empty commands array.';
|
|
34
35
|
const OpenImageInNewTab = 'Open Image in New Tab';
|
|
@@ -79,7 +80,7 @@ const features$1 = () => {
|
|
|
79
80
|
return i18nString(Features$2);
|
|
80
81
|
};
|
|
81
82
|
const none = () => {
|
|
82
|
-
return i18nString(None$
|
|
83
|
+
return i18nString(None$3);
|
|
83
84
|
};
|
|
84
85
|
const openInNewTab = () => {
|
|
85
86
|
return i18nString(OpenInNewTab);
|
|
@@ -114,6 +115,9 @@ const webViews = () => {
|
|
|
114
115
|
const activationEvents = () => {
|
|
115
116
|
return i18nString(ActivationEvents$1);
|
|
116
117
|
};
|
|
118
|
+
const runtimeStatus = () => {
|
|
119
|
+
return i18nString(RuntimeStatus$1);
|
|
120
|
+
};
|
|
117
121
|
const jsonValidation = () => {
|
|
118
122
|
return i18nString(JsonValidation$1);
|
|
119
123
|
};
|
|
@@ -162,13 +166,13 @@ const featureActivationEventsEnabled = extension => {
|
|
|
162
166
|
return Array.isArray(extension.activation);
|
|
163
167
|
};
|
|
164
168
|
|
|
165
|
-
const None$
|
|
169
|
+
const None$2 = 'none';
|
|
166
170
|
const Panel = 'panel';
|
|
167
171
|
const Tab$1 = 'tab';
|
|
168
172
|
const TabList = 'tablist';
|
|
169
173
|
const AriaRoles = {
|
|
170
174
|
__proto__: null,
|
|
171
|
-
None: None$
|
|
175
|
+
None: None$2,
|
|
172
176
|
Panel,
|
|
173
177
|
Tab: Tab$1,
|
|
174
178
|
TabList};
|
|
@@ -594,147 +598,6 @@ const getFeatureVirtualDomHandler = featureName => {
|
|
|
594
598
|
return feature.getVirtualDom;
|
|
595
599
|
};
|
|
596
600
|
|
|
597
|
-
const getSettingsTableEntry = setting => {
|
|
598
|
-
const {
|
|
599
|
-
id,
|
|
600
|
-
label
|
|
601
|
-
} = setting;
|
|
602
|
-
// TODO watch out for null/undefined/number/string/array
|
|
603
|
-
return [{
|
|
604
|
-
type: Text,
|
|
605
|
-
value: id
|
|
606
|
-
}, {
|
|
607
|
-
type: Text,
|
|
608
|
-
value: label
|
|
609
|
-
}];
|
|
610
|
-
};
|
|
611
|
-
|
|
612
|
-
const getSettingsDetails = async extension => {
|
|
613
|
-
const settings = extension.settings || [];
|
|
614
|
-
const rows = settings.map(getSettingsTableEntry);
|
|
615
|
-
return {
|
|
616
|
-
settings: rows
|
|
617
|
-
};
|
|
618
|
-
};
|
|
619
|
-
|
|
620
|
-
const featureSettingsEnabled = extension => {
|
|
621
|
-
if (!extension || typeof extension !== 'object' || !('settings' in extension)) {
|
|
622
|
-
return false;
|
|
623
|
-
}
|
|
624
|
-
return Array.isArray(extension.settings);
|
|
625
|
-
};
|
|
626
|
-
|
|
627
|
-
const getSettingsTableEntries = rows => {
|
|
628
|
-
const textId = id$1();
|
|
629
|
-
const textLabel = label();
|
|
630
|
-
return {
|
|
631
|
-
headings: [textId, textLabel],
|
|
632
|
-
rows
|
|
633
|
-
};
|
|
634
|
-
};
|
|
635
|
-
|
|
636
|
-
const getFeatureSettingsVirtualDom = rows => {
|
|
637
|
-
const heading = settings();
|
|
638
|
-
const tableInfo = getSettingsTableEntries(rows);
|
|
639
|
-
return [{
|
|
640
|
-
type: VirtualDomElements.Div,
|
|
641
|
-
className: FeatureContent,
|
|
642
|
-
childCount: 2
|
|
643
|
-
}, ...getFeatureContentHeadingVirtualDom(heading), ...getTableVirtualDom(tableInfo)];
|
|
644
|
-
};
|
|
645
|
-
|
|
646
|
-
const getSettingsVirtualDom = state => {
|
|
647
|
-
return getFeatureSettingsVirtualDom(state.settings);
|
|
648
|
-
};
|
|
649
|
-
|
|
650
|
-
class AssertionError extends Error {
|
|
651
|
-
constructor(message) {
|
|
652
|
-
super(message);
|
|
653
|
-
this.name = 'AssertionError';
|
|
654
|
-
}
|
|
655
|
-
}
|
|
656
|
-
const Object$1 = 1;
|
|
657
|
-
const Number$1 = 2;
|
|
658
|
-
const Array$1 = 3;
|
|
659
|
-
const String = 4;
|
|
660
|
-
const Boolean$1 = 5;
|
|
661
|
-
const Function = 6;
|
|
662
|
-
const Null = 7;
|
|
663
|
-
const Unknown = 8;
|
|
664
|
-
const getType = value => {
|
|
665
|
-
switch (typeof value) {
|
|
666
|
-
case 'number':
|
|
667
|
-
return Number$1;
|
|
668
|
-
case 'function':
|
|
669
|
-
return Function;
|
|
670
|
-
case 'string':
|
|
671
|
-
return String;
|
|
672
|
-
case 'object':
|
|
673
|
-
if (value === null) {
|
|
674
|
-
return Null;
|
|
675
|
-
}
|
|
676
|
-
if (Array.isArray(value)) {
|
|
677
|
-
return Array$1;
|
|
678
|
-
}
|
|
679
|
-
return Object$1;
|
|
680
|
-
case 'boolean':
|
|
681
|
-
return Boolean$1;
|
|
682
|
-
default:
|
|
683
|
-
return Unknown;
|
|
684
|
-
}
|
|
685
|
-
};
|
|
686
|
-
const string = value => {
|
|
687
|
-
const type = getType(value);
|
|
688
|
-
if (type !== String) {
|
|
689
|
-
throw new AssertionError('expected value to be of type string');
|
|
690
|
-
}
|
|
691
|
-
};
|
|
692
|
-
|
|
693
|
-
const HandleClickCategory = 'handleClickCategory';
|
|
694
|
-
const HandleClickDisable = 'handleClickDisable';
|
|
695
|
-
const HandleClickScrollToTop = 'handleClickScrollToTop';
|
|
696
|
-
const HandleClickSetColorTheme = 'handleClickSetColorTheme';
|
|
697
|
-
const HandleClickSettings = 'handleClickSettings';
|
|
698
|
-
const HandleClickSize = 'handleClickSize';
|
|
699
|
-
const HandleClickUninstall = 'handleClickUninstall';
|
|
700
|
-
const HandleFeaturesClick = 'handleFeaturesClick';
|
|
701
|
-
const HandleIconError = 'handleIconError';
|
|
702
|
-
const HandleImageContextMenu = 'handleImageContextMenu';
|
|
703
|
-
const HandleReadmeContextMenu = 'handleReadmeContextMenu';
|
|
704
|
-
const HandleReadmeScroll = 'handleReadmeScroll';
|
|
705
|
-
const HandleTabsClick = 'handleTabsClick';
|
|
706
|
-
|
|
707
|
-
const ActivationEvents = 'ActivationEvents';
|
|
708
|
-
const Changelog = 'Changelog';
|
|
709
|
-
const Commands = 'Commands';
|
|
710
|
-
const Details = 'Details';
|
|
711
|
-
const Disable = 'Disable';
|
|
712
|
-
const Features = 'Features';
|
|
713
|
-
const JsonValidation = 'JsonValidation';
|
|
714
|
-
const ProgrammingLanguages = 'ProgrammingLanguages';
|
|
715
|
-
const ScrollToTop = 'scrolltotop';
|
|
716
|
-
const SetColorTheme = 'SetColorTheme';
|
|
717
|
-
const Settings = 'Settings';
|
|
718
|
-
const Theme = 'Theme';
|
|
719
|
-
const Uninstall = 'Uninstall';
|
|
720
|
-
const WebViews = 'WebViews';
|
|
721
|
-
|
|
722
|
-
const getScrollToTopVirtualDom = scrollToTopButtonEnabled => {
|
|
723
|
-
return [{
|
|
724
|
-
type: VirtualDomElements.Button,
|
|
725
|
-
className: ScrollToTopButton,
|
|
726
|
-
childCount: 1,
|
|
727
|
-
onClick: HandleClickScrollToTop,
|
|
728
|
-
ariaLabel: scrollToTop(),
|
|
729
|
-
name: ScrollToTop
|
|
730
|
-
}, {
|
|
731
|
-
type: VirtualDomElements.Div,
|
|
732
|
-
className: 'MaskIcon MaskIconChevronUp',
|
|
733
|
-
childCount: 0,
|
|
734
|
-
role: AriaRoles.None
|
|
735
|
-
}];
|
|
736
|
-
};
|
|
737
|
-
|
|
738
601
|
const rpcs = Object.create(null);
|
|
739
602
|
const set$g = (id, rpc) => {
|
|
740
603
|
rpcs[id] = rpc;
|
|
@@ -773,9 +636,11 @@ const RendererWorker$1 = 1;
|
|
|
773
636
|
const FileSystemWorker$1 = 209;
|
|
774
637
|
const MarkdownWorker$1 = 300;
|
|
775
638
|
const {
|
|
639
|
+
invoke: invoke$9,
|
|
776
640
|
set: set$9} = create$7(ExtensionHostWorker);
|
|
777
641
|
const ExtensionHost = {
|
|
778
642
|
__proto__: null,
|
|
643
|
+
invoke: invoke$9,
|
|
779
644
|
set: set$9
|
|
780
645
|
};
|
|
781
646
|
const {
|
|
@@ -890,6 +755,277 @@ const RendererWorker = {
|
|
|
890
755
|
|
|
891
756
|
const {
|
|
892
757
|
set: set$5,
|
|
758
|
+
invoke: invoke$2
|
|
759
|
+
} = ExtensionHost;
|
|
760
|
+
|
|
761
|
+
const getRuntimeStatus = async extensionId => {
|
|
762
|
+
// TODO simplify api
|
|
763
|
+
// @ts-ignore
|
|
764
|
+
const status = await invoke$2('ExtensionHost.getRuntimeStatus', extensionId);
|
|
765
|
+
// @ts-ignore
|
|
766
|
+
return status;
|
|
767
|
+
};
|
|
768
|
+
|
|
769
|
+
const getRuntimeStatusDetails = async extension => {
|
|
770
|
+
const {
|
|
771
|
+
activationEvent,
|
|
772
|
+
status,
|
|
773
|
+
activationTime,
|
|
774
|
+
importTime
|
|
775
|
+
} = await getRuntimeStatus(extension.id);
|
|
776
|
+
return {
|
|
777
|
+
wasActivatedByEvent: activationEvent,
|
|
778
|
+
activationTime,
|
|
779
|
+
status,
|
|
780
|
+
importTime
|
|
781
|
+
};
|
|
782
|
+
};
|
|
783
|
+
|
|
784
|
+
const featureRuntimeStatusEnabled = extension => {
|
|
785
|
+
if (!extension || typeof extension !== 'object') {
|
|
786
|
+
return false;
|
|
787
|
+
}
|
|
788
|
+
if ('main' in extension || 'browser' in extension) {
|
|
789
|
+
return true;
|
|
790
|
+
}
|
|
791
|
+
return false;
|
|
792
|
+
};
|
|
793
|
+
|
|
794
|
+
const formatTime = time => {
|
|
795
|
+
return time.toFixed(2) + 'ms';
|
|
796
|
+
};
|
|
797
|
+
|
|
798
|
+
const getActivationTimeVirtualDom = (importTime, activationTime) => {
|
|
799
|
+
if (!activationTime && !importTime) {
|
|
800
|
+
return [];
|
|
801
|
+
}
|
|
802
|
+
const formattedImportTime = formatTime(importTime);
|
|
803
|
+
const formattedTime = formatTime(activationTime);
|
|
804
|
+
return [{
|
|
805
|
+
type: VirtualDomElements.Dt,
|
|
806
|
+
childCount: 1
|
|
807
|
+
}, text('Import Time: '),
|
|
808
|
+
// i18n
|
|
809
|
+
{
|
|
810
|
+
type: VirtualDomElements.Dd,
|
|
811
|
+
childCount: 1
|
|
812
|
+
}, text(formattedImportTime), {
|
|
813
|
+
type: VirtualDomElements.Dt,
|
|
814
|
+
childCount: 1
|
|
815
|
+
}, text('Activation Time: '),
|
|
816
|
+
// i18n
|
|
817
|
+
{
|
|
818
|
+
type: VirtualDomElements.Dd,
|
|
819
|
+
childCount: 1
|
|
820
|
+
}, text(formattedTime)];
|
|
821
|
+
};
|
|
822
|
+
|
|
823
|
+
const None$1 = 0;
|
|
824
|
+
const Importing = 1;
|
|
825
|
+
const Activating = 2;
|
|
826
|
+
const Activated = 3;
|
|
827
|
+
const Error$1 = 4;
|
|
828
|
+
|
|
829
|
+
const getStatusMessage = statusType => {
|
|
830
|
+
switch (statusType) {
|
|
831
|
+
case Activated:
|
|
832
|
+
return 'activated';
|
|
833
|
+
case None$1:
|
|
834
|
+
return 'none';
|
|
835
|
+
case Activating:
|
|
836
|
+
return 'Activating';
|
|
837
|
+
case Error$1:
|
|
838
|
+
return 'error';
|
|
839
|
+
case Importing:
|
|
840
|
+
return 'importing';
|
|
841
|
+
default:
|
|
842
|
+
return 'unknown';
|
|
843
|
+
}
|
|
844
|
+
};
|
|
845
|
+
|
|
846
|
+
const getStatusVirtualDom = status => {
|
|
847
|
+
const statusString = getStatusMessage(status);
|
|
848
|
+
return [{
|
|
849
|
+
type: VirtualDomElements.Dt,
|
|
850
|
+
childCount: 1
|
|
851
|
+
}, text(`Status: `),
|
|
852
|
+
// i18n
|
|
853
|
+
{
|
|
854
|
+
type: VirtualDomElements.Dd,
|
|
855
|
+
childCount: 1
|
|
856
|
+
}, text(`${statusString}`)];
|
|
857
|
+
};
|
|
858
|
+
|
|
859
|
+
const getChildCount$1 = (status, activationTime, importTime) => {
|
|
860
|
+
let childCount = 0;
|
|
861
|
+
childCount += 2; // status
|
|
862
|
+
if (importTime || activationTime) {
|
|
863
|
+
childCount += 4;
|
|
864
|
+
}
|
|
865
|
+
return childCount;
|
|
866
|
+
};
|
|
867
|
+
const getRuntimeStatusVirtualDom = state => {
|
|
868
|
+
const {
|
|
869
|
+
status,
|
|
870
|
+
activationTime,
|
|
871
|
+
importTime
|
|
872
|
+
} = state;
|
|
873
|
+
const heading = runtimeStatus();
|
|
874
|
+
const childCount = getChildCount$1(status, activationTime, importTime);
|
|
875
|
+
return [{
|
|
876
|
+
type: VirtualDomElements.Div,
|
|
877
|
+
className: FeatureContent,
|
|
878
|
+
childCount: 2
|
|
879
|
+
}, ...getFeatureContentHeadingVirtualDom(heading), {
|
|
880
|
+
type: VirtualDomElements.Dl,
|
|
881
|
+
childCount
|
|
882
|
+
}, ...getStatusVirtualDom(status), ...getActivationTimeVirtualDom(activationTime, importTime)];
|
|
883
|
+
};
|
|
884
|
+
|
|
885
|
+
const getSettingsTableEntry = setting => {
|
|
886
|
+
const {
|
|
887
|
+
id,
|
|
888
|
+
label
|
|
889
|
+
} = setting;
|
|
890
|
+
// TODO watch out for null/undefined/number/string/array
|
|
891
|
+
return [{
|
|
892
|
+
type: Text,
|
|
893
|
+
value: id
|
|
894
|
+
}, {
|
|
895
|
+
type: Text,
|
|
896
|
+
value: label
|
|
897
|
+
}];
|
|
898
|
+
};
|
|
899
|
+
|
|
900
|
+
const getSettingsDetails = async extension => {
|
|
901
|
+
const settings = extension.settings || [];
|
|
902
|
+
const rows = settings.map(getSettingsTableEntry);
|
|
903
|
+
return {
|
|
904
|
+
settings: rows
|
|
905
|
+
};
|
|
906
|
+
};
|
|
907
|
+
|
|
908
|
+
const featureSettingsEnabled = extension => {
|
|
909
|
+
if (!extension || typeof extension !== 'object' || !('settings' in extension)) {
|
|
910
|
+
return false;
|
|
911
|
+
}
|
|
912
|
+
return Array.isArray(extension.settings);
|
|
913
|
+
};
|
|
914
|
+
|
|
915
|
+
const getSettingsTableEntries = rows => {
|
|
916
|
+
const textId = id$1();
|
|
917
|
+
const textLabel = label();
|
|
918
|
+
return {
|
|
919
|
+
headings: [textId, textLabel],
|
|
920
|
+
rows
|
|
921
|
+
};
|
|
922
|
+
};
|
|
923
|
+
|
|
924
|
+
const getFeatureSettingsVirtualDom = rows => {
|
|
925
|
+
const heading = settings();
|
|
926
|
+
const tableInfo = getSettingsTableEntries(rows);
|
|
927
|
+
return [{
|
|
928
|
+
type: VirtualDomElements.Div,
|
|
929
|
+
className: FeatureContent,
|
|
930
|
+
childCount: 2
|
|
931
|
+
}, ...getFeatureContentHeadingVirtualDom(heading), ...getTableVirtualDom(tableInfo)];
|
|
932
|
+
};
|
|
933
|
+
|
|
934
|
+
const getSettingsVirtualDom = state => {
|
|
935
|
+
return getFeatureSettingsVirtualDom(state.settings);
|
|
936
|
+
};
|
|
937
|
+
|
|
938
|
+
class AssertionError extends Error {
|
|
939
|
+
constructor(message) {
|
|
940
|
+
super(message);
|
|
941
|
+
this.name = 'AssertionError';
|
|
942
|
+
}
|
|
943
|
+
}
|
|
944
|
+
const Object$1 = 1;
|
|
945
|
+
const Number$1 = 2;
|
|
946
|
+
const Array$1 = 3;
|
|
947
|
+
const String = 4;
|
|
948
|
+
const Boolean$1 = 5;
|
|
949
|
+
const Function = 6;
|
|
950
|
+
const Null = 7;
|
|
951
|
+
const Unknown = 8;
|
|
952
|
+
const getType = value => {
|
|
953
|
+
switch (typeof value) {
|
|
954
|
+
case 'number':
|
|
955
|
+
return Number$1;
|
|
956
|
+
case 'function':
|
|
957
|
+
return Function;
|
|
958
|
+
case 'string':
|
|
959
|
+
return String;
|
|
960
|
+
case 'object':
|
|
961
|
+
if (value === null) {
|
|
962
|
+
return Null;
|
|
963
|
+
}
|
|
964
|
+
if (Array.isArray(value)) {
|
|
965
|
+
return Array$1;
|
|
966
|
+
}
|
|
967
|
+
return Object$1;
|
|
968
|
+
case 'boolean':
|
|
969
|
+
return Boolean$1;
|
|
970
|
+
default:
|
|
971
|
+
return Unknown;
|
|
972
|
+
}
|
|
973
|
+
};
|
|
974
|
+
const string = value => {
|
|
975
|
+
const type = getType(value);
|
|
976
|
+
if (type !== String) {
|
|
977
|
+
throw new AssertionError('expected value to be of type string');
|
|
978
|
+
}
|
|
979
|
+
};
|
|
980
|
+
|
|
981
|
+
const HandleClickCategory = 'handleClickCategory';
|
|
982
|
+
const HandleClickDisable = 'handleClickDisable';
|
|
983
|
+
const HandleClickScrollToTop = 'handleClickScrollToTop';
|
|
984
|
+
const HandleClickSetColorTheme = 'handleClickSetColorTheme';
|
|
985
|
+
const HandleClickSettings = 'handleClickSettings';
|
|
986
|
+
const HandleClickSize = 'handleClickSize';
|
|
987
|
+
const HandleClickUninstall = 'handleClickUninstall';
|
|
988
|
+
const HandleFeaturesClick = 'handleFeaturesClick';
|
|
989
|
+
const HandleIconError = 'handleIconError';
|
|
990
|
+
const HandleImageContextMenu = 'handleImageContextMenu';
|
|
991
|
+
const HandleReadmeContextMenu = 'handleReadmeContextMenu';
|
|
992
|
+
const HandleReadmeScroll = 'handleReadmeScroll';
|
|
993
|
+
const HandleTabsClick = 'handleTabsClick';
|
|
994
|
+
|
|
995
|
+
const ActivationEvents = 'ActivationEvents';
|
|
996
|
+
const Changelog = 'Changelog';
|
|
997
|
+
const Commands = 'Commands';
|
|
998
|
+
const Details = 'Details';
|
|
999
|
+
const Disable = 'Disable';
|
|
1000
|
+
const Features = 'Features';
|
|
1001
|
+
const JsonValidation = 'JsonValidation';
|
|
1002
|
+
const ProgrammingLanguages = 'ProgrammingLanguages';
|
|
1003
|
+
const RuntimeStatus = 'RuntimeStatus';
|
|
1004
|
+
const ScrollToTop = 'scrolltotop';
|
|
1005
|
+
const SetColorTheme = 'SetColorTheme';
|
|
1006
|
+
const Settings = 'Settings';
|
|
1007
|
+
const Theme = 'Theme';
|
|
1008
|
+
const Uninstall = 'Uninstall';
|
|
1009
|
+
const WebViews = 'WebViews';
|
|
1010
|
+
|
|
1011
|
+
const getScrollToTopVirtualDom = scrollToTopButtonEnabled => {
|
|
1012
|
+
return [{
|
|
1013
|
+
type: VirtualDomElements.Button,
|
|
1014
|
+
className: ScrollToTopButton,
|
|
1015
|
+
childCount: 1,
|
|
1016
|
+
onClick: HandleClickScrollToTop,
|
|
1017
|
+
ariaLabel: scrollToTop(),
|
|
1018
|
+
name: ScrollToTop
|
|
1019
|
+
}, {
|
|
1020
|
+
type: VirtualDomElements.Div,
|
|
1021
|
+
className: 'MaskIcon MaskIconChevronUp',
|
|
1022
|
+
childCount: 0,
|
|
1023
|
+
role: AriaRoles.None
|
|
1024
|
+
}];
|
|
1025
|
+
};
|
|
1026
|
+
|
|
1027
|
+
const {
|
|
1028
|
+
set: set$4,
|
|
893
1029
|
getVirtualDom,
|
|
894
1030
|
render
|
|
895
1031
|
} = MarkdownWorker;
|
|
@@ -1150,6 +1286,13 @@ const registerAllFeatures = () => {
|
|
|
1150
1286
|
getDetails: getActivationEventsDetails,
|
|
1151
1287
|
getVirtualDom: getActivationEventsVirtualDom
|
|
1152
1288
|
});
|
|
1289
|
+
register$1({
|
|
1290
|
+
id: RuntimeStatus,
|
|
1291
|
+
getLabel: runtimeStatus,
|
|
1292
|
+
isEnabled: featureRuntimeStatusEnabled,
|
|
1293
|
+
getDetails: getRuntimeStatusDetails,
|
|
1294
|
+
getVirtualDom: getRuntimeStatusVirtualDom
|
|
1295
|
+
});
|
|
1153
1296
|
};
|
|
1154
1297
|
|
|
1155
1298
|
const normalizeLine = line => {
|
|
@@ -1626,7 +1769,7 @@ const create$4 = (method, params) => {
|
|
|
1626
1769
|
};
|
|
1627
1770
|
};
|
|
1628
1771
|
const callbacks = Object.create(null);
|
|
1629
|
-
const set$
|
|
1772
|
+
const set$3 = (id, fn) => {
|
|
1630
1773
|
callbacks[id] = fn;
|
|
1631
1774
|
};
|
|
1632
1775
|
const get$1 = id => {
|
|
@@ -1645,7 +1788,7 @@ const registerPromise = () => {
|
|
|
1645
1788
|
resolve,
|
|
1646
1789
|
promise
|
|
1647
1790
|
} = Promise.withResolvers();
|
|
1648
|
-
set$
|
|
1791
|
+
set$3(id, resolve);
|
|
1649
1792
|
return {
|
|
1650
1793
|
id,
|
|
1651
1794
|
promise
|
|
@@ -2205,7 +2348,7 @@ const {
|
|
|
2205
2348
|
writeClipBoardText,
|
|
2206
2349
|
sendMessagePortToFileSystemWorker: sendMessagePortToFileSystemWorker$1,
|
|
2207
2350
|
sendMessagePortToMarkdownWorker: sendMessagePortToMarkdownWorker$1,
|
|
2208
|
-
set: set$
|
|
2351
|
+
set: set$2,
|
|
2209
2352
|
setColorTheme: setColorTheme$1,
|
|
2210
2353
|
setExtensionsSearchValue,
|
|
2211
2354
|
showContextMenu,
|
|
@@ -2222,7 +2365,7 @@ const writeText = async text => {
|
|
|
2222
2365
|
};
|
|
2223
2366
|
|
|
2224
2367
|
const {
|
|
2225
|
-
set: set$
|
|
2368
|
+
set: set$1,
|
|
2226
2369
|
exists,
|
|
2227
2370
|
readFile: readFile$1,
|
|
2228
2371
|
invoke
|
|
@@ -2262,7 +2405,7 @@ const copyImageUrl = async state => {
|
|
|
2262
2405
|
|
|
2263
2406
|
const {
|
|
2264
2407
|
get,
|
|
2265
|
-
set
|
|
2408
|
+
set,
|
|
2266
2409
|
dispose: dispose$1,
|
|
2267
2410
|
wrapCommand,
|
|
2268
2411
|
wrapGetter,
|
|
@@ -2273,7 +2416,9 @@ const {
|
|
|
2273
2416
|
const create = (uid, uri, x, y, width, height, platform, assetDir) => {
|
|
2274
2417
|
const state = {
|
|
2275
2418
|
wasActivatedByEvent: '',
|
|
2276
|
-
|
|
2419
|
+
activationTime: 0,
|
|
2420
|
+
importTime: 0,
|
|
2421
|
+
status: 0,
|
|
2277
2422
|
uid,
|
|
2278
2423
|
activationEvents: [],
|
|
2279
2424
|
assetDir: assetDir || '',
|
|
@@ -2323,7 +2468,7 @@ const create = (uid, uri, x, y, width, height, platform, assetDir) => {
|
|
|
2323
2468
|
width,
|
|
2324
2469
|
readmeUrl: ''
|
|
2325
2470
|
};
|
|
2326
|
-
set
|
|
2471
|
+
set(uid, state, state);
|
|
2327
2472
|
};
|
|
2328
2473
|
|
|
2329
2474
|
const isEqual$2 = (oldState, newState) => {
|
|
@@ -2546,6 +2691,14 @@ const handleClickUninstall = async state => {
|
|
|
2546
2691
|
return state;
|
|
2547
2692
|
};
|
|
2548
2693
|
|
|
2694
|
+
const handleExtensionsStatusUpdate = async state => {
|
|
2695
|
+
const details = await getRuntimeStatusDetails(state.extension);
|
|
2696
|
+
return {
|
|
2697
|
+
...state,
|
|
2698
|
+
...details
|
|
2699
|
+
};
|
|
2700
|
+
};
|
|
2701
|
+
|
|
2549
2702
|
const extensionDefaultIcon = assetDir => {
|
|
2550
2703
|
return `${assetDir}/icons/extensionDefaultIcon.png`;
|
|
2551
2704
|
};
|
|
@@ -2754,12 +2907,9 @@ const createExtensionHostWorkerRpc = async () => {
|
|
|
2754
2907
|
}
|
|
2755
2908
|
};
|
|
2756
2909
|
|
|
2757
|
-
const {
|
|
2758
|
-
set} = ExtensionHost;
|
|
2759
|
-
|
|
2760
2910
|
const initializeExtensionHostWorker = async () => {
|
|
2761
2911
|
const rpc = await createExtensionHostWorkerRpc();
|
|
2762
|
-
set(rpc);
|
|
2912
|
+
set$5(rpc);
|
|
2763
2913
|
};
|
|
2764
2914
|
|
|
2765
2915
|
const sendMessagePortToFileSystemWorker = async port => {
|
|
@@ -2780,7 +2930,7 @@ const createFileSystemWorkerRpc = async () => {
|
|
|
2780
2930
|
|
|
2781
2931
|
const initializeFileSystemWorker = async () => {
|
|
2782
2932
|
const rpc = await createFileSystemWorkerRpc();
|
|
2783
|
-
set$
|
|
2933
|
+
set$1(rpc);
|
|
2784
2934
|
};
|
|
2785
2935
|
|
|
2786
2936
|
const sendMessagePortToMarkdownWorker = async port => {
|
|
@@ -2801,7 +2951,7 @@ const createMarkdownWorkerRpc = async () => {
|
|
|
2801
2951
|
|
|
2802
2952
|
const initializeMarkdownWorker = async () => {
|
|
2803
2953
|
const rpc = await createMarkdownWorkerRpc();
|
|
2804
|
-
set$
|
|
2954
|
+
set$4(rpc);
|
|
2805
2955
|
};
|
|
2806
2956
|
|
|
2807
2957
|
const initialize = async () => {
|
|
@@ -3248,7 +3398,10 @@ const restoreState = savedState => {
|
|
|
3248
3398
|
};
|
|
3249
3399
|
};
|
|
3250
3400
|
|
|
3251
|
-
const loadContent = async (state, platform, savedState) => {
|
|
3401
|
+
const loadContent = async (state, platform, savedState, isTest = false) => {
|
|
3402
|
+
if (isTest) {
|
|
3403
|
+
savedState = undefined;
|
|
3404
|
+
}
|
|
3252
3405
|
const {
|
|
3253
3406
|
width,
|
|
3254
3407
|
uri
|
|
@@ -3337,8 +3490,8 @@ const loadContent = async (state, platform, savedState) => {
|
|
|
3337
3490
|
};
|
|
3338
3491
|
};
|
|
3339
3492
|
|
|
3340
|
-
const loadContent2 = async (state, savedState) => {
|
|
3341
|
-
return loadContent(state, state.platform, savedState);
|
|
3493
|
+
const loadContent2 = async (state, savedState, isTest = false) => {
|
|
3494
|
+
return loadContent(state, state.platform, savedState, isTest);
|
|
3342
3495
|
};
|
|
3343
3496
|
|
|
3344
3497
|
const openUrl = async uri => {
|
|
@@ -3565,6 +3718,11 @@ const getFeatureListVirtualDom = features => {
|
|
|
3565
3718
|
}, ...features.flatMap(getFeatureListItemVirtualDom)];
|
|
3566
3719
|
};
|
|
3567
3720
|
|
|
3721
|
+
const sash = {
|
|
3722
|
+
type: VirtualDomElements.Div,
|
|
3723
|
+
className: mergeClassNames(Sash, SashVertical),
|
|
3724
|
+
childCount: 0
|
|
3725
|
+
};
|
|
3568
3726
|
const getFeaturesVirtualDom = (features, selectedFeature, state) => {
|
|
3569
3727
|
if (features.length === 0) {
|
|
3570
3728
|
const none$1 = none();
|
|
@@ -3580,11 +3738,7 @@ const getFeaturesVirtualDom = (features, selectedFeature, state) => {
|
|
|
3580
3738
|
type: VirtualDomElements.Div,
|
|
3581
3739
|
className: Features$1,
|
|
3582
3740
|
childCount: 3
|
|
3583
|
-
}, ...getFeatureListVirtualDom(features),
|
|
3584
|
-
type: VirtualDomElements.Div,
|
|
3585
|
-
className: mergeClassNames(Sash, SashVertical),
|
|
3586
|
-
childCount: 0
|
|
3587
|
-
}, ...featureVirtualDom];
|
|
3741
|
+
}, ...getFeatureListVirtualDom(features), sash, ...featureVirtualDom];
|
|
3588
3742
|
};
|
|
3589
3743
|
|
|
3590
3744
|
const getExtensionDetailContentVirtualDom = (sanitizedReadmeHtml, selectedTab, width, scrollToTopButtonEnabled, categories, resources, breakpoint, changelogDom, state) => {
|
|
@@ -3838,7 +3992,7 @@ const render2 = (uid, diffResult) => {
|
|
|
3838
3992
|
oldState,
|
|
3839
3993
|
newState
|
|
3840
3994
|
} = get(uid);
|
|
3841
|
-
set
|
|
3995
|
+
set(uid, newState, newState);
|
|
3842
3996
|
const commands = applyRender(oldState, newState, diffResult);
|
|
3843
3997
|
return commands;
|
|
3844
3998
|
};
|
|
@@ -3927,6 +4081,7 @@ const commandMap = {
|
|
|
3927
4081
|
'ExtensionDetail.handleClickSettings': wrapCommand(handleClickSettings),
|
|
3928
4082
|
'ExtensionDetail.handleClickSize': wrapCommand(handleClickSize),
|
|
3929
4083
|
'ExtensionDetail.handleClickUninstall': wrapCommand(handleClickUninstall),
|
|
4084
|
+
'ExtensionDetail.handleExtensionsStatusUpdate': wrapCommand(handleExtensionsStatusUpdate),
|
|
3930
4085
|
'ExtensionDetail.handleFeaturesClick': wrapCommand(handleClickFeatures),
|
|
3931
4086
|
'ExtensionDetail.handleIconError': wrapCommand(handleIconError),
|
|
3932
4087
|
'ExtensionDetail.handleImageContextMenu': wrapCommand(handleImageContextMenu),
|
|
@@ -3934,16 +4089,15 @@ const commandMap = {
|
|
|
3934
4089
|
'ExtensionDetail.handleTabsClick': wrapCommand(handleTabsClick),
|
|
3935
4090
|
'ExtensionDetail.handleWheel': wrapCommand(handleScroll),
|
|
3936
4091
|
// deprecated
|
|
4092
|
+
'ExtensionDetail.initialize': initialize,
|
|
3937
4093
|
'ExtensionDetail.loadContent2': wrapCommand(loadContent2),
|
|
3938
4094
|
'ExtensionDetail.openImageInNewTab': wrapCommand(openImageInNewTab),
|
|
3939
4095
|
'ExtensionDetail.render2': render2,
|
|
3940
4096
|
'ExtensionDetail.renderEventListeners': renderEventListeners,
|
|
3941
4097
|
'ExtensionDetail.resize': wrapCommand(resize),
|
|
3942
|
-
// @ts-ignore
|
|
3943
4098
|
'ExtensionDetail.saveState': wrapGetter(saveState),
|
|
3944
4099
|
'ExtensionDetail.selectTab': wrapCommand(selectTab),
|
|
3945
|
-
'ExtensionDetail.terminate': terminate
|
|
3946
|
-
'ExtensionDetail.initialize': initialize
|
|
4100
|
+
'ExtensionDetail.terminate': terminate
|
|
3947
4101
|
};
|
|
3948
4102
|
|
|
3949
4103
|
const listen = async () => {
|
|
@@ -3951,7 +4105,7 @@ const listen = async () => {
|
|
|
3951
4105
|
const rpc = await WebWorkerRpcClient.create({
|
|
3952
4106
|
commandMap: commandMap
|
|
3953
4107
|
});
|
|
3954
|
-
set$
|
|
4108
|
+
set$2(rpc);
|
|
3955
4109
|
};
|
|
3956
4110
|
|
|
3957
4111
|
const main = async () => {
|