yini-parser 1.4.3-beta → 1.5.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.
Files changed (32) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +68 -144
  3. package/dist/YINI.d.ts +9 -13
  4. package/dist/YINI.js +3 -3
  5. package/dist/YINI.js.map +1 -1
  6. package/dist/core/astBuilder.d.ts +3 -6
  7. package/dist/core/astBuilder.js +80 -49
  8. package/dist/core/astBuilder.js.map +1 -1
  9. package/dist/core/objectBuilder.d.ts +8 -4
  10. package/dist/core/objectBuilder.js +31 -61
  11. package/dist/core/objectBuilder.js.map +1 -1
  12. package/dist/core/options/defaultParserOptions.js +9 -1
  13. package/dist/core/options/defaultParserOptions.js.map +1 -1
  14. package/dist/core/options/optionsFunctions.js +1 -3
  15. package/dist/core/options/optionsFunctions.js.map +1 -1
  16. package/dist/core/parsingRules/modeFromRulesMatcher.d.ts +1 -1
  17. package/dist/core/parsingRules/modeFromRulesMatcher.js +22 -13
  18. package/dist/core/parsingRules/modeFromRulesMatcher.js.map +1 -1
  19. package/dist/core/pipeline/pipeline.js +4 -0
  20. package/dist/core/pipeline/pipeline.js.map +1 -1
  21. package/dist/dev/main.js +55 -84
  22. package/dist/dev/main.js.map +1 -1
  23. package/dist/grammar/generated/YiniLexer.d.ts +43 -49
  24. package/dist/grammar/generated/YiniLexer.js +320 -332
  25. package/dist/grammar/generated/YiniLexer.js.map +1 -1
  26. package/dist/grammar/generated/YiniParser.d.ts +60 -82
  27. package/dist/grammar/generated/YiniParser.js +461 -726
  28. package/dist/grammar/generated/YiniParser.js.map +1 -1
  29. package/dist/grammar/generated/YiniParserVisitor.d.ts +7 -7
  30. package/dist/grammar/generated/YiniParserVisitor.js +1 -1
  31. package/dist/types/index.d.ts +1 -1
  32. package/package.json +3 -4
@@ -40,6 +40,7 @@ const env_1 = require("../config/env");
40
40
  const YiniParserVisitor_1 = __importDefault(require("../grammar/generated/YiniParserVisitor"));
41
41
  const extractSignificantYiniLine_1 = require("../parsers/extractSignificantYiniLine");
42
42
  const parseBoolean_1 = __importDefault(require("../parsers/parseBoolean"));
43
+ const parseNull_1 = __importDefault(require("../parsers/parseNull"));
43
44
  const parseNumber_1 = __importDefault(require("../parsers/parseNumber"));
44
45
  // import parseNumber from '../parsers/parseNumber'
45
46
  const parseSectionHeader_1 = __importDefault(require("../parsers/parseSectionHeader"));
@@ -71,6 +72,7 @@ const makeScalarValue = (type, value = null, tag = undefined) => {
71
72
  case 'Undefined':
72
73
  return { type: 'Undefined', value: undefined, tag };
73
74
  default:
75
+ // Note, after pushing processing may continue or exit, depending on the error and/or the bail threshold.
74
76
  new errorDataHandler_1.ErrorDataHandler(_sourceType).pushOrBail(undefined, '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');
75
77
  }
76
78
  return { type: 'Null', value: null, tag };
