custom-electron-titlebar 3.2.6 → 3.2.10

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 (239) hide show
  1. package/.github/FUNDING.yml +1 -0
  2. package/README.md +15 -24
  3. package/_config.yml +1 -0
  4. package/{lib → build}/browser/browser.d.ts +0 -0
  5. package/{lib → build}/browser/browser.js +0 -0
  6. package/{lib → build}/browser/browser.js.map +0 -0
  7. package/{lib → build}/browser/event.d.ts +0 -0
  8. package/{lib → build}/browser/event.js +2 -1
  9. package/{lib → build}/browser/event.js.map +1 -1
  10. package/{lib → build}/browser/iframe.d.ts +0 -0
  11. package/{lib → build}/browser/iframe.js +0 -0
  12. package/{lib → build}/browser/iframe.js.map +0 -0
  13. package/{lib → build}/browser/keyboardEvent.d.ts +0 -0
  14. package/{lib → build}/browser/keyboardEvent.js +0 -0
  15. package/{lib → build}/browser/keyboardEvent.js.map +0 -0
  16. package/{lib → build}/browser/mouseEvent.d.ts +0 -0
  17. package/{lib → build}/browser/mouseEvent.js +0 -0
  18. package/{lib → build}/browser/mouseEvent.js.map +0 -0
  19. package/{lib → build}/common/arrays.d.ts +0 -0
  20. package/{lib → build}/common/arrays.js +0 -0
  21. package/{lib → build}/common/arrays.js.map +0 -0
  22. package/{lib → build}/common/async.d.ts +0 -0
  23. package/{lib → build}/common/async.js +0 -0
  24. package/{lib → build}/common/async.js.map +0 -0
  25. package/{lib → build}/common/charCode.d.ts +0 -0
  26. package/{lib → build}/common/charCode.js +0 -0
  27. package/{lib → build}/common/charCode.js.map +0 -0
  28. package/{lib → build}/common/color.d.ts +0 -0
  29. package/{lib → build}/common/color.js +0 -0
  30. package/{lib → build}/common/color.js.map +0 -0
  31. package/{lib → build}/common/dom.d.ts +0 -0
  32. package/{lib → build}/common/dom.js +16 -14
  33. package/build/common/dom.js.map +1 -0
  34. package/{lib → build}/common/event.d.ts +0 -0
  35. package/{lib → build}/common/event.js +1 -1
  36. package/build/common/event.js.map +1 -0
  37. package/{lib → build}/common/iterator.d.ts +0 -0
  38. package/{lib → build}/common/iterator.js +0 -0
  39. package/{lib → build}/common/iterator.js.map +0 -0
  40. package/{lib → build}/common/keyCodes.d.ts +0 -0
  41. package/{lib → build}/common/keyCodes.js +0 -0
  42. package/{lib → build}/common/keyCodes.js.map +0 -0
  43. package/{lib → build}/common/lifecycle.d.ts +0 -0
  44. package/{lib → build}/common/lifecycle.js +0 -0
  45. package/{lib → build}/common/lifecycle.js.map +0 -0
  46. package/{lib → build}/common/linkedList.d.ts +0 -0
  47. package/{lib → build}/common/linkedList.js +0 -0
  48. package/{lib → build}/common/linkedList.js.map +0 -0
  49. package/{lib → build}/common/platform.d.ts +0 -0
  50. package/{lib → build}/common/platform.js +0 -0
  51. package/{lib → build}/common/platform.js.map +0 -0
  52. package/{lib → build}/index.d.ts +0 -0
  53. package/{lib → build}/index.js +0 -0
  54. package/{lib → build}/index.js.map +0 -0
  55. package/{lib → build}/menu/menu.d.ts +0 -0
  56. package/{lib → build}/menu/menu.js +38 -38
  57. package/build/menu/menu.js.map +1 -0
  58. package/{lib → build}/menu/menuitem.d.ts +10 -2
  59. package/{lib → build}/menu/menuitem.js +70 -34
  60. package/build/menu/menuitem.js.map +1 -0
  61. package/{lib → build}/menubar.d.ts +0 -0
  62. package/{lib → build}/menubar.js +29 -30
  63. package/build/menubar.js.map +1 -0
  64. package/{lib → build}/themebar.d.ts +0 -0
  65. package/{lib → build}/themebar.js +2 -2
  66. package/build/themebar.js.map +1 -0
  67. package/{lib → build}/titlebar.d.ts +0 -0
  68. package/{lib → build}/titlebar.js +61 -58
  69. package/build/titlebar.js.map +1 -0
  70. package/package.json +13 -7
  71. package/lib/common/dom.js.map +0 -1
  72. package/lib/common/enableNativeMenuCommands.d.ts +0 -1
  73. package/lib/common/enableNativeMenuCommands.js +0 -32
  74. package/lib/common/enableNativeMenuCommands.js.map +0 -1
  75. package/lib/common/event.js.map +0 -1
  76. package/lib/main.d.ts +0 -1
  77. package/lib/main.js +0 -14
  78. package/lib/main.js.map +0 -1
  79. package/lib/menu/menu.js.map +0 -1
  80. package/lib/menu/menuitem.js.map +0 -1
  81. package/lib/menubar.js.map +0 -1
  82. package/lib/themebar.js.map +0 -1
  83. package/lib/titlebar.js.map +0 -1
  84. package/lib/vs/base/browser/browser.js +0 -150
  85. package/lib/vs/base/browser/canIUse.js +0 -58
  86. package/lib/vs/base/browser/codicons.js +0 -37
  87. package/lib/vs/base/browser/contextmenu.js +0 -9
  88. package/lib/vs/base/browser/dnd.js +0 -113
  89. package/lib/vs/base/browser/dom.js +0 -1417
  90. package/lib/vs/base/browser/event.js +0 -36
  91. package/lib/vs/base/browser/fastDomNode.js +0 -265
  92. package/lib/vs/base/browser/formattedTextRenderer.js +0 -248
  93. package/lib/vs/base/browser/globalMouseMoveMonitor.js +0 -137
  94. package/lib/vs/base/browser/history.js +0 -9
  95. package/lib/vs/base/browser/iframe.js +0 -126
  96. package/lib/vs/base/browser/keyboardEvent.js +0 -599
  97. package/lib/vs/base/browser/mouseEvent.js +0 -155
  98. package/lib/vs/base/browser/touch.js +0 -315
  99. package/lib/vs/base/browser/ui/actionbar/actionViewItems.js +0 -397
  100. package/lib/vs/base/browser/ui/actionbar/actionbar.js +0 -583
  101. package/lib/vs/base/browser/ui/checkbox/checkbox.js +0 -251
  102. package/lib/vs/base/browser/ui/codicons/codiconLabel.js +0 -31
  103. package/lib/vs/base/browser/ui/codicons/codiconStyles.js +0 -47
  104. package/lib/vs/base/browser/ui/contextview/contextview.js +0 -367
  105. package/lib/vs/base/browser/ui/dropdown/dropdown.js +0 -256
  106. package/lib/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +0 -120
  107. package/lib/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +0 -118
  108. package/lib/vs/base/browser/ui/list/list.js +0 -54
  109. package/lib/vs/base/browser/ui/list/listPaging.js +0 -322
  110. package/lib/vs/base/browser/ui/list/listView.js +0 -1388
  111. package/lib/vs/base/browser/ui/list/listWidget.js +0 -1709
  112. package/lib/vs/base/browser/ui/list/rangeMap.js +0 -223
  113. package/lib/vs/base/browser/ui/list/rowCache.js +0 -113
  114. package/lib/vs/base/browser/ui/list/splice.js +0 -23
  115. package/lib/vs/base/browser/ui/menu/menu.js +0 -1371
  116. package/lib/vs/base/browser/ui/menu/menubar.js +0 -1139
  117. package/lib/vs/base/browser/ui/scrollbar/abstractScrollbar.js +0 -278
  118. package/lib/vs/base/browser/ui/scrollbar/horizontalScrollbar.js +0 -115
  119. package/lib/vs/base/browser/ui/scrollbar/scrollableElement.js +0 -646
  120. package/lib/vs/base/browser/ui/scrollbar/scrollableElementOptions.js +0 -9
  121. package/lib/vs/base/browser/ui/scrollbar/scrollbarArrow.js +0 -106
  122. package/lib/vs/base/browser/ui/scrollbar/scrollbarState.js +0 -184
  123. package/lib/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.js +0 -116
  124. package/lib/vs/base/browser/ui/scrollbar/verticalScrollbar.js +0 -114
  125. package/lib/vs/base/browser/ui/selectBox/selectBox.js +0 -85
  126. package/lib/vs/base/browser/ui/selectBox/selectBoxCustom.js +0 -985
  127. package/lib/vs/base/browser/ui/selectBox/selectBoxNative.js +0 -188
  128. package/lib/vs/base/browser/ui/toolbar/toolbar.js +0 -206
  129. package/lib/vs/base/browser/ui/widget.js +0 -69
  130. package/lib/vs/base/common/actions.js +0 -224
  131. package/lib/vs/base/common/amd.js +0 -31
  132. package/lib/vs/base/common/arrays.js +0 -641
  133. package/lib/vs/base/common/assert.js +0 -21
  134. package/lib/vs/base/common/async.js +0 -966
  135. package/lib/vs/base/common/buffer.js +0 -250
  136. package/lib/vs/base/common/cache.js +0 -40
  137. package/lib/vs/base/common/cancellation.js +0 -146
  138. package/lib/vs/base/common/charCode.js +0 -9
  139. package/lib/vs/base/common/codicon.js +0 -136
  140. package/lib/vs/base/common/codicons.js +0 -1378
  141. package/lib/vs/base/common/collections.js +0 -133
  142. package/lib/vs/base/common/color.js +0 -716
  143. package/lib/vs/base/common/comparers.js +0 -280
  144. package/lib/vs/base/common/console.js +0 -142
  145. package/lib/vs/base/common/date.js +0 -113
  146. package/lib/vs/base/common/decorators.js +0 -169
  147. package/lib/vs/base/common/errorMessage.js +0 -93
  148. package/lib/vs/base/common/errors.js +0 -213
  149. package/lib/vs/base/common/errorsWithActions.js +0 -28
  150. package/lib/vs/base/common/event.js +0 -873
  151. package/lib/vs/base/common/extpath.js +0 -401
  152. package/lib/vs/base/common/filters.js +0 -948
  153. package/lib/vs/base/common/functional.js +0 -28
  154. package/lib/vs/base/common/fuzzyScorer.js +0 -811
  155. package/lib/vs/base/common/glob.js +0 -696
  156. package/lib/vs/base/common/hash.js +0 -359
  157. package/lib/vs/base/common/history.js +0 -116
  158. package/lib/vs/base/common/htmlContent.js +0 -162
  159. package/lib/vs/base/common/idGenerator.js +0 -25
  160. package/lib/vs/base/common/iterator.js +0 -118
  161. package/lib/vs/base/common/json.js +0 -1624
  162. package/lib/vs/base/common/jsonEdit.js +0 -272
  163. package/lib/vs/base/common/jsonErrorMessages.js +0 -69
  164. package/lib/vs/base/common/jsonFormatter.js +0 -316
  165. package/lib/vs/base/common/jsonSchema.js +0 -9
  166. package/lib/vs/base/common/keyCodes.js +0 -591
  167. package/lib/vs/base/common/keybindingLabels.js +0 -231
  168. package/lib/vs/base/common/keybindingParser.js +0 -142
  169. package/lib/vs/base/common/labels.js +0 -430
  170. package/lib/vs/base/common/lazy.js +0 -71
  171. package/lib/vs/base/common/lifecycle.js +0 -308
  172. package/lib/vs/base/common/linkedList.js +0 -152
  173. package/lib/vs/base/common/linkedText.js +0 -73
  174. package/lib/vs/base/common/map.js +0 -1108
  175. package/lib/vs/base/common/marshalling.js +0 -80
  176. package/lib/vs/base/common/mime.js +0 -321
  177. package/lib/vs/base/common/navigator.js +0 -50
  178. package/lib/vs/base/common/network.js +0 -160
  179. package/lib/vs/base/common/normalization.js +0 -78
  180. package/lib/vs/base/common/numbers.js +0 -55
  181. package/lib/vs/base/common/objects.js +0 -268
  182. package/lib/vs/base/common/paging.js +0 -190
  183. package/lib/vs/base/common/parsers.js +0 -78
  184. package/lib/vs/base/common/path.js +0 -1550
  185. package/lib/vs/base/common/platform.js +0 -245
  186. package/lib/vs/base/common/process.js +0 -52
  187. package/lib/vs/base/common/processes.js +0 -32
  188. package/lib/vs/base/common/range.js +0 -79
  189. package/lib/vs/base/common/resourceTree.js +0 -185
  190. package/lib/vs/base/common/resources.js +0 -421
  191. package/lib/vs/base/common/scanCode.js +0 -1472
  192. package/lib/vs/base/common/scrollable.js +0 -397
  193. package/lib/vs/base/common/search.js +0 -55
  194. package/lib/vs/base/common/sequence.js +0 -64
  195. package/lib/vs/base/common/severity.js +0 -55
  196. package/lib/vs/base/common/skipList.js +0 -234
  197. package/lib/vs/base/common/stopwatch.js +0 -45
  198. package/lib/vs/base/common/stream.js +0 -418
  199. package/lib/vs/base/common/strings.js +0 -1283
  200. package/lib/vs/base/common/styler.js +0 -9
  201. package/lib/vs/base/common/types.js +0 -296
  202. package/lib/vs/base/common/uint.js +0 -46
  203. package/lib/vs/base/common/uri.js +0 -756
  204. package/lib/vs/base/common/uriIpc.js +0 -154
  205. package/lib/vs/base/common/uuid.js +0 -70
  206. package/lib/vs/nls.mock.js +0 -31
  207. package/lib/vs/platform/actions/browser/menuEntryActionViewItem.js +0 -342
  208. package/lib/vs/platform/actions/common/actions.js +0 -456
  209. package/lib/vs/platform/actions/common/menuService.js +0 -194
  210. package/lib/vs/platform/clipboard/browser/clipboardService.js +0 -99
  211. package/lib/vs/platform/clipboard/common/clipboardService.js +0 -14
  212. package/lib/vs/platform/contextkey/common/contextkey.js +0 -1210
  213. package/lib/vs/platform/contextkey/common/contextkeys.js +0 -23
  214. package/lib/vs/platform/contextview/browser/contextView.js +0 -15
  215. package/lib/vs/platform/contextview/browser/contextViewService.js +0 -96
  216. package/lib/vs/platform/environment/common/argv.js +0 -9
  217. package/lib/vs/platform/environment/common/environment.js +0 -15
  218. package/lib/vs/platform/instantiation/common/descriptors.js +0 -25
  219. package/lib/vs/platform/instantiation/common/extensions.js +0 -26
  220. package/lib/vs/platform/instantiation/common/graph.js +0 -93
  221. package/lib/vs/platform/instantiation/common/instantiation.js +0 -84
  222. package/lib/vs/platform/instantiation/common/instantiationService.js +0 -361
  223. package/lib/vs/platform/instantiation/common/serviceCollection.js +0 -39
  224. package/lib/vs/platform/keybinding/common/baseResolvedKeybinding.js +0 -73
  225. package/lib/vs/platform/keybinding/common/keybinding.js +0 -14
  226. package/lib/vs/platform/keybinding/common/keybindingResolver.js +0 -391
  227. package/lib/vs/platform/keybinding/common/keybindingsRegistry.js +0 -229
  228. package/lib/vs/platform/keybinding/common/resolvedKeybindingItem.js +0 -47
  229. package/lib/vs/platform/keybinding/common/usLayoutResolvedKeybinding.js +0 -160
  230. package/lib/vs/platform/layout/browser/layoutService.js +0 -14
  231. package/lib/vs/platform/menubar/common/menubar.js +0 -34
  232. package/lib/vs/platform/registry/common/platform.js +0 -38
  233. package/lib/vs/platform/theme/browser/checkbox.js +0 -32
  234. package/lib/vs/platform/theme/common/colorRegistry.js +0 -1154
  235. package/lib/vs/platform/theme/common/styler.js +0 -290
  236. package/lib/vs/platform/theme/common/theme.js +0 -21
  237. package/lib/vs/platform/theme/common/themeService.js +0 -176
  238. package/lib/vs/platform/theme/common/tokenClassificationRegistry.js +0 -540
  239. package/lib/vs/platform/theme/test/common/testThemeService.js +0 -98
