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
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { AnnotationContext, AssignmentContext, Bad_memberContext, Bad_meta_textContext, Boolean_literalContext, Colon_list_declContext, DirectiveContext, ElementsContext, EolContext, List_literalContext, MemberContext, Meta_stmtContext, Null_literalContext, Number_literalContext, Object_literalContext, Object_memberContext, Object_membersContext, PrologContext, StmtContext, String_concatContext, String_literalContext, Terminal_stmtContext, ValueContext, YiniContext } from '../grammar/YiniParser.js';
|
|
2
|
-
import YiniParserVisitor from '../grammar/YiniParserVisitor';
|
|
3
|
-
import { ErrorDataHandler } from './
|
|
4
|
-
import { IParseCoreOptions, IYiniAST, TSourceType } from './
|
|
1
|
+
import { AnnotationContext, AssignmentContext, Bad_memberContext, Bad_meta_textContext, Boolean_literalContext, Colon_list_declContext, DirectiveContext, ElementsContext, EolContext, List_literalContext, MemberContext, Meta_stmtContext, Null_literalContext, Number_literalContext, Object_literalContext, Object_memberContext, Object_membersContext, PrologContext, StmtContext, String_concatContext, String_literalContext, Terminal_stmtContext, ValueContext, YiniContext } from '../grammar/generated/YiniParser.js';
|
|
2
|
+
import YiniParserVisitor from '../grammar/generated/YiniParserVisitor';
|
|
3
|
+
import { ErrorDataHandler } from './errorDataHandler';
|
|
4
|
+
import { IParseCoreOptions, IYiniAST, TSourceType } from './internalTypes';
|
|
5
5
|
/** Parse SECTION_HEAD token text → {level, name}.
|
|
6
6
|
* Supports repeated markers (^^^^) and shorthand (^7) (Spec 5.2–5.3.1). :contentReference[oaicite:5]{index=5}:contentReference[oaicite:6]{index=6}
|
|
7
7
|
*/
|
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const env_1 = require("../config/env");
|
|
7
|
-
const YiniParserVisitor_1 = __importDefault(require("../grammar/YiniParserVisitor"));
|
|
7
|
+
const YiniParserVisitor_1 = __importDefault(require("../grammar/generated/YiniParserVisitor"));
|
|
8
8
|
const extractSignificantYiniLine_1 = require("../parsers/extractSignificantYiniLine");
|
|
9
9
|
const parseBoolean_1 = __importDefault(require("../parsers/parseBoolean"));
|
|
10
10
|
const parseNumber_1 = __importDefault(require("../parsers/parseNumber"));
|
|
@@ -13,8 +13,8 @@ const parseSectionHeader_1 = __importDefault(require("../parsers/parseSectionHea
|
|
|
13
13
|
const number_1 = require("../utils/number");
|
|
14
14
|
const print_1 = require("../utils/print");
|
|
15
15
|
const string_1 = require("../utils/string");
|
|
16
|
-
const yiniHelpers_1 = require("../yiniHelpers");
|
|
17
|
-
const
|
|
16
|
+
const yiniHelpers_1 = require("../utils/yiniHelpers");
|
|
17
|
+
const errorDataHandler_1 = require("./errorDataHandler");
|
|
18
18
|
// -----------------------
|
|
19
19
|
// --- Helpers -------------------------------------------------------------
|
|
20
20
|
// let _subjectType: TSubjectType = 'None'
|
|
@@ -37,7 +37,7 @@ const makeScalarValue = (type, value = null, tag = undefined) => {
|
|
|
37
37
|
case 'Undefined':
|
|
38
38
|
return { type: 'Undefined', value: undefined, tag };
|
|
39
39
|
default:
|
|
40
|
-
new
|
|
40
|
+
new errorDataHandler_1.ErrorDataHandler(_sourceType).pushOrBail(null, 'Fatal-Error', `No such type in makeValue(..), type: ${type}, value: ${value}`, 'Something in the code is done incorrectly in order for this to happen... :S');
|
|
41
41
|
}
|
|
42
42
|
return { type: 'Null', value: null, tag };
|
|
43
43
|
};
|
|
@@ -130,8 +130,7 @@ class ASTBuilder extends YiniParserVisitor_1.default {
|
|
|
130
130
|
this.mapSectionNamePaths = new Map();
|
|
131
131
|
// --- Private helper methods --------------------------------
|
|
132
132
|
this.hasDefinedSectionTitle = (keyPath) => {
|
|
133
|
-
|
|
134
|
-
return (_a = this.mapSectionNamePaths) === null || _a === void 0 ? void 0 : _a.has(keyPath);
|
|
133
|
+
return this.mapSectionNamePaths?.has(keyPath);
|
|
135
134
|
};
|
|
136
135
|
this.setDefineSectionTitle = (keyPath, level) => {
|
|
137
136
|
this.mapSectionNamePaths.set(keyPath, level);
|
|
@@ -144,9 +143,8 @@ class ASTBuilder extends YiniParserVisitor_1.default {
|
|
|
144
143
|
// visitYini?: (ctx: YiniContext) => Result
|
|
145
144
|
// visitYini?: (ctx: YiniContext) => any
|
|
146
145
|
this.visitYini = (ctx) => {
|
|
147
|
-
var _a;
|
|
148
146
|
// children: prolog?, stmt*, terminal?, EOF
|
|
149
|
-
|
|
147
|
+
ctx.children?.forEach((c) => this.visit?.(c));
|
|
150
148
|
return this.ast;
|
|
151
149
|
};
|
|
152
150
|
/**
|
|
@@ -195,21 +193,20 @@ class ASTBuilder extends YiniParserVisitor_1.default {
|
|
|
195
193
|
*/
|
|
196
194
|
// visitStmt?: (ctx: StmtContext) => Result
|
|
197
195
|
this.visitStmt = (ctx) => {
|
|
198
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
199
196
|
const child = ctx.getChild(0);
|
|
200
|
-
const ruleName =
|
|
197
|
+
const ruleName = child?.constructor?.name ?? '';
|
|
201
198
|
if (ruleName.includes('EolContext'))
|
|
202
|
-
return
|
|
199
|
+
return this.visitEol?.(child);
|
|
203
200
|
if (ruleName.includes('AssignmentContext'))
|
|
204
|
-
return
|
|
201
|
+
return this.visitAssignment?.(child);
|
|
205
202
|
if (ruleName.includes('Colon_list_declContext'))
|
|
206
|
-
return
|
|
203
|
+
return this.visitColon_list_decl?.(child);
|
|
207
204
|
if (ruleName.includes('Meta_stmtContext'))
|
|
208
|
-
return
|
|
205
|
+
return this.visitMeta_stmt?.(child);
|
|
209
206
|
(0, print_1.debugPrint)('S1');
|
|
210
207
|
// let headerAlt = child.getText?.() ?? ''
|
|
211
208
|
// let header = ctx.SECTION_HEAD()?.getText().trim() || ''
|
|
212
|
-
let header =
|
|
209
|
+
let header = ctx.SECTION_HEAD()?.getText().trim() || '';
|
|
213
210
|
// debugPrint('S2, lineAlt: >>>' + lineAlt + '<<<')
|
|
214
211
|
(0, print_1.debugPrint)('S2, header: >>>' + header + '<<<');
|
|
215
212
|
header = (0, extractSignificantYiniLine_1.extractYiniLine)(header);
|
|
@@ -227,22 +224,20 @@ class ASTBuilder extends YiniParserVisitor_1.default {
|
|
|
227
224
|
return null;
|
|
228
225
|
}
|
|
229
226
|
// bad_member fallback
|
|
230
|
-
return
|
|
227
|
+
return this.visitBad_member?.(ctx.getChild(0));
|
|
231
228
|
};
|
|
232
229
|
/**
|
|
233
230
|
* Visit a parse tree produced by `YiniParser.meta_stmt`.
|
|
234
231
|
* @param ctx the parse tree
|
|
235
232
|
*/
|
|
236
233
|
this.visitMeta_stmt = (ctx) => {
|
|
237
|
-
var _a;
|
|
238
234
|
(0, print_1.debugPrint)('-> Entered visitMeta_stmt(..)');
|
|
239
235
|
let rawText = ctx.getText().trim();
|
|
240
236
|
(0, print_1.debugPrint)('rawText = "' + rawText + '"');
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
let rawText = c === null || c === void 0 ? void 0 : c.getText().trim();
|
|
237
|
+
ctx.children?.forEach((c) => {
|
|
238
|
+
let rawText = c?.getText().trim();
|
|
244
239
|
(0, print_1.debugPrint)('visitMeta_stmt:child = "' + rawText + '"');
|
|
245
|
-
|
|
240
|
+
this.visit?.(c);
|
|
246
241
|
});
|
|
247
242
|
return null;
|
|
248
243
|
};
|
|
@@ -320,12 +315,11 @@ class ASTBuilder extends YiniParserVisitor_1.default {
|
|
|
320
315
|
*/
|
|
321
316
|
// visitAssignment?: (ctx: AssignmentContext) => Result
|
|
322
317
|
this.visitAssignment = (ctx) => {
|
|
323
|
-
var _a;
|
|
324
318
|
(0, env_1.isDebug)() && console.log();
|
|
325
319
|
(0, print_1.debugPrint)('-> Entered visitAssignment(..)');
|
|
326
320
|
// assignment : member eol
|
|
327
321
|
const mem = ctx.member();
|
|
328
|
-
|
|
322
|
+
this.visitMember?.(mem);
|
|
329
323
|
return null;
|
|
330
324
|
};
|
|
331
325
|
/**
|
|
@@ -336,7 +330,6 @@ class ASTBuilder extends YiniParserVisitor_1.default {
|
|
|
336
330
|
*/
|
|
337
331
|
// visitMember?: (ctx: MemberContext) => Result
|
|
338
332
|
this.visitMember = (ctx) => {
|
|
339
|
-
var _a, _b, _c, _d, _e, _f;
|
|
340
333
|
(0, env_1.isDebug)() && console.log();
|
|
341
334
|
(0, print_1.debugPrint)('-> Entered visitMember(..)');
|
|
342
335
|
// member: KEY WS? EQ WS? value?
|
|
@@ -359,22 +352,31 @@ class ASTBuilder extends YiniParserVisitor_1.default {
|
|
|
359
352
|
}
|
|
360
353
|
}
|
|
361
354
|
const resultKey = (0, string_1.trimBackticks)(rawKey);
|
|
362
|
-
const rawValue =
|
|
363
|
-
(0, print_1.debugPrint)(`visitMember(..): rawValue = ` +
|
|
364
|
-
let valueContext =
|
|
355
|
+
const rawValue = ctx.value?.()?.getText();
|
|
356
|
+
(0, print_1.debugPrint)(`visitMember(..): rawValue = ` + ctx.value?.()?.getText());
|
|
357
|
+
let valueContext = ctx.value?.();
|
|
365
358
|
let valueNode;
|
|
366
359
|
if (!rawValue) {
|
|
367
|
-
//
|
|
368
|
-
if (!this.isStrict) {
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
360
|
+
// treatEmptyValueAsNull = 'allow' (default in lenient mode, empty value => Null in lenient mode)
|
|
361
|
+
// if (!this.isStrict) {
|
|
362
|
+
switch (this.options.treatEmptyValueAsNull) {
|
|
363
|
+
case 'allow':
|
|
364
|
+
// Lenient mode: implicit null, no warning (treatEmptyValueAsNull = 'allow').
|
|
365
|
+
valueNode = makeScalarValue('Null', null, 'Implicit null (empty value)');
|
|
366
|
+
break;
|
|
367
|
+
case 'allow-with-warning':
|
|
368
|
+
valueNode = makeScalarValue('Null', null, 'Implicit null (empty value)');
|
|
369
|
+
this.errorHandler.pushOrBail(ctx, 'Syntax-Warning', `Empty value treated as null for key '${resultKey}'.`, `An empty value after '=' was encountered. Per 'treatEmptyValueAsNull = allow-with-warning', it is interpreted as null.`, `If you intended null, write it explicitly: ${resultKey} = null. Otherwise provide a non-empty value or set 'treatEmptyValueAsNull' to 'disallow'.`);
|
|
370
|
+
break;
|
|
371
|
+
case 'disallow':
|
|
372
|
+
// treatEmptyValueAsNull = 'disallow' (default in strict mode)
|
|
373
|
+
// Note, after pushing processing may continue or exit, depending on the error and/or the bail threshold.
|
|
374
|
+
this.errorHandler.pushOrBail(ctx, 'Syntax-Error', `Missing value for key '${resultKey}'.`, `Expected a value after '=' but found none. Implicit nulls are disallowed by 'treatEmptyValueAsNull = disallow'.`, `Write 'null' explicitly (${resultKey} = null) if that is intended, or provide a concrete value.`);
|
|
375
|
+
break;
|
|
374
376
|
}
|
|
375
377
|
}
|
|
376
378
|
else {
|
|
377
|
-
valueNode =
|
|
379
|
+
valueNode = this.visitValue?.(valueContext);
|
|
378
380
|
}
|
|
379
381
|
(0, print_1.debugPrint)('visitMember(..): valueNode:');
|
|
380
382
|
if ((0, env_1.isDebug)()) {
|
|
@@ -446,16 +448,15 @@ class ASTBuilder extends YiniParserVisitor_1.default {
|
|
|
446
448
|
*/
|
|
447
449
|
// visitString_literal?: (ctx: String_literalContext) => Result
|
|
448
450
|
this.visitString_literal = (ctx) => {
|
|
449
|
-
var _a, _b;
|
|
450
451
|
(0, print_1.debugPrint)('-> Entered visitString_literal(..)');
|
|
451
452
|
// STRING (string_concat)*
|
|
452
453
|
// Concatenate pieces with PLUS (Spec 6.6). Each piece is a STRING token; '+' is structural. :contentReference[oaicite:17]{index=17}
|
|
453
454
|
let text = trimQuotes(ctx.STRING().getText());
|
|
454
455
|
// for (const c of ctx.string_concat() ?? []) {
|
|
455
|
-
for (const c of
|
|
456
|
+
for (const c of ctx.string_concat_list() ?? []) {
|
|
456
457
|
(0, print_1.debugPrint)('c of ctx.string_concat():');
|
|
457
458
|
(0, env_1.isDebug)() && (0, print_1.printObject)(c);
|
|
458
|
-
text +=
|
|
459
|
+
text += this.visitString_concat?.(c);
|
|
459
460
|
}
|
|
460
461
|
return makeScalarValue('String', text);
|
|
461
462
|
};
|
|
@@ -475,8 +476,8 @@ class ASTBuilder extends YiniParserVisitor_1.default {
|
|
|
475
476
|
}
|
|
476
477
|
// Check if number is JS special type NaN, Infinity or -Infinity.
|
|
477
478
|
// Note: Value with a zero (0) should pass OK!
|
|
478
|
-
if (
|
|
479
|
-
(!
|
|
479
|
+
if (parsedNum?.value !== 0 &&
|
|
480
|
+
(!parsedNum?.value ||
|
|
480
481
|
(0, number_1.isNaNValue)(parsedNum.value) ||
|
|
481
482
|
(0, number_1.isInfinityValue)(parsedNum.value))) {
|
|
482
483
|
// **************************************************
|
|
@@ -549,14 +550,14 @@ class ASTBuilder extends YiniParserVisitor_1.default {
|
|
|
549
550
|
*/
|
|
550
551
|
this.visitElements = (ctx) => {
|
|
551
552
|
(0, print_1.debugPrint)('-> Entered visitElements(..)');
|
|
552
|
-
(0, print_1.debugPrint)(' elements.length = ' +
|
|
553
|
-
const elems = !
|
|
553
|
+
(0, print_1.debugPrint)(' elements.length = ' + ctx?.value_list().length);
|
|
554
|
+
const elems = !ctx?.value_list()
|
|
554
555
|
? []
|
|
555
556
|
: ctx.value_list().map((elem) => {
|
|
556
557
|
const valueNode = this.visitValue(elem);
|
|
557
558
|
if (!valueNode) {
|
|
558
559
|
// Note, after pushing processing may continue or exit, depending on the error and/or the bail threshold.
|
|
559
|
-
this.errorHandler.pushOrBail(ctx, 'Syntax-Error', 'Invalid list element', `Invalid list element: '${elem
|
|
560
|
+
this.errorHandler.pushOrBail(ctx, 'Syntax-Error', 'Invalid list element', `Invalid list element: '${elem?.getText()}'`, `Expected a valid value/literal (string, number, boolean, null, list, or object). Optionally with a single leading minus sign '-'.`);
|
|
560
561
|
}
|
|
561
562
|
return valueNode;
|
|
562
563
|
});
|
|
@@ -598,7 +599,7 @@ class ASTBuilder extends YiniParserVisitor_1.default {
|
|
|
598
599
|
*/
|
|
599
600
|
this.visitObject_members = (ctx) => {
|
|
600
601
|
(0, print_1.debugPrint)('-> Entered visitObject_members(..)');
|
|
601
|
-
(0, print_1.debugPrint)('entries.length = ' +
|
|
602
|
+
(0, print_1.debugPrint)('entries.length = ' + ctx?.object_member_list().length);
|
|
602
603
|
const entries = [];
|
|
603
604
|
ctx.object_member_list().forEach((member) => {
|
|
604
605
|
const { key, value } = this.visitObject_member(member);
|
|
@@ -679,10 +680,9 @@ class ASTBuilder extends YiniParserVisitor_1.default {
|
|
|
679
680
|
*/
|
|
680
681
|
// visitBad_member?: (ctx: Bad_memberContext) => Result
|
|
681
682
|
this.visitBad_member = (ctx) => {
|
|
682
|
-
var _a;
|
|
683
683
|
(0, print_1.debugPrint)('-> Entered visitBad_member(..)');
|
|
684
684
|
// Note, after pushing processing may continue or exit, depending on the error and/or the bail threshold.
|
|
685
|
-
this.errorHandler.pushOrBail(ctx, 'Syntax-Error', 'Invalid or malformed member (key-value pair) found.', `Offending text: ${
|
|
685
|
+
this.errorHandler.pushOrBail(ctx, 'Syntax-Error', 'Invalid or malformed member (key-value pair) found.', `Offending text: ${ctx?.getText()?.trim()}`, 'Members has the form: <key> = <value>, where <key> is a name/identifier and <value> is a value/literal.');
|
|
686
686
|
return null;
|
|
687
687
|
};
|
|
688
688
|
/**
|
|
@@ -691,26 +691,25 @@ class ASTBuilder extends YiniParserVisitor_1.default {
|
|
|
691
691
|
* @return the visitor result
|
|
692
692
|
*/
|
|
693
693
|
this.visitBad_meta_text = (ctx) => {
|
|
694
|
-
var _a;
|
|
695
694
|
(0, print_1.debugPrint)('-> Entered visitBad_meta_text(..)');
|
|
696
695
|
// Note, after pushing processing may continue or exit, depending on the error and/or the bail threshold.
|
|
697
|
-
this.errorHandler.pushOrBail(ctx, 'Syntax-Error', 'Invalid or malformed directive or annotation statement', `Offending statement: ${
|
|
696
|
+
this.errorHandler.pushOrBail(ctx, 'Syntax-Error', 'Invalid or malformed directive or annotation statement', `Offending statement: ${ctx?.getText()?.trim()}`);
|
|
698
697
|
return null;
|
|
699
698
|
};
|
|
700
699
|
if (!errorHandler) {
|
|
701
700
|
// Note, after pushing processing may continue or exit, depending on the error and/or the bail threshold.
|
|
702
|
-
new
|
|
701
|
+
new errorDataHandler_1.ErrorDataHandler('None/Ignore').pushOrBail(null, 'Fatal-Error', 'Has no ErrorDataHandler instance when calling visitYini(..)', 'Something in the code is done incorrectly in order for this to happen... :S');
|
|
703
702
|
}
|
|
704
703
|
_sourceType = sourceType;
|
|
705
704
|
this.options = options;
|
|
706
705
|
this.errorHandler = errorHandler;
|
|
707
706
|
this.isStrict = options.isStrict;
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
else {
|
|
712
|
-
|
|
713
|
-
}
|
|
707
|
+
this.onDuplicateKey = options.onDuplicateKey; // Different setting depending on mode.
|
|
708
|
+
// if (options.isStrict) {
|
|
709
|
+
// this.onDuplicateKey = 'error'
|
|
710
|
+
// } else {
|
|
711
|
+
// this.onDuplicateKey = 'warn'
|
|
712
|
+
// }
|
|
714
713
|
const root = makeSection('(root)', 0);
|
|
715
714
|
// this.mapSectionNamePaths.set('(root)', 0)
|
|
716
715
|
this.ast = {
|
|
@@ -777,7 +776,7 @@ class ASTBuilder extends YiniParserVisitor_1.default {
|
|
|
777
776
|
}
|
|
778
777
|
}
|
|
779
778
|
/** Insert a key/value into current section (duplicate handling per options). */
|
|
780
|
-
putMember(errorHandler, ctx, sec, key, value, mode = 'warn') {
|
|
779
|
+
putMember(errorHandler, ctx, sec, key, value, mode = 'warn-and-keep-first') {
|
|
781
780
|
(0, env_1.isDebug)() && console.log();
|
|
782
781
|
(0, print_1.debugPrint)('-> Entered putMember(..)');
|
|
783
782
|
(0, print_1.debugPrint)(`putMember(..): key: '${key}', value: ${value}`);
|
|
@@ -786,32 +785,45 @@ class ASTBuilder extends YiniParserVisitor_1.default {
|
|
|
786
785
|
case 'error':
|
|
787
786
|
errorHandler.pushOrBail(ctx, 'Syntax-Error', 'Hit a duplicate key in this section and scope', `Key '${key}' already exists in section '${sec.sectionName}' on level ${sec.level}.`);
|
|
788
787
|
break;
|
|
789
|
-
case 'warn':
|
|
790
|
-
errorHandler.pushOrBail(ctx, 'Syntax-Warning',
|
|
791
|
-
return; //
|
|
788
|
+
case 'warn-and-keep-first':
|
|
789
|
+
errorHandler.pushOrBail(ctx, 'Syntax-Warning', `Hit a duplicate key (will keep first value) in this section and scope`, `Key '${key}' already exists in section '${sec.sectionName}' on level ${sec.level}.`);
|
|
790
|
+
return; // Keep first, don't overwrite.
|
|
791
|
+
case 'warn-and-overwrite':
|
|
792
|
+
errorHandler.pushOrBail(ctx, 'Syntax-Warning', `Overwrote a duplicate key (will keep last value) in this section and scope`, `Key '${key}' was overwritten in section '${sec.sectionName}' on level ${sec.level}.`);
|
|
793
|
+
break; // Overwrite, replace value.
|
|
792
794
|
case 'keep-first':
|
|
793
|
-
return;
|
|
795
|
+
return; // Keep first, don't overwrite.
|
|
794
796
|
case 'overwrite':
|
|
795
|
-
// replace value
|
|
796
|
-
break;
|
|
797
|
+
break; // Overwrite, replace value.
|
|
797
798
|
}
|
|
798
799
|
}
|
|
800
|
+
else {
|
|
801
|
+
this._numOfMembers++;
|
|
802
|
+
}
|
|
799
803
|
sec.members.set(key, value);
|
|
800
|
-
this._numOfMembers++;
|
|
801
804
|
}
|
|
802
805
|
// --------------------------------
|
|
803
806
|
// Public entry
|
|
804
807
|
buildAST(ctx) {
|
|
805
|
-
|
|
806
|
-
(_a = this.visitYini) === null || _a === void 0 ? void 0 : _a.call(this, ctx);
|
|
808
|
+
this.visitYini?.(ctx);
|
|
807
809
|
// The document terminator is optional by default.
|
|
808
810
|
// If the option `isRequireDocTerminator` is set to true,
|
|
809
811
|
// the '/END' terminator at the end of the document becomes required.
|
|
810
|
-
if (
|
|
811
|
-
|
|
812
|
+
if (!this.ast.terminatorSeen &&
|
|
813
|
+
this.options.requireDocTerminator === 'required') {
|
|
814
|
+
const msgWhat = `Missing '/END' at end of document (option requireDocTerminator is ${this.options.requireDocTerminator}).`;
|
|
812
815
|
const msgWhy = `The terminator '/END' (case insensitive) is required and must appear at the end of the document.`;
|
|
816
|
+
const msgHint = `This is option can be overriden by the option requireDocTerminator.`;
|
|
817
|
+
// Note, after pushing processing may continue or exit, depending on the error and/or the bail threshold.
|
|
818
|
+
this.errorHandler.pushOrBail(null, 'Syntax-Error', msgWhat, msgWhy, msgHint);
|
|
819
|
+
}
|
|
820
|
+
else if (!this.ast.terminatorSeen &&
|
|
821
|
+
this.options.requireDocTerminator === 'warn-if-missing') {
|
|
822
|
+
const msgWhat = `Missing '/END' at end of document (option requireDocTerminator is ${this.options.requireDocTerminator}).`;
|
|
823
|
+
const msgWhy = `The terminator '/END' (case insensitive) might be missing at the end of the document.`;
|
|
824
|
+
const msgHint = `This is option can be overriden by the option requireDocTerminator.`;
|
|
813
825
|
// Note, after pushing processing may continue or exit, depending on the error and/or the bail threshold.
|
|
814
|
-
this.errorHandler.pushOrBail(null, 'Syntax-
|
|
826
|
+
this.errorHandler.pushOrBail(null, 'Syntax-Warning', msgWhat, msgWhy, msgHint);
|
|
815
827
|
}
|
|
816
828
|
// Note: Below is important for error checking as well as for meta data.
|
|
817
829
|
this.ast.numOfSections = this.mapSectionNamePaths.size;
|
|
@@ -825,3 +837,4 @@ class ASTBuilder extends YiniParserVisitor_1.default {
|
|
|
825
837
|
}
|
|
826
838
|
}
|
|
827
839
|
exports.default = ASTBuilder;
|
|
840
|
+
//# sourceMappingURL=astBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"astBuilder.js","sourceRoot":"","sources":["../../src/core/astBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IssuePayload } from '../types';
|
|
2
|
+
import { TBailSensitivityLevel, TIssueType, TSubjectType } from './internalTypes';
|
|
2
3
|
/**
|
|
3
4
|
* This class handles all error/notice reporting and processes exit/throwing.
|
|
4
5
|
*/
|
|
5
6
|
export declare class ErrorDataHandler {
|
|
6
|
-
private readonly persistThreshold;
|
|
7
7
|
private readonly subjectType;
|
|
8
8
|
private readonly fileName;
|
|
9
|
+
private readonly persistThreshold;
|
|
10
|
+
private readonly isAvoidWarningsInConsole;
|
|
9
11
|
private errors;
|
|
10
12
|
private warnings;
|
|
11
13
|
private notices;
|
|
@@ -25,7 +27,7 @@ export declare class ErrorDataHandler {
|
|
|
25
27
|
- Level 1 = abort on errors only
|
|
26
28
|
- Level 2 = abort even on warnings
|
|
27
29
|
*/
|
|
28
|
-
constructor(subjectType: TSubjectType,
|
|
30
|
+
constructor(subjectType: TSubjectType, fileName?: string | undefined, bailSensitivityLevel?: TBailSensitivityLevel, isAvoidWarningsInConsole?: boolean);
|
|
29
31
|
private makeIssue;
|
|
30
32
|
/**
|
|
31
33
|
* After pushing processing may continue or exit, depending on the error
|
|
@@ -53,8 +55,8 @@ export declare class ErrorDataHandler {
|
|
|
53
55
|
getNumOfWarnings(): number;
|
|
54
56
|
getNumOfNotices(): number;
|
|
55
57
|
getNumOfInfos(): number;
|
|
56
|
-
getErrors():
|
|
57
|
-
getWarnings():
|
|
58
|
-
getNotices():
|
|
59
|
-
getInfos():
|
|
58
|
+
getErrors(): IssuePayload[];
|
|
59
|
+
getWarnings(): IssuePayload[];
|
|
60
|
+
getNotices(): IssuePayload[];
|
|
61
|
+
getInfos(): IssuePayload[];
|
|
60
62
|
}
|