@jsprismarine/brigadier 0.2.1 → 0.3.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 (269) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/LICENSE +21 -21
  3. package/README.md +85 -81
  4. package/dist/CommandSyntaxException-BKBHJvxr.cjs +173 -0
  5. package/dist/CommandSyntaxException-Dz8Qlq9d.js +168 -0
  6. package/dist/LiteralArgumentBuilder-2hpX2C86.js +121 -0
  7. package/dist/LiteralArgumentBuilder-s6PUMmST.cjs +125 -0
  8. package/dist/RequiredArgumentBuilder-D105occO.js +144 -0
  9. package/dist/RequiredArgumentBuilder-DMJ4kl0u.cjs +148 -0
  10. package/dist/index.cjs.js +63 -0
  11. package/dist/index.d.ts +25 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.es.js +31 -0
  14. package/dist/lib/AmbiguityConsumer.cjs.js +3 -0
  15. package/dist/lib/AmbiguityConsumer.d.ts +6 -0
  16. package/dist/lib/AmbiguityConsumer.d.ts.map +1 -0
  17. package/dist/lib/AmbiguityConsumer.es.js +2 -0
  18. package/dist/lib/Command.cjs.js +3 -0
  19. package/dist/lib/Command.d.ts +6 -0
  20. package/dist/lib/Command.d.ts.map +1 -0
  21. package/dist/lib/Command.es.js +2 -0
  22. package/dist/lib/CommandDispatcher.cjs.js +369 -0
  23. package/dist/lib/CommandDispatcher.d.ts +31 -0
  24. package/dist/lib/CommandDispatcher.d.ts.map +1 -0
  25. package/dist/lib/CommandDispatcher.es.js +365 -0
  26. package/dist/lib/ImmutableStringReader.cjs.js +3 -0
  27. package/dist/lib/ImmutableStringReader.d.ts +13 -0
  28. package/dist/lib/ImmutableStringReader.d.ts.map +1 -0
  29. package/dist/lib/ImmutableStringReader.es.js +2 -0
  30. package/dist/lib/LiteralMessage.cjs.js +19 -0
  31. package/dist/lib/LiteralMessage.d.ts +9 -0
  32. package/dist/lib/LiteralMessage.d.ts.map +1 -0
  33. package/dist/lib/LiteralMessage.es.js +15 -0
  34. package/dist/lib/Message.cjs.js +3 -0
  35. package/dist/lib/Message.d.ts +4 -0
  36. package/dist/lib/Message.d.ts.map +1 -0
  37. package/dist/lib/Message.es.js +2 -0
  38. package/dist/lib/ParseResults.cjs.js +30 -0
  39. package/dist/lib/ParseResults.d.ts +15 -0
  40. package/dist/lib/ParseResults.d.ts.map +1 -0
  41. package/dist/lib/ParseResults.es.js +26 -0
  42. package/dist/lib/Predicate.cjs.js +3 -0
  43. package/dist/lib/Predicate.d.ts +4 -0
  44. package/dist/lib/Predicate.d.ts.map +1 -0
  45. package/dist/lib/Predicate.es.js +2 -0
  46. package/dist/lib/RedirectModifier.cjs.js +3 -0
  47. package/dist/lib/RedirectModifier.d.ts +6 -0
  48. package/dist/lib/RedirectModifier.d.ts.map +1 -0
  49. package/dist/lib/RedirectModifier.es.js +2 -0
  50. package/dist/lib/ResultConsumer.cjs.js +3 -0
  51. package/dist/lib/ResultConsumer.d.ts +6 -0
  52. package/dist/lib/ResultConsumer.d.ts.map +1 -0
  53. package/dist/lib/ResultConsumer.es.js +2 -0
  54. package/dist/lib/SingleRedirectModifier.cjs.js +3 -0
  55. package/dist/lib/SingleRedirectModifier.d.ts +6 -0
  56. package/dist/lib/SingleRedirectModifier.d.ts.map +1 -0
  57. package/dist/lib/SingleRedirectModifier.es.js +2 -0
  58. package/dist/lib/StringReader.cjs.js +164 -0
  59. package/dist/lib/StringReader.d.ts +29 -0
  60. package/dist/lib/StringReader.d.ts.map +1 -0
  61. package/dist/lib/StringReader.es.js +160 -0
  62. package/dist/lib/arguments/ArgumentType.cjs.js +23 -0
  63. package/dist/lib/arguments/ArgumentType.d.ts +23 -0
  64. package/dist/lib/arguments/ArgumentType.d.ts.map +1 -0
  65. package/dist/lib/arguments/ArgumentType.es.js +19 -0
  66. package/dist/lib/arguments/BoolArgumentType.cjs.js +33 -0
  67. package/dist/lib/arguments/BoolArgumentType.d.ts +15 -0
  68. package/dist/lib/arguments/BoolArgumentType.d.ts.map +1 -0
  69. package/dist/lib/arguments/BoolArgumentType.es.js +29 -0
  70. package/dist/lib/arguments/FloatArgumentType.cjs.js +71 -0
  71. package/dist/lib/arguments/FloatArgumentType.d.ts +18 -0
  72. package/dist/lib/arguments/FloatArgumentType.d.ts.map +1 -0
  73. package/dist/lib/arguments/FloatArgumentType.es.js +67 -0
  74. package/dist/lib/arguments/IntegerArgumentType.cjs.js +71 -0
  75. package/dist/lib/arguments/IntegerArgumentType.d.ts +18 -0
  76. package/dist/lib/arguments/IntegerArgumentType.d.ts.map +1 -0
  77. package/dist/lib/arguments/IntegerArgumentType.es.js +67 -0
  78. package/dist/lib/arguments/StringArgumentType.cjs.js +73 -0
  79. package/dist/lib/arguments/StringArgumentType.d.ts +23 -0
  80. package/dist/lib/arguments/StringArgumentType.d.ts.map +1 -0
  81. package/dist/lib/arguments/StringArgumentType.es.js +68 -0
  82. package/dist/lib/builder/ArgumentBuilder.cjs.js +72 -0
  83. package/dist/lib/builder/ArgumentBuilder.d.ts +30 -0
  84. package/dist/lib/builder/ArgumentBuilder.d.ts.map +1 -0
  85. package/dist/lib/builder/ArgumentBuilder.es.js +68 -0
  86. package/dist/lib/builder/LiteralArgumentBuilder.cjs.js +20 -0
  87. package/dist/lib/builder/LiteralArgumentBuilder.d.ts +13 -0
  88. package/dist/lib/builder/LiteralArgumentBuilder.d.ts.map +1 -0
  89. package/dist/lib/builder/LiteralArgumentBuilder.es.js +11 -0
  90. package/dist/lib/builder/RequiredArgumentBuilder.cjs.js +21 -0
  91. package/dist/lib/builder/RequiredArgumentBuilder.d.ts +20 -0
  92. package/dist/lib/builder/RequiredArgumentBuilder.d.ts.map +1 -0
  93. package/dist/lib/builder/RequiredArgumentBuilder.es.js +12 -0
  94. package/dist/lib/context/CommandContext.cjs.js +117 -0
  95. package/dist/lib/context/CommandContext.d.ts +35 -0
  96. package/dist/lib/context/CommandContext.d.ts.map +1 -0
  97. package/dist/lib/context/CommandContext.es.js +113 -0
  98. package/dist/lib/context/CommandContextBuilder.cjs.js +142 -0
  99. package/dist/lib/context/CommandContextBuilder.d.ts +40 -0
  100. package/dist/lib/context/CommandContextBuilder.d.ts.map +1 -0
  101. package/dist/lib/context/CommandContextBuilder.es.js +138 -0
  102. package/dist/lib/context/ParsedArgument.cjs.js +30 -0
  103. package/dist/lib/context/ParsedArgument.d.ts +11 -0
  104. package/dist/lib/context/ParsedArgument.d.ts.map +1 -0
  105. package/dist/lib/context/ParsedArgument.es.js +26 -0
  106. package/dist/lib/context/ParsedCommandNode.cjs.js +32 -0
  107. package/dist/lib/context/ParsedCommandNode.d.ts +13 -0
  108. package/dist/lib/context/ParsedCommandNode.d.ts.map +1 -0
  109. package/dist/lib/context/ParsedCommandNode.es.js +28 -0
  110. package/dist/lib/context/StringRange.cjs.js +52 -0
  111. package/dist/lib/context/StringRange.d.ts +18 -0
  112. package/dist/lib/context/StringRange.d.ts.map +1 -0
  113. package/dist/lib/context/StringRange.es.js +48 -0
  114. package/dist/lib/context/SuggestionContext.cjs.js +15 -0
  115. package/dist/lib/context/SuggestionContext.d.ts +8 -0
  116. package/dist/lib/context/SuggestionContext.d.ts.map +1 -0
  117. package/dist/lib/context/SuggestionContext.es.js +11 -0
  118. package/dist/lib/exceptions/BuiltInExceptionProvider.cjs.js +3 -0
  119. package/dist/lib/exceptions/BuiltInExceptionProvider.d.ts +25 -0
  120. package/dist/lib/exceptions/BuiltInExceptionProvider.d.ts.map +1 -0
  121. package/dist/lib/exceptions/BuiltInExceptionProvider.es.js +2 -0
  122. package/dist/lib/exceptions/BuiltInExceptions.cjs.js +11 -0
  123. package/dist/lib/exceptions/BuiltInExceptions.d.ts +45 -0
  124. package/dist/lib/exceptions/BuiltInExceptions.d.ts.map +1 -0
  125. package/dist/lib/exceptions/BuiltInExceptions.es.js +3 -0
  126. package/dist/lib/exceptions/CommandExceptionType.cjs.js +3 -0
  127. package/dist/lib/exceptions/CommandExceptionType.d.ts +3 -0
  128. package/dist/lib/exceptions/CommandExceptionType.d.ts.map +1 -0
  129. package/dist/lib/exceptions/CommandExceptionType.es.js +2 -0
  130. package/dist/lib/exceptions/CommandSyntaxException.cjs.js +11 -0
  131. package/dist/lib/exceptions/CommandSyntaxException.d.ts +21 -0
  132. package/dist/lib/exceptions/CommandSyntaxException.d.ts.map +1 -0
  133. package/dist/lib/exceptions/CommandSyntaxException.es.js +3 -0
  134. package/dist/lib/exceptions/DynamicCommandExceptionType.cjs.js +11 -0
  135. package/dist/lib/exceptions/DynamicCommandExceptionType.d.ts +12 -0
  136. package/dist/lib/exceptions/DynamicCommandExceptionType.d.ts.map +1 -0
  137. package/dist/lib/exceptions/DynamicCommandExceptionType.es.js +3 -0
  138. package/dist/lib/exceptions/SimpleCommandExceptionType.cjs.js +11 -0
  139. package/dist/lib/exceptions/SimpleCommandExceptionType.d.ts +13 -0
  140. package/dist/lib/exceptions/SimpleCommandExceptionType.d.ts.map +1 -0
  141. package/dist/lib/exceptions/SimpleCommandExceptionType.es.js +3 -0
  142. package/dist/lib/suggestion/IntegerSuggestion.cjs.js +39 -0
  143. package/dist/lib/suggestion/IntegerSuggestion.d.ts +14 -0
  144. package/dist/lib/suggestion/IntegerSuggestion.d.ts.map +1 -0
  145. package/dist/lib/suggestion/IntegerSuggestion.es.js +35 -0
  146. package/dist/lib/suggestion/Suggestion.cjs.js +72 -0
  147. package/dist/lib/suggestion/Suggestion.d.ts +19 -0
  148. package/dist/lib/suggestion/Suggestion.d.ts.map +1 -0
  149. package/dist/lib/suggestion/Suggestion.es.js +68 -0
  150. package/dist/lib/suggestion/SuggestionProvider.cjs.js +3 -0
  151. package/dist/lib/suggestion/SuggestionProvider.d.ts +8 -0
  152. package/dist/lib/suggestion/SuggestionProvider.d.ts.map +1 -0
  153. package/dist/lib/suggestion/SuggestionProvider.es.js +2 -0
  154. package/dist/lib/suggestion/Suggestions.cjs.js +71 -0
  155. package/dist/lib/suggestion/Suggestions.d.ts +18 -0
  156. package/dist/lib/suggestion/Suggestions.d.ts.map +1 -0
  157. package/dist/lib/suggestion/Suggestions.es.js +67 -0
  158. package/dist/lib/suggestion/SuggestionsBuilder.cjs.js +59 -0
  159. package/dist/lib/suggestion/SuggestionsBuilder.d.ts +20 -0
  160. package/dist/lib/suggestion/SuggestionsBuilder.d.ts.map +1 -0
  161. package/dist/lib/suggestion/SuggestionsBuilder.es.js +55 -0
  162. package/dist/lib/tree/ArgumentCommandNode.cjs.js +20 -0
  163. package/dist/lib/tree/ArgumentCommandNode.d.ts +33 -0
  164. package/dist/lib/tree/ArgumentCommandNode.d.ts.map +1 -0
  165. package/dist/lib/tree/ArgumentCommandNode.es.js +12 -0
  166. package/dist/lib/tree/CommandNode.cjs.js +133 -0
  167. package/dist/lib/tree/CommandNode.d.ts +47 -0
  168. package/dist/lib/tree/CommandNode.d.ts.map +1 -0
  169. package/dist/lib/tree/CommandNode.es.js +129 -0
  170. package/dist/lib/tree/LiteralCommandNode.cjs.js +19 -0
  171. package/dist/lib/tree/LiteralCommandNode.d.ts +29 -0
  172. package/dist/lib/tree/LiteralCommandNode.d.ts.map +1 -0
  173. package/dist/lib/tree/LiteralCommandNode.es.js +11 -0
  174. package/dist/lib/tree/RootCommandNode.cjs.js +59 -0
  175. package/dist/lib/tree/RootCommandNode.d.ts +23 -0
  176. package/dist/lib/tree/RootCommandNode.d.ts.map +1 -0
  177. package/dist/lib/tree/RootCommandNode.es.js +55 -0
  178. package/dist/lib/util/isEqual.cjs.js +59 -0
  179. package/dist/lib/util/isEqual.d.ts +2 -0
  180. package/dist/lib/util/isEqual.d.ts.map +1 -0
  181. package/dist/lib/util/isEqual.es.js +55 -0
  182. package/package.json +40 -41
  183. package/dist/index.js +0 -82
  184. package/dist/index.js.map +0 -1
  185. package/dist/lib/AmbiguityConsumer.js +0 -3
  186. package/dist/lib/AmbiguityConsumer.js.map +0 -1
  187. package/dist/lib/Command.js +0 -3
  188. package/dist/lib/Command.js.map +0 -1
  189. package/dist/lib/CommandDispatcher.js +0 -360
  190. package/dist/lib/CommandDispatcher.js.map +0 -1
  191. package/dist/lib/ImmutableStringReader.js +0 -3
  192. package/dist/lib/ImmutableStringReader.js.map +0 -1
  193. package/dist/lib/LiteralMessage.js +0 -15
  194. package/dist/lib/LiteralMessage.js.map +0 -1
  195. package/dist/lib/Message.js +0 -3
  196. package/dist/lib/Message.js.map +0 -1
  197. package/dist/lib/ParseResults.js +0 -24
  198. package/dist/lib/ParseResults.js.map +0 -1
  199. package/dist/lib/Predicate.js +0 -3
  200. package/dist/lib/Predicate.js.map +0 -1
  201. package/dist/lib/RedirectModifier.js +0 -3
  202. package/dist/lib/RedirectModifier.js.map +0 -1
  203. package/dist/lib/ResultConsumer.js +0 -3
  204. package/dist/lib/ResultConsumer.js.map +0 -1
  205. package/dist/lib/SingleRedirectModifier.js +0 -3
  206. package/dist/lib/SingleRedirectModifier.js.map +0 -1
  207. package/dist/lib/StringReader.js +0 -176
  208. package/dist/lib/StringReader.js.map +0 -1
  209. package/dist/lib/arguments/ArgumentType.js +0 -19
  210. package/dist/lib/arguments/ArgumentType.js.map +0 -1
  211. package/dist/lib/arguments/BoolArgumentType.js +0 -30
  212. package/dist/lib/arguments/BoolArgumentType.js.map +0 -1
  213. package/dist/lib/arguments/FloatArgumentType.js +0 -61
  214. package/dist/lib/arguments/FloatArgumentType.js.map +0 -1
  215. package/dist/lib/arguments/IntegerArgumentType.js +0 -61
  216. package/dist/lib/arguments/IntegerArgumentType.js.map +0 -1
  217. package/dist/lib/arguments/StringArgumentType.js +0 -71
  218. package/dist/lib/arguments/StringArgumentType.js.map +0 -1
  219. package/dist/lib/builder/ArgumentBuilder.js +0 -66
  220. package/dist/lib/builder/ArgumentBuilder.js.map +0 -1
  221. package/dist/lib/builder/LiteralArgumentBuilder.js +0 -33
  222. package/dist/lib/builder/LiteralArgumentBuilder.js.map +0 -1
  223. package/dist/lib/builder/RequiredArgumentBuilder.js +0 -44
  224. package/dist/lib/builder/RequiredArgumentBuilder.js.map +0 -1
  225. package/dist/lib/context/CommandContext.js +0 -96
  226. package/dist/lib/context/CommandContext.js.map +0 -1
  227. package/dist/lib/context/CommandContextBuilder.js +0 -120
  228. package/dist/lib/context/CommandContextBuilder.js.map +0 -1
  229. package/dist/lib/context/ParsedArgument.js +0 -27
  230. package/dist/lib/context/ParsedArgument.js.map +0 -1
  231. package/dist/lib/context/ParsedCommandNode.js +0 -27
  232. package/dist/lib/context/ParsedCommandNode.js.map +0 -1
  233. package/dist/lib/context/StringRange.js +0 -47
  234. package/dist/lib/context/StringRange.js.map +0 -1
  235. package/dist/lib/context/SuggestionContext.js +0 -10
  236. package/dist/lib/context/SuggestionContext.js.map +0 -1
  237. package/dist/lib/exceptions/BuiltInExceptionProvider.js +0 -3
  238. package/dist/lib/exceptions/BuiltInExceptionProvider.js.map +0 -1
  239. package/dist/lib/exceptions/BuiltInExceptions.js +0 -88
  240. package/dist/lib/exceptions/BuiltInExceptions.js.map +0 -1
  241. package/dist/lib/exceptions/CommandExceptionType.js +0 -3
  242. package/dist/lib/exceptions/CommandExceptionType.js.map +0 -1
  243. package/dist/lib/exceptions/CommandSyntaxException.js +0 -57
  244. package/dist/lib/exceptions/CommandSyntaxException.js.map +0 -1
  245. package/dist/lib/exceptions/DynamicCommandExceptionType.js +0 -20
  246. package/dist/lib/exceptions/DynamicCommandExceptionType.js.map +0 -1
  247. package/dist/lib/exceptions/SimpleCommandExceptionType.js +0 -23
  248. package/dist/lib/exceptions/SimpleCommandExceptionType.js.map +0 -1
  249. package/dist/lib/suggestion/IntegerSuggestion.js +0 -41
  250. package/dist/lib/suggestion/IntegerSuggestion.js.map +0 -1
  251. package/dist/lib/suggestion/Suggestion.js +0 -72
  252. package/dist/lib/suggestion/Suggestion.js.map +0 -1
  253. package/dist/lib/suggestion/SuggestionProvider.js +0 -3
  254. package/dist/lib/suggestion/SuggestionProvider.js.map +0 -1
  255. package/dist/lib/suggestion/Suggestions.js +0 -71
  256. package/dist/lib/suggestion/Suggestions.js.map +0 -1
  257. package/dist/lib/suggestion/SuggestionsBuilder.js +0 -54
  258. package/dist/lib/suggestion/SuggestionsBuilder.js.map +0 -1
  259. package/dist/lib/tree/ArgumentCommandNode.js +0 -97
  260. package/dist/lib/tree/ArgumentCommandNode.js.map +0 -1
  261. package/dist/lib/tree/CommandNode.js +0 -134
  262. package/dist/lib/tree/CommandNode.js.map +0 -1
  263. package/dist/lib/tree/LiteralCommandNode.js +0 -93
  264. package/dist/lib/tree/LiteralCommandNode.js.map +0 -1
  265. package/dist/lib/tree/RootCommandNode.js +0 -50
  266. package/dist/lib/tree/RootCommandNode.js.map +0 -1
  267. package/dist/lib/util/isEqual.js +0 -57
  268. package/dist/lib/util/isEqual.js.map +0 -1
  269. package/index.js +0 -1
