sussudio
Version:
An unofficial VS Code Internal API
58 lines (57 loc) • 2.5 kB
JavaScript
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
export var TreeVisibility;
(function (TreeVisibility) {
/**
* The tree node should be hidden.
*/
TreeVisibility[TreeVisibility["Hidden"] = 0] = "Hidden";
/**
* The tree node should be visible.
*/
TreeVisibility[TreeVisibility["Visible"] = 1] = "Visible";
/**
* The tree node should be visible if any of its descendants is visible.
*/
TreeVisibility[TreeVisibility["Recurse"] = 2] = "Recurse";
})(TreeVisibility || (TreeVisibility = {}));
export var TreeMouseEventTarget;
(function (TreeMouseEventTarget) {
TreeMouseEventTarget[TreeMouseEventTarget["Unknown"] = 0] = "Unknown";
TreeMouseEventTarget[TreeMouseEventTarget["Twistie"] = 1] = "Twistie";
TreeMouseEventTarget[TreeMouseEventTarget["Element"] = 2] = "Element";
TreeMouseEventTarget[TreeMouseEventTarget["Filter"] = 3] = "Filter";
})(TreeMouseEventTarget || (TreeMouseEventTarget = {}));
export var TreeDragOverBubble;
(function (TreeDragOverBubble) {
TreeDragOverBubble[TreeDragOverBubble["Down"] = 0] = "Down";
TreeDragOverBubble[TreeDragOverBubble["Up"] = 1] = "Up";
})(TreeDragOverBubble || (TreeDragOverBubble = {}));
export const TreeDragOverReactions = {
acceptBubbleUp() { return { accept: true, bubble: 1 /* TreeDragOverBubble.Up */ }; },
acceptBubbleDown(autoExpand = false) { return { accept: true, bubble: 0 /* TreeDragOverBubble.Down */, autoExpand }; },
acceptCopyBubbleUp() { return { accept: true, bubble: 1 /* TreeDragOverBubble.Up */, effect: 0 /* ListDragOverEffect.Copy */ }; },
acceptCopyBubbleDown(autoExpand = false) { return { accept: true, bubble: 0 /* TreeDragOverBubble.Down */, effect: 0 /* ListDragOverEffect.Copy */, autoExpand }; }
};
export class TreeError extends Error {
constructor(user, message) {
super(`TreeError [${user}] ${message}`);
}
}
export class WeakMapper {
fn;
constructor(fn) {
this.fn = fn;
}
_map = new WeakMap();
map(key) {
let result = this._map.get(key);
if (!result) {
result = this.fn(key);
this._map.set(key, result);
}
return result;
}
}