@jsprismarine/brigadier 0.2.0-rc.1 → 0.2.1

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 (136) hide show
  1. package/README.md +57 -39
  2. package/dist/index.js +6 -2
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/CommandDispatcher.js +1 -3
  5. package/dist/lib/CommandDispatcher.js.map +1 -1
  6. package/dist/lib/builder/LiteralArgumentBuilder.js.map +1 -1
  7. package/dist/lib/builder/RequiredArgumentBuilder.js.map +1 -1
  8. package/dist/lib/context/CommandContext.js +4 -4
  9. package/dist/lib/context/CommandContext.js.map +1 -1
  10. package/dist/lib/suggestion/Suggestion.js +1 -1
  11. package/dist/lib/suggestion/Suggestion.js.map +1 -1
  12. package/dist/lib/suggestion/Suggestions.js +1 -1
  13. package/dist/lib/suggestion/Suggestions.js.map +1 -1
  14. package/dist/lib/tree/ArgumentCommandNode.js +1 -1
  15. package/dist/lib/tree/ArgumentCommandNode.js.map +1 -1
  16. package/dist/lib/tree/CommandNode.js +2 -2
  17. package/dist/lib/tree/CommandNode.js.map +1 -1
  18. package/package.json +55 -48
  19. package/.prettierrc +0 -10
  20. package/.renovaterc +0 -3
  21. package/CHANGELOG.md +0 -30
  22. package/dist/index.d.ts +0 -23
  23. package/dist/lib/AmbiguityConsumer.d.ts +0 -4
  24. package/dist/lib/Command.d.ts +0 -4
  25. package/dist/lib/CommandDispatcher.d.ts +0 -29
  26. package/dist/lib/ImmutableStringReader.d.ts +0 -12
  27. package/dist/lib/LiteralMessage.d.ts +0 -7
  28. package/dist/lib/Message.d.ts +0 -3
  29. package/dist/lib/ParseResults.d.ts +0 -13
  30. package/dist/lib/Predicate.d.ts +0 -3
  31. package/dist/lib/RedirectModifier.d.ts +0 -4
  32. package/dist/lib/ResultConsumer.d.ts +0 -4
  33. package/dist/lib/SingleRedirectModifier.d.ts +0 -4
  34. package/dist/lib/StringReader.d.ts +0 -27
  35. package/dist/lib/arguments/ArgumentType.d.ts +0 -21
  36. package/dist/lib/arguments/BoolArgumentType.d.ts +0 -13
  37. package/dist/lib/arguments/FloatArgumentType.d.ts +0 -16
  38. package/dist/lib/arguments/IntegerArgumentType.d.ts +0 -16
  39. package/dist/lib/arguments/StringArgumentType.d.ts +0 -21
  40. package/dist/lib/builder/ArgumentBuilder.d.ts +0 -28
  41. package/dist/lib/builder/LiteralArgumentBuilder.d.ts +0 -11
  42. package/dist/lib/builder/RequiredArgumentBuilder.d.ts +0 -18
  43. package/dist/lib/context/CommandContext.d.ts +0 -33
  44. package/dist/lib/context/CommandContextBuilder.d.ts +0 -38
  45. package/dist/lib/context/ParsedArgument.d.ts +0 -9
  46. package/dist/lib/context/ParsedCommandNode.d.ts +0 -11
  47. package/dist/lib/context/StringRange.d.ts +0 -16
  48. package/dist/lib/context/SuggestionContext.d.ts +0 -6
  49. package/dist/lib/exceptions/BuiltInExceptionProvider.d.ts +0 -23
  50. package/dist/lib/exceptions/BuiltInExceptions.d.ts +0 -43
  51. package/dist/lib/exceptions/CommandExceptionType.d.ts +0 -2
  52. package/dist/lib/exceptions/CommandSyntaxException.d.ts +0 -19
  53. package/dist/lib/exceptions/DynamicCommandExceptionType.d.ts +0 -10
  54. package/dist/lib/exceptions/SimpleCommandExceptionType.d.ts +0 -11
  55. package/dist/lib/suggestion/IntegerSuggestion.d.ts +0 -12
  56. package/dist/lib/suggestion/Suggestion.d.ts +0 -17
  57. package/dist/lib/suggestion/SuggestionProvider.d.ts +0 -6
  58. package/dist/lib/suggestion/Suggestions.d.ts +0 -16
  59. package/dist/lib/suggestion/SuggestionsBuilder.d.ts +0 -18
  60. package/dist/lib/tree/ArgumentCommandNode.d.ts +0 -31
  61. package/dist/lib/tree/CommandNode.d.ts +0 -45
  62. package/dist/lib/tree/LiteralCommandNode.d.ts +0 -27
  63. package/dist/lib/tree/RootCommandNode.d.ts +0 -21
  64. package/dist/lib/util/isEqual.d.ts +0 -1
  65. package/example/fill.js +0 -47
  66. package/example/fill.ts +0 -50
  67. package/src/index.ts +0 -50
  68. package/src/lib/AmbiguityConsumer.ts +0 -6
  69. package/src/lib/Command.ts +0 -5
  70. package/src/lib/CommandDispatcher.ts +0 -480
  71. package/src/lib/ImmutableStringReader.ts +0 -22
  72. package/src/lib/LiteralMessage.ts +0 -17
  73. package/src/lib/Message.ts +0 -3
  74. package/src/lib/ParseResults.ts +0 -32
  75. package/src/lib/Predicate.ts +0 -3
  76. package/src/lib/RedirectModifier.ts +0 -5
  77. package/src/lib/ResultConsumer.ts +0 -6
  78. package/src/lib/SingleRedirectModifier.ts +0 -6
  79. package/src/lib/StringReader.ts +0 -210
  80. package/src/lib/arguments/ArgumentType.ts +0 -28
  81. package/src/lib/arguments/BoolArgumentType.ts +0 -41
  82. package/src/lib/arguments/FloatArgumentType.ts +0 -75
  83. package/src/lib/arguments/IntegerArgumentType.ts +0 -75
  84. package/src/lib/arguments/StringArgumentType.ts +0 -83
  85. package/src/lib/builder/ArgumentBuilder.ts +0 -94
  86. package/src/lib/builder/LiteralArgumentBuilder.ts +0 -35
  87. package/src/lib/builder/RequiredArgumentBuilder.ts +0 -54
  88. package/src/lib/context/CommandContext.ts +0 -118
  89. package/src/lib/context/CommandContextBuilder.ts +0 -155
  90. package/src/lib/context/ParsedArgument.ts +0 -27
  91. package/src/lib/context/ParsedCommandNode.ts +0 -35
  92. package/src/lib/context/StringRange.ts +0 -57
  93. package/src/lib/context/SuggestionContext.ts +0 -12
  94. package/src/lib/exceptions/BuiltInExceptionProvider.ts +0 -43
  95. package/src/lib/exceptions/BuiltInExceptions.ts +0 -121
  96. package/src/lib/exceptions/CommandExceptionType.ts +0 -2
  97. package/src/lib/exceptions/CommandSyntaxException.ts +0 -77
  98. package/src/lib/exceptions/DynamicCommandExceptionType.ts +0 -22
  99. package/src/lib/exceptions/SimpleCommandExceptionType.ts +0 -26
  100. package/src/lib/suggestion/IntegerSuggestion.ts +0 -46
  101. package/src/lib/suggestion/Suggestion.ts +0 -87
  102. package/src/lib/suggestion/SuggestionProvider.ts +0 -7
  103. package/src/lib/suggestion/Suggestions.ts +0 -85
  104. package/src/lib/suggestion/SuggestionsBuilder.ts +0 -69
  105. package/src/lib/tree/ArgumentCommandNode.ts +0 -140
  106. package/src/lib/tree/CommandNode.ts +0 -208
  107. package/src/lib/tree/LiteralCommandNode.ts +0 -111
  108. package/src/lib/tree/RootCommandNode.ts +0 -62
  109. package/src/lib/util/isEqual.ts +0 -75
  110. package/test/CommandDispatcherTest.ts +0 -427
  111. package/test/CommandDispatcherUsagesTest.ts +0 -163
  112. package/test/CommandSuggestionsTest.ts +0 -283
  113. package/test/StringReaderTest.ts +0 -391
  114. package/test/arguments/BoolArgumentTypeTest.ts +0 -18
  115. package/test/arguments/FloatArgumentTypeTest.ts +0 -61
  116. package/test/arguments/IntegerArgumentTypeTest.ts +0 -63
  117. package/test/arguments/StringArgumentTypeTest.ts +0 -61
  118. package/test/benchmarks/ExecuteBenchmark.js +0 -33
  119. package/test/benchmarks/ParsingBenchmark.js +0 -96
  120. package/test/builder/ArgumentBuilderTest.ts +0 -61
  121. package/test/builder/LiteralArgumentBuilderTest.ts +0 -37
  122. package/test/builder/RequiredArgumentBuilderTest.ts +0 -40
  123. package/test/context/CommandContextTest.ts +0 -77
  124. package/test/context/ParsedArgumentTest.ts +0 -19
  125. package/test/exceptions/DynamicCommandSyntaxExceptionTypeTest.ts +0 -18
  126. package/test/exceptions/SimpleCommandSyntaxExceptionTypeTest.ts +0 -33
  127. package/test/suggestion/SuggestionBuilderTest.ts +0 -66
  128. package/test/suggestion/SuggestionTest.ts +0 -65
  129. package/test/suggestion/SuggestionsTest.ts +0 -24
  130. package/test/tree/AbstractCommandNodeTest.ts +0 -57
  131. package/test/tree/ArgumentCommandNodeTest.ts +0 -81
  132. package/test/tree/LiteralCommandNodeTest.ts +0 -112
  133. package/test/tree/RootCommandNodeTest.ts +0 -70
  134. package/test/utils/testEquality.ts +0 -10
  135. package/tsconfig.json +0 -41
  136. package/tsconfig.tsbuildinfo +0 -1585
