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
package/dist/index.js CHANGED
@@ -1,7 +1,15 @@
1
1
  "use strict";
2
+ // File: src/index.ts
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.setTabSize = exports.getTabSize = exports.parseFile = exports.parse = void 0;
2
8
  /*
9
+ This file is a pure barrel file.
10
+
3
11
  https://github.com/YINI-lang/yini-parser-typescript/blob/main/docs/Project-Setup.md
4
-
12
+
5
13
  Run the code with the following command:
6
14
  npm start
7
15
  or
@@ -11,106 +19,59 @@
11
19
 
12
20
  /END
13
21
  */
14
- var __importDefault = (this && this.__importDefault) || function (mod) {
15
- return (mod && mod.__esModule) ? mod : { "default": mod };
16
- };
17
- var _a, _b, _c;
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.parseFile = exports.parse = void 0;
20
- const env_1 = require("./config/env");
21
- const print_1 = require("./utils/print");
22
22
  const YINI_1 = __importDefault(require("./YINI"));
23
+ /**
24
+ * Main entry point for the YINI parser.
25
+ *
26
+ * Provides static methods for parsing YINI configuration files and strings.
27
+ *
28
+ * @example Parse inline content
29
+ * ```ts
30
+ * import YINI from 'yini-parser'
31
+ *
32
+ * const config = YINI.parse(`
33
+ * ^ App
34
+ * name = 'Demo'
35
+ * version = "1.0.0"
36
+ * `)
37
+ * ```
38
+ *
39
+ * @example Parse from a file
40
+ * ```ts
41
+ * import YINI from 'yini-parser'
42
+ *
43
+ * const config = YINI.parseFile('./config/app.yini')
44
+ * ```
45
+ */
46
+ // export { default as YINI } from './YINI' // NOTE: This line fail to export correctly!
47
+ exports.default = YINI_1.default; // Public package API.
23
48
  exports.parse = YINI_1.default.parse;
24
49
  exports.parseFile = YINI_1.default.parseFile;
