@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,29 @@
1
+ const EXAMPLES = ["true", "false"];
2
+ class BoolArgumentType {
3
+ constructor() {
4
+ }
5
+ static bool() {
6
+ return new BoolArgumentType();
7
+ }
8
+ static getBool(context, name) {
9
+ return context.getArgument(name, Boolean);
10
+ }
11
+ parse(reader) {
12
+ return reader.readBoolean();
13
+ }
14
+ listSuggestions(context, builder) {
15
+ if ("true".startsWith(builder.getRemaining().toLowerCase())) {
16
+ builder.suggest("true");
17
+ }
18
+ if ("false".startsWith(builder.getRemaining().toLowerCase())) {
19
+ builder.suggest("false");
20
+ }
21
+ return builder.buildPromise();
22
+ }
23
+ getExamples() {
24
+ return EXAMPLES;
25
+ }
26
+ }
27
+
28
+ export { BoolArgumentType as default };
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9vbEFyZ3VtZW50VHlwZS5lcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9hcmd1bWVudHMvQm9vbEFyZ3VtZW50VHlwZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU3RyaW5nUmVhZGVyIGZyb20gXCIuLi9TdHJpbmdSZWFkZXJcIlxuaW1wb3J0IENvbW1hbmRDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0L0NvbW1hbmRDb250ZXh0XCJcbmltcG9ydCBTdWdnZXN0aW9ucyBmcm9tIFwiLi4vc3VnZ2VzdGlvbi9TdWdnZXN0aW9uc1wiXG5pbXBvcnQgU3VnZ2VzdGlvbnNCdWlsZGVyIGZyb20gXCIuLi9zdWdnZXN0aW9uL1N1Z2dlc3Rpb25zQnVpbGRlclwiXG5pbXBvcnQgQXJndW1lbnRUeXBlIGZyb20gXCIuL0FyZ3VtZW50VHlwZVwiXG5cbmNvbnN0IEVYQU1QTEVTID0gW1widHJ1ZVwiLCBcImZhbHNlXCJdO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCb29sQXJndW1lbnRUeXBlIGltcGxlbWVudHMgQXJndW1lbnRUeXBlPGJvb2xlYW4+IHtcblxuICAgIHByaXZhdGUgY29uc3RydWN0b3IgKCkge1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgYm9vbCgpOiBCb29sQXJndW1lbnRUeXBlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBCb29sQXJndW1lbnRUeXBlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRCb29sKGNvbnRleHQ6IENvbW1hbmRDb250ZXh0PGFueT4sIG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gY29udGV4dC5nZXRBcmd1bWVudChuYW1lLCBCb29sZWFuKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcGFyc2UocmVhZGVyOiBTdHJpbmdSZWFkZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHJlYWRlci5yZWFkQm9vbGVhbigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBsaXN0U3VnZ2VzdGlvbnMoY29udGV4dDogQ29tbWFuZENvbnRleHQ8YW55PiwgYnVpbGRlcjogU3VnZ2VzdGlvbnNCdWlsZGVyKTogUHJvbWlzZTxTdWdnZXN0aW9ucz4ge1xuICAgICAgICBpZiAoXCJ0cnVlXCIuc3RhcnRzV2l0aChidWlsZGVyLmdldFJlbWFpbmluZygpLnRvTG93ZXJDYXNlKCkpKSB7XG4gICAgICAgICAgICBidWlsZGVyLnN1Z2dlc3QoXCJ0cnVlXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFwiZmFsc2VcIi5zdGFydHNXaXRoKGJ1aWxkZXIuZ2V0UmVtYWluaW5nKCkudG9Mb3dlckNhc2UoKSkpIHtcbiAgICAgICAgICAgIGJ1aWxkZXIuc3VnZ2VzdChcImZhbHNlXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGJ1aWxkZXIuYnVpbGRQcm9taXNlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEV4YW1wbGVzKCk6IEl0ZXJhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gRVhBTVBMRVM7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sUUFBQSxHQUFXLENBQUMsTUFBQSxFQUFRLE9BQU8sQ0FBQSxDQUFBO0FBRWpDLE1BQXFCLGdCQUFrRCxDQUFBO0FBQUEsRUFFM0QsV0FBZSxHQUFBO0FBQUEsR0FDdkI7QUFBQSxFQUVBLE9BQWMsSUFBeUIsR0FBQTtBQUNuQyxJQUFBLE9BQU8sSUFBSSxnQkFBaUIsRUFBQSxDQUFBO0FBQUEsR0FDaEM7QUFBQSxFQUVBLE9BQWMsT0FBUSxDQUFBLE9BQUEsRUFBOEIsSUFBdUIsRUFBQTtBQUN2RSxJQUFPLE9BQUEsT0FBQSxDQUFRLFdBQVksQ0FBQSxJQUFBLEVBQU0sT0FBTyxDQUFBLENBQUE7QUFBQSxHQUM1QztBQUFBLEVBRU8sTUFBTSxNQUErQixFQUFBO0FBQ3hDLElBQUEsT0FBTyxPQUFPLFdBQVksRUFBQSxDQUFBO0FBQUEsR0FDOUI7QUFBQSxFQUVPLGVBQUEsQ0FBZ0IsU0FBOEIsT0FBbUQsRUFBQTtBQUNwRyxJQUFBLElBQUksT0FBTyxVQUFXLENBQUEsT0FBQSxDQUFRLGNBQWUsQ0FBQSxXQUFBLEVBQWEsQ0FBRyxFQUFBO0FBQ3pELE1BQUEsT0FBQSxDQUFRLFFBQVEsTUFBTSxDQUFBLENBQUE7QUFBQSxLQUMxQjtBQUVBLElBQUEsSUFBSSxRQUFRLFVBQVcsQ0FBQSxPQUFBLENBQVEsY0FBZSxDQUFBLFdBQUEsRUFBYSxDQUFHLEVBQUE7QUFDMUQsTUFBQSxPQUFBLENBQVEsUUFBUSxPQUFPLENBQUEsQ0FBQTtBQUFBLEtBQzNCO0FBRUEsSUFBQSxPQUFPLFFBQVEsWUFBYSxFQUFBLENBQUE7QUFBQSxHQUNoQztBQUFBLEVBRU8sV0FBZ0MsR0FBQTtBQUNuQyxJQUFPLE9BQUEsUUFBQSxDQUFBO0FBQUEsR0FDWDtBQUNKOzs7OyJ9
@@ -0,0 +1,71 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
+
5
+ const lib_exceptions_SimpleCommandExceptionType = require('../../CommandSyntaxException-BKBHJvxr.cjs');
6
+ require('../LiteralMessage.cjs.js');
7
+
8
+ const EXAMPLES = ["0", "1.2", ".5", "-1", "-.5", "-1234.56"];
9
+ class FloatArgumentType {
10
+ minimum;
11
+ maximum;
12
+ constructor(minimum, maximum) {
13
+ this.minimum = minimum;
14
+ this.maximum = maximum;
15
+ }
16
+ static float(min = -Infinity, max = Infinity) {
17
+ return new FloatArgumentType(min, max);
18
+ }
19
+ static getFloat(context, name) {
20
+ return context.getArgument(name, Number);
21
+ }
22
+ getMinimum() {
23
+ return this.minimum;
24
+ }
25
+ getMaximum() {
26
+ return this.maximum;
27
+ }
28
+ parse(reader) {
29
+ let start = reader.getCursor();
30
+ let result = reader.readFloat();
31
+ if (result < this.minimum) {
32
+ reader.setCursor(start);
33
+ throw lib_exceptions_SimpleCommandExceptionType.CommandSyntaxException.BUILT_IN_EXCEPTIONS.integerTooLow().createWithContext(
34
+ reader,
35
+ result,
36
+ this.minimum
37
+ );
38
+ }
39
+ if (result > this.maximum) {
40
+ reader.setCursor(start);
41
+ throw lib_exceptions_SimpleCommandExceptionType.CommandSyntaxException.BUILT_IN_EXCEPTIONS.integerTooHigh().createWithContext(
42
+ reader,
43
+ result,
44
+ this.maximum
45
+ );
46
+ }
47
+ return result;
48
+ }
49
+ equals(o) {
50
+ if (this === o)
51
+ return true;
52
+ if (!(o instanceof FloatArgumentType))
53
+ return false;
54
+ return this.maximum == o.maximum && this.minimum == o.minimum;
55
+ }
56
+ toString() {
57
+ if (this.minimum === -Infinity && this.maximum === Infinity) {
58
+ return "float()";
59
+ } else if (this.maximum == Infinity) {
60
+ return "float(" + this.minimum + ")";
61
+ } else {
62
+ return "float(" + this.minimum + ", " + this.maximum + ")";
63
+ }
64
+ }
65
+ getExamples() {
66
+ return EXAMPLES;
67
+ }
68
+ }
69
+
70
+ exports.default = FloatArgumentType;
71
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmxvYXRBcmd1bWVudFR5cGUuY2pzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2FyZ3VtZW50cy9GbG9hdEFyZ3VtZW50VHlwZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBTdHJpbmdSZWFkZXIgZnJvbSAnLi4vU3RyaW5nUmVhZGVyJztcbmltcG9ydCB0eXBlIENvbW1hbmRDb250ZXh0IGZyb20gJy4uL2NvbnRleHQvQ29tbWFuZENvbnRleHQnO1xuaW1wb3J0IENvbW1hbmRTeW50YXhFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9ucy9Db21tYW5kU3ludGF4RXhjZXB0aW9uJztcbmltcG9ydCB0eXBlIEFyZ3VtZW50VHlwZSBmcm9tICcuL0FyZ3VtZW50VHlwZSc7XG5cbmNvbnN0IEVYQU1QTEVTID0gWycwJywgJzEuMicsICcuNScsICctMScsICctLjUnLCAnLTEyMzQuNTYnXTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmxvYXRBcmd1bWVudFR5cGUgaW1wbGVtZW50cyBBcmd1bWVudFR5cGU8bnVtYmVyPiB7XG4gICAgcHJpdmF0ZSBtaW5pbXVtOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBtYXhpbXVtOiBudW1iZXI7XG5cbiAgICBwcml2YXRlIGNvbnN0cnVjdG9yKG1pbmltdW06IG51bWJlciwgbWF4aW11bTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMubWluaW11bSA9IG1pbmltdW07XG4gICAgICAgIHRoaXMubWF4aW11bSA9IG1heGltdW07XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBmbG9hdChtaW46IG51bWJlciA9IC1JbmZpbml0eSwgbWF4OiBudW1iZXIgPSBJbmZpbml0eSk6IEZsb2F0QXJndW1lbnRUeXBlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGbG9hdEFyZ3VtZW50VHlwZShtaW4sIG1heCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRGbG9hdChjb250ZXh0OiBDb21tYW5kQ29udGV4dDxhbnk+LCBuYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gY29udGV4dC5nZXRBcmd1bWVudChuYW1lLCBOdW1iZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRNaW5pbXVtKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm1pbmltdW07XG4gICAgfVxuXG4gICAgcHVibGljIGdldE1heGltdW0oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWF4aW11bTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcGFyc2UocmVhZGVyOiBTdHJpbmdSZWFkZXIpOiBudW1iZXIge1xuICAgICAgICBsZXQgc3RhcnQgPSByZWFkZXIuZ2V0Q3Vyc29yKCk7XG4gICAgICAgIGxldCByZXN1bHQgPSByZWFkZXIucmVhZEZsb2F0KCk7XG4gICAgICAgIGlmIChyZXN1bHQgPCB0aGlzLm1pbmltdW0pIHtcbiAgICAgICAgICAgIHJlYWRlci5zZXRDdXJzb3Ioc3RhcnQpO1xuICAgICAgICAgICAgdGhyb3cgQ29tbWFuZFN5bnRheEV4Y2VwdGlvbi5CVUlMVF9JTl9FWENFUFRJT05TLmludGVnZXJUb29Mb3coKS5jcmVhdGVXaXRoQ29udGV4dChcbiAgICAgICAgICAgICAgICByZWFkZXIsXG4gICAgICAgICAgICAgICAgcmVzdWx0LFxuICAgICAgICAgICAgICAgIHRoaXMubWluaW11bVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZXN1bHQgPiB0aGlzLm1heGltdW0pIHtcbiAgICAgICAgICAgIHJlYWRlci5zZXRDdXJzb3Ioc3RhcnQpO1xuICAgICAgICAgICAgdGhyb3cgQ29tbWFuZFN5bnRheEV4Y2VwdGlvbi5CVUlMVF9JTl9FWENFUFRJT05TLmludGVnZXJUb29IaWdoKCkuY3JlYXRlV2l0aENvbnRleHQoXG4gICAgICAgICAgICAgICAgcmVhZGVyLFxuICAgICAgICAgICAgICAgIHJlc3VsdCxcbiAgICAgICAgICAgICAgICB0aGlzLm1heGltdW1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHB1YmxpYyBlcXVhbHMobzogb2JqZWN0KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzID09PSBvKSByZXR1cm4gdHJ1ZTtcblxuICAgICAgICBpZiAoIShvIGluc3RhbmNlb2YgRmxvYXRBcmd1bWVudFR5cGUpKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubWF4aW11bSA9PSBvLm1heGltdW0gJiYgdGhpcy5taW5pbXVtID09IG8ubWluaW11bTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMubWluaW11bSA9PT0gLUluZmluaXR5ICYmIHRoaXMubWF4aW11bSA9PT0gSW5maW5pdHkpIHtcbiAgICAgICAgICAgIHJldHVybiAnZmxvYXQoKSc7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5tYXhpbXVtID09IEluZmluaXR5KSB7XG4gICAgICAgICAgICByZXR1cm4gJ2Zsb2F0KCcgKyB0aGlzLm1pbmltdW0gKyAnKSc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gJ2Zsb2F0KCcgKyB0aGlzLm1pbmltdW0gKyAnLCAnICsgdGhpcy5tYXhpbXVtICsgJyknO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldEV4YW1wbGVzKCk6IEl0ZXJhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gRVhBTVBMRVM7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbIkNvbW1hbmRTeW50YXhFeGNlcHRpb24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFLQSxNQUFNLFdBQVcsQ0FBQyxHQUFBLEVBQUssT0FBTyxJQUFNLEVBQUEsSUFBQSxFQUFNLE9BQU8sVUFBVSxDQUFBLENBQUE7QUFFM0QsTUFBcUIsaUJBQWtELENBQUE7QUFBQSxFQUMzRCxP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
@@ -0,0 +1,18 @@
1
+ import { default as ArgumentType } from './ArgumentType';
2
+ import { default as CommandContext } from '../context/CommandContext';
3
+ import { default as StringReader } from '../StringReader';
4
+
5
+ export default class FloatArgumentType implements ArgumentType<number> {
6
+ private minimum;
7
+ private maximum;
8
+ private constructor();
9
+ static float(min?: number, max?: number): FloatArgumentType;
10
+ static getFloat(context: CommandContext<any>, name: string): number;
11
+ getMinimum(): number;
12
+ getMaximum(): number;
13
+ parse(reader: StringReader): number;
14
+ equals(o: object): boolean;
15
+ toString(): string;
16
+ getExamples(): Iterable<string>;
17
+ }
18
+ //# sourceMappingURL=FloatArgumentType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FloatArgumentType.d.ts","sourceRoot":"","sources":["../../../src/lib/arguments/FloatArgumentType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAC;AAE5D,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAI/C,MAAM,CAAC,OAAO,OAAO,iBAAkB,YAAW,YAAY,CAAC,MAAM,CAAC;IAClE,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO;WAKO,KAAK,CAAC,GAAG,GAAE,MAAkB,EAAE,GAAG,GAAE,MAAiB,GAAG,iBAAiB;WAIzE,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAInE,UAAU,IAAI,MAAM;IAIpB,UAAU,IAAI,MAAM;IAIpB,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM;IAwBnC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAQ1B,QAAQ,IAAI,MAAM;IAUlB,WAAW,IAAI,QAAQ,CAAC,MAAM,CAAC;CAGzC"}
@@ -0,0 +1,67 @@
1
+ import { C as CommandSyntaxException } from '../../CommandSyntaxException-Dz8Qlq9d.js';
2
+ import '../LiteralMessage.es.js';
3
+
4
+ const EXAMPLES = ["0", "1.2", ".5", "-1", "-.5", "-1234.56"];
5
+ class FloatArgumentType {
6
+ minimum;
7
+ maximum;
8
+ constructor(minimum, maximum) {
9
+ this.minimum = minimum;
10
+ this.maximum = maximum;
11
+ }
12
+ static float(min = -Infinity, max = Infinity) {
13
+ return new FloatArgumentType(min, max);
14
+ }
15
+ static getFloat(context, name) {
16
+ return context.getArgument(name, Number);
17
+ }
18
+ getMinimum() {
19
+ return this.minimum;
20
+ }
21
+ getMaximum() {
22
+ return this.maximum;
23
+ }
24
+ parse(reader) {
25
+ let start = reader.getCursor();
26
+ let result = reader.readFloat();
27
+ if (result < this.minimum) {
28
+ reader.setCursor(start);
29
+ throw CommandSyntaxException.BUILT_IN_EXCEPTIONS.integerTooLow().createWithContext(
30
+ reader,
31
+ result,
32
+ this.minimum
33
+ );
34
+ }
35
+ if (result > this.maximum) {
36
+ reader.setCursor(start);
37
+ throw CommandSyntaxException.BUILT_IN_EXCEPTIONS.integerTooHigh().createWithContext(
38
+ reader,
39
+ result,
40
+ this.maximum
41
+ );
42
+ }
43
+ return result;
44
+ }
45
+ equals(o) {
46
+ if (this === o)
47
+ return true;
48
+ if (!(o instanceof FloatArgumentType))
49
+ return false;
50
+ return this.maximum == o.maximum && this.minimum == o.minimum;
51
+ }
52
+ toString() {
53
+ if (this.minimum === -Infinity && this.maximum === Infinity) {
54
+ return "float()";
55
+ } else if (this.maximum == Infinity) {
56
+ return "float(" + this.minimum + ")";
57
+ } else {
58
+ return "float(" + this.minimum + ", " + this.maximum + ")";
59
+ }
60
+ }
61
+ getExamples() {
62
+ return EXAMPLES;
63
+ }
64
+ }
65
+
66
+ export { FloatArgumentType as default };
67
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmxvYXRBcmd1bWVudFR5cGUuZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvYXJndW1lbnRzL0Zsb2F0QXJndW1lbnRUeXBlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIFN0cmluZ1JlYWRlciBmcm9tICcuLi9TdHJpbmdSZWFkZXInO1xuaW1wb3J0IHR5cGUgQ29tbWFuZENvbnRleHQgZnJvbSAnLi4vY29udGV4dC9Db21tYW5kQ29udGV4dCc7XG5pbXBvcnQgQ29tbWFuZFN5bnRheEV4Y2VwdGlvbiBmcm9tICcuLi9leGNlcHRpb25zL0NvbW1hbmRTeW50YXhFeGNlcHRpb24nO1xuaW1wb3J0IHR5cGUgQXJndW1lbnRUeXBlIGZyb20gJy4vQXJndW1lbnRUeXBlJztcblxuY29uc3QgRVhBTVBMRVMgPSBbJzAnLCAnMS4yJywgJy41JywgJy0xJywgJy0uNScsICctMTIzNC41NiddO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGbG9hdEFyZ3VtZW50VHlwZSBpbXBsZW1lbnRzIEFyZ3VtZW50VHlwZTxudW1iZXI+IHtcbiAgICBwcml2YXRlIG1pbmltdW06IG51bWJlcjtcbiAgICBwcml2YXRlIG1heGltdW06IG51bWJlcjtcblxuICAgIHByaXZhdGUgY29uc3RydWN0b3IobWluaW11bTogbnVtYmVyLCBtYXhpbXVtOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5taW5pbXVtID0gbWluaW11bTtcbiAgICAgICAgdGhpcy5tYXhpbXVtID0gbWF4aW11bTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGZsb2F0KG1pbjogbnVtYmVyID0gLUluZmluaXR5LCBtYXg6IG51bWJlciA9IEluZmluaXR5KTogRmxvYXRBcmd1bWVudFR5cGUge1xuICAgICAgICByZXR1cm4gbmV3IEZsb2F0QXJndW1lbnRUeXBlKG1pbiwgbWF4KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldEZsb2F0KGNvbnRleHQ6IENvbW1hbmRDb250ZXh0PGFueT4sIG5hbWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBjb250ZXh0LmdldEFyZ3VtZW50KG5hbWUsIE51bWJlcik7XG4gICAgfVxuXG4gICAgcHVibGljIGdldE1pbmltdW0oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWluaW11bTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TWF4aW11bSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXhpbXVtO1xuICAgIH1cblxuICAgIHB1YmxpYyBwYXJzZShyZWFkZXI6IFN0cmluZ1JlYWRlcik6IG51bWJlciB7XG4gICAgICAgIGxldCBzdGFydCA9IHJlYWRlci5nZXRDdXJzb3IoKTtcbiAgICAgICAgbGV0IHJlc3VsdCA9IHJlYWRlci5yZWFkRmxvYXQoKTtcbiAgICAgICAgaWYgKHJlc3VsdCA8IHRoaXMubWluaW11bSkge1xuICAgICAgICAgICAgcmVhZGVyLnNldEN1cnNvcihzdGFydCk7XG4gICAgICAgICAgICB0aHJvdyBDb21tYW5kU3ludGF4RXhjZXB0aW9uLkJVSUxUX0lOX0VYQ0VQVElPTlMuaW50ZWdlclRvb0xvdygpLmNyZWF0ZVdpdGhDb250ZXh0KFxuICAgICAgICAgICAgICAgIHJlYWRlcixcbiAgICAgICAgICAgICAgICByZXN1bHQsXG4gICAgICAgICAgICAgICAgdGhpcy5taW5pbXVtXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlc3VsdCA+IHRoaXMubWF4aW11bSkge1xuICAgICAgICAgICAgcmVhZGVyLnNldEN1cnNvcihzdGFydCk7XG4gICAgICAgICAgICB0aHJvdyBDb21tYW5kU3ludGF4RXhjZXB0aW9uLkJVSUxUX0lOX0VYQ0VQVElPTlMuaW50ZWdlclRvb0hpZ2goKS5jcmVhdGVXaXRoQ29udGV4dChcbiAgICAgICAgICAgICAgICByZWFkZXIsXG4gICAgICAgICAgICAgICAgcmVzdWx0LFxuICAgICAgICAgICAgICAgIHRoaXMubWF4aW11bVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHVibGljIGVxdWFscyhvOiBvYmplY3QpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMgPT09IG8pIHJldHVybiB0cnVlO1xuXG4gICAgICAgIGlmICghKG8gaW5zdGFuY2VvZiBGbG9hdEFyZ3VtZW50VHlwZSkpIHJldHVybiBmYWxzZTtcblxuICAgICAgICByZXR1cm4gdGhpcy5tYXhpbXVtID09IG8ubWF4aW11bSAmJiB0aGlzLm1pbmltdW0gPT0gby5taW5pbXVtO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5taW5pbXVtID09PSAtSW5maW5pdHkgJiYgdGhpcy5tYXhpbXVtID09PSBJbmZpbml0eSkge1xuICAgICAgICAgICAgcmV0dXJuICdmbG9hdCgpJztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm1heGltdW0gPT0gSW5maW5pdHkpIHtcbiAgICAgICAgICAgIHJldHVybiAnZmxvYXQoJyArIHRoaXMubWluaW11bSArICcpJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAnZmxvYXQoJyArIHRoaXMubWluaW11bSArICcsICcgKyB0aGlzLm1heGltdW0gKyAnKSc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RXhhbXBsZXMoKTogSXRlcmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiBFWEFNUExFUztcbiAgICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0EsTUFBTSxXQUFXLENBQUMsR0FBQSxFQUFLLE9BQU8sSUFBTSxFQUFBLElBQUEsRUFBTSxPQUFPLFVBQVUsQ0FBQSxDQUFBO0FBRTNELE1BQXFCLGlCQUFrRCxDQUFBO0FBQUEsRUFDM0QsT0FBQSxDQUFBO0FBQUEsRUFDQSxPQUFBLENBQUE7QUFBQSxFQUVBLFdBQUEsQ0FBWSxTQUFpQixPQUFpQixFQUFBO0FBQ2xELElBQUEsSUFBQSxDQUFLLE9BQVUsR0FBQSxPQUFBLENBQUE7QUFDZixJQUFBLElBQUEsQ0FBSyxPQUFVLEdBQUEsT0FBQSxDQUFBO0FBQUEsR0FDbkI7QUFBQSxFQUVBLE9BQWMsS0FBQSxDQUFNLEdBQWMsR0FBQSxDQUFBLFFBQUEsRUFBVyxNQUFjLFFBQTZCLEVBQUE7QUFDcEYsSUFBTyxPQUFBLElBQUksaUJBQWtCLENBQUEsR0FBQSxFQUFLLEdBQUcsQ0FBQSxDQUFBO0FBQUEsR0FDekM7QUFBQSxFQUVBLE9BQWMsUUFBUyxDQUFBLE9BQUEsRUFBOEIsSUFBc0IsRUFBQTtBQUN2RSxJQUFPLE9BQUEsT0FBQSxDQUFRLFdBQVksQ0FBQSxJQUFBLEVBQU0sTUFBTSxDQUFBLENBQUE7QUFBQSxHQUMzQztBQUFBLEVBRU8sVUFBcUIsR0FBQTtBQUN4QixJQUFBLE9BQU8sSUFBSyxDQUFBLE9BQUEsQ0FBQTtBQUFBLEdBQ2hCO0FBQUEsRUFFTyxVQUFxQixHQUFBO0FBQ3hCLElBQUEsT0FBTyxJQUFLLENBQUEsT0FBQSxDQUFBO0FBQUEsR0FDaEI7QUFBQSxFQUVPLE1BQU0sTUFBOEIsRUFBQTtBQUN2QyxJQUFJLElBQUEsS0FBQSxHQUFRLE9BQU8sU0FBVSxFQUFBLENBQUE7QUFDN0IsSUFBSSxJQUFBLE1BQUEsR0FBUyxPQUFPLFNBQVUsRUFBQSxDQUFBO0FBQzlCLElBQUksSUFBQSxNQUFBLEdBQVMsS0FBSyxPQUFTLEVBQUE7QUFDdkIsTUFBQSxNQUFBLENBQU8sVUFBVSxLQUFLLENBQUEsQ0FBQTtBQUN0QixNQUFNLE1BQUEsc0JBQUEsQ0FBdUIsbUJBQW9CLENBQUEsYUFBQSxFQUFnQixDQUFBLGlCQUFBO0FBQUEsUUFDN0QsTUFBQTtBQUFBLFFBQ0EsTUFBQTtBQUFBLFFBQ0EsSUFBSyxDQUFBLE9BQUE7QUFBQSxPQUNULENBQUE7QUFBQSxLQUNKO0FBRUEsSUFBSSxJQUFBLE1BQUEsR0FBUyxLQUFLLE9BQVMsRUFBQTtBQUN2QixNQUFBLE1BQUEsQ0FBTyxVQUFVLEtBQUssQ0FBQSxDQUFBO0FBQ3RCLE1BQU0sTUFBQSxzQkFBQSxDQUF1QixtQkFBb0IsQ0FBQSxjQUFBLEVBQWlCLENBQUEsaUJBQUE7QUFBQSxRQUM5RCxNQUFBO0FBQUEsUUFDQSxNQUFBO0FBQUEsUUFDQSxJQUFLLENBQUEsT0FBQTtBQUFBLE9BQ1QsQ0FBQTtBQUFBLEtBQ0o7QUFFQSxJQUFPLE9BQUEsTUFBQSxDQUFBO0FBQUEsR0FDWDtBQUFBLEVBRU8sT0FBTyxDQUFvQixFQUFBO0FBQzlCLElBQUEsSUFBSSxJQUFTLEtBQUEsQ0FBQTtBQUFHLE1BQU8sT0FBQSxJQUFBLENBQUE7QUFFdkIsSUFBQSxJQUFJLEVBQUUsQ0FBYSxZQUFBLGlCQUFBLENBQUE7QUFBb0IsTUFBTyxPQUFBLEtBQUEsQ0FBQTtBQUU5QyxJQUFBLE9BQU8sS0FBSyxPQUFXLElBQUEsQ0FBQSxDQUFFLE9BQVcsSUFBQSxJQUFBLENBQUssV0FBVyxDQUFFLENBQUEsT0FBQSxDQUFBO0FBQUEsR0FDMUQ7QUFBQSxFQUVPLFFBQW1CLEdBQUE7QUFDdEIsSUFBQSxJQUFJLElBQUssQ0FBQSxPQUFBLEtBQVksQ0FBYSxRQUFBLElBQUEsSUFBQSxDQUFLLFlBQVksUUFBVSxFQUFBO0FBQ3pELE1BQU8sT0FBQSxTQUFBLENBQUE7QUFBQSxLQUNYLE1BQUEsSUFBVyxJQUFLLENBQUEsT0FBQSxJQUFXLFFBQVUsRUFBQTtBQUNqQyxNQUFPLE9BQUEsUUFBQSxHQUFXLEtBQUssT0FBVSxHQUFBLEdBQUEsQ0FBQTtBQUFBLEtBQzlCLE1BQUE7QUFDSCxNQUFBLE9BQU8sUUFBVyxHQUFBLElBQUEsQ0FBSyxPQUFVLEdBQUEsSUFBQSxHQUFPLEtBQUssT0FBVSxHQUFBLEdBQUEsQ0FBQTtBQUFBLEtBQzNEO0FBQUEsR0FDSjtBQUFBLEVBRU8sV0FBZ0MsR0FBQTtBQUNuQyxJQUFPLE9BQUEsUUFBQSxDQUFBO0FBQUEsR0FDWDtBQUNKOzs7OyJ9
@@ -0,0 +1,71 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
+
5
+ const lib_exceptions_SimpleCommandExceptionType = require('../../CommandSyntaxException-BKBHJvxr.cjs');
6
+ require('../LiteralMessage.cjs.js');
7
+
8
+ const EXAMPLES = ["0", "123", "-123"];
9
+ class IntegerArgumentType {
10
+ minimum;
11
+ maximum;
12
+ constructor(minimum, maximum) {
13
+ this.minimum = minimum;
14
+ this.maximum = maximum;
15
+ }
16
+ static integer(min = -Infinity, max = Infinity) {
17
+ return new IntegerArgumentType(min, max);
18
+ }
19
+ static getInteger(context, name) {
20
+ return context.getArgument(name, Number);
21
+ }
22
+ getMinimum() {
23
+ return this.minimum;
24
+ }
25
+ getMaximum() {
26
+ return this.maximum;
27
+ }
28
+ parse(reader) {
29
+ let start = reader.getCursor();
30
+ let result = reader.readInt();
31
+ if (result < this.minimum) {
32
+ reader.setCursor(start);
33
+ throw lib_exceptions_SimpleCommandExceptionType.CommandSyntaxException.BUILT_IN_EXCEPTIONS.integerTooLow().createWithContext(
34
+ reader,
35
+ result,
36
+ this.minimum
37
+ );
38
+ }
39
+ if (result > this.maximum) {
40
+ reader.setCursor(start);
41
+ throw lib_exceptions_SimpleCommandExceptionType.CommandSyntaxException.BUILT_IN_EXCEPTIONS.integerTooHigh().createWithContext(
42
+ reader,
43
+ result,
44
+ this.maximum
45
+ );
46
+ }
47
+ return result;
48
+ }
49
+ equals(o) {
50
+ if (this === o)
51
+ return true;
52
+ if (!(o instanceof IntegerArgumentType))
53
+ return false;
54
+ return this.maximum == o.maximum && this.minimum == o.minimum;
55
+ }
56
+ toString() {
57
+ if (this.minimum === -Infinity && this.maximum === Infinity) {
58
+ return "integer()";
59
+ } else if (this.maximum == Infinity) {
60
+ return "integer(" + this.minimum + ")";
61
+ } else {
62
+ return "integer(" + this.minimum + ", " + this.maximum + ")";
63
+ }
64
+ }
65
+ getExamples() {
66
+ return EXAMPLES;
67
+ }
68
+ }
69
+
70
+ exports.default = IntegerArgumentType;
71
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZWdlckFyZ3VtZW50VHlwZS5janMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvYXJndW1lbnRzL0ludGVnZXJBcmd1bWVudFR5cGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgU3RyaW5nUmVhZGVyIGZyb20gJy4uL1N0cmluZ1JlYWRlcic7XG5pbXBvcnQgdHlwZSBDb21tYW5kQ29udGV4dCBmcm9tICcuLi9jb250ZXh0L0NvbW1hbmRDb250ZXh0JztcbmltcG9ydCBDb21tYW5kU3ludGF4RXhjZXB0aW9uIGZyb20gJy4uL2V4Y2VwdGlvbnMvQ29tbWFuZFN5bnRheEV4Y2VwdGlvbic7XG5pbXBvcnQgdHlwZSBBcmd1bWVudFR5cGUgZnJvbSAnLi9Bcmd1bWVudFR5cGUnO1xuXG5jb25zdCBFWEFNUExFUyA9IFsnMCcsICcxMjMnLCAnLTEyMyddO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJbnRlZ2VyQXJndW1lbnRUeXBlIGltcGxlbWVudHMgQXJndW1lbnRUeXBlPG51bWJlcj4ge1xuICAgIHByaXZhdGUgbWluaW11bTogbnVtYmVyO1xuICAgIHByaXZhdGUgbWF4aW11bTogbnVtYmVyO1xuXG4gICAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihtaW5pbXVtOiBudW1iZXIsIG1heGltdW06IG51bWJlcikge1xuICAgICAgICB0aGlzLm1pbmltdW0gPSBtaW5pbXVtO1xuICAgICAgICB0aGlzLm1heGltdW0gPSBtYXhpbXVtO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgaW50ZWdlcihtaW46IG51bWJlciA9IC1JbmZpbml0eSwgbWF4OiBudW1iZXIgPSBJbmZpbml0eSk6IEludGVnZXJBcmd1bWVudFR5cGUge1xuICAgICAgICByZXR1cm4gbmV3IEludGVnZXJBcmd1bWVudFR5cGUobWluLCBtYXgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0SW50ZWdlcihjb250ZXh0OiBDb21tYW5kQ29udGV4dDxhbnk+LCBuYW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gY29udGV4dC5nZXRBcmd1bWVudChuYW1lLCBOdW1iZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRNaW5pbXVtKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm1pbmltdW07XG4gICAgfVxuXG4gICAgcHVibGljIGdldE1heGltdW0oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWF4aW11bTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcGFyc2UocmVhZGVyOiBTdHJpbmdSZWFkZXIpOiBudW1iZXIge1xuICAgICAgICBsZXQgc3RhcnQgPSByZWFkZXIuZ2V0Q3Vyc29yKCk7XG4gICAgICAgIGxldCByZXN1bHQgPSByZWFkZXIucmVhZEludCgpO1xuICAgICAgICBpZiAocmVzdWx0IDwgdGhpcy5taW5pbXVtKSB7XG4gICAgICAgICAgICByZWFkZXIuc2V0Q3Vyc29yKHN0YXJ0KTtcbiAgICAgICAgICAgIHRocm93IENvbW1hbmRTeW50YXhFeGNlcHRpb24uQlVJTFRfSU5fRVhDRVBUSU9OUy5pbnRlZ2VyVG9vTG93KCkuY3JlYXRlV2l0aENvbnRleHQoXG4gICAgICAgICAgICAgICAgcmVhZGVyLFxuICAgICAgICAgICAgICAgIHJlc3VsdCxcbiAgICAgICAgICAgICAgICB0aGlzLm1pbmltdW1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVzdWx0ID4gdGhpcy5tYXhpbXVtKSB7XG4gICAgICAgICAgICByZWFkZXIuc2V0Q3Vyc29yKHN0YXJ0KTtcbiAgICAgICAgICAgIHRocm93IENvbW1hbmRTeW50YXhFeGNlcHRpb24uQlVJTFRfSU5fRVhDRVBUSU9OUy5pbnRlZ2VyVG9vSGlnaCgpLmNyZWF0ZVdpdGhDb250ZXh0KFxuICAgICAgICAgICAgICAgIHJlYWRlcixcbiAgICAgICAgICAgICAgICByZXN1bHQsXG4gICAgICAgICAgICAgICAgdGhpcy5tYXhpbXVtXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZXF1YWxzKG86IG9iamVjdCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcyA9PT0gbykgcmV0dXJuIHRydWU7XG5cbiAgICAgICAgaWYgKCEobyBpbnN0YW5jZW9mIEludGVnZXJBcmd1bWVudFR5cGUpKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubWF4aW11bSA9PSBvLm1heGltdW0gJiYgdGhpcy5taW5pbXVtID09IG8ubWluaW11bTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMubWluaW11bSA9PT0gLUluZmluaXR5ICYmIHRoaXMubWF4aW11bSA9PT0gSW5maW5pdHkpIHtcbiAgICAgICAgICAgIHJldHVybiAnaW50ZWdlcigpJztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm1heGltdW0gPT0gSW5maW5pdHkpIHtcbiAgICAgICAgICAgIHJldHVybiAnaW50ZWdlcignICsgdGhpcy5taW5pbXVtICsgJyknO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICdpbnRlZ2VyKCcgKyB0aGlzLm1pbmltdW0gKyAnLCAnICsgdGhpcy5tYXhpbXVtICsgJyknO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldEV4YW1wbGVzKCk6IEl0ZXJhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gRVhBTVBMRVM7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbIkNvbW1hbmRTeW50YXhFeGNlcHRpb24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFLQSxNQUFNLFFBQVcsR0FBQSxDQUFDLEdBQUssRUFBQSxLQUFBLEVBQU8sTUFBTSxDQUFBLENBQUE7QUFFcEMsTUFBcUIsbUJBQW9ELENBQUE7QUFBQSxFQUM3RCxPQUFBLENBQUE7QUFBQSxFQUNB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
@@ -0,0 +1,18 @@
1
+ import { default as ArgumentType } from './ArgumentType';
2
+ import { default as CommandContext } from '../context/CommandContext';
3
+ import { default as StringReader } from '../StringReader';
4
+
5
+ export default class IntegerArgumentType implements ArgumentType<number> {
6
+ private minimum;
7
+ private maximum;
8
+ private constructor();
9
+ static integer(min?: number, max?: number): IntegerArgumentType;
10
+ static getInteger(context: CommandContext<any>, name: string): number;
11
+ getMinimum(): number;
12
+ getMaximum(): number;
13
+ parse(reader: StringReader): number;
14
+ equals(o: object): boolean;
15
+ toString(): string;
16
+ getExamples(): Iterable<string>;
17
+ }
18
+ //# sourceMappingURL=IntegerArgumentType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IntegerArgumentType.d.ts","sourceRoot":"","sources":["../../../src/lib/arguments/IntegerArgumentType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAC;AAE5D,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAI/C,MAAM,CAAC,OAAO,OAAO,mBAAoB,YAAW,YAAY,CAAC,MAAM,CAAC;IACpE,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO;WAKO,OAAO,CAAC,GAAG,GAAE,MAAkB,EAAE,GAAG,GAAE,MAAiB,GAAG,mBAAmB;WAI7E,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAIrE,UAAU,IAAI,MAAM;IAIpB,UAAU,IAAI,MAAM;IAIpB,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM;IAwBnC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO;IAQ1B,QAAQ,IAAI,MAAM;IAUlB,WAAW,IAAI,QAAQ,CAAC,MAAM,CAAC;CAGzC"}
@@ -0,0 +1,67 @@
1
+ import { C as CommandSyntaxException } from '../../CommandSyntaxException-Dz8Qlq9d.js';
2
+ import '../LiteralMessage.es.js';
3
+
4
+ const EXAMPLES = ["0", "123", "-123"];
5
+ class IntegerArgumentType {
6
+ minimum;
7
+ maximum;
8
+ constructor(minimum, maximum) {
9
+ this.minimum = minimum;
10
+ this.maximum = maximum;
11
+ }
12
+ static integer(min = -Infinity, max = Infinity) {
13
+ return new IntegerArgumentType(min, max);
14
+ }
15
+ static getInteger(context, name) {
16
+ return context.getArgument(name, Number);
17
+ }
18
+ getMinimum() {
19
+ return this.minimum;
20
+ }
21
+ getMaximum() {
22
+ return this.maximum;
23
+ }
24
+ parse(reader) {
25
+ let start = reader.getCursor();
26
+ let result = reader.readInt();
27
+ if (result < this.minimum) {
28
+ reader.setCursor(start);
29
+ throw CommandSyntaxException.BUILT_IN_EXCEPTIONS.integerTooLow().createWithContext(
30
+ reader,
31
+ result,
32
+ this.minimum
33
+ );
34
+ }
35
+ if (result > this.maximum) {
36
+ reader.setCursor(start);
37
+ throw CommandSyntaxException.BUILT_IN_EXCEPTIONS.integerTooHigh().createWithContext(
38
+ reader,
39
+ result,
40
+ this.maximum
41
+ );
42
+ }
43
+ return result;
44
+ }
45
+ equals(o) {
46
+ if (this === o)
47
+ return true;
48
+ if (!(o instanceof IntegerArgumentType))
49
+ return false;
50
+ return this.maximum == o.maximum && this.minimum == o.minimum;
51
+ }
52
+ toString() {
53
+ if (this.minimum === -Infinity && this.maximum === Infinity) {
54
+ return "integer()";
55
+ } else if (this.maximum == Infinity) {
56
+ return "integer(" + this.minimum + ")";
57
+ } else {
58
+ return "integer(" + this.minimum + ", " + this.maximum + ")";
59
+ }
60
+ }
61
+ getExamples() {
62
+ return EXAMPLES;
63
+ }
64
+ }
65
+
66
+ export { IntegerArgumentType as default };
67
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZWdlckFyZ3VtZW50VHlwZS5lcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9hcmd1bWVudHMvSW50ZWdlckFyZ3VtZW50VHlwZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBTdHJpbmdSZWFkZXIgZnJvbSAnLi4vU3RyaW5nUmVhZGVyJztcbmltcG9ydCB0eXBlIENvbW1hbmRDb250ZXh0IGZyb20gJy4uL2NvbnRleHQvQ29tbWFuZENvbnRleHQnO1xuaW1wb3J0IENvbW1hbmRTeW50YXhFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9ucy9Db21tYW5kU3ludGF4RXhjZXB0aW9uJztcbmltcG9ydCB0eXBlIEFyZ3VtZW50VHlwZSBmcm9tICcuL0FyZ3VtZW50VHlwZSc7XG5cbmNvbnN0IEVYQU1QTEVTID0gWycwJywgJzEyMycsICctMTIzJ107XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEludGVnZXJBcmd1bWVudFR5cGUgaW1wbGVtZW50cyBBcmd1bWVudFR5cGU8bnVtYmVyPiB7XG4gICAgcHJpdmF0ZSBtaW5pbXVtOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBtYXhpbXVtOiBudW1iZXI7XG5cbiAgICBwcml2YXRlIGNvbnN0cnVjdG9yKG1pbmltdW06IG51bWJlciwgbWF4aW11bTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMubWluaW11bSA9IG1pbmltdW07XG4gICAgICAgIHRoaXMubWF4aW11bSA9IG1heGltdW07XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBpbnRlZ2VyKG1pbjogbnVtYmVyID0gLUluZmluaXR5LCBtYXg6IG51bWJlciA9IEluZmluaXR5KTogSW50ZWdlckFyZ3VtZW50VHlwZSB7XG4gICAgICAgIHJldHVybiBuZXcgSW50ZWdlckFyZ3VtZW50VHlwZShtaW4sIG1heCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRJbnRlZ2VyKGNvbnRleHQ6IENvbW1hbmRDb250ZXh0PGFueT4sIG5hbWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBjb250ZXh0LmdldEFyZ3VtZW50KG5hbWUsIE51bWJlcik7XG4gICAgfVxuXG4gICAgcHVibGljIGdldE1pbmltdW0oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWluaW11bTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TWF4aW11bSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXhpbXVtO1xuICAgIH1cblxuICAgIHB1YmxpYyBwYXJzZShyZWFkZXI6IFN0cmluZ1JlYWRlcik6IG51bWJlciB7XG4gICAgICAgIGxldCBzdGFydCA9IHJlYWRlci5nZXRDdXJzb3IoKTtcbiAgICAgICAgbGV0IHJlc3VsdCA9IHJlYWRlci5yZWFkSW50KCk7XG4gICAgICAgIGlmIChyZXN1bHQgPCB0aGlzLm1pbmltdW0pIHtcbiAgICAgICAgICAgIHJlYWRlci5zZXRDdXJzb3Ioc3RhcnQpO1xuICAgICAgICAgICAgdGhyb3cgQ29tbWFuZFN5bnRheEV4Y2VwdGlvbi5CVUlMVF9JTl9FWENFUFRJT05TLmludGVnZXJUb29Mb3coKS5jcmVhdGVXaXRoQ29udGV4dChcbiAgICAgICAgICAgICAgICByZWFkZXIsXG4gICAgICAgICAgICAgICAgcmVzdWx0LFxuICAgICAgICAgICAgICAgIHRoaXMubWluaW11bVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZXN1bHQgPiB0aGlzLm1heGltdW0pIHtcbiAgICAgICAgICAgIHJlYWRlci5zZXRDdXJzb3Ioc3RhcnQpO1xuICAgICAgICAgICAgdGhyb3cgQ29tbWFuZFN5bnRheEV4Y2VwdGlvbi5CVUlMVF9JTl9FWENFUFRJT05TLmludGVnZXJUb29IaWdoKCkuY3JlYXRlV2l0aENvbnRleHQoXG4gICAgICAgICAgICAgICAgcmVhZGVyLFxuICAgICAgICAgICAgICAgIHJlc3VsdCxcbiAgICAgICAgICAgICAgICB0aGlzLm1heGltdW1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHB1YmxpYyBlcXVhbHMobzogb2JqZWN0KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzID09PSBvKSByZXR1cm4gdHJ1ZTtcblxuICAgICAgICBpZiAoIShvIGluc3RhbmNlb2YgSW50ZWdlckFyZ3VtZW50VHlwZSkpIHJldHVybiBmYWxzZTtcblxuICAgICAgICByZXR1cm4gdGhpcy5tYXhpbXVtID09IG8ubWF4aW11bSAmJiB0aGlzLm1pbmltdW0gPT0gby5taW5pbXVtO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5taW5pbXVtID09PSAtSW5maW5pdHkgJiYgdGhpcy5tYXhpbXVtID09PSBJbmZpbml0eSkge1xuICAgICAgICAgICAgcmV0dXJuICdpbnRlZ2VyKCknO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubWF4aW11bSA9PSBJbmZpbml0eSkge1xuICAgICAgICAgICAgcmV0dXJuICdpbnRlZ2VyKCcgKyB0aGlzLm1pbmltdW0gKyAnKSc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gJ2ludGVnZXIoJyArIHRoaXMubWluaW11bSArICcsICcgKyB0aGlzLm1heGltdW0gKyAnKSc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RXhhbXBsZXMoKTogSXRlcmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiBFWEFNUExFUztcbiAgICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0EsTUFBTSxRQUFXLEdBQUEsQ0FBQyxHQUFLLEVBQUEsS0FBQSxFQUFPLE1BQU0sQ0FBQSxDQUFBO0FBRXBDLE1BQXFCLG1CQUFvRCxDQUFBO0FBQUEsRUFDN0QsT0FBQSxDQUFBO0FBQUEsRUFDQSxPQUFBLENBQUE7QUFBQSxFQUVBLFdBQUEsQ0FB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
@@ -0,0 +1,73 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
+
5
+ const lib_StringReader = require('../StringReader.cjs.js');
6
+ require('../../CommandSyntaxException-BKBHJvxr.cjs');
7
+ require('../LiteralMessage.cjs.js');
8
+
9
+ var StringType = /* @__PURE__ */ ((StringType2) => {
10
+ StringType2["SINGLE_WORD"] = "words_with_underscores";
11
+ StringType2["QUOTABLE_PHRASE"] = '"quoted phrase"';
12
+ StringType2["GREEDY_PHRASE"] = "words with spaces";
13
+ return StringType2;
14
+ })(StringType || {});
15
+ class StringArgumentType {
16
+ type;
17
+ constructor(type) {
18
+ this.type = type;
19
+ }
20
+ static word() {
21
+ return new StringArgumentType("words_with_underscores" /* SINGLE_WORD */);
22
+ }
23
+ static string() {
24
+ return new StringArgumentType('"quoted phrase"' /* QUOTABLE_PHRASE */);
25
+ }
26
+ static greedyString() {
27
+ return new StringArgumentType("words with spaces" /* GREEDY_PHRASE */);
28
+ }
29
+ static getString(context, name) {
30
+ return context.getArgument(name, String);
31
+ }
32
+ getType() {
33
+ return this.type;
34
+ }
35
+ parse(reader) {
36
+ if (this.type == "words with spaces" /* GREEDY_PHRASE */) {
37
+ let text = reader.getRemaining();
38
+ reader.setCursor(reader.getTotalLength());
39
+ return text;
40
+ } else if (this.type == "words_with_underscores" /* SINGLE_WORD */) {
41
+ return reader.readUnquotedString();
42
+ } else {
43
+ return reader.readString();
44
+ }
45
+ }
46
+ toString() {
47
+ return "string()";
48
+ }
49
+ static escapeIfRequired(input) {
50
+ for (let c of input) {
51
+ if (!lib_StringReader.default.isAllowedInUnquotedString(c)) {
52
+ return StringArgumentType.escape(input);
53
+ }
54
+ }
55
+ return input;
56
+ }
57
+ static escape(input) {
58
+ let result = '"';
59
+ for (let i = 0; i < input.length; i++) {
60
+ const c = input.charAt(i);
61
+ if (c == "\\" || c == '"') {
62
+ result += "\\";
63
+ }
64
+ result += c;
65
+ }
66
+ result += '"';
67
+ return result;
68
+ }
69
+ }
70
+
71
+ exports.StringType = StringType;
72
+ exports.default = StringArgumentType;
73
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaW5nQXJndW1lbnRUeXBlLmNqcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9hcmd1bWVudHMvU3RyaW5nQXJndW1lbnRUeXBlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBTdHJpbmdSZWFkZXIgZnJvbSAnLi4vU3RyaW5nUmVhZGVyJztcbmltcG9ydCB0eXBlIENvbW1hbmRDb250ZXh0IGZyb20gJy4uL2NvbnRleHQvQ29tbWFuZENvbnRleHQnO1xuaW1wb3J0IHR5cGUgQXJndW1lbnRUeXBlIGZyb20gJy4vQXJndW1lbnRUeXBlJztcblxuZXhwb3J0IGVudW0gU3RyaW5nVHlwZSB7XG4gICAgU0lOR0xFX1dPUkQgPSAnd29yZHNfd2l0aF91bmRlcnNjb3JlcycsXG4gICAgUVVPVEFCTEVfUEhSQVNFID0gJ1wicXVvdGVkIHBocmFzZVwiJyxcbiAgICBHUkVFRFlfUEhSQVNFID0gJ3dvcmRzIHdpdGggc3BhY2VzJ1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdHJpbmdBcmd1bWVudFR5cGUgaW1wbGVtZW50cyBBcmd1bWVudFR5cGU8c3RyaW5nPiB7XG4gICAgcHJpdmF0ZSB0eXBlOiBTdHJpbmdUeXBlO1xuXG4gICAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcih0eXBlOiBTdHJpbmdUeXBlKSB7XG4gICAgICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyB3b3JkKCk6IFN0cmluZ0FyZ3VtZW50VHlwZSB7XG4gICAgICAgIHJldHVybiBuZXcgU3RyaW5nQXJndW1lbnRUeXBlKFN0cmluZ1R5cGUuU0lOR0xFX1dPUkQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgc3RyaW5nKCk6IFN0cmluZ0FyZ3VtZW50VHlwZSB7XG4gICAgICAgIHJldHVybiBuZXcgU3RyaW5nQXJndW1lbnRUeXBlKFN0cmluZ1R5cGUuUVVPVEFCTEVfUEhSQVNFKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdyZWVkeVN0cmluZygpOiBTdHJpbmdBcmd1bWVudFR5cGUge1xuICAgICAgICByZXR1cm4gbmV3IFN0cmluZ0FyZ3VtZW50VHlwZShTdHJpbmdUeXBlLkdSRUVEWV9QSFJBU0UpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0U3RyaW5nKGNvbnRleHQ6IENvbW1hbmRDb250ZXh0PGFueT4sIG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBjb250ZXh0LmdldEFyZ3VtZW50KG5hbWUsIFN0cmluZyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFR5cGUoKTogU3RyaW5nVHlwZSB7XG4gICAgICAgIHJldHVybiB0aGlzLnR5cGU7XG4gICAgfVxuXG4gICAgcHVibGljIHBhcnNlKHJlYWRlcjogU3RyaW5nUmVhZGVyKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PSBTdHJpbmdUeXBlLkdSRUVEWV9QSFJBU0UpIHtcbiAgICAgICAgICAgIGxldCB0ZXh0ID0gcmVhZGVyLmdldFJlbWFpbmluZygpO1xuICAgICAgICAgICAgcmVhZGVyLnNldEN1cnNvcihyZWFkZXIuZ2V0VG90YWxMZW5ndGgoKSk7XG4gICAgICAgICAgICByZXR1cm4gdGV4dDtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT0gU3RyaW5nVHlwZS5TSU5HTEVfV09SRCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlYWRlci5yZWFkVW5xdW90ZWRTdHJpbmcoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiByZWFkZXIucmVhZFN0cmluZygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnc3RyaW5nKCknO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZXNjYXBlSWZSZXF1aXJlZChpbnB1dDogc3RyaW5nKTogU3RyaW5nIHtcbiAgICAgICAgZm9yIChsZXQgYyBvZiBpbnB1dCkge1xuICAgICAgICAgICAgaWYgKCFTdHJpbmdSZWFkZXIuaXNBbGxvd2VkSW5VbnF1b3RlZFN0cmluZyhjKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBTdHJpbmdBcmd1bWVudFR5cGUuZXNjYXBlKGlucHV0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpbnB1dDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBlc2NhcGUoaW5wdXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGxldCByZXN1bHQgPSAnXCInO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGlucHV0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBjID0gaW5wdXQuY2hhckF0KGkpO1xuICAgICAgICAgICAgaWYgKGMgPT0gJ1xcXFwnIHx8IGMgPT0gJ1wiJykge1xuICAgICAgICAgICAgICAgIHJlc3VsdCArPSAnXFxcXCc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXN1bHQgKz0gYztcbiAgICAgICAgfVxuXG4gICAgICAgIHJlc3VsdCArPSAnXCInO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJTdHJpbmdUeXBlIiwiU3RyaW5nUmVhZGVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUlZLElBQUEsVUFBQSxxQkFBQUEsV0FBTCxLQUFBO0FBQ0gsRUFBQUEsWUFBQSxhQUFjLENBQUEsR0FBQSx3QkFBQSxDQUFBO0FBQ2QsRUFBQUEsWUFBQSxpQkFBa0IsQ0FBQSxHQUFBLGlCQUFBLENBQUE7QUFDbEIsRUFBQUEsWUFBQSxlQUFnQixDQUFBLEdBQUEsbUJBQUEsQ0FBQTtBQUhSLEVBQUFBLE9BQUFBLFdBQUFBLENBQUFBO0FBQUEsQ0FBQSxFQUFBLFVBQUEsSUFBQSxFQUFBLEVBQUE7QUFNWixNQUFxQixrQkFBbUQsQ0FBQTtBQUFBLEVBQzVELElBQUEsQ0FBQTtBQUFBLEVBRUEs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
@@ -0,0 +1,23 @@
1
+ import { default as ArgumentType } from './ArgumentType';
2
+ import { default as CommandContext } from '../context/CommandContext';
3
+ import { default as StringReader } from '../StringReader';
4
+
5
+ export declare enum StringType {
6
+ SINGLE_WORD = "words_with_underscores",
7
+ QUOTABLE_PHRASE = "\"quoted phrase\"",
8
+ GREEDY_PHRASE = "words with spaces"
9
+ }
10
+ export default class StringArgumentType implements ArgumentType<string> {
11
+ private type;
12
+ private constructor();
13
+ static word(): StringArgumentType;
14
+ static string(): StringArgumentType;
15
+ static greedyString(): StringArgumentType;
16
+ static getString(context: CommandContext<any>, name: string): string;
17
+ getType(): StringType;
18
+ parse(reader: StringReader): string;
19
+ toString(): string;
20
+ static escapeIfRequired(input: string): String;
21
+ private static escape;
22
+ }
23
+ //# sourceMappingURL=StringArgumentType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringArgumentType.d.ts","sourceRoot":"","sources":["../../../src/lib/arguments/StringArgumentType.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,cAAc,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAE/C,oBAAY,UAAU;IAClB,WAAW,2BAA2B;IACtC,eAAe,sBAAoB;IACnC,aAAa,sBAAsB;CACtC;AAED,MAAM,CAAC,OAAO,OAAO,kBAAmB,YAAW,YAAY,CAAC,MAAM,CAAC;IACnE,OAAO,CAAC,IAAI,CAAa;IAEzB,OAAO;WAIO,IAAI,IAAI,kBAAkB;WAI1B,MAAM,IAAI,kBAAkB;WAI5B,YAAY,IAAI,kBAAkB;WAIlC,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAIpE,OAAO,IAAI,UAAU;IAIrB,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM;IAYnC,QAAQ,IAAI,MAAM;WAIX,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAUrD,OAAO,CAAC,MAAM,CAAC,MAAM;CAaxB"}
@@ -0,0 +1,68 @@
1
+ import StringReader from '../StringReader.es.js';
2
+ import '../../CommandSyntaxException-Dz8Qlq9d.js';
3
+ import '../LiteralMessage.es.js';
4
+
5
+ var StringType = /* @__PURE__ */ ((StringType2) => {
6
+ StringType2["SINGLE_WORD"] = "words_with_underscores";
7
+ StringType2["QUOTABLE_PHRASE"] = '"quoted phrase"';
8
+ StringType2["GREEDY_PHRASE"] = "words with spaces";
9
+ return StringType2;
10
+ })(StringType || {});
11
+ class StringArgumentType {
12
+ type;
13
+ constructor(type) {
14
+ this.type = type;
15
+ }
16
+ static word() {
17
+ return new StringArgumentType("words_with_underscores" /* SINGLE_WORD */);
18
+ }
19
+ static string() {
20
+ return new StringArgumentType('"quoted phrase"' /* QUOTABLE_PHRASE */);
21
+ }
22
+ static greedyString() {
23
+ return new StringArgumentType("words with spaces" /* GREEDY_PHRASE */);
24
+ }
25
+ static getString(context, name) {
26
+ return context.getArgument(name, String);
27
+ }
28
+ getType() {
29
+ return this.type;
30
+ }
31
+ parse(reader) {
32
+ if (this.type == "words with spaces" /* GREEDY_PHRASE */) {
33
+ let text = reader.getRemaining();
34
+ reader.setCursor(reader.getTotalLength());
35
+ return text;
36
+ } else if (this.type == "words_with_underscores" /* SINGLE_WORD */) {
37
+ return reader.readUnquotedString();
38
+ } else {
39
+ return reader.readString();
40
+ }
41
+ }
42
+ toString() {
43
+ return "string()";
44
+ }
45
+ static escapeIfRequired(input) {
46
+ for (let c of input) {
47
+ if (!StringReader.isAllowedInUnquotedString(c)) {
48
+ return StringArgumentType.escape(input);
49
+ }
50
+ }
51
+ return input;
52
+ }
53
+ static escape(input) {
54
+ let result = '"';
55
+ for (let i = 0; i < input.length; i++) {
56
+ const c = input.charAt(i);
57
+ if (c == "\\" || c == '"') {
58
+ result += "\\";
59
+ }
60
+ result += c;
61
+ }
62
+ result += '"';
63
+ return result;
64
+ }
65
+ }
66
+
67
+ export { StringType, StringArgumentType as default };
68
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaW5nQXJndW1lbnRUeXBlLmVzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2FyZ3VtZW50cy9TdHJpbmdBcmd1bWVudFR5cGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFN0cmluZ1JlYWRlciBmcm9tICcuLi9TdHJpbmdSZWFkZXInO1xuaW1wb3J0IHR5cGUgQ29tbWFuZENvbnRleHQgZnJvbSAnLi4vY29udGV4dC9Db21tYW5kQ29udGV4dCc7XG5pbXBvcnQgdHlwZSBBcmd1bWVudFR5cGUgZnJvbSAnLi9Bcmd1bWVudFR5cGUnO1xuXG5leHBvcnQgZW51bSBTdHJpbmdUeXBlIHtcbiAgICBTSU5HTEVfV09SRCA9ICd3b3Jkc193aXRoX3VuZGVyc2NvcmVzJyxcbiAgICBRVU9UQUJMRV9QSFJBU0UgPSAnXCJxdW90ZWQgcGhyYXNlXCInLFxuICAgIEdSRUVEWV9QSFJBU0UgPSAnd29yZHMgd2l0aCBzcGFjZXMnXG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN0cmluZ0FyZ3VtZW50VHlwZSBpbXBsZW1lbnRzIEFyZ3VtZW50VHlwZTxzdHJpbmc+IHtcbiAgICBwcml2YXRlIHR5cGU6IFN0cmluZ1R5cGU7XG5cbiAgICBwcml2YXRlIGNvbnN0cnVjdG9yKHR5cGU6IFN0cmluZ1R5cGUpIHtcbiAgICAgICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHdvcmQoKTogU3RyaW5nQXJndW1lbnRUeXBlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBTdHJpbmdBcmd1bWVudFR5cGUoU3RyaW5nVHlwZS5TSU5HTEVfV09SRCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBzdHJpbmcoKTogU3RyaW5nQXJndW1lbnRUeXBlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBTdHJpbmdBcmd1bWVudFR5cGUoU3RyaW5nVHlwZS5RVU9UQUJMRV9QSFJBU0UpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ3JlZWR5U3RyaW5nKCk6IFN0cmluZ0FyZ3VtZW50VHlwZSB7XG4gICAgICAgIHJldHVybiBuZXcgU3RyaW5nQXJndW1lbnRUeXBlKFN0cmluZ1R5cGUuR1JFRURZX1BIUkFTRSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXRTdHJpbmcoY29udGV4dDogQ29tbWFuZENvbnRleHQ8YW55PiwgbmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGNvbnRleHQuZ2V0QXJndW1lbnQobmFtZSwgU3RyaW5nKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VHlwZSgpOiBTdHJpbmdUeXBlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcGFyc2UocmVhZGVyOiBTdHJpbmdSZWFkZXIpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy50eXBlID09IFN0cmluZ1R5cGUuR1JFRURZX1BIUkFTRSkge1xuICAgICAgICAgICAgbGV0IHRleHQgPSByZWFkZXIuZ2V0UmVtYWluaW5nKCk7XG4gICAgICAgICAgICByZWFkZXIuc2V0Q3Vyc29yKHJlYWRlci5nZXRUb3RhbExlbmd0aCgpKTtcbiAgICAgICAgICAgIHJldHVybiB0ZXh0O1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PSBTdHJpbmdUeXBlLlNJTkdMRV9XT1JEKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVhZGVyLnJlYWRVbnF1b3RlZFN0cmluZygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHJlYWRlci5yZWFkU3RyaW5nKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdzdHJpbmcoKSc7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBlc2NhcGVJZlJlcXVpcmVkKGlucHV0OiBzdHJpbmcpOiBTdHJpbmcge1xuICAgICAgICBmb3IgKGxldCBjIG9mIGlucHV0KSB7XG4gICAgICAgICAgICBpZiAoIVN0cmluZ1JlYWRlci5pc0FsbG93ZWRJblVucXVvdGVkU3RyaW5nKGMpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFN0cmluZ0FyZ3VtZW50VHlwZS5lc2NhcGUoaW5wdXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGlucHV0O1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGVzY2FwZShpbnB1dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9ICdcIic7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5wdXQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGMgPSBpbnB1dC5jaGFyQXQoaSk7XG4gICAgICAgICAgICBpZiAoYyA9PSAnXFxcXCcgfHwgYyA9PSAnXCInKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ICs9ICdcXFxcJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlc3VsdCArPSBjO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVzdWx0ICs9ICdcIic7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbIlN0cmluZ1R5cGUiXSwibWFwcGluZ3MiOiI7Ozs7QUFJWSxJQUFBLFVBQUEscUJBQUFBLFdBQUwsS0FBQTtBQUNILEVBQUFBLFlBQUEsYUFBYyxDQUFBLEdBQUEsd0JBQUEsQ0FBQTtBQUNkLEVBQUFBLFlBQUEsaUJBQWtCLENBQUEsR0FBQSxpQkFBQSxDQUFBO0FBQ2xCLEVBQUFBLFlBQUEsZUFBZ0IsQ0FBQSxHQUFBLG1CQUFBLENBQUE7QUFIUixFQUFBQSxPQUFBQSxXQUFBQSxDQUFBQTtBQUFBLENBQUEsRUFBQSxVQUFBLElBQUEsRUFBQSxFQUFBO0FBTVosTUFBcUIsa0JBQW1ELENBQUE7QUFBQSxFQUM1RCxJQUFBLENBQUE7QUFBQSxFQUVBLFlBQVksSUFBa0IsRUFBQTtBQUNs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