yini-parser 1.0.2-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.
Files changed (103) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +83 -98
  3. package/dist/YINI.d.ts +162 -23
  4. package/dist/YINI.js +183 -99
  5. package/dist/YINI.js.map +1 -0
  6. package/dist/config/env.js +1 -0
  7. package/dist/config/env.js.map +1 -0
  8. package/dist/core/astBuilder.d.ts +191 -0
  9. package/dist/core/astBuilder.js +840 -0
  10. package/dist/core/astBuilder.js.map +1 -0
  11. package/dist/core/{ErrorDataHandler.d.ts → errorDataHandler.d.ts} +21 -19
  12. package/dist/core/errorDataHandler.js +271 -0
  13. package/dist/core/errorDataHandler.js.map +1 -0
  14. package/dist/core/internalTypes.d.ts +121 -0
  15. package/dist/core/internalTypes.js +16 -0
  16. package/dist/core/internalTypes.js.map +1 -0
  17. package/dist/core/objectBuilder.d.ts +10 -4
  18. package/dist/core/objectBuilder.js +127 -163
  19. package/dist/core/objectBuilder.js.map +1 -0
  20. package/dist/core/options/failLevel.d.ts +3 -0
  21. package/dist/core/options/failLevel.js +27 -0
  22. package/dist/core/options/failLevel.js.map +1 -0
  23. package/dist/core/options/normalizeOptions.d.ts +5 -0
  24. package/dist/core/options/normalizeOptions.js +53 -0
  25. package/dist/core/options/normalizeOptions.js.map +1 -0
  26. package/dist/core/options/parserOptionsConstants.d.ts +7 -0
  27. package/dist/core/options/parserOptionsConstants.js +37 -0
  28. package/dist/core/options/parserOptionsConstants.js.map +1 -0
  29. package/dist/core/pipeline.d.ts +18 -0
  30. package/dist/core/pipeline.js +323 -0
  31. package/dist/core/pipeline.js.map +1 -0
  32. package/dist/core/resultMetadataBuilder.d.ts +19 -0
  33. package/dist/core/resultMetadataBuilder.js +166 -0
  34. package/dist/core/resultMetadataBuilder.js.map +1 -0
  35. package/dist/core/runtime.d.ts +17 -0
  36. package/dist/core/runtime.js +189 -0
  37. package/dist/core/runtime.js.map +1 -0
  38. package/dist/dev/main.d.ts +1 -0
  39. package/dist/dev/main.js +374 -0
  40. package/dist/dev/main.js.map +1 -0
  41. package/dist/grammar/generated/YiniLexer.d.ts +74 -0
  42. package/dist/grammar/generated/YiniLexer.js +415 -0
  43. package/dist/grammar/generated/YiniLexer.js.map +1 -0
  44. package/dist/grammar/{YiniParser.d.ts → generated/YiniParser.d.ts} +167 -150
  45. package/dist/grammar/{YiniParser.js → generated/YiniParser.js} +1242 -1202
  46. package/dist/grammar/generated/YiniParser.js.map +1 -0
  47. package/dist/grammar/{YiniParserVisitor.d.ts → generated/YiniParserVisitor.d.ts} +59 -45
  48. package/dist/grammar/{YiniParserVisitor.js → generated/YiniParserVisitor.js} +2 -1
  49. package/dist/grammar/generated/YiniParserVisitor.js.map +1 -0
  50. package/dist/index.d.ts +43 -2
  51. package/dist/index.js +62 -101
  52. package/dist/index.js.map +1 -0
  53. package/dist/parsers/extractHeaderParts.d.ts +4 -3
  54. package/dist/parsers/extractHeaderParts.js +3 -1
  55. package/dist/parsers/extractHeaderParts.js.map +1 -0
  56. package/dist/parsers/extractSignificantYiniLine.js +2 -1
  57. package/dist/parsers/extractSignificantYiniLine.js.map +1 -0
  58. package/dist/parsers/parseBoolean.d.ts +1 -1
  59. package/dist/parsers/parseBoolean.js +3 -1
  60. package/dist/parsers/parseBoolean.js.map +1 -0
  61. package/dist/parsers/parseNull.js +1 -0
  62. package/dist/parsers/parseNull.js.map +1 -0
  63. package/dist/parsers/parseNumber.d.ts +8 -3
  64. package/dist/parsers/parseNumber.js +22 -7
  65. package/dist/parsers/parseNumber.js.map +1 -0
  66. package/dist/parsers/parseSectionHeader.d.ts +5 -4
  67. package/dist/parsers/parseSectionHeader.js +3 -1
  68. package/dist/parsers/parseSectionHeader.js.map +1 -0
  69. package/dist/parsers/parseString.js +3 -3
  70. package/dist/parsers/parseString.js.map +1 -0
  71. package/dist/types/index.d.ts +198 -0
  72. package/dist/types/index.js +4 -0
  73. package/dist/types/index.js.map +1 -0
  74. package/dist/utils/number.d.ts +3 -0
  75. package/dist/utils/number.js +19 -0
  76. package/dist/utils/number.js.map +1 -0
  77. package/dist/utils/object.d.ts +67 -0
  78. package/dist/utils/object.js +125 -0
  79. package/dist/utils/object.js.map +1 -0
  80. package/dist/utils/pathAndFileName.js +1 -0
  81. package/dist/utils/pathAndFileName.js.map +1 -0
  82. package/dist/utils/print.d.ts +2 -2
  83. package/dist/utils/print.js +11 -6
  84. package/dist/utils/print.js.map +1 -0
  85. package/dist/utils/string.d.ts +26 -1
  86. package/dist/utils/string.js +48 -4
  87. package/dist/utils/string.js.map +1 -0
  88. package/dist/utils/system.d.ts +15 -0
  89. package/dist/utils/system.js +22 -0
  90. package/dist/utils/system.js.map +1 -0
  91. package/dist/{yiniHelpers.d.ts → utils/yiniHelpers.d.ts} +3 -0
  92. package/dist/{yiniHelpers.js → utils/yiniHelpers.js} +46 -9
  93. package/dist/utils/yiniHelpers.js.map +1 -0
  94. package/package.json +7 -5
  95. package/dist/core/ErrorDataHandler.js +0 -203
  96. package/dist/core/YINIVisitor.d.ts +0 -158
  97. package/dist/core/YINIVisitor.js +0 -1008
  98. package/dist/core/types.d.ts +0 -59
  99. package/dist/core/types.js +0 -36
  100. package/dist/grammar/YiniLexer.d.ts +0 -68
  101. package/dist/grammar/YiniLexer.js +0 -379
  102. package/dist/parseEntry.d.ts +0 -2
  103. package/dist/parseEntry.js +0 -185
