cordova/mpdjs/jsbuild/r.js
function SourceMap(options) {
    options = defaults(options, {
        file : null,
        root : null,
        orig : null,

        orig_line_diff : 0,
        dest_line_diff : 0,
    });
    var generator = new MOZ_SourceMap.SourceMapGenerator({
        file       : options.file,
        sourceRoot : options.root
    });
    var orig_map = options.orig && new MOZ_SourceMap.SourceMapConsumer(options.orig);

    if (orig_map && Array.isArray(options.orig.sources)) {
        orig_map._sources.toArray().forEach(function(source) {
            var sourceContent = orig_map.sourceContentFor(source, true);
            if (sourceContent) {
                generator.setSourceContent(source, sourceContent);
            }
        });
    }

    function add(source, gen_line, gen_col, orig_line, orig_col, name) {
        if (orig_map) {
            var info = orig_map.originalPositionFor({
                line: orig_line,
                column: orig_col
            });
            if (info.source === null) {
                return;
            }
            source = info.source;
            orig_line = info.line;
            orig_col = info.column;
            name = info.name || name;
        }
        generator.addMapping({
            generated : { line: gen_line + options.dest_line_diff, column: gen_col },
            original  : { line: orig_line + options.orig_line_diff, column: orig_col },
            source    : source,
            name      : name
        });
    };
    return {
        add        : add,
        get        : function() { return generator },
        toString   : function() { return JSON.stringify(generator.toJSON()); }
    };
}
function SourceMap(options) {
    options = defaults(options, {
        file : null,
        root : null,
        orig : null,

        orig_line_diff : 0,
        dest_line_diff : 0,
    });
    var generator = new MOZ_SourceMap.SourceMapGenerator({
        file       : options.file,
        sourceRoot : options.root
    });
    var orig_map = options.orig && new MOZ_SourceMap.SourceMapConsumer(options.orig);

    if (orig_map && Array.isArray(options.orig.sources)) {
        orig_map._sources.toArray().forEach(function(source) {
            var sourceContent = orig_map.sourceContentFor(source, true);
            if (sourceContent) {
                generator.setSourceContent(source, sourceContent);
            }
        });
    }

    function add(source, gen_line, gen_col, orig_line, orig_col, name) {
        if (orig_map) {
            var info = orig_map.originalPositionFor({
                line: orig_line,
                column: orig_col
            });
            if (info.source === null) {
                return;
            }
            source = info.source;
            orig_line = info.line;
            orig_col = info.column;
            name = info.name || name;
        }
        generator.addMapping({
            generated : { line: gen_line + options.dest_line_diff, column: gen_col },
            original  : { line: orig_line + options.orig_line_diff, column: orig_col },
            source    : source,
            name      : name
        });
    };
    return {
        add        : add,
        get        : function() { return generator },
        toString   : function() { return JSON.stringify(generator.toJSON()); }
    };
}
function SourceMap ( options ) { options = defaults ( options , { file : null , root : null , orig : null , orig_line_diff : 0 , dest_line_diff : 0 , } ) ; var generator = new MOZ_SourceMap . SourceMapGenerator ( { file : options . file , sourceRoot : options . root } ) ; var orig_map = options . orig && new MOZ_SourceMap . SourceMapConsumer ( options . orig ) ; if ( orig_map && Array . isArray ( options . orig . sources ) ) { orig_map . _sources . toArray ( ) . forEach ( function ( source ) { var sourceContent = orig_map . sourceContentFor ( source , true ) ; if ( sourceContent ) { generator . setSourceContent ( source , sourceContent ) ; } } ) ; } function add ( source , gen_line , gen_col , orig_line , orig_col , name ) { if ( orig_map ) { var info = orig_map . originalPositionFor ( { line : orig_line , column : orig_col } ) ; if ( info . source === null ) { return ; } source = info . source ; orig_line = info . line ; orig_col = info . column ; name = info . name || name ; } generator . addMapping ( { generated : { line : gen_line + options . dest_line_diff , column : gen_col } , original : { line : orig_line + options . orig_line_diff , column : orig_col } , source : source , name : name } ) ; } ; return { add : add , get : function ( ) { return generator } , toString : function ( ) { return JSON . stringify ( generator . toJSON ( ) ) ; } } ; }
a small wrapper around fitzgen's source-map library
a small wrapper around fitzgen s source - map library