@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,29 +0,0 @@
1
- import AmbiguityConsumer from './AmbiguityConsumer';
2
- import CommandNode from './tree/CommandNode';
3
- import LiteralArgumentBuilder from './builder/LiteralArgumentBuilder';
4
- import LiteralCommandNode from './tree/LiteralCommandNode';
5
- import ParseResults from './ParseResults';
6
- import ResultConsumer from './ResultConsumer';
7
- import RootCommandNode from './tree/RootCommandNode';
8
- import StringReader from './StringReader';
9
- import Suggestions from './suggestion/Suggestions';
10
- export default class CommandDispatcher<S> {
11
- private root;
12
- private consumer;
13
- constructor(root?: RootCommandNode<S>);
14
- register(command: LiteralArgumentBuilder<S>): LiteralCommandNode<S>;
15
- setConsumer(consumer: ResultConsumer<S>): void;
16
- execute(input: string | StringReader | ParseResults<S>, source?: S): Promise<any>[];
17
- parse(command: string | StringReader, source: S): ParseResults<S>;
18
- private parseNodes;
19
- getAllUsage(node: CommandNode<S>, source: S, restricted: boolean): string[];
20
- private __getAllUsage;
21
- getSmartUsage(node: CommandNode<S>, source: S): Map<CommandNode<S>, string>;
22
- private __getSmartUsage;
23
- getCompletionSuggestions(parse: ParseResults<S>, cursor?: number): Promise<Suggestions>;
24
- getRoot(): RootCommandNode<S>;
25
- getPath(target: CommandNode<S>): string[];
26
- findNode(path: string[]): CommandNode<S>;
27
- findAmbiguities(consumer: AmbiguityConsumer<S>, context: any): void;
28
- private addPaths;
29
- }
@@ -1,12 +0,0 @@
1
- export default interface ImmutableStringReader {
2
- getString(): string;
3
- getRemainingLength(): number;
4
- getTotalLength(): number;
5
- getCursor(): number;
6
- getRead(): string;
7
- getRemaining(): string;
8
- canRead(length: number): boolean;
9
- canRead(): boolean;
10
- peek(): string;
11
- peek(offset: number): string;
12
- }
@@ -1,7 +0,0 @@
1
- import Message from "./Message";
2
- export default class LiteralMessage implements Message {
3
- str: string;
4
- constructor(str: string);
5
- getString(): string;
6
- toString(): string;
7
- }
@@ -1,3 +0,0 @@
1
- export default interface Message {
2
- getString(): string;
3
- }
@@ -1,13 +0,0 @@
1
- import CommandContextBuilder from "./context/CommandContextBuilder";
2
- import CommandSyntaxException from "./exceptions/CommandSyntaxException";
3
- import CommandNode from "./tree/CommandNode";
4
- import ImmutableStringReader from "./ImmutableStringReader";
5
- export default class ParseResults<S> {
6
- private context;
7
- private exceptions;
8
- private reader;
9
- constructor(context: CommandContextBuilder<S>, reader: ImmutableStringReader, exceptions: Map<CommandNode<S>, CommandSyntaxException>);
10
- getContext(): CommandContextBuilder<S>;
11
- getReader(): ImmutableStringReader;
12
- getExceptions(): Map<CommandNode<S>, CommandSyntaxException>;
13
- }
@@ -1,3 +0,0 @@
1
- export default interface Predicate<T> {
2
- (t: T): boolean;
3
- }
@@ -1,4 +0,0 @@
1
- import CommandContext from "./context/CommandContext";
2
- export default interface RedirectModifier<S> {
3
- apply(context: CommandContext<S>): S[];
4
- }
@@ -1,4 +0,0 @@
1
- import CommandContext from "./context/CommandContext";
2
- export default interface ResultConsumer<S> {
3
- onCommandComplete(context: CommandContext<S>, success: boolean, result: any): void;
4
- }
@@ -1,4 +0,0 @@
1
- import CommandContext from "./context/CommandContext";
2
- export default interface SingleRedirectModifier<S> {
3
- apply(context: CommandContext<S>): S;
4
- }
@@ -1,27 +0,0 @@
1
- import ImmutableStringReader from "./ImmutableStringReader";
2
- export default class StringReader implements ImmutableStringReader {
3
- private string;
4
- private cursor;
5
- constructor(other: string | StringReader);
6
- getString(): string;
7
- setCursor(cursor: number): void;
8
- getRemainingLength(): number;
9
- getTotalLength(): number;
10
- getCursor(): number;
11
- getRead(): string;
12
- getRemaining(): string;
13
- canRead(length?: number): boolean;
14
- peek(offset?: number): string;
15
- read(): string;
16
- skip(): void;
17
- static isAllowedNumber(c: string): boolean;
18
- skipWhitespace(): void;
19
- readInt(): number;
20
- readFloat(): number;
21
- static isAllowedInUnquotedString(c: string): boolean;
22
- readUnquotedString(): string;
23
- readQuotedString(): string;
24
- readString(): string;
25
- readBoolean(): boolean;
26
- expect(c: string): void;
27
- }
@@ -1,21 +0,0 @@
1
- import BoolArgumentType from './BoolArgumentType';
2
- import CommandContext from '../context/CommandContext';
3
- import FloatArgumentType from './FloatArgumentType';
4
- import IntegerArgumentType from './IntegerArgumentType';
5
- import StringArgumentType from './StringArgumentType';
6
- import StringReader from '../StringReader';
7
- import Suggestions from '../suggestion/Suggestions';
8
- import SuggestionsBuilder from '../suggestion/SuggestionsBuilder';
9
- export declare const DefaultType: {
10
- bool: typeof BoolArgumentType.bool;
11
- integer: typeof IntegerArgumentType.integer;
12
- float: typeof FloatArgumentType.float;
13
- word: typeof StringArgumentType.word;
14
- string: typeof StringArgumentType.string;
15
- greedyString: typeof StringArgumentType.greedyString;
16
- };
17
- export default interface ArgumentType<T> {
18
- parse(reader: StringReader, context: CommandContext<any>): T;
19
- listSuggestions?<S>(context: CommandContext<S>, builder: SuggestionsBuilder): Promise<Suggestions>;
20
- getExamples?(): Iterable<string>;
21
- }
@@ -1,13 +0,0 @@
1
- import StringReader from "../StringReader";
2
- import CommandContext from "../context/CommandContext";
3
- import Suggestions from "../suggestion/Suggestions";
4
- import SuggestionsBuilder from "../suggestion/SuggestionsBuilder";
5
- import ArgumentType from "./ArgumentType";
6
- export default class BoolArgumentType implements ArgumentType<boolean> {
7
- private constructor();
8
- static bool(): BoolArgumentType;
9
- static getBool(context: CommandContext<any>, name: string): boolean;
10
- parse(reader: StringReader): boolean;
11
- listSuggestions(context: CommandContext<any>, builder: SuggestionsBuilder): Promise<Suggestions>;
12
- getExamples(): Iterable<string>;
13
- }
@@ -1,16 +0,0 @@
1
- import StringReader from "../StringReader";
2
- import CommandContext from "../context/CommandContext";
3
- import ArgumentType from "./ArgumentType";
4
- export default class FloatArgumentType implements ArgumentType<number> {
5
- private minimum;
6
- private maximum;
7
- private constructor();
8
- static float(min?: number, max?: number): FloatArgumentType;
9
- static getFloat(context: CommandContext<any>, name: string): number;
10
- getMinimum(): number;
11
- getMaximum(): number;
12
- parse(reader: StringReader): number;
13
- equals(o: object): boolean;
14
- toString(): string;
15
- getExamples(): Iterable<string>;
16
- }
@@ -1,16 +0,0 @@
1
- import StringReader from "../StringReader";
2
- import CommandContext from "../context/CommandContext";
3
- import ArgumentType from "./ArgumentType";
4
- export default class IntegerArgumentType implements ArgumentType<number> {
5
- private minimum;
6
- private maximum;
7
- private constructor();
8
- static integer(min?: number, max?: number): IntegerArgumentType;
9
- static getInteger(context: CommandContext<any>, name: string): number;
10
- getMinimum(): number;
11
- getMaximum(): number;
12
- parse(reader: StringReader): number;
13
- equals(o: object): boolean;
14
- toString(): string;
15
- getExamples(): Iterable<string>;
16
- }
@@ -1,21 +0,0 @@
1
- import StringReader from "../StringReader";
2
- import CommandContext from "../context/CommandContext";
3
- import ArgumentType from "./ArgumentType";
4
- export declare enum StringType {
5
- SINGLE_WORD = "words_with_underscores",
6
- QUOTABLE_PHRASE = "\"quoted phrase\"",
7
- GREEDY_PHRASE = "words with spaces"
8
- }
9
- export default class StringArgumentType implements ArgumentType<string> {
10
- private type;
11
- private constructor();
12
- static word(): StringArgumentType;
13
- static string(): StringArgumentType;
14
- static greedyString(): StringArgumentType;
15
- static getString(context: CommandContext<any>, name: string): string;
16
- getType(): StringType;
17
- parse(reader: StringReader): string;
18
- toString(): string;
19
- static escapeIfRequired(input: string): String;
20
- private static escape;
21
- }
@@ -1,28 +0,0 @@
1
- import Command from "../Command";
2
- import RedirectModifier from "../RedirectModifier";
3
- import SingleRedirectModifier from "../SingleRedirectModifier";
4
- import CommandNode from "../tree/CommandNode";
5
- import Predicate from "../Predicate";
6
- declare abstract class ArgumentBuilder<S, T extends ArgumentBuilder<S, T>> {
7
- private args;
8
- private command;
9
- private requirement;
10
- private target;
11
- private modifier;
12
- private forks;
13
- abstract getThis(): T;
14
- then(arg: ArgumentBuilder<S, any> | CommandNode<S>): T;
15
- getArguments(): Iterable<CommandNode<S>>;
16
- executes(command: Command<S>): T;
17
- getCommand(): Command<S>;
18
- requires(requirement: Predicate<S>): T;
19
- getRequirement(): Predicate<S>;
20
- redirect(target: CommandNode<S>, modifier?: SingleRedirectModifier<S>): T;
21
- fork(target: CommandNode<S>, modifier: RedirectModifier<S>): T;
22
- forward(target: CommandNode<S>, modifier: RedirectModifier<S>, fork: boolean): T;
23
- getRedirect(): CommandNode<S>;
24
- getRedirectModifier(): RedirectModifier<S>;
25
- isFork(): boolean;
26
- abstract build(): CommandNode<S>;
27
- }
28
- export default ArgumentBuilder;
@@ -1,11 +0,0 @@
1
- import LiteralCommandNode from "../tree/LiteralCommandNode";
2
- import ArgumentBuilder from "./ArgumentBuilder";
3
- export default class LiteralArgumentBuilder<S> extends ArgumentBuilder<S, LiteralArgumentBuilder<S>> {
4
- private literal;
5
- constructor(literal: string);
6
- static literal<S>(name: string): LiteralArgumentBuilder<S>;
7
- getThis(): LiteralArgumentBuilder<S>;
8
- getLiteral(): string;
9
- build(): LiteralCommandNode<S>;
10
- }
11
- export declare const literal: typeof LiteralArgumentBuilder.literal;
@@ -1,18 +0,0 @@
1
- import ArgumentType from "../arguments/ArgumentType";
2
- import SuggestionProvider from "../suggestion/SuggestionProvider";
3
- import ArgumentCommandNode from "../tree/ArgumentCommandNode";
4
- import ArgumentBuilder from "./ArgumentBuilder";
5
- export default class RequiredArgumentBuilder<S, T> extends ArgumentBuilder<S, RequiredArgumentBuilder<S, T>> {
6
- private name;
7
- private type;
8
- private suggestionsProvider;
9
- private constructor();
10
- static argument<S, T>(name: string, type: ArgumentType<T>): RequiredArgumentBuilder<S, T>;
11
- suggests(provider: SuggestionProvider<S>): RequiredArgumentBuilder<S, T>;
12
- getSuggestionsProvider(): SuggestionProvider<S>;
13
- getThis(): RequiredArgumentBuilder<S, T>;
14
- getType(): ArgumentType<T>;
15
- getName(): string;
16
- build(): ArgumentCommandNode<S, T>;
17
- }
18
- export declare const argument: typeof RequiredArgumentBuilder.argument;
@@ -1,33 +0,0 @@
1
- import Command from "../Command";
2
- import RedirectModifier from "../RedirectModifier";
3
- import CommandNode from "../tree/CommandNode";
4
- import StringRange from "./StringRange";
5
- import ParsedArgument from "./ParsedArgument";
6
- import ParsedCommandNode from "./ParsedCommandNode";
7
- export default class CommandContext<S> {
8
- private source;
9
- private input;
10
- private command;
11
- private args;
12
- private rootNode;
13
- private nodes;
14
- private range;
15
- private child;
16
- private modifier;
17
- private forks;
18
- 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>, modifier: RedirectModifier<S>, forks: boolean);
19
- copyFor(source: S): CommandContext<S>;
20
- getChild(): CommandContext<S>;
21
- getLastChild(): CommandContext<S>;
22
- getCommand(): Command<S>;
23
- getSource(): S;
24
- getArgument(name: string, clazz?: Function): any;
25
- equals(o: object): boolean;
26
- getRedirectModifier(): RedirectModifier<S>;
27
- getRange(): StringRange;
28
- getInput(): string;
29
- getRootNode(): CommandNode<S>;
30
- getNodes(): Array<ParsedCommandNode<S>>;
31
- hasNodes(): boolean;
32
- isForked(): boolean;
33
- }
@@ -1,38 +0,0 @@
1
- import Command from "../Command";
2
- import StringRange from "./StringRange";
3
- import CommandNode from "../tree/CommandNode";
4
- import CommandContext from "./CommandContext";
5
- import ParsedArgument from "./ParsedArgument";
6
- import SuggestionContext from "./SuggestionContext";
7
- import ParsedCommandNode from "./ParsedCommandNode";
8
- import CommandDispatcher from "../CommandDispatcher";
9
- export default class CommandContextBuilder<S> {
10
- private args;
11
- private rootNode;
12
- private nodes;
13
- private dispatcher;
14
- private source;
15
- private command;
16
- private child;
17
- private range;
18
- private modifier;
19
- private forks;
20
- constructor(dispatcher: CommandDispatcher<S>, source: S, rootNode: CommandNode<S>, start: number);
21
- withSource(source: S): CommandContextBuilder<S>;
22
- getSource(): S;
23
- getRootNode(): CommandNode<S>;
24
- withArgument(name: String, argument: ParsedArgument<S, any>): CommandContextBuilder<S>;
25
- getArguments(): Map<String, ParsedArgument<S, any>>;
26
- withCommand(command: Command<S>): CommandContextBuilder<S>;
27
- withNode(node: CommandNode<S>, range: StringRange): CommandContextBuilder<S>;
28
- copy(): CommandContextBuilder<S>;
29
- withChild(child: CommandContextBuilder<S>): CommandContextBuilder<S>;
30
- getChild(): CommandContextBuilder<S>;
31
- getLastChild(): CommandContextBuilder<S>;
32
- getCommand(): Command<S>;
33
- getNodes(): Array<ParsedCommandNode<S>>;
34
- build(input: string): CommandContext<S>;
35
- getDispatcher(): CommandDispatcher<S>;
36
- getRange(): StringRange;
37
- findSuggestionContext(cursor: number): SuggestionContext<S>;
38
- }
@@ -1,9 +0,0 @@
1
- import StringRange from "./StringRange";
2
- export default class ParsedArgument<S, T> {
3
- private range;
4
- private result;
5
- constructor(start: number, end: number, result: T);
6
- getRange(): StringRange;
7
- getResult(): T;
8
- equals(o: object): boolean;
9
- }
@@ -1,11 +0,0 @@
1
- import CommandNode from "../tree/CommandNode";
2
- import StringRange from "./StringRange";
3
- export default class ParsedCommandNode<S> {
4
- private node;
5
- private range;
6
- constructor(node: CommandNode<S>, range: StringRange);
7
- getNode(): CommandNode<S>;
8
- getRange(): StringRange;
9
- toString(): String;
10
- equals(o: object): boolean;
11
- }
@@ -1,16 +0,0 @@
1
- import ImmutableStringReader from "../ImmutableStringReader";
2
- export default class StringRange {
3
- private start;
4
- private end;
5
- constructor(start: number, end: number);
6
- static at(pos: number): StringRange;
7
- static between(start: number, end: number): StringRange;
8
- static encompassing(a: StringRange, b: StringRange): StringRange;
9
- getStart(): number;
10
- getEnd(): number;
11
- get(str: ImmutableStringReader | string): string;
12
- isEmpty(): boolean;
13
- getLength(): number;
14
- equals(o: object): boolean;
15
- toString(): string;
16
- }
@@ -1,6 +0,0 @@
1
- import CommandNode from "../tree/CommandNode";
2
- export default class SuggestionContext<S> {
3
- parent: CommandNode<S>;
4
- startPos: number;
5
- constructor(parent: CommandNode<S>, startPos: number);
6
- }
@@ -1,23 +0,0 @@
1
- import DynamicCommandExceptionType from "./DynamicCommandExceptionType";
2
- import SimpleCommandExceptionType from "./SimpleCommandExceptionType";
3
- export default interface BuiltInExceptionProvider {
4
- floatTooLow(): DynamicCommandExceptionType;
5
- floatTooHigh(): DynamicCommandExceptionType;
6
- integerTooLow(): DynamicCommandExceptionType;
7
- integerTooHigh(): DynamicCommandExceptionType;
8
- literalIncorrect(): DynamicCommandExceptionType;
9
- readerExpectedStartOfQuote(): SimpleCommandExceptionType;
10
- readerExpectedEndOfQuote(): SimpleCommandExceptionType;
11
- readerInvalidEscape(): DynamicCommandExceptionType;
12
- readerInvalidBool(): DynamicCommandExceptionType;
13
- readerInvalidInt(): DynamicCommandExceptionType;
14
- readerExpectedInt(): SimpleCommandExceptionType;
15
- readerInvalidFloat(): DynamicCommandExceptionType;
16
- readerExpectedFloat(): SimpleCommandExceptionType;
17
- readerExpectedBool(): SimpleCommandExceptionType;
18
- readerExpectedSymbol(): DynamicCommandExceptionType;
19
- dispatcherUnknownCommand(): SimpleCommandExceptionType;
20
- dispatcherUnknownArgument(): SimpleCommandExceptionType;
21
- dispatcherExpectedArgumentSeparator(): SimpleCommandExceptionType;
22
- dispatcherParseException(): DynamicCommandExceptionType;
23
- }
@@ -1,43 +0,0 @@
1
- import BuiltInExceptionProvider from "./BuiltInExceptionProvider";
2
- import SimpleCommandExceptionType from "./SimpleCommandExceptionType";
3
- import DynamicCommandExceptionType from "./DynamicCommandExceptionType";
4
- export default class BuiltInExceptions implements BuiltInExceptionProvider {
5
- private static FLOAT_TOO_SMALL;
6
- private static FLOAT_TOO_BIG;
7
- private static INTEGER_TOO_SMALL;
8
- private static INTEGER_TOO_BIG;
9
- private static LITERAL_INCORRECT;
10
- private static READER_EXPECTED_START_OF_QUOTE;
11
- private static READER_EXPECTED_END_OF_QUOTE;
12
- private static READER_INVALID_ESCAPE;
13
- private static READER_INVALID_BOOL;
14
- private static READER_INVALID_INT;
15
- private static READER_EXPECTED_INT;
16
- private static READER_INVALID_FLOAT;
17
- private static READER_EXPECTED_FLOAT;
18
- private static READER_EXPECTED_BOOL;
19
- private static READER_EXPECTED_SYMBOL;
20
- private static DISPATCHER_UNKNOWN_COMMAND;
21
- private static DISPATCHER_UNKNOWN_ARGUMENT;
22
- private static DISPATCHER_EXPECTED_ARGUMENT_SEPARATOR;
23
- private static DISPATCHER_PARSE_EXCEPTION;
24
- floatTooLow(): DynamicCommandExceptionType;
25
- floatTooHigh(): DynamicCommandExceptionType;
26
- integerTooLow(): DynamicCommandExceptionType;
27
- integerTooHigh(): DynamicCommandExceptionType;
28
- literalIncorrect(): DynamicCommandExceptionType;
29
- readerExpectedStartOfQuote(): SimpleCommandExceptionType;
30
- readerExpectedEndOfQuote(): SimpleCommandExceptionType;
31
- readerInvalidEscape(): DynamicCommandExceptionType;
32
- readerInvalidBool(): DynamicCommandExceptionType;
33
- readerInvalidInt(): DynamicCommandExceptionType;
34
- readerExpectedInt(): SimpleCommandExceptionType;
35
- readerInvalidFloat(): DynamicCommandExceptionType;
36
- readerExpectedFloat(): SimpleCommandExceptionType;
37
- readerExpectedBool(): SimpleCommandExceptionType;
38
- readerExpectedSymbol(): DynamicCommandExceptionType;
39
- dispatcherUnknownCommand(): SimpleCommandExceptionType;
40
- dispatcherUnknownArgument(): SimpleCommandExceptionType;
41
- dispatcherExpectedArgumentSeparator(): SimpleCommandExceptionType;
42
- dispatcherParseException(): DynamicCommandExceptionType;
43
- }
@@ -1,2 +0,0 @@
1
- export default interface CommandExceptionType {
2
- }
@@ -1,19 +0,0 @@
1
- import Message from "../Message";
2
- import BuiltInExceptionProvider from "./BuiltInExceptionProvider";
3
- import CommandExceptionType from "./CommandExceptionType";
4
- export default class CommandSyntaxException extends Error {
5
- static CONTEXT_AMOUNT: number;
6
- static BUILT_IN_EXCEPTIONS: BuiltInExceptionProvider;
7
- private type;
8
- private __message;
9
- private input;
10
- private cursor;
11
- constructor(type: CommandExceptionType, message: Message, input?: string, cursor?: number);
12
- getMessage(): string;
13
- getRawMessage(): Message;
14
- getContext(): string;
15
- getType(): CommandExceptionType;
16
- getInput(): string;
17
- getCursor(): number;
18
- toString(): string;
19
- }
@@ -1,10 +0,0 @@
1
- import Message from "../Message";
2
- import CommandExceptionType from "./CommandExceptionType";
3
- import CommandSyntaxException from "./CommandSyntaxException";
4
- import ImmutableStringReader from "../ImmutableStringReader";
5
- export default class DynamicCommandExceptionType implements CommandExceptionType {
6
- private fn;
7
- constructor(fn: (...args: any[]) => Message);
8
- create(...args: any[]): CommandSyntaxException;
9
- createWithContext(reader: ImmutableStringReader, ...args: any[]): CommandSyntaxException;
10
- }
@@ -1,11 +0,0 @@
1
- import Message from "../Message";
2
- import ImmutableStringReader from "../ImmutableStringReader";
3
- import CommandExceptionType from "./CommandExceptionType";
4
- import CommandSyntaxException from "./CommandSyntaxException";
5
- export default class SimpleCommandExceptionType implements CommandExceptionType {
6
- private message;
7
- constructor(message: Message);
8
- create(): CommandSyntaxException;
9
- createWithContext(reader: ImmutableStringReader): CommandSyntaxException;
10
- toString(): string;
11
- }
@@ -1,12 +0,0 @@
1
- import Message from "../Message";
2
- import StringRange from "../context/StringRange";
3
- import Suggestion from "./Suggestion";
4
- export default class IntegerSuggestion extends Suggestion {
5
- private value;
6
- constructor(range: StringRange, value: number, tooltip?: Message);
7
- getValue(): number;
8
- equals(o: object): boolean;
9
- toString(): String;
10
- compareTo(o: Suggestion): number;
11
- compareToIgnoreCase(b: Suggestion): number;
12
- }
@@ -1,17 +0,0 @@
1
- import Message from "../Message";
2
- import StringRange from "../context/StringRange";
3
- export default class Suggestion {
4
- private range;
5
- private text;
6
- private tooltip;
7
- constructor(range: StringRange, text: string, tooltip?: Message);
8
- getRange(): StringRange;
9
- getText(): string;
10
- getTooltip(): Message;
11
- apply(input: string): string;
12
- equals(o: object): boolean;
13
- toString(): String;
14
- compareTo(o: Suggestion): number;
15
- compareToIgnoreCase(b: Suggestion): number;
16
- expand(command: string, range: StringRange): Suggestion;
17
- }
@@ -1,6 +0,0 @@
1
- import Suggestions from "./Suggestions";
2
- import SuggestionsBuilder from "./SuggestionsBuilder";
3
- import CommandContext from "../context/CommandContext";
4
- export default interface SuggestionProvider<S> {
5
- getSuggestions(context: CommandContext<S>, builder: SuggestionsBuilder): Promise<Suggestions>;
6
- }
@@ -1,16 +0,0 @@
1
- import StringRange from "../context/StringRange";
2
- import Suggestion from "./Suggestion";
3
- export default class Suggestions {
4
- private static EMPTY;
5
- private range;
6
- private suggestions;
7
- constructor(range: StringRange, suggestions: Array<Suggestion>);
8
- getRange(): StringRange;
9
- getList(): Array<Suggestion>;
10
- isEmpty(): boolean;
11
- equals(o: object): boolean;
12
- toString(): String;
13
- static empty(): Promise<Suggestions>;
14
- static merge(command: string, input: Array<Suggestions>): Suggestions;
15
- static create(command: string, suggestions: Array<Suggestion>): Suggestions;
16
- }
@@ -1,18 +0,0 @@
1
- import Message from "../Message";
2
- import Suggestions from "./Suggestions";
3
- export default class SuggestionsBuilder {
4
- private input;
5
- private start;
6
- private remaining;
7
- private result;
8
- constructor(input: string, start: number);
9
- getInput(): String;
10
- getStart(): number;
11
- getRemaining(): string;
12
- build(): Suggestions;
13
- buildPromise(): Promise<Suggestions>;
14
- suggest(text: string | number, tooltip?: Message): SuggestionsBuilder;
15
- add(other: SuggestionsBuilder): SuggestionsBuilder;
16
- createOffset(start: number): SuggestionsBuilder;
17
- restart(): SuggestionsBuilder;
18
- }
@@ -1,31 +0,0 @@
1
- import ArgumentType from '../arguments/ArgumentType';
2
- import Command from '../Command';
3
- import CommandContext from '../context/CommandContext';
4
- import CommandContextBuilder from '../context/CommandContextBuilder';
5
- import CommandNode from './CommandNode';
6
- import Predicate from '../Predicate';
7
- import RedirectModifier from '../RedirectModifier';
8
- import RequiredArgumentBuilder from '../builder/RequiredArgumentBuilder';
9
- import StringReader from '../StringReader';
10
- import SuggestionProvider from '../suggestion/SuggestionProvider';
11
- import Suggestions from '../suggestion/Suggestions';
12
- import SuggestionsBuilder from '../suggestion/SuggestionsBuilder';
13
- export default class ArgumentCommandNode<S, T> extends CommandNode<S> {
14
- private name;
15
- private type;
16
- private customSuggestions;
17
- constructor(name: string, type: ArgumentType<T>, command: Command<S>, requirement: Predicate<S>, redirect: CommandNode<S>, modifier: RedirectModifier<S>, forks: boolean, customSuggestions: SuggestionProvider<S>);
18
- getNodeType(): string;
19
- getType(): ArgumentType<T>;
20
- getName(): string;
21
- getUsageText(): string;
22
- getCustomSuggestions(): SuggestionProvider<S>;
23
- parse(reader: StringReader, contextBuilder: CommandContextBuilder<S>): void;
24
- listSuggestions(context: CommandContext<S>, builder: SuggestionsBuilder): Promise<Suggestions>;
25
- createBuilder(): RequiredArgumentBuilder<S, T>;
26
- isValidInput(input: string, context: any): boolean;
27
- equals(o: object): boolean;
28
- getSortedKey(): string;
29
- getExamples(): Iterable<string>;
30
- toString(): string;
31
- }