diff --git a/.travis.yml b/.travis.yml
index f9a314c..14c0f56 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -13,20 +13,4 @@ after_script:
- codeclimate-test-reporter < ./coverage/lcov.info
matrix:
include:
- - node_js: '8.11.2'
- before_install: npm -g i npm@2
- - node_js: '6.11.2'
- before_install: npm -g i npm@2
- - node_js: '10.2.1'
- before_install: npm -g i npm@2
- node_js: 'lts/*'
- before_install: npm -g i npm@2
- - node_js: '11'
- before_install: npm -g i npm@2
- - node_js: '12'
- before_install: npm -g i npm@2
- - node_js: '13'
- before_install: npm -g i npm@2
- - node_js: '14'
- before_install: npm -g i npm@2
- - node_js: '15'
diff --git a/lib/index.js b/lib/index.js
index 213efed..68d85d4 100755
--- a/lib/index.js
+++ b/lib/index.js
@@ -4,11 +4,12 @@ const xml = require('xml');
/**
* Check first argument. If true - push last argument to second argument
+ *
* @param condition
* @param array
* @param data
*/
-function ifTruePush(condition, array, data) {
+function pushIfConditionTrue(condition, array, data) {
if (condition) {
array.push(data);
}
@@ -17,9 +18,9 @@ function ifTruePush(condition, array, data) {
/**
* @param related
* @param itemValues
- * @param relatedfinity
+ * @param relatedInfinity
*/
-function addRelated(related, itemValues, relatedfinity) {
+function addRelated(related, itemValues, relatedInfinity) {
let relatedResult = related.map(function (rel) {
return {
link: [{
@@ -31,13 +32,32 @@ function addRelated(related, itemValues, relatedfinity) {
};
});
- if (relatedfinity) {
+ if (relatedInfinity) {
relatedResult.push({
_attr: {'type': 'infinity'}
});
}
- ifTruePush(related, itemValues, {'yandex:related': relatedResult});
+ pushIfConditionTrue(related, itemValues, {'yandex:related': relatedResult});
+}
+
+/**
+ * @param item
+ * @param itemValues
+ */
+function pushGoals(item, itemValues) {
+ if (item.goals.length > 0) {
+ item.goals.forEach(goal => itemValues.push({
+ 'turbo:goal': {
+ _attr: {
+ type: goal.type || 'yandex',
+ 'turbo-goal-id': goal.id,
+ name: goal.name,
+ id: goal.counter_id,
+ }
+ }
+ }));
+ }
}
/**
@@ -47,17 +67,16 @@ function addRelated(related, itemValues, relatedfinity) {
*/
function items(items, channel) {
items.forEach(function (item) {
- let item_values = [];
- item_values.push({_attr: {'turbo': item.turboEnabled ? 'true' : 'false'}});
- item_values.push({link: item.url});
+ let itemValues = [];
+ itemValues.push({_attr: {'turbo': item.turboEnabled ? 'true' : 'false'}});
+ itemValues.push({link: item.url});
- ifTruePush(item.turboSource, item_values, {'turbo:source': item.turboSource});
- ifTruePush(item.turboTopic, item_values, {'turbo:topic': item.turboTopic});
- ifTruePush(item.date, item_values, {pubDate: new Date(item.date).toUTCString()});
- ifTruePush(item.author, item_values, {author: item.author});
+ pushIfConditionTrue(item.turboSource, itemValues, {'turbo:source': item.turboSource});
+ pushIfConditionTrue(item.turboTopic, itemValues, {'turbo:topic': item.turboTopic});
+ pushIfConditionTrue(item.date, itemValues, {pubDate: new Date(item.date).toUTCString()});
+ pushIfConditionTrue(item.author, itemValues, {author: item.author});
- let img = '';
- let menu = '';
+ let img = '', menu = '';
if (item.image_url) {
img = '
';
@@ -71,26 +90,15 @@ function items(items, channel) {
let fullContent = '' + img + ' ' + item.title + '
' + menu + '' + item.content;
- if (item.goals.length > 0) {
- item.goals.forEach(goal => item_values.push({
- 'turbo:goal': {
- _attr: {
- type: goal.type || 'yandex',
- 'turbo-goal-id': goal.id,
- name: goal.name,
- id: goal.counter_id,
- }
- }
- }));
- }
+ pushGoals(item, itemValues);
- item_values.push({'turbo:content': {_cdata: fullContent}});
+ itemValues.push({'turbo:content': {_cdata: fullContent}});
if (typeof item.related !== 'undefined') {
- addRelated(item.related, item_values, item.relatedfinity);
+ addRelated(item.related, itemValues, item.relatedfinity);
}
- channel.push({item: item_values});
+ channel.push({item: itemValues});
});
}