@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,72 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
+
5
+ const lib_tree_CommandNode = require('../tree/CommandNode.cjs.js');
6
+ const lib_tree_RootCommandNode = require('../tree/RootCommandNode.cjs.js');
7
+ require('../util/isEqual.cjs.js');
8
+ require('../suggestion/Suggestions.cjs.js');
9
+ require('../context/StringRange.cjs.js');
10
+
11
+ class ArgumentBuilder {
12
+ args = new lib_tree_RootCommandNode.default();
13
+ command;
14
+ requirement;
15
+ target;
16
+ modifier = null;
17
+ forks;
18
+ then(arg) {
19
+ if (!(this.target == null)) {
20
+ throw new Error("Cannot add children to a redirected node");
21
+ }
22
+ if (arg instanceof lib_tree_CommandNode.default)
23
+ this.args.addChild(arg);
24
+ else
25
+ this.args.addChild(arg.build());
26
+ return this.getThis();
27
+ }
28
+ getArguments() {
29
+ return this.args.getChildren();
30
+ }
31
+ executes(command) {
32
+ this.command = command;
33
+ return this.getThis();
34
+ }
35
+ getCommand() {
36
+ return this.command;
37
+ }
38
+ requires(requirement) {
39
+ this.requirement = requirement;
40
+ return this.getThis();
41
+ }
42
+ getRequirement() {
43
+ return this.requirement;
44
+ }
45
+ redirect(target, modifier) {
46
+ return this.forward(target, modifier == null ? null : (o) => [modifier.apply(o)], false);
47
+ }
48
+ fork(target, modifier) {
49
+ return this.forward(target, modifier, true);
50
+ }
51
+ forward(target, modifier, fork) {
52
+ if (this.args.getChildrenCount() > 0) {
53
+ throw new Error("Cannot forward a node with children");
54
+ }
55
+ this.target = target;
56
+ this.modifier = modifier;
57
+ this.forks = fork;
58
+ return this.getThis();
59
+ }
60
+ getRedirect() {
61
+ return this.target;
62
+ }
63
+ getRedirectModifier() {
64
+ return this.modifier;
65
+ }
66
+ isFork() {
67
+ return this.forks;
68
+ }
69
+ }
70
+
71
+ exports.default = ArgumentBuilder;
72
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJndW1lbnRCdWlsZGVyLmNqcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9idWlsZGVyL0FyZ3VtZW50QnVpbGRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29tbWFuZCBmcm9tICcuLi9Db21tYW5kJztcbmltcG9ydCBSZWRpcmVjdE1vZGlmaWVyIGZyb20gJy4uL1JlZGlyZWN0TW9kaWZpZXInO1xuaW1wb3J0IFNpbmdsZVJlZGlyZWN0TW9kaWZpZXIgZnJvbSAnLi4vU2luZ2xlUmVkaXJlY3RNb2RpZmllcic7XG5pbXBvcnQgQ29tbWFuZE5vZGUgZnJvbSAnLi4vdHJlZS9Db21tYW5kTm9kZSc7XG5pbXBvcnQgUm9vdENvbW1hbmROb2RlIGZyb20gJy4uL3RyZWUvUm9vdENvbW1hbmROb2RlJztcbmltcG9ydCBQcmVkaWNhdGUgZnJvbSAnLi4vUHJlZGljYXRlJztcbmltcG9ydCBDb21tYW5kQ29udGV4dCBmcm9tICcuLi9jb250ZXh0L0NvbW1hbmRDb250ZXh0JztcblxuYWJzdHJhY3QgY2xhc3MgQXJndW1lbnRCdWlsZGVyPFMsIFQgZXh0ZW5kcyBBcmd1bWVudEJ1aWxkZXI8UywgVD4+IHtcbiAgICBwcml2YXRlIGFyZ3M6IFJvb3RDb21tYW5kTm9kZTxTPiA9IG5ldyBSb290Q29tbWFuZE5vZGUoKTtcblxuICAgIHByaXZhdGUgY29tbWFuZCE6IENvbW1hbmQ8Uz47XG5cbiAgICBwcml2YXRlIHJlcXVpcmVtZW50ITogUHJlZGljYXRlPFM+O1xuXG4gICAgcHJpdmF0ZSB0YXJnZXQhOiBDb21tYW5kTm9kZTxTPjtcblxuICAgIHByaXZhdGUgbW9kaWZpZXI6IFJlZGlyZWN0TW9kaWZpZXI8Uz4gfCBudWxsID0gbnVsbDtcblxuICAgIHByaXZhdGUgZm9ya3MhOiBib29sZWFuO1xuXG4gICAgcHVibGljIGFic3RyYWN0IGdldFRoaXMoKTogVDtcblxuICAgIHB1YmxpYyB0aGVuKGFyZzogQXJndW1lbnRCdWlsZGVyPFMsIGFueT4gfCBDb21tYW5kTm9kZTxTPik6IFQge1xuICAgICAgICBpZiAoISh0aGlzLnRhcmdldCA9PSBudWxsKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgYWRkIGNoaWxkcmVuIHRvIGEgcmVkaXJlY3RlZCBub2RlJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYXJnIGluc3RhbmNlb2YgQ29tbWFuZE5vZGUpIHRoaXMuYXJncy5hZGRDaGlsZChhcmcpO1xuICAgICAgICBlbHNlIHRoaXMuYXJncy5hZGRDaGlsZChhcmcuYnVpbGQoKSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VGhpcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBcmd1bWVudHMoKTogSXRlcmFibGU8Q29tbWFuZE5vZGU8Uz4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXJncy5nZXRDaGlsZHJlbigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBleGVjdXRlcyhjb21tYW5kOiBDb21tYW5kPFM+KTogVCB7XG4gICAgICAgIHRoaXMuY29tbWFuZCA9IGNvbW1hbmQ7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRoaXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29tbWFuZCgpOiBDb21tYW5kPFM+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tbWFuZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVxdWlyZXMocmVxdWlyZW1lbnQ6IFByZWRpY2F0ZTxTPik6IFQge1xuICAgICAgICB0aGlzLnJlcXVpcmVtZW50ID0gcmVxdWlyZW1lbnQ7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRoaXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UmVxdWlyZW1lbnQoKTogUHJlZGljYXRlPFM+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVxdWlyZW1lbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZGlyZWN0KHRhcmdldDogQ29tbWFuZE5vZGU8Uz4sIG1vZGlmaWVyPzogU2luZ2xlUmVkaXJlY3RNb2RpZmllcjxTPik6IFQge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3J3YXJkKHRhcmdldCwgbW9kaWZpZXIgPT0gbnVsbCA/IG51bGwgOiAobzogQ29tbWFuZENvbnRleHQ8Uz4pID0+IFttb2RpZmllci5hcHBseShvKV0sIGZhbHNlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZm9yayh0YXJnZXQ6IENvbW1hbmROb2RlPFM+LCBtb2RpZmllcjogUmVkaXJlY3RNb2RpZmllcjxTPik6IFQge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3J3YXJkKHRhcmdldCwgbW9kaWZpZXIsIHRydWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmb3J3YXJkKHRhcmdldDogQ29tbWFuZE5vZGU8Uz4sIG1vZGlmaWVyOiBSZWRpcmVjdE1vZGlmaWVyPFM+IHwgbnVsbCwgZm9yazogYm9vbGVhbik6IFQge1xuICAgICAgICBpZiAodGhpcy5hcmdzLmdldENoaWxkcmVuQ291bnQoKSA+IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGZvcndhcmQgYSBub2RlIHdpdGggY2hpbGRyZW4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudGFyZ2V0ID0gdGFyZ2V0O1xuICAgICAgICB0aGlzLm1vZGlmaWVyID0gbW9kaWZpZXI7XG4gICAgICAgIHRoaXMuZm9ya3MgPSBmb3JrO1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRUaGlzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFJlZGlyZWN0KCk6IENvbW1hbmROb2RlPFM+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFyZ2V0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRSZWRpcmVjdE1vZGlmaWVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5tb2RpZmllcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNGb3JrKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JrcztcbiAgICB9XG5cbiAgICBwdWJsaWMgYWJzdHJhY3QgYnVpbGQoKTogQ29tbWFuZE5vZGU8Uz47XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFyZ3VtZW50QnVpbGRlcjtcbiJdLCJuYW1lcyI6WyJSb290Q29tbWFuZE5vZGUiLCJDb21tYW5kTm9kZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQVFBLE1BQWUsZUFBb0QsQ0FBQTtBQUFBLEVBQ3ZELElBQUEsR0FBMkIsSUFBSUEsZ0NBQWdCLEVBQUEsQ0FBQTtBQUFBLEVBRS9DLE9BQUEsQ0FBQTtBQUFBLEVBRUEsV0FBQSxDQUFBO0FBQUEsRUFFQSxNQUFBLENBQUE7QUFBQSxFQUVBLFFBQXVDLEdBQUEsSUFBQSxDQUFBO0FBQUEsRUFFdkMsS0FBQSxDQUFBO0FBQUEsRUFJRCxLQUFLLEdBQWtELEVBQUE7QUFDMUQsSUFBSSxJQUFBLEVBQUUsSUFBSyxDQUFBLE1BQUEsSUFBVSxJQUFPLENBQUEsRUFBQTtBQUN4QixNQUFNLE1BQUEsSUFBSSxNQUFNLDBDQUEwQyxDQUFBLENBQUE7QUFBQSxLQUM5RDtBQUVBLElBQUEsSUFBSSxHQUFlLFlBQUFDLDRCQUFBO0FBQWEsTUFBSyxJQUFBLENBQUEsSUFBQSxDQUFLLFNBQVMsR0FBRyxDQUFBLENBQUE7QUFBQTtBQUNqRCxNQUFBLElBQUEsQ0FBSyxJQUFLLENBQUEsUUFBQSxDQUFTLEdBQUksQ0FBQSxLQUFBLEVBQU8sQ0FBQSxDQUFBO0FBRW5DLElBQUEsT0FBTyxLQUFLLE9BQVEsRUFBQSxDQUFBO0FBQUEsR0FDeEI7QUFBQSxFQUVPLFlBQXlDLEdBQUE7QUFDNUMsSUFBTyxPQUFBLElBQUEsQ0FBSyxLQUFLLFdBQVksRUFBQSxDQUFBO0FBQUEsR0FDakM7QUFBQSxFQUVPLFNBQVMsT0FBd0IsRUFBQTtBQUNwQyxJQUFBLElBQUEsQ0FBSyxPQUFVLEdBQUEsT0FBQSxDQUFBO0FBQ2YsSUFBQSxPQUFPLEtBQUssT0FBUSxFQUFBLENBQUE7QUFBQSxHQUN4QjtBQUFBLEVBRU8sVUFBeUIsR0FBQTtBQUM1QixJQUFBLE9BQU8sSUFBSyxDQUFBLE9BQUEsQ0FBQTtBQUFBLEdBQ2hCO0FBQUEsRUFFTyxTQUFTLFdBQThCLEVBQUE7QUFDMUMsSUFBQSxJQUFBLENBQUssV0FBYyxHQUFBLFdBQUEsQ0FBQTtBQUNuQixJQUFBLE9BQU8sS0FBSyxPQUFRLEVBQUEsQ0FBQTtBQUFBLEdBQ3hCO0FBQUEsRUFFTyxjQUErQixHQUFBO0FBQ2xDLElBQUEsT0FBTyxJQUFLLENBQUEsV0FBQSxDQUFBO0FBQUEsR0FDaEI7QUFBQSxFQUVPLFFBQUEsQ0FBUyxRQUF3QixRQUF5QyxFQUFBO0FBQzdFLElBQUEsT0FBTyxJQUFLLENBQUEsT0FBQSxDQUFRLE1BQVEsRUFBQSxRQUFBLElBQVksT0FBTyxJQUFPLEdBQUEsQ0FBQyxDQUF5QixLQUFBLENBQUMsUUFBUyxDQUFBLEtBQUEsQ0FBTSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUEsQ0FBQTtBQUFBLEdBQzlHO0FBQUEsRUFFTyxJQUFBLENBQUssUUFBd0IsUUFBa0MsRUFBQTtBQUNsRSxJQUFBLE9BQU8sSUFBSyxDQUFBLE9BQUEsQ0FBUSxNQUFRLEVBQUEsUUFBQSxFQUFVLElBQUksQ0FBQSxDQUFBO0FBQUEsR0FDOUM7QUFBQSxFQUVPLE9BQUEsQ0FBUSxNQUF3QixFQUFBLFFBQUEsRUFBc0MsSUFBa0IsRUFBQTtBQUMzRixJQUFBLElBQUksSUFBSyxDQUFBLElBQUEsQ0FBSyxnQkFBaUIsRUFBQSxHQUFJLENBQUcsRUFBQTtBQUNsQyxNQUFNLE1BQUEsSUFBSSxNQUFNLHFDQUFxQyxDQUFBLENBQUE7QUFBQSxLQUN6RDtBQUVBLElBQUEsSUFBQSxDQUFLLE1BQVMsR0FBQSxNQUFBLENBQUE7QUFDZCxJQUFBLElBQUEsQ0FBSyxRQUFXLEdBQUEsUUFBQSxDQUFBO0FBQ2hCLElBQUEsSUFBQSxDQUFLLEtBQVEsR0FBQSxJQUFBLENBQUE7QUFDYixJQUFBLE9BQU8sS0FBSyxPQUFRLEVBQUEsQ0FBQTtBQUFBLEdBQ3hCO0FBQUEsRUFFTyxXQUE4QixHQUFBO0FBQ2pDLElBQUEsT0FBTyxJQUFLLENBQUEsTUFBQSxDQUFBO0FBQUEsR0FDaEI7QUFBQSxFQUVPLG1CQUFzQixHQUFBO0FBQ3pCLElBQUEsT0FBTyxJQUFLLENBQUEsUUFBQSxDQUFBO0FBQUEsR0FDaEI7QUFBQSxFQUVPLE1BQWtCLEdBQUE7QUFDckIsSUFBQSxPQUFPLElBQUssQ0FBQSxLQUFBLENBQUE7QUFBQSxHQUNoQjtBQUdKOzs7OyJ9
@@ -0,0 +1,30 @@
1
+ import { default as Predicate } from '../Predicate';
2
+ import { default as CommandNode } from '../tree/CommandNode';
3
+ import { default as SingleRedirectModifier } from '../SingleRedirectModifier';
4
+ import { default as RedirectModifier } from '../RedirectModifier';
5
+ import { default as Command } from '../Command';
6
+
7
+ declare abstract class ArgumentBuilder<S, T extends ArgumentBuilder<S, T>> {
8
+ private args;
9
+ private command;
10
+ private requirement;
11
+ private target;
12
+ private modifier;
13
+ private forks;
14
+ abstract getThis(): T;
15
+ then(arg: ArgumentBuilder<S, any> | CommandNode<S>): T;
16
+ getArguments(): Iterable<CommandNode<S>>;
17
+ executes(command: Command<S>): T;
18
+ getCommand(): Command<S>;
19
+ requires(requirement: Predicate<S>): T;
20
+ getRequirement(): Predicate<S>;
21
+ redirect(target: CommandNode<S>, modifier?: SingleRedirectModifier<S>): T;
22
+ fork(target: CommandNode<S>, modifier: RedirectModifier<S>): T;
23
+ forward(target: CommandNode<S>, modifier: RedirectModifier<S> | null, fork: boolean): T;
24
+ getRedirect(): CommandNode<S>;
25
+ getRedirectModifier(): RedirectModifier<S> | null;
26
+ isFork(): boolean;
27
+ abstract build(): CommandNode<S>;
28
+ }
29
+ export default ArgumentBuilder;
30
+ //# sourceMappingURL=ArgumentBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArgumentBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/builder/ArgumentBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,gBAAgB,MAAM,qBAAqB,CAAC;AACnD,OAAO,sBAAsB,MAAM,2BAA2B,CAAC;AAC/D,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAE9C,OAAO,SAAS,MAAM,cAAc,CAAC;AAGrC,uBAAe,eAAe,CAAC,CAAC,EAAE,CAAC,SAAS,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7D,OAAO,CAAC,IAAI,CAA6C;IAEzD,OAAO,CAAC,OAAO,CAAc;IAE7B,OAAO,CAAC,WAAW,CAAgB;IAEnC,OAAO,CAAC,MAAM,CAAkB;IAEhC,OAAO,CAAC,QAAQ,CAAoC;IAEpD,OAAO,CAAC,KAAK,CAAW;aAER,OAAO,IAAI,CAAC;IAErB,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;IAWtD,YAAY,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAIxC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAKhC,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC;IAIxB,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IAKtC,cAAc,IAAI,SAAS,CAAC,CAAC,CAAC;IAI9B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,CAAC;IAIzE,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC;IAI9D,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC;IAWvF,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC;IAI7B,mBAAmB;IAInB,MAAM,IAAI,OAAO;aAIR,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC;CAC1C;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1,68 @@
1
+ import CommandNode from '../tree/CommandNode.es.js';
2
+ import RootCommandNode from '../tree/RootCommandNode.es.js';
3
+ import '../util/isEqual.es.js';
4
+ import '../suggestion/Suggestions.es.js';
5
+ import '../context/StringRange.es.js';
6
+
7
+ class ArgumentBuilder {
8
+ args = new RootCommandNode();
9
+ command;
10
+ requirement;
11
+ target;
12
+ modifier = null;
13
+ forks;
14
+ then(arg) {
15
+ if (!(this.target == null)) {
16
+ throw new Error("Cannot add children to a redirected node");
17
+ }
18
+ if (arg instanceof CommandNode)
19
+ this.args.addChild(arg);
20
+ else
21
+ this.args.addChild(arg.build());
22
+ return this.getThis();
23
+ }
24
+ getArguments() {
25
+ return this.args.getChildren();
26
+ }
27
+ executes(command) {
28
+ this.command = command;
29
+ return this.getThis();
30
+ }
31
+ getCommand() {
32
+ return this.command;
33
+ }
34
+ requires(requirement) {
35
+ this.requirement = requirement;
36
+ return this.getThis();
37
+ }
38
+ getRequirement() {
39
+ return this.requirement;
40
+ }
41
+ redirect(target, modifier) {
42
+ return this.forward(target, modifier == null ? null : (o) => [modifier.apply(o)], false);
43
+ }
44
+ fork(target, modifier) {
45
+ return this.forward(target, modifier, true);
46
+ }
47
+ forward(target, modifier, fork) {
48
+ if (this.args.getChildrenCount() > 0) {
49
+ throw new Error("Cannot forward a node with children");
50
+ }
51
+ this.target = target;
52
+ this.modifier = modifier;
53
+ this.forks = fork;
54
+ return this.getThis();
55
+ }
56
+ getRedirect() {
57
+ return this.target;
58
+ }
59
+ getRedirectModifier() {
60
+ return this.modifier;
61
+ }
62
+ isFork() {
63
+ return this.forks;
64
+ }
65
+ }
66
+
67
+ export { ArgumentBuilder as default };
68
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJndW1lbnRCdWlsZGVyLmVzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2J1aWxkZXIvQXJndW1lbnRCdWlsZGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21tYW5kIGZyb20gJy4uL0NvbW1hbmQnO1xuaW1wb3J0IFJlZGlyZWN0TW9kaWZpZXIgZnJvbSAnLi4vUmVkaXJlY3RNb2RpZmllcic7XG5pbXBvcnQgU2luZ2xlUmVkaXJlY3RNb2RpZmllciBmcm9tICcuLi9TaW5nbGVSZWRpcmVjdE1vZGlmaWVyJztcbmltcG9ydCBDb21tYW5kTm9kZSBmcm9tICcuLi90cmVlL0NvbW1hbmROb2RlJztcbmltcG9ydCBSb290Q29tbWFuZE5vZGUgZnJvbSAnLi4vdHJlZS9Sb290Q29tbWFuZE5vZGUnO1xuaW1wb3J0IFByZWRpY2F0ZSBmcm9tICcuLi9QcmVkaWNhdGUnO1xuaW1wb3J0IENvbW1hbmRDb250ZXh0IGZyb20gJy4uL2NvbnRleHQvQ29tbWFuZENvbnRleHQnO1xuXG5hYnN0cmFjdCBjbGFzcyBBcmd1bWVudEJ1aWxkZXI8UywgVCBleHRlbmRzIEFyZ3VtZW50QnVpbGRlcjxTLCBUPj4ge1xuICAgIHByaXZhdGUgYXJnczogUm9vdENvbW1hbmROb2RlPFM+ID0gbmV3IFJvb3RDb21tYW5kTm9kZSgpO1xuXG4gICAgcHJpdmF0ZSBjb21tYW5kITogQ29tbWFuZDxTPjtcblxuICAgIHByaXZhdGUgcmVxdWlyZW1lbnQhOiBQcmVkaWNhdGU8Uz47XG5cbiAgICBwcml2YXRlIHRhcmdldCE6IENvbW1hbmROb2RlPFM+O1xuXG4gICAgcHJpdmF0ZSBtb2RpZmllcjogUmVkaXJlY3RNb2RpZmllcjxTPiB8IG51bGwgPSBudWxsO1xuXG4gICAgcHJpdmF0ZSBmb3JrcyE6IGJvb2xlYW47XG5cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0VGhpcygpOiBUO1xuXG4gICAgcHVibGljIHRoZW4oYXJnOiBBcmd1bWVudEJ1aWxkZXI8UywgYW55PiB8IENvbW1hbmROb2RlPFM+KTogVCB7XG4gICAgICAgIGlmICghKHRoaXMudGFyZ2V0ID09IG51bGwpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBhZGQgY2hpbGRyZW4gdG8gYSByZWRpcmVjdGVkIG5vZGUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhcmcgaW5zdGFuY2VvZiBDb21tYW5kTm9kZSkgdGhpcy5hcmdzLmFkZENoaWxkKGFyZyk7XG4gICAgICAgIGVsc2UgdGhpcy5hcmdzLmFkZENoaWxkKGFyZy5idWlsZCgpKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5nZXRUaGlzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEFyZ3VtZW50cygpOiBJdGVyYWJsZTxDb21tYW5kTm9kZTxTPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hcmdzLmdldENoaWxkcmVuKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGV4ZWN1dGVzKGNvbW1hbmQ6IENvbW1hbmQ8Uz4pOiBUIHtcbiAgICAgICAgdGhpcy5jb21tYW5kID0gY29tbWFuZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VGhpcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb21tYW5kKCk6IENvbW1hbmQ8Uz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21tYW5kO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXF1aXJlcyhyZXF1aXJlbWVudDogUHJlZGljYXRlPFM+KTogVCB7XG4gICAgICAgIHRoaXMucmVxdWlyZW1lbnQgPSByZXF1aXJlbWVudDtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VGhpcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRSZXF1aXJlbWVudCgpOiBQcmVkaWNhdGU8Uz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXF1aXJlbWVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVkaXJlY3QodGFyZ2V0OiBDb21tYW5kTm9kZTxTPiwgbW9kaWZpZXI/OiBTaW5nbGVSZWRpcmVjdE1vZGlmaWVyPFM+KTogVCB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcndhcmQodGFyZ2V0LCBtb2RpZmllciA9PSBudWxsID8gbnVsbCA6IChvOiBDb21tYW5kQ29udGV4dDxTPikgPT4gW21vZGlmaWVyLmFwcGx5KG8pXSwgZmFsc2UpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmb3JrKHRhcmdldDogQ29tbWFuZE5vZGU8Uz4sIG1vZGlmaWVyOiBSZWRpcmVjdE1vZGlmaWVyPFM+KTogVCB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcndhcmQodGFyZ2V0LCBtb2RpZmllciwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGZvcndhcmQodGFyZ2V0OiBDb21tYW5kTm9kZTxTPiwgbW9kaWZpZXI6IFJlZGlyZWN0TW9kaWZpZXI8Uz4gfCBudWxsLCBmb3JrOiBib29sZWFuKTogVCB7XG4gICAgICAgIGlmICh0aGlzLmFyZ3MuZ2V0Q2hpbGRyZW5Db3VudCgpID4gMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZm9yd2FyZCBhIG5vZGUgd2l0aCBjaGlsZHJlbicpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50YXJnZXQgPSB0YXJnZXQ7XG4gICAgICAgIHRoaXMubW9kaWZpZXIgPSBtb2RpZmllcjtcbiAgICAgICAgdGhpcy5mb3JrcyA9IGZvcms7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRoaXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UmVkaXJlY3QoKTogQ29tbWFuZE5vZGU8Uz4ge1xuICAgICAgICByZXR1cm4gdGhpcy50YXJnZXQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFJlZGlyZWN0TW9kaWZpZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vZGlmaWVyO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0ZvcmsoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcmtzO1xuICAgIH1cblxuICAgIHB1YmxpYyBhYnN0cmFjdCBidWlsZCgpOiBDb21tYW5kTm9kZTxTPjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgQXJndW1lbnRCdWlsZGVyO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQVFBLE1BQWUsZUFBb0QsQ0FBQTtBQUFBLEVBQ3ZELElBQUEsR0FBMkIsSUFBSSxlQUFnQixFQUFBLENBQUE7QUFBQSxFQUUvQyxPQUFBLENBQUE7QUFBQSxFQUVBLFdBQUEsQ0FBQTtBQUFBLEVBRUEsTUFBQSxDQUFBO0FBQUEsRUFFQSxRQUF1QyxHQUFBLElBQUEsQ0FBQTtBQUFBLEVBRXZDLEtBQUEsQ0FBQTtBQUFBLEVBSUQsS0FBSyxHQUFrRCxFQUFBO0FBQzFELElBQUksSUFBQSxFQUFFLElBQUssQ0FBQSxNQUFBLElBQVUsSUFBTyxDQUFBLEVBQUE7QUFDeEIsTUFBTSxNQUFBLElBQUksTUFBTSwwQ0FBMEMsQ0FBQSxDQUFBO0FBQUEsS0FDOUQ7QUFFQSxJQUFBLElBQUksR0FBZSxZQUFBLFdBQUE7QUFBYSxNQUFLLElBQUEsQ0FBQSxJQUFBLENBQUssU0FBUyxHQUFHLENBQUEsQ0FBQTtBQUFBO0FBQ2pELE1BQUEsSUFBQSxDQUFLLElBQUssQ0FBQSxRQUFBLENBQVMsR0FBSSxDQUFBLEtBQUEsRUFBTyxDQUFBLENBQUE7QUFFbkMsSUFBQSxPQUFPLEtBQUssT0FBUSxFQUFBLENBQUE7QUFBQSxHQUN4QjtBQUFBLEVBRU8sWUFBeUMsR0FBQTtBQUM1QyxJQUFPLE9BQUEsSUFBQSxDQUFLLEtBQUssV0FBWSxFQUFBLENBQUE7QUFBQSxHQUNqQztBQUFBLEVBRU8sU0FBUyxPQUF3QixFQUFBO0FBQ3BDLElBQUEsSUFBQSxDQUFLLE9BQVUsR0FBQSxPQUFBLENBQUE7QUFDZixJQUFBLE9BQU8sS0FBSyxPQUFRLEVBQUEsQ0FBQTtBQUFBLEdBQ3hCO0FBQUEsRUFFTyxVQUF5QixHQUFBO0FBQzVCLElBQUEsT0FBTyxJQUFLLENBQUEsT0FBQSxDQUFBO0FBQUEsR0FDaEI7QUFBQSxFQUVPLFNBQVMsV0FBOEIsRUFBQTtBQUMxQyxJQUFBLElBQUEsQ0FBSyxXQUFjLEdBQUEsV0FBQSxDQUFBO0FBQ25CLElBQUEsT0FBTyxLQUFLLE9BQVEsRUFBQSxDQUFBO0FBQUEsR0FDeEI7QUFBQSxFQUVPLGNBQStCLEdBQUE7QUFDbEMsSUFBQSxPQUFPLElBQUssQ0FBQSxXQUFBLENBQUE7QUFBQSxHQUNoQjtBQUFBLEVBRU8sUUFBQSxDQUFTLFFBQXdCLFFBQXlDLEVBQUE7QUFDN0UsSUFBQSxPQUFPLElBQUssQ0FBQSxPQUFBLENBQVEsTUFBUSxFQUFBLFFBQUEsSUFBWSxPQUFPLElBQU8sR0FBQSxDQUFDLENBQXlCLEtBQUEsQ0FBQyxRQUFTLENBQUEsS0FBQSxDQUFNLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQSxDQUFBO0FBQUEsR0FDOUc7QUFBQSxFQUVPLElBQUEsQ0FBSyxRQUF3QixRQUFrQyxFQUFBO0FBQ2xFLElBQUEsT0FBTyxJQUFLLENBQUEsT0FBQSxDQUFRLE1BQVEsRUFBQSxRQUFBLEVBQVUsSUFBSSxDQUFBLENBQUE7QUFBQSxHQUM5QztBQUFBLEVBRU8sT0FBQSxDQUFRLE1BQXdCLEVBQUEsUUFBQSxFQUFzQyxJQUFrQixFQUFBO0FBQzNGLElBQUEsSUFBSSxJQUFLLENBQUEsSUFBQSxDQUFLLGdCQUFpQixFQUFBLEdBQUksQ0FBRyxFQUFBO0FBQ2xDLE1BQU0sTUFBQSxJQUFJLE1BQU0scUNBQXFDLENBQUEsQ0FBQTtBQUFBLEtBQ3pEO0FBRUEsSUFBQSxJQUFBLENBQUssTUFBUyxHQUFBLE1BQUEsQ0FBQTtBQUNkLElBQUEsSUFBQSxDQUFLLFFBQVcsR0FBQSxRQUFBLENBQUE7QUFDaEIsSUFBQSxJQUFBLENBQUssS0FBUSxHQUFBLElBQUEsQ0FBQTtBQUNiLElBQUEsT0FBTyxLQUFLLE9BQVEsRUFBQSxDQUFBO0FBQUEsR0FDeEI7QUFBQSxFQUVPLFdBQThCLEdBQUE7QUFDakMsSUFBQSxPQUFPLElBQUssQ0FBQSxNQUFBLENBQUE7QUFBQSxHQUNoQjtBQUFBLEVBRU8sbUJBQXNCLEdBQUE7QUFDekIsSUFBQSxPQUFPLElBQUssQ0FBQSxRQUFBLENBQUE7QUFBQSxHQUNoQjtBQUFBLEVBRU8sTUFBa0IsR0FBQTtBQUNyQixJQUFBLE9BQU8sSUFBSyxDQUFBLEtBQUEsQ0FBQTtBQUFBLEdBQ2hCO0FBR0o7Ozs7In0=
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
+
5
+ const lib_tree_LiteralCommandNode = require('../../LiteralArgumentBuilder-s6PUMmST.cjs');
6
+ require('./ArgumentBuilder.cjs.js');
7
+ require('../tree/CommandNode.cjs.js');
8
+ require('../util/isEqual.cjs.js');
9
+ require('../StringReader.cjs.js');
10
+ require('../../CommandSyntaxException-BKBHJvxr.cjs');
11
+ require('../LiteralMessage.cjs.js');
12
+ require('../context/StringRange.cjs.js');
13
+ require('../suggestion/Suggestions.cjs.js');
14
+ require('../tree/RootCommandNode.cjs.js');
15
+
16
+
17
+
18
+ exports.default = lib_tree_LiteralCommandNode.LiteralArgumentBuilder;
19
+ exports.literal = lib_tree_LiteralCommandNode.literal;
20
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGl0ZXJhbEFyZ3VtZW50QnVpbGRlci5janMuanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7In0=
@@ -0,0 +1,13 @@
1
+ import { default as ArgumentBuilder } from './ArgumentBuilder';
2
+ import { default as LiteralCommandNode } from '../tree/LiteralCommandNode';
3
+
4
+ export default class LiteralArgumentBuilder<S> extends ArgumentBuilder<S, LiteralArgumentBuilder<S>> {
5
+ private literal;
6
+ constructor(literal: string);
7
+ static literal<S>(name: string): LiteralArgumentBuilder<S>;
8
+ getThis(): LiteralArgumentBuilder<S>;
9
+ getLiteral(): string;
10
+ build(): LiteralCommandNode<S>;
11
+ }
12
+ export declare const literal: typeof LiteralArgumentBuilder.literal;
13
+ //# sourceMappingURL=LiteralArgumentBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiteralArgumentBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/builder/LiteralArgumentBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,4BAA4B,CAAC;AAC5D,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,sBAAsB,CAAC,CAAC,CAAE,SAAQ,eAAe,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAChG,OAAO,CAAC,OAAO,CAAS;gBAEL,OAAO,EAAE,MAAM;WAKpB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,sBAAsB,CAAC,CAAC,CAAC;IAI1D,OAAO,IAAI,sBAAsB,CAAC,CAAC,CAAC;IAIpC,UAAU,IAAI,MAAM;IAIpB,KAAK,IAAI,kBAAkB,CAAC,CAAC,CAAC;CAexC;AAED,eAAO,MAAM,OAAO,uCAAiC,CAAC"}
@@ -0,0 +1,11 @@
1
+ export { L as default, l as literal } from '../../LiteralArgumentBuilder-2hpX2C86.js';
2
+ import './ArgumentBuilder.es.js';
3
+ import '../tree/CommandNode.es.js';
4
+ import '../util/isEqual.es.js';
5
+ import '../StringReader.es.js';
6
+ import '../../CommandSyntaxException-Dz8Qlq9d.js';
7
+ import '../LiteralMessage.es.js';
8
+ import '../context/StringRange.es.js';
9
+ import '../suggestion/Suggestions.es.js';
10
+ import '../tree/RootCommandNode.es.js';
11
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGl0ZXJhbEFyZ3VtZW50QnVpbGRlci5lcy5qcyIsInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W10sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OzsifQ==
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
+
5
+ const lib_tree_ArgumentCommandNode = require('../../RequiredArgumentBuilder-DMJ4kl0u.cjs');
6
+ require('./ArgumentBuilder.cjs.js');
7
+ require('../tree/CommandNode.cjs.js');
8
+ require('../util/isEqual.cjs.js');
9
+ require('../context/ParsedArgument.cjs.js');
10
+ require('../context/StringRange.cjs.js');
11
+ require('../StringReader.cjs.js');
12
+ require('../../CommandSyntaxException-BKBHJvxr.cjs');
13
+ require('../LiteralMessage.cjs.js');
14
+ require('../suggestion/Suggestions.cjs.js');
15
+ require('../tree/RootCommandNode.cjs.js');
16
+
17
+
18
+
19
+ exports.argument = lib_tree_ArgumentCommandNode.argument;
20
+ exports.default = lib_tree_ArgumentCommandNode.RequiredArgumentBuilder;
21
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWlyZWRBcmd1bWVudEJ1aWxkZXIuY2pzLmpzIiwic291cmNlcyI6W10sInNvdXJjZXNDb250ZW50IjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsifQ==
@@ -0,0 +1,20 @@
1
+ import { default as ArgumentBuilder } from './ArgumentBuilder';
2
+ import { default as ArgumentCommandNode } from '../tree/ArgumentCommandNode';
3
+ import { default as SuggestionProvider } from '../suggestion/SuggestionProvider';
4
+ import { default as ArgumentType } from '../arguments/ArgumentType';
5
+
6
+ export default class RequiredArgumentBuilder<S, T> extends ArgumentBuilder<S, RequiredArgumentBuilder<S, T>> {
7
+ private name;
8
+ private type;
9
+ private suggestionsProvider;
10
+ private constructor();
11
+ static argument<S, T>(name: string, type: ArgumentType<T>): RequiredArgumentBuilder<unknown, T>;
12
+ suggests(provider: SuggestionProvider<S>): RequiredArgumentBuilder<S, T>;
13
+ getSuggestionsProvider(): SuggestionProvider<S>;
14
+ getThis(): RequiredArgumentBuilder<S, T>;
15
+ getType(): ArgumentType<T>;
16
+ getName(): string;
17
+ build(): ArgumentCommandNode<S, T>;
18
+ }
19
+ export declare const argument: typeof RequiredArgumentBuilder.argument;
20
+ //# sourceMappingURL=RequiredArgumentBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequiredArgumentBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/builder/RequiredArgumentBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,2BAA2B,CAAC;AACrD,OAAO,kBAAkB,MAAM,kCAAkC,CAAC;AAClE,OAAO,mBAAmB,MAAM,6BAA6B,CAAC;AAC9D,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,eAAe,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxG,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,IAAI,CAAkB;IAC9B,OAAO,CAAC,mBAAmB,CAAyB;IAEpD,OAAO;WAMO,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IAIzD,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAKxC,sBAAsB,IAAI,kBAAkB,CAAC,CAAC,CAAC;IAI/C,OAAO,IAAI,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC;IAIxC,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC;IAI1B,OAAO,IAAI,MAAM;IAIjB,KAAK,IAAI,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;CAgB5C;AAED,eAAO,MAAM,QAAQ,yCAAmC,CAAC"}
@@ -0,0 +1,12 @@
1
+ export { a as argument, R as default } from '../../RequiredArgumentBuilder-D105occO.js';
2
+ import './ArgumentBuilder.es.js';
3
+ import '../tree/CommandNode.es.js';
4
+ import '../util/isEqual.es.js';
5
+ import '../context/ParsedArgument.es.js';
6
+ import '../context/StringRange.es.js';
7
+ import '../StringReader.es.js';
8
+ import '../../CommandSyntaxException-Dz8Qlq9d.js';
9
+ import '../LiteralMessage.es.js';
10
+ import '../suggestion/Suggestions.es.js';
11
+ import '../tree/RootCommandNode.es.js';
12
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWlyZWRBcmd1bWVudEJ1aWxkZXIuZXMuanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OyJ9
@@ -0,0 +1,117 @@
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
+
7
+ class CommandContext {
8
+ source;
9
+ input;
10
+ command;
11
+ args;
12
+ rootNode;
13
+ nodes;
14
+ range;
15
+ child;
16
+ modifier;
17
+ forks;
18
+ constructor(source, input, args, command, rootNode, nodes, range, child, modifier, forks) {
19
+ this.source = source;
20
+ this.input = input;
21
+ this.args = args;
22
+ this.command = command;
23
+ this.rootNode = rootNode;
24
+ this.nodes = nodes;
25
+ this.range = range;
26
+ this.child = child;
27
+ this.modifier = modifier;
28
+ this.forks = forks;
29
+ }
30
+ copyFor(source) {
31
+ if (this.source === source)
32
+ return this;
33
+ return new CommandContext(
34
+ source,
35
+ this.input,
36
+ this.args,
37
+ this.command,
38
+ this.rootNode,
39
+ this.nodes,
40
+ this.range,
41
+ this.child,
42
+ this.modifier,
43
+ this.forks
44
+ );
45
+ }
46
+ getChild() {
47
+ return this.child;
48
+ }
49
+ getLastChild() {
50
+ let result = this;
51
+ while (result.getChild()) {
52
+ result = result.getChild();
53
+ }
54
+ return result;
55
+ }
56
+ getCommand() {
57
+ return this.command;
58
+ }
59
+ getSource() {
60
+ return this.source;
61
+ }
62
+ getArgument(name, clazz) {
63
+ const arg = this.args.get(name);
64
+ if (arg == null) {
65
+ throw new Error("No such argument '" + name + "' exists on this command");
66
+ }
67
+ let result = arg.getResult();
68
+ if (clazz == null) {
69
+ return result;
70
+ } else {
71
+ return clazz(result);
72
+ }
73
+ }
74
+ equals(o) {
75
+ if (this === o)
76
+ return true;
77
+ if (!(o instanceof CommandContext))
78
+ return false;
79
+ if (!lib_util_isEqual.default(this.args, o.args))
80
+ return false;
81
+ if (!this.rootNode.equals(o.rootNode))
82
+ return false;
83
+ if (this.nodes.length != o.nodes.length || !lib_util_isEqual.default(this.nodes, o.nodes))
84
+ return false;
85
+ if (this.command ? !lib_util_isEqual.default(this.command, o.command) : o.command != null)
86
+ return false;
87
+ if (!lib_util_isEqual.default(this.source, o.source))
88
+ return false;
89
+ if (this.child ? !this.child.equals(o.child) : o.child != null)
90
+ return false;
91
+ return true;
92
+ }
93
+ getRedirectModifier() {
94
+ return this.modifier;
95
+ }
96
+ getRange() {
97
+ return this.range;
98
+ }
99
+ getInput() {
100
+ return this.input;
101
+ }
102
+ getRootNode() {
103
+ return this.rootNode;
104
+ }
105
+ getNodes() {
106
+ return this.nodes;
107
+ }
108
+ hasNodes() {
109
+ return this.nodes.length >= 0;
110
+ }
111
+ isForked() {
112
+ return this.forks;
113
+ }
114
+ }
115
+
116
+ exports.default = CommandContext;
117
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZENvbnRleHQuY2pzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbnRleHQvQ29tbWFuZENvbnRleHQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGlzRXF1YWwgZnJvbSAnLi4vdXRpbC9pc0VxdWFsJztcbmltcG9ydCB0eXBlIENvbW1hbmQgZnJvbSAnLi4vQ29tbWFuZCc7XG5pbXBvcnQgdHlwZSBSZWRpcmVjdE1vZGlmaWVyIGZyb20gJy4uL1JlZGlyZWN0TW9kaWZpZXInO1xuaW1wb3J0IHR5cGUgQ29tbWFuZE5vZGUgZnJvbSAnLi4vdHJlZS9Db21tYW5kTm9kZSc7XG5pbXBvcnQgdHlwZSBTdHJpbmdSYW5nZSBmcm9tICcuL1N0cmluZ1JhbmdlJztcbmltcG9ydCB0eXBlIFBhcnNlZEFyZ3VtZW50IGZyb20gJy4vUGFyc2VkQXJndW1lbnQnO1xuaW1wb3J0IHR5cGUgUGFyc2VkQ29tbWFuZE5vZGUgZnJvbSAnLi9QYXJzZWRDb21tYW5kTm9kZSc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbW1hbmRDb250ZXh0PFM+IHtcbiAgICBwcml2YXRlIHNvdXJjZTogUztcbiAgICBwcml2YXRlIGlucHV0OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBjb21tYW5kOiBDb21tYW5kPFM+O1xuICAgIHByaXZhdGUgYXJnczogTWFwPFN0cmluZywgUGFyc2VkQXJndW1lbnQ8UywgYW55Pj47XG4gICAgcHJpdmF0ZSByb290Tm9kZTogQ29tbWFuZE5vZGU8Uz47XG4gICAgcHJpdmF0ZSBub2RlczogQXJyYXk8UGFyc2VkQ29tbWFuZE5vZGU8Uz4+O1xuICAgIHByaXZhdGUgcmFuZ2U6IFN0cmluZ1JhbmdlO1xuICAgIHByaXZhdGUgY2hpbGQ6IENvbW1hbmRDb250ZXh0PFM+IHwgbnVsbDtcbiAgICBwcml2YXRlIG1vZGlmaWVyOiBSZWRpcmVjdE1vZGlmaWVyPFM+IHwgbnVsbDtcbiAgICBwcml2YXRlIGZvcmtzOiBib29sZWFuO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBzb3VyY2U6IFMsXG4gICAgICAgIGlucHV0OiBzdHJpbmcsXG4gICAgICAgIGFyZ3M6IE1hcDxTdHJpbmcsIFBhcnNlZEFyZ3VtZW50PFMsIGFueT4+LFxuICAgICAgICBjb21tYW5kOiBDb21tYW5kPFM+LFxuICAgICAgICByb290Tm9kZTogQ29tbWFuZE5vZGU8Uz4sXG4gICAgICAgIG5vZGVzOiBBcnJheTxQYXJzZWRDb21tYW5kTm9kZTxTPj4sXG4gICAgICAgIHJhbmdlOiBTdHJpbmdSYW5nZSxcbiAgICAgICAgY2hpbGQ6IENvbW1hbmRDb250ZXh0PFM+IHwgbnVsbCxcbiAgICAgICAgbW9kaWZpZXI6IFJlZGlyZWN0TW9kaWZpZXI8Uz4gfCBudWxsLFxuICAgICAgICBmb3JrczogYm9vbGVhblxuICAgICkge1xuICAgICAgICB0aGlzLnNvdXJjZSA9IHNvdXJjZTtcbiAgICAgICAgdGhpcy5pbnB1dCA9IGlucHV0O1xuICAgICAgICB0aGlzLmFyZ3MgPSBhcmdzO1xuICAgICAgICB0aGlzLmNvbW1hbmQgPSBjb21tYW5kO1xuICAgICAgICB0aGlzLnJvb3ROb2RlID0gcm9vdE5vZGU7XG4gICAgICAgIHRoaXMubm9kZXMgPSBub2RlcztcbiAgICAgICAgdGhpcy5yYW5nZSA9IHJhbmdlO1xuICAgICAgICB0aGlzLmNoaWxkID0gY2hpbGQ7XG4gICAgICAgIHRoaXMubW9kaWZpZXIgPSBtb2RpZmllcjtcbiAgICAgICAgdGhpcy5mb3JrcyA9IGZvcmtzO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb3B5Rm9yKHNvdXJjZTogUyk6IENvbW1hbmRDb250ZXh0PFM+IHtcbiAgICAgICAgaWYgKHRoaXMuc291cmNlID09PSBzb3VyY2UpIHJldHVybiB0aGlzO1xuXG4gICAgICAgIHJldHVybiBuZXcgQ29tbWFuZENvbnRleHQ8Uz4oXG4gICAgICAgICAgICBzb3VyY2UsXG4gICAgICAgICAgICB0aGlzLmlucHV0LFxuICAgICAgICAgICAgdGhpcy5hcmdzLFxuICAgICAgICAgICAgdGhpcy5jb21tYW5kLFxuICAgICAgICAgICAgdGhpcy5yb290Tm9kZSxcbiAgICAgICAgICAgIHRoaXMubm9kZXMsXG4gICAgICAgICAgICB0aGlzLnJhbmdlLFxuICAgICAgICAgICAgdGhpcy5jaGlsZCxcbiAgICAgICAgICAgIHRoaXMubW9kaWZpZXIsXG4gICAgICAgICAgICB0aGlzLmZvcmtzXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldENoaWxkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGlsZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TGFzdENoaWxkKCk6IENvbW1hbmRDb250ZXh0PFM+IHwgbnVsbCB7XG4gICAgICAgIGxldCByZXN1bHQ6IENvbW1hbmRDb250ZXh0PFM+ID0gdGhpcztcbiAgICAgICAgd2hpbGUgKHJlc3VsdC5nZXRDaGlsZCgpKSB7XG4gICAgICAgICAgICByZXN1bHQgPSByZXN1bHQuZ2V0Q2hpbGQoKSBhcyBhbnk7IC8vIEZJWE1FXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29tbWFuZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tbWFuZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U291cmNlKCk6IFMge1xuICAgICAgICByZXR1cm4gdGhpcy5zb3VyY2U7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEFyZ3VtZW50KG5hbWU6IHN0cmluZywgY2xheno/OiBGdW5jdGlvbik6IGFueSB7XG4gICAgICAgIGNvbnN0IGFyZzogUGFyc2VkQXJndW1lbnQ8UywgYW55PiA9IHRoaXMuYXJncy5nZXQobmFtZSkhOyAvLyBGSVhNRVxuXG4gICAgICAgIGlmIChhcmcgPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTm8gc3VjaCBhcmd1bWVudCAnXCIgKyBuYW1lICsgXCInIGV4aXN0cyBvbiB0aGlzIGNvbW1hbmRcIik7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgcmVzdWx0ID0gYXJnLmdldFJlc3VsdCgpO1xuICAgICAgICBpZiAoY2xhenogPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBjbGF6eihyZXN1bHQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGVxdWFscyhvOiBvYmplY3QpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMgPT09IG8pIHJldHVybiB0cnVlO1xuICAgICAgICBpZiAoIShvIGluc3RhbmNlb2YgQ29tbWFuZENvbnRleHQpKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgaWYgKCFpc0VxdWFsKHRoaXMuYXJncywgby5hcmdzKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICBpZiAoIXRoaXMucm9vdE5vZGUuZXF1YWxzKG8ucm9vdE5vZGUpKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLm5vZGVzLmxlbmd0aCAhPSBvLm5vZGVzLmxlbmd0aCB8fCAhaXNFcXVhbCh0aGlzLm5vZGVzLCBvLm5vZGVzKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5jb21tYW5kID8gIWlzRXF1YWwodGhpcy5jb21tYW5kLCBvLmNvbW1hbmQpIDogby5jb21tYW5kICE9IG51bGwpIHJldHVybiBmYWxzZTtcbiAgICAgICAgaWYgKCFpc0VxdWFsKHRoaXMuc291cmNlLCBvLnNvdXJjZSkpIHJldHVybiBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuY2hpbGQgPyAhdGhpcy5jaGlsZC5lcXVhbHMoby5jaGlsZCEpIDogby5jaGlsZCAhPSBudWxsKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFJlZGlyZWN0TW9kaWZpZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vZGlmaWVyO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRSYW5nZSgpOiBTdHJpbmdSYW5nZSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJhbmdlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRJbnB1dCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Um9vdE5vZGUoKTogQ29tbWFuZE5vZGU8Uz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yb290Tm9kZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Tm9kZXMoKTogQXJyYXk8UGFyc2VkQ29tbWFuZE5vZGU8Uz4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZXM7XG4gICAgfVxuXG4gICAgcHVibGljIGhhc05vZGVzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ub2Rlcy5sZW5ndGggPj0gMDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNGb3JrZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcmtzO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJpc0VxdWFsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFRQSxNQUFxQixjQUFrQixDQUFBO0FBQUEsRUFDM0IsTUFBQSxDQUFBO0FBQUEsRUFDQSxLQUFBLENBQUE7QUFBQSxFQUNBLE9BQUEsQ0FBQTtBQUFBLEVBQ0EsSUFBQSxDQUFBO0FBQUEsRUFDQSxRQUFBLENBQUE7QUFBQSxFQUNBLEtBQUEsQ0FBQTtBQUFBLEVBQ0EsS0FBQSxDQUFBO0FBQUEsRUFDQSxLQUFBLENBQUE7QUFBQSxFQUNBLFFBQUEsQ0FBQTtBQUFBLEVBQ0EsS0FBQSxDQUFBO0FBQUEsRUFFRCxXQUFBLENBQ0gsTUFDQSxFQUFBLEtBQUEsRUFDQSxJQUNBLEVBQUEsT0FBQSxFQUNBLFVBQ0EsS0FDQSxFQUFBLEtBQUEsRUFDQSxLQUNBLEVBQUEsUUFBQSxFQUNBLEtBQ0YsRUFBQTtBQUNFLElBQUEsSUFBQSxDQUFLLE1BQVMsR0FBQSxNQUFBLENBQUE7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
@@ -0,0 +1,35 @@
1
+ import { default as ParsedCommandNode } from './ParsedCommandNode';
2
+ import { default as ParsedArgument } from './ParsedArgument';
3
+ import { default as StringRange } from './StringRange';
4
+ import { default as CommandNode } from '../tree/CommandNode';
5
+ import { default as RedirectModifier } from '../RedirectModifier';
6
+ import { default as Command } from '../Command';
7
+
8
+ export default class CommandContext<S> {
9
+ private source;
10
+ private input;
11
+ private command;
12
+ private args;
13
+ private rootNode;
14
+ private nodes;
15
+ private range;
16
+ private child;
17
+ private modifier;
18
+ private forks;
19
+ constructor(source: S, input: string, args: Map<String, ParsedArgument<S, any>>, command: Command<S>, rootNode: CommandNode<S>, nodes: Array<ParsedCommandNode<S>>, range: StringRange, child: CommandContext<S> | null, modifier: RedirectModifier<S> | null, forks: boolean);
20
+ copyFor(source: S): CommandContext<S>;
21
+ getChild(): CommandContext<S> | null;
22
+ getLastChild(): CommandContext<S> | null;
23
+ getCommand(): Command<S>;
24
+ getSource(): S;
25
+ getArgument(name: string, clazz?: Function): any;
26
+ equals(o: object): boolean;
27
+ getRedirectModifier(): RedirectModifier<S> | null;
28
+ getRange(): StringRange;
29
+ getInput(): string;
30
+ getRootNode(): CommandNode<S>;
31
+ getNodes(): Array<ParsedCommandNode<S>>;
32
+ hasNodes(): boolean;
33
+ isForked(): boolean;
34
+ }
35
+ //# sourceMappingURL=CommandContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandContext.d.ts","sourceRoot":"","sources":["../../../src/lib/context/CommandContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,gBAAgB,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,WAAW,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,iBAAiB,MAAM,qBAAqB,CAAC;AAEzD,MAAM,CAAC,OAAO,OAAO,cAAc,CAAC,CAAC;IACjC,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,IAAI,CAAsC;IAClD,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,KAAK,CAAU;gBAGnB,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EACzC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,EACxB,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAClC,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,EAC/B,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,EACpC,KAAK,EAAE,OAAO;IAcX,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;IAiBrC,QAAQ;IAIR,YAAY,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI;IAQxC,UAAU;IAIV,SAAS,IAAI,CAAC;IAId,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,GAAG,GAAG;IAehD,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAc1B,mBAAmB;IAInB,QAAQ,IAAI,WAAW;IAIvB,QAAQ,IAAI,MAAM;IAIlB,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC;IAI7B,QAAQ,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAIvC,QAAQ,IAAI,OAAO;IAInB,QAAQ,IAAI,OAAO;CAG7B"}
@@ -0,0 +1,113 @@
1
+ import isEqual from '../util/isEqual.es.js';
2
+
3
+ class CommandContext {
4
+ source;
5
+ input;
6
+ command;
7
+ args;
8
+ rootNode;
9
+ nodes;
10
+ range;
11
+ child;
12
+ modifier;
13
+ forks;
14
+ constructor(source, input, args, command, rootNode, nodes, range, child, modifier, forks) {
15
+ this.source = source;
16
+ this.input = input;
17
+ this.args = args;
18
+ this.command = command;
19
+ this.rootNode = rootNode;
20
+ this.nodes = nodes;
21
+ this.range = range;
22
+ this.child = child;
23
+ this.modifier = modifier;
24
+ this.forks = forks;
25
+ }
26
+ copyFor(source) {
27
+ if (this.source === source)
28
+ return this;
29
+ return new CommandContext(
30
+ source,
31
+ this.input,
32
+ this.args,
33
+ this.command,
34
+ this.rootNode,
35
+ this.nodes,
36
+ this.range,
37
+ this.child,
38
+ this.modifier,
39
+ this.forks
40
+ );
41
+ }
42
+ getChild() {
43
+ return this.child;
44
+ }
45
+ getLastChild() {
46
+ let result = this;
47
+ while (result.getChild()) {
48
+ result = result.getChild();
49
+ }
50
+ return result;
51
+ }
52
+ getCommand() {
53
+ return this.command;
54
+ }
55
+ getSource() {
56
+ return this.source;
57
+ }
58
+ getArgument(name, clazz) {
59
+ const arg = this.args.get(name);
60
+ if (arg == null) {
61
+ throw new Error("No such argument '" + name + "' exists on this command");
62
+ }
63
+ let result = arg.getResult();
64
+ if (clazz == null) {
65
+ return result;
66
+ } else {
67
+ return clazz(result);
68
+ }
69
+ }
70
+ equals(o) {
71
+ if (this === o)
72
+ return true;
73
+ if (!(o instanceof CommandContext))
74
+ return false;
75
+ if (!isEqual(this.args, o.args))
76
+ return false;
77
+ if (!this.rootNode.equals(o.rootNode))
78
+ return false;
79
+ if (this.nodes.length != o.nodes.length || !isEqual(this.nodes, o.nodes))
80
+ return false;
81
+ if (this.command ? !isEqual(this.command, o.command) : o.command != null)
82
+ return false;
83
+ if (!isEqual(this.source, o.source))
84
+ return false;
85
+ if (this.child ? !this.child.equals(o.child) : o.child != null)
86
+ return false;
87
+ return true;
88
+ }
89
+ getRedirectModifier() {
90
+ return this.modifier;
91
+ }
92
+ getRange() {
93
+ return this.range;
94
+ }
95
+ getInput() {
96
+ return this.input;
97
+ }
98
+ getRootNode() {
99
+ return this.rootNode;
100
+ }
101
+ getNodes() {
102
+ return this.nodes;
103
+ }
104
+ hasNodes() {
105
+ return this.nodes.length >= 0;
106
+ }
107
+ isForked() {
108
+ return this.forks;
109
+ }
110
+ }
111
+
112
+ export { CommandContext as default };
113
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZENvbnRleHQuZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY29udGV4dC9Db21tYW5kQ29udGV4dC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaXNFcXVhbCBmcm9tICcuLi91dGlsL2lzRXF1YWwnO1xuaW1wb3J0IHR5cGUgQ29tbWFuZCBmcm9tICcuLi9Db21tYW5kJztcbmltcG9ydCB0eXBlIFJlZGlyZWN0TW9kaWZpZXIgZnJvbSAnLi4vUmVkaXJlY3RNb2RpZmllcic7XG5pbXBvcnQgdHlwZSBDb21tYW5kTm9kZSBmcm9tICcuLi90cmVlL0NvbW1hbmROb2RlJztcbmltcG9ydCB0eXBlIFN0cmluZ1JhbmdlIGZyb20gJy4vU3RyaW5nUmFuZ2UnO1xuaW1wb3J0IHR5cGUgUGFyc2VkQXJndW1lbnQgZnJvbSAnLi9QYXJzZWRBcmd1bWVudCc7XG5pbXBvcnQgdHlwZSBQYXJzZWRDb21tYW5kTm9kZSBmcm9tICcuL1BhcnNlZENvbW1hbmROb2RlJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29tbWFuZENvbnRleHQ8Uz4ge1xuICAgIHByaXZhdGUgc291cmNlOiBTO1xuICAgIHByaXZhdGUgaW5wdXQ6IHN0cmluZztcbiAgICBwcml2YXRlIGNvbW1hbmQ6IENvbW1hbmQ8Uz47XG4gICAgcHJpdmF0ZSBhcmdzOiBNYXA8U3RyaW5nLCBQYXJzZWRBcmd1bWVudDxTLCBhbnk+PjtcbiAgICBwcml2YXRlIHJvb3ROb2RlOiBDb21tYW5kTm9kZTxTPjtcbiAgICBwcml2YXRlIG5vZGVzOiBBcnJheTxQYXJzZWRDb21tYW5kTm9kZTxTPj47XG4gICAgcHJpdmF0ZSByYW5nZTogU3RyaW5nUmFuZ2U7XG4gICAgcHJpdmF0ZSBjaGlsZDogQ29tbWFuZENvbnRleHQ8Uz4gfCBudWxsO1xuICAgIHByaXZhdGUgbW9kaWZpZXI6IFJlZGlyZWN0TW9kaWZpZXI8Uz4gfCBudWxsO1xuICAgIHByaXZhdGUgZm9ya3M6IGJvb2xlYW47XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHNvdXJjZTogUyxcbiAgICAgICAgaW5wdXQ6IHN0cmluZyxcbiAgICAgICAgYXJnczogTWFwPFN0cmluZywgUGFyc2VkQXJndW1lbnQ8UywgYW55Pj4sXG4gICAgICAgIGNvbW1hbmQ6IENvbW1hbmQ8Uz4sXG4gICAgICAgIHJvb3ROb2RlOiBDb21tYW5kTm9kZTxTPixcbiAgICAgICAgbm9kZXM6IEFycmF5PFBhcnNlZENvbW1hbmROb2RlPFM+PixcbiAgICAgICAgcmFuZ2U6IFN0cmluZ1JhbmdlLFxuICAgICAgICBjaGlsZDogQ29tbWFuZENvbnRleHQ8Uz4gfCBudWxsLFxuICAgICAgICBtb2RpZmllcjogUmVkaXJlY3RNb2RpZmllcjxTPiB8IG51bGwsXG4gICAgICAgIGZvcmtzOiBib29sZWFuXG4gICAgKSB7XG4gICAgICAgIHRoaXMuc291cmNlID0gc291cmNlO1xuICAgICAgICB0aGlzLmlucHV0ID0gaW5wdXQ7XG4gICAgICAgIHRoaXMuYXJncyA9IGFyZ3M7XG4gICAgICAgIHRoaXMuY29tbWFuZCA9IGNvbW1hbmQ7XG4gICAgICAgIHRoaXMucm9vdE5vZGUgPSByb290Tm9kZTtcbiAgICAgICAgdGhpcy5ub2RlcyA9IG5vZGVzO1xuICAgICAgICB0aGlzLnJhbmdlID0gcmFuZ2U7XG4gICAgICAgIHRoaXMuY2hpbGQgPSBjaGlsZDtcbiAgICAgICAgdGhpcy5tb2RpZmllciA9IG1vZGlmaWVyO1xuICAgICAgICB0aGlzLmZvcmtzID0gZm9ya3M7XG4gICAgfVxuXG4gICAgcHVibGljIGNvcHlGb3Ioc291cmNlOiBTKTogQ29tbWFuZENvbnRleHQ8Uz4ge1xuICAgICAgICBpZiAodGhpcy5zb3VyY2UgPT09IHNvdXJjZSkgcmV0dXJuIHRoaXM7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBDb21tYW5kQ29udGV4dDxTPihcbiAgICAgICAgICAgIHNvdXJjZSxcbiAgICAgICAgICAgIHRoaXMuaW5wdXQsXG4gICAgICAgICAgICB0aGlzLmFyZ3MsXG4gICAgICAgICAgICB0aGlzLmNvbW1hbmQsXG4gICAgICAgICAgICB0aGlzLnJvb3ROb2RlLFxuICAgICAgICAgICAgdGhpcy5ub2RlcyxcbiAgICAgICAgICAgIHRoaXMucmFuZ2UsXG4gICAgICAgICAgICB0aGlzLmNoaWxkLFxuICAgICAgICAgICAgdGhpcy5tb2RpZmllcixcbiAgICAgICAgICAgIHRoaXMuZm9ya3NcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q2hpbGQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoaWxkO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRMYXN0Q2hpbGQoKTogQ29tbWFuZENvbnRleHQ8Uz4gfCBudWxsIHtcbiAgICAgICAgbGV0IHJlc3VsdDogQ29tbWFuZENvbnRleHQ8Uz4gPSB0aGlzO1xuICAgICAgICB3aGlsZSAocmVzdWx0LmdldENoaWxkKCkpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC5nZXRDaGlsZCgpIGFzIGFueTsgLy8gRklYTUVcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb21tYW5kKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21tYW5kO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTb3VyY2UoKTogUyB7XG4gICAgICAgIHJldHVybiB0aGlzLnNvdXJjZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QXJndW1lbnQobmFtZTogc3RyaW5nLCBjbGF6ej86IEZ1bmN0aW9uKTogYW55IHtcbiAgICAgICAgY29uc3QgYXJnOiBQYXJzZWRBcmd1bWVudDxTLCBhbnk+ID0gdGhpcy5hcmdzLmdldChuYW1lKSE7IC8vIEZJWE1FXG5cbiAgICAgICAgaWYgKGFyZyA9PSBudWxsKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJObyBzdWNoIGFyZ3VtZW50ICdcIiArIG5hbWUgKyBcIicgZXhpc3RzIG9uIHRoaXMgY29tbWFuZFwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCByZXN1bHQgPSBhcmcuZ2V0UmVzdWx0KCk7XG4gICAgICAgIGlmIChjbGF6eiA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGNsYXp6KHJlc3VsdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZXF1YWxzKG86IG9iamVjdCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcyA9PT0gbykgcmV0dXJuIHRydWU7XG4gICAgICAgIGlmICghKG8gaW5zdGFuY2VvZiBDb21tYW5kQ29udGV4dCkpIHJldHVybiBmYWxzZTtcblxuICAgICAgICBpZiAoIWlzRXF1YWwodGhpcy5hcmdzLCBvLmFyZ3MpKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGlmICghdGhpcy5yb290Tm9kZS5lcXVhbHMoby5yb290Tm9kZSkpIHJldHVybiBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMubm9kZXMubGVuZ3RoICE9IG8ubm9kZXMubGVuZ3RoIHx8ICFpc0VxdWFsKHRoaXMubm9kZXMsIG8ubm9kZXMpKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLmNvbW1hbmQgPyAhaXNFcXVhbCh0aGlzLmNvbW1hbmQsIG8uY29tbWFuZCkgOiBvLmNvbW1hbmQgIT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuICAgICAgICBpZiAoIWlzRXF1YWwodGhpcy5zb3VyY2UsIG8uc291cmNlKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5jaGlsZCA/ICF0aGlzLmNoaWxkLmVxdWFscyhvLmNoaWxkISkgOiBvLmNoaWxkICE9IG51bGwpIHJldHVybiBmYWxzZTtcblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UmVkaXJlY3RNb2RpZmllcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubW9kaWZpZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFJhbmdlKCk6IFN0cmluZ1JhbmdlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmFuZ2U7XG4gICAgfVxuXG4gICAgcHVibGljIGdldElucHV0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRSb290Tm9kZSgpOiBDb21tYW5kTm9kZTxTPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJvb3ROb2RlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXROb2RlcygpOiBBcnJheTxQYXJzZWRDb21tYW5kTm9kZTxTPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ub2RlcztcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzTm9kZXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm5vZGVzLmxlbmd0aCA+PSAwO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0ZvcmtlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ya3M7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBUUEsTUFBcUIsY0FBa0IsQ0FBQTtBQUFBLEVBQzNCLE1BQUEsQ0FBQTtBQUFBLEVBQ0EsS0FBQSxDQUFBO0FBQUEsRUFDQSxPQUFBLENBQUE7QUFBQSxFQUNBLElBQUEsQ0FBQTtBQUFBLEVBQ0EsUUFBQSxDQUFBO0FBQUEsRUFDQSxLQUFBLENBQUE7QUFBQSxFQUNBLEtBQUEsQ0FBQTtBQUFBLEVBQ0EsS0FBQSxDQUFBO0FBQUEsRUFDQSxRQUFBLENBQUE7QUFBQSxFQUNBLEtBQUEsQ0FBQTtBQUFBLEVBRUQsV0FBQSxDQUNILE1BQ0EsRUFBQSxLQUFBLEVBQ0EsSUFDQSxFQUFBLE9BQUEsRUFDQSxVQUNBLEtBQ0EsRUFBQSxLQUFBLEVBQ0EsS0FDQSxFQUFBLFFBQUEsRUFDQSxLQUNGLEVBQUE7QUFDRSxJQUFBLElBQUEsQ0FBSyxNQUFTLEdBQUEsTUFBQSxDQUFBO0FBQ2QsSUFBQSxJQUFB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