c3a3cac5af0d0eef0f00331d803d0a37b003e9ac1a9bdef731711c79d7d1e595fc0829d97192e07bddd850471e95743993d6435f72fb0a09a82c5189e80e30 1.2 KB

123456789101112131415161718192021222324252627282930
  1. /*---------------------------------------------------------------------------------------------
  2. * Copyright (c) Microsoft Corporation. All rights reserved.
  3. * Licensed under the MIT License. See License.txt in the project root for license information.
  4. *--------------------------------------------------------------------------------------------*/
  5. export var TreeMouseEventTarget;
  6. (function (TreeMouseEventTarget) {
  7. TreeMouseEventTarget[TreeMouseEventTarget["Unknown"] = 0] = "Unknown";
  8. TreeMouseEventTarget[TreeMouseEventTarget["Twistie"] = 1] = "Twistie";
  9. TreeMouseEventTarget[TreeMouseEventTarget["Element"] = 2] = "Element";
  10. TreeMouseEventTarget[TreeMouseEventTarget["Filter"] = 3] = "Filter";
  11. })(TreeMouseEventTarget || (TreeMouseEventTarget = {}));
  12. export class TreeError extends Error {
  13. constructor(user, message) {
  14. super(`TreeError [${user}] ${message}`);
  15. }
  16. }
  17. export class WeakMapper {
  18. constructor(fn) {
  19. this.fn = fn;
  20. this._map = new WeakMap();
  21. }
  22. map(key) {
  23. let result = this._map.get(key);
  24. if (!result) {
  25. result = this.fn(key);
  26. this._map.set(key, result);
  27. }
  28. return result;
  29. }
  30. }