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