August 19, 2008

Code formatting and compression

dan’s code validation can compress and reformat compressed code.

here is the starting input: a function to cleanup strings to parse dates into objects.


function parseDate(s) {if (s.match(/^\s?\d{4}-\d{2}-\d{2}T\d{2}\:\d{2}:\d{2}Z\s?$/g)) {}var d = new Date;try {d.setTime(Date.parse(s));} catch (t) {var td = s.replace(/[-_\\.]/gm, "/").replace(/T!h+/, " ");d.setTime(Date.parse(td));}return d;}

Formatted: (296 chars)

function parseDate(s) {
    if (s.match(/^\s?\d{4}-\d{2}-\d{2}T\d{2}\:\d{2}:\d{2}Z\s?$/g)) {
    }
    var d = new Date;
    try {
	   d.setTime(Date.parse(s));
    } catch (t) {
	   var td = s.replace(/[-_\\.]/gm, "/").replace(/T!h+/, " ");
	   d.setTime(Date.parse(td));
    }
    return d;
}



Safe (programmatic) format: (356 chars)

    function parseDate(s) {
        if (s.match(/^\s?\d{4}-\d{2}-\d{2}T\d{2}\:\d{2}:\d{2}Z\s?$/g)) {
        }
        var d = new Date;
        try {
            d.setTime(Date.parse(s));
        } catch (t) {
            var td = s.replace(/[-_\\.]/gm, "/").replace(/T!h+/, " ");
            d.setTime(Date.parse(td));
        }
        return d;
    }



Safe (programmatic) compress: (244 chars)
function parseDate(s) {if (s.match(/^\s?\d{4}-\d{2}-\d{2}T\d{2}\:\d{2}:\d{2}Z\s?$/g)) {}var d = new Date;try {d.setTime(Date.parse(s));} catch (t) {var td = s.replace(/[-_\\.]/gm, "/").replace(/T!h+/, " ");d.setTime(Date.parse(td));}return d;}

Max compress: (234 chars)
function parseDate(s){if(s.match(/^\s?\d{4}-\d{2}-\d{2}T\d{2}\:\d{2}:\d{2}Z\s?$/g)){}var d=new Date;try{d.setTime(Date.parse(s));}catch (t){var td=s.replace(/[-_\\.]/gm, "/").replace(/T!h+/, " ");d.setTime(Date.parse(td));}return d;}

the app is available here

.