@@ -0,0 +1,68 @@
1
+ import isEqual from '../util/isEqual.es.js';
2
+
3
+ class Suggestion {
4
+ range;
5
+ text;
6
+ tooltip = null;
7
+ constructor(range, text, tooltip = null) {
8
+ this.range = range;
9
+ this.text = text;
10
+ this.tooltip = tooltip;
11
+ }
12
+ getRange() {
13
+ return this.range;
14
+ }
15
+ getText() {
16
+ return this.text;
17
+ }
18
+ getTooltip() {
19
+ return this.tooltip;
20
+ }
21
+ apply(input) {
22
+ if (this.range.getStart() === 0 && this.range.getEnd() == input.length) {
23
+ return this.text;
24
+ }
25
+ let result = "";
26
+ if (this.range.getStart() > 0) {
27
+ result += input.substring(0, this.range.getStart());
28
+ }
29
+ result += this.text;
30
+ if (this.range.getEnd() < input.length) {
31
+ result += input.substring(this.range.getEnd());
32
+ }
33
+ return result;
34
+ }
35
+ equals(o) {
36
+ if (this === o)
37
+ return true;
38
+ if (!(o instanceof Suggestion))
39
+ return false;
40
+ return isEqual(this.range, o.range) && this.text === o.text && isEqual(this.tooltip, o.tooltip);
41
+ }
42
+ toString() {
43
+ return "Suggestion{range=" + this.range + ", text='" + this.text + "', tooltip='" + this.tooltip + "'}";
44
+ }
45
+ compareTo(o) {
46
+ return this.text < o.text ? 1 : -1;
47
+ }
48
+ compareToIgnoreCase(b) {
49
+ return this.text.toLowerCase() < b.text.toLowerCase() ? 1 : -1;
50
+ }
51
+ expand(command, range) {
52
+ if (range.equals(this.range)) {
53
+ return this;
54
+ }
55
+ let result = "";
56
+ if (range.getStart() < this.range.getStart()) {
57
+ result += command.substring(range.getStart(), this.range.getStart());
58
+ }
59
+ result += this.text;
60
+ if (range.getEnd() > this.range.getEnd()) {
61
+ result += command.substring(this.range.getEnd(), range.getEnd());
62
+ }
63
+ return new Suggestion(range, result, this.tooltip);
64
+ }
65
+ }
66
+
67
+ export { Suggestion as default };
68
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3VnZ2VzdGlvbi5lcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zdWdnZXN0aW9uL1N1Z2dlc3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGlzRXF1YWwgZnJvbSAnLi4vdXRpbC9pc0VxdWFsJztcbmltcG9ydCB0eXBlIE1lc3NhZ2UgZnJvbSAnLi4vTWVzc2FnZSc7XG5pbXBvcnQgdHlwZSBTdHJpbmdSYW5nZSBmcm9tICcuLi9jb250ZXh0L1N0cmluZ1JhbmdlJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3VnZ2VzdGlvbiB7XG4gICAgcHJpdmF0ZSByYW5nZTogU3RyaW5nUmFuZ2U7XG4gICAgcHJpdmF0ZSB0ZXh0OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSB0b29sdGlwOiBNZXNzYWdlIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocmFuZ2U6IFN0cmluZ1JhbmdlLCB0ZXh0OiBzdHJpbmcsIHRvb2x0aXA6IE1lc3NhZ2UgfCBudWxsID0gbnVsbCkge1xuICAgICAgICB0aGlzLnJhbmdlID0gcmFuZ2U7XG4gICAgICAgIHRoaXMudGV4dCA9IHRleHQ7XG4gICAgICAgIHRoaXMudG9vbHRpcCA9IHRvb2x0aXA7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFJhbmdlKCk6IFN0cmluZ1JhbmdlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmFuZ2U7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFRleHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VG9vbHRpcCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9vbHRpcDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXBwbHkoaW5wdXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLnJhbmdlLmdldFN0YXJ0KCkgPT09IDAgJiYgdGhpcy5yYW5nZS5nZXRFbmQoKSA9PSBpbnB1dC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRleHQ7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgcmVzdWx0ID0gJyc7XG4gICAgICAgIGlmICh0aGlzLnJhbmdlLmdldFN0YXJ0KCkgPiAwKSB7XG4gICAgICAgICAgICByZXN1bHQgKz0gaW5wdXQuc3Vic3RyaW5nKDAsIHRoaXMucmFuZ2UuZ2V0U3RhcnQoKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXN1bHQgKz0gdGhpcy50ZXh0O1xuICAgICAgICBpZiAodGhpcy5yYW5nZS5nZXRFbmQoKSA8IGlucHV0Lmxlbmd0aCkge1xuICAgICAgICAgICAgcmVzdWx0ICs9IGlucHV0LnN1YnN0cmluZyh0aGlzLnJhbmdlLmdldEVuZCgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHVibGljIGVxdWFscyhvOiBvYmplY3QpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMgPT09IG8pIHJldHVybiB0cnVlO1xuICAgICAgICBpZiAoIShvIGluc3RhbmNlb2YgU3VnZ2VzdGlvbikpIHJldHVybiBmYWxzZTtcblxuICAgICAgICByZXR1cm4gaXNFcXVhbCh0aGlzLnJhbmdlLCBvLnJhbmdlKSAmJiB0aGlzLnRleHQgPT09IG8udGV4dCAmJiBpc0VxdWFsKHRoaXMudG9vbHRpcCwgby50b29sdGlwKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9TdHJpbmcoKTogU3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICdTdWdnZXN0aW9ueycgK1xuICAgICAgICAgICAgJ3JhbmdlPScgK1xuICAgICAgICAgICAgdGhpcy5yYW5nZSArXG4gICAgICAgICAgICBcIiwgdGV4dD0nXCIgK1xuICAgICAgICAgICAgdGhpcy50ZXh0ICtcbiAgICAgICAgICAgIFwiJ1wiICtcbiAgICAgICAgICAgIFwiLCB0b29sdGlwPSdcIiArXG4gICAgICAgICAgICB0aGlzLnRvb2x0aXAgK1xuICAgICAgICAgICAgXCInXCIgK1xuICAgICAgICAgICAgJ30nXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbXBhcmVUbyhvOiBTdWdnZXN0aW9uKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dCA8IG8udGV4dCA/IDEgOiAtMTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29tcGFyZVRvSWdub3JlQ2FzZShiOiBTdWdnZXN0aW9uKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dC50b0xvd2VyQ2FzZSgpIDwgYi50ZXh0LnRvTG93ZXJDYXNlKCkgPyAxIDogLTE7XG4gICAgfVxuXG4gICAgcHVibGljIGV4cGFuZChjb21tYW5kOiBzdHJpbmcsIHJhbmdlOiBTdHJpbmdSYW5nZSk6IFN1Z2dlc3Rpb24ge1xuICAgICAgICBpZiAocmFuZ2UuZXF1YWxzKHRoaXMucmFuZ2UpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCByZXN1bHQgPSAnJztcbiAgICAgICAgaWYgKHJhbmdlLmdldFN0YXJ0KCkgPCB0aGlzLnJhbmdlLmdldFN0YXJ0KCkpIHtcbiAgICAgICAgICAgIHJlc3VsdCArPSBjb21tYW5kLnN1YnN0cmluZyhyYW5nZS5nZXRTdGFydCgpLCB0aGlzLnJhbmdlLmdldFN0YXJ0KCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVzdWx0ICs9IHRoaXMudGV4dDtcbiAgICAgICAgaWYgKHJhbmdlLmdldEVuZCgpID4gdGhpcy5yYW5nZS5nZXRFbmQoKSkge1xuICAgICAgICAgICAgcmVzdWx0ICs9IGNvbW1hbmQuc3Vic3RyaW5nKHRoaXMucmFuZ2UuZ2V0RW5kKCksIHJhbmdlLmdldEVuZCgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXcgU3VnZ2VzdGlvbihyYW5nZSwgcmVzdWx0LCB0aGlzLnRvb2x0aXApO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6W10s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
@@ -0,0 +1,3 @@
1
+ 'use strict';
2
+
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3VnZ2VzdGlvblByb3ZpZGVyLmNqcy5qcyIsInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W10sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OyJ9
@@ -0,0 +1,8 @@
1
+ import { default as CommandContext } from '../context/CommandContext';
2
+ import { default as SuggestionsBuilder } from './SuggestionsBuilder';
3
+ import { default as Suggestions } from './Suggestions';
4
+
5
+ export default interface SuggestionProvider<S> {
6
+ getSuggestions(context: CommandContext<S>, builder: SuggestionsBuilder): Promise<Suggestions>;
7
+ }
8
+ //# sourceMappingURL=SuggestionProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuggestionProvider.d.ts","sourceRoot":"","sources":["../../../src/lib/suggestion/SuggestionProvider.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,eAAe,CAAA;AACvC,OAAO,kBAAkB,MAAM,sBAAsB,CAAA;AACrD,OAAO,cAAc,MAAM,2BAA2B,CAAA;AAEtD,MAAM,CAAC,OAAO,WAAW,kBAAkB,CAAC,CAAC;IACzC,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACjG"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3VnZ2VzdGlvblByb3ZpZGVyLmVzLmpzIiwic291cmNlcyI6W10sInNvdXJjZXNDb250ZW50IjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,71 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
+
5
+ const lib_util_isEqual = require('../util/isEqual.cjs.js');
6
+ const lib_context_StringRange = require('../context/StringRange.cjs.js');
7
+
8
+ class Suggestions {
9
+ static EMPTY = new Suggestions(lib_context_StringRange.default.at(0), []);
10
+ range;
11
+ suggestions;
12
+ constructor(range, suggestions) {
13
+ this.range = range;
14
+ this.suggestions = suggestions;
15
+ }
16
+ getRange() {
17
+ return this.range;
18
+ }
19
+ getList() {
20
+ return this.suggestions;
21
+ }
22
+ isEmpty() {
23
+ return this.suggestions.length === 0;
24
+ }
25
+ equals(o) {
26
+ if (this === o)
27
+ return true;
28
+ if (!(o instanceof Suggestions))
29
+ return false;
30
+ return this.range.equals(o.range) && lib_util_isEqual.default(this.suggestions, o.suggestions);
31
+ }
32
+ toString() {
33
+ return "Suggestions{range=" + this.range + ", suggestions=" + this.suggestions + "}";
34
+ }
35
+ static empty() {
36
+ return Promise.resolve(this.EMPTY);
37
+ }
38
+ static merge(command, input) {
39
+ if (input.length === 0) {
40
+ return this.EMPTY;
41
+ } else if (input.length === 1) {
42
+ return input[0];
43
+ }
44
+ const texts = [];
45
+ for (let suggestions of input) {
46
+ texts.push(...suggestions.getList());
47
+ }
48
+ return Suggestions.create(command, texts);
49
+ }
50
+ static create(command, suggestions) {
51
+ if (suggestions.length === 0) {
52
+ return this.EMPTY;
53
+ }
54
+ let start = Infinity;
55
+ let end = -Infinity;
56
+ for (let suggestion of suggestions) {
57
+ start = Math.min(suggestion.getRange().getStart(), start);
58
+ end = Math.max(suggestion.getRange().getEnd(), end);
59
+ }
60
+ let range = new lib_context_StringRange.default(start, end);
61
+ const texts = [];
62
+ for (let suggestion of suggestions) {
63
+ texts.push(suggestion.expand(command, range));
64
+ }
65
+ const sorted = texts.sort((a, b) => a.compareToIgnoreCase(b));
66
+ return new Suggestions(range, sorted);
67
+ }
68
+ }
69
+
70
+ exports.default = Suggestions;
71
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3VnZ2VzdGlvbnMuY2pzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3N1Z2dlc3Rpb24vU3VnZ2VzdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGlzRXF1YWwgZnJvbSAnLi4vdXRpbC9pc0VxdWFsJztcbmltcG9ydCBTdHJpbmdSYW5nZSBmcm9tICcuLi9jb250ZXh0L1N0cmluZ1JhbmdlJztcbmltcG9ydCB0eXBlIFN1Z2dlc3Rpb24gZnJvbSAnLi9TdWdnZXN0aW9uJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3VnZ2VzdGlvbnMge1xuICAgIHByaXZhdGUgc3RhdGljIEVNUFRZID0gbmV3IFN1Z2dlc3Rpb25zKFN0cmluZ1JhbmdlLmF0KDApLCBbXSk7XG5cbiAgICBwcml2YXRlIHJhbmdlOiBTdHJpbmdSYW5nZTtcblxuICAgIHByaXZhdGUgc3VnZ2VzdGlvbnM6IEFycmF5PFN1Z2dlc3Rpb24+O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHJhbmdlOiBTdHJpbmdSYW5nZSwgc3VnZ2VzdGlvbnM6IEFycmF5PFN1Z2dlc3Rpb24+KSB7XG4gICAgICAgIHRoaXMucmFuZ2UgPSByYW5nZTtcbiAgICAgICAgdGhpcy5zdWdnZXN0aW9ucyA9IHN1Z2dlc3Rpb25zO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRSYW5nZSgpOiBTdHJpbmdSYW5nZSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJhbmdlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRMaXN0KCk6IEFycmF5PFN1Z2dlc3Rpb24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3VnZ2VzdGlvbnM7XG4gICAgfVxuXG4gICAgcHVibGljIGlzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN1Z2dlc3Rpb25zLmxlbmd0aCA9PT0gMDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZXF1YWxzKG86IG9iamVjdCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcyA9PT0gbykgcmV0dXJuIHRydWU7XG5cbiAgICAgICAgaWYgKCEobyBpbnN0YW5jZW9mIFN1Z2dlc3Rpb25zKSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnJhbmdlLmVxdWFscyhvLnJhbmdlKSAmJiBpc0VxdWFsKHRoaXMuc3VnZ2VzdGlvbnMsIG8uc3VnZ2VzdGlvbnMpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b1N0cmluZygpOiBTdHJpbmcge1xuICAgICAgICByZXR1cm4gJ1N1Z2dlc3Rpb25zeycgKyAncmFuZ2U9JyArIHRoaXMucmFuZ2UgKyAnLCBzdWdnZXN0aW9ucz0nICsgdGhpcy5zdWdnZXN0aW9ucyArICd9JztcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGVtcHR5KCk6IFByb21pc2U8U3VnZ2VzdGlvbnM+IHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLkVNUFRZKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIG1lcmdlKGNvbW1hbmQ6IHN0cmluZywgaW5wdXQ6IEFycmF5PFN1Z2dlc3Rpb25zPikge1xuICAgICAgICBpZiAoaW5wdXQubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5FTVBUWTtcbiAgICAgICAgfSBlbHNlIGlmIChpbnB1dC5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIHJldHVybiBpbnB1dFswXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRleHRzID0gW107XG4gICAgICAgIGZvciAobGV0IHN1Z2dlc3Rpb25zIG9mIGlucHV0KSB7XG4gICAgICAgICAgICB0ZXh0cy5wdXNoKC4uLnN1Z2dlc3Rpb25zLmdldExpc3QoKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gU3VnZ2VzdGlvbnMuY3JlYXRlKGNvbW1hbmQsIHRleHRzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZShjb21tYW5kOiBzdHJpbmcsIHN1Z2dlc3Rpb25zOiBBcnJheTxTdWdnZXN0aW9uPik6IFN1Z2dlc3Rpb25zIHtcbiAgICAgICAgaWYgKHN1Z2dlc3Rpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuRU1QVFk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgc3RhcnQgPSBJbmZpbml0eTtcbiAgICAgICAgbGV0IGVuZCA9IC1JbmZpbml0eTtcbiAgICAgICAgZm9yIChsZXQgc3VnZ2VzdGlvbiBvZiBzdWdnZXN0aW9ucykge1xuICAgICAgICAgICAgc3RhcnQgPSBNYXRoLm1pbihzdWdnZXN0aW9uLmdldFJhbmdlKCkuZ2V0U3RhcnQoKSwgc3RhcnQpO1xuICAgICAgICAgICAgZW5kID0gTWF0aC5tYXgoc3VnZ2VzdGlvbi5nZXRSYW5nZSgpLmdldEVuZCgpLCBlbmQpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHJhbmdlID0gbmV3IFN0cmluZ1JhbmdlKHN0YXJ0LCBlbmQpO1xuICAgICAgICBjb25zdCB0ZXh0cyA9IFtdO1xuICAgICAgICBmb3IgKGxldCBzdWdnZXN0aW9uIG9mIHN1Z2dlc3Rpb25zKSB7XG4gICAgICAgICAgICB0ZXh0cy5wdXNoKHN1Z2dlc3Rpb24uZXhwYW5kKGNvbW1hbmQsIHJhbmdlKSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzb3J0ZWQgPSB0ZXh0cy5zb3J0KChhLCBiKSA9PiBhLmNvbXBhcmVUb0lnbm9yZUNhc2UoYikpO1xuICAgICAgICByZXR1cm4gbmV3IFN1Z2dlc3Rpb25zKHJhbmdlLCBzb3J0ZWQpO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJTdHJpbmdSYW5nZSIsImlzRXF1YWwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxNQUFxQixXQUFZLENBQUE7QUFBQSxFQUM3QixPQUFlLFFBQVEsSUFBSSxXQUFBLENBQVlBLGdDQUFZLEVBQUcsQ0FBQSxDQUFDLENBQUcsRUFBQSxFQUFFLENBQUEsQ0FBQTtBQUFBLEVBRXBELEtBQUEsQ0FBQTtBQUFBLEVB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
@@ -0,0 +1,18 @@
1
+ import { default as Suggestion } from './Suggestion';
2
+ import { default as StringRange } from '../context/StringRange';
3
+
4
+ export default class Suggestions {
5
+ private static EMPTY;
6
+ private range;
7
+ private suggestions;
8
+ constructor(range: StringRange, suggestions: Array<Suggestion>);
9
+ getRange(): StringRange;
10
+ getList(): Array<Suggestion>;
11
+ isEmpty(): boolean;
12
+ equals(o: object): boolean;
13
+ toString(): String;
14
+ static empty(): Promise<Suggestions>;
15
+ static merge(command: string, input: Array<Suggestions>): Suggestions | undefined;
16
+ static create(command: string, suggestions: Array<Suggestion>): Suggestions;
17
+ }
18
+ //# sourceMappingURL=Suggestions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Suggestions.d.ts","sourceRoot":"","sources":["../../../src/lib/suggestion/Suggestions.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAC,OAAO,OAAO,WAAW;IAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAA0C;IAE9D,OAAO,CAAC,KAAK,CAAc;IAE3B,OAAO,CAAC,WAAW,CAAoB;gBAEpB,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC;IAK9D,QAAQ,IAAI,WAAW;IAIvB,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC;IAI5B,OAAO,IAAI,OAAO;IAIlB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAQ1B,QAAQ,IAAI,MAAM;WAIX,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC;WAI7B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC;WAehD,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,WAAW;CAqBrF"}
@@ -0,0 +1,67 @@
1
+ import isEqual from '../util/isEqual.es.js';
2
+ import StringRange from '../context/StringRange.es.js';
3
+
4
+ class Suggestions {
5
+ static EMPTY = new Suggestions(StringRange.at(0), []);
6
+ range;
7
+ suggestions;
8
+ constructor(range, suggestions) {
9
+ this.range = range;
10
+ this.suggestions = suggestions;
11
+ }
12
+ getRange() {
13
+ return this.range;
14
+ }
15
+ getList() {
16
+ return this.suggestions;
17
+ }
18
+ isEmpty() {
19
+ return this.suggestions.length === 0;
20
+ }
21
+ equals(o) {
22
+ if (this === o)
23
+ return true;
24
+ if (!(o instanceof Suggestions))
25
+ return false;
26
+ return this.range.equals(o.range) && isEqual(this.suggestions, o.suggestions);
27
+ }
28
+ toString() {
29
+ return "Suggestions{range=" + this.range + ", suggestions=" + this.suggestions + "}";
30
+ }
31
+ static empty() {
32
+ return Promise.resolve(this.EMPTY);
33
+ }
34
+ static merge(command, input) {
35
+ if (input.length === 0) {
36
+ return this.EMPTY;
37
+ } else if (input.length === 1) {
38
+ return input[0];
39
+ }
40
+ const texts = [];
41
+ for (let suggestions of input) {
42
+ texts.push(...suggestions.getList());
43
+ }
44
+ return Suggestions.create(command, texts);
45
+ }
46
+ static create(command, suggestions) {
47
+ if (suggestions.length === 0) {
48
+ return this.EMPTY;
49
+ }
50
+ let start = Infinity;
51
+ let end = -Infinity;
52
+ for (let suggestion of suggestions) {
53
+ start = Math.min(suggestion.getRange().getStart(), start);
54
+ end = Math.max(suggestion.getRange().getEnd(), end);
55
+ }
56
+ let range = new StringRange(start, end);
57
+ const texts = [];
58
+ for (let suggestion of suggestions) {
59
+ texts.push(suggestion.expand(command, range));
60
+ }
61
+ const sorted = texts.sort((a, b) => a.compareToIgnoreCase(b));
62
+ return new Suggestions(range, sorted);
63
+ }
64
+ }
65
+
66
+ export { Suggestions as default };
67
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3VnZ2VzdGlvbnMuZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvc3VnZ2VzdGlvbi9TdWdnZXN0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaXNFcXVhbCBmcm9tICcuLi91dGlsL2lzRXF1YWwnO1xuaW1wb3J0IFN0cmluZ1JhbmdlIGZyb20gJy4uL2NvbnRleHQvU3RyaW5nUmFuZ2UnO1xuaW1wb3J0IHR5cGUgU3VnZ2VzdGlvbiBmcm9tICcuL1N1Z2dlc3Rpb24nO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdWdnZXN0aW9ucyB7XG4gICAgcHJpdmF0ZSBzdGF0aWMgRU1QVFkgPSBuZXcgU3VnZ2VzdGlvbnMoU3RyaW5nUmFuZ2UuYXQoMCksIFtdKTtcblxuICAgIHByaXZhdGUgcmFuZ2U6IFN0cmluZ1JhbmdlO1xuXG4gICAgcHJpdmF0ZSBzdWdnZXN0aW9uczogQXJyYXk8U3VnZ2VzdGlvbj47XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocmFuZ2U6IFN0cmluZ1JhbmdlLCBzdWdnZXN0aW9uczogQXJyYXk8U3VnZ2VzdGlvbj4pIHtcbiAgICAgICAgdGhpcy5yYW5nZSA9IHJhbmdlO1xuICAgICAgICB0aGlzLnN1Z2dlc3Rpb25zID0gc3VnZ2VzdGlvbnM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFJhbmdlKCk6IFN0cmluZ1JhbmdlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmFuZ2U7XG4gICAgfVxuXG4gICAgcHVibGljIGdldExpc3QoKTogQXJyYXk8U3VnZ2VzdGlvbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdWdnZXN0aW9ucztcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNFbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3VnZ2VzdGlvbnMubGVuZ3RoID09PSAwO1xuICAgIH1cblxuICAgIHB1YmxpYyBlcXVhbHMobzogb2JqZWN0KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzID09PSBvKSByZXR1cm4gdHJ1ZTtcblxuICAgICAgICBpZiAoIShvIGluc3RhbmNlb2YgU3VnZ2VzdGlvbnMpKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucmFuZ2UuZXF1YWxzKG8ucmFuZ2UpICYmIGlzRXF1YWwodGhpcy5zdWdnZXN0aW9ucywgby5zdWdnZXN0aW9ucyk7XG4gICAgfVxuXG4gICAgcHVibGljIHRvU3RyaW5nKCk6IFN0cmluZyB7XG4gICAgICAgIHJldHVybiAnU3VnZ2VzdGlvbnN7JyArICdyYW5nZT0nICsgdGhpcy5yYW5nZSArICcsIHN1Z2dlc3Rpb25zPScgKyB0aGlzLnN1Z2dlc3Rpb25zICsgJ30nO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZW1wdHkoKTogUHJvbWlzZTxTdWdnZXN0aW9ucz4ge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuRU1QVFkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgbWVyZ2UoY29tbWFuZDogc3RyaW5nLCBpbnB1dDogQXJyYXk8U3VnZ2VzdGlvbnM+KSB7XG4gICAgICAgIGlmIChpbnB1dC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLkVNUFRZO1xuICAgICAgICB9IGVsc2UgaWYgKGlucHV0Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIGlucHV0WzBdO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGV4dHMgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgc3VnZ2VzdGlvbnMgb2YgaW5wdXQpIHtcbiAgICAgICAgICAgIHRleHRzLnB1c2goLi4uc3VnZ2VzdGlvbnMuZ2V0TGlzdCgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBTdWdnZXN0aW9ucy5jcmVhdGUoY29tbWFuZCwgdGV4dHMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgY3JlYXRlKGNvbW1hbmQ6IHN0cmluZywgc3VnZ2VzdGlvbnM6IEFycmF5PFN1Z2dlc3Rpb24+KTogU3VnZ2VzdGlvbnMge1xuICAgICAgICBpZiAoc3VnZ2VzdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5FTVBUWTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBzdGFydCA9IEluZmluaXR5O1xuICAgICAgICBsZXQgZW5kID0gLUluZmluaXR5O1xuICAgICAgICBmb3IgKGxldCBzdWdnZXN0aW9uIG9mIHN1Z2dlc3Rpb25zKSB7XG4gICAgICAgICAgICBzdGFydCA9IE1hdGgubWluKHN1Z2dlc3Rpb24uZ2V0UmFuZ2UoKS5nZXRTdGFydCgpLCBzdGFydCk7XG4gICAgICAgICAgICBlbmQgPSBNYXRoLm1heChzdWdnZXN0aW9uLmdldFJhbmdlKCkuZ2V0RW5kKCksIGVuZCk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgcmFuZ2UgPSBuZXcgU3RyaW5nUmFuZ2Uoc3RhcnQsIGVuZCk7XG4gICAgICAgIGNvbnN0IHRleHRzID0gW107XG4gICAgICAgIGZvciAobGV0IHN1Z2dlc3Rpb24gb2Ygc3VnZ2VzdGlvbnMpIHtcbiAgICAgICAgICAgIHRleHRzLnB1c2goc3VnZ2VzdGlvbi5leHBhbmQoY29tbWFuZCwgcmFuZ2UpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNvcnRlZCA9IHRleHRzLnNvcnQoKGEsIGIpID0+IGEuY29tcGFyZVRvSWdub3JlQ2FzZShiKSk7XG4gICAgICAgIHJldHVybiBuZXcgU3VnZ2VzdGlvbnMocmFuZ2UsIHNvcnRlZCk7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLE1BQXFCLFdBQVksQ0FBQTtBQUFBLEVBQzdCLE9BQWUsUUFBUSxJQUFJLFdBQUEsQ0FBWSxZQUFZLEVBQUcsQ0FBQSxDQUFDLENBQUcsRUFBQSxFQUFFLENBQUEsQ0FBQTtBQUFBLEVBRXBELEtBQUEsQ0FBQTtBQUFBLEVBRUEsV0FBQSxDQUFBO0FBQUEsRUFFRCxXQUFBLENB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
@@ -0,0 +1,59 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
+
5
+ const lib_context_StringRange = require('../context/StringRange.cjs.js');
6
+ const lib_suggestion_Suggestion = require('./Suggestion.cjs.js');
7
+ const lib_suggestion_Suggestions = require('./Suggestions.cjs.js');
8
+ const lib_suggestion_IntegerSuggestion = require('./IntegerSuggestion.cjs.js');
9
+ require('../util/isEqual.cjs.js');
10
+
11
+ class SuggestionsBuilder {
12
+ input;
13
+ start;
14
+ remaining;
15
+ result = [];
16
+ constructor(input, start) {
17
+ this.input = input;
18
+ this.start = start;
19
+ this.remaining = input.substring(start);
20
+ }
21
+ getInput() {
22
+ return this.input;
23
+ }
24
+ getStart() {
25
+ return this.start;
26
+ }
27
+ getRemaining() {
28
+ return this.remaining;
29
+ }
30
+ build() {
31
+ return lib_suggestion_Suggestions.default.create(this.input, this.result);
32
+ }
33
+ buildPromise() {
34
+ return Promise.resolve(this.build());
35
+ }
36
+ suggest(text, tooltip = null) {
37
+ if (typeof text === "number") {
38
+ this.result.push(new lib_suggestion_IntegerSuggestion.default(lib_context_StringRange.default.between(this.start, this.input.length), text, tooltip));
39
+ return this;
40
+ }
41
+ if (text === this.remaining)
42
+ return this;
43
+ this.result.push(new lib_suggestion_Suggestion.default(lib_context_StringRange.default.between(this.start, this.input.length), text, tooltip));
44
+ return this;
45
+ }
46
+ add(other) {
47
+ this.result.push(...other.result);
48
+ return this;
49
+ }
50
+ createOffset(start = this.start) {
51
+ return new SuggestionsBuilder(this.input, start);
52
+ }
53
+ restart() {
54
+ return new SuggestionsBuilder(this.input, this.start);
55
+ }
56
+ }
57
+
58
+ exports.default = SuggestionsBuilder;
59
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3VnZ2VzdGlvbnNCdWlsZGVyLmNqcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zdWdnZXN0aW9uL1N1Z2dlc3Rpb25zQnVpbGRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBNZXNzYWdlIGZyb20gJy4uL01lc3NhZ2UnO1xuaW1wb3J0IFN0cmluZ1JhbmdlIGZyb20gJy4uL2NvbnRleHQvU3RyaW5nUmFuZ2UnO1xuaW1wb3J0IFN1Z2dlc3Rpb24gZnJvbSAnLi9TdWdnZXN0aW9uJztcbmltcG9ydCBTdWdnZXN0aW9ucyBmcm9tICcuL1N1Z2dlc3Rpb25zJztcbmltcG9ydCBJbnRlZ2VyU3VnZ2VzdGlvbiBmcm9tICcuL0ludGVnZXJTdWdnZXN0aW9uJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3VnZ2VzdGlvbnNCdWlsZGVyIHtcbiAgICBwcml2YXRlIGlucHV0OiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIHN0YXJ0OiBudW1iZXI7XG5cbiAgICBwcml2YXRlIHJlbWFpbmluZzogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSByZXN1bHQ6IEFycmF5PFN1Z2dlc3Rpb24+ID0gW107XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoaW5wdXQ6IHN0cmluZywgc3RhcnQ6IG51bWJlcikge1xuICAgICAgICB0aGlzLmlucHV0ID0gaW5wdXQ7XG4gICAgICAgIHRoaXMuc3RhcnQgPSBzdGFydDtcbiAgICAgICAgdGhpcy5yZW1haW5pbmcgPSBpbnB1dC5zdWJzdHJpbmcoc3RhcnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRJbnB1dCgpOiBTdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U3RhcnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFJlbWFpbmluZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5yZW1haW5pbmc7XG4gICAgfVxuXG4gICAgcHVibGljIGJ1aWxkKCk6IFN1Z2dlc3Rpb25zIHtcbiAgICAgICAgcmV0dXJuIFN1Z2dlc3Rpb25zLmNyZWF0ZSh0aGlzLmlucHV0LCB0aGlzLnJlc3VsdCk7XG4gICAgfVxuXG4gICAgcHVibGljIGJ1aWxkUHJvbWlzZSgpOiBQcm9taXNlPFN1Z2dlc3Rpb25zPiB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5idWlsZCgpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3VnZ2VzdCh0ZXh0OiBzdHJpbmcgfCBudW1iZXIsIHRvb2x0aXA6IE1lc3NhZ2UgfCBudWxsID0gbnVsbCk6IFN1Z2dlc3Rpb25zQnVpbGRlciB7XG4gICAgICAgIGlmICh0eXBlb2YgdGV4dCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIHRoaXMucmVzdWx0LnB1c2gobmV3IEludGVnZXJTdWdnZXN0aW9uKFN0cmluZ1JhbmdlLmJldHdlZW4odGhpcy5zdGFydCwgdGhpcy5pbnB1dC5sZW5ndGgpLCB0ZXh0LCB0b29sdGlwKSk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0ZXh0ID09PSB0aGlzLnJlbWFpbmluZykgcmV0dXJuIHRoaXM7XG5cbiAgICAgICAgdGhpcy5yZXN1bHQucHVzaChuZXcgU3VnZ2VzdGlvbihTdHJpbmdSYW5nZS5iZXR3ZWVuKHRoaXMuc3RhcnQsIHRoaXMuaW5wdXQubGVuZ3RoKSwgdGV4dCwgdG9vbHRpcCkpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkKG90aGVyOiBTdWdnZXN0aW9uc0J1aWxkZXIpOiBTdWdnZXN0aW9uc0J1aWxkZXIge1xuICAgICAgICB0aGlzLnJlc3VsdC5wdXNoKC4uLm90aGVyLnJlc3VsdCk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBjcmVhdGVPZmZzZXQoc3RhcnQ6IG51bWJlciA9IHRoaXMuc3RhcnQpOiBTdWdnZXN0aW9uc0J1aWxkZXIge1xuICAgICAgICByZXR1cm4gbmV3IFN1Z2dlc3Rpb25zQnVpbGRlcih0aGlzLmlucHV0LCBzdGFydCk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlc3RhcnQoKTogU3VnZ2VzdGlvbnNCdWlsZGVyIHtcbiAgICAgICAgcmV0dXJuIG5ldyBTdWdnZXN0aW9uc0J1aWxkZXIodGhpcy5pbnB1dCwgdGhpcy5zdGFydCk7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbIlN1Z2dlc3Rpb25zIiwiSW50ZWdlclN1Z2dlc3Rpb24iLCJTdHJpbmdSYW5nZSIsIlN1Z2dlc3Rpb24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFNQSxNQUFxQixrQkFBbUIsQ0FBQTtBQUFBLEVBQzVCLEtBQUEsQ0FBQTtBQUFBLEVBRUEsS0FBQSxDQUFBO0FBQUEsRUFFQSxTQUFBLENBQUE7QUFBQSxFQUVBLFNBQTRCLEVBQUMsQ0FBQTtBQUFBLEVBRTlCLFdBQUEsQ0FBWSxPQUFlLEtBQWUsRUFBQTtBQUM3QyxJQUFBLElBQUEsQ0FBSyxLQUFRLEdBQUEsS0FBQSxDQUFBO0FBQ2IsSUFBQSxJQUFBLENBQUssS0FBUSxHQUFBLEtBQUEsQ0FBQTtBQUNiLElBQUssSUFBQSxDQUFBLFNBQUEsR0FBWSxLQUFNLENBQUEsU0FBQSxDQUFVLEtBQUssQ0FBQSxDQUFBO0FBQUEsR0FDMUM7QUFBQSxFQUVPLFFBQW1CLEdBQUE7QUFDdEIsSUFBQSxPQUFPLElBQUssQ0FBQSxLQUFBLENBQUE7QUFBQSxHQUNoQjtBQUFBLEVBRU8sUUFBbUIsR0FBQTtBQUN0QixJQUFBLE9BQU8sSUFBSyxDQUFBLEtBQUEsQ0FBQTtBQUFBLEdBQ2hCO0FBQUEsRUFFTyxZQUF1QixHQUFBO0FBQzFCLElBQUEsT0FBTyxJQUFLLENBQUEsU0FBQSxDQUFBO0FBQUEsR0FDaEI7QUFBQSxFQUVPLEtBQXFCLEdBQUE7QUFDeEIsSUFBQSxPQUFPQSxrQ0FBWSxDQUFBLE1BQUEsQ0FBTyxJQUFLLENBQUEsS0FBQSxFQUFPLEtBQUssTUFBTSxDQUFBLENBQUE7QUFBQSxHQUNyRDtBQUFBLEVBRU8sWUFBcUMsR0FBQTtBQUN4QyxJQUFBLE9BQU8sT0FBUSxDQUFBLE9BQUEsQ0FBUSxJQUFLLENBQUEsS0FBQSxFQUFPLENBQUEsQ0FBQTtBQUFBLEdBQ3ZDO0FBQUEsRUFFTyxPQUFBLENBQVEsSUFBdUIsRUFBQSxPQUFBLEdBQTBCLElBQTBCLEVBQUE7QUFDdEYsSUFBSSxJQUFBLE9BQU8sU0FBUyxRQUFVLEVBQUE7QUFDMUIsTUFBQSxJQUFBLENBQUssTUFBTyxDQUFBLElBQUEsQ0FBSyxJQUFJQyx3Q0FBQSxDQUFrQkMsZ0NBQVksT0FBUSxDQUFBLElBQUEsQ0FBSyxLQUFPLEVBQUEsSUFBQSxDQUFLLEtBQU0sQ0FBQSxNQUFNLENBQUcsRUFBQSxJQUFBLEVBQU0sT0FBTyxDQUFDLENBQUEsQ0FBQTtBQUN6RyxNQUFPLE9BQUEsSUFBQSxDQUFBO0FBQUEsS0FDWDtBQUVBLElBQUEsSUFBSSxTQUFTLElBQUssQ0FBQSxTQUFBO0FBQVcsTUFBTyxPQUFBLElBQUEsQ0FBQTtBQUVwQyxJQUFBLElBQUEsQ0FBSyxNQUFPLENBQUEsSUFBQSxDQUFLLElBQUlDLGlDQUFBLENBQVdELGdDQUFZLE9BQVEsQ0FBQSxJQUFBLENBQUssS0FBTyxFQUFBLElBQUEsQ0FBSyxLQUFNLENBQUEsTUFBTSxDQUFHLEVBQUEsSUFBQSxFQUFNLE9BQU8sQ0FBQyxDQUFBLENBQUE7QUFDbEcsSUFBTyxPQUFBLElBQUEsQ0FBQTtBQUFBLEdBQ1g7QUFBQSxFQUVPLElBQUksS0FBK0MsRUFBQTtBQUN0RCxJQUFBLElBQUEsQ0FBSyxNQUFPLENBQUEsSUFBQSxDQUFLLEdBQUcsS0FBQSxDQUFNLE1BQU0sQ0FBQSxDQUFBO0FBQ2hDLElBQU8sT0FBQSxJQUFBLENBQUE7QUFBQSxHQUNYO0FBQUEsRUFFTyxZQUFBLENBQWEsS0FBZ0IsR0FBQSxJQUFBLENBQUssS0FBMkIsRUFBQTtBQUNoRSxJQUFBLE9BQU8sSUFBSSxrQkFBQSxDQUFtQixJQUFLLENBQUEsS0FBQSxFQUFPLEtBQUssQ0FBQSxDQUFBO0FBQUEsR0FDbkQ7QUFBQSxFQUVPLE9BQThCLEdBQUE7QUFDakMsSUFBQSxPQUFPLElBQUksa0JBQUEsQ0FBbUIsSUFBSyxDQUFBLEtBQUEsRUFBTyxLQUFLLEtBQUssQ0FBQSxDQUFBO0FBQUEsR0FDeEQ7QUFDSjs7OzsifQ==
@@ -0,0 +1,20 @@
1
+ import { default as Suggestions } from './Suggestions';
2
+ import { default as Message } from '../Message';
3
+
4
+ export default class SuggestionsBuilder {
5
+ private input;
6
+ private start;
7
+ private remaining;
8
+ private result;
9
+ constructor(input: string, start: number);
10
+ getInput(): String;
11
+ getStart(): number;
12
+ getRemaining(): string;
13
+ build(): Suggestions;
14
+ buildPromise(): Promise<Suggestions>;
15
+ suggest(text: string | number, tooltip?: Message | null): SuggestionsBuilder;
16
+ add(other: SuggestionsBuilder): SuggestionsBuilder;
17
+ createOffset(start?: number): SuggestionsBuilder;
18
+ restart(): SuggestionsBuilder;
19
+ }
20
+ //# sourceMappingURL=SuggestionsBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuggestionsBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/suggestion/SuggestionsBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AAGtC,OAAO,WAAW,MAAM,eAAe,CAAC;AAGxC,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACnC,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,MAAM,CAAyB;gBAEpB,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAMxC,QAAQ,IAAI,MAAM;IAIlB,QAAQ,IAAI,MAAM;IAIlB,YAAY,IAAI,MAAM;IAItB,KAAK,IAAI,WAAW;IAIpB,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IAIpC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,GAAE,OAAO,GAAG,IAAW,GAAG,kBAAkB;IAYlF,GAAG,CAAC,KAAK,EAAE,kBAAkB,GAAG,kBAAkB;IAKlD,YAAY,CAAC,KAAK,GAAE,MAAmB,GAAG,kBAAkB;IAI5D,OAAO,IAAI,kBAAkB;CAGvC"}
@@ -0,0 +1,55 @@
1
+ import StringRange from '../context/StringRange.es.js';
2
+ import Suggestion from './Suggestion.es.js';
3
+ import Suggestions from './Suggestions.es.js';
4
+ import IntegerSuggestion from './IntegerSuggestion.es.js';
5
+ import '../util/isEqual.es.js';
6
+
7
+ class SuggestionsBuilder {
8
+ input;
9
+ start;
10
+ remaining;
11
+ result = [];
12
+ constructor(input, start) {
13
+ this.input = input;
14
+ this.start = start;
15
+ this.remaining = input.substring(start);
16
+ }
17
+ getInput() {
18
+ return this.input;
19
+ }
20
+ getStart() {
21
+ return this.start;
22
+ }
23
+ getRemaining() {
24
+ return this.remaining;
25
+ }
26
+ build() {
27
+ return Suggestions.create(this.input, this.result);
28
+ }
29
+ buildPromise() {
30
+ return Promise.resolve(this.build());
31
+ }
32
+ suggest(text, tooltip = null) {
33
+ if (typeof text === "number") {
34
+ this.result.push(new IntegerSuggestion(StringRange.between(this.start, this.input.length), text, tooltip));
35
+ return this;
36
+ }
37
+ if (text === this.remaining)
38
+ return this;
39
+ this.result.push(new Suggestion(StringRange.between(this.start, this.input.length), text, tooltip));
40
+ return this;
41
+ }
42
+ add(other) {
43
+ this.result.push(...other.result);
44
+ return this;
45
+ }
46
+ createOffset(start = this.start) {
47
+ return new SuggestionsBuilder(this.input, start);
48
+ }
49
+ restart() {
50
+ return new SuggestionsBuilder(this.input, this.start);
51
+ }
52
+ }
53
+
54
+ export { SuggestionsBuilder as default };
55
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3VnZ2VzdGlvbnNCdWlsZGVyLmVzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3N1Z2dlc3Rpb24vU3VnZ2VzdGlvbnNCdWlsZGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIE1lc3NhZ2UgZnJvbSAnLi4vTWVzc2FnZSc7XG5pbXBvcnQgU3RyaW5nUmFuZ2UgZnJvbSAnLi4vY29udGV4dC9TdHJpbmdSYW5nZSc7XG5pbXBvcnQgU3VnZ2VzdGlvbiBmcm9tICcuL1N1Z2dlc3Rpb24nO1xuaW1wb3J0IFN1Z2dlc3Rpb25zIGZyb20gJy4vU3VnZ2VzdGlvbnMnO1xuaW1wb3J0IEludGVnZXJTdWdnZXN0aW9uIGZyb20gJy4vSW50ZWdlclN1Z2dlc3Rpb24nO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdWdnZXN0aW9uc0J1aWxkZXIge1xuICAgIHByaXZhdGUgaW5wdXQ6IHN0cmluZztcblxuICAgIHByaXZhdGUgc3RhcnQ6IG51bWJlcjtcblxuICAgIHByaXZhdGUgcmVtYWluaW5nOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIHJlc3VsdDogQXJyYXk8U3VnZ2VzdGlvbj4gPSBbXTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihpbnB1dDogc3RyaW5nLCBzdGFydDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuaW5wdXQgPSBpbnB1dDtcbiAgICAgICAgdGhpcy5zdGFydCA9IHN0YXJ0O1xuICAgICAgICB0aGlzLnJlbWFpbmluZyA9IGlucHV0LnN1YnN0cmluZyhzdGFydCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldElucHV0KCk6IFN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTdGFydCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGFydDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UmVtYWluaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlbWFpbmluZztcbiAgICB9XG5cbiAgICBwdWJsaWMgYnVpbGQoKTogU3VnZ2VzdGlvbnMge1xuICAgICAgICByZXR1cm4gU3VnZ2VzdGlvbnMuY3JlYXRlKHRoaXMuaW5wdXQsIHRoaXMucmVzdWx0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYnVpbGRQcm9taXNlKCk6IFByb21pc2U8U3VnZ2VzdGlvbnM+IHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLmJ1aWxkKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdWdnZXN0KHRleHQ6IHN0cmluZyB8IG51bWJlciwgdG9vbHRpcDogTWVzc2FnZSB8IG51bGwgPSBudWxsKTogU3VnZ2VzdGlvbnNCdWlsZGVyIHtcbiAgICAgICAgaWYgKHR5cGVvZiB0ZXh0ID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgdGhpcy5yZXN1bHQucHVzaChuZXcgSW50ZWdlclN1Z2dlc3Rpb24oU3RyaW5nUmFuZ2UuYmV0d2Vlbih0aGlzLnN0YXJ0LCB0aGlzLmlucHV0Lmxlbmd0aCksIHRleHQsIHRvb2x0aXApKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRleHQgPT09IHRoaXMucmVtYWluaW5nKSByZXR1cm4gdGhpcztcblxuICAgICAgICB0aGlzLnJlc3VsdC5wdXNoKG5ldyBTdWdnZXN0aW9uKFN0cmluZ1JhbmdlLmJldHdlZW4odGhpcy5zdGFydCwgdGhpcy5pbnB1dC5sZW5ndGgpLCB0ZXh0LCB0b29sdGlwKSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGQob3RoZXI6IFN1Z2dlc3Rpb25zQnVpbGRlcik6IFN1Z2dlc3Rpb25zQnVpbGRlciB7XG4gICAgICAgIHRoaXMucmVzdWx0LnB1c2goLi4ub3RoZXIucmVzdWx0KTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIGNyZWF0ZU9mZnNldChzdGFydDogbnVtYmVyID0gdGhpcy5zdGFydCk6IFN1Z2dlc3Rpb25zQnVpbGRlciB7XG4gICAgICAgIHJldHVybiBuZXcgU3VnZ2VzdGlvbnNCdWlsZGVyKHRoaXMuaW5wdXQsIHN0YXJ0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzdGFydCgpOiBTdWdnZXN0aW9uc0J1aWxkZXIge1xuICAgICAgICByZXR1cm4gbmV3IFN1Z2dlc3Rpb25zQnVpbGRlcih0aGlzLmlucHV0LCB0aGlzLnN0YXJ0KTtcbiAgICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBTUEsTUFBcUIsa0JBQW1CLENBQUE7QUFBQSxFQUM1QixLQUFBLENBQUE7QUFBQSxFQUVBLEtBQUEsQ0FBQTtBQUFBLEVBRUEsU0FBQSxDQUFBO0FBQUEsRUFFQSxTQUE0QixFQUFDLENBQUE7QUFBQSxFQUU5QixXQUFBLENBQVksT0FBZSxLQUFlLEVBQUE7QUFDN0MsSUFBQSxJQUFBLENBQUssS0FBUSxHQUFBLEtBQUEsQ0FBQTtBQUNiLElBQUEsSUFBQSxDQUFLLEtBQVEsR0FBQSxLQUFBLENBQUE7QUFDYixJQUFLLElBQUEsQ0FBQSxTQUFBLEdBQVksS0FBTSxDQUFBLFNBQUEsQ0FBVSxLQUFLLENBQUEsQ0FBQTtBQUFBLEdBQzFDO0FBQUEsRUFFTyxRQUFtQixHQUFBO0FBQ3RCLElBQUEsT0FBTyxJQUFLLENBQUEsS0FBQSxDQUFBO0FBQUEsR0FDaEI7QUFBQSxFQUVPLFFBQW1CLEdBQUE7QUFDdEIsSUFBQSxPQUFPLElBQUssQ0FBQSxLQUFBLENBQUE7QUFBQSxHQUNoQjtBQUFBLEVBRU8sWUFBdUIsR0FBQTtBQUMxQixJQUFBLE9BQU8sSUFBSyxDQUFBLFNBQUEsQ0FBQTtBQUFBLEdBQ2hCO0FBQUEsRUFFTyxLQUFxQixHQUFBO0FBQ3hCLElBQUEsT0FBTyxXQUFZLENBQUEsTUFBQSxDQUFPLElBQUssQ0FBQSxLQUFBLEVBQU8sS0FBSyxNQUFNLENBQUEsQ0FBQTtBQUFBLEdBQ3JEO0FBQUEsRUFFTyxZQUFxQyxHQUFBO0FBQ3hDLElBQUEsT0FBTyxPQUFRLENBQUEsT0FBQSxDQUFRLElBQUssQ0FBQSxLQUFBLEVBQU8sQ0FBQSxDQUFBO0FBQUEsR0FDdkM7QUFBQSxFQUVPLE9BQUEsQ0FBUSxJQUF1QixFQUFBLE9BQUEsR0FBMEIsSUFBMEIsRUFBQTtBQUN0RixJQUFJLElBQUEsT0FBTyxTQUFTLFFBQVUsRUFBQTtBQUMxQixNQUFBLElBQUEsQ0FBSyxNQUFPLENBQUEsSUFBQSxDQUFLLElBQUksaUJBQUEsQ0FBa0IsWUFBWSxPQUFRLENBQUEsSUFBQSxDQUFLLEtBQU8sRUFBQSxJQUFBLENBQUssS0FBTSxDQUFBLE1BQU0sQ0FBRyxFQUFBLElBQUEsRUFBTSxPQUFPLENBQUMsQ0FBQSxDQUFBO0FBQ3pHLE1BQU8sT0FBQSxJQUFBLENBQUE7QUFBQSxLQUNYO0FBRUEsSUFBQSxJQUFJLFNBQVMsSUFBSyxDQUFBLFNBQUE7QUFBVyxNQUFPLE9BQUEsSUFBQSxDQUFBO0FBRXBDLElBQUEsSUFBQSxDQUFLLE1BQU8sQ0FBQSxJQUFBLENBQUssSUFBSSxVQUFBLENBQVcsWUFBWSxPQUFRLENBQUEsSUFBQSxDQUFLLEtBQU8sRUFBQSxJQUFBLENBQUssS0FBTSxDQUFBLE1BQU0sQ0FBRyxFQUFBLElBQUEsRUFBTSxPQUFPLENBQUMsQ0FBQSxDQUFBO0FBQ2xHLElBQU8sT0FBQSxJQUFBLENBQUE7QUFBQSxHQUNYO0FBQUEsRUFFTyxJQUFJLEtBQStDLEVBQUE7QUFDdEQsSUFBQSxJQUFBLENBQUssTUFBTyxDQUFBLElBQUEsQ0FBSyxHQUFHLEtBQUEsQ0FBTSxNQUFNLENBQUEsQ0FBQTtBQUNoQyxJQUFPLE9BQUEsSUFBQSxDQUFBO0FBQUEsR0FDWDtBQUFBLEVBRU8sWUFBQSxDQUFhLEtBQWdCLEdBQUEsSUFBQSxDQUFLLEtBQTJCLEVBQUE7QUFDaEUsSUFBQSxPQUFPLElBQUksa0JBQUEsQ0FBbUIsSUFBSyxDQUFBLEtBQUEsRUFBTyxLQUFLLENBQUEsQ0FBQTtBQUFBLEdBQ25EO0FBQUEsRUFFTyxPQUE4QixHQUFBO0FBQ2pDLElBQUEsT0FBTyxJQUFJLGtCQUFBLENBQW1CLElBQUssQ0FBQSxLQUFBLEVBQU8sS0FBSyxLQUFLLENBQUEsQ0FBQTtBQUFBLEdBQ3hEO0FBQ0o7Ozs7In0=
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
+
5
+ require('./CommandNode.cjs.js');
6
+ require('../context/ParsedArgument.cjs.js');
7
+ const lib_tree_ArgumentCommandNode = require('../../RequiredArgumentBuilder-DMJ4kl0u.cjs');
8
+ require('../StringReader.cjs.js');
9
+ require('../suggestion/Suggestions.cjs.js');
10
+ require('../util/isEqual.cjs.js');
11
+ require('../context/StringRange.cjs.js');
12
+ require('../builder/ArgumentBuilder.cjs.js');
13
+ require('./RootCommandNode.cjs.js');
14
+ require('../../CommandSyntaxException-BKBHJvxr.cjs');
15
+ require('../LiteralMessage.cjs.js');
16
+
17
+
18
+
19
+ exports.default = lib_tree_ArgumentCommandNode.ArgumentCommandNode;
20
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJndW1lbnRDb21tYW5kTm9kZS5janMuanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7In0=
@@ -0,0 +1,33 @@
1
+ import { default as SuggestionsBuilder } from '../suggestion/SuggestionsBuilder';
2
+ import { default as Suggestions } from '../suggestion/Suggestions';
3
+ import { default as SuggestionProvider } from '../suggestion/SuggestionProvider';
4
+ import { default as StringReader } from '../StringReader';
5
+ import { default as RequiredArgumentBuilder } from '../builder/RequiredArgumentBuilder';
6
+ import { default as RedirectModifier } from '../RedirectModifier';
7
+ import { default as Predicate } from '../Predicate';
8
+ import { default as CommandNode } from './CommandNode';
9
+ import { default as CommandContextBuilder } from '../context/CommandContextBuilder';
10
+ import { default as CommandContext } from '../context/CommandContext';
11
+ import { default as Command } from '../Command';
12
+ import { default as ArgumentType } from '../arguments/ArgumentType';
13
+
14
+ export default class ArgumentCommandNode<S, T> extends CommandNode<S> {
15
+ private name;
16
+ private type;
17
+ private customSuggestions;
18
+ constructor(name: string, type: ArgumentType<T>, command: Command<S>, requirement: Predicate<S>, redirect: CommandNode<S>, modifier: RedirectModifier<S> | null, forks: boolean, customSuggestions: SuggestionProvider<S>);
19
+ getNodeType(): string;
20
+ getType(): ArgumentType<T>;
21
+ getName(): string;
22
+ getUsageText(): string;
23
+ getCustomSuggestions(): SuggestionProvider<S>;
24
+ parse(reader: StringReader, contextBuilder: CommandContextBuilder<S>): void;
25
+ listSuggestions(context: CommandContext<S>, builder: SuggestionsBuilder): Promise<Suggestions>;
26
+ createBuilder(): RequiredArgumentBuilder<S, T>;
27
+ isValidInput(input: string, context: any): boolean;
28
+ equals(o: object): boolean;
29
+ getSortedKey(): string;
30
+ getExamples(): Iterable<string>;
31
+ toString(): string;
32
+ }
33
+ //# sourceMappingURL=ArgumentCommandNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArgumentCommandNode.d.ts","sourceRoot":"","sources":["../../../src/lib/tree/ArgumentCommandNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,qBAAqB,MAAM,kCAAkC,CAAC;AAC1E,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,gBAAgB,MAAM,qBAAqB,CAAC;AACxD,OAAO,uBAAuB,MAAM,oCAAoC,CAAC;AACzE,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,kBAAkB,MAAM,kCAAkC,CAAC;AACvE,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,KAAK,kBAAkB,MAAM,kCAAkC,CAAC;AAMvE,MAAM,CAAC,OAAO,OAAO,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,IAAI,CAAkB;IAC9B,OAAO,CAAC,iBAAiB,CAAwB;gBAG7C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EACrB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,EACzB,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,EACxB,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,EACpC,KAAK,EAAE,OAAO,EACd,iBAAiB,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAQrC,WAAW,IAAI,MAAM;IAIrB,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC;IAI1B,OAAO,IAAI,MAAM;IAIjB,YAAY,IAAI,MAAM;IAItB,oBAAoB,IAAI,kBAAkB,CAAC,CAAC,CAAC;IAI7C,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAQpE,eAAe,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC;IAS9F,aAAa,IAAI,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC;IAe9C,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO;IAUlD,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAU1B,YAAY,IAAI,MAAM;IAItB,WAAW,IAAI,QAAQ,CAAC,MAAM,CAAC;IAI/B,QAAQ,IAAI,MAAM;CAG5B"}
@@ -0,0 +1,12 @@
1
+ import './CommandNode.es.js';
2
+ import '../context/ParsedArgument.es.js';
3
+ export { A as default } from '../../RequiredArgumentBuilder-D105occO.js';
4
+ import '../StringReader.es.js';
5
+ import '../suggestion/Suggestions.es.js';
6
+ import '../util/isEqual.es.js';
7
+ import '../context/StringRange.es.js';
8
+ import '../builder/ArgumentBuilder.es.js';
9
+ import './RootCommandNode.es.js';
10
+ import '../../CommandSyntaxException-Dz8Qlq9d.js';
11
+ import '../LiteralMessage.es.js';
12
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJndW1lbnRDb21tYW5kTm9kZS5lcy5qcyIsInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W10sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7In0=