@@ -1,45 +0,0 @@
1
- import AmbiguityConsumer from '../AmbiguityConsumer';
2
- import ArgumentBuilder from '../builder/ArgumentBuilder';
3
- import Command from '../Command';
4
- import CommandContext from '../context/CommandContext';
5
- import CommandContextBuilder from '../context/CommandContextBuilder';
6
- import Predicate from '../Predicate';
7
- import RedirectModifier from '../RedirectModifier';
8
- import StringReader from '../StringReader';
9
- import Suggestions from '../suggestion/Suggestions';
10
- import SuggestionsBuilder from '../suggestion/SuggestionsBuilder';
11
- declare abstract class CommandNode<S> {
12
- private children;
13
- private literals;
14
- private args;
15
- private requirement;
16
- private redirect;
17
- private modifier;
18
- private forks;
19
- private command;
20
- abstract getNodeType(): string;
21
- constructor(command: Command<S>, requirement: Predicate<S>, redirect: CommandNode<S>, modifier: RedirectModifier<S>, forks: boolean);
22
- getCommand(): Command<S>;
23
- getChildren(): IterableIterator<CommandNode<S>>;
24
- getChildrenCount(): number;
25
- getChild(name: string): CommandNode<S>;
26
- getRedirect(): CommandNode<S>;
27
- getRedirectModifier(): RedirectModifier<S>;
28
- canUse(source: S): boolean;
29
- addChild(node: CommandNode<S>): void;
30
- findAmbiguities(consumer: AmbiguityConsumer<S>, context: any): void;
31
- abstract isValidInput(input: string, context: any): boolean;
32
- equals(o: object): boolean;
33
- getRequirement(): Predicate<S>;
34
- abstract getName(): string;
35
- abstract getUsageText(): string;
36
- abstract parse(reader: StringReader, contextBuilder: CommandContextBuilder<S>): void;
37
- abstract listSuggestions(context: CommandContext<S>, builder: SuggestionsBuilder): Promise<Suggestions>;
38
- abstract createBuilder(): ArgumentBuilder<S, any>;
39
- abstract getSortedKey(): string;
40
- getRelevantNodes(input: StringReader): Iterable<CommandNode<S>>;
41
- compareTo(o: CommandNode<S>): number;
42
- isFork(): boolean;
43
- abstract getExamples(): Iterable<string>;
44
- }
45
- export default CommandNode;
@@ -1,27 +0,0 @@
1
- import Command from "../Command";
2
- import CommandNode from "./CommandNode";
3
- import Predicate from "../Predicate";
4
- import RedirectModifier from "../RedirectModifier";
5
- import StringReader from "../StringReader";
6
- import LiteralArgumentBuilder from "../builder/LiteralArgumentBuilder";
7
- import CommandContext from "../context/CommandContext";
8
- import CommandContextBuilder from "../context/CommandContextBuilder";
9
- import Suggestions from "../suggestion/Suggestions";
10
- import SuggestionsBuilder from "../suggestion/SuggestionsBuilder";
11
- export default class LiteralCommandNode<S> extends CommandNode<S> {
12
- private literal;
13
- constructor(literal: string, command: Command<S>, requirement: Predicate<S>, redirect: CommandNode<S>, modifier: RedirectModifier<S>, forks: boolean);
14
- getNodeType(): string;
15
- getLiteral(): string;
16
- getName(): string;
17
- parse(reader: StringReader, contextBuilder: CommandContextBuilder<S>): void;
18
- private __parse;
19
- listSuggestions(context: CommandContext<S>, builder: SuggestionsBuilder): Promise<Suggestions>;
20
- isValidInput(input: string): boolean;
21
- equals(o: object): boolean;
22
- getUsageText(): string;
23
- createBuilder(): LiteralArgumentBuilder<S>;
24
- getSortedKey(): string;
25
- getExamples(): Iterable<string>;
26
- toString(): string;
27
- }
@@ -1,21 +0,0 @@
1
- import CommandNode from "./CommandNode";
2
- import StringReader from "../StringReader";
3
- import ArgumentBuilder from "../builder/ArgumentBuilder";
4
- import CommandContext from "../context/CommandContext";
5
- import CommandContextBuilder from "../context/CommandContextBuilder";
6
- import Suggestions from "../suggestion/Suggestions";
7
- import SuggestionsBuilder from "../suggestion/SuggestionsBuilder";
8
- export default class RootCommandNode<S> extends CommandNode<S> {
9
- constructor();
10
- getNodeType(): string;
11
- getName(): string;
12
- getUsageText(): string;
13
- parse(reader: StringReader, contextBuilder: CommandContextBuilder<S>): void;
14
- listSuggestions(context: CommandContext<S>, builder: SuggestionsBuilder): Promise<Suggestions>;
15
- isValidInput(input: String): boolean;
16
- equals(o: object): boolean;
17
- createBuilder(): ArgumentBuilder<S, any>;
18
- getSortedKey(): string;
19
- getExamples(): Iterable<string>;
20
- toString(): string;
21
- }
@@ -1 +0,0 @@
1
- export default function isEqual(a: any, b: any): boolean;
package/example/fill.js DELETED
@@ -1,47 +0,0 @@
1
- const { CommandDispatcher, literal, argument, string, Suggestions } = require("../dist")
2
-
3
- class BlockPos {
4
- constructor(x = 0, y = 0, z = 0) {
5
- this.x = x; this.y = y; this.z = z;
6
- }
7
- parse(reader) {
8
- this.x = reader.readInt();
9
- reader.skip();
10
- this.y = reader.readInt();
11
- reader.skip();
12
- this.z = reader.readInt();
13
- return this;
14
- }
15
- listSuggestions(context, builder) {
16
- return Suggestions.empty();
17
- }
18
- getExamples() {
19
- return [
20
- "1 2 3"
21
- ]
22
- }
23
- }
24
-
25
- const dispatcher = new CommandDispatcher();
26
-
27
- dispatcher.register(
28
- literal("fill").then(
29
- argument("pos1", new BlockPos()).then(
30
- argument("pos2", new BlockPos()).then(
31
- argument("block", string()).executes(context => {
32
- console.log(context.getArgument("pos1", BlockPos))
33
- console.log(context.getArgument("pos2", BlockPos))
34
- console.log(context.getArgument("block", /*String*/ 3))
35
- return 0;
36
- })
37
- )
38
- )
39
- )
40
- )
41
-
42
- const parsedCommand = dispatcher.parse("fill 3 4 5 10 11 12 air", {})
43
- try {
44
- dispatcher.execute(parsedCommand);
45
- } catch (ex) {
46
- console.error(ex.getMessage());
47
- }
package/example/fill.ts DELETED
@@ -1,50 +0,0 @@
1
- import { CommandDispatcher, literal, argument, string, ArgumentType, StringReader, CommandContext, SuggestionsBuilder, Suggestions } from "../dist"
2
-
3
- class BlockPos implements ArgumentType<BlockPos> {
4
-
5
- public x: number;
6
- public y: number;
7
- public z: number;
8
- constructor(x: number = 0, y: number = 0, z: number = 0) {
9
- this.x = x; this.y = y; this.z = z;
10
- }
11
- parse(reader: StringReader) {
12
- this.x = reader.readInt();
13
- reader.skip();
14
- this.y = reader.readInt();
15
- reader.skip();
16
- this.z = reader.readInt();
17
- return this;
18
- }
19
-
20
- getExamples() {
21
- return [
22
- "1 2 3"
23
- ]
24
- }
25
- }
26
-
27
- const dispatcher = new CommandDispatcher();
28
-
29
- dispatcher.register(
30
- literal("fill").then(
31
- argument("pos1", new BlockPos()).then(
32
- argument("pos2", new BlockPos()).then(
33
- argument("block", string()).executes(context => {
34
- console.log(context.getArgument("pos1", BlockPos))
35
- console.log(context.getArgument("pos2", BlockPos))
36
- console.log(context.getArgument("block", String))
37
- return 0;
38
- }).build()
39
- )
40
- )
41
- )
42
- )
43
-
44
- const parsedCommand = dispatcher.parse("fill 3 4 5 10 11 12 air", {})
45
-
46
- try {
47
- dispatcher.execute(parsedCommand);
48
- } catch (ex) {
49
- console.error(ex.getMessage());
50
- }
package/src/index.ts DELETED
@@ -1,50 +0,0 @@
1
- import CommandDispatcher from "./lib/CommandDispatcher"
2
- import LiteralMessage from "./lib/LiteralMessage"
3
- import ParseResults from "./lib/ParseResults"
4
- import StringReader from "./lib/StringReader"
5
- import { DefaultType } from "./lib/arguments/ArgumentType"
6
- import LiteralArgumentBuilder, { literal } from "./lib/builder/LiteralArgumentBuilder"
7
- import RequiredArgumentBuilder, { argument } from "./lib/builder/RequiredArgumentBuilder"
8
- import CommandContext from "./lib/context/CommandContext"
9
- import CommandContextBuilder from "./lib/context/CommandContextBuilder"
10
- import ParsedArgument from "./lib/context/ParsedArgument"
11
- import ParsedCommandNode from "./lib/context/ParsedCommandNode"
12
- import StringRange from "./lib/context/StringRange"
13
- import SuggestionsContext from "./lib/context/SuggestionContext"
14
- import CommandSyntaxException from "./lib/exceptions/CommandSyntaxException"
15
- import DynamicCommandExceptionType from "./lib/exceptions/DynamicCommandExceptionType"
16
- import SimpleCommandExceptionType from "./lib/exceptions/SimpleCommandExceptionType"
17
- import Suggestion from "./lib/suggestion/Suggestion"
18
- import Suggestions from "./lib/suggestion/Suggestions"
19
- import SuggestionsBuilder from "./lib/suggestion/SuggestionsBuilder";
20
- import ArgumentCommandNode from "./lib/tree/ArgumentCommandNode"
21
- import LiteralCommandNode from "./lib/tree/LiteralCommandNode"
22
- import RootCommandNode from "./lib/tree/RootCommandNode"
23
-
24
- const { word, string, greedyString, bool, integer, float} = DefaultType
25
-
26
- export {
27
- word, string, greedyString, bool, integer, float,
28
- literal, argument,
29
- CommandDispatcher,
30
- LiteralMessage,
31
- ParseResults,
32
- StringReader,
33
- LiteralArgumentBuilder,
34
- RequiredArgumentBuilder,
35
- CommandContext,
36
- CommandContextBuilder,
37
- ParsedArgument,
38
- ParsedCommandNode,
39
- StringRange,
40
- SuggestionsContext,
41
- CommandSyntaxException,
42
- SimpleCommandExceptionType,
43
- DynamicCommandExceptionType,
44
- Suggestion,
45
- Suggestions,
46
- SuggestionsBuilder,
47
- ArgumentCommandNode,
48
- LiteralCommandNode,
49
- RootCommandNode
50
- }
@@ -1,6 +0,0 @@
1
- import CommandNode from "./tree/CommandNode"
2
-
3
- export default interface AmbiguityConsumer<S> {
4
-
5
- ambiguous(parent: CommandNode<S>, child: CommandNode<S>, sibling: CommandNode<S>, inputs: Iterable<string>): void;
6
- }
@@ -1,5 +0,0 @@
1
- import CommandContext from "./context/CommandContext"
2
-
3
- export default interface Command<S> {
4
- (context: CommandContext<S>): Promise<any>;
5
- }