<commit_before>(function(window, undefined)
{
	'use strict';
	var FeedReader =
	{
		read: function(url, successFunction, errorFunction)
		{
			options = jQuery.extend({
				url: null,
				data: null,
				cache: true,
				success: null,
				failure: null,
				error: null,
				global: true
			}, options);

			if (options.url) {
				if (jQuery.isFunction(options.failure) && jQuery.type(options.error)==='null') {
				  // Handle legacy failure option
				  options.error = function(xhr, msg, e){
					options.failure(msg, e);
				  }
				} else if (jQuery.type(options.failure) === jQuery.type(options.error) === 'null') {
				  // Default error behavior if failure & error both unspecified
				  options.error = function(xhr, msg, e){
					window.console&&console.log('getFeed failed to load feed', xhr, msg, e);
				  }
				}
				return $.ajax({
					type: 'GET',
					url: options.url,
					data: options.data,
					cache: options.cache,
					dataType: (jQuery.browser.msie) ? "text" : "xml",
					success: function(xml) {
						var feed = new JFeed(xml);
						if (jQuery.isFunction(options.success)) options.success(feed);
					},
					error: options.error,
					global: options.global
				});
			}
		}
	};
	
	cordova.addConstructor(function() 
	{
		window.FeedReader = FeedReader;
		return window.FeedReader;
	});
	

function JFeed(xml) {
    if (xml) this.parse(xml);
}

JFeed.prototype = {

    type: '',
    version: '',
    title: '',
    link: '',
    description: '',
    parse: function(xml) {

        if (jQuery.browser.msie) {
            var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
            xmlDoc.loadXML(xml);
            xml = xmlDoc;
        }

        if (jQuery('channel', xml).length == 1) {

            this.type = 'rss';
            var feedClass = new JRss(xml);

        } else if (jQuery('feed', xml).length == 1) {

            this.type = 'atom';
            var feedClass = new JAtom(xml);
        }

        if (feedClass) jQuery.extend(this, feedClass);
    }
};

	function JFeedItem() {};

	JFeedItem.prototype = {

		title: '',
		link: '',
		description: '',
		updated: '',
		id: '',
		image: ''
	};

	function JAtom(xml) {
		this._parse(xml);
	};

	JAtom.prototype = {
		
		_parse: function(xml) {
		
			var channel = jQuery('feed', xml).eq(0);

			this.version = '1.0';
			this.title = jQuery(channel).find('title:first').text();
			this.link = jQuery(channel).find('link:first').attr('href');
			this.description = jQuery(channel).find('subtitle:first').text();
			this.language = jQuery(channel).attr('xml:lang');
			this.updated = jQuery(channel).find('updated:first').text();
			this.image = jQuery(channel).find('image:first').text();
			this.items = new Array();
			
			var feed = this;
			
			jQuery('entry', xml).each( function() {
			
				var item = new JFeedItem();
				
				item.title = jQuery(this).find('title').eq(0).text();
				item.link = jQuery(this).find('link').eq(0).attr('href');
				item.description = jQuery(this).find('content').eq(0).text();
				item.updated = jQuery(this).find('updated').eq(0).text();
				item.id = jQuery(this).find('id').eq(0).text();
				item.image = jQuery(this).find('image').eq(0).text();
				feed.items.push(item);
			});
		}
	};

	function JRss(xml) {
		this._parse(xml);
	};

	JRss.prototype  = {
		
		_parse: function(xml) {
		
			if(jQuery('rss', xml).length == 0) this.version = '1.0';
			else this.version = jQuery('rss', xml).eq(0).attr('version');

			var channel = jQuery('channel', xml).eq(0);
		
			this.title = jQuery(channel).find('title:first').text();
			this.link = jQuery(channel).find('link:first').text();
			this.description = jQuery(channel).find('description:first').text();
			this.language = jQuery(channel).find('language:first').text();
			this.updated = jQuery(channel).find('lastBuildDate:first').text();
			this.image = jQuery(channel).find('image:first').text();
			this.items = new Array();
			
			var feed = this;
			
			jQuery('item', xml).each( function() {
			
				var item = new JFeedItem();
				
				item.title = jQuery(this).find('title').eq(0).text();
				item.link = jQuery(this).find('link').eq(0).text();
				item.description = jQuery(this).find('description').eq(0).text();
				item.updated = jQuery(this).find('pubDate').eq(0).text();
				item.id = jQuery(this).find('guid').eq(0).text();
				item.image = jQuery(this).find('image').eq(0).text();
				feed.items.push(item);
			});
		}
	};


	
})(window);<commit_msg>Preparing Javascript<commit_after>var exec = require('cordova/exec');
var PLUGIN_NAME = "FeedReader";
var FeedReader = {
read: function(url, successFunction, errorFunction){
	options = jQuery.extend({
		url: null,
		data: null,
		cache: true,
		success: null,
		failure: null,
		error: null,
		global: true
	}, options);

	if (options.url) {
		if (jQuery.isFunction(options.failure) && jQuery.type(options.error)==='null') {
		  // Handle legacy failure option
		  options.error = function(xhr, msg, e){
			options.failure(msg, e);
		  }
		} else if (jQuery.type(options.failure) === jQuery.type(options.error) === 'null') {
		  // Default error behavior if failure & error both unspecified
		  options.error = function(xhr, msg, e){
			window.console&&console.log('getFeed failed to load feed', xhr, msg, e);
		  }
		}
		return $.ajax({
			type: 'GET',
			url: options.url,
			data: options.data,
			cache: options.cache,
			dataType: (jQuery.browser.msie) ? "text" : "xml",
			success: function(xml) {
				var feed = new JFeed(xml);
				if (jQuery.isFunction(options.success)) options.success(feed);
			},
			error: options.error,
			global: options.global
		});
	}
}
};
	
	cordova.addConstructor(function() 
	{
		window.FeedReader = FeedReader;
		return window.FeedReader;
	});
	

