From d7a4c599ae832b7f220d9764f8d7d8ec4be9f5aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kuba=20Paczyn=CC=81ski?= Date: Mon, 2 Oct 2017 21:36:38 +0200 Subject: [PATCH] =?UTF-8?q?Added=20=E2=80=9Ccontains=E2=80=9D=20helper=20r?= =?UTF-8?q?eplacement=20to=20WakaTimeCore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/js/core/WakaTimeCore.js | 45 +++++++++++++++++++++++++++++++++- assets/js/helpers/contains.js | 29 ---------------------- 2 files changed, 44 insertions(+), 30 deletions(-) delete mode 100644 assets/js/helpers/contains.js diff --git a/assets/js/core/WakaTimeCore.js b/assets/js/core/WakaTimeCore.js index 2c10bc3..c3e0284 100644 --- a/assets/js/core/WakaTimeCore.js +++ b/assets/js/core/WakaTimeCore.js @@ -10,7 +10,6 @@ var config = require('./../config'); var getDomainFromUrl = require('./../helpers/getDomainFromUrl'); var changeExtensionState = require('../helpers/changeExtensionState'); var in_array = require('./../helpers/in_array'); -var contains = require('./../helpers/contains'); class WakaTimeCore { @@ -136,6 +135,50 @@ class WakaTimeCore { }); } + /** + * Creates an array from list using \n as delimiter + * and checks if any element in list is contained in the url. + * Also checks if element is assigned to a project using @@ as delimiter + * + * @param url + * @param list + * @returns {object} + */ + checkURL(url, list) { + var lines = list.split('\n'); + + for (var i = 0; i < lines.length; i ++) { + // Trim all lines from the list one by one + var cleanLine = lines[i].trim(); + + // If by any chance one line in the list is empty, ignore it + if (cleanLine === '') { + continue; + } + + // If url contains the current line return object + if (url.indexOf(cleanLine.split('@@')[0]) > -1) { + if (cleanLine.split('@@')[1]) { + return { + url: cleanLine.split('@@')[0], + project: cleanLine.split('@@')[1] + }; + } + else { + return { + url: cleanLine.split('@@')[0], + project: false + }; + } + } + } + + return { + url: false, + project: false + }; + } + /** * Creates payload for the heartbeat and returns it as JSON. * diff --git a/assets/js/helpers/contains.js b/assets/js/helpers/contains.js deleted file mode 100644 index cd9c53f..0000000 --- a/assets/js/helpers/contains.js +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Creates an array from list using \n as delimiter - * and checks if any element in list is contained in the url. - * - * @param url - * @param list - * @returns {boolean} - */ -function contains(url, list) { - var lines = list.split('\n'); - - for (var i = 0; i < lines.length; i ++) { - - // Trim all lines from the list one by one - var cleanLine = lines[i].trim(); - - // If by any chance one line in the list is empty, ignore it - if(cleanLine === '') continue; - - // If url contains the current line return true - if (url.indexOf(cleanLine) > -1) { - return true; - } - } - - return false; -} - -module.exports = contains;