@@ -0,0 +1 @@
1
+ {"version":3,"file":"astBuilder.js","sourceRoot":"","sources":["../../src/core/astBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,17 @@
1
- import { TIssueType, TPersistThreshold } from './types';
2
- interface IIssuePayload {
3
- type: TIssueType;
4
- msgWhat: string;
5
- start: {
6
- line: number;
7
- column: number;
8
- };
9
- end?: {
10
- line?: number;
11
- column?: number;
12
- };
13
- }
1
+ import { IssuePayload } from '../types';
2
+ import { TBailSensitivityLevel, TIssueType, TSubjectType } from './internalTypes';
14
3
  /**
15
4
  * This class handles all error/notice reporting and processes exit/throwing.
16
5
  */
17
6
  export declare class ErrorDataHandler {
18
- private persistThreshold;
7
+ private readonly subjectType;
8
+ private readonly fileName;
9
+ private readonly persistThreshold;
10
+ private readonly isAvoidWarningsInConsole;
11
+ private errors;
12
+ private warnings;
13
+ private notices;
14
+ private infos;
19
15
  private numFatalErrors;
20
16
  private numInternalErrors;
21
17
  private numSyntaxErrors;
@@ -31,8 +27,8 @@ export declare class ErrorDataHandler {
31
27
  - Level 1 = abort on errors only
32
28
  - Level 2 = abort even on warnings
33
29
  */
34
- constructor(threshold?: TPersistThreshold);
35
- makeIssuePayload: (type: TIssueType, msgWhat: string, lineNum: number, startCol: number, endCol: number) => IIssuePayload;
30
+ constructor(subjectType: TSubjectType, fileName?: string | undefined, bailSensitivityLevel?: TBailSensitivityLevel, isAvoidWarningsInConsole?: boolean);
31
+ private makeIssue;
36
32
  /**
37
33
  * After pushing processing may continue or exit, depending on the error
38
34
  * and/or the bail threshold (that can be optionally set my the user).
@@ -46,15 +42,21 @@ export declare class ErrorDataHandler {
46
42
  * @param msgWhy More details and more specific info about the issue/error.
47
43
  * @param msgHint Hint or HUMBLE description on how to fix the issue.
48
44
  */
49
- pushOrBail: (ctx: any, type: TIssueType, msgWhat: string, msgWhy?: string, msgHint?: string) => void;
45
+ pushOrBail(ctx: any, type: TIssueType, msgWhat: string, msgWhy?: string, msgHint?: string): void;
46
+ private formatSignificantMessageLine;
50
47
  private emitFatalError;
51
48
  private emitInternalError;
52
49
  private emitSyntaxError;
53
50
  private emitSyntaxWarning;
54
51
  private emitNotice;
55
52
  private emitInfo;
53
+ getNumOfAllMessages(): number;
56
54
  getNumOfErrors(): number;
57
55
  getNumOfWarnings(): number;
58
- getNumOfInfoAndNotices(): number;
56
+ getNumOfNotices(): number;
57
+ getNumOfInfos(): number;
58
+ getErrors(): IssuePayload[];
59
+ getWarnings(): IssuePayload[];
60
+ getNotices(): IssuePayload[];
61
+ getInfos(): IssuePayload[];
59
62
  }
60
- export {};
@@ -0,0 +1,271 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ErrorDataHandler = void 0;
4
+ const env_1 = require("../config/env");
5
+ const print_1 = require("../utils/print");
6
+ const string_1 = require("../utils/string");
7
+ // All the issue titles are defined here to get a quick overview of all
8
+ // titles, and to easier check that all titles match with relation to
9
+ // the other titles.
10
+ const issueTitle = [
11
+ 'FATAL ERROR!',
12
+ 'Internal error!', // 'Internal-Error'.
13
+ 'Syntax error.', // 'Syntax-Error'.
14
+ 'Syntax warning.',
15
+ 'Notice:',
16
+ 'Info:',
17
+ ];
18
+ /**
19
+ * This class handles all error/notice reporting and processes exit/throwing.
20
+ */
21
+ class ErrorDataHandler {
22
+ /** '1-Abort-on-Errors' is the default.
23
+
24
+ Below is from the YINI spec:
25
+ **Abort Sensitivity Levels** while parsing a YINI document:
26
+ (AKA severity threshold)
27
+ - Level 0 = ignore errors and try parse anyway (may remap falty key/section names)
28
+ - Level 1 = abort on errors only
29
+ - Level 2 = abort even on warnings
30
+ */
31
+ constructor(subjectType, fileName = undefined, bailSensitivityLevel = '1-Abort-on-Errors', isAvoidWarningsInConsole = false) {
32
+ this.errors = [];
33
+ this.warnings = [];
34
+ this.notices = [];
35
+ this.infos = [];
36
+ this.numFatalErrors = 0;
37
+ this.numInternalErrors = 0;
38
+ this.numSyntaxErrors = 0;
39
+ this.numSyntaxWarnings = 0;
40
+ this.numNotices = 0;
41
+ this.numInfos = 0;
42
+ this.subjectType = subjectType;
43
+ this.fileName = fileName;
44
+ this.persistThreshold = bailSensitivityLevel;
45
+ this.isAvoidWarningsInConsole = isAvoidWarningsInConsole;
46
+ }
47
+ makeIssue(line, column, type, message, advice = undefined, hint = undefined) {
48
+ const issue = {
49
+ line,
50
+ column: !column ? undefined : column,
51
+ typeKey: (0, string_1.toLowerSnakeCase)(type),
52
+ message,
53
+ advice: advice || undefined, // Note, this will render ''-values as undfined and omit these in console outputs.
54
+ hint: hint || undefined, // Note, this will render ''-values as undfined and omit these in console outputs.
55
+ };
56
+ (0, print_1.debugPrint)('issue:');
57
+ (0, env_1.isDebug)() && console.log(issue);
58
+ return issue;
59
+ }
60
+ /**
61
+ * After pushing processing may continue or exit, depending on the error
62
+ * and/or the bail threshold (that can be optionally set my the user).
63
+ *
64
+ * @note This function MIGHT result in a return, throw, or exit depending
65
+ * on the bail policy (set my the user).
66
+ *
67
+ * @param ctx
68
+ * @param type
69
+ * @param msgWhat Name of the specific error or what failed. E.g. "Key already exists in this section scope".
70
+ * @param msgWhy More details and more specific info about the issue/error.
71
+ * @param msgHint Hint or HUMBLE description on how to fix the issue.
72
+ */
73
+ pushOrBail(ctx, type, msgWhat, msgWhy = '', msgHint = '') {
74
+ (0, print_1.debugPrint)('-> pushOrBail(..)');
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
+ (0, print_1.debugPrint)();
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).
85
+ const startCol = !ctx
86
+ ? undefined
87
+ : ++ctx.start.column; // Column (0-based).
88
+ const endCol = !!ctx?.stop?.column
89
+ ? ++ctx.stop.column
90
+ : undefined; // Note: Column (0-based).
91
+ let colNum = startCol || endCol;
92
+ let msgWhatWithLineNum = msgWhat;
93
+ if (lineNum && lineNum > 0) {
94
+ //@todo func that removes possible . at end
95
+ //msgWhatWithLineNum =
96
+ // Patch message with the offending line number.
97
+ msgWhatWithLineNum += ' at line ' + lineNum;
98
+ if (colNum) {
99
+ msgWhatWithLineNum += ', column ' + colNum;
100
+ }
101
+ if (process.env.NODE_ENV === 'test') {
102
+ msgWhatWithLineNum += `\nAt line: ${lineNum}, column(s): ${startCol}-${endCol}`;
103
+ }
104
+ }
105
+ (0, print_1.debugPrint)('persistThreshold = ' + this.persistThreshold);
106
+ (0, print_1.debugPrint)(' lineNum = ' + lineNum);
107
+ (0, print_1.debugPrint)(' colNum = ' + colNum);
108
+ (0, print_1.debugPrint)('startCol = ' + startCol);
109
+ (0, print_1.debugPrint)(' endCol = ' + endCol);
110
+ (0, print_1.debugPrint)();
111
+ const loc = {
112
+ lineNum: lineNum || 0, // 1-based, if n/a use 0.
113
+ colNum: colNum || 0, // 1-based, if n/a use 0.
114
+ };
115
+ console.log(); // Print an empty line before outputting message.
116
+ switch (type) {
117
+ case 'Internal-Error':
118
+ this.numInternalErrors++;
119
+ this.errors.push(this.makeIssue(lineNum, colNum, type, msgWhat, msgWhy, msgHint));
120
+ this.emitInternalError(loc, msgWhatWithLineNum, msgWhy, msgHint);
121
+ console.log(); // Emit an empty line before outputting message.
122
+ if (this.persistThreshold === '1-Abort-on-Errors' ||
123
+ this.persistThreshold === '2-Abort-Even-on-Warnings') {
124
+ // In test, throw an error instead of exiting.
125
+ throw new Error(`Internal-Error: ${msgWhat}`);
126
+ }
127
+ break;
128
+ case 'Syntax-Error':
129
+ this.numSyntaxErrors++;
130
+ this.errors.push(this.makeIssue(lineNum, colNum, type, msgWhat, msgWhy, msgHint));
131
+ this.emitSyntaxError(loc, msgWhatWithLineNum, msgWhy, msgHint);
132
+ console.log(); // Emit an empty line before outputting message.
133
+ if (this.persistThreshold === '1-Abort-on-Errors' ||
134
+ this.persistThreshold === '2-Abort-Even-on-Warnings') {
135
+ // In test, throw an error instead of exiting.
136
+ throw new Error(`Syntax-Error: ${'' + msgWhat}`);
137
+ }
138
+ break;
139
+ case 'Syntax-Warning':
140
+ this.numSyntaxWarnings++;
141
+ this.warnings.push(this.makeIssue(lineNum, colNum, type, msgWhat, msgWhy, msgHint));
142
+ if (!this.isAvoidWarningsInConsole) {
143
+ this.emitSyntaxWarning(loc, msgWhatWithLineNum, msgWhy, msgHint);
144
+ console.log(); // Emit an empty line before outputting message.
145
+ }
146
+ if (this.persistThreshold === '2-Abort-Even-on-Warnings') {
147
+ // In test, throw an error instead of exiting.
148
+ throw new Error(`Syntax-Warning: ${msgWhat}`);
149
+ }
150
+ break;
151
+ case 'Notice':
152
+ this.numNotices++;
153
+ this.notices.push(this.makeIssue(lineNum, colNum, type, msgWhat, msgWhy, msgHint));
154
+ this.emitNotice(loc, msgWhatWithLineNum, msgWhy, msgHint);
155
+ console.log(); // Emit an empty line before outputting message.
156
+ break;
157
+ case 'Info':
158
+ this.numInfos++;
159
+ this.infos.push(this.makeIssue(lineNum, colNum, type, msgWhat, msgWhy, msgHint));
160
+ this.emitInfo(loc, msgWhatWithLineNum, msgWhy, msgHint);
161
+ console.log(); // Emit an empty line before outputting message.
162
+ break;
163
+ default: // Including 'Internal-Error'.
164
+ this.numFatalErrors++;
165
+ this.errors.push(this.makeIssue(lineNum, colNum, type, msgWhat, msgWhy, msgHint));
166
+ this.emitFatalError(loc, msgWhatWithLineNum, msgWhy, msgHint);
167
+ console.log(); // Emit an empty line before outputting message.
168
+ // CANNOT recover fatal errors, will lead to an exit!
169
+ // In test, throw an error instead of exiting.
170
+ throw new Error(`Internal-Error: ${msgWhat}`);
171
+ }
172
+ }
173
+ formatSignificantMessageLine(loc, issueTitle) {
174
+ switch (this.subjectType) {
175
+ case 'None/Ignore':
176
+ return issueTitle;
177
+ case 'File':
178
+ case 'Inline': {
179
+ // Construct a full line from several parts.
180
+ const titlePart = (0, string_1.trimTrailingNonLetters)(issueTitle.trim());
181
+ let line = `${titlePart} in `;
182
+ if (this.subjectType === 'Inline') {
183
+ line += 'inline YINI content';
184
+ }
185
+ else {
186
+ line += `${this.fileName}`;
187
+ }
188
+ if (loc?.lineNum) {
189
+ line += `:${loc.lineNum}`;
190
+ if (loc?.colNum)
191
+ line += `:${loc.colNum}`;
192
+ }
193
+ return line;
194
+ }
195
+ }
196
+ }
197
+ emitFatalError(loc, msgWhat = 'Something went wrong!', msgWhy = '', msgHint = '') {
198
+ const messageHeader = this.formatSignificantMessageLine(loc, issueTitle[0]);
199
+ console.error(messageHeader); // Print the issue title.
200
+ msgWhat && console.log(msgWhat);
201
+ msgWhy && console.log(msgWhy);
202
+ msgHint && console.log(msgHint);
203
+ }
204
+ emitInternalError(loc, msgWhat = 'Something went wrong!', msgWhy = '', msgHint = '') {
205
+ const messageHeader = this.formatSignificantMessageLine(loc, issueTitle[1]);
206
+ console.error(messageHeader); // Print the issue title.
207
+ msgWhat && console.log(msgWhat);
208
+ msgWhy && console.log(msgWhy);
209
+ msgHint && console.log(msgHint);
210
+ }
211
+ emitSyntaxError(loc, msgWhat, msgWhy = '', msgHint = '') {
212
+ const messageHeader = this.formatSignificantMessageLine(loc, issueTitle[2]);
213
+ console.error(messageHeader); // Print the issue title.
214
+ msgWhat && console.log(msgWhat);
215
+ msgWhy && console.log(msgWhy);
216
+ msgHint && console.log(msgHint);
217
+ }
218
+ emitSyntaxWarning(loc, msgWhat, msgWhy = '', msgHint = '') {
219
+ const messageHeader = this.formatSignificantMessageLine(loc, issueTitle[3]);
220
+ console.warn(messageHeader); // Print the issue title.
221
+ msgWhat && console.log(msgWhat);
222
+ msgWhy && console.log(msgWhy);
223
+ msgHint && console.log(msgHint);
224
+ }
225
+ emitNotice(loc, msgWhat, msgWhy = '', msgHint = '') {
226
+ const messageHeader = this.formatSignificantMessageLine(loc, issueTitle[4]);
227
+ console.warn(messageHeader); // Print the issue title.
228
+ msgWhat && console.log(msgWhat);
229
+ msgWhy && console.log(msgWhy);
230
+ msgHint && console.log(msgHint);
231
+ }
232
+ emitInfo(loc, msgWhat, msgWhy = '', msgHint = '') {
233
+ const messageHeader = this.formatSignificantMessageLine(loc, issueTitle[5]);
234
+ console.info(messageHeader); // Print the issue title.
235
+ msgWhat && console.log(msgWhat);
236
+ msgWhy && console.log(msgWhy);
237
+ msgHint && console.log(msgHint);
238
+ }
239
+ getNumOfAllMessages() {
240
+ return (this.getNumOfErrors() +
241
+ this.getNumOfWarnings() +
242
+ this.getNumOfNotices() +
243
+ this.getNumOfNotices());
244
+ }
245
+ getNumOfErrors() {
246
+ return (this.numFatalErrors + this.numInternalErrors + this.numSyntaxErrors);
247
+ }
248
+ getNumOfWarnings() {
249
+ return this.numSyntaxWarnings;
250
+ }
251
+ getNumOfNotices() {
252
+ return this.numNotices;
253
+ }
254
+ getNumOfInfos() {
255
+ return this.numInfos;
256
+ }
257
+ getErrors() {
258
+ return this.errors;
259
+ }
260
+ getWarnings() {
261
+ return this.warnings;
262
+ }
263
+ getNotices() {
264
+ return this.notices;
265
+ }
266
+ getInfos() {
267
+ return this.infos;
268
+ }
269
+ }
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 {};
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ /**
3
+ * Internal types ONLY, public (user-facing) type should go into src/types/index.ts.
4
+ *
5
+ * @note
6
+ * The use of null vs undefined
7
+ * ----------------------------
8
+ * The convention here (in this file) is:
9
+ * - undefined is used where a value is missing, or does not apply.
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`.
14
+ */
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,6 +1,12 @@
1
- import { TJSObject, TSyntaxTreeContainer } from '../core/types';
2
- import { ErrorDataHandler } from './ErrorDataHandler';
1
+ import { ErrorDataHandler } from './errorDataHandler';
2
+ import { IYiniAST } from './internalTypes';
3
3
  /**
4
- * Construct the final result of a JavaScript Object.
4
+ * Construct the final JavaScript Object.
5
+ * Transforms the AST to the plain JS object.
6
+ *
7
+ * - Keys are used exactly as-is.
8
+ * - Order of properties matches the AST traversal order.
9
+ *
10
+ * @note All `tag` fields MUST be ignored.
5
11
  */
6
- export declare const constructFinalObject: (syntaxTreeC: TSyntaxTreeContainer, errorHandler: ErrorDataHandler) => TJSObject;
12
+ export declare const astToObject: (ast: IYiniAST, errorHandler: ErrorDataHandler) => Record<string, unknown>;