@@ -162,7 +164,6 @@ class ASTBuilder extends YiniParserVisitor_1.default {
162
164
  // private meta_numOfChains = 0 // For stats.
163
165
  this.meta_maxLevel = 0; // For stats.
164
166
  this.mapSectionNamePaths = new Map();
165
- // --- Private helper methods --------------------------------
166
167
  this.hasDefinedSectionTitle = (keyPath) => {
167
168
  return this.mapSectionNamePaths?.has(keyPath);
168
169
  };
@@ -229,17 +230,18 @@ class ASTBuilder extends YiniParserVisitor_1.default {
229
230
  this.visitStmt = (ctx) => {
230
231
  const child = ctx.getChild(0);
231
232
  const ruleName = child?.constructor?.name ?? '';
233
+ // debugPrint('S0')
234
+ // const badHeaderWDotName = ctx.BAD_SECTION_HEAD_W_DOT_NAME()?.getText()
235
+ // if (badHeaderWDotName) {
236
+ // console.log('QQQQQQQQ = ' + badHeaderWDotName)
237
+ // }
232
238
  if (ruleName.includes('EolContext'))
233
239
  return this.visitEol?.(child);
234
240
  if (ruleName.includes('AssignmentContext'))
235
241
  return this.visitAssignment?.(child);
236
- if (ruleName.includes('Colon_list_declContext'))
237
- return this.visitColon_list_decl?.(child);
238
242
  if (ruleName.includes('Meta_stmtContext'))
239
243
  return this.visitMeta_stmt?.(child);
240
244
  (0, print_1.debugPrint)('S1');
241
- // let headerAlt = child.getText?.() ?? ''
242
- // let header = ctx.SECTION_HEAD()?.getText().trim() || ''
243
245
  let header = ctx.SECTION_HEAD()?.getText().trim() || '';
244
246
  // debugPrint('S2, lineAlt: >>>' + lineAlt + '<<<')
245
247
  (0, print_1.debugPrint)('S2, header: >>>' + header + '<<<');
@@ -423,9 +425,11 @@ class ASTBuilder extends YiniParserVisitor_1.default {
423
425
  break;
424
426
  case 'allow-with-warning':
425
427
  valueNode = makeScalarValue('Null', null, 'Implicit null (empty value)');
428
+ // Note, after pushing processing may continue or exit, depending on the error and/or the bail threshold.
426
429
  this.errorHandler.pushOrBail((0, errorDataHandler_1.toErrorLocation)(ctx), 'Syntax-Warning', `Empty value treated as null for key '${resultKey}'.`, `An empty value after '=' was encountered. Per 'treatEmptyValueAsNull = allow-with-warning', interpreted as null.`, `If you intended null, write it explicitly: ${resultKey} = null. Otherwise provide a non-empty value or set 'treatEmptyValueAsNull' to 'disallow'.`);
427
430
  break;
428
431
  case 'disallow':
432
+ // Note, after pushing processing may continue or exit, depending on the error and/or the bail threshold.
429
433
  this.errorHandler.pushOrBail((0, errorDataHandler_1.toErrorLocation)(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.`);
430
434
  return makeScalarValue('Undefined', undefined, 'Missing value already reported');
431
435
  }
@@ -459,12 +463,14 @@ class ASTBuilder extends YiniParserVisitor_1.default {
459
463
  )
460
464
  }*/
461
465
  if (!valueNode) {
466
+ // Note, after pushing processing may continue or exit, depending on the error and/or the bail threshold.
462
467
  this.errorHandler.pushOrBail((0, errorDataHandler_1.toErrorLocation)(ctx), 'Syntax-Error', 'Invalid value', `Invalid value for key '${resultKey}' in member (<key> = <value> pair).`, `Got '${rawValue}', but expected a valid value/literal (string, number, boolean, null, list, or object). Optionally with a single leading minus sign '-'.`);
463
468
  }
464
469
  else if (valueNode.type === 'Undefined' &&
465
470
  valueNode.tag !== 'Invalid string literal already reported' &&
466
471
  valueNode.tag !== 'Missing value already reported' &&
467
472
  valueNode.tag !== 'Parser syntax error already reported') {
473
+ // Note, after pushing processing may continue or exit, depending on the error and/or the bail threshold.
468
474
  this.errorHandler.pushOrBail((0, errorDataHandler_1.toErrorLocation)(ctx), 'Syntax-Error', 'Invalid value', `Invalid value for key '${resultKey}' in member (<key> = <value> pair).`, `Got '${rawValue}', but expected a valid value/literal (string, number, boolean, null, list, or object). Optionally with a single leading minus sign '-'.`);
469
475
  }
470
476
  // It keeps the sentinel tags useful for control flow inside visitMember(..),
@@ -622,6 +628,7 @@ class ASTBuilder extends YiniParserVisitor_1.default {
622
628
  'Check that all escape sequences in the C-string are complete and valid.';
623
629
  }
624
630
  }
631
+ // Note, after pushing processing may continue or exit, depending on the error and/or the bail threshold.
625
632
  this.errorHandler.pushOrBail((0, errorDataHandler_1.toErrorLocation)(ctx), 'Syntax-Error', msgWhat, msgWhy, msgHint);
626
633
  return makeScalarValue('Undefined', undefined, 'Invalid string literal already reported');
627
634
  }
@@ -687,8 +694,14 @@ class ASTBuilder extends YiniParserVisitor_1.default {
687
694
  // visitNull_literal?: (ctx: Null_literalContext) => Result
688
695
  this.visitNull_literal = (ctx) => {
689
696
  (0, print_1.debugPrint)('-> Entered visitNull_literal(..)');
690
- (0, print_1.debugPrint)('raw = ' + ctx.getText());
691
- return makeScalarValue('Null', null, 'Explicit Null');
697
+ // debugPrint('raw = ' + ctx.getText())
698
+ // return makeScalarValue('Null', null, 'Explicit Null')
699
+ const raw = ctx.getText();
700
+ (0, print_1.debugPrint)('raw: "' + raw + '"');
701
+ const parsed = (0, parseNull_1.default)(raw);
702
+ (0, print_1.debugPrint)('parsed: "' + parsed + '"');
703
+ // Case-insensitive true/false/on/off/yes/no (Spec section, 8.1).
704
+ return makeScalarValue('Null', parsed, 'Explicit Null');
692
705
  };
693
706
  /**
694
707
  * Visit a parse tree produced by `YiniParser.list_literal`.
@@ -767,7 +780,8 @@ class ASTBuilder extends YiniParserVisitor_1.default {
767
780
  this.visitObject_members = (ctx) => {
768
781
  (0, print_1.debugPrint)('-> Entered visitObject_members(..)');
769
782
  (0, print_1.debugPrint)('entries.length = ' + ctx?.object_member_list().length);
770
- const entries = [];
783
+ // const entries: Array<{ k: string; v: TValueLiteral }> = []
784
+ const entries = {};
771
785
  ctx.object_member_list().forEach((member) => {
772
786
  const { key, value } = this.visitObject_member(member);
773
787
  (0, print_1.debugPrint)(' key = ' + key);
@@ -790,7 +804,7 @@ class ASTBuilder extends YiniParserVisitor_1.default {
790
804
  const rawValue = ctx.value().getText();
791
805
  const valueNode = ctx.value()
792
806
  ? this.visitValue(ctx.value())
793
- : makeScalarValue('Null', 'Implicit Null');
807
+ : makeScalarValue('Null', null, 'Implicit Null');
794
808
  (0, print_1.debugPrint)(' rawKey = ' + rawKey);
795
809
  (0, print_1.debugPrint)(' key = ' + key);
796
810
  (0, print_1.debugPrint)('rawValue = ' + rawValue);
@@ -806,30 +820,32 @@ class ASTBuilder extends YiniParserVisitor_1.default {
806
820
  return { key, value: valueNode };
807
821
  };
808
822
  /**
809
- * Visit a parse tree produced by `YiniParser.colon_list_decl`.
810
- * @param ctx the parse tree
811
- * @grammarRule KEY WS? COLON (eol | WS+)* elements (eol | WS+)* eol
812
- * @return the visitor result
823
+ * @note Colon list not supported any more since YINI Spec Package v1.0.0.rc4
813
824
  */
814
- // visitColon_list_decl?: (ctx: ListAfterColonContext) => Result
815
- this.visitColon_list_decl = (ctx) => {
816
- (0, print_1.debugPrint)('-> Entered visitColon_list_decl(..)');
817
- const key = ctx.getChild(0).getText();
818
- (0, print_1.debugPrint)(`visitColon_list_decl(..): key = '${key}'`);
819
- const elems = this.visitElements(ctx.elements());
820
- const value = makeListValue(elems, 'From colon-list');
821
- const current = this.sectionStack[this.sectionStack.length - 1];
822
- // putMember(current, key, list, this.ast, this.onDuplicateKey)
823
- this.putMember(this.errorHandler, ctx, current, key, value,
824
- // this.ast,
825
- this.onDuplicateKey);
826
- (0, print_1.debugPrint)('<- About to exit visitColon_list_decl(..)...');
827
- if ((0, env_1.isDebug)()) {
828
- console.log('List literal: (from a Colon-list)');
829
- (0, print_1.printObject)(value);
830
- }
831
- return value;
832
- };
825
+ // visitColon_list_decl = (ctx: Colon_list_declContext): any => {
826
+ // debugPrint('-> Entered visitColon_list_decl(..)')
827
+ // const key = ctx.getChild(0).getText()
828
+ // debugPrint(`visitColon_list_decl(..): key = '${key}'`)
829
+ // const elems = this.visitElements(ctx.elements())
830
+ // const value = makeListValue(elems, 'From colon-list')
831
+ // const current = this.sectionStack[this.sectionStack.length - 1]
832
+ // // putMember(current, key, list, this.ast, this.onDuplicateKey)
833
+ // this.putMember(
834
+ // this.errorHandler!,
835
+ // ctx,
836
+ // current,
837
+ // key,
838
+ // value,
839
+ // // this.ast,
840
+ // this.onDuplicateKey,
841
+ // )
842
+ // debugPrint('<- About to exit visitColon_list_decl(..)...')
843
+ // if (isDebug()) {
844
+ // console.log('List literal: (from a Colon-list)')
845
+ // printObject(value)
846
+ // }
847
+ // return value
848
+ // }
833
849
  /**
834
850
  * Visit a parse tree produced by `YiniParser.string_concat`.
835
851
  * @param ctx the parse tree
@@ -864,6 +880,7 @@ class ASTBuilder extends YiniParserVisitor_1.default {
864
880
  }
865
881
  catch (err) {
866
882
  const msg = err instanceof Error ? err.message : String(err);
883
+ // Note, after pushing processing may continue or exit, depending on the error and/or the bail threshold.
867
884
  this.errorHandler.pushOrBail((0, errorDataHandler_1.toErrorLocation)(ctx), 'Syntax-Error', 'Parse error in string', msg);
868
885
  return undefined;
869
886
  }
@@ -921,6 +938,22 @@ class ASTBuilder extends YiniParserVisitor_1.default {
921
938
  };
922
939
  this.sectionStack = [root];
923
940
  }
941
+ // --- Private helper methods --------------------------------
942
+ validateStrictTopLevelStructure() {
943
+ if (!this.isStrict)
944
+ return;
945
+ const numTopLevelSections = this.ast.root.children.length;
946
+ const numTopLevelMembers = this.ast.root.members.size;
947
+ if (numTopLevelMembers > 0) {
948
+ // Note, after pushing processing may continue or exit, depending on the error and/or the bail threshold.
949
+ this.errorHandler.pushOrBail(undefined, 'Syntax-Error', 'Top-level members are not allowed in strict mode.', 'Members were found outside the single required explicit top-level section.', 'Move all top-level members into the explicit top-level section, or parse the document in lenient mode.');
950
+ }
951
+ // Exactly one explicit top-level section in strict mode.
952
+ if (numTopLevelSections !== 1) {
953
+ // Note, after pushing processing may continue or exit, depending on the error and/or the bail threshold.
954
+ this.errorHandler.pushOrBail(undefined, 'Syntax-Error', 'Strict mode requires exactly one explicit top-level section.', `Found ${numTopLevelSections} explicit top-level section${numTopLevelSections === 1 ? '' : 's'}.`, 'Wrap the document in exactly one explicit top-level section and nest any additional sections beneath it.');
955
+ }
956
+ }
924
957
  extractStringParts(tokenText) {
925
958
  // Detect prefix
926
959
  let prefix = '';
@@ -1042,12 +1075,15 @@ class ASTBuilder extends YiniParserVisitor_1.default {
1042
1075
  if (sec.members.has(key)) {
1043
1076
  switch (mode) {
1044
1077
  case 'error':
1078
+ // Note, after pushing processing may continue or exit, depending on the error and/or the bail threshold.
1045
1079
  errorHandler.pushOrBail((0, errorDataHandler_1.toErrorLocation)(ctx), 'Syntax-Error', 'Hit a duplicate key in this section and scope', `Key '${key}' already exists in section '${sec.sectionName}' on level ${sec.level}.`);
1046
1080
  break;
1047
1081
  case 'warn-and-keep-first':
1082
+ // Note, after pushing processing may continue or exit, depending on the error and/or the bail threshold.
1048
1083
  errorHandler.pushOrBail((0, errorDataHandler_1.toErrorLocation)(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}.`);
1049
1084
  return; // Keep first, don't overwrite.
1050
1085
  case 'warn-and-overwrite':
1086
+ // Note, after pushing processing may continue or exit, depending on the error and/or the bail threshold.
1051
1087
  errorHandler.pushOrBail((0, errorDataHandler_1.toErrorLocation)(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}.`);
1052
1088
  break; // Overwrite, replace value.
1053
1089
  case 'keep-first':
@@ -1065,30 +1101,25 @@ class ASTBuilder extends YiniParserVisitor_1.default {
1065
1101
  // Public entry
1066
1102
  buildAST(ctx) {
1067
1103
  this.visitYini?.(ctx);
1068
- // The document terminator is optional by default.
1069
- // If the option `isRequireDocTerminator` is set to true,
1070
- // the '/END' terminator at the end of the document becomes required.
1071
- if (!this.ast.terminatorSeen &&
1072
- this.options.rules.requireDocTerminator === 'required') {
1073
- const msgWhat = `Missing '/END' at end of document (option requireDocTerminator is ${this.options.rules.requireDocTerminator}).`;
1074
- const msgWhy = `The terminator '/END' (case insensitive) is required and must appear at the end of the document.`;
1075
- const msgHint = `This is option can be overriden by the option requireDocTerminator.`;
1104
+ // Strict-mode structural validation.
1105
+ this.validateStrictTopLevelStructure();
1106
+ const isMissingTerminator = !this.ast.terminatorSeen;
1107
+ // In strict mode, the document terminator is required by default.
1108
+ // However, the parse option `requireDocTerminator` is authoritative
1109
+ // and may override that default behavior.
1110
+ const terminatorPolicy = this.options.rules.requireDocTerminator;
1111
+ if (isMissingTerminator && terminatorPolicy === 'required') {
1076
1112
  // Note, after pushing processing may continue or exit, depending on the error and/or the bail threshold.
1077
- this.errorHandler.pushOrBail(undefined, 'Syntax-Error', msgWhat, msgWhy, msgHint);
1113
+ this.errorHandler.pushOrBail(undefined, 'Syntax-Error', "Missing '/END' at end of document.", "The document terminator '/END' (case-insensitive) is required at the end of the document.", "Add '/END' as the final significant line, or change requireDocTerminator to 'optional' or 'warn-if-missing'.");
1078
1114
  }
1079
- else if (!this.ast.terminatorSeen &&
1080
- this.options.rules.requireDocTerminator === 'warn-if-missing') {
1081
- const msgWhat = `Missing '/END' at end of document (option requireDocTerminator is ${this.options.rules.requireDocTerminator}).`;
1082
- const msgWhy = `The terminator '/END' (case insensitive) might be missing at the end of the document.`;
1083
- const msgHint = `This is option can be overriden by the option requireDocTerminator.`;
1115
+ else if (isMissingTerminator &&
1116
+ terminatorPolicy === 'warn-if-missing') {
1084
1117
  // Note, after pushing processing may continue or exit, depending on the error and/or the bail threshold.
1085
- this.errorHandler.pushOrBail(undefined, 'Syntax-Warning', msgWhat, msgWhy, msgHint);
1118
+ this.errorHandler.pushOrBail(undefined, 'Syntax-Warning', "Missing '/END' at end of document.", "The document terminator '/END' (case-insensitive) appears to be missing at the end of the document.", "Add '/END' as the final significant line, or change requireDocTerminator to 'optional'.");
1086
1119
  }
1087
- // Note: Below is important for error checking as well as for meta data.
1088
1120
  this.ast.numOfSections = this.mapSectionNamePaths.size;
1089
1121
  this.ast.numOfMembers = this._numOfMembers;
1090
1122
  if (this.options.isIncludeMeta) {
1091
- // Attach collected meta information.
1092
1123
  this.ast.maxDepth = this.meta_maxLevel;
1093
1124
  this.ast.sectionNamePaths = [...this.mapSectionNamePaths.keys()];
1094
1125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"astBuilder.js","sourceRoot":"","sources":["../../src/core/astBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"astBuilder.js","sourceRoot":"","sources":["../../src/core/astBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,15 @@
1
1
  import { ErrorDataHandler } from './errorDataHandler';
2
2
  import { IYiniAST } from './internalTypes';
3
3
  /**
4
- * Construct the final JavaScript Object.
5
- * Transforms the AST to the plain JS object.
4
+ * Construct the final JavaScript object.
5
+ * Transforms the AST into a plain JS object.
6
6
  *
7
- * - Keys are used exactly as-is.
8
- * - Order of properties matches the AST traversal order.
7
+ * Behavior:
8
+ * - Explicit top-level sections are mounted directly on the result.
9
+ * - In lenient mode, orphan top-level members are also mounted directly
10
+ * on the result.
11
+ * - Any collision between an orphan member name and a top-level section
12
+ * name results in an error.
9
13
  *
10
14
  * @note All `tag` fields MUST be ignored.
11
15
  */
@@ -1,53 +1,46 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.astToObject = void 0;
4
+ // src/core/objectBuilder.ts
4
5
  const env_1 = require("../config/env");
5
6
  const print_1 = require("../utils/print");
6
7
  /**
7
- * Construct the final JavaScript Object.
8
- * Transforms the AST to the plain JS object.
8
+ * Construct the final JavaScript object.
9
+ * Transforms the AST into a plain JS object.
9
10
  *
10
- * - Keys are used exactly as-is.
11
- * - Order of properties matches the AST traversal order.
11
+ * Behavior:
12
+ * - Explicit top-level sections are mounted directly on the result.
13
+ * - In lenient mode, orphan top-level members are also mounted directly
14
+ * on the result.
15
+ * - Any collision between an orphan member name and a top-level section
16
+ * name results in an error.
12
17
  *
13
18
  * @note All `tag` fields MUST be ignored.
14
19
  */
15
20
  const astToObject = (ast, errorHandler) => {
16
21
  (0, print_1.debugPrint)('-> constructFinalObject(..)');
17
- // return sectionChildrenToObject(ast.root)
18
22
  const out = {};
23
+ // 1) In lenient mode, mount orphan root members directly onto result.
24
+ if (!ast.isStrict) {
25
+ for (const [key, val] of ast.root.members) {
26
+ define(out, key, literalToJS(val));
27
+ }
28
+ }
29
+ // 2) Mount explicit top-level sections directly onto result.
19
30
  for (const child of ast.root.children) {
31
+ // Collision: a lenient orphan member already used this name.
32
+ if (Object.prototype.hasOwnProperty.call(out, child.sectionName)) {
33
+ errorHandler.pushOrBail(undefined, 'Syntax-Error', `Name collision between orphan member and section '${child.sectionName}'`, `The name '${child.sectionName}' is already used by a top-level member outside any explicit section and cannot also be used as a top-level section name.`, `Rename either the orphan member or the section to avoid the collision.`);
34
+ continue;
35
+ }
20
36
  define(out, child.sectionName, sectionToObject(child));
21
37
  }
22
38
  return out;
23
39
  };
24
40
  exports.astToObject = astToObject;
25
- /** Convert only the children of a section into an object keyed by sectionName. */
26
- // function sectionChildrenToObject(
27
- // section: YiniSection,
28
- // ): Record<string, unknown> {
29
- // const out: Record<string, unknown> = {}
30
- // for (const child of section.children) {
31
- // out[child.sectionName] = sectionToObject(child)
32
- // }
33
- // return out
34
- // }
35
- /** Convert a section (its members + nested sections) to a plain object. */
36
- // function sectionToObject(node: YiniSection): Record<string, unknown> {
37
- // const obj: Record<string, unknown> = {}
38
- // // Members → properties
39
- // for (const [key, val] of node.members.entries()) {
40
- // obj[key] = literalToJS(val)
41
- // }
42
- // // Nested sections → nested objects keyed by sectionName
43
- // for (const child of node.children) {
44
- // obj[child.sectionName] = sectionToObject(child)
45
- // }
46
- // return obj
47
- // }
48
41
  /**
49
- * Convert a section (members + nested sections) to a plain
50
- * object, preserving order.
42
+ * Convert a section (members + nested sections) to a plain object,
43
+ * preserving insertion order.
51
44
  */
52
45
  const sectionToObject = (node) => {
53
46
  const obj = {};
@@ -72,12 +65,6 @@ const sectionToObject = (node) => {
72
65
  const literalToJS = (v) => {
73
66
  const IS_LOCAL_DEBUG = false;
74
67
  (0, print_1.debugPrint)('In literalToJS(..)');
75
- // if (!v) {
76
- // // NOTE: Only in lenient-mode, if parsing a
77
- // // member (key = value), but the value is invalid
78
- // // key will get undefined
79
- // return undefined
80
- // }
81
68
  switch (v.type) {
82
69
  case 'String':
83
70
  case 'Number':
@@ -96,37 +83,20 @@ const literalToJS = (v) => {
96
83
  }
97
84
  const out = v.elems.map((elem) => {
98
85
  const ret = literalToJS(elem);
99
- if (IS_LOCAL_DEBUG) {
100
- if ((0, env_1.isDebug)()) {
101
- console.log(`elem:`);
102
- (0, print_1.printObject)(elem);
103
- }
86
+ if (IS_LOCAL_DEBUG && (0, env_1.isDebug)()) {
87
+ console.log('elem:');
88
+ (0, print_1.printObject)(elem);
104
89
  }
105
90
  return ret;
106
91
  });
107
- if (IS_LOCAL_DEBUG) {
108
- if ((0, env_1.isDebug)()) {
109
- console.log('Returning:');
110
- (0, print_1.printObject)(out);
111
- }
92
+ if (IS_LOCAL_DEBUG && (0, env_1.isDebug)()) {
93
+ console.log('Returning:');
94
+ (0, print_1.printObject)(out);
112
95
  }
113
96
  return out;
114
97
  }
115
98
  case 'Object': {
116
99
  const out = {};
117
- // for (const key of Object.keys(v.entries)) {
118
- // const entry = v.entries[key]
119
- // if (isScalar(entry)) {
120
- // // Scalar entries in object-literals: value
121
- // // out[key] = { type: entry.type, value: entry.value }
122
- // out[key] = entry.value
123
- // } else if (entry.type === 'List') {
124
- // out[key] = entry.elems.map(literalToJS)
125
- // } else {
126
- // out[key] = literalToJS(entry) // nested object-literal
127
- // }
128
- // }
129
- // Object.keys preserves property insertion order for plain objects
130
100
  for (const k of Object.keys(v.entries)) {
131
101
  define(out, k, literalToJS(v.entries[k]));
132
102
  }
@@ -135,8 +105,8 @@ const literalToJS = (v) => {
135
105
  }
136
106
  };
137
107
  /**
138
- * Helper function, defines a property to preserve explicit insertion
139
- * order and enumerability.
108
+ * Helper function that defines a property while preserving explicit
109
+ * insertion order and enumerability.
140
110
  */
141
111
  const define = (obj, key, value) => {
142
112
  Object.defineProperty(obj, key, {
@@ -1 +1 @@
1
- {"version":3,"file":"objectBuilder.js","sourceRoot":"","sources":["../../src/core/objectBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"objectBuilder.js","sourceRoot":"","sources":["../../src/core/objectBuilder.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,10 @@ const BASE_DEFAULTS = {
19
19
  //@todo: Change default throwOnError to false
20
20
  throwOnError: true, // Will throw on first parse error encountered.
21
21
  };
22
+ /**
23
+ * @note If editing any of these, the values in src/core/parsingRules/modeFromRulesMatcher.ts
24
+ * must match too.
25
+ */
22
26
  const DEFAULT_LENIENT_OPTS = {
23
27
  ...BASE_DEFAULTS,
24
28
  strictMode: false,
@@ -28,13 +32,17 @@ const DEFAULT_LENIENT_OPTS = {
28
32
  requireDocTerminator: 'optional',
29
33
  treatEmptyValueAsNull: 'allow',
30
34
  };
35
+ /**
36
+ * @note If editing any of these, the values in src/core/parsingRules/modeFromRulesMatcher.ts
37
+ * must match too.
38
+ */
31
39
  const DEFAULT_STRICT_OPTS = {
32
40
  ...BASE_DEFAULTS,
33
41
  strictMode: true,
34
42
  failLevel: 'errors',
35
43
  // Below are options for pure rules:
36
44
  onDuplicateKey: 'error',
37
- requireDocTerminator: 'optional',
45
+ requireDocTerminator: 'required',
38
46
  treatEmptyValueAsNull: 'disallow',
39
47
  };
40
48
  //# sourceMappingURL=defaultParserOptions.js.map