@spyglassmc/mcdoc 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/binder/index.d.ts +10 -2
- package/lib/binder/index.js +705 -2
- package/lib/{binder/util.d.ts → common.d.ts} +4 -1
- package/lib/{binder/util.js → common.js} +1 -1
- package/lib/index.d.ts +5 -2
- package/lib/index.js +6 -4
- package/lib/node/index.d.ts +190 -29
- package/lib/node/index.js +323 -12
- package/lib/parser/index.d.ts +4 -2
- package/lib/parser/index.js +52 -41
- package/lib/type/index.d.ts +70 -41
- package/lib/type/index.js +23 -9
- package/lib/uri_processors.d.ts +4 -0
- package/lib/{binder/uriBinder.js → uri_processors.js} +15 -8
- package/package.json +3 -3
- package/lib/binder/uriBinder.d.ts +0 -3
- package/lib/checker/CheckerContext.d.ts +0 -18
- package/lib/checker/CheckerContext.js +0 -2
- package/lib/checker/entry.d.ts +0 -4
- package/lib/checker/entry.js +0 -354
- package/lib/checker/index.d.ts +0 -2
- package/lib/checker/index.js +0 -2
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export declare type Segments = readonly string[];
|
|
2
2
|
export declare function identifierToSeg(identifier: string): Segments;
|
|
3
3
|
export declare function segToIdentifier(seg: Segments): string;
|
|
4
|
-
|
|
4
|
+
export interface AdditionalContext {
|
|
5
|
+
moduleIdentifier: string;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=common.d.ts.map
|
package/lib/index.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import type * as core from '@spyglassmc/core';
|
|
2
|
-
export * as
|
|
2
|
+
export * as binder from './binder/index.js';
|
|
3
3
|
export * as colorizer from './colorizer/index.js';
|
|
4
4
|
export * from './node/index.js';
|
|
5
5
|
export * from './parser/index.js';
|
|
6
6
|
export * from './type/index.js';
|
|
7
|
-
export
|
|
7
|
+
export * from './uri_processors.js';
|
|
8
|
+
export declare const initialize: ({ meta }: {
|
|
9
|
+
meta: core.MetaRegistry;
|
|
10
|
+
}) => void;
|
|
8
11
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.js
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
import * as binder from './binder/index.js';
|
|
2
|
-
import * as checker from './checker/index.js';
|
|
3
2
|
import * as colorizer from './colorizer/index.js';
|
|
4
3
|
import * as parser from './parser/index.js';
|
|
5
|
-
|
|
4
|
+
import * as uri_professors from './uri_processors.js';
|
|
5
|
+
export * as binder from './binder/index.js';
|
|
6
6
|
export * as colorizer from './colorizer/index.js';
|
|
7
7
|
export * from './node/index.js';
|
|
8
8
|
export * from './parser/index.js';
|
|
9
9
|
export * from './type/index.js';
|
|
10
|
+
export * from './uri_processors.js';
|
|
10
11
|
/* istanbul ignore next */
|
|
11
12
|
export const initialize = ({ meta }) => {
|
|
12
13
|
meta.registerLanguage('mcdoc', {
|
|
13
14
|
extensions: ['.mcdoc'],
|
|
14
15
|
parser: parser.module_,
|
|
15
16
|
});
|
|
16
|
-
meta.
|
|
17
|
-
meta.
|
|
17
|
+
meta.registerUriBinder(uri_professors.uriBinder);
|
|
18
|
+
meta.setUriSorter(uri_professors.uriSorter);
|
|
19
|
+
binder.registerMcdocBinders(meta);
|
|
18
20
|
colorizer.registerMcdocColorizer(meta);
|
|
19
21
|
};
|
|
20
22
|
//# sourceMappingURL=index.js.map
|
package/lib/node/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import type { AstNode, ColorTokenType,
|
|
2
|
-
import { CommentNode, ResourceLocationNode, StringNode } from '@spyglassmc/core';
|
|
3
|
-
import type { McdocType } from '../type/index.js';
|
|
1
|
+
import type { AstNode, ColorTokenType, IntegerNode, SymbolBaseNode } from '@spyglassmc/core';
|
|
2
|
+
import { CommentNode, FloatNode, ResourceLocationNode, StringNode } from '@spyglassmc/core';
|
|
4
3
|
export interface ModuleNode extends AstNode {
|
|
5
4
|
type: 'mcdoc:module';
|
|
6
5
|
children: TopLevelNode[];
|
|
@@ -17,6 +16,12 @@ export interface DispatchStatementNode extends AstNode {
|
|
|
17
16
|
children: (CommentNode | AttributeNode | LiteralNode | ResourceLocationNode | IndexBodyNode | TypeNode)[];
|
|
18
17
|
}
|
|
19
18
|
export declare const DispatchStatementNode: Readonly<{
|
|
19
|
+
destruct(node: DispatchStatementNode): {
|
|
20
|
+
attributes: AttributeNode[];
|
|
21
|
+
location?: ResourceLocationNode;
|
|
22
|
+
index?: IndexBodyNode;
|
|
23
|
+
target?: TypeNode;
|
|
24
|
+
};
|
|
20
25
|
is(node: AstNode | undefined): node is DispatchStatementNode;
|
|
21
26
|
}>;
|
|
22
27
|
export interface LiteralNode extends AstNode {
|
|
@@ -32,6 +37,9 @@ export interface IndexBodyNode extends AstNode {
|
|
|
32
37
|
children: (CommentNode | IndexNode)[];
|
|
33
38
|
}
|
|
34
39
|
export declare const IndexBodyNode: Readonly<{
|
|
40
|
+
destruct(node: IndexBodyNode): {
|
|
41
|
+
parallelIndices: IndexNode[];
|
|
42
|
+
};
|
|
35
43
|
is(node: AstNode | undefined): node is IndexBodyNode;
|
|
36
44
|
}>;
|
|
37
45
|
export declare type IndexNode = StaticIndexNode | DynamicIndexNode;
|
|
@@ -53,27 +61,38 @@ export interface DynamicIndexNode extends AstNode {
|
|
|
53
61
|
children: (CommentNode | AccessorKeyNode)[];
|
|
54
62
|
}
|
|
55
63
|
export declare const DynamicIndexNode: Readonly<{
|
|
64
|
+
destruct(node: DynamicIndexNode): {
|
|
65
|
+
keys: AccessorKeyNode[];
|
|
66
|
+
};
|
|
56
67
|
is(node: AstNode | undefined): node is DynamicIndexNode;
|
|
57
68
|
}>;
|
|
58
69
|
export declare type AccessorKeyNode = LiteralNode | IdentifierNode | StringNode;
|
|
59
70
|
export declare const AccessorKeyNode: Readonly<{
|
|
60
71
|
is(node: AstNode | undefined): node is AccessorKeyNode;
|
|
61
72
|
}>;
|
|
62
|
-
export declare type TypeNode = AnyTypeNode | BooleanTypeNode | StringTypeNode | LiteralTypeNode | NumericTypeNode | PrimitiveArrayTypeNode | ListTypeNode | TupleTypeNode | EnumNode | StructNode |
|
|
73
|
+
export declare type TypeNode = AnyTypeNode | BooleanTypeNode | StringTypeNode | LiteralTypeNode | NumericTypeNode | PrimitiveArrayTypeNode | ListTypeNode | TupleTypeNode | EnumNode | StructNode | ReferenceTypeNode | DispatcherTypeNode | UnionTypeNode;
|
|
63
74
|
export declare const TypeNode: Readonly<{
|
|
64
75
|
is(node: AstNode | undefined): node is TypeNode;
|
|
65
|
-
asType(node: TypeNode): McdocType;
|
|
66
76
|
}>;
|
|
67
77
|
export interface TypeBaseNode<CN extends AstNode> extends AstNode {
|
|
68
78
|
type: `mcdoc:${string}`;
|
|
69
79
|
children: (CommentNode | AttributeNode | IndexBodyNode | CN)[];
|
|
70
80
|
}
|
|
81
|
+
export declare const TypeBaseNode: Readonly<{
|
|
82
|
+
destruct(node: TypeBaseNode<any>): {
|
|
83
|
+
attributes: AttributeNode[];
|
|
84
|
+
indices: IndexBodyNode[];
|
|
85
|
+
};
|
|
86
|
+
}>;
|
|
71
87
|
export interface AttributeNode extends AstNode {
|
|
72
88
|
type: 'mcdoc:attribute';
|
|
73
89
|
children: (CommentNode | IdentifierNode | AttributeValueNode)[];
|
|
74
|
-
sep?: boolean;
|
|
75
90
|
}
|
|
76
91
|
export declare const AttributeNode: Readonly<{
|
|
92
|
+
destruct(node: AttributeNode): {
|
|
93
|
+
name: IdentifierNode;
|
|
94
|
+
value: AttributeValueNode | undefined;
|
|
95
|
+
};
|
|
77
96
|
is(node: AstNode | undefined): node is AttributeNode;
|
|
78
97
|
}>;
|
|
79
98
|
export declare type AttributeValueNode = TypeNode | AttributeTreeNode;
|
|
@@ -86,6 +105,10 @@ export interface AttributeTreeNode extends AstNode {
|
|
|
86
105
|
delim: '(' | '[' | '{';
|
|
87
106
|
}
|
|
88
107
|
export declare const AttributeTreeNode: Readonly<{
|
|
108
|
+
destruct(node: AttributeTreeNode): {
|
|
109
|
+
positional?: AttributeTreePosValuesNode;
|
|
110
|
+
named?: AttributeTreeNamedValuesNode;
|
|
111
|
+
};
|
|
89
112
|
is(node: AstNode | undefined): node is AttributeTreeNode;
|
|
90
113
|
}>;
|
|
91
114
|
export interface AttributeTreePosValuesNode extends AstNode {
|
|
@@ -93,6 +116,9 @@ export interface AttributeTreePosValuesNode extends AstNode {
|
|
|
93
116
|
children: (CommentNode | AttributeValueNode)[];
|
|
94
117
|
}
|
|
95
118
|
export declare const AttributeTreePosValuesNode: Readonly<{
|
|
119
|
+
destruct(node: AttributeTreePosValuesNode): {
|
|
120
|
+
values: AttributeValueNode[];
|
|
121
|
+
};
|
|
96
122
|
is(node: AstNode | undefined): node is AttributeTreePosValuesNode;
|
|
97
123
|
}>;
|
|
98
124
|
export interface AttributeTreeNamedValuesNode extends AstNode {
|
|
@@ -100,8 +126,15 @@ export interface AttributeTreeNamedValuesNode extends AstNode {
|
|
|
100
126
|
children: (CommentNode | IdentifierNode | StringNode | AttributeValueNode)[];
|
|
101
127
|
}
|
|
102
128
|
export declare const AttributeTreeNamedValuesNode: Readonly<{
|
|
129
|
+
destruct(node: AttributeTreeNamedValuesNode): {
|
|
130
|
+
values: AttributeTreeNamedKeyValuePair[];
|
|
131
|
+
};
|
|
103
132
|
is(node: AstNode | undefined): node is AttributeTreeNamedValuesNode;
|
|
104
133
|
}>;
|
|
134
|
+
export interface AttributeTreeNamedKeyValuePair {
|
|
135
|
+
key: IdentifierNode | StringNode;
|
|
136
|
+
value: AttributeValueNode;
|
|
137
|
+
}
|
|
105
138
|
export interface AnyTypeNode extends TypeBaseNode<LiteralNode> {
|
|
106
139
|
type: 'mcdoc:type/any';
|
|
107
140
|
}
|
|
@@ -114,83 +147,145 @@ export interface BooleanTypeNode extends TypeBaseNode<LiteralNode> {
|
|
|
114
147
|
export declare const BooleanTypeNode: Readonly<{
|
|
115
148
|
is(node: AstNode | undefined): node is BooleanTypeNode;
|
|
116
149
|
}>;
|
|
117
|
-
export interface StringTypeNode extends TypeBaseNode<LiteralNode | IntRangeNode> {
|
|
118
|
-
type: 'mcdoc:type/string';
|
|
119
|
-
}
|
|
120
|
-
export declare const StringTypeNode: Readonly<{
|
|
121
|
-
is(node: AstNode | undefined): node is StringTypeNode;
|
|
122
|
-
}>;
|
|
123
150
|
export interface IntRangeNode extends AstNode {
|
|
124
151
|
type: 'mcdoc:int_range';
|
|
125
|
-
children: IntegerNode[];
|
|
152
|
+
children: (IntegerNode | LiteralNode)[];
|
|
126
153
|
}
|
|
127
154
|
export declare const IntRangeNode: Readonly<{
|
|
155
|
+
destruct(node: IntRangeNode): {
|
|
156
|
+
kind: RangeKind;
|
|
157
|
+
min?: IntegerNode;
|
|
158
|
+
max?: IntegerNode;
|
|
159
|
+
};
|
|
128
160
|
is(node: AstNode | undefined): node is IntRangeNode;
|
|
129
161
|
}>;
|
|
130
|
-
export interface LiteralTypeNode extends TypeBaseNode<
|
|
162
|
+
export interface LiteralTypeNode extends TypeBaseNode<LiteralTypeValueNode> {
|
|
131
163
|
type: 'mcdoc:type/literal';
|
|
132
164
|
}
|
|
133
165
|
export declare const LiteralTypeNode: Readonly<{
|
|
166
|
+
destruct(node: LiteralTypeNode): {
|
|
167
|
+
value: LiteralTypeValueNode;
|
|
168
|
+
};
|
|
134
169
|
is(node: AstNode | undefined): node is LiteralTypeNode;
|
|
135
170
|
}>;
|
|
171
|
+
export declare type LiteralTypeValueNode = LiteralNode | TypedNumberNode | StringNode;
|
|
172
|
+
export declare const LiteralTypeValueNode: Readonly<{
|
|
173
|
+
is(node: AstNode | undefined): node is LiteralTypeValueNode;
|
|
174
|
+
}>;
|
|
136
175
|
export interface TypedNumberNode extends AstNode {
|
|
137
176
|
type: 'mcdoc:typed_number';
|
|
138
177
|
children: (FloatNode | LiteralNode)[];
|
|
139
178
|
}
|
|
140
179
|
export declare const TypedNumberNode: Readonly<{
|
|
180
|
+
destruct(node: TypedNumberNode): {
|
|
181
|
+
value: FloatNode;
|
|
182
|
+
suffix?: LiteralNode;
|
|
183
|
+
};
|
|
141
184
|
is(node: AstNode | undefined): node is TypedNumberNode;
|
|
142
185
|
}>;
|
|
143
186
|
export interface NumericTypeNode extends TypeBaseNode<LiteralNode | FloatRangeNode | IntRangeNode> {
|
|
144
187
|
type: 'mcdoc:type/numeric_type';
|
|
145
188
|
}
|
|
146
189
|
export declare const NumericTypeNode: Readonly<{
|
|
190
|
+
destruct(node: NumericTypeNode): {
|
|
191
|
+
numericKind: LiteralNode;
|
|
192
|
+
valueRange?: FloatRangeNode | IntRangeNode;
|
|
193
|
+
};
|
|
147
194
|
is(node: AstNode | undefined): node is NumericTypeNode;
|
|
148
195
|
}>;
|
|
196
|
+
export declare const RangeExclusiveChar = "<";
|
|
197
|
+
/**
|
|
198
|
+
* A 2-bit binary number is used to represent the kind of range.
|
|
199
|
+
* The first bit from the left represents the start, the second bit from the left represents the end.
|
|
200
|
+
* The bit is turned on if the range is exclusive on that end.
|
|
201
|
+
*/
|
|
202
|
+
export declare type RangeKind = 0b00 | 0b01 | 0b10 | 0b11;
|
|
203
|
+
export declare function getRangeDelimiter(kind: RangeKind): string;
|
|
149
204
|
export interface FloatRangeNode extends AstNode {
|
|
150
205
|
type: 'mcdoc:float_range';
|
|
151
|
-
children: FloatNode[];
|
|
206
|
+
children: (FloatNode | LiteralNode)[];
|
|
152
207
|
}
|
|
153
208
|
export declare const FloatRangeNode: Readonly<{
|
|
209
|
+
destruct(node: FloatRangeNode): {
|
|
210
|
+
kind: RangeKind;
|
|
211
|
+
min?: FloatNode;
|
|
212
|
+
max?: FloatNode;
|
|
213
|
+
};
|
|
154
214
|
is(node: AstNode | undefined): node is FloatRangeNode;
|
|
155
215
|
}>;
|
|
156
|
-
export interface PrimitiveArrayTypeNode extends TypeBaseNode<LiteralNode | IntRangeNode
|
|
216
|
+
export interface PrimitiveArrayTypeNode extends TypeBaseNode<LiteralNode | IntRangeNode> {
|
|
157
217
|
type: 'mcdoc:type/primitive_array';
|
|
158
218
|
}
|
|
159
219
|
export declare const PrimitiveArrayTypeNode: Readonly<{
|
|
220
|
+
destruct(node: PrimitiveArrayTypeNode): {
|
|
221
|
+
arrayKind: LiteralNode;
|
|
222
|
+
lengthRange?: IntRangeNode | undefined;
|
|
223
|
+
valueRange?: IntRangeNode | undefined;
|
|
224
|
+
};
|
|
160
225
|
is(node: AstNode | undefined): node is PrimitiveArrayTypeNode;
|
|
161
226
|
}>;
|
|
162
227
|
export interface ListTypeNode extends TypeBaseNode<TypeNode | IntRangeNode> {
|
|
163
228
|
type: 'mcdoc:type/list';
|
|
164
229
|
}
|
|
165
230
|
export declare const ListTypeNode: Readonly<{
|
|
231
|
+
destruct(node: ListTypeNode): {
|
|
232
|
+
item: TypeNode;
|
|
233
|
+
lengthRange?: IntRangeNode;
|
|
234
|
+
};
|
|
166
235
|
is(node: AstNode | undefined): node is ListTypeNode;
|
|
167
236
|
}>;
|
|
237
|
+
export interface StringTypeNode extends TypeBaseNode<LiteralNode | IntRangeNode> {
|
|
238
|
+
type: 'mcdoc:type/string';
|
|
239
|
+
}
|
|
240
|
+
export declare const StringTypeNode: Readonly<{
|
|
241
|
+
destruct(node: StringTypeNode): {
|
|
242
|
+
lengthRange?: IntRangeNode;
|
|
243
|
+
};
|
|
244
|
+
is(node: AstNode | undefined): node is StringTypeNode;
|
|
245
|
+
}>;
|
|
168
246
|
export interface TupleTypeNode extends TypeBaseNode<TypeNode> {
|
|
169
247
|
type: 'mcdoc:type/tuple';
|
|
170
248
|
}
|
|
171
249
|
export declare const TupleTypeNode: Readonly<{
|
|
250
|
+
destruct(node: TupleTypeNode): {
|
|
251
|
+
items: TypeNode[];
|
|
252
|
+
};
|
|
172
253
|
is(node: AstNode | undefined): node is TupleTypeNode;
|
|
173
254
|
}>;
|
|
174
255
|
export interface EnumNode extends TypeBaseNode<DocCommentsNode | LiteralNode | IdentifierNode | EnumBlockNode> {
|
|
175
256
|
type: 'mcdoc:enum';
|
|
176
257
|
}
|
|
258
|
+
declare const EnumKinds: Set<"string" | "float" | "byte" | "short" | "int" | "long" | "double">;
|
|
259
|
+
export declare type EnumKind = typeof EnumKinds extends Set<infer V> ? V : never;
|
|
177
260
|
export declare const EnumNode: Readonly<{
|
|
261
|
+
kinds: Set<"string" | "float" | "byte" | "short" | "int" | "long" | "double">;
|
|
262
|
+
destruct(node: EnumNode): {
|
|
263
|
+
block: EnumBlockNode;
|
|
264
|
+
docComments?: DocCommentsNode;
|
|
265
|
+
enumKind?: EnumKind;
|
|
266
|
+
identifier?: IdentifierNode;
|
|
267
|
+
};
|
|
178
268
|
is(node: AstNode | undefined): node is EnumNode;
|
|
179
|
-
kinds: Set<"string" | "byte" | "short" | "int" | "long" | "float" | "double">;
|
|
180
269
|
}>;
|
|
181
|
-
export declare type EnumKind = typeof EnumNode['kinds'] extends Set<infer V> ? V : never;
|
|
182
270
|
export interface DocCommentsNode extends AstNode {
|
|
183
271
|
type: 'mcdoc:doc_comments';
|
|
184
272
|
children: CommentNode[];
|
|
185
273
|
}
|
|
186
274
|
export declare const DocCommentsNode: Readonly<{
|
|
275
|
+
/**
|
|
276
|
+
* @returns The text content of this doc comment block.
|
|
277
|
+
*/
|
|
278
|
+
asText(node: DocCommentsNode | undefined): string | undefined;
|
|
187
279
|
is(node: AstNode | undefined): node is DocCommentsNode;
|
|
188
280
|
}>;
|
|
189
281
|
export interface EnumBlockNode extends AstNode {
|
|
190
282
|
type: 'mcdoc:enum/block';
|
|
191
|
-
children: (CommentNode | EnumFieldNode
|
|
283
|
+
children: (CommentNode | EnumFieldNode)[];
|
|
192
284
|
}
|
|
193
285
|
export declare const EnumBlockNode: Readonly<{
|
|
286
|
+
destruct(node: EnumBlockNode): {
|
|
287
|
+
fields: EnumFieldNode[];
|
|
288
|
+
};
|
|
194
289
|
is(node: AstNode | undefined): node is EnumBlockNode;
|
|
195
290
|
}>;
|
|
196
291
|
export interface EnumFieldNode extends AstNode {
|
|
@@ -198,6 +293,11 @@ export interface EnumFieldNode extends AstNode {
|
|
|
198
293
|
children: (CommentNode | PrelimNode | IdentifierNode | EnumValueNode)[];
|
|
199
294
|
}
|
|
200
295
|
export declare const EnumFieldNode: Readonly<{
|
|
296
|
+
destruct(node: EnumFieldNode): {
|
|
297
|
+
attributes: AttributeNode[];
|
|
298
|
+
identifier: IdentifierNode;
|
|
299
|
+
value: EnumValueNode;
|
|
300
|
+
};
|
|
201
301
|
is(node: AstNode | undefined): node is EnumFieldNode;
|
|
202
302
|
}>;
|
|
203
303
|
export declare type EnumValueNode = TypedNumberNode | StringNode;
|
|
@@ -208,30 +308,45 @@ export declare type PrelimNode = AttributeNode | DocCommentsNode;
|
|
|
208
308
|
export declare const PrelimNode: Readonly<{
|
|
209
309
|
is(node: AstNode | undefined): node is PrelimNode;
|
|
210
310
|
}>;
|
|
211
|
-
export interface StructNode extends TypeBaseNode<DocCommentsNode | LiteralNode | IdentifierNode |
|
|
311
|
+
export interface StructNode extends TypeBaseNode<DocCommentsNode | LiteralNode | IdentifierNode | StructBlockNode> {
|
|
212
312
|
type: 'mcdoc:struct';
|
|
213
313
|
}
|
|
214
314
|
export declare const StructNode: Readonly<{
|
|
315
|
+
destruct(node: StructNode): {
|
|
316
|
+
block: StructBlockNode;
|
|
317
|
+
docComments?: DocCommentsNode;
|
|
318
|
+
identifier?: IdentifierNode;
|
|
319
|
+
};
|
|
215
320
|
is(node: AstNode | undefined): node is StructNode;
|
|
216
321
|
}>;
|
|
217
|
-
export interface
|
|
218
|
-
type: 'mcdoc:type/
|
|
322
|
+
export interface ReferenceTypeNode extends TypeBaseNode<PathNode | TypeNode> {
|
|
323
|
+
type: 'mcdoc:type/reference';
|
|
219
324
|
}
|
|
220
|
-
export declare const
|
|
221
|
-
|
|
325
|
+
export declare const ReferenceTypeNode: Readonly<{
|
|
326
|
+
destruct(node: ReferenceTypeNode): {
|
|
327
|
+
path: PathNode;
|
|
328
|
+
typeParameters: TypeNode[];
|
|
329
|
+
};
|
|
330
|
+
is(node: AstNode | undefined): node is ReferenceTypeNode;
|
|
222
331
|
}>;
|
|
223
332
|
export interface TypeParamBlockNode extends AstNode {
|
|
224
333
|
type: 'mcdoc:type_param_block';
|
|
225
334
|
children: (CommentNode | TypeParamNode)[];
|
|
226
335
|
}
|
|
227
336
|
export declare const TypeParamBlockNode: Readonly<{
|
|
337
|
+
destruct(node: TypeParamBlockNode): {
|
|
338
|
+
params: TypeParamNode[];
|
|
339
|
+
};
|
|
228
340
|
is(node: AstNode | undefined): node is TypeParamBlockNode;
|
|
229
341
|
}>;
|
|
230
342
|
export interface TypeParamNode extends AstNode {
|
|
231
343
|
type: 'mcdoc:type_param';
|
|
232
|
-
children: (CommentNode | IdentifierNode | LiteralNode
|
|
344
|
+
children: (CommentNode | IdentifierNode | LiteralNode)[];
|
|
233
345
|
}
|
|
234
346
|
export declare const TypeParamNode: Readonly<{
|
|
347
|
+
destruct(node: TypeParamNode): {
|
|
348
|
+
identifier: IdentifierNode;
|
|
349
|
+
};
|
|
235
350
|
is(node: AstNode | undefined): node is TypeParamNode;
|
|
236
351
|
}>;
|
|
237
352
|
export interface PathNode extends AstNode {
|
|
@@ -240,13 +355,21 @@ export interface PathNode extends AstNode {
|
|
|
240
355
|
isAbsolute?: boolean;
|
|
241
356
|
}
|
|
242
357
|
export declare const PathNode: Readonly<{
|
|
358
|
+
destruct(node: PathNode | undefined): {
|
|
359
|
+
children: (LiteralNode | IdentifierNode)[];
|
|
360
|
+
isAbsolute?: boolean;
|
|
361
|
+
lastIdentifier?: IdentifierNode;
|
|
362
|
+
};
|
|
243
363
|
is(node: AstNode | undefined): node is PathNode;
|
|
244
364
|
}>;
|
|
245
365
|
export interface StructBlockNode extends AstNode {
|
|
246
366
|
type: 'mcdoc:struct/block';
|
|
247
|
-
children: (CommentNode | StructFieldNode
|
|
367
|
+
children: (CommentNode | StructFieldNode)[];
|
|
248
368
|
}
|
|
249
369
|
export declare const StructBlockNode: Readonly<{
|
|
370
|
+
destruct(node: StructBlockNode): {
|
|
371
|
+
fields: StructFieldNode[];
|
|
372
|
+
};
|
|
250
373
|
is(node: AstNode | undefined): node is StructBlockNode;
|
|
251
374
|
}>;
|
|
252
375
|
export declare type StructFieldNode = StructPairFieldNode | StructSpreadFieldNode;
|
|
@@ -259,6 +382,12 @@ export interface StructPairFieldNode extends AstNode {
|
|
|
259
382
|
isOptional?: boolean;
|
|
260
383
|
}
|
|
261
384
|
export declare const StructPairFieldNode: Readonly<{
|
|
385
|
+
destruct(node: StructPairFieldNode): {
|
|
386
|
+
attributes: AttributeNode[];
|
|
387
|
+
key: StructKeyNode;
|
|
388
|
+
type: TypeNode;
|
|
389
|
+
isOptional?: boolean;
|
|
390
|
+
};
|
|
262
391
|
is(node: AstNode | undefined): node is StructPairFieldNode;
|
|
263
392
|
}>;
|
|
264
393
|
export declare type StructKeyNode = StringNode | IdentifierNode | StructMapKeyNode;
|
|
@@ -270,6 +399,9 @@ export interface StructMapKeyNode extends AstNode {
|
|
|
270
399
|
children: (CommentNode | TypeNode)[];
|
|
271
400
|
}
|
|
272
401
|
export declare const StructMapKeyNode: Readonly<{
|
|
402
|
+
destruct(node: StructMapKeyNode): {
|
|
403
|
+
type: TypeNode;
|
|
404
|
+
};
|
|
273
405
|
is(node: AstNode | undefined): node is StructMapKeyNode;
|
|
274
406
|
}>;
|
|
275
407
|
export interface StructSpreadFieldNode extends AstNode {
|
|
@@ -277,27 +409,45 @@ export interface StructSpreadFieldNode extends AstNode {
|
|
|
277
409
|
children: (CommentNode | AttributeNode | TypeNode)[];
|
|
278
410
|
}
|
|
279
411
|
export declare const StructSpreadFieldNode: Readonly<{
|
|
412
|
+
destruct(node: StructSpreadFieldNode): {
|
|
413
|
+
attributes: AttributeNode[];
|
|
414
|
+
type: TypeNode;
|
|
415
|
+
};
|
|
280
416
|
is(node: AstNode | undefined): node is StructSpreadFieldNode;
|
|
281
417
|
}>;
|
|
282
418
|
export interface DispatcherTypeNode extends TypeBaseNode<ResourceLocationNode | IndexBodyNode> {
|
|
283
419
|
type: 'mcdoc:type/dispatcher';
|
|
284
420
|
}
|
|
285
421
|
export declare const DispatcherTypeNode: Readonly<{
|
|
422
|
+
destruct(node: DispatcherTypeNode): {
|
|
423
|
+
location: ResourceLocationNode;
|
|
424
|
+
index: IndexBodyNode;
|
|
425
|
+
};
|
|
286
426
|
is(node: AstNode | undefined): node is DispatcherTypeNode;
|
|
287
427
|
}>;
|
|
288
428
|
export interface UnionTypeNode extends TypeBaseNode<TypeNode> {
|
|
289
429
|
type: 'mcdoc:type/union';
|
|
290
430
|
}
|
|
291
431
|
export declare const UnionTypeNode: Readonly<{
|
|
432
|
+
destruct(node: UnionTypeNode): {
|
|
433
|
+
members: TypeNode[];
|
|
434
|
+
};
|
|
292
435
|
is(node: AstNode | undefined): node is UnionTypeNode;
|
|
293
436
|
}>;
|
|
294
437
|
export interface InjectionNode extends AstNode {
|
|
295
438
|
type: 'mcdoc:injection';
|
|
296
|
-
children: (CommentNode | LiteralNode |
|
|
439
|
+
children: (CommentNode | LiteralNode | InjectionContentNode)[];
|
|
297
440
|
}
|
|
298
441
|
export declare const InjectionNode: Readonly<{
|
|
442
|
+
destruct(node: InjectionNode): {
|
|
443
|
+
injection: InjectionContentNode;
|
|
444
|
+
};
|
|
299
445
|
is(node: AstNode | undefined): node is InjectionNode;
|
|
300
446
|
}>;
|
|
447
|
+
export declare type InjectionContentNode = EnumInjectionNode | StructInjectionNode;
|
|
448
|
+
export declare const InjectionContentNode: Readonly<{
|
|
449
|
+
is(node: AstNode | undefined): node is InjectionContentNode;
|
|
450
|
+
}>;
|
|
301
451
|
export interface EnumInjectionNode extends AstNode {
|
|
302
452
|
type: 'mcdoc:injection/enum';
|
|
303
453
|
children: (CommentNode | LiteralNode | PathNode | EnumBlockNode)[];
|
|
@@ -307,16 +457,22 @@ export declare const EnumInjectionNode: Readonly<{
|
|
|
307
457
|
}>;
|
|
308
458
|
export interface StructInjectionNode extends AstNode {
|
|
309
459
|
type: 'mcdoc:injection/struct';
|
|
310
|
-
children: (CommentNode | LiteralNode | PathNode |
|
|
460
|
+
children: (CommentNode | LiteralNode | PathNode | StructBlockNode)[];
|
|
311
461
|
}
|
|
312
462
|
export declare const StructInjectionNode: Readonly<{
|
|
313
463
|
is(node: AstNode | undefined): node is StructInjectionNode;
|
|
314
464
|
}>;
|
|
315
465
|
export interface TypeAliasNode extends AstNode {
|
|
316
466
|
type: 'mcdoc:type_alias';
|
|
317
|
-
children: (CommentNode |
|
|
467
|
+
children: (CommentNode | DocCommentsNode | LiteralNode | IdentifierNode | TypeParamBlockNode | TypeNode)[];
|
|
318
468
|
}
|
|
319
469
|
export declare const TypeAliasNode: Readonly<{
|
|
470
|
+
destruct(node: TypeAliasNode): {
|
|
471
|
+
docComments?: DocCommentsNode;
|
|
472
|
+
identifier?: IdentifierNode;
|
|
473
|
+
typeParams?: TypeParamBlockNode;
|
|
474
|
+
rhs?: TypeNode;
|
|
475
|
+
};
|
|
320
476
|
is(node: AstNode | undefined): node is TypeAliasNode;
|
|
321
477
|
}>;
|
|
322
478
|
export interface UseStatementNode extends AstNode {
|
|
@@ -324,6 +480,11 @@ export interface UseStatementNode extends AstNode {
|
|
|
324
480
|
children: (CommentNode | LiteralNode | PathNode | IdentifierNode)[];
|
|
325
481
|
}
|
|
326
482
|
export declare const UseStatementNode: Readonly<{
|
|
483
|
+
destruct(node: UseStatementNode): {
|
|
484
|
+
binding?: IdentifierNode;
|
|
485
|
+
path?: PathNode;
|
|
486
|
+
};
|
|
327
487
|
is(node: AstNode | undefined): node is UseStatementNode;
|
|
328
488
|
}>;
|
|
489
|
+
export {};
|
|
329
490
|
//# sourceMappingURL=index.d.ts.map
|