@opensumi/ide-core-browser 2.16.7-next-1649326301.0 → 2.16.7

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.
Files changed (141) hide show
  1. package/lib/application/application.service.d.ts +4 -4
  2. package/lib/application/application.service.d.ts.map +1 -1
  3. package/lib/application/application.service.js.map +1 -1
  4. package/lib/authentication/authentication.service.d.ts +0 -2
  5. package/lib/authentication/authentication.service.d.ts.map +1 -1
  6. package/lib/authentication/authentication.service.js +2 -23
  7. package/lib/authentication/authentication.service.js.map +1 -1
  8. package/lib/common/common.command.d.ts +2 -4
  9. package/lib/common/common.command.d.ts.map +1 -1
  10. package/lib/common/common.command.js +17 -23
  11. package/lib/common/common.command.js.map +1 -1
  12. package/lib/common/common.contribution.d.ts.map +1 -1
  13. package/lib/common/common.contribution.js +0 -17
  14. package/lib/common/common.contribution.js.map +1 -1
  15. package/lib/components/actions/index.d.ts.map +1 -1
  16. package/lib/components/actions/index.js +4 -5
  17. package/lib/components/actions/index.js.map +1 -1
  18. package/lib/components/actions/styles.module.less +1 -1
  19. package/lib/components/index.d.ts +0 -1
  20. package/lib/components/index.d.ts.map +1 -1
  21. package/lib/components/index.js +0 -1
  22. package/lib/components/index.js.map +1 -1
  23. package/lib/core-preferences.d.ts.map +1 -1
  24. package/lib/core-preferences.js +3 -14
  25. package/lib/core-preferences.js.map +1 -1
  26. package/lib/dom/index.js +4 -4
  27. package/lib/dom/index.js.map +1 -1
  28. package/lib/encoding-registry.d.ts.map +1 -1
  29. package/lib/encoding-registry.js +4 -4
  30. package/lib/encoding-registry.js.map +1 -1
  31. package/lib/hash-calculate/hash-calculate.contribution.d.ts +1 -1
  32. package/lib/hash-calculate/hash-calculate.contribution.d.ts.map +1 -1
  33. package/lib/hash-calculate/hash-calculate.contribution.js +1 -1
  34. package/lib/hash-calculate/hash-calculate.contribution.js.map +1 -1
  35. package/lib/keyboard/keys.js +2 -2
  36. package/lib/keyboard/keys.js.map +1 -1
  37. package/lib/layout/layout-state.js +2 -2
  38. package/lib/layout/layout-state.js.map +1 -1
  39. package/lib/markdown/index.d.ts.map +1 -1
  40. package/lib/markdown/index.js +9 -8
  41. package/lib/markdown/index.js.map +1 -1
  42. package/lib/menu/next/ctxmenu-service.d.ts +2 -1
  43. package/lib/menu/next/ctxmenu-service.d.ts.map +1 -1
  44. package/lib/menu/next/ctxmenu-service.js +6 -5
  45. package/lib/menu/next/ctxmenu-service.js.map +1 -1
  46. package/lib/menu/next/menu.interface.d.ts +3 -1
  47. package/lib/menu/next/menu.interface.d.ts.map +1 -1
  48. package/lib/menu/next/menu.interface.js +1 -1
  49. package/lib/menu/next/menu.interface.js.map +1 -1
  50. package/lib/menu/next/menubar-service.d.ts +2 -1
  51. package/lib/menu/next/menubar-service.d.ts.map +1 -1
  52. package/lib/menu/next/menubar-service.js +9 -8
  53. package/lib/menu/next/menubar-service.js.map +1 -1
  54. package/lib/menu/next/renderer/ctxmenu/browser.js +2 -2
  55. package/lib/menu/next/renderer/ctxmenu/browser.js.map +1 -1
  56. package/lib/menu/next/renderer/ctxmenu/electron.d.ts +1 -2
  57. package/lib/menu/next/renderer/ctxmenu/electron.d.ts.map +1 -1
  58. package/lib/menu/next/renderer/ctxmenu/electron.js +6 -6
  59. package/lib/menu/next/renderer/ctxmenu/electron.js.map +1 -1
  60. package/lib/menu/next/toolbar-action.service.d.ts +1 -1
  61. package/lib/menu/next/toolbar-action.service.d.ts.map +1 -1
  62. package/lib/menu/next/toolbar-action.service.js +3 -3
  63. package/lib/menu/next/toolbar-action.service.js.map +1 -1
  64. package/lib/monaco/index.d.ts +21 -12
  65. package/lib/monaco/index.d.ts.map +1 -1
  66. package/lib/monaco/index.js.map +1 -1
  67. package/lib/preferences/index.d.ts +0 -1
  68. package/lib/preferences/index.d.ts.map +1 -1
  69. package/lib/preferences/index.js +0 -1
  70. package/lib/preferences/index.js.map +1 -1
  71. package/lib/preferences/preference-provider.d.ts +7 -3
  72. package/lib/preferences/preference-provider.d.ts.map +1 -1
  73. package/lib/preferences/preference-provider.js +5 -6
  74. package/lib/preferences/preference-provider.js.map +1 -1
  75. package/lib/preferences/preference-proxy.d.ts +1 -1
  76. package/lib/preferences/preference-proxy.d.ts.map +1 -1
  77. package/lib/preferences/preference-service.d.ts +68 -7
  78. package/lib/preferences/preference-service.d.ts.map +1 -1
  79. package/lib/preferences/preference-service.js +5 -5
  80. package/lib/preferences/preference-service.js.map +1 -1
  81. package/lib/preferences/settings.d.ts +1 -5
  82. package/lib/preferences/settings.d.ts.map +1 -1
  83. package/lib/progress/progress.service.d.ts.map +1 -1
  84. package/lib/progress/progress.service.js +8 -9
  85. package/lib/progress/progress.service.js.map +1 -1
  86. package/lib/quick-open/recent-files.d.ts +1 -1
  87. package/lib/quick-open/recent-files.d.ts.map +1 -1
  88. package/lib/quick-open/recent-files.js +2 -2
  89. package/lib/quick-open/recent-files.js.map +1 -1
  90. package/lib/react-providers/config-provider.d.ts +3 -3
  91. package/lib/react-providers/config-provider.d.ts.map +1 -1
  92. package/lib/services/label-service.d.ts.map +1 -1
  93. package/lib/services/label-service.js +1 -2
  94. package/lib/services/label-service.js.map +1 -1
  95. package/lib/services/status-bar-service.d.ts +1 -2
  96. package/lib/services/status-bar-service.d.ts.map +1 -1
  97. package/lib/services/status-bar-service.js.map +1 -1
  98. package/lib/style/icon/icon.d.ts +2 -2
  99. package/lib/style/icon/icon.d.ts.map +1 -1
  100. package/lib/style/icon/icon.js +3 -3
  101. package/lib/style/icon/icon.js.map +1 -1
  102. package/lib/style/icon/ide-iconfont.d.ts +1 -1
  103. package/lib/style/icon/ide-iconfont.js +1 -1
  104. package/lib/style/monaco-override.less +0 -1
  105. package/lib/style/override.less +1 -1
  106. package/lib/toolbar/toolbar.d.ts.map +1 -1
  107. package/lib/toolbar/toolbar.js +2 -2
  108. package/lib/toolbar/toolbar.js.map +1 -1
  109. package/lib/toolbar/toolbar.popover.registry.d.ts +1 -1
  110. package/lib/toolbar/toolbar.popover.registry.d.ts.map +1 -1
  111. package/lib/toolbar/toolbar.popover.registry.js +2 -1
  112. package/lib/toolbar/toolbar.popover.registry.js.map +1 -1
  113. package/lib/toolbar/toolbar.registry.d.ts +5 -3
  114. package/lib/toolbar/toolbar.registry.d.ts.map +1 -1
  115. package/lib/toolbar/toolbar.registry.js +5 -0
  116. package/lib/toolbar/toolbar.registry.js.map +1 -1
  117. package/lib/utils/index.d.ts +0 -1
  118. package/lib/utils/index.d.ts.map +1 -1
  119. package/lib/utils/index.js +0 -1
  120. package/lib/utils/index.js.map +1 -1
  121. package/lib/utils/react-hooks.d.ts.map +1 -1
  122. package/lib/utils/react-hooks.js +4 -5
  123. package/lib/utils/react-hooks.js.map +1 -1
  124. package/lib/window/window.service.d.ts +1 -0
  125. package/lib/window/window.service.d.ts.map +1 -1
  126. package/lib/window/window.service.js +5 -2
  127. package/lib/window/window.service.js.map +1 -1
  128. package/package.json +8 -7
  129. package/lib/components/scroll/index.d.ts +0 -68
  130. package/lib/components/scroll/index.d.ts.map +0 -1
  131. package/lib/components/scroll/index.js +0 -279
  132. package/lib/components/scroll/index.js.map +0 -1
  133. package/lib/components/scroll/scroll.module.less +0 -108
  134. package/lib/preferences/types.d.ts +0 -72
  135. package/lib/preferences/types.d.ts.map +0 -1
  136. package/lib/preferences/types.js +0 -6
  137. package/lib/preferences/types.js.map +0 -1
  138. package/lib/utils/json.d.ts +0 -76
  139. package/lib/utils/json.d.ts.map +0 -1
  140. package/lib/utils/json.js +0 -188
  141. package/lib/utils/json.js.map +0 -1
