yini-parser 1.1.0-beta → 1.3.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 -2
  2. package/README.md +2 -2
  3. package/dist/YINI.d.ts +155 -27
  4. package/dist/YINI.js +145 -174
  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 → astBuilder.d.ts} +4 -4
  9. package/dist/core/{ASTBuilder.js → astBuilder.js} +82 -69
  10. package/dist/core/astBuilder.js.map +1 -0
  11. package/dist/core/{ErrorDataHandler.d.ts → errorDataHandler.d.ts} +16 -10
  12. package/dist/core/{ErrorDataHandler.js → errorDataHandler.js} +115 -109
  13. package/dist/core/errorDataHandler.js.map +1 -0
  14. package/dist/core/internalTypes.d.ts +127 -0
  15. package/dist/core/{types.js → internalTypes.js} +6 -0
  16. package/dist/core/internalTypes.js.map +1 -0
  17. package/dist/core/objectBuilder.d.ts +2 -2
  18. package/dist/core/objectBuilder.js +1 -0
  19. package/dist/core/objectBuilder.js.map +1 -0
  20. package/dist/core/options/defaultParserOptions.d.ts +17 -0
  21. package/dist/core/options/defaultParserOptions.js +46 -0
  22. package/dist/core/options/defaultParserOptions.js.map +1 -0
  23. package/dist/core/options/failLevel.d.ts +3 -0
  24. package/dist/core/options/failLevel.js +27 -0
  25. package/dist/core/options/failLevel.js.map +1 -0
  26. package/dist/core/options/optionsFunctions.d.ts +8 -0
  27. package/dist/core/options/optionsFunctions.js +62 -0
  28. package/dist/core/options/optionsFunctions.js.map +1 -0
  29. package/dist/core/parsingRules/modeFromRulesMatcher.d.ts +8 -0
  30. package/dist/core/parsingRules/modeFromRulesMatcher.js +114 -0
  31. package/dist/core/parsingRules/modeFromRulesMatcher.js.map +1 -0
  32. package/dist/core/parsingRules/rulesConstAndGuards.d.ts +7 -0
  33. package/dist/core/parsingRules/rulesConstAndGuards.js +35 -0
  34. package/dist/core/parsingRules/rulesConstAndGuards.js.map +1 -0
  35. package/dist/core/pipeline/errorListeners.d.ts +18 -0
  36. package/dist/core/pipeline/errorListeners.js +107 -0
  37. package/dist/core/pipeline/errorListeners.js.map +1 -0
  38. package/dist/core/pipeline/pipeline.d.ts +18 -0
  39. package/dist/core/pipeline/pipeline.js +244 -0
  40. package/dist/core/pipeline/pipeline.js.map +1 -0
  41. package/dist/core/resultMetadataBuilder.d.ts +19 -0
  42. package/dist/core/resultMetadataBuilder.js +187 -0
  43. package/dist/core/resultMetadataBuilder.js.map +1 -0
  44. package/dist/core/runtime.d.ts +21 -0
  45. package/dist/core/runtime.js +201 -0
  46. package/dist/core/runtime.js.map +1 -0
  47. package/dist/dev/main.d.ts +1 -0
  48. package/dist/dev/main.js +305 -0
  49. package/dist/dev/main.js.map +1 -0
  50. package/dist/grammar/{YiniLexer.js → generated/YiniLexer.js} +2 -1
  51. package/dist/grammar/generated/YiniLexer.js.map +1 -0
  52. package/dist/grammar/{YiniParser.js → generated/YiniParser.js} +2 -1
  53. package/dist/grammar/generated/YiniParser.js.map +1 -0
  54. package/dist/grammar/{YiniParserVisitor.js → generated/YiniParserVisitor.js} +2 -1
  55. package/dist/grammar/generated/YiniParserVisitor.js.map +1 -0
  56. package/dist/index.d.ts +40 -1
  57. package/dist/index.js +60 -359
  58. package/dist/index.js.map +1 -0
  59. package/dist/parsers/extractHeaderParts.d.ts +2 -2
  60. package/dist/parsers/extractHeaderParts.js +2 -1
  61. package/dist/parsers/extractHeaderParts.js.map +1 -0
  62. package/dist/parsers/extractSignificantYiniLine.js +2 -1
  63. package/dist/parsers/extractSignificantYiniLine.js.map +1 -0
  64. package/dist/parsers/parseBoolean.js +1 -0
  65. package/dist/parsers/parseBoolean.js.map +1 -0
  66. package/dist/parsers/parseNull.js +1 -0
  67. package/dist/parsers/parseNull.js.map +1 -0
  68. package/dist/parsers/parseNumber.js +1 -0
  69. package/dist/parsers/parseNumber.js.map +1 -0
  70. package/dist/parsers/parseSectionHeader.d.ts +3 -3
  71. package/dist/parsers/parseSectionHeader.js +2 -1
  72. package/dist/parsers/parseSectionHeader.js.map +1 -0
  73. package/dist/parsers/parseString.js +3 -3
  74. package/dist/parsers/parseString.js.map +1 -0
  75. package/dist/types/index.d.ts +219 -0
  76. package/dist/types/index.js +4 -0
  77. package/dist/types/index.js.map +1 -0
  78. package/dist/utils/number.js +1 -0
  79. package/dist/utils/number.js.map +1 -0
  80. package/dist/utils/object.d.ts +12 -0
  81. package/dist/utils/object.js +41 -1
  82. package/dist/utils/object.js.map +1 -0
  83. package/dist/utils/pathAndFileName.js +1 -0
  84. package/dist/utils/pathAndFileName.js.map +1 -0
  85. package/dist/utils/print.d.ts +2 -2
  86. package/dist/utils/print.js +11 -6
  87. package/dist/utils/print.js.map +1 -0
  88. package/dist/utils/string.d.ts +5 -0
  89. package/dist/utils/string.js +10 -1
  90. package/dist/utils/string.js.map +1 -0
  91. package/dist/utils/system.js +1 -0
  92. package/dist/utils/system.js.map +1 -0
  93. package/dist/{yiniHelpers.d.ts → utils/yiniHelpers.d.ts} +1 -1
  94. package/dist/{yiniHelpers.js → utils/yiniHelpers.js} +3 -2
  95. package/dist/utils/yiniHelpers.js.map +1 -0
  96. package/examples/basic-output.js +12 -12
  97. package/package.json +11 -6
  98. package/dist/core/types.d.ts +0 -249
  99. package/dist/parseEntry.d.ts +0 -3
  100. package/dist/parseEntry.js +0 -456
  101. /package/dist/grammar/{YiniLexer.d.ts → generated/YiniLexer.d.ts} +0 -0
  102. /package/dist/grammar/{YiniParser.d.ts → generated/YiniParser.d.ts} +0 -0
  103. /package/dist/grammar/{YiniParserVisitor.d.ts → generated/YiniParserVisitor.d.ts} +0 -0
