@wq2/brigadier-ts 1.0.0 → 1.0.2
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/README.md +1 -0
- package/dist/Command.d.ts +1 -1
- package/dist/CommandDispatcher.d.ts +1 -1
- package/dist/CommandDispatcher.js +231 -357
- package/dist/ParseResults.d.ts +1 -1
- package/dist/ParseResults.js +9 -10
- package/dist/StringReader.d.ts +1 -1
- package/dist/StringReader.js +75 -77
- package/dist/arguments/ArgumentType.d.ts +1 -1
- package/dist/arguments/ArgumentType.js +9 -8
- package/dist/arguments/BoolArgumentType.d.ts +5 -1
- package/dist/arguments/BoolArgumentType.js +9 -27
- package/dist/arguments/FloatArgumentType.d.ts +1 -1
- package/dist/arguments/FloatArgumentType.js +11 -30
- package/dist/arguments/IntegerArgumentType.d.ts +1 -1
- package/dist/arguments/IntegerArgumentType.js +11 -30
- package/dist/arguments/LongArgumentType.d.ts +3 -3
- package/dist/arguments/LongArgumentType.js +13 -32
- package/dist/arguments/NumberArgumentType.d.ts +2 -2
- package/dist/arguments/NumberArgumentType.js +15 -33
- package/dist/arguments/StringArgumentType.d.ts +1 -1
- package/dist/arguments/StringArgumentType.js +11 -29
- package/dist/builder/ArgumentBuilder.d.ts +1 -1
- package/dist/builder/ArgumentBuilder.js +31 -71
- package/dist/builder/LiteralArgumentBuilder.js +14 -33
- package/dist/builder/RequiredArgumentBuilder.d.ts +1 -1
- package/dist/builder/RequiredArgumentBuilder.js +18 -37
- package/dist/context/CommandContext.d.ts +1 -1
- package/dist/context/CommandContext.js +31 -32
- package/dist/context/CommandContextBuilder.d.ts +1 -1
- package/dist/context/CommandContextBuilder.js +47 -50
- package/dist/context/ParsedArgument.js +8 -9
- package/dist/context/ParsedCommandNode.d.ts +1 -1
- package/dist/context/ParsedCommandNode.js +7 -8
- package/dist/context/StringRange.js +17 -18
- package/dist/context/SuggestionContext.d.ts +1 -1
- package/dist/context/SuggestionContext.js +3 -4
- package/dist/exceptions/CommandErrorType.d.ts +3 -3
- package/dist/exceptions/CommandErrorType.js +10 -19
- package/dist/exceptions/CommandSyntaxError.js +36 -54
- package/dist/suggestion/Suggestion.d.ts +1 -1
- package/dist/suggestion/Suggestion.js +16 -17
- package/dist/suggestion/Suggestions.d.ts +1 -1
- package/dist/suggestion/Suggestions.js +28 -30
- package/dist/suggestion/SuggestionsBuilder.d.ts +1 -1
- package/dist/suggestion/SuggestionsBuilder.js +22 -23
- package/dist/tree/ArgumentCommandNode.d.ts +1 -1
- package/dist/tree/ArgumentCommandNode.js +22 -40
- package/dist/tree/CommandNode.d.ts +1 -1
- package/dist/tree/CommandNode.js +28 -29
- package/dist/tree/LiteralCommandNode.d.ts +1 -1
- package/dist/tree/LiteralCommandNode.js +28 -41
- package/dist/tree/RootCommandNode.d.ts +1 -1
- package/dist/tree/RootCommandNode.js +17 -69
- package/jest.config.js +5 -5
- package/package.json +32 -32
- package/src/Command.ts +2 -1
- package/src/CommandDispatcher.ts +397 -295
- package/src/ParseResults.ts +26 -22
- package/src/StringReader.ts +212 -193
- package/src/arguments/ArgumentType.ts +13 -8
- package/src/arguments/BoolArgumentType.ts +22 -21
- package/src/arguments/FloatArgumentType.ts +13 -14
- package/src/arguments/IntegerArgumentType.ts +13 -14
- package/src/arguments/LongArgumentType.ts +16 -17
- package/src/arguments/NumberArgumentType.ts +48 -38
- package/src/arguments/StringArgumentType.ts +26 -26
- package/src/builder/ArgumentBuilder.ts +80 -75
- package/src/builder/LiteralArgumentBuilder.ts +31 -21
- package/src/builder/RequiredArgumentBuilder.ts +42 -32
- package/src/context/CommandContext.ts +99 -76
- package/src/context/CommandContextBuilder.ts +169 -143
- package/src/context/ParsedArgument.ts +13 -13
- package/src/context/ParsedCommandNode.ts +14 -14
- package/src/context/StringRange.ts +26 -26
- package/src/context/SuggestionContext.ts +7 -7
- package/src/exceptions/CommandErrorType.ts +20 -13
- package/src/exceptions/CommandSyntaxError.ts +78 -37
- package/src/index.ts +30 -30
- package/src/suggestion/Suggestion.ts +46 -46
- package/src/suggestion/Suggestions.ts +59 -57
- package/src/suggestion/SuggestionsBuilder.ts +59 -57
- package/src/tree/ArgumentCommandNode.ts +51 -40
- package/src/tree/CommandNode.ts +96 -87
- package/src/tree/LiteralCommandNode.ts +78 -57
- package/src/tree/RootCommandNode.ts +33 -23
- package/test/Arguments.test.ts +47 -33
- package/test/CommandDispatcher.test.ts +18 -22
- package/test/StringReader.test.ts +47 -47
- package/tsconfig.json +9 -14
package/dist/ParseResults.js
CHANGED
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ParseResults = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
class ParseResults {
|
|
5
|
+
constructor(context, reader, errors) {
|
|
6
6
|
this.context = context;
|
|
7
7
|
this.reader = reader;
|
|
8
8
|
this.errors = errors;
|
|
9
9
|
}
|
|
10
|
-
|
|
10
|
+
getContext() {
|
|
11
11
|
return this.context;
|
|
12
|
-
}
|
|
13
|
-
|
|
12
|
+
}
|
|
13
|
+
getReader() {
|
|
14
14
|
return this.reader;
|
|
15
|
-
}
|
|
16
|
-
|
|
15
|
+
}
|
|
16
|
+
getErrors() {
|
|
17
17
|
return this.errors;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
}());
|
|
18
|
+
}
|
|
19
|
+
}
|
|
21
20
|
exports.ParseResults = ParseResults;
|
package/dist/StringReader.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export declare class StringReader {
|
|
|
15
15
|
skip(): void;
|
|
16
16
|
isAllowedNumber(c: string): boolean;
|
|
17
17
|
readInt(): number;
|
|
18
|
-
readLong():
|
|
18
|
+
readLong(): bigint;
|
|
19
19
|
readFloat(): number;
|
|
20
20
|
isAllowedInUnquotedString(c: string): boolean;
|
|
21
21
|
isQuotedStringStart(c: string): boolean;
|
package/dist/StringReader.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.StringReader = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
const CommandSyntaxError_1 = require("./exceptions/CommandSyntaxError");
|
|
5
|
+
class StringReader {
|
|
6
|
+
constructor(string) {
|
|
7
7
|
if (string instanceof StringReader) {
|
|
8
8
|
this.string = string.getString();
|
|
9
9
|
this.cursor = string.getCursor();
|
|
@@ -13,127 +13,127 @@ var StringReader = /** @class */ (function () {
|
|
|
13
13
|
this.cursor = 0;
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
-
|
|
16
|
+
getString() {
|
|
17
17
|
return this.string;
|
|
18
|
-
}
|
|
19
|
-
|
|
18
|
+
}
|
|
19
|
+
getCursor() {
|
|
20
20
|
return this.cursor;
|
|
21
|
-
}
|
|
22
|
-
|
|
21
|
+
}
|
|
22
|
+
setCursor(cursor) {
|
|
23
23
|
this.cursor = cursor;
|
|
24
|
-
}
|
|
25
|
-
|
|
24
|
+
}
|
|
25
|
+
getRemainingLength() {
|
|
26
26
|
return this.string.length - this.cursor;
|
|
27
|
-
}
|
|
28
|
-
|
|
27
|
+
}
|
|
28
|
+
getTotalLength() {
|
|
29
29
|
return this.string.length;
|
|
30
|
-
}
|
|
31
|
-
|
|
30
|
+
}
|
|
31
|
+
getRead() {
|
|
32
32
|
return this.string.substring(0, this.cursor);
|
|
33
|
-
}
|
|
34
|
-
|
|
33
|
+
}
|
|
34
|
+
getRemaining() {
|
|
35
35
|
return this.string.substring(this.cursor);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
if (length === void 0) { length = 1; }
|
|
36
|
+
}
|
|
37
|
+
canRead(length = 1) {
|
|
39
38
|
return this.cursor + length <= this.string.length;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
if (offset === void 0) { offset = 0; }
|
|
39
|
+
}
|
|
40
|
+
peek(offset = 0) {
|
|
43
41
|
return this.string.charAt(this.cursor + offset);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
|
|
42
|
+
}
|
|
43
|
+
read() {
|
|
44
|
+
const char = this.string.charAt(this.cursor);
|
|
47
45
|
this.cursor += 1;
|
|
48
46
|
return char;
|
|
49
|
-
}
|
|
50
|
-
|
|
47
|
+
}
|
|
48
|
+
skip() {
|
|
51
49
|
this.cursor += 1;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
return c >= "0" && c <= "9" || c === "." || c === "-";
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
|
|
50
|
+
}
|
|
51
|
+
isAllowedNumber(c) {
|
|
52
|
+
return (c >= "0" && c <= "9") || c === "." || c === "-";
|
|
53
|
+
}
|
|
54
|
+
readInt() {
|
|
55
|
+
const start = this.cursor;
|
|
58
56
|
while (this.canRead() && this.isAllowedNumber(this.peek())) {
|
|
59
57
|
this.skip();
|
|
60
58
|
}
|
|
61
|
-
|
|
59
|
+
const number = this.string.substring(start, this.cursor);
|
|
62
60
|
if (number.length === 0) {
|
|
63
61
|
throw CommandSyntaxError_1.CommandSyntaxError.READER_EXPECTED_INT.createWithContext(this);
|
|
64
62
|
}
|
|
65
63
|
try {
|
|
66
|
-
|
|
67
|
-
if (isNaN(value) || !Number.isInteger(value)) {
|
|
64
|
+
const value = Number(number);
|
|
65
|
+
if (Number.isNaN(value) || !Number.isInteger(value)) {
|
|
68
66
|
throw new Error();
|
|
69
67
|
}
|
|
70
68
|
return value;
|
|
71
69
|
}
|
|
72
|
-
catch (
|
|
70
|
+
catch (_) {
|
|
73
71
|
this.cursor = start;
|
|
74
72
|
throw CommandSyntaxError_1.CommandSyntaxError.READER_INVALID_INT.createWithContext(this, number);
|
|
75
73
|
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
|
|
74
|
+
}
|
|
75
|
+
readLong() {
|
|
76
|
+
const start = this.cursor;
|
|
79
77
|
while (this.canRead() && this.isAllowedNumber(this.peek())) {
|
|
80
78
|
this.skip();
|
|
81
79
|
}
|
|
82
|
-
|
|
80
|
+
const number = this.string.substring(start, this.cursor);
|
|
83
81
|
if (number.length === 0) {
|
|
84
82
|
throw CommandSyntaxError_1.CommandSyntaxError.READER_EXPECTED_INT.createWithContext(this);
|
|
85
83
|
}
|
|
86
84
|
try {
|
|
87
85
|
return BigInt(number);
|
|
88
86
|
}
|
|
89
|
-
catch (
|
|
87
|
+
catch (_) {
|
|
90
88
|
this.cursor = start;
|
|
91
89
|
throw CommandSyntaxError_1.CommandSyntaxError.READER_INVALID_INT.createWithContext(this, number);
|
|
92
90
|
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
|
|
91
|
+
}
|
|
92
|
+
readFloat() {
|
|
93
|
+
const start = this.cursor;
|
|
96
94
|
while (this.canRead() && this.isAllowedNumber(this.peek())) {
|
|
97
95
|
this.skip();
|
|
98
96
|
}
|
|
99
|
-
|
|
97
|
+
const number = this.string.substring(start, this.cursor);
|
|
100
98
|
if (number.length === 0) {
|
|
101
99
|
throw CommandSyntaxError_1.CommandSyntaxError.READER_EXPECTED_FLOAT.createWithContext(this);
|
|
102
100
|
}
|
|
103
101
|
try {
|
|
104
|
-
|
|
105
|
-
if (isNaN(value)) {
|
|
102
|
+
const value = Number(number);
|
|
103
|
+
if (Number.isNaN(value)) {
|
|
106
104
|
throw new Error();
|
|
107
105
|
}
|
|
108
106
|
return value;
|
|
109
107
|
}
|
|
110
|
-
catch (
|
|
108
|
+
catch (_e) {
|
|
111
109
|
this.cursor = start;
|
|
112
110
|
throw CommandSyntaxError_1.CommandSyntaxError.READER_INVALID_FLOAT.createWithContext(this, number);
|
|
113
111
|
}
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
return c >= "0" && c <= "9"
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
112
|
+
}
|
|
113
|
+
isAllowedInUnquotedString(c) {
|
|
114
|
+
return ((c >= "0" && c <= "9") ||
|
|
115
|
+
(c >= "A" && c <= "Z") ||
|
|
116
|
+
(c >= "a" && c <= "z") ||
|
|
117
|
+
c === "_" ||
|
|
118
|
+
c === "-" ||
|
|
119
|
+
c === "." ||
|
|
120
|
+
c === "+");
|
|
121
|
+
}
|
|
122
|
+
isQuotedStringStart(c) {
|
|
123
|
+
return c === "'" || c === '"';
|
|
124
|
+
}
|
|
125
|
+
readUnquotedString() {
|
|
126
|
+
const start = this.cursor;
|
|
127
127
|
while (this.canRead() && this.isAllowedInUnquotedString(this.peek())) {
|
|
128
128
|
this.skip();
|
|
129
129
|
}
|
|
130
130
|
return this.string.substring(start, this.cursor);
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
131
|
+
}
|
|
132
|
+
readStringUntil(terminator) {
|
|
133
|
+
const result = [];
|
|
134
|
+
let escaped = false;
|
|
135
135
|
while (this.canRead()) {
|
|
136
|
-
|
|
136
|
+
const c = this.read();
|
|
137
137
|
if (escaped) {
|
|
138
138
|
if (c === terminator || c === "\\") {
|
|
139
139
|
result.push(c);
|
|
@@ -155,21 +155,20 @@ var StringReader = /** @class */ (function () {
|
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
157
|
throw CommandSyntaxError_1.CommandSyntaxError.READER_EXPECTED_END_OF_QUOTE.createWithContext(this);
|
|
158
|
-
}
|
|
159
|
-
|
|
158
|
+
}
|
|
159
|
+
readString() {
|
|
160
160
|
if (!this.canRead()) {
|
|
161
161
|
return "";
|
|
162
162
|
}
|
|
163
|
-
|
|
163
|
+
const next = this.peek();
|
|
164
164
|
if (this.isQuotedStringStart(next)) {
|
|
165
165
|
this.skip();
|
|
166
166
|
return this.readStringUntil(next);
|
|
167
167
|
}
|
|
168
168
|
return this.readUnquotedString();
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
var value = this.readUnquotedString();
|
|
169
|
+
}
|
|
170
|
+
readBoolean() {
|
|
171
|
+
const value = this.readUnquotedString();
|
|
173
172
|
if (value.length === 0) {
|
|
174
173
|
throw CommandSyntaxError_1.CommandSyntaxError.READER_EXPECTED_BOOL.createWithContext(this);
|
|
175
174
|
}
|
|
@@ -182,7 +181,6 @@ var StringReader = /** @class */ (function () {
|
|
|
182
181
|
else {
|
|
183
182
|
throw CommandSyntaxError_1.CommandSyntaxError.READER_INVALID_BOOL.createWithContext(this, value);
|
|
184
183
|
}
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
}());
|
|
184
|
+
}
|
|
185
|
+
}
|
|
188
186
|
exports.StringReader = StringReader;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { StringReader, CommandContext, Suggestions, SuggestionsBuilder } from "..";
|
|
1
|
+
import { type StringReader, type CommandContext, Suggestions, type SuggestionsBuilder } from "..";
|
|
2
2
|
export declare abstract class ArgumentType<T> {
|
|
3
3
|
abstract parse(reader: StringReader): T;
|
|
4
4
|
listSuggestions(context: CommandContext<any>, builder: SuggestionsBuilder): Promise<Suggestions>;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ArgumentType = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
const __1 = require("..");
|
|
5
|
+
class ArgumentType {
|
|
6
|
+
listSuggestions(
|
|
7
|
+
// biome-ignore lint/correctness/noUnusedFunctionParameters: optional override
|
|
8
|
+
context,
|
|
9
|
+
// biome-ignore lint/correctness/noUnusedFunctionParameters: optional override
|
|
10
|
+
builder) {
|
|
9
11
|
return __1.Suggestions.empty();
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
}());
|
|
12
|
+
}
|
|
13
|
+
}
|
|
13
14
|
exports.ArgumentType = ArgumentType;
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import { ArgumentType
|
|
1
|
+
import { ArgumentType } from "./ArgumentType";
|
|
2
|
+
import type { StringReader } from "../StringReader";
|
|
3
|
+
import type { CommandContext } from "../context/CommandContext";
|
|
4
|
+
import type { SuggestionsBuilder } from "../suggestion/SuggestionsBuilder";
|
|
5
|
+
import type { Suggestions } from "../suggestion/Suggestions";
|
|
2
6
|
export declare class BoolArgumentType extends ArgumentType<boolean> {
|
|
3
7
|
parse(reader: StringReader): boolean;
|
|
4
8
|
listSuggestions(context: CommandContext<any>, builder: SuggestionsBuilder): Promise<Suggestions>;
|
|
@@ -1,32 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
3
|
exports.BoolArgumentType = void 0;
|
|
19
4
|
exports.bool = bool;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
function BoolArgumentType() {
|
|
24
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
25
|
-
}
|
|
26
|
-
BoolArgumentType.prototype.parse = function (reader) {
|
|
5
|
+
const ArgumentType_1 = require("./ArgumentType");
|
|
6
|
+
class BoolArgumentType extends ArgumentType_1.ArgumentType {
|
|
7
|
+
parse(reader) {
|
|
27
8
|
return reader.readBoolean();
|
|
28
|
-
}
|
|
29
|
-
|
|
9
|
+
}
|
|
10
|
+
listSuggestions(
|
|
11
|
+
// biome-ignore lint/correctness/noUnusedFunctionParameters: optional override
|
|
12
|
+
context, builder) {
|
|
30
13
|
if ("true".startsWith(builder.getRemaining().toLowerCase())) {
|
|
31
14
|
builder.suggest("true");
|
|
32
15
|
}
|
|
@@ -34,9 +17,8 @@ var BoolArgumentType = /** @class */ (function (_super) {
|
|
|
34
17
|
builder.suggest("false");
|
|
35
18
|
}
|
|
36
19
|
return builder.buildPromise();
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
}(__1.ArgumentType));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
40
22
|
exports.BoolArgumentType = BoolArgumentType;
|
|
41
23
|
function bool() {
|
|
42
24
|
return new BoolArgumentType();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { StringReader, NumberArgumentType } from "..";
|
|
1
|
+
import { type StringReader, NumberArgumentType } from "..";
|
|
2
2
|
export declare class FloatArgumentType extends NumberArgumentType {
|
|
3
3
|
constructor(minimum?: number, maximum?: number);
|
|
4
4
|
readNumber(reader: StringReader): number;
|
|
@@ -1,38 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
3
|
exports.FloatArgumentType = void 0;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
if (minimum === void 0) { minimum = -Infinity; }
|
|
24
|
-
if (maximum === void 0) { maximum = Infinity; }
|
|
25
|
-
return _super.call(this, minimum, maximum) || this;
|
|
4
|
+
const __1 = require("..");
|
|
5
|
+
class FloatArgumentType extends __1.NumberArgumentType {
|
|
6
|
+
constructor(minimum = -Infinity, maximum = Infinity) {
|
|
7
|
+
super(minimum, maximum);
|
|
26
8
|
}
|
|
27
|
-
|
|
9
|
+
readNumber(reader) {
|
|
28
10
|
return reader.readFloat();
|
|
29
|
-
}
|
|
30
|
-
|
|
11
|
+
}
|
|
12
|
+
getTooSmallError() {
|
|
31
13
|
return __1.CommandSyntaxError.FLOAT_TOO_SMALL;
|
|
32
|
-
}
|
|
33
|
-
|
|
14
|
+
}
|
|
15
|
+
getTooBigError() {
|
|
34
16
|
return __1.CommandSyntaxError.FLOAT_TOO_BIG;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
}(__1.NumberArgumentType));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
38
19
|
exports.FloatArgumentType = FloatArgumentType;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { StringReader, NumberArgumentType } from "..";
|
|
1
|
+
import { type StringReader, NumberArgumentType } from "..";
|
|
2
2
|
export declare class IntegerArgumentType extends NumberArgumentType {
|
|
3
3
|
constructor(minimum?: number, maximum?: number);
|
|
4
4
|
readNumber(reader: StringReader): number;
|
|
@@ -1,38 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
3
|
exports.IntegerArgumentType = void 0;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
if (minimum === void 0) { minimum = -2147483648; }
|
|
24
|
-
if (maximum === void 0) { maximum = 2147483647; }
|
|
25
|
-
return _super.call(this, minimum, maximum) || this;
|
|
4
|
+
const __1 = require("..");
|
|
5
|
+
class IntegerArgumentType extends __1.NumberArgumentType {
|
|
6
|
+
constructor(minimum = -2147483648, maximum = 2147483647) {
|
|
7
|
+
super(minimum, maximum);
|
|
26
8
|
}
|
|
27
|
-
|
|
9
|
+
readNumber(reader) {
|
|
28
10
|
return reader.readInt();
|
|
29
|
-
}
|
|
30
|
-
|
|
11
|
+
}
|
|
12
|
+
getTooSmallError() {
|
|
31
13
|
return __1.CommandSyntaxError.INTEGER_TOO_SMALL;
|
|
32
|
-
}
|
|
33
|
-
|
|
14
|
+
}
|
|
15
|
+
getTooBigError() {
|
|
34
16
|
return __1.CommandSyntaxError.INTEGER_TOO_BIG;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
}(__1.NumberArgumentType));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
38
19
|
exports.IntegerArgumentType = IntegerArgumentType;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { StringReader, NumberArgumentType } from "..";
|
|
2
|
-
export declare class LongArgumentType extends NumberArgumentType<
|
|
1
|
+
import { type StringReader, NumberArgumentType } from "..";
|
|
2
|
+
export declare class LongArgumentType extends NumberArgumentType<bigint> {
|
|
3
3
|
private static readonly MIN;
|
|
4
4
|
private static readonly MAX;
|
|
5
5
|
constructor(minimum?: bigint, maximum?: bigint);
|
|
6
|
-
readNumber(reader: StringReader):
|
|
6
|
+
readNumber(reader: StringReader): bigint;
|
|
7
7
|
getTooSmallError(): import("..").CommandErrorType;
|
|
8
8
|
getTooBigError(): import("..").CommandErrorType;
|
|
9
9
|
}
|
|
@@ -1,40 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
3
|
exports.LongArgumentType = void 0;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
if (minimum === void 0) { minimum = LongArgumentType.MIN; }
|
|
24
|
-
if (maximum === void 0) { maximum = LongArgumentType.MAX; }
|
|
25
|
-
return _super.call(this, minimum, maximum) || this;
|
|
4
|
+
const __1 = require("..");
|
|
5
|
+
class LongArgumentType extends __1.NumberArgumentType {
|
|
6
|
+
constructor(minimum = LongArgumentType.MIN, maximum = LongArgumentType.MAX) {
|
|
7
|
+
super(minimum, maximum);
|
|
26
8
|
}
|
|
27
|
-
|
|
9
|
+
readNumber(reader) {
|
|
28
10
|
return reader.readLong();
|
|
29
|
-
}
|
|
30
|
-
|
|
11
|
+
}
|
|
12
|
+
getTooSmallError() {
|
|
31
13
|
return __1.CommandSyntaxError.LONG_TOO_SMALL;
|
|
32
|
-
}
|
|
33
|
-
|
|
14
|
+
}
|
|
15
|
+
getTooBigError() {
|
|
34
16
|
return __1.CommandSyntaxError.LONG_TOO_BIG;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
LongArgumentType.MAX = BigInt("9223372036854775807");
|
|
38
|
-
return LongArgumentType;
|
|
39
|
-
}(__1.NumberArgumentType));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
40
19
|
exports.LongArgumentType = LongArgumentType;
|
|
20
|
+
LongArgumentType.MIN = -9223372036854775808n;
|
|
21
|
+
LongArgumentType.MAX = 9223372036854775807n;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ArgumentType, StringReader, CommandErrorType } from "..";
|
|
2
|
-
export declare abstract class NumberArgumentType<N extends number |
|
|
1
|
+
import { ArgumentType, type StringReader, type CommandErrorType } from "..";
|
|
2
|
+
export declare abstract class NumberArgumentType<N extends number | bigint = number> extends ArgumentType<N> {
|
|
3
3
|
private minimum;
|
|
4
4
|
private maximum;
|
|
5
5
|
constructor(minimum: N, maximum: N);
|
|
@@ -1,39 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
3
|
exports.NumberArgumentType = void 0;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
_this.maximum = maximum;
|
|
26
|
-
return _this;
|
|
4
|
+
const __1 = require("..");
|
|
5
|
+
class NumberArgumentType extends __1.ArgumentType {
|
|
6
|
+
constructor(minimum, maximum) {
|
|
7
|
+
super();
|
|
8
|
+
this.minimum = minimum;
|
|
9
|
+
this.maximum = maximum;
|
|
27
10
|
}
|
|
28
|
-
|
|
11
|
+
getMinimum() {
|
|
29
12
|
return this.minimum;
|
|
30
|
-
}
|
|
31
|
-
|
|
13
|
+
}
|
|
14
|
+
getMaximum() {
|
|
32
15
|
return this.maximum;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
16
|
+
}
|
|
17
|
+
parse(reader) {
|
|
18
|
+
const start = reader.getCursor();
|
|
19
|
+
const result = this.readNumber(reader);
|
|
37
20
|
if (result < this.minimum) {
|
|
38
21
|
reader.setCursor(start);
|
|
39
22
|
throw this.getTooSmallError().createWithContext(reader, result, this.minimum);
|
|
@@ -43,7 +26,6 @@ var NumberArgumentType = /** @class */ (function (_super) {
|
|
|
43
26
|
throw this.getTooBigError().createWithContext(reader, result, this.maximum);
|
|
44
27
|
}
|
|
45
28
|
return result;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
}(__1.ArgumentType));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
49
31
|
exports.NumberArgumentType = NumberArgumentType;
|