25
- exports.default = YINI_1.default;
26
- (0, print_1.debugPrint)();
27
- (0, print_1.debugPrint)('-> Entered index.ts');
28
- (0, print_1.debugPrint)();
29
- if ((0, env_1.isDev)() || (0, env_1.isDebug)()) {
30
- console.log(`process.env?.NODE_ENV = '${(_a = process.env) === null || _a === void 0 ? void 0 : _a.NODE_ENV}'`);
31
- console.log(`process.env?.APP_ENV = '${(_b = process.env) === null || _b === void 0 ? void 0 : _b.APP_ENV}'`);
32
- console.log(`process.env?.IS_DEBUG = '${(_c = process.env) === null || _c === void 0 ? void 0 : _c.IS_DEBUG}'`);
33
- (0, print_1.debugPrint)();
34
- console.log(`localNodeEnv = '${env_1.localNodeEnv}'`);
35
- console.log(` localAppEnv = '${env_1.localAppEnv}'`);
36
- console.log(' isProdEnv() = ' + (0, env_1.isProdEnv)());
37
- console.log(' isDevEnv() = ' + (0, env_1.isDevEnv)());
38
- console.log(' isTestEnv() = ' + (0, env_1.isTestEnv)());
39
- console.log();
40
- console.log(' isDev() = ' + (0, env_1.isDev)());
41
- console.log(' isDebug() = ' + (0, env_1.isDebug)());
42
- console.log();
43
- }
44
- const debugTestObj = {
45
- name: 'e_test',
46
- lang: 'TypeScript',
47
- };
48
- (0, print_1.debugPrint)('debugTestObj:');
49
- (0, print_1.debugPrint)(debugTestObj);
50
- (0, print_1.debugPrint)();
51
- if ((0, env_1.isProdEnv)()) {
52
- // Do nothing, and exit.
53
- }
54
- else {
55
- if (env_1.localAppEnv === 'local' && env_1.localNodeEnv !== 'test') {
56
- // parseUntilError(`^1 SectionName`, false, 2)
57
- // const validYini = `
58
- // < user
59
- // username = 'tester two'
60
- // isSysOp = YES
61
- // << prefs
62
- // theme = "light"
63
- // notifications = OFF
64
- // ^1 user2
65
- // ^2 prefs
66
- // ^3 deepSection
67
- // ^4 deeperSection
68
- // key = "Level 4 section"
69
- // ^5 yetDeeperSection
70
- // key = "Level 5 section"
71
- // item = 77
72
- // <1 user3
73
- // username = 'tester three'
74
- // isSysOp = NO
75
- // <<2 prefs
76
- // theme = "special-dark"
77
- // notifications = ON
78
- // `
79
- // // Act.
80
- // const result = parseUntilError(validYini)
81
- // debugPrint(result)
82
- // const validYini = `^ App
83
- // id = 32403 # The correct app id.
84
- // title = "My Program"
85
- // `
86
- const yini = `
87
- ^ DozNumbers
88
- ^^ WithXE
89
- doz1 = 0z00
90
- doz2 = 0z01 // One with leading zeros
91
- doz3 = 0z100 // Decimal 144 (X/A is digit for 10 in base-12)
92
- doz4 = 0z7EE // Decimal 1151
93
- doz5 = 0zX00 // Decimal 1440 (E/B is digit for 11 in base-12)
94
-
95
- ^^ WithAB
96
- doz6 = 0z7BB // Decimal 1151
97
- doz7 = 0zA00 // Decimal 1440 (E/B is digit for 11 in base-12)
98
- `;
99
- console.log((0, print_1.toPrettyJSON)(YINI_1.default.parse(yini, false)));
100
- // console.log(
101
- // toPrettyJSON(YINI.parseFile('comprehensive-example.yini', true)),
102
- // )
103
- // const fileName = './tests/fixtures/valid/common/common-config-2.yini'
104
- // YINI.parseFile(fileName, false)
105
- // parseUntilError(`
106
- // ^ Section1
107
- // ^^ Section2
108
- // ^^^ Section3
109
- // ^^^^ Section4 // Level 4.
110
- // ^^^^^ Section5
111
- // ^^^^^^ Section6
112
- // ^^^^^^^ Section7
113
- // strVar = "These section header are valid!"
114
- // `)
115
- }
116
- }
50
+ exports.getTabSize = YINI_1.default.getTabSize;
51
+ exports.setTabSize = YINI_1.default.setTabSize;
52
+ // debugPrint()
53
+ // debugPrint('-> Entered index.ts')
54
+ // debugPrint()
55
+ // if (isDev() || isDebug()) {
56
+ // console.log(`process.env?.NODE_ENV = '${process.env?.NODE_ENV}'`)
57
+ // console.log(`process.env?.APP_ENV = '${process.env?.APP_ENV}'`)
58
+ // console.log(`process.env?.IS_DEBUG = '${process.env?.IS_DEBUG}'`)
59
+ // debugPrint()
60
+ // console.log(`localNodeEnv = '${localNodeEnv}'`)
61
+ // console.log(` localAppEnv = '${localAppEnv}'`)
62
+ // console.log(' isProdEnv() = ' + isProdEnv())
63
+ // console.log(' isDevEnv() = ' + isDevEnv())
64
+ // console.log(' isTestEnv() = ' + isTestEnv())
65
+ // console.log()
66
+ // console.log(' isDev() = ' + isDev())
67
+ // console.log(' isDebug() = ' + isDebug())
68
+ // console.log()
69
+ // }
70
+ // const debugTestObj = {
71
+ // name: 'e_test',
72
+ // lang: 'TypeScript',
73
+ // }
74
+ // debugPrint('debugTestObj:')
75
+ // debugPrint(debugTestObj)
76
+ // debugPrint()
77
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,qBAAqB;;;;;;AAErB;;;;;;;;;;;;;EAaE;AAEF,kDAAyB;AAEzB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wFAAwF;AACxF,kBAAe,cAAI,CAAA,CAAC,sBAAsB;AAE7B,QAAA,KAAK,GAAG,cAAI,CAAC,KAAK,CAAA;AAClB,QAAA,SAAS,GAAG,cAAI,CAAC,SAAS,CAAA;AAC1B,QAAA,UAAU,GAAG,cAAI,CAAC,UAAU,CAAA;AAC5B,QAAA,UAAU,GAAG,cAAI,CAAC,UAAU,CAAA;AAiCzC,eAAe;AACf,oCAAoC;AACpC,eAAe;AAEf,8BAA8B;AAC9B,wEAAwE;AACxE,uEAAuE;AACvE,wEAAwE;AAExE,mBAAmB;AACnB,sDAAsD;AACtD,qDAAqD;AACrD,mDAAmD;AACnD,kDAAkD;AAClD,mDAAmD;AACnD,oBAAoB;AACpB,+CAA+C;AAC/C,iDAAiD;AACjD,oBAAoB;AACpB,IAAI;AAEJ,yBAAyB;AACzB,sBAAsB;AACtB,0BAA0B;AAC1B,IAAI;AACJ,8BAA8B;AAC9B,2BAA2B;AAC3B,eAAe"}
@@ -1,5 +1,5 @@
1
- import { ErrorDataHandler } from '../core/ErrorDataHandler';
2
- import { SectionContext } from '../grammar/YiniParser';
1
+ import { ErrorDataHandler } from '../core/errorDataHandler';
2
+ import { StmtContext } from '../grammar/generated/YiniParser';
3
3
  /**
4
4
  * Check and identify the section header parts via tokenizing the parts and return them as strings.
5
5
  * @param rawHeaderLine Raw line with the section header where the header
@@ -19,10 +19,11 @@ import { SectionContext } from '../grammar/YiniParser';
19
19
  * - Backticked identifiers must be on a single line and must not contain tabs or new lines unless using escaping codes, except for ordinary spaces.
20
20
  * - Special control characters (U+0000–U+001F) must be escaped.
21
21
  *
22
+ * @note Implemented without regexp to keep it less cryptic, etc.
22
23
  * @note Returns the parts as strings; each part needs to be analyzed separately against the contraints in the specifications.
23
24
  * @returns An object with the identified header parts: marker characters, parsed name, and parsed level string.
24
25
  */