@@ -0,0 +1,201 @@
1
+ "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ var _YiniRuntime_runtime;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.YiniRuntime = void 0;
19
+ const fs_1 = __importDefault(require("fs"));
20
+ const env_1 = require("../config/env");
21
+ const pathAndFileName_1 = require("../utils/pathAndFileName");
22
+ const print_1 = require("../utils/print");
23
+ const string_1 = require("../utils/string");
24
+ const defaultParserOptions_1 = require("./options/defaultParserOptions");
25
+ const failLevel_1 = require("./options/failLevel");
26
+ const optionsFunctions_1 = require("./options/optionsFunctions");
27
+ const pipeline_1 = require("./pipeline/pipeline");
28
+ /**
29
+ * Private class representing a runtime context for a single parse call.
30
+ *
31
+ * @note This design prevents race conditions: each call gets its own
32
+ * runtimeInfo and related state. Without this, multiple calls
33
+ * (especially in parallel) could overwrite each other's data.
34
+ *
35
+ * @note The following options MUST be respected!
36
+ * quiet?: boolean // Reduce output (show only errors, does not effect warnings and etc. in meta data).
37
+ * silent?: boolean // Suppress all output (even errors, exit code only).
38
+ */
39
+ class YiniRuntime {
40
+ constructor(sourceType) {
41
+ /**
42
+ * @note Leading # makes the property "truly private" at runtime.
43
+ */
44
+ _YiniRuntime_runtime.set(this, void 0);
45
+ __classPrivateFieldSet(this, _YiniRuntime_runtime, this.makeRuntimeInfo(), "f");
46
+ __classPrivateFieldGet(this, _YiniRuntime_runtime, "f").sourceType = sourceType;
47
+ }
48
+ makeRuntimeInfo() {
49
+ return {
50
+ sourceType: 'Inline',
51
+ fileName: undefined,
52
+ fileByteSize: null,
53
+ lineCount: null,
54
+ timeIoMs: null,
55
+ preferredBailSensitivity: null,
56
+ sha256: null,
57
+ };
58
+ }
59
+ // --- Single implementation --------------------------------------------
60
+ // Implementation method (not declared with arrow function) for both method overload signatures.
61
+ // NOTE: Must be method declaration with NO =, arrow functions not (currently) supported for this type of method overloading.
62
+ doParse(yiniContent, arg2, // strictMode | options
63
+ failLevel = 'auto', includeMetadata = false) {
64
+ (0, print_1.debugPrint)('-> Entered doParse(..) in YiniRuntime class\n');
65
+ // Runtime guard to catch illegal/ambiguous calls coming from JS or any-cast code
66
+ if ((0, optionsFunctions_1.isOptionsObjectForm)(arg2) &&
67
+ (failLevel !== 'auto' || includeMetadata !== false)) {
68
+ throw new TypeError('Invalid call: when providing an options object, do not also pass positional parameters.');
69
+ }
70
+ const mode = (0, optionsFunctions_1.inferModeFromArgs)(arg2);
71
+ const defaultOptions = (0, defaultParserOptions_1.getDefaultUserOptions)(mode);
72
+ // Normalize to a fully-required options object.
73
+ let userOpts;
74
+ // Required, makes all properties in T required, no undefined.
75
+ if ((0, optionsFunctions_1.isOptionsObjectForm)(arg2)) {
76
+ userOpts = {
77
+ ...defaultOptions, // Sets the default options.
78
+ ...arg2,
79
+ };
80
+ }
81
+ else {
82
+ // Positional form.
83
+ userOpts = {
84
+ ...defaultOptions, // Sets the default options.
85
+ strictMode: arg2 ?? defaultOptions.strictMode,
86
+ failLevel,
87
+ includeMetadata,
88
+ };
89
+ }
90
+ if (userOpts.includeMetadata && __classPrivateFieldGet(this, _YiniRuntime_runtime, "f").sourceType === 'Inline') {
91
+ const lineCount = yiniContent.split(/\r?\n/).length; // Counts the lines.
92
+ const sha256 = (0, string_1.computeSha256)(yiniContent); // NOTE: Compute BEFORE any possible tampering of content.
93
+ __classPrivateFieldGet(this, _YiniRuntime_runtime, "f").lineCount = lineCount;
94
+ __classPrivateFieldGet(this, _YiniRuntime_runtime, "f").preferredBailSensitivity = userOpts.failLevel;
95
+ __classPrivateFieldGet(this, _YiniRuntime_runtime, "f").sha256 = sha256;
96
+ }
97
+ // NOTE: Important: Do not trim or mutate the yiniContent here, due
98
+ // to it will mess up the line numbers in error reporting.
99
+ if (!yiniContent) {
100
+ throw new Error('Syntax-Error: Unexpected blank YINI input');
101
+ }
102
+ if (!yiniContent.endsWith('\n')) {
103
+ yiniContent += '\n';
104
+ }
105
+ let level = (0, failLevel_1.mapFailLevelToBail)(userOpts.strictMode, userOpts.failLevel);
106
+ const coreOpts = (0, optionsFunctions_1.toCoreOptions)(userOpts, level);
107
+ (0, print_1.debugPrint)();
108
+ (0, print_1.debugPrint)('==== Call runPipeline(..) ==========================');
109
+ const result = (0, pipeline_1.runPipeline)(yiniContent, coreOpts, __classPrivateFieldGet(this, _YiniRuntime_runtime, "f"), userOpts);
110
+ (0, print_1.debugPrint)('==== End call runPipeline ==========================\n');
111
+ if ((0, env_1.isDev)()) {
112
+ console.log();
113
+ (0, print_1.devPrint)('YINI.parse(..): result:');
114
+ console.log(result);
115
+ (0, print_1.devPrint)('Complete result:');
116
+ (0, print_1.printObject)(result);
117
+ }
118
+ return result;
119
+ }
120
+ // --- Single implementation --------------------------------------------
121
+ // Implementation method (not declared with arrow function) for both method overload signatures.
122
+ // NOTE: Must be method declaration with NO =, arrow functions not (currently) supported for this type of method overloading.
123
+ doParseFile(filePath, arg2, // strictMode | options
124
+ failLevel = 'auto', includeMetadata = false) {
125
+ (0, print_1.debugPrint)('-> Entered doParseFile(..) in YiniRuntime class\n');
126
+ (0, print_1.debugPrint)('Current directory = ' + process.cwd());
127
+ // Runtime guard to catch illegal/ambiguous calls coming from JS or any-cast code
128
+ if ((0, optionsFunctions_1.isOptionsObjectForm)(arg2) &&
129
+ (failLevel !== 'auto' || includeMetadata !== false)) {
130
+ throw new TypeError('Invalid call: when providing an options object, do not also pass positional parameters.');
131
+ }
132
+ const mode = (0, optionsFunctions_1.inferModeFromArgs)(arg2);
133
+ const defaultOptions = (0, defaultParserOptions_1.getDefaultUserOptions)(mode);
134
+ // Normalize to a fully-required options object.
135
+ let userOpts;
136
+ // Required, makes all properties in T required, no undefined.
137
+ if ((0, optionsFunctions_1.isOptionsObjectForm)(arg2)) {
138
+ // Options-object Form.
139
+ userOpts = {
140
+ ...defaultOptions, // Sets the default options.
141
+ ...arg2,
142
+ };
143
+ }
144
+ else {
145
+ // Positional form.
146
+ userOpts = {
147
+ ...defaultOptions, // Sets the default options.
148
+ strictMode: arg2 ?? defaultOptions.strictMode,
149
+ failLevel,
150
+ includeMetadata,
151
+ };
152
+ }
153
+ if ((0, pathAndFileName_1.getFileNameExtension)(filePath).toLowerCase() !== '.yini') {
154
+ // IMPORTANT: If "silent" option is set, do not log anything to console!
155
+ if (!userOpts.silent) {
156
+ // In quiet-mode we still show errors (these are fine).
157
+ console.error('Invalid file extension for YINI file:');
158
+ console.error(`"${filePath}"`);
159
+ console.error('File does not have a valid ".yini" extension (case-insensitive).');
160
+ }
161
+ throw new Error('Error: Unexpected file extension for YINI file');
162
+ }
163
+ // ---- Phase 0: I/O ----
164
+ const timeStartMs = performance.now();
165
+ // let content = fs.readFileSync(filePath, 'utf8')
166
+ const rawBuffer = fs_1.default.readFileSync(filePath); // Raw buffer for size.
167
+ const fileByteSize = rawBuffer.byteLength; // Byte size in UTF-8.
168
+ let content = rawBuffer.toString('utf8');
169
+ const timeEndMs = performance.now();
170
+ // this.#runtime.sourceType = 'File'
171
+ __classPrivateFieldGet(this, _YiniRuntime_runtime, "f").fileName = filePath;
172
+ __classPrivateFieldGet(this, _YiniRuntime_runtime, "f").timeIoMs = +(timeEndMs - timeStartMs).toFixed(3); // NOTE: (!) Dependent of isWithTiming.
173
+ if (userOpts.includeMetadata) {
174
+ __classPrivateFieldGet(this, _YiniRuntime_runtime, "f").lineCount = content.split(/\r?\n/).length; // Counts the lines.
175
+ __classPrivateFieldGet(this, _YiniRuntime_runtime, "f").fileByteSize = fileByteSize;
176
+ // this.#runtime.timeIoMs = +(timeEndMs - timeStartMs).toFixed(3) // NOTE: (!) Dependent of isWithTiming.
177
+ __classPrivateFieldGet(this, _YiniRuntime_runtime, "f").preferredBailSensitivity = userOpts.failLevel;
178
+ __classPrivateFieldGet(this, _YiniRuntime_runtime, "f").sha256 = (0, string_1.computeSha256)(content); // NOTE: Compute BEFORE any possible tampering of content.
179
+ }
180
+ let hasNoNewlineAtEOF = false;
181
+ if (!content.endsWith('\n')) {
182
+ content += '\n';
183
+ hasNoNewlineAtEOF = true;
184
+ }
185
+ const result = this.doParse(content, {
186
+ ...userOpts,
187
+ });
188
+ // if (hasNoNewlineAtEOF && !userOpts.quiet && !userOpts.silent) {
189
+ if (hasNoNewlineAtEOF && !userOpts.quiet) {
190
+ // IMPORTANT: If "silent" option is set, do not log anything to console!
191
+ if (!userOpts.silent) {
192
+ //@todo: (or maybe not, 20250917) Maybe let errorHandler emit message
193
+ console.warn(`No newline at end of file, it's recommended to end a file with a newline. File:\n"${filePath}"`);
194
+ }
195
+ }
196
+ return result;
197
+ }
198
+ }
199
+ exports.YiniRuntime = YiniRuntime;
200
+ _YiniRuntime_runtime = new WeakMap();
201
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/core/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,305 @@
1
+ "use strict";
2
+ /*
3
+ * This includes of dev / debug / demo / custom-tesing code.
4
+ *
5
+ * https://github.com/YINI-lang/yini-parser-typescript/blob/main/docs/Project-Setup.md
6
+ *
7
+ * Run this code with the following commands:
8
+ * npm run start:dev
9
+ * or
10
+ * npm run start:dev:debug
11
+ */
12
+ var __importDefault = (this && this.__importDefault) || function (mod) {
13
+ return (mod && mod.__esModule) ? mod : { "default": mod };
14
+ };
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ const env_1 = require("../config/env");
17
+ const print_1 = require("../utils/print");
18
+ const YINI_1 = __importDefault(require("../YINI"));
19
+ (0, print_1.debugPrint)();
20
+ (0, print_1.debugPrint)('-> Entered dev/main.ts');
21
+ (0, print_1.debugPrint)();
22
+ if ((0, env_1.isDev)() || (0, env_1.isDebug)()) {
23
+ console.log(`process.env?.NODE_ENV = '${process.env?.NODE_ENV}'`);
24
+ console.log(`process.env?.APP_ENV = '${process.env?.APP_ENV}'`);
25
+ console.log(`process.env?.IS_DEBUG = '${process.env?.IS_DEBUG}'`);
26
+ (0, print_1.debugPrint)();
27
+ console.log(`localNodeEnv = '${env_1.localNodeEnv}'`);
28
+ console.log(` localAppEnv = '${env_1.localAppEnv}'`);
29
+ console.log(' isProdEnv() = ' + (0, env_1.isProdEnv)());
30
+ console.log(' isDevEnv() = ' + (0, env_1.isDevEnv)());
31
+ console.log(' isTestEnv() = ' + (0, env_1.isTestEnv)());
32
+ console.log();
33
+ console.log(' isDev() = ' + (0, env_1.isDev)());
34
+ console.log(' isDebug() = ' + (0, env_1.isDebug)());
35
+ console.log();
36
+ }
37
+ const debugTestObj = {
38
+ name: 'e_test',
39
+ lang: 'TypeScript',
40
+ };
41
+ (0, print_1.debugPrint)('debugTestObj:');
42
+ (0, print_1.debugPrint)(debugTestObj);
43
+ (0, print_1.debugPrint)();
44
+ if ((0, env_1.isProdEnv)()) {
45
+ // Do nothing, and exit.
46
+ }
47
+ else {
48
+ if (env_1.localAppEnv === 'local' && env_1.localNodeEnv !== 'test') {
49
+ // parseUntilError(`^1 SectionName`, false, 2)
50
+ // const validYini = `
51
+ // < user
52
+ // username = 'tester two'
53
+ // isSysOp = YES
54
+ // << prefs
55
+ // theme = "light"
56
+ // notifications = OFF
57
+ // ^1 user2
58
+ // ^2 prefs
59
+ // ^3 deepSection
60
+ // ^4 deeperSection
61
+ // key = "Level 4 section"
62
+ // ^5 yetDeeperSection
63
+ // key = "Level 5 section"
64
+ // item = 77
65
+ // <1 user3
66
+ // username = 'tester three'
67
+ // isSysOp = NO
68
+ // <<2 prefs
69
+ // theme = "special-dark"
70
+ // notifications = ON
71
+ // `
72
+ // // Act.
73
+ // const result = parseUntilError(validYini)
74
+ // debugPrint(result)
75
+ // const validYini = `^ App
76
+ // id = 32403 # The correct app id.
77
+ // title = "My Program"
78
+ // `
79
+ /*
80
+ const yini = `
81
+ @yini
82
+
83
+ ^ NumberFormats
84
+
85
+ ^^ HexFormat // Hexadecimal (base-16)
86
+ hex = #FF0066 // Default notation
87
+ altHex = 0xFF0066 // Alternative notation
88
+ ^^ BinFormat // Binary (base-2)
89
+ bin = %10101111 // Default notation
90
+ altBin = 0b10101111 // Alternative notation
91
+ ^^ OctFormat // Octal (base-8)
92
+ oct = 0o755 // ( = decimal 493)
93
+ ^^ DozFormat // Duodecimal (base-12)
94
+ doz = 0z10XE // Default notation: X=10, E=11
95
+ altDoz = 0z10AB // Alternative notation: A=10, B=11
96
+ ` // End.
97
+ */
98
+ /*
99
+ const yini = `
100
+ @yini
101
+ @YINI ///dfsf
102
+
103
+ < User
104
+ nullKey =
105
+ nullKey2 = NULL
106
+ username = 'tester two'
107
+ userId = 234
108
+ userColor = #ffaa99
109
+ userPerm = 0O733
110
+ userFearues = %01101
111
+ isSysOp = YES
112
+
113
+ map = {
114
+ a: 3,
115
+ b: 4,
116
+ cc: 5,
117
+ \`d d\`: 3453
118
+ }
119
+
120
+ listValueB: 3, 4, 5
121
+ listValue2 = ["a", "b"]
122
+ listValue3 = [434]
123
+ listValue4 = []
124
+ listValue5 = [1, ["a", "b", "c", [null, TRUE]], 3]
125
+
126
+ --listObject = { a: 1, b: 2}
127
+
128
+ colonList:
129
+ 1,
130
+ 2,
131
+ 3,
132
+
133
+ << Prefs
134
+ theme = "light"
135
+ notifications = OFF
136
+ nullValue = NULL
137
+
138
+ ^1 User2
139
+ ^2 PrefsOfUser2
140
+ ^3 DeepSection
141
+ ^4 DeeperSection
142
+ key = "Level 4 section"
143
+ ^5 YetDeeperSection
144
+ key = "Level 5 section"
145
+ item = 77
146
+
147
+ <1 User3
148
+ username = 'tester three'
149
+ isSysOp = NO
150
+
151
+ <2 Prefs2
152
+ theme = "special-dark"
153
+ notifications = ON
154
+
155
+ <2 Special
156
+ value = 123
157
+ `
158
+ */
159
+ // npm run start:dev
160
+ // "timing": {
161
+ // "totalMs": 158.421,
162
+ // "phase1Ms": 151.36,
163
+ // "phase2Ms": 6.92,
164
+ // "phase3Ms": 0.14
165
+ // }
166
+ //console.log(toPrettyJSON(YINI.parse(yini, false, 'auto', true)))
167
+ // const yini = `
168
+ // < SubTitle
169
+ // theme = "special-dark"
170
+ // notifications = ON
171
+ // < SubTitle // NOT OK, SubTitle already exists
172
+ // theme2 = "special-dark"
173
+ // `
174
+ const errorYini = `
175
+ ^ Section1
176
+ 333="oops" // invalid key => error
177
+ `;
178
+ const warnYini = `
179
+ ^ Section2
180
+ // => warning, if requireDocTerminator: 'warn-if-missing'
181
+ `;
182
+ // console.log(
183
+ // toPrettyJSON(
184
+ YINI_1.default.parse(`
185
+ ^ Section1
186
+ value = // invalid in strict mode => error
187
+ `, {
188
+ // failLevel: 'errors',
189
+ throwOnError: false,
190
+ // requireDocTerminator: 'warn-if-missing',
191
+ strictMode: true,
192
+ silent: false,
193
+ // includeMetadata: false,
194
+ });
195
+ // ),
196
+ // )
197
+ // const yini = `
198
+ // /*sdfsdf*/
199
+ // @yini
200
+ // @include 'sdf'
201
+ // --@invalid
202
+ // @deprecated
203
+ // ^ window
204
+ // --^^ window2
205
+ // title = 'Sample Window' // Strings can be enclosed in either ' or ".
206
+ // @deprecated
207
+ // id = 'window_main'
208
+ // // @bla
209
+ // --@include 'wrongplace'
210
+ // --@yini // This is an error should be catched in the parser.
211
+ // /end
212
+ // `
213
+ // YINI.setTabSize(2)
214
+ // debugPrint('tab size = ' + YINI.getTabSize())
215
+ // const yini = ` @yini
216
+ // --@yini
217
+ // ^ Header // INVALID: Must start with atleast one 1-level section.
218
+ // key = 33254
219
+ // /END
220
+ // --/END
221
+ // `
222
+ // console.log(
223
+ // toPrettyJSON(
224
+ // YINI.parse(yini, {
225
+ // strictMode: false,
226
+ // failLevel: 'errors',
227
+ // includeMetadata: false,
228
+ // requireDocTerminator: 'optional',
229
+ // }),
230
+ // ),
231
+ // )
232
+ // const yini = `
233
+ // ^ Booleans
234
+ // bool1 = true
235
+ // bool2 = false
236
+ // bool3 = on
237
+ // bool4 = off
238
+ // bool5 = yes
239
+ // bool6 = no
240
+ // `
241
+ // console.log(
242
+ // toPrettyJSON(
243
+ // YINI.parse(yini, {
244
+ // strictMode: true,
245
+ // failLevel: 'auto',
246
+ // includeMetadata: false,
247
+ // requireDocTerminator: 'optional',
248
+ // }),
249
+ // ),
250
+ // )
251
+ // console.log(
252
+ // toPrettyJSON(
253
+ // YINI.parseFile(
254
+ // 'comprehensive-example.yini',
255
+ // false,
256
+ // 'auto',
257
+ // true,
258
+ // ),
259
+ // ),
260
+ // )
261
+ // const result: YiniParseResult = YINI.parseFile(
262
+ // 'comprehensive-example.yini',
263
+ // { includeMetadata: true },
264
+ // )
265
+ // console.log(toPrettyJSON('' + result.meta))
266
+ // console.log(
267
+ // toPrettyJSON(
268
+ // YINI.parseFile('comprehensive-example.yini', {
269
+ // strictMode: false,
270
+ // failLevel: 'auto',
271
+ // includeMetadata: true,
272
+ // }),
273
+ // ),
274
+ // )
275
+ // const fileName = './tests/fixtures/invalid/corrupt-config-2.yini'
276
+ // const result = YINI.parseFile(fileName, {
277
+ // strictMode: true,
278
+ // failLevel: 'ignore-errors',
279
+ // })
280
+ // printObject(result)
281
+ // let parserOptions: any = getDefaultUserOptions('lenient')
282
+ // debugPrint('** parserOptions: (lenient)')
283
+ // isDebug() && printObject(parserOptions)
284
+ // isDebug() &&
285
+ // console.log(
286
+ // 'derived mode = ' + matchModeFromParseOptions(parserOptions),
287
+ // )
288
+ // parserOptions = getDefaultUserOptions('strict')
289
+ // debugPrint('** parserOptions: (strict)')
290
+ // isDebug() && printObject(parserOptions)
291
+ // isDebug() &&
292
+ // console.log(
293
+ // 'derived mode = ' +
294
+ // matchModeFromCoreOptions(toCoreOptions(parserOptions)),
295
+ // )
296
+ // const fileName =
297
+ // './tests/fixtures/invalid/bad-user-profile-config-2.yini'
298
+ // YINI.parseFile(fileName, {
299
+ // strictMode: false,
300
+ // failLevel: 'auto',
301
+ // includeMetadata: true,
302
+ // })
303
+ }
304
+ }
305
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/dev/main.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- // Generated from grammar/v1.0.0-rc.3/YiniLexer.g4 by ANTLR 4.13.2
3
+ // Generated from ./grammar/v1.0.0-rc.3/YiniLexer.g4 by ANTLR 4.13.2
4
4
  // noinspection ES6UnusedImports,JSUnusedGlobalSymbols,JSUnusedLocalSymbols
5
5
  const antlr4_1 = require("antlr4");
6
6
  class YiniLexer extends antlr4_1.Lexer {
@@ -412,3 +412,4 @@ YiniLexer._serializedATN = [4, 0, 50, 705, 6, -1, 2, 0,
412
412
  636, 645, 650, 655, 666, 668, 673, 682, 691, 696, 702, 1, 6, 0, 0];
413
413
  YiniLexer.DecisionsToDFA = YiniLexer._ATN.decisionToState.map((ds, index) => new antlr4_1.DFA(ds, index));
414
414
  exports.default = YiniLexer;
415
+ //# sourceMappingURL=YiniLexer.js.map