@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
@@ -1,360 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const CommandContextBuilder_1 = __importDefault(require("./context/CommandContextBuilder"));
7
- const CommandSyntaxException_1 = __importDefault(require("./exceptions/CommandSyntaxException"));
8
- const ParseResults_1 = __importDefault(require("./ParseResults"));
9
- const RootCommandNode_1 = __importDefault(require("./tree/RootCommandNode"));
10
- const StringReader_1 = __importDefault(require("./StringReader"));
11
- const Suggestions_1 = __importDefault(require("./suggestion/Suggestions"));
12
- const SuggestionsBuilder_1 = __importDefault(require("./suggestion/SuggestionsBuilder"));
13
- const ARGUMENT_SEPARATOR = ' ';
14
- const USAGE_OPTIONAL_OPEN = '[';
15
- const USAGE_OPTIONAL_CLOSE = ']';
16
- const USAGE_REQUIRED_OPEN = '(';
17
- const USAGE_REQUIRED_CLOSE = ')';
18
- const USAGE_OR = '|';
19
- class CommandDispatcher {
20
- constructor(root = null) {
21
- this.consumer = {
22
- onCommandComplete() { }
23
- };
24
- this.root = root || new RootCommandNode_1.default();
25
- }
26
- register(command) {
27
- let build = command.build();
28
- this.root.addChild(build);
29
- return build;
30
- }
31
- setConsumer(consumer) {
32
- this.consumer = consumer;
33
- }
34
- execute(input, source = null) {
35
- if (typeof input === 'string')
36
- input = new StringReader_1.default(input);
37
- let parse;
38
- if (input instanceof StringReader_1.default) {
39
- if (!(source == null))
40
- parse = this.parse(input, source);
41
- }
42
- else
43
- parse = input;
44
- if (parse.getReader().canRead()) {
45
- if (parse.getExceptions().size === 1) {
46
- throw parse.getExceptions().values().next().value;
47
- }
48
- else if (parse.getContext().getRange().isEmpty()) {
49
- throw CommandSyntaxException_1.default.BUILT_IN_EXCEPTIONS.dispatcherUnknownCommand().createWithContext(parse.getReader());
50
- }
51
- else {
52
- throw CommandSyntaxException_1.default.BUILT_IN_EXCEPTIONS.dispatcherUnknownArgument().createWithContext(parse.getReader());
53
- }
54
- }
55
- let result = [];
56
- let successfulForks = 0;
57
- let forked = false;
58
- let foundCommand = false;
59
- let command = parse.getReader().getString();
60
- let original = parse.getContext().build(command);
61
- let contexts = [];
62
- contexts.push(original);
63
- let next = null;
64
- while (!(contexts == null)) {
65
- for (let i = 0; i < contexts.length; i++) {
66
- let context = contexts[i];
67
- let child = context.getChild();
68
- if (!(child == null)) {
69
- forked = forked || context.isForked();
70
- if (child.hasNodes()) {
71
- foundCommand = true;
72
- let modifier = context.getRedirectModifier();
73
- if (modifier == null) {
74
- if (next == null)
75
- next = [];
76
- next.push(child.copyFor(context.getSource()));
77
- }
78
- else {
79
- try {
80
- let results = modifier.apply(context);
81
- if (results.length !== 0) {
82
- if (next == null)
83
- next = [];
84
- for (let source of results) {
85
- next.push(child.copyFor(source));
86
- }
87
- }
88
- }
89
- catch (ex) {
90
- this.consumer.onCommandComplete(context, false, 0);
91
- if (!forked)
92
- throw ex;
93
- }
94
- }
95
- }
96
- }
97
- else if (context.getCommand() != null) {
98
- foundCommand = true;
99
- try {
100
- let value = context.getCommand()(context);
101
- result.push(value);
102
- this.consumer.onCommandComplete(context, true, value);
103
- successfulForks++;
104
- }
105
- catch (ex) {
106
- this.consumer.onCommandComplete(context, false, ex);
107
- if (!forked)
108
- throw ex;
109
- }
110
- }
111
- }
112
- contexts = next;
113
- next = null;
114
- }
115
- if (!foundCommand) {
116
- this.consumer.onCommandComplete(original, false, 0);
117
- throw CommandSyntaxException_1.default.BUILT_IN_EXCEPTIONS.dispatcherUnknownCommand().createWithContext(parse.getReader());
118
- }
119
- return result;
120
- }
121
- parse(command, source) {
122
- if (typeof command === 'string')
123
- command = new StringReader_1.default(command);
124
- let context = new CommandContextBuilder_1.default(this, source, this.root, command.getCursor());
125
- return this.parseNodes(this.root, command, context);
126
- }
127
- parseNodes(node, originalReader, contextSoFar) {
128
- let source = contextSoFar.getSource();
129
- let errors = null;
130
- let potentials = null;
131
- let cursor = originalReader.getCursor();
132
- for (let child of node.getRelevantNodes(originalReader)) {
133
- if (!child.canUse(source))
134
- continue;
135
- let context = contextSoFar.copy();
136
- let reader = new StringReader_1.default(originalReader);
137
- try {
138
- child.parse(reader, context);
139
- if (reader.canRead())
140
- if (reader.peek() != ARGUMENT_SEPARATOR)
141
- throw CommandSyntaxException_1.default.BUILT_IN_EXCEPTIONS.dispatcherExpectedArgumentSeparator().createWithContext(reader);
142
- }
143
- catch (ex) {
144
- if (errors == null) {
145
- errors = new Map();
146
- }
147
- errors.set(child, ex);
148
- reader.setCursor(cursor);
149
- continue;
150
- }
151
- context.withCommand(child.getCommand());
152
- if (reader.canRead(child.getRedirect() == null ? 2 : 1)) {
153
- reader.skip();
154
- if (!(child.getRedirect() == null)) {
155
- let childContext = new CommandContextBuilder_1.default(this, source, child.getRedirect(), reader.getCursor());
156
- let parse = this.parseNodes(child.getRedirect(), reader, childContext);
157
- context.withChild(parse.getContext());
158
- return new ParseResults_1.default(context, parse.getReader(), parse.getExceptions());
159
- }
160
- else {
161
- let parse = this.parseNodes(child, reader, context);
162
- if (potentials == null) {
163
- potentials = [];
164
- }
165
- potentials.push(parse);
166
- }
167
- }
168
- else {
169
- if (potentials == null) {
170
- potentials = [];
171
- }
172
- potentials.push(new ParseResults_1.default(context, reader, new Map()));
173
- }
174
- }
175
- if (!(potentials == null)) {
176
- if (potentials.length > 1) {
177
- potentials.sort((a, b) => {
178
- if (!a.getReader().canRead() && b.getReader().canRead()) {
179
- return -1;
180
- }
181
- if (a.getReader().canRead() && !b.getReader().canRead()) {
182
- return 1;
183
- }
184
- if (a.getExceptions().size === 0 &&
185
- b.getExceptions().size !== 0) {
186
- return -1;
187
- }
188
- if (a.getExceptions().size !== 0 &&
189
- b.getExceptions().size === 0) {
190
- return 1;
191
- }
192
- return 0;
193
- });
194
- }
195
- return potentials[0];
196
- }
197
- return new ParseResults_1.default(contextSoFar, originalReader, errors == null ? new Map() : errors);
198
- }
199
- getAllUsage(node, source, restricted) {
200
- const result = [];
201
- this.__getAllUsage(node, source, result, '', restricted);
202
- return result;
203
- }
204
- __getAllUsage(node, source, result, prefix = '', restricted) {
205
- if (restricted && !node.canUse(source)) {
206
- return;
207
- }
208
- if (node.getCommand() != null) {
209
- result.push(prefix);
210
- }
211
- if (node.getRedirect() != null) {
212
- const redirect = node.getRedirect() === this.root
213
- ? '...'
214
- : '-> ' + node.getRedirect().getUsageText();
215
- result.push(prefix.length === 0
216
- ? node.getUsageText() + ARGUMENT_SEPARATOR + redirect
217
- : prefix + ARGUMENT_SEPARATOR + redirect);
218
- }
219
- else if (node.getChildrenCount() > 0) {
220
- for (let child of node.getChildren()) {
221
- this.__getAllUsage(child, source, result, prefix.length === 0
222
- ? child.getUsageText()
223
- : prefix + ARGUMENT_SEPARATOR + child.getUsageText(), restricted);
224
- }
225
- }
226
- }
227
- getSmartUsage(node, source) {
228
- let result = new Map();
229
- let optional = node.getCommand() !== null;
230
- for (let child of node.getChildren()) {
231
- let usage = this.__getSmartUsage(child, source, optional, false);
232
- if (!(usage == null)) {
233
- result.set(child, usage);
234
- }
235
- }
236
- return result;
237
- }
238
- __getSmartUsage(node, source, optional, deep) {
239
- if (!node.canUse(source)) {
240
- return null;
241
- }
242
- let self = optional
243
- ? USAGE_OPTIONAL_OPEN + node.getUsageText() + USAGE_OPTIONAL_CLOSE
244
- : node.getUsageText();
245
- let childOptional = node.getCommand() != null;
246
- let open = childOptional ? USAGE_OPTIONAL_OPEN : USAGE_REQUIRED_OPEN;
247
- let close = childOptional ? USAGE_OPTIONAL_CLOSE : USAGE_REQUIRED_CLOSE;
248
- if (!deep) {
249
- if (node.getRedirect() != null) {
250
- let redirect = node.getRedirect() == this.root
251
- ? '...'
252
- : '-> ' + node.getRedirect().getUsageText();
253
- return self + ARGUMENT_SEPARATOR + redirect;
254
- }
255
- else {
256
- let children = [...node.getChildren()].filter((c) => c.canUse(source));
257
- if (children.length == 1) {
258
- let usage = this.__getSmartUsage(children[0], source, childOptional, childOptional);
259
- if (!(usage == null)) {
260
- return self + ARGUMENT_SEPARATOR + usage;
261
- }
262
- }
263
- else if (children.length > 1) {
264
- let childUsage = new Set();
265
- for (let child of children) {
266
- let usage = this.__getSmartUsage(child, source, childOptional, true);
267
- if (!(usage == null)) {
268
- childUsage.add(usage);
269
- }
270
- }
271
- if (childUsage.size === 1) {
272
- let usage = childUsage.values().next().value;
273
- return (self +
274
- ARGUMENT_SEPARATOR +
275
- (childOptional
276
- ? USAGE_OPTIONAL_OPEN +
277
- usage +
278
- USAGE_OPTIONAL_CLOSE
279
- : usage));
280
- }
281
- else if (childUsage.size > 1) {
282
- let builder = open;
283
- let count = 0;
284
- for (let child of children) {
285
- if (count > 0) {
286
- builder += USAGE_OR;
287
- }
288
- builder += child.getUsageText();
289
- count++;
290
- }
291
- if (count > 0) {
292
- builder += close;
293
- return self + ARGUMENT_SEPARATOR + builder;
294
- }
295
- }
296
- }
297
- }
298
- }
299
- return self;
300
- }
301
- async getCompletionSuggestions(parse, cursor = parse.getReader().getTotalLength()) {
302
- let context = parse.getContext();
303
- let nodeBeforeCursor = context.findSuggestionContext(cursor);
304
- let parent = nodeBeforeCursor.parent;
305
- let start = Math.min(nodeBeforeCursor.startPos, cursor);
306
- let fullInput = parse.getReader().getString();
307
- let truncatedInput = fullInput.substring(0, cursor);
308
- let futures = [];
309
- for (let node of parent.getChildren()) {
310
- let future = await Suggestions_1.default.empty();
311
- try {
312
- future = await node.listSuggestions(context.build(truncatedInput), new SuggestionsBuilder_1.default(truncatedInput, start));
313
- }
314
- catch (ignored) { }
315
- futures.push(future);
316
- }
317
- return Promise.resolve(Suggestions_1.default.merge(fullInput, futures));
318
- }
319
- getRoot() {
320
- return this.root;
321
- }
322
- getPath(target) {
323
- let nodes = [];
324
- this.addPaths(this.root, nodes, []);
325
- for (let list of nodes) {
326
- if (list[list.length - 1] === target) {
327
- let result = [];
328
- for (let node of list) {
329
- if (node !== this.root) {
330
- result.push(node.getName());
331
- }
332
- }
333
- return result;
334
- }
335
- }
336
- return [];
337
- }
338
- findNode(path) {
339
- let node = this.root;
340
- for (let name of path) {
341
- node = node.getChild(name);
342
- if (node == null)
343
- return null;
344
- }
345
- return node;
346
- }
347
- findAmbiguities(consumer, context) {
348
- this.root.findAmbiguities(consumer, context);
349
- }
350
- addPaths(node, result, parents) {
351
- let current = [];
352
- current.push(...parents);
353
- current.push(node);
354
- result.push(current);
355
- for (let child of node.getChildren())
356
- this.addPaths(child, result, current);
357
- }
358
- }
359
- exports.default = CommandDispatcher;
360
- //# sourceMappingURL=CommandDispatcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CommandDispatcher.js","sourceRoot":"./src/","sources":["lib/CommandDispatcher.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=ImmutableStringReader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImmutableStringReader.js","sourceRoot":"./src/","sources":["lib/ImmutableStringReader.ts"],"names":[],"mappings":""}
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class LiteralMessage {
4
- constructor(str) {
5
- this.str = str;
6
- }
7
- getString() {
8
- return this.str;
9
- }
10
- toString() {
11
- return this.str;
12
- }
13
- }
14
- exports.default = LiteralMessage;
15
- //# sourceMappingURL=LiteralMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LiteralMessage.js","sourceRoot":"./src/","sources":["lib/LiteralMessage.ts"],"names":[],"mappings":";;AAEA,MAAqB,cAAc;IAG/B,YAAoB,GAAW;QAC3B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;IAEM,SAAS;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;CACJ;AAdD,iCAcC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=Message.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Message.js","sourceRoot":"./src/","sources":["lib/Message.ts"],"names":[],"mappings":""}
@@ -1,24 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const StringReader_1 = __importDefault(require("./StringReader"));
7
- class ParseResults {
8
- constructor(context, reader, exceptions) {
9
- this.context = context;
10
- this.reader = reader || new StringReader_1.default("");
11
- this.exceptions = exceptions || new Map();
12
- }
13
- getContext() {
14
- return this.context;
15
- }
16
- getReader() {
17
- return this.reader;
18
- }
19
- getExceptions() {
20
- return this.exceptions;
21
- }
22
- }
23
- exports.default = ParseResults;
24
- //# sourceMappingURL=ParseResults.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ParseResults.js","sourceRoot":"./src/","sources":["lib/ParseResults.ts"],"names":[],"mappings":";;;;;AAIA,kEAAyC;AAEzC,MAAqB,YAAY;IAQ7B,YAAoB,OAAiC,EAAE,MAA6B,EAAE,UAAuD;QACzI,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,sBAAY,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,IAAI,GAAG,EAA0C,CAAC;IACtF,CAAC;IAEM,UAAU;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAEM,SAAS;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAEM,aAAa;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;CACJ;AAzBD,+BAyBC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=Predicate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Predicate.js","sourceRoot":"./src/","sources":["lib/Predicate.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=RedirectModifier.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RedirectModifier.js","sourceRoot":"./src/","sources":["lib/RedirectModifier.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=ResultConsumer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ResultConsumer.js","sourceRoot":"./src/","sources":["lib/ResultConsumer.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=SingleRedirectModifier.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SingleRedirectModifier.js","sourceRoot":"./src/","sources":["lib/SingleRedirectModifier.ts"],"names":[],"mappings":""}
@@ -1,176 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const CommandSyntaxException_1 = __importDefault(require("./exceptions/CommandSyntaxException"));
7
- const SYNTAX_ESCAPE = '\\';
8
- const SYNTAX_QUOTE = '\"';
9
- class StringReader {
10
- constructor(other) {
11
- this.cursor = 0;
12
- if (typeof other === "string") {
13
- this.string = other;
14
- }
15
- else {
16
- this.string = other.string;
17
- this.cursor = other.cursor;
18
- }
19
- }
20
- getString() {
21
- return this.string;
22
- }
23
- setCursor(cursor) {
24
- this.cursor = cursor;
25
- }
26
- getRemainingLength() {
27
- return (this.string.length - this.cursor);
28
- }
29
- getTotalLength() {
30
- return this.string.length;
31
- }
32
- getCursor() {
33
- return this.cursor;
34
- }
35
- getRead() {
36
- return this.string.substring(0, this.cursor);
37
- }
38
- getRemaining() {
39
- return this.string.substring(this.cursor);
40
- }
41
- canRead(length = 1) {
42
- return this.cursor + length <= this.string.length;
43
- }
44
- peek(offset = 0) {
45
- return this.string.charAt(this.cursor + offset);
46
- }
47
- read() {
48
- return this.string.charAt(this.cursor++);
49
- }
50
- skip() {
51
- this.cursor++;
52
- }
53
- static isAllowedNumber(c) {
54
- return c >= '0' && c <= '9' || c == '.' || c == '-' || c == '+' || c == 'e' || c == 'E';
55
- }
56
- skipWhitespace() {
57
- while ((this.canRead() && /\s/.test(this.peek()))) {
58
- this.skip();
59
- }
60
- }
61
- readInt() {
62
- let start = this.cursor;
63
- while (this.canRead() && StringReader.isAllowedNumber(this.peek())) {
64
- this.skip();
65
- }
66
- let number = this.string.substring(start, this.cursor);
67
- if (number.length === 0) {
68
- throw CommandSyntaxException_1.default.BUILT_IN_EXCEPTIONS.readerExpectedInt().createWithContext(this);
69
- }
70
- const result = parseFloat(number);
71
- if (isNaN(result) || result !== Math.round(result)) {
72
- this.cursor = start;
73
- throw CommandSyntaxException_1.default.BUILT_IN_EXCEPTIONS.readerInvalidInt().createWithContext(this, number);
74
- }
75
- else
76
- return result;
77
- }
78
- readFloat() {
79
- let start = this.cursor;
80
- while ((this.canRead() && StringReader.isAllowedNumber(this.peek()))) {
81
- this.skip();
82
- }
83
- let number = this.string.substring(start, this.cursor);
84
- if (number.length === 0) {
85
- throw CommandSyntaxException_1.default.BUILT_IN_EXCEPTIONS.readerExpectedFloat().createWithContext(this);
86
- }
87
- const result = parseFloat(number);
88
- if (isNaN(result) || result !== Number(number)) {
89
- this.cursor = start;
90
- throw CommandSyntaxException_1.default.BUILT_IN_EXCEPTIONS.readerInvalidFloat().createWithContext(this, number);
91
- }
92
- else
93
- return result;
94
- }
95
- static isAllowedInUnquotedString(c) {
96
- return c >= '0' && c <= '9'
97
- || c >= 'A' && c <= 'Z'
98
- || c >= 'a' && c <= 'z'
99
- || c == '_' || c == '-'
100
- || c == '.' || c == '+';
101
- }
102
- readUnquotedString() {
103
- let start = this.cursor;
104
- while (this.canRead() && StringReader.isAllowedInUnquotedString(this.peek())) {
105
- this.skip();
106
- }
107
- return this.string.substring(start, this.cursor);
108
- }
109
- readQuotedString() {
110
- if (!this.canRead()) {
111
- return "";
112
- }
113
- else if ((this.peek() != SYNTAX_QUOTE)) {
114
- throw CommandSyntaxException_1.default.BUILT_IN_EXCEPTIONS.readerExpectedStartOfQuote().createWithContext(this);
115
- }
116
- this.skip();
117
- let result = "";
118
- let escaped = false;
119
- while (this.canRead()) {
120
- let c = this.read();
121
- if (escaped) {
122
- if (c == SYNTAX_QUOTE || c == SYNTAX_ESCAPE) {
123
- result += c;
124
- escaped = false;
125
- }
126
- else {
127
- this.setCursor(this.getCursor() - 1);
128
- throw CommandSyntaxException_1.default.BUILT_IN_EXCEPTIONS.readerInvalidEscape().createWithContext(this, c);
129
- }
130
- }
131
- else if (c == SYNTAX_ESCAPE) {
132
- escaped = true;
133
- }
134
- else if (c == SYNTAX_QUOTE) {
135
- return result;
136
- }
137
- else {
138
- result += c;
139
- }
140
- }
141
- throw CommandSyntaxException_1.default.BUILT_IN_EXCEPTIONS.readerExpectedEndOfQuote().createWithContext(this);
142
- }
143
- readString() {
144
- if (this.canRead() && (this.peek() === SYNTAX_QUOTE)) {
145
- return this.readQuotedString();
146
- }
147
- else {
148
- return this.readUnquotedString();
149
- }
150
- }
151
- readBoolean() {
152
- let start = this.cursor;
153
- let value = this.readString();
154
- if (value.length === 0) {
155
- throw CommandSyntaxException_1.default.BUILT_IN_EXCEPTIONS.readerExpectedBool().createWithContext(this);
156
- }
157
- if (value === "true") {
158
- return true;
159
- }
160
- else if (value === "false") {
161
- return false;
162
- }
163
- else {
164
- this.cursor = start;
165
- throw CommandSyntaxException_1.default.BUILT_IN_EXCEPTIONS.readerInvalidBool().createWithContext(this, value);
166
- }
167
- }
168
- expect(c) {
169
- if (!this.canRead() || this.peek() !== c) {
170
- throw CommandSyntaxException_1.default.BUILT_IN_EXCEPTIONS.readerExpectedSymbol().createWithContext(this, c);
171
- }
172
- this.skip();
173
- }
174
- }
175
- exports.default = StringReader;
176
- //# sourceMappingURL=StringReader.js.map