@spyglassmc/core 0.1.2 → 0.2.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.
Files changed (187) hide show
  1. package/README.md +7 -0
  2. package/lib/browser.d.ts +2 -0
  3. package/lib/browser.js +2 -0
  4. package/lib/common/TwoWayMap.js +4 -10
  5. package/lib/common/externals/BrowserExternals.d.ts +3 -0
  6. package/lib/common/externals/BrowserExternals.js +191 -0
  7. package/lib/common/externals/NodeJsExternals.d.ts +3 -0
  8. package/lib/common/externals/NodeJsExternals.js +151 -0
  9. package/lib/common/externals/downloader.d.ts +31 -0
  10. package/lib/common/externals/downloader.js +32 -0
  11. package/lib/common/externals/index.d.ts +96 -0
  12. package/lib/common/externals/index.js +2 -0
  13. package/lib/common/index.d.ts +2 -1
  14. package/lib/common/index.js +2 -17
  15. package/lib/common/util.d.ts +15 -15
  16. package/lib/common/util.js +30 -77
  17. package/lib/index.d.ts +7 -7
  18. package/lib/index.js +7 -23
  19. package/lib/node/AstNode.d.ts +3 -3
  20. package/lib/node/AstNode.js +10 -16
  21. package/lib/node/BooleanNode.d.ts +2 -2
  22. package/lib/node/BooleanNode.js +4 -7
  23. package/lib/node/CommentNode.d.ts +1 -1
  24. package/lib/node/CommentNode.js +2 -5
  25. package/lib/node/ErrorNode.d.ts +1 -1
  26. package/lib/node/ErrorNode.js +2 -5
  27. package/lib/node/FileNode.d.ts +3 -3
  28. package/lib/node/FileNode.js +2 -5
  29. package/lib/node/FloatNode.d.ts +2 -2
  30. package/lib/node/FloatNode.js +4 -7
  31. package/lib/node/IntegerNode.d.ts +2 -2
  32. package/lib/node/IntegerNode.js +4 -7
  33. package/lib/node/ListNode.d.ts +2 -2
  34. package/lib/node/ListNode.js +2 -5
  35. package/lib/node/LiteralNode.d.ts +3 -3
  36. package/lib/node/LiteralNode.js +4 -7
  37. package/lib/node/LongNode.d.ts +2 -2
  38. package/lib/node/LongNode.js +4 -7
  39. package/lib/node/RecordNode.d.ts +2 -2
  40. package/lib/node/RecordNode.js +2 -5
  41. package/lib/node/ResourceLocationNode.d.ts +5 -5
  42. package/lib/node/ResourceLocationNode.js +9 -12
  43. package/lib/node/Sequence.d.ts +2 -2
  44. package/lib/node/Sequence.js +4 -7
  45. package/lib/node/StringNode.d.ts +4 -4
  46. package/lib/node/StringNode.js +9 -12
  47. package/lib/node/SymbolNode.d.ts +3 -3
  48. package/lib/node/SymbolNode.js +4 -7
  49. package/lib/node/index.d.ts +15 -15
  50. package/lib/node/index.js +15 -31
  51. package/lib/nodejs.d.ts +2 -0
  52. package/lib/nodejs.js +2 -0
  53. package/lib/parser/Parser.d.ts +3 -3
  54. package/lib/parser/Parser.js +1 -4
  55. package/lib/parser/boolean.d.ts +2 -2
  56. package/lib/parser/boolean.js +3 -6
  57. package/lib/parser/comment.d.ts +2 -2
  58. package/lib/parser/comment.js +5 -9
  59. package/lib/parser/empty.d.ts +1 -1
  60. package/lib/parser/empty.js +1 -5
  61. package/lib/parser/error.d.ts +2 -2
  62. package/lib/parser/error.js +5 -9
  63. package/lib/parser/file.d.ts +3 -3
  64. package/lib/parser/file.js +9 -13
  65. package/lib/parser/float.d.ts +4 -4
  66. package/lib/parser/float.js +12 -16
  67. package/lib/parser/index.d.ts +16 -16
  68. package/lib/parser/index.js +16 -38
  69. package/lib/parser/integer.d.ts +4 -4
  70. package/lib/parser/integer.js +10 -14
  71. package/lib/parser/list.d.ts +2 -2
  72. package/lib/parser/list.js +15 -19
  73. package/lib/parser/literal.d.ts +2 -2
  74. package/lib/parser/literal.js +5 -9
  75. package/lib/parser/long.d.ts +4 -4
  76. package/lib/parser/long.js +10 -14
  77. package/lib/parser/record.d.ts +3 -3
  78. package/lib/parser/record.js +20 -24
  79. package/lib/parser/resourceLocation.d.ts +2 -2
  80. package/lib/parser/resourceLocation.js +14 -18
  81. package/lib/parser/string.d.ts +5 -5
  82. package/lib/parser/string.js +36 -42
  83. package/lib/parser/symbol.d.ts +3 -3
  84. package/lib/parser/symbol.js +3 -7
  85. package/lib/parser/util.d.ts +5 -5
  86. package/lib/parser/util.js +38 -56
  87. package/lib/processor/ColorInfoProvider.d.ts +1 -1
  88. package/lib/processor/ColorInfoProvider.js +6 -9
  89. package/lib/processor/InlayHintProvider.d.ts +2 -2
  90. package/lib/processor/InlayHintProvider.js +1 -2
  91. package/lib/processor/SignatureHelpProvider.d.ts +2 -2
  92. package/lib/processor/SignatureHelpProvider.js +1 -2
  93. package/lib/processor/checker/Checker.d.ts +2 -2
  94. package/lib/processor/checker/Checker.js +1 -5
  95. package/lib/processor/checker/builtin.d.ts +4 -4
  96. package/lib/processor/checker/builtin.js +19 -30
  97. package/lib/processor/checker/index.d.ts +2 -2
  98. package/lib/processor/checker/index.js +2 -31
  99. package/lib/processor/colorizer/Colorizer.d.ts +4 -4
  100. package/lib/processor/colorizer/Colorizer.js +8 -11
  101. package/lib/processor/colorizer/builtin.d.ts +3 -3
  102. package/lib/processor/colorizer/builtin.js +33 -46
  103. package/lib/processor/colorizer/index.d.ts +2 -2
  104. package/lib/processor/colorizer/index.js +2 -31
  105. package/lib/processor/completer/Completer.d.ts +4 -4
  106. package/lib/processor/completer/Completer.js +14 -33
  107. package/lib/processor/completer/builtin.d.ts +7 -7
  108. package/lib/processor/completer/builtin.js +46 -62
  109. package/lib/processor/completer/index.d.ts +2 -2
  110. package/lib/processor/completer/index.js +2 -31
  111. package/lib/processor/formatter/Formatter.d.ts +2 -2
  112. package/lib/processor/formatter/Formatter.js +2 -7
  113. package/lib/processor/formatter/builtin.d.ts +3 -3
  114. package/lib/processor/formatter/builtin.js +22 -36
  115. package/lib/processor/formatter/index.d.ts +2 -2
  116. package/lib/processor/formatter/index.js +2 -31
  117. package/lib/processor/index.d.ts +9 -9
  118. package/lib/processor/index.js +9 -25
  119. package/lib/processor/linter/Linter.d.ts +2 -2
  120. package/lib/processor/linter/Linter.js +1 -2
  121. package/lib/processor/linter/builtin/undeclaredSymbol.d.ts +2 -2
  122. package/lib/processor/linter/builtin/undeclaredSymbol.js +20 -24
  123. package/lib/processor/linter/builtin.d.ts +3 -3
  124. package/lib/processor/linter/builtin.js +19 -26
  125. package/lib/processor/linter/index.d.ts +2 -2
  126. package/lib/processor/linter/index.js +2 -31
  127. package/lib/processor/util.d.ts +2 -2
  128. package/lib/processor/util.js +4 -9
  129. package/lib/service/CacheService.d.ts +6 -6
  130. package/lib/service/CacheService.js +32 -56
  131. package/lib/service/Config.d.ts +11 -12
  132. package/lib/service/Config.js +50 -45
  133. package/lib/service/Context.d.ts +13 -13
  134. package/lib/service/Context.js +29 -32
  135. package/lib/service/Dependency.js +2 -5
  136. package/lib/service/Downloader.d.ts +10 -40
  137. package/lib/service/Downloader.js +37 -110
  138. package/lib/service/ErrorReporter.d.ts +2 -2
  139. package/lib/service/ErrorReporter.js +10 -14
  140. package/lib/service/FileService.d.ts +16 -14
  141. package/lib/service/FileService.js +55 -92
  142. package/lib/service/Hover.d.ts +2 -2
  143. package/lib/service/Hover.js +4 -7
  144. package/lib/service/Logger.js +2 -5
  145. package/lib/service/MetaRegistry.d.ts +12 -12
  146. package/lib/service/MetaRegistry.js +62 -73
  147. package/lib/service/Operations.js +3 -9
  148. package/lib/service/Profiler.d.ts +1 -1
  149. package/lib/service/Profiler.js +25 -41
  150. package/lib/service/Project.d.ts +47 -51
  151. package/lib/service/Project.js +199 -239
  152. package/lib/service/Service.d.ts +17 -27
  153. package/lib/service/Service.js +37 -43
  154. package/lib/service/SymbolLocations.d.ts +3 -3
  155. package/lib/service/SymbolLocations.js +4 -7
  156. package/lib/service/SymbolRegistrar.d.ts +1 -1
  157. package/lib/service/SymbolRegistrar.js +1 -2
  158. package/lib/service/fileUtil.d.ts +15 -45
  159. package/lib/service/fileUtil.js +38 -143
  160. package/lib/service/index.d.ts +17 -17
  161. package/lib/service/index.js +17 -35
  162. package/lib/source/IndexMap.d.ts +1 -1
  163. package/lib/source/IndexMap.js +7 -10
  164. package/lib/source/LanguageError.d.ts +2 -2
  165. package/lib/source/LanguageError.js +2 -5
  166. package/lib/source/Location.d.ts +3 -3
  167. package/lib/source/Location.js +6 -9
  168. package/lib/source/Offset.d.ts +1 -1
  169. package/lib/source/Offset.js +4 -7
  170. package/lib/source/Position.js +2 -5
  171. package/lib/source/PositionRange.d.ts +2 -2
  172. package/lib/source/PositionRange.js +14 -17
  173. package/lib/source/Range.d.ts +1 -1
  174. package/lib/source/Range.js +7 -10
  175. package/lib/source/Source.d.ts +3 -3
  176. package/lib/source/Source.js +28 -29
  177. package/lib/source/index.d.ts +8 -8
  178. package/lib/source/index.js +8 -24
  179. package/lib/symbol/Symbol.d.ts +2 -2
  180. package/lib/symbol/Symbol.js +49 -65
  181. package/lib/symbol/SymbolUtil.d.ts +22 -25
  182. package/lib/symbol/SymbolUtil.js +150 -151
  183. package/lib/symbol/UriBinder.d.ts +1 -1
  184. package/lib/symbol/UriBinder.js +1 -2
  185. package/lib/symbol/index.d.ts +3 -3
  186. package/lib/symbol/index.js +3 -19
  187. package/package.json +7 -4
