Advertisement
Danny_Berova

04.BrowserLogger

Oct 9th, 2018
370
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //problem 4 - Browser Logger
  2. function browserLogger(obj, commands) {
  3.     let browser = JSON.parse(JSON.stringify(obj));
  4.     let browserName = 'Browser Name';
  5.     let openTabs = "Open Tabs";
  6.     let recentlyClosed = 'Recently Closed';
  7.     let browserLogs = 'Browser Logs';
  8.  
  9.     for (let command of commands) {
  10.         let tokens = command.split(' ').filter(t => t !== '');
  11.         if (tokens[0] === "Open") {
  12.             browser[openTabs].push(tokens[1].trim());
  13.             browser[browserLogs].push(command);
  14.  
  15.         } else if (tokens[0] === "Close") {
  16.             let tab = tokens[1].trim();
  17.             if(browser[openTabs].includes(tab)) {
  18.                 browser[recentlyClosed].push(tab);
  19.                 let index = browser[openTabs].indexOf(tab);
  20.                 browser[openTabs].splice(index,1);
  21.                 browser[browserLogs].push(tokens[0] + ' ' + tokens[1]);
  22.             }
  23.  
  24.         } else if(command === 'Clear History and Cache'){
  25.             browser[openTabs] = [];
  26.             browser[recentlyClosed] = [];
  27.             browser[browserLogs] = [];
  28.         }
  29.     }
  30.  
  31.     let result = [];
  32.     result.push(browser[browserName]);
  33.     result.push('Open Tabs: ' + browser[openTabs].join(', '));
  34.     result.push('Recently Closed: ' + browser[recentlyClosed].join(', '));
  35.     result.push('Browser Logs: ' + browser[browserLogs].join(', '));
  36.     return result.join('\n').trim();
  37. }
  38.     let result = [];
  39.     result.push(browser[browserName]);
  40.     result.push('Open Tabs: ' + (browser[openTabs].length > 0 ? browser[openTabs].join(', ') : ''));
  41.     result.push('Recently Closed: ' + (browser[recentlyClosed].length > 0 ? browser[recentlyClosed].join(', ') : ''));
  42.     result.push('Browser Logs: ' + (browser[browserLogs].length > 0 ? browser[browserLogs].join(', ') : ''));
  43.     return result.join('\n').trim();
  44. }
  45.  
  46. console.log(browserLogger(
  47.     {"Browser Name":"Google Chrome",
  48.     "Open Tabs":["Facebook", 'Facebook', "YouTube","Google Translate"],
  49.     "Recently Closed":["Yahoo","Gmail"],
  50.     "Browser Logs":["Open YouTube","Open Yahoo","Open Google Translate","Close Yahoo","Open Gmail","Close Gmail","Open Facebook"]},
  51.     ['Close Facebook', 'Open StackOverFlow', 'Open Google']
  52. ));
  53.  
  54. console.log(browserLogger(
  55.     {"Browser Name":"Mozilla Firefox",
  56.     "Open Tabs":["YouTube"],
  57.     "Recently Closed":['Gmail', 'Dropbox'],
  58.     "Browser Logs":['Open Gmail', 'Close Gmail', 'Open Dropbox', 'Open YouTube', 'Close Dropbox']},
  59.     ['Open Wikipedia', 'Clear History and Cache', 'Open Twitter']
  60. ));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement