yini-parser 1.1.0-beta → 1.2.0-beta
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 +23 -1
- package/dist/YINI.d.ts +143 -27
- package/dist/YINI.js +145 -174
- package/dist/YINI.js.map +1 -0
- package/dist/config/env.js +1 -0
- package/dist/config/env.js.map +1 -0
- package/dist/core/{ASTBuilder.d.ts → astBuilder.d.ts} +4 -4
- package/dist/core/{ASTBuilder.js → astBuilder.js} +81 -68
- package/dist/core/astBuilder.js.map +1 -0
- package/dist/core/{ErrorDataHandler.d.ts → errorDataHandler.d.ts} +9 -7
- package/dist/core/{ErrorDataHandler.js → errorDataHandler.js} +21 -61
- package/dist/core/errorDataHandler.js.map +1 -0
- package/dist/core/internalTypes.d.ts +121 -0
- package/dist/core/{types.js → internalTypes.js} +6 -0
- package/dist/core/internalTypes.js.map +1 -0
- package/dist/core/objectBuilder.d.ts +2 -2
- package/dist/core/objectBuilder.js +1 -0
- package/dist/core/objectBuilder.js.map +1 -0
- package/dist/core/options/failLevel.d.ts +3 -0
- package/dist/core/options/failLevel.js +27 -0
- package/dist/core/options/failLevel.js.map +1 -0
- package/dist/core/options/normalizeOptions.d.ts +5 -0
- package/dist/core/options/normalizeOptions.js +53 -0
- package/dist/core/options/normalizeOptions.js.map +1 -0
- package/dist/core/options/parserOptionsConstants.d.ts +7 -0
- package/dist/core/options/parserOptionsConstants.js +37 -0
- package/dist/core/options/parserOptionsConstants.js.map +1 -0
- package/dist/core/pipeline.d.ts +18 -0
- package/dist/{parseEntry.js → core/pipeline.js} +82 -215
- package/dist/core/pipeline.js.map +1 -0
- package/dist/core/resultMetadataBuilder.d.ts +19 -0
- package/dist/core/resultMetadataBuilder.js +166 -0
- package/dist/core/resultMetadataBuilder.js.map +1 -0
- package/dist/core/runtime.d.ts +17 -0
- package/dist/core/runtime.js +189 -0
- package/dist/core/runtime.js.map +1 -0
- package/dist/dev/main.d.ts +1 -0
- package/dist/dev/main.js +374 -0
- package/dist/dev/main.js.map +1 -0
- package/dist/grammar/{YiniLexer.js → generated/YiniLexer.js} +1 -0
- package/dist/grammar/generated/YiniLexer.js.map +1 -0
- package/dist/grammar/{YiniParser.js → generated/YiniParser.js} +1 -0
- package/dist/grammar/generated/YiniParser.js.map +1 -0
- package/dist/grammar/{YiniParserVisitor.js → generated/YiniParserVisitor.js} +1 -0
- package/dist/grammar/generated/YiniParserVisitor.js.map +1 -0
- package/dist/index.d.ts +40 -1
- package/dist/index.js +60 -359
- package/dist/index.js.map +1 -0
- package/dist/parsers/extractHeaderParts.d.ts +2 -2
- package/dist/parsers/extractHeaderParts.js +2 -1
- package/dist/parsers/extractHeaderParts.js.map +1 -0
- package/dist/parsers/extractSignificantYiniLine.js +2 -1
- package/dist/parsers/extractSignificantYiniLine.js.map +1 -0
- package/dist/parsers/parseBoolean.js +1 -0
- package/dist/parsers/parseBoolean.js.map +1 -0
- package/dist/parsers/parseNull.js +1 -0
- package/dist/parsers/parseNull.js.map +1 -0
- package/dist/parsers/parseNumber.js +1 -0
- package/dist/parsers/parseNumber.js.map +1 -0
- package/dist/parsers/parseSectionHeader.d.ts +3 -3
- package/dist/parsers/parseSectionHeader.js +2 -1
- package/dist/parsers/parseSectionHeader.js.map +1 -0
- package/dist/parsers/parseString.js +3 -3
- package/dist/parsers/parseString.js.map +1 -0
- package/dist/types/index.d.ts +198 -0
- package/dist/types/index.js +4 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/number.js +1 -0
- package/dist/utils/number.js.map +1 -0
- package/dist/utils/object.d.ts +12 -0
- package/dist/utils/object.js +41 -1
- package/dist/utils/object.js.map +1 -0
- package/dist/utils/pathAndFileName.js +1 -0
- package/dist/utils/pathAndFileName.js.map +1 -0
- package/dist/utils/print.d.ts +2 -2
- package/dist/utils/print.js +11 -6
- package/dist/utils/print.js.map +1 -0
- package/dist/utils/string.d.ts +5 -0
- package/dist/utils/string.js +10 -1
- package/dist/utils/string.js.map +1 -0
- package/dist/utils/system.js +1 -0
- package/dist/utils/system.js.map +1 -0
- package/dist/{yiniHelpers.d.ts → utils/yiniHelpers.d.ts} +1 -1
- package/dist/{yiniHelpers.js → utils/yiniHelpers.js} +3 -2
- package/dist/utils/yiniHelpers.js.map +1 -0
- package/package.json +7 -5
- package/dist/core/types.d.ts +0 -249
- package/dist/parseEntry.d.ts +0 -3
- /package/dist/grammar/{YiniLexer.d.ts → generated/YiniLexer.d.ts} +0 -0
- /package/dist/grammar/{YiniParser.d.ts → generated/YiniParser.d.ts} +0 -0
- /package/dist/grammar/{YiniParserVisitor.d.ts → generated/YiniParserVisitor.d.ts} +0 -0
|
@@ -28,7 +28,7 @@ class ErrorDataHandler {
|
|
|
28
28
|
- Level 1 = abort on errors only
|
|
29
29
|
- Level 2 = abort even on warnings
|
|
30
30
|
*/
|
|
31
|
-
constructor(subjectType,
|
|
31
|
+
constructor(subjectType, fileName = undefined, bailSensitivityLevel = '1-Abort-on-Errors', isAvoidWarningsInConsole = false) {
|
|
32
32
|
this.errors = [];
|
|
33
33
|
this.warnings = [];
|
|
34
34
|
this.notices = [];
|
|
@@ -40,8 +40,9 @@ class ErrorDataHandler {
|
|
|
40
40
|
this.numNotices = 0;
|
|
41
41
|
this.numInfos = 0;
|
|
42
42
|
this.subjectType = subjectType;
|
|
43
|
-
this.persistThreshold = threshold;
|
|
44
43
|
this.fileName = fileName;
|
|
44
|
+
this.persistThreshold = bailSensitivityLevel;
|
|
45
|
+
this.isAvoidWarningsInConsole = isAvoidWarningsInConsole;
|
|
45
46
|
}
|
|
46
47
|
makeIssue(line, column, type, message, advice = undefined, hint = undefined) {
|
|
47
48
|
const issue = {
|
|
@@ -70,36 +71,29 @@ class ErrorDataHandler {
|
|
|
70
71
|
* @param msgHint Hint or HUMBLE description on how to fix the issue.
|
|
71
72
|
*/
|
|
72
73
|
pushOrBail(ctx, type, msgWhat, msgWhy = '', msgHint = '') {
|
|
73
|
-
var _a, _b, _c, _d, _e, _f;
|
|
74
74
|
(0, print_1.debugPrint)('-> pushOrBail(..)');
|
|
75
|
-
(0, print_1.debugPrint)('ctx.exception?.name =' +
|
|
76
|
-
(0, print_1.debugPrint)('ctx.exception?.message = ' +
|
|
77
|
-
(0, print_1.debugPrint)('exception?.offendingToken = ' +
|
|
75
|
+
(0, print_1.debugPrint)('ctx.exception?.name =' + ctx?.exception?.name);
|
|
76
|
+
(0, print_1.debugPrint)('ctx.exception?.message = ' + ctx?.exception?.message);
|
|
77
|
+
(0, print_1.debugPrint)('exception?.offendingToken = ' + ctx?.exception?.offendingToken);
|
|
78
78
|
(0, print_1.debugPrint)();
|
|
79
|
-
(0, print_1.debugPrint)('ctx.ruleIndex = ' +
|
|
80
|
-
(0, print_1.debugPrint)('ctx.ruleIndex = ' +
|
|
81
|
-
(0, print_1.debugPrint)('ctx.ruleContext = ' +
|
|
82
|
-
(0, print_1.debugPrint)('ctx.stop?.line = ' +
|
|
83
|
-
(0, print_1.debugPrint)('ctx.stop?.column = ' +
|
|
84
|
-
const lineNum =
|
|
85
|
-
// const startCol = !ctx ? 0 : ++ctx.start.column // Column (0-based).
|
|
79
|
+
(0, print_1.debugPrint)('ctx.ruleIndex = ' + ctx?.start.channel);
|
|
80
|
+
(0, print_1.debugPrint)('ctx.ruleIndex = ' + ctx?.ruleIndex);
|
|
81
|
+
(0, print_1.debugPrint)('ctx.ruleContext = ' + ctx?.ruleContext);
|
|
82
|
+
(0, print_1.debugPrint)('ctx.stop?.line = ' + ctx?.stop?.line);
|
|
83
|
+
(0, print_1.debugPrint)('ctx.stop?.column = ' + ctx?.stop?.column);
|
|
84
|
+
const lineNum = ctx?.start.line || undefined; // Line (1-based).
|
|
86
85
|
const startCol = !ctx
|
|
87
86
|
? undefined
|
|
88
87
|
: ++ctx.start.column; // Column (0-based).
|
|
89
|
-
|
|
90
|
-
const endCol = !!((_f = ctx === null || ctx === void 0 ? void 0 : ctx.stop) === null || _f === void 0 ? void 0 : _f.column)
|
|
88
|
+
const endCol = !!ctx?.stop?.column
|
|
91
89
|
? ++ctx.stop.column
|
|
92
90
|
: undefined; // Note: Column (0-based).
|
|
93
91
|
let colNum = startCol || endCol;
|
|
94
|
-
// if (colNum === 0) {
|
|
95
|
-
// colNum = undefined
|
|
96
|
-
// }
|
|
97
92
|
let msgWhatWithLineNum = msgWhat;
|
|
98
93
|
if (lineNum && lineNum > 0) {
|
|
99
94
|
//@todo func that removes possible . at end
|
|
100
95
|
//msgWhatWithLineNum =
|
|
101
96
|
// Patch message with the offending line number.
|
|
102
|
-
// msgWhatWithLineNum += ', at line: ' + lineNum
|
|
103
97
|
msgWhatWithLineNum += ' at line ' + lineNum;
|
|
104
98
|
if (colNum) {
|
|
105
99
|
msgWhatWithLineNum += ', column ' + colNum;
|
|
@@ -127,12 +121,8 @@ class ErrorDataHandler {
|
|
|
127
121
|
console.log(); // Emit an empty line before outputting message.
|
|
128
122
|
if (this.persistThreshold === '1-Abort-on-Errors' ||
|
|
129
123
|
this.persistThreshold === '2-Abort-Even-on-Warnings') {
|
|
130
|
-
// if (process.env.NODE_ENV === 'test') {
|
|
131
124
|
// In test, throw an error instead of exiting.
|
|
132
125
|
throw new Error(`Internal-Error: ${msgWhat}`);
|
|
133
|
-
// } else {
|
|
134
|
-
// process.exit(2)
|
|
135
|
-
// }
|
|
136
126
|
}
|
|
137
127
|
break;
|
|
138
128
|
case 'Syntax-Error':
|
|
@@ -142,26 +132,20 @@ class ErrorDataHandler {
|
|
|
142
132
|
console.log(); // Emit an empty line before outputting message.
|
|
143
133
|
if (this.persistThreshold === '1-Abort-on-Errors' ||
|
|
144
134
|
this.persistThreshold === '2-Abort-Even-on-Warnings') {
|
|
145
|
-
// if (process.env.NODE_ENV === 'test') {
|
|
146
135
|
// In test, throw an error instead of exiting.
|
|
147
136
|
throw new Error(`Syntax-Error: ${'' + msgWhat}`);
|
|
148
|
-
// } else {
|
|
149
|
-
// process.exit(3)
|
|
150
|
-
// }
|
|
151
137
|
}
|
|
152
138
|
break;
|
|
153
139
|
case 'Syntax-Warning':
|
|
154
140
|
this.numSyntaxWarnings++;
|
|
155
141
|
this.warnings.push(this.makeIssue(lineNum, colNum, type, msgWhat, msgWhy, msgHint));
|
|
156
|
-
this.
|
|
157
|
-
|
|
142
|
+
if (!this.isAvoidWarningsInConsole) {
|
|
143
|
+
this.emitSyntaxWarning(loc, msgWhatWithLineNum, msgWhy, msgHint);
|
|
144
|
+
console.log(); // Emit an empty line before outputting message.
|
|
145
|
+
}
|
|
158
146
|
if (this.persistThreshold === '2-Abort-Even-on-Warnings') {
|
|
159
|
-
// if (process.env.NODE_ENV === 'test') {
|
|
160
147
|
// In test, throw an error instead of exiting.
|
|
161
148
|
throw new Error(`Syntax-Warning: ${msgWhat}`);
|
|
162
|
-
// } else {
|
|
163
|
-
// process.exit(4)
|
|
164
|
-
// }
|
|
165
149
|
}
|
|
166
150
|
break;
|
|
167
151
|
case 'Notice':
|
|
@@ -182,22 +166,11 @@ class ErrorDataHandler {
|
|
|
182
166
|
this.emitFatalError(loc, msgWhatWithLineNum, msgWhy, msgHint);
|
|
183
167
|
console.log(); // Emit an empty line before outputting message.
|
|
184
168
|
// CANNOT recover fatal errors, will lead to an exit!
|
|
185
|
-
// if (process.env.NODE_ENV === 'test') {
|
|
186
169
|
// In test, throw an error instead of exiting.
|
|
187
170
|
throw new Error(`Internal-Error: ${msgWhat}`);
|
|
188
|
-
// } else {
|
|
189
|
-
// process.exit(1)
|
|
190
|
-
// (!) Not sure about the below yet, if it's preferable in this case...
|
|
191
|
-
// Use this instead of process.exit(1), this will
|
|
192
|
-
// lead to that the current thread(s) will exit as well.
|
|
193
|
-
// process.exitCode = 1
|
|
194
|
-
// }
|
|
195
171
|
}
|
|
196
172
|
}
|
|
197
173
|
formatSignificantMessageLine(loc, issueTitle) {
|
|
198
|
-
// if (this.subjectType === 'None/Ignore') {
|
|
199
|
-
// return issueTitle
|
|
200
|
-
// }
|
|
201
174
|
switch (this.subjectType) {
|
|
202
175
|
case 'None/Ignore':
|
|
203
176
|
return issueTitle;
|
|
@@ -208,21 +181,13 @@ class ErrorDataHandler {
|
|
|
208
181
|
let line = `${titlePart} in `;
|
|
209
182
|
if (this.subjectType === 'Inline') {
|
|
210
183
|
line += 'inline YINI content';
|
|
211
|
-
// if (loc?.lineNum) {
|
|
212
|
-
// line += `, ${loc.lineNum}`
|
|
213
|
-
// if (loc?.colNum) line += `:${loc.colNum}`
|
|
214
|
-
// }
|
|
215
184
|
}
|
|
216
185
|
else {
|
|
217
|
-
line +=
|
|
218
|
-
// if (loc?.lineNum) {
|
|
219
|
-
// line += `:${loc.lineNum}`
|
|
220
|
-
// if (loc?.colNum) line += `:${loc.colNum}`
|
|
221
|
-
// }
|
|
186
|
+
line += `${this.fileName}`;
|
|
222
187
|
}
|
|
223
|
-
if (loc
|
|
188
|
+
if (loc?.lineNum) {
|
|
224
189
|
line += `:${loc.lineNum}`;
|
|
225
|
-
if (loc
|
|
190
|
+
if (loc?.colNum)
|
|
226
191
|
line += `:${loc.colNum}`;
|
|
227
192
|
}
|
|
228
193
|
return line;
|
|
@@ -230,7 +195,6 @@ class ErrorDataHandler {
|
|
|
230
195
|
}
|
|
231
196
|
}
|
|
232
197
|
emitFatalError(loc, msgWhat = 'Something went wrong!', msgWhy = '', msgHint = '') {
|
|
233
|
-
// console.error(issueTitle[0]) // Print the issue title.
|
|
234
198
|
const messageHeader = this.formatSignificantMessageLine(loc, issueTitle[0]);
|
|
235
199
|
console.error(messageHeader); // Print the issue title.
|
|
236
200
|
msgWhat && console.log(msgWhat);
|
|
@@ -238,7 +202,6 @@ class ErrorDataHandler {
|
|
|
238
202
|
msgHint && console.log(msgHint);
|
|
239
203
|
}
|
|
240
204
|
emitInternalError(loc, msgWhat = 'Something went wrong!', msgWhy = '', msgHint = '') {
|
|
241
|
-
// console.error(issueTitle[1]) // Print the issue title.
|
|
242
205
|
const messageHeader = this.formatSignificantMessageLine(loc, issueTitle[1]);
|
|
243
206
|
console.error(messageHeader); // Print the issue title.
|
|
244
207
|
msgWhat && console.log(msgWhat);
|
|
@@ -246,7 +209,6 @@ class ErrorDataHandler {
|
|
|
246
209
|
msgHint && console.log(msgHint);
|
|
247
210
|
}
|
|
248
211
|
emitSyntaxError(loc, msgWhat, msgWhy = '', msgHint = '') {
|
|
249
|
-
// console.error(issueTitle[2]) // Print the issue title.
|
|
250
212
|
const messageHeader = this.formatSignificantMessageLine(loc, issueTitle[2]);
|
|
251
213
|
console.error(messageHeader); // Print the issue title.
|
|
252
214
|
msgWhat && console.log(msgWhat);
|
|
@@ -254,7 +216,6 @@ class ErrorDataHandler {
|
|
|
254
216
|
msgHint && console.log(msgHint);
|
|
255
217
|
}
|
|
256
218
|
emitSyntaxWarning(loc, msgWhat, msgWhy = '', msgHint = '') {
|
|
257
|
-
// console.warn(issueTitle[3]) // Print the issue title.
|
|
258
219
|
const messageHeader = this.formatSignificantMessageLine(loc, issueTitle[3]);
|
|
259
220
|
console.warn(messageHeader); // Print the issue title.
|
|
260
221
|
msgWhat && console.log(msgWhat);
|
|
@@ -262,7 +223,6 @@ class ErrorDataHandler {
|
|
|
262
223
|
msgHint && console.log(msgHint);
|
|
263
224
|
}
|
|
264
225
|
emitNotice(loc, msgWhat, msgWhy = '', msgHint = '') {
|
|
265
|
-
// console.warn(issueTitle[4]) // Print the issue title.
|
|
266
226
|
const messageHeader = this.formatSignificantMessageLine(loc, issueTitle[4]);
|
|
267
227
|
console.warn(messageHeader); // Print the issue title.
|
|
268
228
|
msgWhat && console.log(msgWhat);
|
|
@@ -270,7 +230,6 @@ class ErrorDataHandler {
|
|
|
270
230
|
msgHint && console.log(msgHint);
|
|
271
231
|
}
|
|
272
232
|
emitInfo(loc, msgWhat, msgWhy = '', msgHint = '') {
|
|
273
|
-
// console.info(issueTitle[5]) // Print the issue title.
|
|
274
233
|
const messageHeader = this.formatSignificantMessageLine(loc, issueTitle[5]);
|
|
275
234
|
console.info(messageHeader); // Print the issue title.
|
|
276
235
|
msgWhat && console.log(msgWhat);
|
|
@@ -309,3 +268,4 @@ class ErrorDataHandler {
|
|
|
309
268
|
}
|
|
310
269
|
}
|
|
311
270
|
exports.ErrorDataHandler = ErrorDataHandler;
|
|
271
|
+
//# sourceMappingURL=errorDataHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errorDataHandler.js","sourceRoot":"","sources":["../../src/core/errorDataHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal types ONLY, public (user-facing) type should go into src/types/index.ts.
|
|
3
|
+
*
|
|
4
|
+
* @note
|
|
5
|
+
* The use of null vs undefined
|
|
6
|
+
* ----------------------------
|
|
7
|
+
* The convention here (in this file) is:
|
|
8
|
+
* - undefined is used where a value is missing, or does not apply.
|
|
9
|
+
* - null is used where a value is missing or has not yet been computed.
|
|
10
|
+
*
|
|
11
|
+
* @note All names of **internal** types and interfaces (shapes) must be
|
|
12
|
+
* prefixed with `T` or `I`.
|
|
13
|
+
*/
|
|
14
|
+
import { OnDuplicateKey, PreferredFailLevel } from '../types';
|
|
15
|
+
export type TParserMode = 'lenient' | 'strict';
|
|
16
|
+
export type TSourceType = 'File' | 'Inline';
|
|
17
|
+
export type TSubjectType = 'None/Ignore' | TSourceType;
|
|
18
|
+
export type TBailSensitivityLevel = '0-Ignore-Errors' | '1-Abort-on-Errors' | '2-Abort-Even-on-Warnings';
|
|
19
|
+
/**
|
|
20
|
+
* Scalar literal, a single, indivisible piece of data:
|
|
21
|
+
* string, number, boolean, and null.
|
|
22
|
+
* @property {string | undefined} [tag]
|
|
23
|
+
* Its contents may change at any time and should not
|
|
24
|
+
* be relied upon for any significant purpose.
|
|
25
|
+
* @note Undefined is included here despite that JSON cannot represent
|
|
26
|
+
* it (undefined), but JS objects can (it's sometimes useful in
|
|
27
|
+
* debugging etc), it will later get stripped if converted into JSON.
|
|
28
|
+
*/
|
|
29
|
+
export type TScalarValue = {
|
|
30
|
+
type: 'String';
|
|
31
|
+
value: string;
|
|
32
|
+
tag: string | undefined;
|
|
33
|
+
} | {
|
|
34
|
+
type: 'Number';
|
|
35
|
+
value: number;
|
|
36
|
+
tag: string | undefined;
|
|
37
|
+
} | {
|
|
38
|
+
type: 'Boolean';
|
|
39
|
+
value: boolean;
|
|
40
|
+
tag: string | undefined;
|
|
41
|
+
} | {
|
|
42
|
+
type: 'Null';
|
|
43
|
+
value: null;
|
|
44
|
+
tag: string | undefined;
|
|
45
|
+
} | {
|
|
46
|
+
type: 'Undefined';
|
|
47
|
+
value: undefined;
|
|
48
|
+
tag: string | undefined;
|
|
49
|
+
};
|
|
50
|
+
/** Any literal value in YINI: scalar, list, or object. */
|
|
51
|
+
export type TValueLiteral = TScalarValue | TListValue | TObjectValue;
|
|
52
|
+
/**
|
|
53
|
+
* @property {string | undefined} [tag]
|
|
54
|
+
* Debugging only. Its contents may change at any time and
|
|
55
|
+
* must not be relied upon for any functional purpose.
|
|
56
|
+
*/
|
|
57
|
+
export type TListValue = {
|
|
58
|
+
type: 'List';
|
|
59
|
+
elems: readonly TValueLiteral[];
|
|
60
|
+
tag: string | undefined;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* @property {string | undefined} [tag]
|
|
64
|
+
* Debugging only. Its contents may change at any time and
|
|
65
|
+
* must not be relied upon for any functional purpose.
|
|
66
|
+
*/
|
|
67
|
+
export type TObjectValue = {
|
|
68
|
+
type: 'Object';
|
|
69
|
+
entries: Readonly<Record<string, TValueLiteral>>;
|
|
70
|
+
tag: string | undefined;
|
|
71
|
+
};
|
|
72
|
+
export type TSectionHeaderType = undefined | 'Classic-Header-Marker' | 'Numeric-Header-Marker';
|
|
73
|
+
export type TIssueType = 'Fatal-Error' | 'Internal-Error' | 'Syntax-Error' | 'Syntax-Warning' | 'Notice' | 'Info';
|
|
74
|
+
interface IMetaBaseInfo {
|
|
75
|
+
sourceType: TSourceType;
|
|
76
|
+
fileName: string | undefined;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Internal runtime info / meta data.
|
|
80
|
+
* @note Used for internal diagnostics, bookkeeping, state, etc.
|
|
81
|
+
*/
|
|
82
|
+
export interface IRuntimeInfo extends IMetaBaseInfo {
|
|
83
|
+
lineCount: number | null;
|
|
84
|
+
fileByteSize: number | null;
|
|
85
|
+
timeIoMs: number | null;
|
|
86
|
+
preferredBailSensitivity: null | PreferredFailLevel;
|
|
87
|
+
sha256: string | null;
|
|
88
|
+
}
|
|
89
|
+
export interface IParseCoreOptions {
|
|
90
|
+
isStrict: boolean;
|
|
91
|
+
bailSensitivity: TBailSensitivityLevel;
|
|
92
|
+
isIncludeMeta: boolean;
|
|
93
|
+
isWithDiagnostics: boolean;
|
|
94
|
+
isWithTiming: boolean;
|
|
95
|
+
isKeepUndefinedInMeta: boolean;
|
|
96
|
+
isAvoidWarningsInConsole: boolean;
|
|
97
|
+
requireDocTerminator: 'optional' | 'warn-if-missing' | 'required';
|
|
98
|
+
treatEmptyValueAsNull: 'allow' | 'allow-with-warning' | 'disallow';
|
|
99
|
+
onDuplicateKey: OnDuplicateKey;
|
|
100
|
+
}
|
|
101
|
+
export interface IYiniAST extends IMetaBaseInfo {
|
|
102
|
+
root: IYiniSection;
|
|
103
|
+
isStrict: boolean;
|
|
104
|
+
terminatorSeen: boolean;
|
|
105
|
+
yiniMarkerSeen: boolean;
|
|
106
|
+
maxDepth: number | null;
|
|
107
|
+
numOfSections: number;
|
|
108
|
+
numOfMembers: number;
|
|
109
|
+
sectionNamePaths: string[] | null;
|
|
110
|
+
}
|
|
111
|
+
export interface IYiniSection {
|
|
112
|
+
sectionName: string;
|
|
113
|
+
level: number;
|
|
114
|
+
members: Map<string, TValueLiteral>;
|
|
115
|
+
children: IYiniSection[];
|
|
116
|
+
}
|
|
117
|
+
export interface IBuildOptions {
|
|
118
|
+
mode?: 'lenient' | 'strict';
|
|
119
|
+
onDuplicateKey?: OnDuplicateKey;
|
|
120
|
+
}
|
|
121
|
+
export {};
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
+
* Internal types ONLY, public (user-facing) type should go into src/types/index.ts.
|
|
4
|
+
*
|
|
3
5
|
* @note
|
|
4
6
|
* The use of null vs undefined
|
|
5
7
|
* ----------------------------
|
|
6
8
|
* The convention here (in this file) is:
|
|
7
9
|
* - undefined is used where a value is missing, or does not apply.
|
|
8
10
|
* - null is used where a value is missing or has not yet been computed.
|
|
11
|
+
*
|
|
12
|
+
* @note All names of **internal** types and interfaces (shapes) must be
|
|
13
|
+
* prefixed with `T` or `I`.
|
|
9
14
|
*/
|
|
10
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
//# sourceMappingURL=internalTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internalTypes.js","sourceRoot":"","sources":["../../src/core/internalTypes.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { ErrorDataHandler } from './errorDataHandler';
|
|
2
|
+
import { IYiniAST } from './internalTypes';
|
|
3
3
|
/**
|
|
4
4
|
* Construct the final JavaScript Object.
|
|
5
5
|
* Transforms the AST to the plain JS object.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objectBuilder.js","sourceRoot":"","sources":["../../src/core/objectBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mapFailLevelToBail = mapFailLevelToBail;
|
|
4
|
+
function mapFailLevelToBail(isStrict, failLevel) {
|
|
5
|
+
let bailLevel = '0-Ignore-Errors';
|
|
6
|
+
if (failLevel === 'auto') {
|
|
7
|
+
if (!isStrict)
|
|
8
|
+
bailLevel = '0-Ignore-Errors';
|
|
9
|
+
if (isStrict)
|
|
10
|
+
bailLevel = '1-Abort-on-Errors';
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
switch (failLevel) {
|
|
14
|
+
case 'ignore-errors':
|
|
15
|
+
bailLevel = '0-Ignore-Errors';
|
|
16
|
+
break;
|
|
17
|
+
case 'errors':
|
|
18
|
+
bailLevel = '1-Abort-on-Errors';
|
|
19
|
+
break;
|
|
20
|
+
case 'warnings-and-errors':
|
|
21
|
+
bailLevel = '2-Abort-Even-on-Warnings';
|
|
22
|
+
break;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return bailLevel;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=failLevel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"failLevel.js","sourceRoot":"","sources":["../../../src/core/options/failLevel.ts"],"names":[],"mappings":";;AAKA,gDAwBC;AAxBD,SAAgB,kBAAkB,CAC9B,QAAiB,EACjB,SAA6B;IAE7B,IAAI,SAAS,GAA0B,iBAAiB,CAAA;IAExD,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ;YAAE,SAAS,GAAG,iBAAiB,CAAA;QAC5C,IAAI,QAAQ;YAAE,SAAS,GAAG,mBAAmB,CAAA;IACjD,CAAC;SAAM,CAAC;QACJ,QAAQ,SAAS,EAAE,CAAC;YAChB,KAAK,eAAe;gBAChB,SAAS,GAAG,iBAAiB,CAAA;gBAC7B,MAAK;YACT,KAAK,QAAQ;gBACT,SAAS,GAAG,mBAAmB,CAAA;gBAC/B,MAAK;YACT,KAAK,qBAAqB;gBACtB,SAAS,GAAG,0BAA0B,CAAA;gBACtC,MAAK;QACb,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAA;AACpB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { AllUserOptions } from '../../types';
|
|
2
|
+
import { IParseCoreOptions, TBailSensitivityLevel, TParserMode } from '../internalTypes';
|
|
3
|
+
export declare const toCoreOptions: (bailLevel: TBailSensitivityLevel, userOpts: Required<AllUserOptions>) => IParseCoreOptions;
|
|
4
|
+
export declare const isOptionsObjectForm: (v: unknown) => v is AllUserOptions;
|
|
5
|
+
export declare const inferModeFromArgs: (arg2?: boolean | AllUserOptions) => TParserMode;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.inferModeFromArgs = exports.isOptionsObjectForm = exports.toCoreOptions = void 0;
|
|
4
|
+
const env_1 = require("../../config/env");
|
|
5
|
+
const toCoreOptions = (bailLevel, userOpts) => {
|
|
6
|
+
return {
|
|
7
|
+
isStrict: userOpts.strictMode,
|
|
8
|
+
bailSensitivity: bailLevel,
|
|
9
|
+
isIncludeMeta: userOpts.includeMetadata,
|
|
10
|
+
isWithDiagnostics: (0, env_1.isDev)() || (0, env_1.isDebug)() || userOpts.includeDiagnostics,
|
|
11
|
+
isWithTiming: (0, env_1.isDev)() || (0, env_1.isDebug)() || userOpts.includeTiming,
|
|
12
|
+
isKeepUndefinedInMeta: (0, env_1.isDebug)() || userOpts.preserveUndefinedInMeta,
|
|
13
|
+
isAvoidWarningsInConsole: userOpts.suppressWarnings,
|
|
14
|
+
requireDocTerminator: userOpts.requireDocTerminator,
|
|
15
|
+
treatEmptyValueAsNull: userOpts.treatEmptyValueAsNull,
|
|
16
|
+
onDuplicateKey: userOpts.onDuplicateKey,
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
exports.toCoreOptions = toCoreOptions;
|
|
20
|
+
// Type guard: did the caller use the options-object form?
|
|
21
|
+
const isOptionsObjectForm = (v) => {
|
|
22
|
+
return (v != null &&
|
|
23
|
+
typeof v === 'object' &&
|
|
24
|
+
// Note: If one wants, this can be relax to "typeof v === 'object'"
|
|
25
|
+
// but this keeps accidental booleans/strings out.
|
|
26
|
+
('strictMode' in v ||
|
|
27
|
+
'failLevel' in v ||
|
|
28
|
+
'includeMetadata' in v ||
|
|
29
|
+
'includeDiagnostics' in v ||
|
|
30
|
+
'includeTiming' in v ||
|
|
31
|
+
'preserveUndefinedInMeta' in v ||
|
|
32
|
+
'suppressWarnings' in v ||
|
|
33
|
+
'requireDocTerminator' in v ||
|
|
34
|
+
'treatEmptyValueAsNull' in v ||
|
|
35
|
+
'onDuplicateKey' in v));
|
|
36
|
+
};
|
|
37
|
+
exports.isOptionsObjectForm = isOptionsObjectForm;
|
|
38
|
+
// const mode: TParserMode =
|
|
39
|
+
// ((arg2 as any)?.strictMode ?? (arg2 as boolean | undefined)) ===
|
|
40
|
+
const inferModeFromArgs = (arg2) => {
|
|
41
|
+
if (typeof arg2 === 'boolean') {
|
|
42
|
+
return arg2 ? 'strict' : 'lenient';
|
|
43
|
+
}
|
|
44
|
+
if (arg2 && typeof arg2 === 'object') {
|
|
45
|
+
const sm = arg2.strictMode;
|
|
46
|
+
if (typeof sm === 'boolean') {
|
|
47
|
+
return sm ? 'strict' : 'lenient';
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return 'lenient';
|
|
51
|
+
};
|
|
52
|
+
exports.inferModeFromArgs = inferModeFromArgs;
|
|
53
|
+
//# sourceMappingURL=normalizeOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeOptions.js","sourceRoot":"","sources":["../../../src/core/options/normalizeOptions.ts"],"names":[],"mappings":";;;AAAA,0CAAiD;AAQ1C,MAAM,aAAa,GAAG,CACzB,SAAgC,EAChC,QAAkC,EACjB,EAAE;IACnB,OAAO;QACH,QAAQ,EAAE,QAAQ,CAAC,UAAU;QAC7B,eAAe,EAAE,SAAS;QAC1B,aAAa,EAAE,QAAQ,CAAC,eAAe;QACvC,iBAAiB,EAAE,IAAA,WAAK,GAAE,IAAI,IAAA,aAAO,GAAE,IAAI,QAAQ,CAAC,kBAAkB;QACtE,YAAY,EAAE,IAAA,WAAK,GAAE,IAAI,IAAA,aAAO,GAAE,IAAI,QAAQ,CAAC,aAAa;QAC5D,qBAAqB,EAAE,IAAA,aAAO,GAAE,IAAI,QAAQ,CAAC,uBAAuB;QACpE,wBAAwB,EAAE,QAAQ,CAAC,gBAAgB;QACnD,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;QACnD,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB;QACrD,cAAc,EAAE,QAAQ,CAAC,cAAc;KAC1C,CAAA;AACL,CAAC,CAAA;AAhBY,QAAA,aAAa,iBAgBzB;AAED,0DAA0D;AACnD,MAAM,mBAAmB,GAAG,CAAC,CAAU,EAAuB,EAAE;IACnE,OAAO,CACH,CAAC,IAAI,IAAI;QACT,OAAO,CAAC,KAAK,QAAQ;QACrB,mEAAmE;QACnE,kDAAkD;QAClD,CAAC,YAAY,IAAK,CAAS;YACvB,WAAW,IAAK,CAAS;YACzB,iBAAiB,IAAK,CAAS;YAC/B,oBAAoB,IAAK,CAAS;YAClC,eAAe,IAAK,CAAS;YAC7B,yBAAyB,IAAK,CAAS;YACvC,kBAAkB,IAAK,CAAS;YAChC,sBAAsB,IAAK,CAAS;YACpC,uBAAuB,IAAK,CAAS;YACrC,gBAAgB,IAAK,CAAS,CAAC,CACtC,CAAA;AACL,CAAC,CAAA;AAjBY,QAAA,mBAAmB,uBAiB/B;AAED,4BAA4B;AAC5B,mEAAmE;AAE5D,MAAM,iBAAiB,GAAG,CAC7B,IAA+B,EACpB,EAAE;IACb,IAAI,OAAO,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;IACtC,CAAC;IACD,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,EAAE,GAAI,IAAuB,CAAC,UAAU,CAAA;QAC9C,IAAI,OAAO,EAAE,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;QACpC,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAA;AACpB,CAAC,CAAA;AAbY,QAAA,iBAAiB,qBAa7B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AllUserOptions } from '../../types';
|
|
2
|
+
import { TParserMode } from '../internalTypes';
|
|
3
|
+
export declare const getDefaultOptions: (mode: TParserMode) => Required<Pick<AllUserOptions, "includeDiagnostics" | "includeTiming" | "preserveUndefinedInMeta" | "suppressWarnings" | "requireDocTerminator" | "treatEmptyValueAsNull" | "onDuplicateKey" | "strictMode" | "failLevel" | "includeMetadata">>;
|
|
4
|
+
export type NormalizedOptions = Required<Pick<AllUserOptions, 'strictMode' | 'failLevel' | 'includeMetadata' | 'includeDiagnostics' | 'includeTiming' | 'preserveUndefinedInMeta' | 'suppressWarnings' | 'requireDocTerminator' | 'treatEmptyValueAsNull' | 'onDuplicateKey'>>;
|
|
5
|
+
export declare const BASE_DEFAULTS: NormalizedOptions;
|
|
6
|
+
export declare const DEFAULT_LENIENT_OPTS: NormalizedOptions;
|
|
7
|
+
export declare const DEFAULT_STRICT_OPTS: NormalizedOptions;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_STRICT_OPTS = exports.DEFAULT_LENIENT_OPTS = exports.BASE_DEFAULTS = exports.getDefaultOptions = void 0;
|
|
4
|
+
const getDefaultOptions = (mode) => mode === 'strict' ? exports.DEFAULT_STRICT_OPTS : exports.DEFAULT_LENIENT_OPTS;
|
|
5
|
+
exports.getDefaultOptions = getDefaultOptions;
|
|
6
|
+
// Base (mode-agnostic) defaults
|
|
7
|
+
exports.BASE_DEFAULTS = {
|
|
8
|
+
strictMode: false,
|
|
9
|
+
failLevel: 'auto',
|
|
10
|
+
includeMetadata: false,
|
|
11
|
+
includeDiagnostics: false,
|
|
12
|
+
includeTiming: false,
|
|
13
|
+
preserveUndefinedInMeta: false,
|
|
14
|
+
suppressWarnings: false, // Suppress warnings in console (does not affect warnings in meta data).
|
|
15
|
+
requireDocTerminator: 'optional',
|
|
16
|
+
treatEmptyValueAsNull: 'allow-with-warning',
|
|
17
|
+
onDuplicateKey: 'error',
|
|
18
|
+
};
|
|
19
|
+
exports.DEFAULT_LENIENT_OPTS = {
|
|
20
|
+
...exports.BASE_DEFAULTS,
|
|
21
|
+
strictMode: false,
|
|
22
|
+
failLevel: 'ignore-errors',
|
|
23
|
+
suppressWarnings: false, // Suppress warnings in console (does not affect warnings in meta data).
|
|
24
|
+
requireDocTerminator: 'optional',
|
|
25
|
+
treatEmptyValueAsNull: 'allow-with-warning',
|
|
26
|
+
onDuplicateKey: 'warn-and-keep-first',
|
|
27
|
+
};
|
|
28
|
+
exports.DEFAULT_STRICT_OPTS = {
|
|
29
|
+
...exports.BASE_DEFAULTS,
|
|
30
|
+
strictMode: true,
|
|
31
|
+
failLevel: 'errors',
|
|
32
|
+
suppressWarnings: false, // Suppress warnings in console (does not affect warnings in meta data).
|
|
33
|
+
requireDocTerminator: 'optional',
|
|
34
|
+
treatEmptyValueAsNull: 'disallow',
|
|
35
|
+
onDuplicateKey: 'error',
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=parserOptionsConstants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parserOptionsConstants.js","sourceRoot":"","sources":["../../../src/core/options/parserOptionsConstants.ts"],"names":[],"mappings":";;;AAGO,MAAM,iBAAiB,GAAG,CAAC,IAAiB,EAAE,EAAE,CACnD,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,2BAAmB,CAAC,CAAC,CAAC,4BAAoB,CAAA;AADrD,QAAA,iBAAiB,qBACoC;AAkBlE,gCAAgC;AACnB,QAAA,aAAa,GAAsB;IAC5C,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,MAAM;IACjB,eAAe,EAAE,KAAK;IACtB,kBAAkB,EAAE,KAAK;IACzB,aAAa,EAAE,KAAK;IACpB,uBAAuB,EAAE,KAAK;IAC9B,gBAAgB,EAAE,KAAK,EAAE,wEAAwE;IACjG,oBAAoB,EAAE,UAAU;IAChC,qBAAqB,EAAE,oBAAoB;IAC3C,cAAc,EAAE,OAAO;CAC1B,CAAA;AAEY,QAAA,oBAAoB,GAAsB;IACnD,GAAG,qBAAa;IAChB,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,eAAe;IAC1B,gBAAgB,EAAE,KAAK,EAAE,wEAAwE;IACjG,oBAAoB,EAAE,UAAU;IAChC,qBAAqB,EAAE,oBAAoB;IAC3C,cAAc,EAAE,qBAAqB;CACxC,CAAA;AAEY,QAAA,mBAAmB,GAAsB;IAClD,GAAG,qBAAa;IAChB,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,QAAQ;IACnB,gBAAgB,EAAE,KAAK,EAAE,wEAAwE;IACjG,oBAAoB,EAAE,UAAU;IAChC,qBAAqB,EAAE,UAAU;IACjC,cAAc,EAAE,OAAO;CAC1B,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is the orchestrator that wires up the pipeline (lexer → parser →
|
|
3
|
+
* astBuilder → objectBuilder, etc.)
|
|
4
|
+
*/
|
|
5
|
+
import { AllUserOptions, ParsedObject, YiniParseResult } from '../types';
|
|
6
|
+
import { IParseCoreOptions, IRuntimeInfo } from './internalTypes';
|
|
7
|
+
/**
|
|
8
|
+
* @internal Single source of truth.
|
|
9
|
+
*
|
|
10
|
+
* Entrypoint for the YINI parsing pipeline:
|
|
11
|
+
* tokenization → grammar parse → AST build → object build → result.
|
|
12
|
+
*
|
|
13
|
+
* @param _meta_userOpts The user options from which the core options were
|
|
14
|
+
* derived/resolved from. This object is provided only for debugging
|
|
15
|
+
* and metadata purposes and should not be relied upon in
|
|
16
|
+
* application logic.
|
|
17
|
+
*/
|
|
18
|
+
export declare const runPipeline: (yiniContent: string, coreOptions: IParseCoreOptions, runtimeInfo: IRuntimeInfo, _meta_userOpts: AllUserOptions) => ParsedObject | YiniParseResult;
|