25
- declare const extractHeaderParts: (rawLine: string, errorHandler?: ErrorDataHandler | null, ctx?: SectionContext | null) => {
26
+ declare const extractHeaderParts: (rawLine: string, errorHandler?: ErrorDataHandler | null, ctx?: StmtContext | null) => {
26
27
  strMarkerChars: string;
27
28
  strSectionName: string;
28
29
  strNumberPart: string;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const print_1 = require("../utils/print");
4
- const yiniHelpers_1 = require("../yiniHelpers");
4
+ const yiniHelpers_1 = require("../utils/yiniHelpers");
5
5
  const extractSignificantYiniLine_1 = require("./extractSignificantYiniLine");
6
6
  /**
7
7
  * Check and identify the section header parts via tokenizing the parts and return them as strings.
@@ -22,6 +22,7 @@ const extractSignificantYiniLine_1 = require("./extractSignificantYiniLine");
22
22
  * - Backticked identifiers must be on a single line and must not contain tabs or new lines unless using escaping codes, except for ordinary spaces.
23
23
  * - Special control characters (U+0000–U+001F) must be escaped.
24
24
  *
25
+ * @note Implemented without regexp to keep it less cryptic, etc.
25
26
  * @note Returns the parts as strings; each part needs to be analyzed separately against the contraints in the specifications.
26
27
  * @returns An object with the identified header parts: marker characters, parsed name, and parsed level string.
27
28
  */
@@ -101,3 +102,4 @@ const extractHeaderParts = (rawLine, errorHandler = null, ctx = null) => {
101
102
  };
102
103
  };
103
104
  exports.default = extractHeaderParts;
105
+ //# sourceMappingURL=extractHeaderParts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractHeaderParts.js","sourceRoot":"","sources":["../../src/parsers/extractHeaderParts.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ exports.extractYiniLine = void 0;
4
4
  const env_1 = require("../config/env");
5
5
  const print_1 = require("../utils/print");
6
6
  const string_1 = require("../utils/string");
7
- const yiniHelpers_1 = require("../yiniHelpers");
7
+ const yiniHelpers_1 = require("../utils/yiniHelpers");
8
8
  /**
9
9
  * Extract significant YINI line from YINI content (that may be surrounded by comments.).
10
10
  * @param rawYiniContent For example:
@@ -68,3 +68,4 @@ const extractYiniLine = (rawYiniContent) => {
68
68
  return resultLine;
69
69
  };
70
70
  exports.extractYiniLine = extractYiniLine;
71
+ //# sourceMappingURL=extractSignificantYiniLine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractSignificantYiniLine.js","sourceRoot":"","sources":["../../src/parsers/extractSignificantYiniLine.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;AACvC,0CAAwD;AACxD,4CAA4C;AAC5C,sDAA4D;AAE5D;;;;;;;GAOG;AACI,MAAM,eAAe,GAAG,CAAC,cAAsB,EAAE,EAAE;IACtD,IAAA,kBAAU,EAAC,2CAA2C,CAAC,CAAA;IAEvD,MAAM,gBAAgB,GAAa,EAAE,CAAA;IACrC,IAAI,UAAU,GAAG,EAAE,CAAA;IAEnB,IAAA,kBAAU,EAAC,qBAAqB,GAAG,cAAc,GAAG,KAAK,CAAC,CAAA;IAE1D,MAAM,YAAY,GAAG,IAAA,mBAAU,EAAC,cAAc,CAAC,CAAA;IAC/C,IAAI,IAAA,aAAO,GAAE,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,uBAAuB,YAAY,CAAC,MAAM,GAAG,CAAC,CAAA;QAC1D,IAAA,mBAAW,EAAC,YAAY,CAAC,CAAA;IAC7B,CAAC;IAED,0CAA0C;IAC1C,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAC9B,IAAI,GAAG,GAAG,IAAI,CAAA;QACd,IAAA,kBAAU,EAAC,KAAK,CAAC,CAAA;QACjB,2CAA2C;QAC3C,6BAA6B;QAC7B,IAAA,kBAAU,EAAC,cAAc,GAAG,GAAG,GAAG,KAAK,CAAC,CAAA;QACxC,GAAG,GAAG,IAAA,mCAAqB,EAAC,GAAG,CAAC,CAAA;QAChC,IAAA,kBAAU,EAAC,cAAc,GAAG,GAAG,GAAG,KAAK,CAAC,CAAA;QACxC,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;QAChB,IAAA,kBAAU,EAAC,cAAc,GAAG,GAAG,GAAG,KAAK,CAAC,CAAA;QACxC,IAAI,GAAG,EAAE,CAAC;YACN,IAAA,kBAAU,EAAC,iDAAiD,CAAC,CAAA;YAC7D,IAAA,kBAAU,EAAC,gBAAgB,GAAG,GAAG,GAAG,KAAK,CAAC,CAAA;YAE1C,6BAA6B;YAC7B,aAAa;YACb,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC1B,QAAQ;QACZ,CAAC;IACL,CAAC;IACD,IAAA,kBAAU,EAAC,2DAA2D,CAAC,CAAA;IACvE,IAAA,kBAAU,GAAE,CAAA;IAEZ,QAAQ,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAC9B,KAAK,CAAC;YACF,UAAU,GAAG,EAAE,CAAA;YACf,MAAK;QACT,KAAK,CAAC;YACF,IAAA,kBAAU,EACN,2DAA2D,CAC9D,CAAA;YACD,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAA;YAChC,MAAK;QACT;YACI,IAAA,kBAAU,EACN,qFAAqF,CACxF,CAAA;YACD,IAAA,kBAAU,EACN,2BAA2B,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,KAAK,CAC5D,CAAA;YACD,IAAA,kBAAU,EACN,2BAA2B,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,KAAK,CAC5D,CAAA;QAEL,mBAAmB;QACnB,4EAA4E;QAC5E,2BAA2B;QAC3B,iBAAiB;QACjB,IAAI;IACR,CAAC;IAED,IAAA,kBAAU,EAAC,mDAAmD,CAAC,CAAA;IAE/D,IAAA,kBAAU,EAAC,iBAAiB,GAAG,UAAU,GAAG,KAAK,CAAC,CAAA;IAElD,OAAO,UAAU,CAAA;AACrB,CAAC,CAAA;AAvEY,QAAA,eAAe,mBAuE3B"}
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Extract boolean literal.
3
3
  */
4
- declare const parseBooleanLiteral: (txt: string) => boolean;
4
+ declare const parseBooleanLiteral: (text: string) => boolean;
5
5
  export default parseBooleanLiteral;
@@ -4,9 +4,11 @@ const print_1 = require("../utils/print");
4
4
  /**
5
5
  * Extract boolean literal.
6
6
  */
7
- const parseBooleanLiteral = (txt) => {
7
+ const parseBooleanLiteral = (text) => {
8
8
  (0, print_1.debugPrint)('-> Entered parseBooleanLiteral(..)');
9
+ const txt = text.trim().toLowerCase();
9
10
  const value = !!(txt === 'true' || txt === 'yes' || txt === 'on');
10
11
  return value;
11
12
  };
12
13
  exports.default = parseBooleanLiteral;
14
+ //# sourceMappingURL=parseBoolean.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseBoolean.js","sourceRoot":"","sources":["../../src/parsers/parseBoolean.ts"],"names":[],"mappings":";;AACA,0CAA2C;AAE3C;;GAEG;AACH,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAW,EAAE;IAClD,IAAA,kBAAU,EAAC,oCAAoC,CAAC,CAAA;IAChD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IACrC,MAAM,KAAK,GAAY,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,IAAI,CAAC,CAAA;IAE1E,OAAO,KAAK,CAAA;AAChB,CAAC,CAAA;AAED,kBAAe,mBAAmB,CAAA"}
@@ -9,3 +9,4 @@ const parseNullLiteral = (txt) => {
9
9
  return null;
10
10
  };
11
11
  exports.default = parseNullLiteral;
12
+ //# sourceMappingURL=parseNull.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseNull.js","sourceRoot":"","sources":["../../src/parsers/parseNull.ts"],"names":[],"mappings":";;AACA,0CAA2C;AAE3C,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAQ,EAAE;IAC3C,IAAA,kBAAU,EAAC,iCAAiC,CAAC,CAAA;IAE7C,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;QAC/B,MAAM,KAAK,CACP,yFAAyF,CAC5F,CAAA;IACL,CAAC;IAED,OAAO,IAAI,CAAA;AACf,CAAC,CAAA;AAED,kBAAe,gBAAgB,CAAA"}
@@ -1,6 +1,11 @@
1
- import { TDataType } from '../core/YINIVisitor';
1
+ /**
2
+ * @property {string | undefined} [tag]
3
+ * This parameter is for debugging only. Its
4
+ * contents may change at any time and should not
5
+ * be relied upon for any significant purpose.
6
+ */
2
7
  declare const parseNumberLiteral: (txt: string) => {
3
- type: TDataType;
4
- value: number;
8
+ tag: string | undefined;
9
+ value: number | undefined;
5
10
  };
6
11
  export default parseNumberLiteral;
@@ -1,13 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const number_1 = require("../utils/number");
3
4
  const print_1 = require("../utils/print");
5
+ /**
6
+ * @property {string | undefined} [tag]
7
+ * This parameter is for debugging only. Its
8
+ * contents may change at any time and should not
9
+ * be relied upon for any significant purpose.
10
+ */
4
11
  const parseNumberLiteral = (txt) => {
5
12
  (0, print_1.debugPrint)('-> Entered parseNumberLiteral(..), txt: ' + txt);
6
13
  if (/^[+-]?(?:\d+\.\d*|\d*\.?\d+)e[+-]?\d+$/i.test(txt)) {
7
14
  // Exp. numbers
8
15
  (0, print_1.debugPrint)('* Identified as an exp number');
9
16
  return {
10
- type: 'Number-Float',
17
+ tag: 'From exp number, Number-Float',
11
18
  // value: parseInt(txt.replace('#', '0x'), 16),
12
19
  value: parseFloat(txt),
13
20
  };
@@ -18,7 +25,7 @@ const parseNumberLiteral = (txt) => {
18
25
  (0, print_1.debugPrint)('* Identified as a hex number');
19
26
  (0, print_1.debugPrint)('parsed out HEX: ' + txt.replace(/0[xX]|#/, ''));
20
27
  return {
21
- type: 'Number-Integer',
28
+ tag: 'From hex number, Number-Integer',
22
29
  // value: parseInt(txt.replace('#', '0x'), 16),
23
30
  value: parseInt(txt.replace(/0[xX]|#/, ''), 16),
24
31
  };
@@ -29,7 +36,7 @@ const parseNumberLiteral = (txt) => {
29
36
  (0, print_1.debugPrint)('* Identified as a bin number');
30
37
  (0, print_1.debugPrint)('parsed out BIN: ' + txt.replace(/0[bB]|%/, ''));
31
38
  return {
32
- type: 'Number-Integer',
39
+ tag: 'From bin number, Number-Integer',
33
40
  value: parseInt(txt.replace(/0[bB]|%/, ''), 2),
34
41
  };
35
42
  }
@@ -39,7 +46,7 @@ const parseNumberLiteral = (txt) => {
39
46
  (0, print_1.debugPrint)('* Identified as a oct number');
40
47
  (0, print_1.debugPrint)('parsed out OCT: ' + txt.replace(/0[oO]/, ''));
41
48
  return {
42
- type: 'Number-Integer',
49
+ tag: 'From oct number, Number-Integer',
43
50
  value: parseInt(txt.replace(/0[oO]/, ''), 8),
44
51
  };
45
52
  }
@@ -52,18 +59,26 @@ const parseNumberLiteral = (txt) => {
52
59
  txt = txt.replace(/[eE]/g, 'B');
53
60
  (0, print_1.debugPrint)('Converter to AB form: ' + txt.replace(/0[zZ]/, ''));
54
61
  return {
55
- type: 'Number-Integer',
62
+ tag: 'From doz (duodecimal) number, Number-Integer',
56
63
  value: parseInt(txt.replace(/0[zZ]/, ''), 12),
57
64
  };
58
65
  }
59
66
  // In a regex literal the dot must be escaped (\.) to match a literal '.'
60
67
  if (/\./.test(txt)) {
61
68
  (0, print_1.debugPrint)('* Identified as a float number');
62
- return { type: 'Number-Float', value: parseFloat(txt) };
69
+ return {
70
+ tag: 'From float number, Number-Float',
71
+ value: parseFloat(txt),
72
+ };
63
73
  }
64
74
  // TODO: Depending, on mode, below continue or break on error
65
75
  //console.error('Error: Failed to parse number value: ' + txt)
76
+ if (!(0, number_1.isValidJSNumber)(txt)) {
77
+ (0, print_1.debugPrint)('* Identified as invalid number');
78
+ return { tag: 'From invalid number/value', value: undefined };
79
+ }
66
80
  (0, print_1.debugPrint)('* Identified as a int number');
67
- return { type: 'Number-Integer', value: parseInt(txt) };
81
+ return { tag: 'From int number, Number-Integer', value: parseInt(txt) };
68
82
  };
69
83
  exports.default = parseNumberLiteral;
84
+ //# sourceMappingURL=parseNumber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseNumber.js","sourceRoot":"","sources":["../../src/parsers/parseNumber.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
- import { ErrorDataHandler } from '../core/ErrorDataHandler';
2
- import { TSectionHeaderType } from '../core/types';
3
- import { SectionContext } from '../grammar/YiniParser';
1
+ import { ErrorDataHandler } from '../core/errorDataHandler';
2
+ import { TSectionHeaderType } from '../core/internalTypes';
3
+ import { StmtContext } from '../grammar/generated/YiniParser';
4
4
  /**
5
5
  * Extract ...
6
6
  * @param rawLine Raw line with the section header.
7
+ * @note Implemented without regexp to keep it less cryptic, etc.
7
8
  */
8
- declare const parseSectionHeader: (rawLine: string, errorHandler: ErrorDataHandler, ctx: null | SectionContext) => {
9
+ declare const parseSectionHeader: (rawLine: string, errorHandler: ErrorDataHandler, ctx: null | StmtContext) => {
9
10
  markerType: TSectionHeaderType;
10
11
  sectionName: string;
11
12
  sectionLevel: number;
@@ -7,10 +7,11 @@ const extractHeaderParts_1 = __importDefault(require("../parsers/extractHeaderPa
7
7
  const extractSignificantYiniLine_1 = require("../parsers/extractSignificantYiniLine");
8
8
  const print_1 = require("../utils/print");
9
9
  const string_1 = require("../utils/string");
10
- const yiniHelpers_1 = require("../yiniHelpers");
10
+ const yiniHelpers_1 = require("../utils/yiniHelpers");
11
11
  /**
12
12
  * Extract ...
13
13
  * @param rawLine Raw line with the section header.
14
+ * @note Implemented without regexp to keep it less cryptic, etc.
14
15
  */
15
16
  const parseSectionHeader = (rawLine, errorHandler, ctx) => {
16
17
  (0, print_1.debugPrint)('-> Entered parseSectionHeader(..)');
@@ -109,3 +110,4 @@ const parseSectionHeader = (rawLine, errorHandler, ctx) => {
109
110
  };
110
111
  };
111
112
  exports.default = parseSectionHeader;
113
+ //# sourceMappingURL=parseSectionHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseSectionHeader.js","sourceRoot":"","sources":["../../src/parsers/parseSectionHeader.ts"],"names":[],"mappings":";;;;;AAIA,uFAA8D;AAC9D,sFAAuE;AACvE,0CAA2C;AAC3C,4CAAwD;AACxD,sDAG6B;AAE7B;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,CACvB,OAAe,EACf,YAA8B,EAC9B,GAAuB,EAKzB,EAAE;IACA,IAAA,kBAAU,EAAC,mCAAmC,CAAC,CAAA;IAE/C,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;IAExB,MAAM,IAAI,GAAG,IAAA,4CAAe,EAAC,OAAO,CAAC,CAAA;IACrC,IAAA,kBAAU,EAAC,gCAAgC,GAAG,OAAO,GAAG,KAAK,CAAC,CAAA;IAC9D,IAAA,kBAAU,EAAC,gCAAgC,GAAG,IAAI,GAAG,KAAK,CAAC,CAAA;IAE3D,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,GACnE,IAAA,4BAAkB,EAAC,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,CAAA;IAClD,IAAA,kBAAU,EAAC,0DAA0D,CAAC,CAAA;IACtE,IAAA,kBAAU,EAAC,oBAAoB,GAAG,cAAc,CAAC,CAAA;IACjD,IAAA,kBAAU,EAAC,oBAAoB,GAAG,cAAc,CAAC,CAAA;IACjD,IAAA,kBAAU,EAAC,oBAAoB,GAAG,aAAa,CAAC,CAAA;IAChD,IAAA,kBAAU,EAAC,oBAAoB,GAAG,gBAAgB,CAAC,CAAA;IAEnD,IAAI,gBAAoC,CAAA;IACxC,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;QACxB,YAAY,CAAC,UAAU,CACnB,GAAG,EACH,cAAc,EACd,oCAAoC,EACpC,mEAAmE;YAC/D,OAAO,CACd,CAAA;IACL,CAAC;IAED,oEAAoE;IACpE,IAAI,aAAa,KAAK,EAAE,EAAE,CAAC;QACvB,gBAAgB,GAAG,uBAAuB,CAAA;QAE1C,KAAK,GAAG,cAAc,CAAC,MAAM,CAAA;QAC7B,IAAI,aAAa,KAAK,EAAE,EAAE,CAAC;YACvB,YAAY,CAAC,UAAU,CACnB,GAAG,EACH,cAAc,EACd,0EAA0E;gBACtE,aAAa,EACjB,wIAAwI,CAC3I,CAAA;QACL,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,gBAAgB,GAAG,uBAAuB,CAAA;QAC1C,IAAI,CAAC;YACD,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,YAAY,CAAC,UAAU,CACnB,GAAG,EACH,cAAc,EACd,yDAAyD,EACzD,0FAA0F;gBACtF,IAAI;gBACJ,SAAS;gBACT,OAAO,CACd,CAAA;QACL,CAAC;IACL,CAAC;IACD,kEAAkE;IAElE,kEAAkE;IAClE,IAAI,gBAAgB,KAAK,uBAAuB,EAAE,CAAC;QAC/C,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACZ,YAAY,CAAC,UAAU,CACnB,GAAG,EACH,cAAc,EACd,iDAAiD;gBAC7C,cAAc,EAClB,wNAAwN,CAC3N,CAAA;QACL,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACZ,YAAY,CAAC,UAAU,CACnB,GAAG,EACH,cAAc,EACd,sDAAsD;gBAClD,cAAc,EAClB,6FAA6F,CAChG,CAAA;QACL,CAAC;IACL,CAAC;IACD,kEAAkE;IAElE,mEAAmE;IACnE,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAA;IACvC,IAAI,gBAAgB,EAAE,CAAC;QACnB,IAAI,CAAC,IAAA,oCAAsB,EAAC,cAAc,CAAC,EAAE,CAAC;YAC1C,YAAY,CAAC,UAAU,CACnB,GAAG,EACH,cAAc,EACd,sDAAsD;gBAClD,cAAc;gBACd,GAAG,EACP,gEAAgE,CACnE,CAAA;QACL,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,IAAA,kBAAU,EAAC,4CAA4C,CAAC,CAAA;QACxD,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACjB,YAAY,CAAC,UAAU,CACnB,GAAG,EACH,cAAc,EACd,6EAA6E;gBACzE,cAAc;gBACd,GAAG,CACV,CAAA;QACL,CAAC;QAED,IAAI,CAAC,IAAA,gCAAkB,EAAC,cAAc,CAAC,EAAE,CAAC;YACtC,YAAY,CAAC,UAAU,CACnB,GAAG,EACH,cAAc,EACd,sDAAsD;gBAClD,cAAc;gBACd,GAAG,EACP,mFAAmF;gBAC/E,cAAc;gBACd,uBAAuB,CAC9B,CAAA;QACL,CAAC;QAED,cAAc,GAAG,IAAA,sBAAa,EAAC,cAAc,CAAC,CAAA;IAClD,CAAC;IACD,kEAAkE;IAClE,iDAAiD;IAEjD,IAAA,kBAAU,EAAC,wCAAwC,CAAC,CAAA;IACpD,IAAA,kBAAU,EAAC,0CAA0C,CAAC,CAAA;IACtD,IAAA,kBAAU,EAAC,oBAAoB,OAAO,KAAK,CAAC,CAAA;IAC5C,IAAA,kBAAU,EAAC,oBAAoB,IAAI,KAAK,CAAC,CAAA;IACzC,IAAA,kBAAU,GAAE,CAAA;IACZ,IAAA,kBAAU,EAAC,oBAAoB,GAAG,KAAK,CAAC,CAAA;IACxC,IAAA,kBAAU,EAAC,oBAAoB,GAAG,cAAc,CAAC,CAAA;IACjD,IAAA,kBAAU,EAAC,oBAAoB,GAAG,gBAAgB,CAAC,CAAA;IACnD,IAAA,kBAAU,EAAC,wCAAwC,CAAC,CAAA;IAEpD,OAAO;QACH,UAAU,EAAE,gBAAgB;QAC5B,WAAW,EAAE,cAAc;QAC3B,YAAY,EAAE,KAAK;KACtB,CAAA;AACL,CAAC,CAAA;AAED,kBAAe,kBAAkB,CAAA"}
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const env_1 = require("../config/env");
4
4
  const print_1 = require("../utils/print");
5
5
  const parseStringLiteral = (raw) => {
6
- var _a;
7
6
  (0, print_1.debugPrint)('-> Entered parseStringLiteral(..)');
8
7
  (0, print_1.debugPrint)('raw = >>>' + raw + '<<<');
9
8
  /*
@@ -15,7 +14,7 @@ const parseStringLiteral = (raw) => {
15
14
  if ((0, env_1.isDebug)()) {
16
15
  console.debug(prefixMatch);
17
16
  }
18
- let prefix = prefixMatch ? (_a = prefixMatch[1]) === null || _a === void 0 ? void 0 : _a.toUpperCase() : '';
17
+ let prefix = prefixMatch ? prefixMatch[1]?.toUpperCase() : '';
19
18
  (0, print_1.debugPrint)(' prefix = ' + prefix);
20
19
  let quoteType = prefixMatch ? prefixMatch[2] : '';
21
20
  (0, print_1.debugPrint)(' quoteType = ' + quoteType);
@@ -23,7 +22,7 @@ const parseStringLiteral = (raw) => {
23
22
  // Extracts the substring after removing the initial prefix (if any)
24
23
  // and quotes at the start (prefix.length + quoteType.length) and the
25
24
  // quotes at the end (-quoteType.length).
26
- let inner = raw.slice(((prefix === null || prefix === void 0 ? void 0 : prefix.length) || 0) + quoteType.length, -quoteType.length);
25
+ let inner = raw.slice((prefix?.length || 0) + quoteType.length, -quoteType.length);
27
26
  (0, print_1.debugPrint)('inner (raw) = ' + inner);
28
27
  if (prefix === 'C') {
29
28
  inner = inner
@@ -38,3 +37,4 @@ const parseStringLiteral = (raw) => {
38
37
  return inner;
39
38
  };
40
39
  exports.default = parseStringLiteral;
40
+ //# sourceMappingURL=parseString.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseString.js","sourceRoot":"","sources":["../../src/parsers/parseString.ts"],"names":[],"mappings":";;AAAA,uCAAuC;AACvC,0CAA2C;AAE3C,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAU,EAAE;IAC/C,IAAA,kBAAU,EAAC,mCAAmC,CAAC,CAAA;IAC/C,IAAA,kBAAU,EAAC,WAAW,GAAG,GAAG,GAAG,KAAK,CAAC,CAAA;IAErC;;;UAGM;IACN,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;IACzD,IAAA,kBAAU,EAAC,cAAc,CAAC,CAAA;IAC1B,IAAI,IAAA,aAAO,GAAE,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IAC9B,CAAC;IAED,IAAI,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7D,IAAA,kBAAU,EAAC,qBAAqB,GAAG,MAAM,CAAC,CAAA;IAE1C,IAAI,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACjD,IAAA,kBAAU,EAAC,qBAAqB,GAAG,SAAS,CAAC,CAAA;IAC7C,IAAA,kBAAU,EAAC,qBAAqB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;IAEpD,oEAAoE;IACpE,qEAAqE;IACrE,yCAAyC;IACzC,IAAI,KAAK,GAAG,GAAG,CAAC,KAAK,CACjB,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,EACxC,CAAC,SAAS,CAAC,MAAM,CACpB,CAAA;IACD,IAAA,kBAAU,EAAC,gBAAgB,GAAG,KAAK,CAAC,CAAA;IAEpC,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,KAAK,GAAG,KAAK;aACR,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;aACrB,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;aACrB,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC9B,CAAC;SAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACxB,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IACnD,CAAC;IAED,IAAA,kBAAU,EAAC,qBAAqB,GAAG,KAAK,CAAC,CAAA;IACzC,OAAO,KAAK,CAAA;AAChB,CAAC,CAAA;AAED,kBAAe,kBAAkB,CAAA"}