function JFeed(xml) {
    if (xml) this.parse(xml);
}

JFeed.prototype = {

    type: '',
    version: '',
    title: '',
    link: '',
    description: '',
    parse: function(xml) {

        if (jQuery.browser.msie) {
            var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
            xmlDoc.loadXML(xml);
            xml = xmlDoc;
        }

        if (jQuery('channel', xml).length == 1) {

            this.type = 'rss';
            var feedClass = new JRss(xml);

        } else if (jQuery('feed', xml).length == 1) {

            this.type = 'atom';
            var feedClass = new JAtom(xml);
        }

        if (feedClass) jQuery.extend(this, feedClass);
    }
};

	function JFeedItem() {};

	JFeedItem.prototype = {

		title: '',
		link: '',
		description: '',
		updated: '',
		id: '',
		image: ''
	};

	function JAtom(xml) {
		this._parse(xml);
	};

	JAtom.prototype = {
		
		_parse: function(xml) {
		
			var channel = jQuery('feed', xml).eq(0);

			this.version = '1.0';
			this.title = jQuery(channel).find('title:first').text();
			this.link = jQuery(channel).find('link:first').attr('href');
			this.description = jQuery(channel).find('subtitle:first').text();
			this.language = jQuery(channel).attr('xml:lang');
			this.updated = jQuery(channel).find('updated:first').text();
			this.image = jQuery(channel).find('image:first').text();
			this.items = new Array();
			
			var feed = this;
			
			jQuery('entry', xml).each( function() {
			
				var item = new JFeedItem();
				
				item.title = jQuery(this).find('title').eq(0).text();
				item.link = jQuery(this).find('link').eq(0).attr('href');
				item.description = jQuery(this).find('content').eq(0).text();
				item.updated = jQuery(this).find('updated').eq(0).text();
				item.id = jQuery(this).find('id').eq(0).text();
				item.image = jQuery(this).find('image').eq(0).text();
				feed.items.push(item);
			});
		}
	};

	function JRss(xml) {
		this._parse(xml);
	};

	JRss.prototype  = {
		
		_parse: function(xml) {
		
			if(jQuery('rss', xml).length == 0) this.version = '1.0';
			else this.version = jQuery('rss', xml).eq(0).attr('version');

			var channel = jQuery('channel', xml).eq(0);
		
			this.title = jQuery(channel).find('title:first').text();
			this.link = jQuery(channel).find('link:first').text();
			this.description = jQuery(channel).find('description:first').text();
			this.language = jQuery(channel).find('language:first').text();
			this.updated = jQuery(channel).find('lastBuildDate:first').text();
			this.image = jQuery(channel).find('image:first').text();
			this.items = new Array();
			
			var feed = this;
			
			jQuery('item', xml).each( function() {
			
				var item = new JFeedItem();
				
				item.title = jQuery(this).find('title').eq(0).text();
				item.link = jQuery(this).find('link').eq(0).text();
				item.description = jQuery(this).find('description').eq(0).text();
				item.updated = jQuery(this).find('pubDate').eq(0).text();
				item.id = jQuery(this).find('guid').eq(0).text();
				item.image = jQuery(this).find('image').eq(0).text();
				feed.items.push(item);
			});
		}
	};
module.exports = FeedReader;
{'fraction_non_alphanumeric': 0.19281855020261143, 'fraction_numerical': 0.00495272399819901, 'mean_word_length': 3.064501372369625, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 58}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7175467', 'n_tokens_mistral': 3432, 'n_tokens_neox': 2883, 'n_words': 529}