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.
- package/CHANGELOG.md +50 -0
- package/README.md +83 -98
- package/dist/YINI.d.ts +162 -23
- package/dist/YINI.js +183 -99
- package/dist/YINI.js.map +1 -0
- package/dist/config/env.js +1 -0
- package/dist/config/env.js.map +1 -0
- package/dist/core/astBuilder.d.ts +191 -0
- package/dist/core/astBuilder.js +840 -0
- package/dist/core/astBuilder.js.map +1 -0
- package/dist/core/{ErrorDataHandler.d.ts → errorDataHandler.d.ts} +21 -19
- package/dist/core/errorDataHandler.js +271 -0
- package/dist/core/errorDataHandler.js.map +1 -0
- package/dist/core/internalTypes.d.ts +121 -0
- package/dist/core/internalTypes.js +16 -0
- package/dist/core/internalTypes.js.map +1 -0
- package/dist/core/objectBuilder.d.ts +10 -4
- package/dist/core/objectBuilder.js +127 -163
- package/dist/core/objectBuilder.js.map +1 -0
- package/dist/core/options/failLevel.d.ts +3 -0
- package/dist/core/options/failLevel.js +27 -0
- package/dist/core/options/failLevel.js.map +1 -0
- package/dist/core/options/normalizeOptions.d.ts +5 -0
- package/dist/core/options/normalizeOptions.js +53 -0
- package/dist/core/options/normalizeOptions.js.map +1 -0
- package/dist/core/options/parserOptionsConstants.d.ts +7 -0
- package/dist/core/options/parserOptionsConstants.js +37 -0
- package/dist/core/options/parserOptionsConstants.js.map +1 -0
- package/dist/core/pipeline.d.ts +18 -0
- package/dist/core/pipeline.js +323 -0
- package/dist/core/pipeline.js.map +1 -0
- package/dist/core/resultMetadataBuilder.d.ts +19 -0
- package/dist/core/resultMetadataBuilder.js +166 -0
- package/dist/core/resultMetadataBuilder.js.map +1 -0
- package/dist/core/runtime.d.ts +17 -0
- package/dist/core/runtime.js +189 -0
- package/dist/core/runtime.js.map +1 -0
- package/dist/dev/main.d.ts +1 -0
- package/dist/dev/main.js +374 -0
- package/dist/dev/main.js.map +1 -0
- package/dist/grammar/generated/YiniLexer.d.ts +74 -0
- package/dist/grammar/generated/YiniLexer.js +415 -0
- package/dist/grammar/generated/YiniLexer.js.map +1 -0
- package/dist/grammar/{YiniParser.d.ts → generated/YiniParser.d.ts} +167 -150
- package/dist/grammar/{YiniParser.js → generated/YiniParser.js} +1242 -1202
- package/dist/grammar/generated/YiniParser.js.map +1 -0
- package/dist/grammar/{YiniParserVisitor.d.ts → generated/YiniParserVisitor.d.ts} +59 -45
- package/dist/grammar/{YiniParserVisitor.js → generated/YiniParserVisitor.js} +2 -1
- package/dist/grammar/generated/YiniParserVisitor.js.map +1 -0
- package/dist/index.d.ts +43 -2
- package/dist/index.js +62 -101
- package/dist/index.js.map +1 -0
- package/dist/parsers/extractHeaderParts.d.ts +4 -3
- package/dist/parsers/extractHeaderParts.js +3 -1
- package/dist/parsers/extractHeaderParts.js.map +1 -0
- package/dist/parsers/extractSignificantYiniLine.js +2 -1
- package/dist/parsers/extractSignificantYiniLine.js.map +1 -0
- package/dist/parsers/parseBoolean.d.ts +1 -1
- package/dist/parsers/parseBoolean.js +3 -1
- package/dist/parsers/parseBoolean.js.map +1 -0
- package/dist/parsers/parseNull.js +1 -0
- package/dist/parsers/parseNull.js.map +1 -0
- package/dist/parsers/parseNumber.d.ts +8 -3
- package/dist/parsers/parseNumber.js +22 -7
- package/dist/parsers/parseNumber.js.map +1 -0
- package/dist/parsers/parseSectionHeader.d.ts +5 -4
- package/dist/parsers/parseSectionHeader.js +3 -1
- package/dist/parsers/parseSectionHeader.js.map +1 -0
- package/dist/parsers/parseString.js +3 -3
- package/dist/parsers/parseString.js.map +1 -0
- package/dist/types/index.d.ts +198 -0
- package/dist/types/index.js +4 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/number.d.ts +3 -0
- package/dist/utils/number.js +19 -0
- package/dist/utils/number.js.map +1 -0
- package/dist/utils/object.d.ts +67 -0
- package/dist/utils/object.js +125 -0
- package/dist/utils/object.js.map +1 -0
- package/dist/utils/pathAndFileName.js +1 -0
- package/dist/utils/pathAndFileName.js.map +1 -0
- package/dist/utils/print.d.ts +2 -2
- package/dist/utils/print.js +11 -6
- package/dist/utils/print.js.map +1 -0
- package/dist/utils/string.d.ts +26 -1
- package/dist/utils/string.js +48 -4
- package/dist/utils/string.js.map +1 -0
- package/dist/utils/system.d.ts +15 -0
- package/dist/utils/system.js +22 -0
- package/dist/utils/system.js.map +1 -0
- package/dist/{yiniHelpers.d.ts → utils/yiniHelpers.d.ts} +3 -0
- package/dist/{yiniHelpers.js → utils/yiniHelpers.js} +46 -9
- package/dist/utils/yiniHelpers.js.map +1 -0
- package/package.json +7 -5
- package/dist/core/ErrorDataHandler.js +0 -203
- package/dist/core/YINIVisitor.d.ts +0 -158
- package/dist/core/YINIVisitor.js +0 -1008
- package/dist/core/types.d.ts +0 -59
- package/dist/core/types.js +0 -36
- package/dist/grammar/YiniLexer.d.ts +0 -68
- package/dist/grammar/YiniLexer.js +0 -379
- package/dist/parseEntry.d.ts +0 -2
- 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.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
(
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
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/
|
|
2
|
-
import {
|
|
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?:
|
|
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"}
|
|
@@ -4,9 +4,11 @@ const print_1 = require("../utils/print");
|
|
|
4
4
|
/**
|
|
5
5
|
* Extract boolean literal.
|
|
6
6
|
*/
|
|
7
|
-
const parseBooleanLiteral = (
|
|
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"}
|
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 {
|
|
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 {
|
|
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/
|
|
2
|
-
import { TSectionHeaderType } from '../core/
|
|
3
|
-
import {
|
|
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 |
|
|
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":"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"}
|
|
@@ -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 ?
|
|
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((
|
|
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"}
|