mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
587 B
27 lines
587 B
15 years ago
|
exports.parse = function(d) {
|
||
|
var trim = function(str) { return str.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); }
|
||
|
var ini = {'-':{}};
|
||
|
|
||
|
var section = '-';
|
||
|
|
||
|
var lines = d.split('\n');
|
||
|
for (var i=0; i<lines.length; i++) {
|
||
|
|
||
|
var re = /(.*)=(.*)|\[([a-z:\.0-9_\s]+)\]/i;
|
||
|
|
||
|
var match = lines[i].match(re);
|
||
|
if (match != null) {
|
||
|
if (match[3] != undefined) {
|
||
|
section = match[3];
|
||
|
ini[section] = {};
|
||
|
} else {
|
||
|
var key = trim(match[1]);
|
||
|
var value = trim(match[2]);
|
||
|
ini[section][key] = value;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return ini;
|
||
|
}
|