package/lib/utils/json.js DELETED
@@ -1,188 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.stripTrailingComma = exports.parseWithComments = exports.JSONUtils = void 0;
4
- const tslib_1 = require("tslib");
5
- const strip_json_comments_1 = tslib_1.__importDefault(require("strip-json-comments"));
6
- /**
7
- * JSON 工具方法空间
8
- */
9
- var JSONUtils;
10
- (function (JSONUtils) {
11
- /**
12
- * 冻结的空JSON Object
13
- */
14
- JSONUtils.emptyObject = Object.freeze({});
15
- /**
16
- * 冻结的空JSON Array
17
- */
18
- JSONUtils.emptyArray = Object.freeze([]);
19
- /**
20
- * 判断JSON是否为普通类型值,如JSONPrimitive
21
- * @param value
22
- */
23
- function isPrimitive(value) {
24
- return value === null || typeof value === 'boolean' || typeof value === 'number' || typeof value === 'string';
25
- }
26
- JSONUtils.isPrimitive = isPrimitive;
27
- function isArray(value) {
28
- return Array.isArray(value);
29
- }
30
- JSONUtils.isArray = isArray;
31
- function isObject(value) {
32
- return !isPrimitive(value) && !isArray(value);
33
- }
34
- JSONUtils.isObject = isObject;
35
- /**
36
- * 判断两个值是否深层相等
37
- * @param first
38
- * @param second
39
- */
40
- function deepEqual(first, second) {
41
- if (first === second) {
42
- return true;
43
- }
44
- if (isPrimitive(first) || isPrimitive(second)) {
45
- return false;
46
- }
47
- const a1 = isArray(first);
48
- const a2 = isArray(second);
49
- if (a1 !== a2) {
50
- return false;
51
- }
52
- if (a1 && a2) {
53
- return deepArrayEqual(first, second);
54
- }
55
- return deepObjectEqual(first, second);
56
- }
57
- JSONUtils.deepEqual = deepEqual;
58
- /**
59
- * 深拷贝JSON值
60
- * @param value
61
- */
62
- function deepCopy(value) {
63
- if (isPrimitive(value)) {
64
- return value;
65
- }
66
- if (isArray(value)) {
67
- return deepArrayCopy(value);
68
- }
69
- return deepObjectCopy(value);
70
- }
71
- JSONUtils.deepCopy = deepCopy;
72
- /**
73
- * 对比两个数组类型的JSON是否深匹配
74
- */
75
- function deepArrayEqual(first, second) {
76
- if (first === second) {
77
- return true;
78
- }
79
- if (first.length !== second.length) {
80
- return false;
81
- }
82
- // Compare the values for equality.
83
- for (let i = 0, n = first.length; i < n; ++i) {
84
- if (!deepEqual(first[i], second[i])) {
85
- return false;
86
- }
87
- }
88
- // At this point, the arrays are equal.
89
- return true;
90
- }
91
- /**
92
- * 对比两个对象类型的JSON是否深匹配
93
- */
94
- function deepObjectEqual(first, second) {
95
- if (first === second) {
96
- return true;
97
- }
98
- for (const key in first) {
99
- if (!(key in second)) {
100
- return false;
101
- }
102
- }
103
- // Check for the second object's keys in the first object.
104
- for (const key in second) {
105
- if (!(key in first)) {
106
- return false;
107
- }
108
- }
109
- // Compare the values for equality.
110
- for (const key in first) {
111
- if (!deepEqual(first[key], second[key])) {
112
- return false;
113
- }
114
- }
115
- // At this point, the objects are equal.
116
- return true;
117
- }
118
- /**
119
- * 深拷贝Array类型的值
120
- */
121
- function deepArrayCopy(value) {
122
- const result = new Array(value.length);
123
- for (let i = 0, n = value.length; i < n; ++i) {
124
- result[i] = deepCopy(value[i]);
125
- }
126
- return result;
127
- }
128
- /**
129
- * 深拷贝Object类型的值
130
- */
131
- function deepObjectCopy(value) {
132
- const result = {};
133
- // eslint-disable-next-line guard-for-in
134
- for (const key in value) {
135
- result[key] = deepCopy(value[key]);
136
- }
137
- return result;
138
- }
139
- })(JSONUtils = exports.JSONUtils || (exports.JSONUtils = {}));
140
- function parseWithComments(content) {
141
- content = stripTrailingComma((0, strip_json_comments_1.default)(content));
142
- const res = JSON.parse(content);
143
- return res;
144
- }
145
- exports.parseWithComments = parseWithComments;
146
- function stripTrailingComma(content) {
147
- const subStrs = [];
148
- let lastIndex = 0;
149
- let inString = false;
150
- let i = 0;
151
- while (i < content.length) {
152
- if (inString) {
153
- if (content[i] === '"' && content[i - 1] !== '\\') {
154
- inString = false;
155
- }
156
- }
157
- else {
158
- if (content[i] === ',') {
159
- // 跳过空白
160
- const candidate = i;
161
- while (content[i + 1] && isWhiteSpace(content[i + 1])) {
162
- i++;
163
- }
164
- if (content[i + 1] === ']' || content[i + 1] === '}') {
165
- subStrs.push(content.substring(lastIndex, candidate));
166
- lastIndex = candidate + 1;
167
- }
168
- }
169
- else if (content[i] === '"') {
170
- // 肯定是开始字符串
171
- inString = true;
172
- }
173
- }
174
- i++;
175
- }
176
- if (lastIndex > 0) {
177
- subStrs.push(content.substr(lastIndex));
178
- return subStrs.join('');
179
- }
180
- else {
181
- return content;
182
- }
183
- }
184
- exports.stripTrailingComma = stripTrailingComma;
185
- function isWhiteSpace(char) {
186
- return char === ' ' || char === '\t' || char === '\n' || char === '\r';
187
- }
188
- //# sourceMappingURL=json.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/utils/json.ts"],"names":[],"mappings":"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"}