@@ -1,308 +0,0 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Microsoft Corporation. All rights reserved.
4
- * Licensed under the MIT License. See License.txt in the project root for license information.
5
- *--------------------------------------------------------------------------------------------*/
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports.ImmortalReference = exports.ReferenceCollection = exports.MutableDisposable = exports.Disposable = exports.DisposableStore = exports.toDisposable = exports.combinedDisposable = exports.dispose = exports.isDisposable = exports.MultiDisposeError = void 0;
11
-
12
- const functional_1 = require("./functional");
13
-
14
- const iterator_1 = require("./iterator");
15
- /**
16
- * Enables logging of potentially leaked disposables.
17
- *
18
- * A disposable is considered leaked if it is not disposed or not registered as the child of
19
- * another disposable. This tracking is very simple an only works for classes that either
20
- * extend Disposable or use a DisposableStore. This means there are a lot of false positives.
21
- */
22
-
23
-
24
- const TRACK_DISPOSABLES = false;
25
- const __is_disposable_tracked__ = '__is_disposable_tracked__';
26
-
27
- function markTracked(x) {
28
- if (!TRACK_DISPOSABLES) {
29
- return;
30
- }
31
-
32
- if (x && x !== Disposable.None) {
33
- try {
34
- x[__is_disposable_tracked__] = true;
35
- } catch {// noop
36
- }
37
- }
38
- }
39
-
40
- function trackDisposable(x) {
41
- if (!TRACK_DISPOSABLES) {
42
- return x;
43
- }
44
-
45
- const stack = new Error('Potentially leaked disposable').stack;
46
- setTimeout(() => {
47
- if (!x[__is_disposable_tracked__]) {
48
- console.log(stack);
49
- }
50
- }, 3000);
51
- return x;
52
- }
53
-
54
- class MultiDisposeError extends Error {
55
- constructor(errors) {
56
- super(`Encounter errors while disposing of store. Errors: [${errors.join(', ')}]`);
57
- this.errors = errors;
58
- }
59
-
60
- }
61
-
62
- exports.MultiDisposeError = MultiDisposeError;
63
-
64
- function isDisposable(thing) {
65
- return typeof thing.dispose === 'function' && thing.dispose.length === 0;
66
- }
67
-
68
- exports.isDisposable = isDisposable;
69
-
70
- function dispose(arg) {
71
- if (iterator_1.Iterable.is(arg)) {
72
- let errors = [];
73
-
74
- for (const d of arg) {
75
- if (d) {
76
- markTracked(d);
77
-
78
- try {
79
- d.dispose();
80
- } catch (e) {
81
- errors.push(e);
82
- }
83
- }
84
- }
85
-
86
- if (errors.length === 1) {
87
- throw errors[0];
88
- } else if (errors.length > 1) {
89
- throw new MultiDisposeError(errors);
90
- }
91
-
92
- return Array.isArray(arg) ? [] : arg;
93
- } else if (arg) {
94
- markTracked(arg);
95
- arg.dispose();
96
- return arg;
97
- }
98
- }
99
-
100
- exports.dispose = dispose;
101
-
102
- function combinedDisposable(...disposables) {
103
- disposables.forEach(markTracked);
104
- return trackDisposable({
105
- dispose: () => dispose(disposables)
106
- });
107
- }
108
-
109
- exports.combinedDisposable = combinedDisposable;
110
-
111
- function toDisposable(fn) {
112
- const self = trackDisposable({
113
- dispose: () => {
114
- markTracked(self);
115
- fn();
116
- }
117
- });
118
- return self;
119
- }
120
-
121
- exports.toDisposable = toDisposable;
122
-
123
- class DisposableStore {
124
- constructor() {
125
- this._toDispose = new Set();
126
- this._isDisposed = false;
127
- }
128
- /**
129
- * Dispose of all registered disposables and mark this object as disposed.
130
- *
131
- * Any future disposables added to this object will be disposed of on `add`.
132
- */
133
-
134
-
135
- dispose() {
136
- if (this._isDisposed) {
137
- return;
138
- }
139
-
140
- markTracked(this);
141
- this._isDisposed = true;
142
- this.clear();
143
- }
144
- /**
145
- * Dispose of all registered disposables but do not mark this object as disposed.
146
- */
147
-
148
-
149
- clear() {
150
- try {
151
- dispose(this._toDispose.values());
152
- } finally {
153
- this._toDispose.clear();
154
- }
155
- }
156
-
157
- add(t) {
158
- if (!t) {
159
- return t;
160
- }
161
-
162
- if (t === this) {
163
- throw new Error('Cannot register a disposable on itself!');
164
- }
165
-
166
- markTracked(t);
167
-
168
- if (this._isDisposed) {
169
- if (!DisposableStore.DISABLE_DISPOSED_WARNING) {
170
- console.warn(new Error('Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!').stack);
171
- }
172
- } else {
173
- this._toDispose.add(t);
174
- }
175
-
176
- return t;
177
- }
178
-
179
- }
180
-
181
- exports.DisposableStore = DisposableStore;
182
- DisposableStore.DISABLE_DISPOSED_WARNING = false;
183
-
184
- class Disposable {
185
- constructor() {
186
- this._store = new DisposableStore();
187
- trackDisposable(this);
188
- }
189
-
190
- dispose() {
191
- markTracked(this);
192
-
193
- this._store.dispose();
194
- }
195
-
196
- _register(t) {
197
- if (t === this) {
198
- throw new Error('Cannot register a disposable on itself!');
199
- }
200
-
201
- return this._store.add(t);
202
- }
203
-
204
- }
205
-
206
- exports.Disposable = Disposable;
207
- Disposable.None = Object.freeze({
208
- dispose() {}
209
-
210
- });
211
- /**
212
- * Manages the lifecycle of a disposable value that may be changed.
213
- *
214
- * This ensures that when the disposable value is changed, the previously held disposable is disposed of. You can
215
- * also register a `MutableDisposable` on a `Disposable` to ensure it is automatically cleaned up.
216
- */
217
-
218
- class MutableDisposable {
219
- constructor() {
220
- this._isDisposed = false;
221
- trackDisposable(this);
222
- }
223
-
224
- get value() {
225
- return this._isDisposed ? undefined : this._value;
226
- }
227
-
228
- set value(value) {
229
- if (this._isDisposed || value === this._value) {
230
- return;
231
- }
232
-
233
- if (this._value) {
234
- this._value.dispose();
235
- }
236
-
237
- if (value) {
238
- markTracked(value);
239
- }
240
-
241
- this._value = value;
242
- }
243
-
244
- clear() {
245
- this.value = undefined;
246
- }
247
-
248
- dispose() {
249
- this._isDisposed = true;
250
- markTracked(this);
251
-
252
- if (this._value) {
253
- this._value.dispose();
254
- }
255
-
256
- this._value = undefined;
257
- }
258
-
259
- }
260
-
261
- exports.MutableDisposable = MutableDisposable;
262
-
263
- class ReferenceCollection {
264
- constructor() {
265
- this.references = new Map();
266
- }
267
-
268
- acquire(key, ...args) {
269
- let reference = this.references.get(key);
270
-
271
- if (!reference) {
272
- reference = {
273
- counter: 0,
274
- object: this.createReferencedObject(key, ...args)
275
- };
276
- this.references.set(key, reference);
277
- }
278
-
279
- const {
280
- object
281
- } = reference;
282
- const dispose = functional_1.once(() => {
283
- if (--reference.counter === 0) {
284
- this.destroyReferencedObject(key, reference.object);
285
- this.references.delete(key);
286
- }
287
- });
288
- reference.counter++;
289
- return {
290
- object,
291
- dispose
292
- };
293
- }
294
-
295
- }
296
-
297
- exports.ReferenceCollection = ReferenceCollection;
298
-
299
- class ImmortalReference {
300
- constructor(object) {
301
- this.object = object;
302
- }
303
-
304
- dispose() {}
305
-
306
- }
307
-
308
- exports.ImmortalReference = ImmortalReference;
@@ -1,152 +0,0 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Microsoft Corporation. All rights reserved.
4
- * Licensed under the MIT License. See License.txt in the project root for license information.
5
- *--------------------------------------------------------------------------------------------*/
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports.LinkedList = void 0;
11
-
12
- class Node {
13
- constructor(element) {
14
- this.element = element;
15
- this.next = Node.Undefined;
16
- this.prev = Node.Undefined;
17
- }
18
-
19
- }
20
-
21
- Node.Undefined = new Node(undefined);
22
-
23
- class LinkedList {
24
- constructor() {
25
- this._first = Node.Undefined;
26
- this._last = Node.Undefined;
27
- this._size = 0;
28
- }
29
-
30
- get size() {
31
- return this._size;
32
- }
33
-
34
- isEmpty() {
35
- return this._first === Node.Undefined;
36
- }
37
-
38
- clear() {
39
- this._first = Node.Undefined;
40
- this._last = Node.Undefined;
41
- this._size = 0;
42
- }
43
-
44
- unshift(element) {
45
- return this._insert(element, false);
46
- }
47
-
48
- push(element) {
49
- return this._insert(element, true);
50
- }
51
-
52
- _insert(element, atTheEnd) {
53
- const newNode = new Node(element);
54
-
55
- if (this._first === Node.Undefined) {
56
- this._first = newNode;
57
- this._last = newNode;
58
- } else if (atTheEnd) {
59
- // push
60
- const oldLast = this._last;
61
- this._last = newNode;
62
- newNode.prev = oldLast;
63
- oldLast.next = newNode;
64
- } else {
65
- // unshift
66
- const oldFirst = this._first;
67
- this._first = newNode;
68
- newNode.next = oldFirst;
69
- oldFirst.prev = newNode;
70
- }
71
-
72
- this._size += 1;
73
- let didRemove = false;
74
- return () => {
75
- if (!didRemove) {
76
- didRemove = true;
77
-
78
- this._remove(newNode);
79
- }
80
- };
81
- }
82
-
83
- shift() {
84
- if (this._first === Node.Undefined) {
85
- return undefined;
86
- } else {
87
- const res = this._first.element;
88
-
89
- this._remove(this._first);
90
-
91
- return res;
92
- }
93
- }
94
-
95
- pop() {
96
- if (this._last === Node.Undefined) {
97
- return undefined;
98
- } else {
99
- const res = this._last.element;
100
-
101
- this._remove(this._last);
102
-
103
- return res;
104
- }
105
- }
106
-
107
- _remove(node) {
108
- if (node.prev !== Node.Undefined && node.next !== Node.Undefined) {
109
- // middle
110
- const anchor = node.prev;
111
- anchor.next = node.next;
112
- node.next.prev = anchor;
113
- } else if (node.prev === Node.Undefined && node.next === Node.Undefined) {
114
- // only node
115
- this._first = Node.Undefined;
116
- this._last = Node.Undefined;
117
- } else if (node.next === Node.Undefined) {
118
- // last
119
- this._last = this._last.prev;
120
- this._last.next = Node.Undefined;
121
- } else if (node.prev === Node.Undefined) {
122
- // first
123
- this._first = this._first.next;
124
- this._first.prev = Node.Undefined;
125
- } // done
126
-
127
-
128
- this._size -= 1;
129
- }
130
-
131
- *[Symbol.iterator]() {
132
- let node = this._first;
133
-
134
- while (node !== Node.Undefined) {
135
- yield node.element;
136
- node = node.next;
137
- }
138
- }
139
-
140
- toArray() {
141
- const result = [];
142
-
143
- for (let node = this._first; node !== Node.Undefined; node = node.next) {
144
- result.push(node.element);
145
- }
146
-
147
- return result;
148
- }
149
-
150
- }
151
-
152
- exports.LinkedList = LinkedList;
@@ -1,73 +0,0 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Microsoft Corporation. All rights reserved.
4
- * Licensed under the MIT License. See License.txt in the project root for license information.
5
- *--------------------------------------------------------------------------------------------*/
6
-
7
- var __decorate = this && this.__decorate || function (decorators, target, key, desc) {
8
- var c = arguments.length,
9
- r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
10
- d;
11
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
- return c > 3 && r && Object.defineProperty(target, key, r), r;
13
- };
14
-
15
- Object.defineProperty(exports, "__esModule", {
16
- value: true
17
- });
18
- exports.parseLinkedText = exports.LinkedText = void 0;
19
-
20
- const decorators_1 = require("./decorators");
21
-
22
- class LinkedText {
23
- constructor(nodes) {
24
- this.nodes = nodes;
25
- }
26
-
27
- toString() {
28
- return this.nodes.map(node => typeof node === 'string' ? node : node.label).join('');
29
- }
30
-
31
- }
32
-
33
- __decorate([decorators_1.memoize], LinkedText.prototype, "toString", null);
34
-
35
- exports.LinkedText = LinkedText;
36
- const LINK_REGEX = /\[([^\]]+)\]\(((?:https?:\/\/|command:)[^\)\s]+)(?: ("|')([^\3]+)(\3))?\)/gi;
37
-
38
- function parseLinkedText(text) {
39
- const result = [];
40
- let index = 0;
41
- let match;
42
-
43
- while (match = LINK_REGEX.exec(text)) {
44
- if (match.index - index > 0) {
45
- result.push(text.substring(index, match.index));
46
- }
47
-
48
- const [, label, href,, title] = match;
49
-
50
- if (title) {
51
- result.push({
52
- label,
53
- href,
54
- title
55
- });
56
- } else {
57
- result.push({
58
- label,
59
- href
60
- });
61
- }
62
-
63
- index = match.index + match[0].length;
64
- }
65
-
66
- if (index < text.length) {
67
- result.push(text.substring(index));
68
- }
69
-
70
- return new LinkedText(result);
71
- }
72
-
73
- exports.parseLinkedText = parseLinkedText;