@herb-tools/core 0.1.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/CHANGELOG.md +3 -0
- package/README.md +9 -0
- package/dist/herb-core.browser.js +2704 -0
- package/dist/herb-core.browser.js.map +1 -0
- package/dist/herb-core.cjs +2759 -0
- package/dist/herb-core.cjs.map +1 -0
- package/dist/herb-core.esm.js +2704 -0
- package/dist/herb-core.esm.js.map +1 -0
- package/dist/herb-core.umd.js +2765 -0
- package/dist/herb-core.umd.js.map +1 -0
- package/dist/types/ast.d.ts +4 -0
- package/dist/types/backend.d.ts +24 -0
- package/dist/types/error.d.ts +16 -0
- package/dist/types/errors.d.ts +222 -0
- package/dist/types/herb-backend.d.ts +87 -0
- package/dist/types/index.d.ts +15 -0
- package/dist/types/lex-result.d.ts +50 -0
- package/dist/types/location.d.ts +18 -0
- package/dist/types/node.d.ts +27 -0
- package/dist/types/nodes.d.ts +682 -0
- package/dist/types/parse-result.d.ts +62 -0
- package/dist/types/position.d.ts +15 -0
- package/dist/types/range.d.ts +12 -0
- package/dist/types/result.d.ts +10 -0
- package/dist/types/token-list.d.ts +16 -0
- package/dist/types/token.d.ts +22 -0
- package/dist/types/util.d.ts +2 -0
- package/dist/types/visitor.d.ts +11 -0
- package/dist/types/warning.d.ts +11 -0
- package/package.json +49 -0
- package/src/ast.ts +7 -0
- package/src/backend.ts +85 -0
- package/src/error.ts +38 -0
- package/src/errors.ts +820 -0
- package/src/herb-backend.ts +152 -0
- package/src/index.ts +15 -0
- package/src/lex-result.ts +78 -0
- package/src/location.ts +51 -0
- package/src/node.ts +106 -0
- package/src/nodes.ts +2294 -0
- package/src/parse-result.ts +101 -0
- package/src/position.ts +38 -0
- package/src/range.ts +35 -0
- package/src/result.ts +26 -0
- package/src/token-list.ts +57 -0
- package/src/token.ts +63 -0
- package/src/util.ts +19 -0
- package/src/visitor.ts +14 -0
- package/src/warning.ts +20 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"herb-core.umd.js","sources":["../src/ast.ts","../src/backend.ts","../src/position.ts","../src/location.ts","../src/range.ts","../src/token.ts","../src/error.ts","../src/errors.ts","../src/util.ts","../src/result.ts","../src/token-list.ts","../src/lex-result.ts","../src/node.ts","../src/nodes.ts","../src/warning.ts","../src/parse-result.ts","../src/herb-backend.ts","../src/visitor.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { SerializedParseResult } from "./parse-result.js";
|
|
2
|
+
import type { SerializedLexResult } from "./lex-result.js";
|
|
3
|
+
interface LibHerbBackendFunctions {
|
|
4
|
+
lex: (source: string) => SerializedLexResult;
|
|
5
|
+
lexFile: (path: string) => SerializedLexResult;
|
|
6
|
+
parse: (source: string) => SerializedParseResult;
|
|
7
|
+
parseFile: (path: string) => SerializedParseResult;
|
|
8
|
+
extractRuby: (source: string) => string;
|
|
9
|
+
extractHTML: (source: string) => string;
|
|
10
|
+
version: () => string;
|
|
11
|
+
}
|
|
12
|
+
export type BackendPromise = () => Promise<LibHerbBackend>;
|
|
13
|
+
declare const expectedFunctions: readonly ["parse", "lex", "parseFile", "lexFile", "extractRuby", "extractHTML", "version"];
|
|
14
|
+
type LibHerbBackendFunctionName = (typeof expectedFunctions)[number];
|
|
15
|
+
export declare function _TYPECHECK(): {
|
|
16
|
+
checkFunctionsExist: true;
|
|
17
|
+
checkInterfaceComplete: true;
|
|
18
|
+
};
|
|
19
|
+
export type LibHerbBackend = {
|
|
20
|
+
[K in LibHerbBackendFunctionName]: LibHerbBackendFunctions[K];
|
|
21
|
+
};
|
|
22
|
+
export declare function isLibHerbBackend(object: any, libherbpath?: string): object is LibHerbBackend;
|
|
23
|
+
export declare function ensureLibHerbBackend(object: any, libherbpath?: string): LibHerbBackend;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Location, SerializedLocation } from "./location.js";
|
|
2
|
+
export interface SerializedHerbError {
|
|
3
|
+
type: string;
|
|
4
|
+
message: string;
|
|
5
|
+
location: SerializedLocation;
|
|
6
|
+
}
|
|
7
|
+
export declare abstract class HerbError {
|
|
8
|
+
readonly type: string;
|
|
9
|
+
readonly message: string;
|
|
10
|
+
readonly location: Location;
|
|
11
|
+
static from(error: SerializedHerbError): HerbError;
|
|
12
|
+
constructor(type: string, message: string, location: Location);
|
|
13
|
+
toJSON(): SerializedHerbError;
|
|
14
|
+
inspect(): string;
|
|
15
|
+
abstract treeInspect(indent?: number): string;
|
|
16
|
+
}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import { Location, SerializedLocation } from "./location.js";
|
|
2
|
+
import { Token, SerializedToken } from "./token.js";
|
|
3
|
+
import { HerbError, SerializedHerbError } from "./error.js";
|
|
4
|
+
type HerbDiagnostic = {
|
|
5
|
+
line: number;
|
|
6
|
+
column: number;
|
|
7
|
+
endLine: number;
|
|
8
|
+
endColumn: number;
|
|
9
|
+
message: string;
|
|
10
|
+
severity: "error" | "warning" | "info";
|
|
11
|
+
};
|
|
12
|
+
export type HerbErrorType = "UNEXPECTED_ERROR" | "UNEXPECTED_TOKEN_ERROR" | "MISSING_OPENING_TAG_ERROR" | "MISSING_CLOSING_TAG_ERROR" | "TAG_NAMES_MISMATCH_ERROR" | "QUOTES_MISMATCH_ERROR" | "VOID_ELEMENT_CLOSING_TAG_ERROR" | "UNCLOSED_ELEMENT_ERROR" | "RUBY_PARSE_ERROR";
|
|
13
|
+
export type SerializedErrorType = string;
|
|
14
|
+
export declare function fromSerializedError(error: SerializedHerbError): HerbError;
|
|
15
|
+
export interface SerializedUnexpectedError {
|
|
16
|
+
type: "UNEXPECTED_ERROR";
|
|
17
|
+
message: string;
|
|
18
|
+
location: SerializedLocation;
|
|
19
|
+
description: string;
|
|
20
|
+
expected: string;
|
|
21
|
+
found: string;
|
|
22
|
+
}
|
|
23
|
+
export interface UnexpectedErrorProps {
|
|
24
|
+
type: string;
|
|
25
|
+
message: string;
|
|
26
|
+
location: Location;
|
|
27
|
+
description: string;
|
|
28
|
+
expected: string;
|
|
29
|
+
found: string;
|
|
30
|
+
}
|
|
31
|
+
export declare class UnexpectedError extends HerbError {
|
|
32
|
+
readonly description: string;
|
|
33
|
+
readonly expected: string;
|
|
34
|
+
readonly found: string;
|
|
35
|
+
static from(data: SerializedUnexpectedError): UnexpectedError;
|
|
36
|
+
constructor(props: UnexpectedErrorProps);
|
|
37
|
+
toJSON(): SerializedUnexpectedError;
|
|
38
|
+
toDiagnostics(): HerbDiagnostic[];
|
|
39
|
+
treeInspect(): string;
|
|
40
|
+
}
|
|
41
|
+
export interface SerializedUnexpectedTokenError {
|
|
42
|
+
type: "UNEXPECTED_TOKEN_ERROR";
|
|
43
|
+
message: string;
|
|
44
|
+
location: SerializedLocation;
|
|
45
|
+
expected_type: string | null;
|
|
46
|
+
found: SerializedToken | null;
|
|
47
|
+
}
|
|
48
|
+
export interface UnexpectedTokenErrorProps {
|
|
49
|
+
type: string;
|
|
50
|
+
message: string;
|
|
51
|
+
location: Location;
|
|
52
|
+
expected_type: string | null;
|
|
53
|
+
found: Token | null;
|
|
54
|
+
}
|
|
55
|
+
export declare class UnexpectedTokenError extends HerbError {
|
|
56
|
+
readonly expected_type: string | null;
|
|
57
|
+
readonly found: Token | null;
|
|
58
|
+
static from(data: SerializedUnexpectedTokenError): UnexpectedTokenError;
|
|
59
|
+
constructor(props: UnexpectedTokenErrorProps);
|
|
60
|
+
toJSON(): SerializedUnexpectedTokenError;
|
|
61
|
+
toDiagnostics(): HerbDiagnostic[];
|
|
62
|
+
treeInspect(): string;
|
|
63
|
+
}
|
|
64
|
+
export interface SerializedMissingOpeningTagError {
|
|
65
|
+
type: "MISSING_OPENING_TAG_ERROR";
|
|
66
|
+
message: string;
|
|
67
|
+
location: SerializedLocation;
|
|
68
|
+
closing_tag: SerializedToken | null;
|
|
69
|
+
}
|
|
70
|
+
export interface MissingOpeningTagErrorProps {
|
|
71
|
+
type: string;
|
|
72
|
+
message: string;
|
|
73
|
+
location: Location;
|
|
74
|
+
closing_tag: Token | null;
|
|
75
|
+
}
|
|
76
|
+
export declare class MissingOpeningTagError extends HerbError {
|
|
77
|
+
readonly closing_tag: Token | null;
|
|
78
|
+
static from(data: SerializedMissingOpeningTagError): MissingOpeningTagError;
|
|
79
|
+
constructor(props: MissingOpeningTagErrorProps);
|
|
80
|
+
toJSON(): SerializedMissingOpeningTagError;
|
|
81
|
+
toDiagnostics(): HerbDiagnostic[];
|
|
82
|
+
treeInspect(): string;
|
|
83
|
+
}
|
|
84
|
+
export interface SerializedMissingClosingTagError {
|
|
85
|
+
type: "MISSING_CLOSING_TAG_ERROR";
|
|
86
|
+
message: string;
|
|
87
|
+
location: SerializedLocation;
|
|
88
|
+
opening_tag: SerializedToken | null;
|
|
89
|
+
}
|
|
90
|
+
export interface MissingClosingTagErrorProps {
|
|
91
|
+
type: string;
|
|
92
|
+
message: string;
|
|
93
|
+
location: Location;
|
|
94
|
+
opening_tag: Token | null;
|
|
95
|
+
}
|
|
96
|
+
export declare class MissingClosingTagError extends HerbError {
|
|
97
|
+
readonly opening_tag: Token | null;
|
|
98
|
+
static from(data: SerializedMissingClosingTagError): MissingClosingTagError;
|
|
99
|
+
constructor(props: MissingClosingTagErrorProps);
|
|
100
|
+
toJSON(): SerializedMissingClosingTagError;
|
|
101
|
+
toDiagnostics(): HerbDiagnostic[];
|
|
102
|
+
treeInspect(): string;
|
|
103
|
+
}
|
|
104
|
+
export interface SerializedTagNamesMismatchError {
|
|
105
|
+
type: "TAG_NAMES_MISMATCH_ERROR";
|
|
106
|
+
message: string;
|
|
107
|
+
location: SerializedLocation;
|
|
108
|
+
opening_tag: SerializedToken | null;
|
|
109
|
+
closing_tag: SerializedToken | null;
|
|
110
|
+
}
|
|
111
|
+
export interface TagNamesMismatchErrorProps {
|
|
112
|
+
type: string;
|
|
113
|
+
message: string;
|
|
114
|
+
location: Location;
|
|
115
|
+
opening_tag: Token | null;
|
|
116
|
+
closing_tag: Token | null;
|
|
117
|
+
}
|
|
118
|
+
export declare class TagNamesMismatchError extends HerbError {
|
|
119
|
+
readonly opening_tag: Token | null;
|
|
120
|
+
readonly closing_tag: Token | null;
|
|
121
|
+
static from(data: SerializedTagNamesMismatchError): TagNamesMismatchError;
|
|
122
|
+
constructor(props: TagNamesMismatchErrorProps);
|
|
123
|
+
toJSON(): SerializedTagNamesMismatchError;
|
|
124
|
+
toDiagnostics(): HerbDiagnostic[];
|
|
125
|
+
treeInspect(): string;
|
|
126
|
+
}
|
|
127
|
+
export interface SerializedQuotesMismatchError {
|
|
128
|
+
type: "QUOTES_MISMATCH_ERROR";
|
|
129
|
+
message: string;
|
|
130
|
+
location: SerializedLocation;
|
|
131
|
+
opening_quote: SerializedToken | null;
|
|
132
|
+
closing_quote: SerializedToken | null;
|
|
133
|
+
}
|
|
134
|
+
export interface QuotesMismatchErrorProps {
|
|
135
|
+
type: string;
|
|
136
|
+
message: string;
|
|
137
|
+
location: Location;
|
|
138
|
+
opening_quote: Token | null;
|
|
139
|
+
closing_quote: Token | null;
|
|
140
|
+
}
|
|
141
|
+
export declare class QuotesMismatchError extends HerbError {
|
|
142
|
+
readonly opening_quote: Token | null;
|
|
143
|
+
readonly closing_quote: Token | null;
|
|
144
|
+
static from(data: SerializedQuotesMismatchError): QuotesMismatchError;
|
|
145
|
+
constructor(props: QuotesMismatchErrorProps);
|
|
146
|
+
toJSON(): SerializedQuotesMismatchError;
|
|
147
|
+
toDiagnostics(): HerbDiagnostic[];
|
|
148
|
+
treeInspect(): string;
|
|
149
|
+
}
|
|
150
|
+
export interface SerializedVoidElementClosingTagError {
|
|
151
|
+
type: "VOID_ELEMENT_CLOSING_TAG_ERROR";
|
|
152
|
+
message: string;
|
|
153
|
+
location: SerializedLocation;
|
|
154
|
+
tag_name: SerializedToken | null;
|
|
155
|
+
expected: string;
|
|
156
|
+
found: string;
|
|
157
|
+
}
|
|
158
|
+
export interface VoidElementClosingTagErrorProps {
|
|
159
|
+
type: string;
|
|
160
|
+
message: string;
|
|
161
|
+
location: Location;
|
|
162
|
+
tag_name: Token | null;
|
|
163
|
+
expected: string;
|
|
164
|
+
found: string;
|
|
165
|
+
}
|
|
166
|
+
export declare class VoidElementClosingTagError extends HerbError {
|
|
167
|
+
readonly tag_name: Token | null;
|
|
168
|
+
readonly expected: string;
|
|
169
|
+
readonly found: string;
|
|
170
|
+
static from(data: SerializedVoidElementClosingTagError): VoidElementClosingTagError;
|
|
171
|
+
constructor(props: VoidElementClosingTagErrorProps);
|
|
172
|
+
toJSON(): SerializedVoidElementClosingTagError;
|
|
173
|
+
toDiagnostics(): HerbDiagnostic[];
|
|
174
|
+
treeInspect(): string;
|
|
175
|
+
}
|
|
176
|
+
export interface SerializedUnclosedElementError {
|
|
177
|
+
type: "UNCLOSED_ELEMENT_ERROR";
|
|
178
|
+
message: string;
|
|
179
|
+
location: SerializedLocation;
|
|
180
|
+
opening_tag: SerializedToken | null;
|
|
181
|
+
}
|
|
182
|
+
export interface UnclosedElementErrorProps {
|
|
183
|
+
type: string;
|
|
184
|
+
message: string;
|
|
185
|
+
location: Location;
|
|
186
|
+
opening_tag: Token | null;
|
|
187
|
+
}
|
|
188
|
+
export declare class UnclosedElementError extends HerbError {
|
|
189
|
+
readonly opening_tag: Token | null;
|
|
190
|
+
static from(data: SerializedUnclosedElementError): UnclosedElementError;
|
|
191
|
+
constructor(props: UnclosedElementErrorProps);
|
|
192
|
+
toJSON(): SerializedUnclosedElementError;
|
|
193
|
+
toDiagnostics(): HerbDiagnostic[];
|
|
194
|
+
treeInspect(): string;
|
|
195
|
+
}
|
|
196
|
+
export interface SerializedRubyParseError {
|
|
197
|
+
type: "RUBY_PARSE_ERROR";
|
|
198
|
+
message: string;
|
|
199
|
+
location: SerializedLocation;
|
|
200
|
+
error_message: string;
|
|
201
|
+
diagnostic_id: string;
|
|
202
|
+
level: string;
|
|
203
|
+
}
|
|
204
|
+
export interface RubyParseErrorProps {
|
|
205
|
+
type: string;
|
|
206
|
+
message: string;
|
|
207
|
+
location: Location;
|
|
208
|
+
error_message: string;
|
|
209
|
+
diagnostic_id: string;
|
|
210
|
+
level: string;
|
|
211
|
+
}
|
|
212
|
+
export declare class RubyParseError extends HerbError {
|
|
213
|
+
readonly error_message: string;
|
|
214
|
+
readonly diagnostic_id: string;
|
|
215
|
+
readonly level: string;
|
|
216
|
+
static from(data: SerializedRubyParseError): RubyParseError;
|
|
217
|
+
constructor(props: RubyParseErrorProps);
|
|
218
|
+
toJSON(): SerializedRubyParseError;
|
|
219
|
+
toDiagnostics(): HerbDiagnostic[];
|
|
220
|
+
treeInspect(): string;
|
|
221
|
+
}
|
|
222
|
+
export {};
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { LexResult } from "./lex-result.js";
|
|
2
|
+
import { ParseResult } from "./parse-result.js";
|
|
3
|
+
import type { LibHerbBackend, BackendPromise } from "./backend.js";
|
|
4
|
+
/**
|
|
5
|
+
* The main Herb parser interface, providing methods to lex and parse input.
|
|
6
|
+
*/
|
|
7
|
+
export declare abstract class HerbBackend {
|
|
8
|
+
/** The backend instance handling lexing and parsing. */
|
|
9
|
+
backend: LibHerbBackend | undefined;
|
|
10
|
+
readonly backendPromise: BackendPromise;
|
|
11
|
+
/**
|
|
12
|
+
* Creates a new Herb instance.
|
|
13
|
+
* @param backendPromise - A promise resolving to a `LibHerbBackend` implementation for lexing and parsing.
|
|
14
|
+
* @throws Error if no valid backend is provided.
|
|
15
|
+
*/
|
|
16
|
+
constructor(backendPromise: BackendPromise);
|
|
17
|
+
/**
|
|
18
|
+
* Loads the backend by resolving the backend promise.
|
|
19
|
+
* @returns A promise containing the resolved `HerbBackend` instance after loading it.
|
|
20
|
+
*/
|
|
21
|
+
load(): Promise<HerbBackend>;
|
|
22
|
+
/**
|
|
23
|
+
* Lexes the given source string into a `LexResult`.
|
|
24
|
+
* @param source - The source code to lex.
|
|
25
|
+
* @returns A `LexResult` instance.
|
|
26
|
+
* @throws Error if the backend is not loaded.
|
|
27
|
+
*/
|
|
28
|
+
lex(source: string): LexResult;
|
|
29
|
+
/**
|
|
30
|
+
* Lexes a file.
|
|
31
|
+
* @param path - The file path to lex.
|
|
32
|
+
* @returns A `LexResult` instance.
|
|
33
|
+
* @throws Error if the backend is not loaded.
|
|
34
|
+
*/
|
|
35
|
+
lexFile(path: string): LexResult;
|
|
36
|
+
/**
|
|
37
|
+
* Parses the given source string into a `ParseResult`.
|
|
38
|
+
* @param source - The source code to parse.
|
|
39
|
+
* @returns A `ParseResult` instance.
|
|
40
|
+
* @throws Error if the backend is not loaded.
|
|
41
|
+
*/
|
|
42
|
+
parse(source: string): ParseResult;
|
|
43
|
+
/**
|
|
44
|
+
* Parses a file.
|
|
45
|
+
* @param path - The file path to parse.
|
|
46
|
+
* @returns A `ParseResult` instance.
|
|
47
|
+
* @throws Error if the backend is not loaded.
|
|
48
|
+
*/
|
|
49
|
+
parseFile(path: string): ParseResult;
|
|
50
|
+
/**
|
|
51
|
+
* Extracts embedded Ruby code from the given source.
|
|
52
|
+
* @param source - The source code to extract Ruby from.
|
|
53
|
+
* @returns The extracted Ruby code as a string.
|
|
54
|
+
* @throws Error if the backend is not loaded.
|
|
55
|
+
*/
|
|
56
|
+
extractRuby(source: string): string;
|
|
57
|
+
/**
|
|
58
|
+
* Extracts HTML from the given source.
|
|
59
|
+
* @param source - The source code to extract HTML from.
|
|
60
|
+
* @returns The extracted HTML as a string.
|
|
61
|
+
* @throws Error if the backend is not loaded.
|
|
62
|
+
*/
|
|
63
|
+
extractHTML(source: string): string;
|
|
64
|
+
/**
|
|
65
|
+
* Gets the Herb version information, including the core and backend versions.
|
|
66
|
+
* @returns A version string containing backend, core, and libherb versions.
|
|
67
|
+
* @throws Error if the backend is not loaded.
|
|
68
|
+
*/
|
|
69
|
+
get version(): string;
|
|
70
|
+
/**
|
|
71
|
+
* Ensures that the backend is loaded.
|
|
72
|
+
* @throws Error if the backend is not loaded.
|
|
73
|
+
*/
|
|
74
|
+
ensureBackend(): asserts this is {
|
|
75
|
+
backend: LibHerbBackend;
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Checks if the backend is loaded.
|
|
79
|
+
* @returns True if the backend is loaded, false otherwise.
|
|
80
|
+
*/
|
|
81
|
+
get isLoaded(): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Abstract method to get the backend version.
|
|
84
|
+
* @returns A string representing the backend version.
|
|
85
|
+
*/
|
|
86
|
+
abstract backendVersion(): string;
|
|
87
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export * from "./ast.js";
|
|
2
|
+
export * from "./backend.js";
|
|
3
|
+
export * from "./errors.js";
|
|
4
|
+
export * from "./herb-backend.js";
|
|
5
|
+
export * from "./lex-result.js";
|
|
6
|
+
export * from "./location.js";
|
|
7
|
+
export * from "./nodes.js";
|
|
8
|
+
export * from "./parse-result.js";
|
|
9
|
+
export * from "./position.js";
|
|
10
|
+
export * from "./range.js";
|
|
11
|
+
export * from "./result.js";
|
|
12
|
+
export * from "./token-list.js";
|
|
13
|
+
export * from "./token.js";
|
|
14
|
+
export * from "./util.js";
|
|
15
|
+
export * from "./visitor.js";
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Result } from "./result.js";
|
|
2
|
+
import { TokenList, SerializedTokenList } from "./token-list.js";
|
|
3
|
+
export type SerializedLexResult = {
|
|
4
|
+
tokens: SerializedTokenList;
|
|
5
|
+
source: string;
|
|
6
|
+
warnings: any[];
|
|
7
|
+
errors: any[];
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Represents the result of a lexical analysis, extending the base `Result` class.
|
|
11
|
+
* It contains the token list, source code, warnings, and errors.
|
|
12
|
+
*/
|
|
13
|
+
export declare class LexResult extends Result {
|
|
14
|
+
/** The list of tokens generated from the source code. */
|
|
15
|
+
readonly value: TokenList;
|
|
16
|
+
/**
|
|
17
|
+
* Creates a `LexResult` instance from a serialized result.
|
|
18
|
+
* @param result - The serialized lexical result containing tokens, source, warnings, and errors.
|
|
19
|
+
* @returns A new `LexResult` instance.
|
|
20
|
+
*/
|
|
21
|
+
static from(result: SerializedLexResult): LexResult;
|
|
22
|
+
/**
|
|
23
|
+
* Constructs a new `LexResult`.
|
|
24
|
+
* @param value - The list of tokens.
|
|
25
|
+
* @param source - The source code that was lexed.
|
|
26
|
+
* @param warnings - An array of warnings encountered during lexing.
|
|
27
|
+
* @param errors - An array of errors encountered during lexing.
|
|
28
|
+
*/
|
|
29
|
+
constructor(value: TokenList, source: string, warnings?: any[], errors?: any[]);
|
|
30
|
+
/**
|
|
31
|
+
* Determines if the lexing was successful.
|
|
32
|
+
* @returns `true` if there are no errors, otherwise `false`.
|
|
33
|
+
*/
|
|
34
|
+
success(): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Determines if the lexing failed.
|
|
37
|
+
* @returns `true` if there are errors, otherwise `false`.
|
|
38
|
+
*/
|
|
39
|
+
failed(): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Converts the `LexResult` to a JSON representation.
|
|
42
|
+
* @returns An object containing the token list, source, warnings, and errors.
|
|
43
|
+
*/
|
|
44
|
+
toJSON(): {
|
|
45
|
+
value: TokenList;
|
|
46
|
+
source: string;
|
|
47
|
+
warnings: import("./warning.js").HerbWarning[];
|
|
48
|
+
errors: import("./error.js").HerbError[];
|
|
49
|
+
};
|
|
50
|
+
}
|