doodah/web/doodah.js
// Modified by Si Dunford to always use lowercase for keys.

Modified by Si Dunford to always use lowercase for keys.
Modified by Si Dunford to always use lowercase for keys .
function parseINIString(data){
    var regex = {
        section: /^\s*\[\s*([^\]]*)\s*\]\s*$/,
        param: /^\s*([^=]+?)\s*=\s*(.*?)\s*$/,
        comment: /^\s*;.*$/
    };
    var value = {};
    var lines = data.split(/[\r\n]+/);
    var section = null;
    lines.forEach(function(line){
        if(regex.comment.test(line)){
            return;
        }else if(regex.param.test(line)){
            var match = line.match(regex.param);
            if(section){
                value[section][match[1].toLowerCase()] = match[2];
            }else{
                value[match[1].toLowerCase()] = match[2];
            }
        }else if(regex.section.test(line)){
            var match = line.match(regex.section);
            value[match[1]] = {};
            section = match[1];
        }else if(line.length == 0 && section){
            section = null;
        };
    });
    return value;
}
function parseINIString ( data ) { var regex = { section : / ^\s*\[\s*([^\]]*)\s*\]\s*$ / , param : / ^\s*([^=]+?)\s*=\s*(.*?)\s*$ / , comment : / ^\s*;.*$ / } ; var value = { } ; var lines = data . split ( / [\r\n]+ / ) ; var section = null ; lines . forEach ( function ( line ) { if ( regex . comment . test ( line ) ) { return ; } else if ( regex . param . test ( line ) ) { var match = line . match ( regex . param ) ; if ( section ) { value [ section ] [ match [ 1 ] . toLowerCase ( ) ] = match [ 2 ] ; } else { value [ match [ 1 ] . toLowerCase ( ) ] = match [ 2 ] ; } } else if ( regex . section . test ( line ) ) { var match = line . match ( regex . section ) ; value [ match [ 1 ] ] = { } ; section = match [ 1 ] ; } else if ( line . length == 0 && section ) { section = null ; } ; } ) ; return value ; }
Modified by Si Dunford to always use lowercase for keys.
Modified by Si Dunford to always use lowercase for keys .
//console.log( "DATA FILE:");
 //console.log( data);
 //console.log( value);
 //console.log( "INI FILE");
 //console.log( value);
