@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,81 +0,0 @@
1
- import { assert } from "chai"
2
- import testEquality from "../utils/testEquality"
3
- import { DefaultType } from "../../src/lib/arguments/ArgumentType"
4
- import Command from "../../src/lib/Command"
5
- import CommandNode from "../../src/lib/tree/CommandNode"
6
- import RootCommandNode from "../../src/lib/tree/RootCommandNode"
7
- import CommandDispatcher from "../../src/lib/CommandDispatcher"
8
- import ArgumentCommandNode from "../../src/lib/tree/ArgumentCommandNode"
9
- import CommandContextBuilder from "../../src/lib/context/CommandContextBuilder"
10
- import RequiredArgumentBuilder, { argument } from "../../src/lib/builder/RequiredArgumentBuilder"
11
- import SuggestionsBuilder from "../../src/lib/suggestion/SuggestionsBuilder"
12
- import StringReader from "../../src/lib/StringReader"
13
-
14
- const { integer } = DefaultType;
15
-
16
- describe('ArgumentCommandNodeTest', () => {
17
- const command: Command<Object> = async () => 0;
18
- let contextBuilder: CommandContextBuilder<Object>;
19
- let node: ArgumentCommandNode<Object, number>;
20
-
21
- function getCommandNode(): CommandNode<Object> {
22
- return node;
23
- }
24
-
25
- beforeEach(() => {
26
- node = argument("foo", integer()).build();
27
- contextBuilder = new CommandContextBuilder(new CommandDispatcher(), new Object(), new RootCommandNode(), 0);
28
- })
29
-
30
- it('testParse', () => {
31
- const reader = new StringReader("123 456");
32
- node.parse(reader, contextBuilder);
33
-
34
- assert.equal(contextBuilder.getArguments().has("foo"), true);
35
- assert.equal(contextBuilder.getArguments().get("foo").getResult(), 123);
36
- })
37
-
38
- it('testUsage', () => {
39
- assert.equal(node.getUsageText(), "<foo>");
40
- })
41
-
42
- it('testSuggestions', async () => {
43
- const result = await node.listSuggestions(contextBuilder.build(""), new SuggestionsBuilder("", 0));
44
- assert.equal(result.isEmpty(), true);
45
- })
46
-
47
- it('testEquals', () => {
48
- testEquality(
49
- argument("foo", integer()).build(),
50
- argument("foo", integer()).build()
51
- )
52
- testEquality(
53
- argument("foo", integer()).executes(command).build(),
54
- argument("foo", integer()).executes(command).build()
55
- )
56
- testEquality(
57
- argument("bar", integer(-100, 100)).build(),
58
- argument("bar", integer(-100, 100)).build()
59
- )
60
- testEquality(
61
- argument("foo", integer(-100, 100)).build(),
62
- argument("foo", integer(-100, 100)).build()
63
- )
64
- testEquality(
65
- argument("foo", integer()).then(
66
- argument("bar", integer())
67
- ).build(),
68
- argument("foo", integer()).then(
69
- argument("bar", integer())
70
- ).build()
71
- )
72
- })
73
-
74
- it('testCreateBuilder', () => {
75
- const builder: RequiredArgumentBuilder<Object, number> = node.createBuilder();
76
- assert.equal(builder.getName(), node.getName());
77
- assert.deepEqual(builder.getType(), node.getType());
78
- assert.deepEqual(builder.getRequirement(), node.getRequirement());
79
- assert.deepEqual(builder.getCommand(), node.getCommand());
80
- })
81
- })
@@ -1,112 +0,0 @@
1
- import { assert, expect } from "chai"
2
- import testEquality from "../utils/testEquality"
3
- import CommandDispatcher from "../../src/lib/CommandDispatcher"
4
- import RootCommandNode from "../../src/lib/tree/RootCommandNode"
5
- import LiteralCommandNode from "../../src/lib/tree/LiteralCommandNode"
6
- import CommandContextBuilder from "../../src/lib/context/CommandContextBuilder"
7
- import CommandSyntaxException from "../../src/lib/exceptions/CommandSyntaxException"
8
- import Suggestion from "../../src/lib/suggestion/Suggestion"
9
- import SuggestionsBuilder from "../../src/lib/suggestion/SuggestionsBuilder"
10
- import { literal } from "../../src/lib/builder/LiteralArgumentBuilder"
11
- import StringReader from "../../src/lib/StringReader"
12
- import StringRange from "../../src/lib/context/StringRange"
13
-
14
- describe('LiteralCommandNodeTest', () => {
15
- let node: LiteralCommandNode<Object>;
16
- let contextBuilder: CommandContextBuilder<Object>;
17
-
18
- beforeEach(() => {
19
- node = literal("foo").build();
20
- contextBuilder = new CommandContextBuilder(new CommandDispatcher(), new Object(), new RootCommandNode(), 0);
21
- })
22
-
23
- it('testParse', () => {
24
- const reader = new StringReader("foo bar");
25
- node.parse(reader, contextBuilder);
26
- assert.equal(reader.getRemaining(), " bar");
27
- })
28
-
29
- it('testParseExact', () => {
30
- const reader = new StringReader("foo");
31
- node.parse(reader, contextBuilder);
32
- assert.equal(reader.getRemaining(), "");
33
- })
34
-
35
- it('testParseSimilar', done => {
36
- const reader = new StringReader("foobar");
37
- try {
38
- node.parse(reader, contextBuilder);
39
- } catch (ex) {
40
- assert.equal(ex.getType(), CommandSyntaxException.BUILT_IN_EXCEPTIONS.literalIncorrect());
41
- assert.equal(ex.getCursor(), 0);
42
- done();
43
- return;
44
- }
45
-
46
- assert.fail();
47
- })
48
-
49
- it('testParseInvalid', done => {
50
- const reader = new StringReader("bar");
51
- try {
52
- node.parse(reader, contextBuilder);
53
- } catch (ex) {
54
- assert.equal(ex.getType(), CommandSyntaxException.BUILT_IN_EXCEPTIONS.literalIncorrect());
55
- assert.equal(ex.getCursor(), 0);
56
- done();
57
- return;
58
- }
59
-
60
- assert.fail();
61
- })
62
-
63
- it('testUsage', () => {
64
- assert.equal(node.getUsageText(), "foo");
65
- })
66
-
67
- it('testSuggestions', async () => {
68
- const empty = await node.listSuggestions(contextBuilder.build(""), new SuggestionsBuilder("", 0));
69
- expect(empty.getList()).to.deep.equal([new Suggestion(StringRange.at(0), "foo")]);
70
-
71
- const foo = await node.listSuggestions(contextBuilder.build("foo"), new SuggestionsBuilder("foo", 0));
72
- assert.equal(foo.isEmpty(), true);
73
-
74
- const food = await node.listSuggestions(contextBuilder.build("food"), new SuggestionsBuilder("food", 0));
75
- assert.equal(food.isEmpty(), true);
76
-
77
- const b = await node.listSuggestions(contextBuilder.build("b"), new SuggestionsBuilder("b", 0));
78
- assert.equal(food.isEmpty(), true);
79
- })
80
-
81
- it('testEquals', () => {
82
- const command = async () => 0;
83
-
84
- testEquality(
85
- literal("foo").build(),
86
- literal("foo").build()
87
- )
88
- testEquality(
89
- literal("bar").executes(command).build(),
90
- literal("bar").executes(command).build()
91
- )
92
- testEquality(
93
- literal("bar").build(),
94
- literal("bar").build()
95
- )
96
- testEquality(
97
- literal("foo").then(
98
- literal("bar")
99
- ).build(),
100
- literal("foo").then(
101
- literal("bar")
102
- ).build()
103
- )
104
- })
105
-
106
- it('testCreateBuilder', () => {
107
- const builder = node.createBuilder();
108
- assert.deepEqual(builder.getLiteral(), node.getLiteral());
109
- assert.deepEqual(builder.getRequirement(), node.getRequirement());
110
- assert.deepEqual(builder.getCommand(), node.getCommand());
111
- })
112
- })
@@ -1,70 +0,0 @@
1
- import { assert, expect } from "chai"
2
- import { mock, instance } from "ts-mockito"
3
- import RootCommandNode from "../../src/lib/tree/RootCommandNode"
4
- import CommandContext from "../../src/lib/context/CommandContext"
5
- import StringReader from "../../src/lib/StringReader"
6
- import CommandContextBuilder from "../../src/lib/context/CommandContextBuilder"
7
- import SuggestionsBuilder from "../../src/lib/suggestion/SuggestionsBuilder"
8
- import { literal } from "../../src/lib/builder/LiteralArgumentBuilder"
9
- import CommandDispatcher from "../../src/lib/CommandDispatcher"
10
-
11
-
12
- describe('RootCommandNodeTest', () => {
13
- let node: RootCommandNode<Object>;
14
-
15
- beforeEach(() => {
16
- node = new RootCommandNode();
17
- })
18
-
19
- it('testParse', () => {
20
- const reader = new StringReader("hello world");
21
- node.parse(reader, new CommandContextBuilder(new CommandDispatcher(), new Object(), new RootCommandNode(), 0));
22
- assert.equal(reader.getCursor(), 0);
23
- })
24
-
25
- it('testAddChildNoRoot', done => {
26
- try {
27
- node.addChild(new RootCommandNode());
28
- } catch (ex) {
29
- expect(ex instanceof Error).to.equal(true);
30
- done();
31
- return;
32
- }
33
-
34
- assert.fail();
35
- })
36
-
37
- it('testUsage', () => {
38
- assert.equal(node.getUsageText(), "");
39
- })
40
-
41
- it('testSuggestions', async () => {
42
- const context = instance(mock(CommandContext));
43
- const result = await node.listSuggestions(context, new SuggestionsBuilder("", 0));
44
- assert.equal(result.isEmpty(), true);
45
- })
46
-
47
- it('testCreateBuilder', done => {
48
- try {
49
- node.createBuilder();
50
- } catch (ex) {
51
- expect(ex instanceof Error).to.equal(true);
52
- done();
53
- return;
54
- }
55
-
56
- assert.fail();
57
- })
58
-
59
- it('testEquals', () => {
60
-
61
- assert.equal(new RootCommandNode().equals(new RootCommandNode()), true)
62
-
63
- const temp1 = new RootCommandNode<Object>();
64
- temp1.addChild(literal("foo").build())
65
- const temp2 = new RootCommandNode<Object>()
66
- temp2.addChild(literal("foo").build())
67
-
68
- assert.equal(temp1.equals(temp2), true)
69
- })
70
- })
@@ -1,10 +0,0 @@
1
- import { assert } from "chai"
2
-
3
- interface Equalable {
4
- equals(o: any): boolean;
5
- }
6
-
7
- export default function testEquality(a: Equalable , b: Equalable) {
8
- if(a.equals(b) === false)
9
- assert.fail()
10
- }
package/tsconfig.json DELETED
@@ -1,41 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "outDir": "./dist",
4
- "sourceRoot": "./src/",
5
- "target": "es2020",
6
- "rootDir": "./src/",
7
- "lib": [
8
- "es2020",
9
- "esnext"
10
- ],
11
- "module": "commonjs",
12
- "moduleResolution": "node",
13
- "types": [
14
- "node",
15
- "mocha"
16
- ],
17
- "allowJs": true,
18
- "strict": false,
19
- "sourceMap": true,
20
- "forceConsistentCasingInFileNames": true,
21
- "isolatedModules": true,
22
- "esModuleInterop": true,
23
- "declaration": true,
24
- "allowSyntheticDefaultImports": true,
25
- "resolveJsonModule": true,
26
- "emitDecoratorMetadata": true,
27
- "experimentalDecorators": true,
28
- "composite": true,
29
- "pretty": true
30
- },
31
- "include": [
32
- "src/**/*"
33
- ],
34
- "exclude": [
35
- "src**/*.test.ts"
36
- ],
37
- "typeRoots": [
38
- "src/@types",
39
- "node_modules/@types"
40
- ]
41
- }