in src/parsers/properties.js [19:58]
parse() {
this.parsedData = {};
const lines = this._propertiesString.split('\n');
let lineBuffer = null;
lines.forEach((line) => {
const cleanedLine = line.trim();
// Skip empty lines and comments
if (!cleanedLine) {
return;
}
if (cleanedLine.startsWith('#')) {
return;
}
// Line wraps multiple lines
if (cleanedLine.indexOf('=') === -1) {
if (lineBuffer) {
lineBuffer[1] += cleanedLine;
}
} else {
if (lineBuffer) {
// This line terminates a wrapped line
this.parsedData[lineBuffer[0].trim()] = lineBuffer[1].trim();
}
lineBuffer = cleanedLine.split('=', 2);
}
});
// Handle any left-over wrapped line data
if (lineBuffer) {
this.parsedData[lineBuffer[0].trim()] = lineBuffer[1].trim();
}
this.isValid = true;
}