aboutsummaryrefslogtreecommitdiff
path: root/webAO/iniParse.js
diff options
context:
space:
mode:
authorstonedDiscord <Tukz@gmx.de>2025-06-26 18:25:52 +0200
committerstonedDiscord <Tukz@gmx.de>2025-06-26 18:25:52 +0200
commit576eacb298a6e4816a16f48e837785924ee2045f (patch)
tree592e2e0447bfc2d7bc40351c041cdc241b3eaf83 /webAO/iniParse.js
parent365a515d4916857518bbffb52af9ac919f0a88d1 (diff)
iniparse to typescript
Diffstat (limited to 'webAO/iniParse.js')
-rw-r--r--webAO/iniParse.js43
1 files changed, 0 insertions, 43 deletions
diff --git a/webAO/iniParse.js b/webAO/iniParse.js
deleted file mode 100644
index 62eeab0..0000000
--- a/webAO/iniParse.js
+++ /dev/null
@@ -1,43 +0,0 @@
-const regexPatterns = {
- section: /^\s*\[\s*([^\]]*)\s*\]\s*$/,
- param: /^\s*([\w.\-_]+)\s*=\s*(.*?)\s*$/,
- comment: /^\s*;.*$/,
-};
-
-const valueHandler = (matchKey, matchValue) =>
- matchKey === "showname" ? matchValue : matchValue.toLowerCase();
-
-const lineFilter = (value) => {
- const isEmpty = value.length === 0;
- const isComment = regexPatterns.comment.test(value);
- if (isComment || isEmpty) {
- return false;
- }
- return true;
-};
-
-const iniParse = (data) => {
- const parsedIni = {};
- const lines = data.split(/\r\n|\r|\n/);
- const filteredLines = lines.filter(lineFilter);
-
- let currentSection;
- filteredLines.forEach((line) => {
- const isParameter = regexPatterns.param.test(line);
- const isSection = regexPatterns.section.test(line);
- if (isParameter && currentSection) {
- const match = line.match(regexPatterns.param);
- const matchKey = match[1].toLowerCase();
- const matchValue = match[2];
- parsedIni[currentSection][matchKey] = valueHandler(matchKey, matchValue);
- } else if (isSection) {
- const match = line.match(regexPatterns.section);
- const matchKey = match[1].toLowerCase();
- parsedIni[matchKey] = {};
- currentSection = matchKey;
- }
- });
- return parsedIni;
-};
-
-export default iniParse;