@@ -1,27 +1,15 @@
1
- "use strict";
2
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
- };
7
- var __importDefault = (this && this.__importDefault) || function (mod) {
8
- return (mod && mod.__esModule) ? mod : { "default": mod };
9
- };
10
- var _SymbolPathCollector_set;
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.SymbolTable = exports.SymbolLocation = exports.Symbol = exports.SymbolUsageType = exports.SymbolUsageTypes = exports.SymbolPathCollector = exports.SymbolPath = exports.ResourceLocationCategory = exports.ResourceLocationCategories = exports.AllCategories = exports.DatapackCategories = exports.MiscCategories = exports.FileCategories = exports.TagFileCategories = exports.TaggableResourceLocationCategories = exports.WorldgenFileCategories = exports.RegistryCategories = exports.McdocCategories = void 0;
13
- const rfdc_1 = __importDefault(require("rfdc"));
14
- const common_1 = require("../common");
15
- const source_1 = require("../source");
1
+ import rfdc from 'rfdc';
2
+ import { isIterable } from '../common/index.js';
3
+ import { Location, PositionRange, Range } from '../source/index.js';
16
4
  //#region Mcdoc Categories
17
- exports.McdocCategories = Object.freeze([
5
+ export const McdocCategories = Object.freeze([
18
6
  'mcdoc',
19
7
  'mcdoc/dispatcher',
20
8
  ]);
21
9
  //#endregion
22
10
  //#region Registry Categories
23
11
  // Data in `java-edition/src/binder/index.ts` may need to be updated when this section is changed.
24
- exports.RegistryCategories = Object.freeze([
12
+ export const RegistryCategories = Object.freeze([
25
13
  'activity',
26
14
  'attribute',
27
15
  'block',
@@ -83,7 +71,7 @@ exports.RegistryCategories = Object.freeze([
83
71
  ]);
84
72
  //#endregion
85
73
  //#region Data Pack Categories
86
- exports.WorldgenFileCategories = Object.freeze([
74
+ export const WorldgenFileCategories = Object.freeze([
87
75
  'worldgen/biome',
88
76
  'worldgen/configured_carver',
89
77
  'worldgen/configured_feature',
@@ -95,13 +83,13 @@ exports.WorldgenFileCategories = Object.freeze([
95
83
  'worldgen/processor_list',
96
84
  'worldgen/template_pool',
97
85
  ]);
98
- exports.TaggableResourceLocationCategories = Object.freeze([
86
+ export const TaggableResourceLocationCategories = Object.freeze([
99
87
  'function',
100
- ...exports.RegistryCategories,
101
- ...exports.WorldgenFileCategories,
88
+ ...RegistryCategories,
89
+ ...WorldgenFileCategories,
102
90
  ]);
103
- exports.TagFileCategories = Object.freeze(exports.TaggableResourceLocationCategories.map(key => `tag/${key}`));
104
- exports.FileCategories = Object.freeze([
91
+ export const TagFileCategories = Object.freeze(TaggableResourceLocationCategories.map(key => `tag/${key}`));
92
+ export const FileCategories = Object.freeze([
105
93
  'advancement',
106
94
  'dimension',
107
95
  'dimension_type',
@@ -111,10 +99,10 @@ exports.FileCategories = Object.freeze([
111
99
  'predicate',
112
100
  'recipe',
113
101
  'structure',
114
- ...exports.TagFileCategories,
115
- ...exports.WorldgenFileCategories,
102
+ ...TagFileCategories,
103
+ ...WorldgenFileCategories,
116
104
  ]);
117
- exports.MiscCategories = Object.freeze([
105
+ export const MiscCategories = Object.freeze([
118
106
  'attribute_modifier_uuid',
119
107
  'bossbar',
120
108
  'objective',
@@ -123,31 +111,31 @@ exports.MiscCategories = Object.freeze([
123
111
  'tag',
124
112
  'team',
125
113
  ]);
126
- exports.DatapackCategories = Object.freeze([
127
- ...exports.FileCategories,
128
- ...exports.MiscCategories,
114
+ export const DatapackCategories = Object.freeze([
115
+ ...FileCategories,
116
+ ...MiscCategories,
129
117
  ]);
130
118
  //#endregion
131
- exports.AllCategories = Object.freeze([
132
- ...exports.DatapackCategories,
133
- ...exports.McdocCategories,
134
- ...exports.RegistryCategories,
119
+ export const AllCategories = Object.freeze([
120
+ ...DatapackCategories,
121
+ ...McdocCategories,
122
+ ...RegistryCategories,
135
123
  ]);
136
- exports.ResourceLocationCategories = Object.freeze([
124
+ export const ResourceLocationCategories = Object.freeze([
137
125
  'bossbar',
138
126
  'storage',
139
127
  'mcdoc/dispatcher',
140
- ...exports.FileCategories,
141
- ...exports.RegistryCategories,
128
+ ...FileCategories,
129
+ ...RegistryCategories,
142
130
  ]);
143
- var ResourceLocationCategory;
131
+ export var ResourceLocationCategory;
144
132
  (function (ResourceLocationCategory) {
145
133
  function is(category) {
146
- return exports.ResourceLocationCategories.includes(category);
134
+ return ResourceLocationCategories.includes(category);
147
135
  }
148
136
  ResourceLocationCategory.is = is;
149
- })(ResourceLocationCategory = exports.ResourceLocationCategory || (exports.ResourceLocationCategory = {}));
150
- var SymbolPath;
137
+ })(ResourceLocationCategory || (ResourceLocationCategory = {}));
138
+ export var SymbolPath;
151
139
  (function (SymbolPath) {
152
140
  function fromSymbol(symbol) {
153
141
  return symbol
@@ -166,38 +154,34 @@ var SymbolPath;
166
154
  return JSON.parse(value);
167
155
  }
168
156
  SymbolPath.fromString = fromString;
169
- })(SymbolPath = exports.SymbolPath || (exports.SymbolPath = {}));
170
- class SymbolPathCollector {
171
- constructor() {
172
- _SymbolPathCollector_set.set(this, new Set());
173
- }
157
+ })(SymbolPath || (SymbolPath = {}));
158
+ export class SymbolPathCollector {
159
+ #set = new Set();
174
160
  add(path) {
175
161
  if (!path) {
176
162
  return;
177
163
  }
178
- __classPrivateFieldGet(this, _SymbolPathCollector_set, "f").add(SymbolPath.toString(path));
164
+ this.#set.add(SymbolPath.toString(path));
179
165
  }
180
166
  has(path) {
181
- return __classPrivateFieldGet(this, _SymbolPathCollector_set, "f").has(SymbolPath.toString(path));
167
+ return this.#set.has(SymbolPath.toString(path));
182
168
  }
183
169
  collect() {
184
- return [...__classPrivateFieldGet(this, _SymbolPathCollector_set, "f")].map(SymbolPath.fromString);
170
+ return [...this.#set].map(SymbolPath.fromString);
185
171
  }
186
172
  }
187
- exports.SymbolPathCollector = SymbolPathCollector;
188
- _SymbolPathCollector_set = new WeakMap();
189
- exports.SymbolUsageTypes = Object.freeze(['definition', 'declaration', 'implementation', 'reference', 'typeDefinition']);
190
- var SymbolUsageType;
173
+ export const SymbolUsageTypes = Object.freeze(['definition', 'declaration', 'implementation', 'reference', 'typeDefinition']);
174
+ export var SymbolUsageType;
191
175
  (function (SymbolUsageType) {
192
176
  function is(value) {
193
- return exports.SymbolUsageTypes.includes(value);
177
+ return SymbolUsageTypes.includes(value);
194
178
  }
195
179
  SymbolUsageType.is = is;
196
- })(SymbolUsageType = exports.SymbolUsageType || (exports.SymbolUsageType = {}));
197
- var Symbol;
180
+ })(SymbolUsageType || (SymbolUsageType = {}));
181
+ export var Symbol;
198
182
  (function (Symbol) {
199
183
  function get(table, category, ...path) {
200
- if ((0, common_1.isIterable)(table)) {
184
+ if (isIterable(table)) {
201
185
  for (const t of table) {
202
186
  const result = get(t, category, ...path);
203
187
  if (result) {
@@ -212,21 +196,21 @@ var Symbol;
212
196
  return undefined;
213
197
  }
214
198
  Symbol.get = get;
215
- })(Symbol = exports.Symbol || (exports.Symbol = {}));
216
- var SymbolLocation;
199
+ })(Symbol || (Symbol = {}));
200
+ export var SymbolLocation;
217
201
  (function (SymbolLocation) {
218
202
  /* istanbul ignore next */
219
203
  function create(doc, range, fullRange, contributor, additional) {
220
204
  return {
221
- ...source_1.Location.create(doc, range),
222
- ...fullRange ? { fullRange: source_1.Range.get(fullRange), fullPosRange: source_1.PositionRange.from(fullRange, doc) } : {},
205
+ ...Location.create(doc, range),
206
+ ...fullRange ? { fullRange: Range.get(fullRange), fullPosRange: PositionRange.from(fullRange, doc) } : {},
223
207
  ...contributor ? { contributor } : {},
224
208
  ...additional ? additional : {},
225
209
  };
226
210
  }
227
211
  SymbolLocation.create = create;
228
- })(SymbolLocation = exports.SymbolLocation || (exports.SymbolLocation = {}));
229
- var SymbolTable;
212
+ })(SymbolLocation || (SymbolLocation = {}));
213
+ export var SymbolTable;
230
214
  (function (SymbolTable) {
231
215
  /**
232
216
  * The passed-in parameter `table` won't be mutated.
@@ -252,7 +236,7 @@ var SymbolTable;
252
236
  linkSymbol(childSymbol, map, parentSymbol, category, [...path, identifier]);
253
237
  }
254
238
  };
255
- const ans = (0, rfdc_1.default)()(table);
239
+ const ans = rfdc()(table);
256
240
  for (const [category, map] of Object.entries(ans)) {
257
241
  linkSymbolMap(map, undefined, category, []);
258
242
  }
@@ -281,7 +265,7 @@ var SymbolTable;
281
265
  unlinkSymbol(childSymbol);
282
266
  }
283
267
  };
284
- const ans = (0, rfdc_1.default)({ circles: true })(table);
268
+ const ans = rfdc({ circles: true })(table);
285
269
  for (const map of Object.values(ans)) {
286
270
  unlinkSymbolMap(map);
287
271
  }
@@ -303,7 +287,7 @@ var SymbolTable;
303
287
  return link(JSON.parse(json));
304
288
  }
305
289
  SymbolTable.deserialize = deserialize;
306
- })(SymbolTable = exports.SymbolTable || (exports.SymbolTable = {}));
290
+ })(SymbolTable || (SymbolTable = {}));
307
291
  // interface SymbolEvent {
308
292
  // symbol: Symbol,
309
293
  // }
@@ -1,10 +1,9 @@
1
- /// <reference types="node" />
2
- import EventEmitter from 'events';
3
1
  import { TextDocument } from 'vscode-languageserver-textdocument';
4
- import type { AstNode } from '../node';
5
- import type { RangeLike } from '../source';
6
- import type { AllCategory, Symbol, SymbolLocationBuiltInContributor, SymbolLocationMetadata, SymbolMap, SymbolMetadata, SymbolTable, SymbolUsageType } from './Symbol';
7
- import { SymbolLocation, SymbolVisibility } from './Symbol';
2
+ import type { ExternalEventEmitter, Externals } from '../common/index.js';
3
+ import type { AstNode } from '../node/index.js';
4
+ import type { RangeLike } from '../source/index.js';
5
+ import type { AllCategory, Symbol, SymbolLocationBuiltInContributor, SymbolLocationMetadata, SymbolMap, SymbolMetadata, SymbolTable, SymbolUsageType } from './Symbol.js';
6
+ import { SymbolLocation, SymbolVisibility } from './Symbol.js';
8
7
  export interface LookupResult {
9
8
  /**
10
9
  * The {@link SymbolMap} that contains the symbol. If `symbol` is `undefined`, this property will be the map that could
@@ -28,28 +27,11 @@ interface SymbolLocationEvent extends SymbolEvent {
28
27
  type: SymbolUsageType;
29
28
  location: SymbolLocation;
30
29
  }
31
- export interface SymbolUtil {
32
- on(event: 'symbolCreated', callbackFn: (data: SymbolEvent) => void): this;
33
- on(event: 'symbolAmended', callbackFn: (data: SymbolEvent) => void): this;
34
- on(event: 'symbolRemoved', callbackFn: (data: SymbolEvent) => void): this;
35
- on(event: 'symbolLocationCreated', callbackFn: (data: SymbolLocationEvent) => void): this;
36
- on(event: 'symbolLocationRemoved', callbackFn: (data: SymbolLocationEvent) => void): this;
37
- once(event: 'symbolCreated', callbackFn: (data: SymbolEvent) => void): this;
38
- once(event: 'symbolAmended', callbackFn: (data: SymbolEvent) => void): this;
39
- once(event: 'symbolRemoved', callbackFn: (data: SymbolEvent) => void): this;
40
- once(event: 'symbolLocationCreated', callbackFn: (data: SymbolLocationEvent) => void): this;
41
- once(event: 'symbolLocationRemoved', callbackFn: (data: SymbolLocationEvent) => void): this;
42
- emit(event: 'symbolCreated', data: SymbolEvent): boolean;
43
- emit(event: 'symbolAmended', data: SymbolEvent): boolean;
44
- emit(event: 'symbolRemoved', data: SymbolEvent): boolean;
45
- emit(event: 'symbolLocationCreated', data: SymbolLocationEvent): boolean;
46
- emit(event: 'symbolLocationRemoved', data: SymbolLocationEvent): boolean;
47
- }
48
30
  interface DocAndNode {
49
31
  doc: TextDocument;
50
32
  node: AstNode;
51
33
  }
52
- export declare class SymbolUtil extends EventEmitter {
34
+ export declare class SymbolUtil implements ExternalEventEmitter {
53
35
  #private;
54
36
  /**
55
37
  * @internal
@@ -60,11 +42,26 @@ export declare class SymbolUtil extends EventEmitter {
60
42
  */
61
43
  _inDelayMode: boolean;
62
44
  get global(): SymbolTable;
63
- constructor(global: SymbolTable,
45
+ constructor(global: SymbolTable, eventEmitterConstructor: Externals['event']['EventEmitter'],
64
46
  /** @internal */
65
47
  _currentContributor?: string,
66
48
  /** @internal */
67
49
  _inDelayMode?: boolean);
50
+ on(event: 'symbolCreated', callbackFn: (data: SymbolEvent) => void): this;
51
+ on(event: 'symbolAmended', callbackFn: (data: SymbolEvent) => void): this;
52
+ on(event: 'symbolRemoved', callbackFn: (data: SymbolEvent) => void): this;
53
+ on(event: 'symbolLocationCreated', callbackFn: (data: SymbolLocationEvent) => void): this;
54
+ on(event: 'symbolLocationRemoved', callbackFn: (data: SymbolLocationEvent) => void): this;
55
+ once(event: 'symbolCreated', callbackFn: (data: SymbolEvent) => void): this;
56
+ once(event: 'symbolAmended', callbackFn: (data: SymbolEvent) => void): this;
57
+ once(event: 'symbolRemoved', callbackFn: (data: SymbolEvent) => void): this;
58
+ once(event: 'symbolLocationCreated', callbackFn: (data: SymbolLocationEvent) => void): this;
59
+ once(event: 'symbolLocationRemoved', callbackFn: (data: SymbolLocationEvent) => void): this;
60
+ emit(event: 'symbolCreated', data: SymbolEvent): boolean;
61
+ emit(event: 'symbolAmended', data: SymbolEvent): boolean;
62
+ emit(event: 'symbolRemoved', data: SymbolEvent): boolean;
63
+ emit(event: 'symbolLocationCreated', data: SymbolLocationEvent): boolean;
64
+ emit(event: 'symbolLocationRemoved', data: SymbolLocationEvent): boolean;
68
65
  /**
69
66
  * Build the internal cache of the SymbolUtil according to the current global symbol table.
70
67
  */