This is an automated email from the ASF dual-hosted git repository.

poorejc pushed a commit to branch test
in repository https://gitbox.apache.org/repos/asf/incubator-flagon-useralejs.git

commit c23fec23d3f223979d407838f18f2150bdb0abd9
Author: Gedd Johnson <[email protected]>
AuthorDate: Tue Mar 23 11:53:08 2021 +0000

    refactors var into let/const
---
 build/UserALEWebExtension/background.js |  58 ++++-----
 build/UserALEWebExtension/content.js    | 209 +++++++++++++++----------------
 build/userale-2.1.1.js                  | 211 ++++++++++++++++----------------
 build/userale-2.1.1.min.js              |   2 +-
 package-lock.json                       |   9 +-
 src/attachHandlers.js                   |  15 ++-
 src/configure.js                        |   8 +-
 src/getInitialSettings.js               | 114 ++++++++---------
 src/main.js                             |  14 +--
 src/packageLogs.js                      |  52 ++++----
 src/sendLogs.js                         |   6 +-
 11 files changed, 351 insertions(+), 347 deletions(-)

diff --git a/build/UserALEWebExtension/background.js 
b/build/UserALEWebExtension/background.js
index 24fc4e3..73fb7ec 100644
--- a/build/UserALEWebExtension/background.js
+++ b/build/UserALEWebExtension/background.js
@@ -72,34 +72,36 @@ var ADD_LOG = prefix + 'ADD_LOG';
  * @return {timeStampScale~tsScaler}   The timestamp normalizing function.
  */
 function timeStampScale(e) {
-  if (e.timeStamp && e.timeStamp > 0) {
-    var delta = Date.now() - e.timeStamp;
-    /**
-     * Returns a timestamp depending on various browser quirks.
-     * @param  {?Number} ts A timestamp to use for normalization.
-     * @return {Number} A normalized timestamp.
-     */
-    var tsScaler;
-
-    if (delta < 0) {
-      tsScaler = function () {
-        return e.timeStamp / 1000;
-      };
-    } else if (delta > e.timeStamp) {
-      var navStart = performance.timing.navigationStart;
-      tsScaler = function (ts) {
-        return ts + navStart;
-      };
+    let tsScaler;
+    if (e.timeStamp && e.timeStamp > 0) {
+        const delta = Date.now() - e.timeStamp;
+        /**
+         * Returns a timestamp depending on various browser quirks.
+         * @param  {?Number} ts A timestamp to use for normalization.
+         * @return {Number} A normalized timestamp.
+         */
+
+        if (delta < 0) {
+            tsScaler = function () {
+                return e.timeStamp / 1000;
+            };
+        } else if (delta > e.timeStamp) {
+            const navStart = performance.timing.navigationStart;
+            tsScaler = function (ts) {
+                return ts + navStart;
+            };
+        } else {
+            tsScaler = function (ts) {
+                return ts;
+            };
+        }
     } else {
-      tsScaler = function (ts) {
-        return ts;
-      };
+        tsScaler = function () {
+            return Date.now();
+        };
     }
-  } else {
-    tsScaler = function () { return Date.now(); };
-  }
 
-  return tsScaler;
+    return tsScaler;
 }
 
 var __spreadArrays = (undefined && undefined.__spreadArrays) || function () {
@@ -348,7 +350,7 @@ function extractTimeFields(timeStamp) {
  * limitations under the License.
  */
 
-var sendIntervalId = null;
+let sendIntervalId = null;
 
 /**
  * Initializes the log queue processors.
@@ -417,10 +419,10 @@ function sendOnClose(logs, config) {
 
 // @todo expose config object to sendLogs replate url with config.url
 function sendLogs(logs, config, retries) {
-  var req = new XMLHttpRequest();
+  const req = new XMLHttpRequest();
 
   // @todo setRequestHeader for Auth
-  var data = JSON.stringify(logs);
+  const data = JSON.stringify(logs);
 
   req.open('POST', config.url);
   if (config.authHeader) {
diff --git a/build/UserALEWebExtension/content.js 
b/build/UserALEWebExtension/content.js
index 0c6e317..411fe1e 100644
--- a/build/UserALEWebExtension/content.js
+++ b/build/UserALEWebExtension/content.js
@@ -67,7 +67,7 @@ var version = "2.1.1";
  * limitations under the License.
  */
 
- var sessionId = null;
+let sessionId = null;
 
 /**
  * Extracts the initial configuration settings from the
@@ -75,33 +75,35 @@ var version = "2.1.1";
  * @return {Object} The extracted configuration object
  */
 function getInitialSettings() {
-  var settings = {};
+    const settings = {};
 
-  if (sessionId === null) {
-    sessionId = getSessionId('userAleSessionId', 'session_' + 
String(Date.now()));
-  }
+    if (sessionId === null) {
+        sessionId = getSessionId('userAleSessionId', 'session_' + 
String(Date.now()));
+    }
+
+    const script = document.currentScript || (function () {
+        const scripts = document.getElementsByTagName('script');
+        return scripts[scripts.length - 1];
+    })();
 
-  var script = document.currentScript || (function () {
-    var scripts = document.getElementsByTagName('script');
-    return scripts[scripts.length - 1];
-  })();
-
-  var get = script ? script.getAttribute.bind(script) : function() { return 
null; };
-  settings.autostart = get('data-autostart') === 'false' ? false : true;
-  settings.url = get('data-url') || 'http://localhost:8000';
-  settings.transmitInterval = +get('data-interval') || 5000;
-  settings.logCountThreshold = +get('data-threshold') || 5;
-  settings.userId = get('data-user') || null;
-  settings.version = get('data-version') || null;
-  settings.logDetails = get('data-log-details') === 'true' ? true : false;
-  settings.resolution = +get('data-resolution') || 500;
-  settings.toolName = get('data-tool') || null;
-  settings.userFromParams = get('data-user-from-params') || null;
-  settings.time = timeStampScale(document.createEvent('CustomEvent'));
-  settings.sessionID = get('data-session') || sessionId;
-  settings.authHeader = get('data-auth') || null;
-  settings.custIndex = get('data-index') || null;
-  return settings;
+    const get = script ? script.getAttribute.bind(script) : function () {
+        return null;
+    };
+    settings.autostart = get('data-autostart') === 'false' ? false : true;
+    settings.url = get('data-url') || 'http://localhost:8000';
+    settings.transmitInterval = +get('data-interval') || 5000;
+    settings.logCountThreshold = +get('data-threshold') || 5;
+    settings.userId = get('data-user') || null;
+    settings.version = get('data-version') || null;
+    settings.logDetails = get('data-log-details') === 'true' ? true : false;
+    settings.resolution = +get('data-resolution') || 500;
+    settings.toolName = get('data-tool') || null;
+    settings.userFromParams = get('data-user-from-params') || null;
+    settings.time = timeStampScale(document.createEvent('CustomEvent'));
+    settings.sessionID = get('data-session') || sessionId;
+    settings.authHeader = get('data-auth') || null;
+    settings.custIndex = get('data-index') || null;
+    return settings;
 }
 
 /**
@@ -110,13 +112,13 @@ function getInitialSettings() {
  * from refreshing the current user session
  *
  */
-function getSessionId(sessionKey, value){
-  if (window.sessionStorage.getItem(sessionKey) === null) {
-    window.sessionStorage.setItem(sessionKey, JSON.stringify(value));
-    return value;
-  }
+function getSessionId(sessionKey, value) {
+    if (window.sessionStorage.getItem(sessionKey) === null) {
+        window.sessionStorage.setItem(sessionKey, JSON.stringify(value));
+        return value;
+    }
 
-  return JSON.parse(window.sessionStorage.getItem(sessionKey));
+    return JSON.parse(window.sessionStorage.getItem(sessionKey));
 }
 
 
@@ -126,34 +128,36 @@ function getSessionId(sessionKey, value){
  * @return {timeStampScale~tsScaler}   The timestamp normalizing function.
  */
 function timeStampScale(e) {
-  if (e.timeStamp && e.timeStamp > 0) {
-    var delta = Date.now() - e.timeStamp;
-    /**
-     * Returns a timestamp depending on various browser quirks.
-     * @param  {?Number} ts A timestamp to use for normalization.
-     * @return {Number} A normalized timestamp.
-     */
-    var tsScaler;
-
-    if (delta < 0) {
-      tsScaler = function () {
-        return e.timeStamp / 1000;
-      };
-    } else if (delta > e.timeStamp) {
-      var navStart = performance.timing.navigationStart;
-      tsScaler = function (ts) {
-        return ts + navStart;
-      };
+    let tsScaler;
+    if (e.timeStamp && e.timeStamp > 0) {
+        const delta = Date.now() - e.timeStamp;
+        /**
+         * Returns a timestamp depending on various browser quirks.
+         * @param  {?Number} ts A timestamp to use for normalization.
+         * @return {Number} A normalized timestamp.
+         */
+
+        if (delta < 0) {
+            tsScaler = function () {
+                return e.timeStamp / 1000;
+            };
+        } else if (delta > e.timeStamp) {
+            const navStart = performance.timing.navigationStart;
+            tsScaler = function (ts) {
+                return ts + navStart;
+            };
+        } else {
+            tsScaler = function (ts) {
+                return ts;
+            };
+        }
     } else {
-      tsScaler = function (ts) {
-        return ts;
-      };
+        tsScaler = function () {
+            return Date.now();
+        };
     }
-  } else {
-    tsScaler = function () { return Date.now(); };
-  }
 
-  return tsScaler;
+    return tsScaler;
 }
 
 /*
@@ -182,7 +186,7 @@ function timeStampScale(e) {
 function configure(config, newConfig) {
   Object.keys(newConfig).forEach(function(option) {
     if (option === 'userFromParams') {
-      var userId = getUserIdFromParams(newConfig[option]);
+      const userId = getUserIdFromParams(newConfig[option]);
       if (userId) {
         config.userId = userId;
       }
@@ -197,9 +201,9 @@ function configure(config, newConfig) {
  * @return {string|null}       The extracted/decoded userid, or null if none 
is found.
  */
 function getUserIdFromParams(param) {
-  var userField = param;
-  var regex = new RegExp('[?&]' + userField + '(=([^&#]*)|&|#|$)');
-  var results = window.location.href.match(regex);
+  const userField = param;
+  const regex = new RegExp('[?&]' + userField + '(=([^&#]*)|&|#|$)');
+  const results = window.location.href.match(regex);
 
   if (results && results[2]) {
     return decodeURIComponent(results[2].replace(/\+/g, ' '));
@@ -422,21 +426,21 @@ function createVersionParts(count) {
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var browser$1 = detect();
+const browser$1 = detect();
 
-var logs$1;
-var config$1;
+let logs$1;
+let config$1;
 
 // Interval Logging Globals
-var intervalID;
-var intervalType;
-var intervalPath;
-var intervalTimer;
-var intervalCounter;
-var intervalLog;
+let intervalID;
+let intervalType;
+let intervalPath;
+let intervalTimer;
+let intervalCounter;
+let intervalLog;
 
-var filterHandler = null;
-var mapHandler = null;
+let filterHandler = null;
+let mapHandler = null;
 
 /**
  * Assigns a handler to filter logs out of the queue.
@@ -476,16 +480,16 @@ function packageLog(e, detailFcn) {
     return false;
   }
 
-  var details = null;
+  let details = null;
   if (detailFcn) {
     details = detailFcn(e);
   }
 
-  var timeFields = extractTimeFields(
+  const timeFields = extractTimeFields(
     (e.timeStamp && e.timeStamp > 0) ? config$1.time(e.timeStamp) : Date.now()
   );
 
-  var log = {
+  let log = {
     'target' : getSelector(e.target),
     'path' : buildPath(e),
     'pageUrl': window.location.href,
@@ -532,12 +536,12 @@ function packageCustomLog(customLog, detailFcn, 
userAction) {
         return false;
     }
 
-    var details = null;
+    let details = null;
     if (detailFcn) {
         details = detailFcn();
     }
 
-    var metaData = {
+    const metaData = {
         'pageUrl': window.location.href,
         'pageTitle': document.title,
         'pageReferrer': document.referrer,
@@ -554,7 +558,7 @@ function packageCustomLog(customLog, detailFcn, userAction) 
{
         'sessionID': config$1.sessionID
     };
 
-    var log = Object.assign(metaData, customLog);
+    let log = Object.assign(metaData, customLog);
 
     if ((typeof filterHandler === 'function') && !filterHandler(log)) {
         return false;
@@ -588,10 +592,10 @@ function extractTimeFields(timeStamp) {
  * @return boolean
  */
 function packageIntervalLog(e) {
-    var target = getSelector(e.target);
-    var path = buildPath(e);
-    var type = e.type;
-    var timestamp = Math.floor((e.timeStamp && e.timeStamp > 0) ? 
config$1.time(e.timeStamp) : Date.now());
+    const target = getSelector(e.target);
+    const path = buildPath(e);
+    const type = e.type;
+    const timestamp = Math.floor((e.timeStamp && e.timeStamp > 0) ? 
config$1.time(e.timeStamp) : Date.now());
 
     // Init - this should only happen once on initialization
     if (intervalID == null) {
@@ -702,11 +706,11 @@ function getSelector(ele) {
  * @return {HTMLElement[]}   Array of elements, starting at the event target, 
ending at the root element.
  */
 function buildPath(e) {
-  var path = [];
+  let path = [];
   if (e.path) {
     path = e.path;
   } else {
-    var ele = e.target;
+    let ele = e.target;
     while(ele) {
       path.push(ele);
       ele = ele.parentElement;
@@ -722,9 +726,9 @@ function buildPath(e) {
  * @return {string[]}      Array of string CSS selectors.
  */
 function selectorizePath(path) {
-  var i = 0;
-  var pathEle;
-  var pathSelectors = [];
+  let i = 0;
+  let pathEle;
+  const pathSelectors = [];
   while (pathEle = path[i]) {
     pathSelectors.push(getSelector(pathEle));
     ++i;
@@ -756,7 +760,7 @@ function detectBrowser() {
  * limitations under the License.
  */
 
-var sendIntervalId = null;
+let sendIntervalId = null;
 
 /**
  * Initializes the log queue processors.
@@ -843,10 +847,10 @@ function sendOnClose(logs, config) {
 
 // @todo expose config object to sendLogs replate url with config.url
 function sendLogs(logs, config, retries) {
-  var req = new XMLHttpRequest();
+  const req = new XMLHttpRequest();
 
   // @todo setRequestHeader for Auth
-  var data = JSON.stringify(logs);
+  const data = JSON.stringify(logs);
 
   req.open('POST', config.url);
   if (config.authHeader) {
@@ -883,14 +887,13 @@ function sendLogs(logs, config, retries) {
  * limitations under the License.
  */
 
-// @todo var>let
-var events;
-var bufferBools;
-var bufferedEvents;
+let events;
+let bufferBools;
+let bufferedEvents;
 //@todo: Investigate drag events and their behavior
-var intervalEvents = ['click', 'focus', 'blur', 'input', 'change', 
'mouseover', 'submit'];
-var refreshEvents;
-var windowEvents = ['load', 'blur', 'focus'];
+const intervalEvents = ['click', 'focus', 'blur', 'input', 'change', 
'mouseover', 'submit'];
+let refreshEvents;
+const windowEvents = ['load', 'blur', 'focus'];
 
 /**
  * Maps an event to an object containing useful information.
@@ -1010,15 +1013,15 @@ function attachHandlers(config) {
  * limitations under the License.
  */
 
-var config = {};
-var logs = [];
-var startLoadTimestamp = Date.now();
-var endLoadTimestamp;
+const config = {};
+const logs = [];
+const startLoadTimestamp = Date.now();
+let endLoadTimestamp;
 window.onload = function () {
     endLoadTimestamp = Date.now();
 };
 
-var started = false;
+let started = false;
 
 
 // Start up Userale
@@ -1040,7 +1043,7 @@ if (config.autostart) {
 function setup(config) {
     if (!started) {
         setTimeout(function () {
-            var state = document.readyState;
+            const state = document.readyState;
 
             if (state === 'interactive' || state === 'complete') {
                 attachHandlers(config);
diff --git a/build/userale-2.1.1.js b/build/userale-2.1.1.js
index ea5de7d..2b7ed4a 100644
--- a/build/userale-2.1.1.js
+++ b/build/userale-2.1.1.js
@@ -41,7 +41,7 @@
    * limitations under the License.
    */
 
-   var sessionId = null;
+  let sessionId = null;
 
   /**
    * Extracts the initial configuration settings from the
@@ -49,33 +49,35 @@
    * @return {Object} The extracted configuration object
    */
   function getInitialSettings() {
-    var settings = {};
+      const settings = {};
 
-    if (sessionId === null) {
-      sessionId = getSessionId('userAleSessionId', 'session_' + 
String(Date.now()));
-    }
+      if (sessionId === null) {
+          sessionId = getSessionId('userAleSessionId', 'session_' + 
String(Date.now()));
+      }
+
+      const script = document.currentScript || (function () {
+          const scripts = document.getElementsByTagName('script');
+          return scripts[scripts.length - 1];
+      })();
 
-    var script = document.currentScript || (function () {
-      var scripts = document.getElementsByTagName('script');
-      return scripts[scripts.length - 1];
-    })();
-
-    var get = script ? script.getAttribute.bind(script) : function() { return 
null; };
-    settings.autostart = get('data-autostart') === 'false' ? false : true;
-    settings.url = get('data-url') || 'http://localhost:8000';
-    settings.transmitInterval = +get('data-interval') || 5000;
-    settings.logCountThreshold = +get('data-threshold') || 5;
-    settings.userId = get('data-user') || null;
-    settings.version = get('data-version') || null;
-    settings.logDetails = get('data-log-details') === 'true' ? true : false;
-    settings.resolution = +get('data-resolution') || 500;
-    settings.toolName = get('data-tool') || null;
-    settings.userFromParams = get('data-user-from-params') || null;
-    settings.time = timeStampScale(document.createEvent('CustomEvent'));
-    settings.sessionID = get('data-session') || sessionId;
-    settings.authHeader = get('data-auth') || null;
-    settings.custIndex = get('data-index') || null;
-    return settings;
+      const get = script ? script.getAttribute.bind(script) : function () {
+          return null;
+      };
+      settings.autostart = get('data-autostart') === 'false' ? false : true;
+      settings.url = get('data-url') || 'http://localhost:8000';
+      settings.transmitInterval = +get('data-interval') || 5000;
+      settings.logCountThreshold = +get('data-threshold') || 5;
+      settings.userId = get('data-user') || null;
+      settings.version = get('data-version') || null;
+      settings.logDetails = get('data-log-details') === 'true' ? true : false;
+      settings.resolution = +get('data-resolution') || 500;
+      settings.toolName = get('data-tool') || null;
+      settings.userFromParams = get('data-user-from-params') || null;
+      settings.time = timeStampScale(document.createEvent('CustomEvent'));
+      settings.sessionID = get('data-session') || sessionId;
+      settings.authHeader = get('data-auth') || null;
+      settings.custIndex = get('data-index') || null;
+      return settings;
   }
 
   /**
@@ -84,13 +86,13 @@
    * from refreshing the current user session
    *
    */
-  function getSessionId(sessionKey, value){
-    if (window.sessionStorage.getItem(sessionKey) === null) {
-      window.sessionStorage.setItem(sessionKey, JSON.stringify(value));
-      return value;
-    }
+  function getSessionId(sessionKey, value) {
+      if (window.sessionStorage.getItem(sessionKey) === null) {
+          window.sessionStorage.setItem(sessionKey, JSON.stringify(value));
+          return value;
+      }
 
-    return JSON.parse(window.sessionStorage.getItem(sessionKey));
+      return JSON.parse(window.sessionStorage.getItem(sessionKey));
   }
 
 
@@ -100,34 +102,36 @@
    * @return {timeStampScale~tsScaler}   The timestamp normalizing function.
    */
   function timeStampScale(e) {
-    if (e.timeStamp && e.timeStamp > 0) {
-      var delta = Date.now() - e.timeStamp;
-      /**
-       * Returns a timestamp depending on various browser quirks.
-       * @param  {?Number} ts A timestamp to use for normalization.
-       * @return {Number} A normalized timestamp.
-       */
-      var tsScaler;
-
-      if (delta < 0) {
-        tsScaler = function () {
-          return e.timeStamp / 1000;
-        };
-      } else if (delta > e.timeStamp) {
-        var navStart = performance.timing.navigationStart;
-        tsScaler = function (ts) {
-          return ts + navStart;
-        };
+      let tsScaler;
+      if (e.timeStamp && e.timeStamp > 0) {
+          const delta = Date.now() - e.timeStamp;
+          /**
+           * Returns a timestamp depending on various browser quirks.
+           * @param  {?Number} ts A timestamp to use for normalization.
+           * @return {Number} A normalized timestamp.
+           */
+
+          if (delta < 0) {
+              tsScaler = function () {
+                  return e.timeStamp / 1000;
+              };
+          } else if (delta > e.timeStamp) {
+              const navStart = performance.timing.navigationStart;
+              tsScaler = function (ts) {
+                  return ts + navStart;
+              };
+          } else {
+              tsScaler = function (ts) {
+                  return ts;
+              };
+          }
       } else {
-        tsScaler = function (ts) {
-          return ts;
-        };
+          tsScaler = function () {
+              return Date.now();
+          };
       }
-    } else {
-      tsScaler = function () { return Date.now(); };
-    }
 
-    return tsScaler;
+      return tsScaler;
   }
 
   /*
@@ -156,7 +160,7 @@
   function configure(config, newConfig) {
     Object.keys(newConfig).forEach(function(option) {
       if (option === 'userFromParams') {
-        var userId = getUserIdFromParams(newConfig[option]);
+        const userId = getUserIdFromParams(newConfig[option]);
         if (userId) {
           config.userId = userId;
         }
@@ -171,9 +175,9 @@
    * @return {string|null}       The extracted/decoded userid, or null if none 
is found.
    */
   function getUserIdFromParams(param) {
-    var userField = param;
-    var regex = new RegExp('[?&]' + userField + '(=([^&#]*)|&|#|$)');
-    var results = window.location.href.match(regex);
+    const userField = param;
+    const regex = new RegExp('[?&]' + userField + '(=([^&#]*)|&|#|$)');
+    const results = window.location.href.match(regex);
 
     if (results && results[2]) {
       return decodeURIComponent(results[2].replace(/\+/g, ' '));
@@ -396,21 +400,21 @@
    * See the License for the specific language governing permissions and
    * limitations under the License.
    */
-  var browser = detect();
+  const browser = detect();
 
-  var logs$1;
-  var config$1;
+  let logs$1;
+  let config$1;
 
   // Interval Logging Globals
-  var intervalID;
-  var intervalType;
-  var intervalPath;
-  var intervalTimer;
-  var intervalCounter;
-  var intervalLog;
+  let intervalID;
+  let intervalType;
+  let intervalPath;
+  let intervalTimer;
+  let intervalCounter;
+  let intervalLog;
 
-  var filterHandler = null;
-  var mapHandler = null;
+  let filterHandler = null;
+  let mapHandler = null;
 
   /**
    * Assigns a handler to filter logs out of the queue.
@@ -458,16 +462,16 @@
       return false;
     }
 
-    var details = null;
+    let details = null;
     if (detailFcn) {
       details = detailFcn(e);
     }
 
-    var timeFields = extractTimeFields(
+    const timeFields = extractTimeFields(
       (e.timeStamp && e.timeStamp > 0) ? config$1.time(e.timeStamp) : 
Date.now()
     );
 
-    var log = {
+    let log = {
       'target' : getSelector(e.target),
       'path' : buildPath(e),
       'pageUrl': window.location.href,
@@ -514,12 +518,12 @@
           return false;
       }
 
-      var details = null;
+      let details = null;
       if (detailFcn) {
           details = detailFcn();
       }
 
-      var metaData = {
+      const metaData = {
           'pageUrl': window.location.href,
           'pageTitle': document.title,
           'pageReferrer': document.referrer,
@@ -536,7 +540,7 @@
           'sessionID': config$1.sessionID
       };
 
-      var log = Object.assign(metaData, customLog);
+      let log = Object.assign(metaData, customLog);
 
       if ((typeof filterHandler === 'function') && !filterHandler(log)) {
           return false;
@@ -570,10 +574,10 @@
    * @return boolean
    */
   function packageIntervalLog(e) {
-      var target = getSelector(e.target);
-      var path = buildPath(e);
-      var type = e.type;
-      var timestamp = Math.floor((e.timeStamp && e.timeStamp > 0) ? 
config$1.time(e.timeStamp) : Date.now());
+      const target = getSelector(e.target);
+      const path = buildPath(e);
+      const type = e.type;
+      const timestamp = Math.floor((e.timeStamp && e.timeStamp > 0) ? 
config$1.time(e.timeStamp) : Date.now());
 
       // Init - this should only happen once on initialization
       if (intervalID == null) {
@@ -684,11 +688,11 @@
    * @return {HTMLElement[]}   Array of elements, starting at the event 
target, ending at the root element.
    */
   function buildPath(e) {
-    var path = [];
+    let path = [];
     if (e.path) {
       path = e.path;
     } else {
-      var ele = e.target;
+      let ele = e.target;
       while(ele) {
         path.push(ele);
         ele = ele.parentElement;
@@ -704,9 +708,9 @@
    * @return {string[]}      Array of string CSS selectors.
    */
   function selectorizePath(path) {
-    var i = 0;
-    var pathEle;
-    var pathSelectors = [];
+    let i = 0;
+    let pathEle;
+    const pathSelectors = [];
     while (pathEle = path[i]) {
       pathSelectors.push(getSelector(pathEle));
       ++i;
@@ -738,7 +742,7 @@
    * limitations under the License.
    */
 
-  var sendIntervalId = null;
+  let sendIntervalId = null;
 
   /**
    * Initializes the log queue processors.
@@ -825,10 +829,10 @@
 
   // @todo expose config object to sendLogs replate url with config.url
   function sendLogs(logs, config, retries) {
-    var req = new XMLHttpRequest();
+    const req = new XMLHttpRequest();
 
     // @todo setRequestHeader for Auth
-    var data = JSON.stringify(logs);
+    const data = JSON.stringify(logs);
 
     req.open('POST', config.url);
     if (config.authHeader) {
@@ -865,14 +869,13 @@
    * limitations under the License.
    */
 
-  // @todo var>let
-  var events;
-  var bufferBools;
-  var bufferedEvents;
+  let events;
+  let bufferBools;
+  let bufferedEvents;
   //@todo: Investigate drag events and their behavior
-  var intervalEvents = ['click', 'focus', 'blur', 'input', 'change', 
'mouseover', 'submit'];
-  var refreshEvents;
-  var windowEvents = ['load', 'blur', 'focus'];
+  const intervalEvents = ['click', 'focus', 'blur', 'input', 'change', 
'mouseover', 'submit'];
+  let refreshEvents;
+  const windowEvents = ['load', 'blur', 'focus'];
 
   /**
    * Maps an event to an object containing useful information.
@@ -937,7 +940,7 @@
     // Events list
     // Keys are event types
     // Values are functions that return details object if applicable
-    var eventType = {
+    const eventType = {
       'click' : extractMouseEvent,
       'dblclick' : extractMouseEvent,
       'mousedown' : extractMouseEvent,
@@ -1025,10 +1028,10 @@
    * limitations under the License.
    */
 
-  var config = {};
-  var logs = [];
-  var startLoadTimestamp = Date.now();
-  var endLoadTimestamp;
+  const config = {};
+  const logs = [];
+  const startLoadTimestamp = Date.now();
+  let endLoadTimestamp;
   window.onload = function () {
       endLoadTimestamp = Date.now();
   };
@@ -1055,7 +1058,7 @@
   function setup(config) {
       if (!exports.started) {
           setTimeout(function () {
-              var state = document.readyState;
+              const state = document.readyState;
 
               if (state === 'interactive' || state === 'complete') {
                   attachHandlers(config);
@@ -1075,7 +1078,7 @@
 
 
   // Export the Userale API
-  var version = version$1;
+  const version = version$1;
 
   /**
    * Used to start the logging process if the
diff --git a/build/userale-2.1.1.min.js b/build/userale-2.1.1.min.js
index 9b6cd5b..fe4e247 100644
--- a/build/userale-2.1.1.min.js
+++ b/build/userale-2.1.1.min.js
@@ -15,4 +15,4 @@
  * limitations under the License.
  * @preserved
  */
-!function(e,n){"object"==typeof exports&&"undefined"!=typeof 
module?n(exports):"function"==typeof 
define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof 
globalThis?globalThis:e||self).userale={})}(this,function(t){"use strict";var 
e="2.1.1",r=null;function n(t,o){Object.keys(o).forEach(function(e){var 
n;"userFromParams"!==e||(n=function(e){e=new 
RegExp("[?&]"+e+"(=([^&#]*)|&|#|$)"),e=window.location.href.match(e);return 
e&&e[2]?decodeURIComponent(e[2].replace(/\+/g," ")):null} [...]
\ No newline at end of file
+!function(e,n){"object"==typeof exports&&"undefined"!=typeof 
module?n(exports):"function"==typeof 
define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof 
globalThis?globalThis:e||self).userale={})}(this,function(t){"use strict";var 
e="2.1.1";let r=null;function n(t,o){Object.keys(o).forEach(function(e){var 
n;"userFromParams"!==e||(n=function(e){const n=e,t=new 
RegExp("[?&]"+n+"(=([^&#]*)|&|#|$)"),o=window.location.href.match(t);return 
o&&o[2]?decodeURIComponent(o[2].replace(/\+ [...]
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index b5ce3f7..59c9e1a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2768,7 +2768,6 @@
         "anymatch": "^2.0.0",
         "async-each": "^1.0.1",
         "braces": "^2.3.2",
-        "fsevents": "^1.2.7",
         "glob-parent": "^3.1.0",
         "inherits": "^2.0.3",
         "is-binary-path": "^1.0.0",
@@ -3828,8 +3827,7 @@
         "esprima": "^4.0.1",
         "estraverse": "^5.2.0",
         "esutils": "^2.0.2",
-        "optionator": "^0.8.1",
-        "source-map": "~0.6.1"
+        "optionator": "^0.8.1"
       },
       "bin": {
         "escodegen": "bin/escodegen.js",
@@ -7483,7 +7481,6 @@
       "dependencies": {
         "anymatch": "~3.1.1",
         "braces": "~3.0.2",
-        "fsevents": "~2.3.1",
         "glob-parent": "~5.1.0",
         "is-binary-path": "~2.1.0",
         "is-glob": "~4.0.1",
@@ -8044,7 +8041,6 @@
       "dependencies": {
         "anymatch": "~3.1.1",
         "braces": "~3.0.2",
-        "fsevents": "~2.3.1",
         "glob-parent": "~5.1.0",
         "is-binary-path": "~2.1.0",
         "is-glob": "~4.0.1",
@@ -9924,9 +9920,6 @@
       "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.41.2.tgz";,
       "integrity": 
"sha512-6u8fJJXJx6fmvKrAC9DHYZgONvSkz8S9b/VFBjoQ6dkKdHyPpPbpqiNl2Bao9XBzDHpq672X6sGZ9G1ZBqAHMg==",
       "dev": true,
-      "dependencies": {
-        "fsevents": "~2.3.1"
-      },
       "bin": {
         "rollup": "dist/bin/rollup"
       },
diff --git a/src/attachHandlers.js b/src/attachHandlers.js
index 0d6967a..5baa201 100644
--- a/src/attachHandlers.js
+++ b/src/attachHandlers.js
@@ -20,14 +20,13 @@ import { packageLog } from './packageLogs.js';
 import { packageIntervalLog} from './packageLogs';
 import { sendOnRefresh } from "./sendLogs";
 
-// @todo var>let
-var events;
-var bufferBools;
-var bufferedEvents;
+let events;
+let bufferBools;
+let bufferedEvents;
 //@todo: Investigate drag events and their behavior
-var intervalEvents = ['click', 'focus', 'blur', 'input', 'change', 
'mouseover', 'submit'];
-var refreshEvents;
-var windowEvents = ['load', 'blur', 'focus'];
+const intervalEvents = ['click', 'focus', 'blur', 'input', 'change', 
'mouseover', 'submit'];
+let refreshEvents;
+const windowEvents = ['load', 'blur', 'focus'];
 
 /**
  * Maps an event to an object containing useful information.
@@ -92,7 +91,7 @@ export function defineCustomDetails(options, type) {
   // Events list
   // Keys are event types
   // Values are functions that return details object if applicable
-  var eventType = {
+  const eventType = {
     'click' : extractMouseEvent,
     'dblclick' : extractMouseEvent,
     'mousedown' : extractMouseEvent,
diff --git a/src/configure.js b/src/configure.js
index 32dc9ec..fb369d9 100644
--- a/src/configure.js
+++ b/src/configure.js
@@ -24,7 +24,7 @@
 export function configure(config, newConfig) {
   Object.keys(newConfig).forEach(function(option) {
     if (option === 'userFromParams') {
-      var userId = getUserIdFromParams(newConfig[option]);
+      const userId = getUserIdFromParams(newConfig[option]);
       if (userId) {
         config.userId = userId;
       }
@@ -39,9 +39,9 @@ export function configure(config, newConfig) {
  * @return {string|null}       The extracted/decoded userid, or null if none 
is found.
  */
 export function getUserIdFromParams(param) {
-  var userField = param;
-  var regex = new RegExp('[?&]' + userField + '(=([^&#]*)|&|#|$)');
-  var results = window.location.href.match(regex);
+  const userField = param;
+  const regex = new RegExp('[?&]' + userField + '(=([^&#]*)|&|#|$)');
+  const results = window.location.href.match(regex);
 
   if (results && results[2]) {
     return decodeURIComponent(results[2].replace(/\+/g, ' '));
diff --git a/src/getInitialSettings.js b/src/getInitialSettings.js
index 01abf4c..174c642 100644
--- a/src/getInitialSettings.js
+++ b/src/getInitialSettings.js
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
- var sessionId = null;
+let sessionId = null;
 
 /**
  * Extracts the initial configuration settings from the
@@ -23,33 +23,35 @@
  * @return {Object} The extracted configuration object
  */
 export function getInitialSettings() {
-  var settings = {};
+    const settings = {};
 
-  if (sessionId === null) {
-    sessionId = getSessionId('userAleSessionId', 'session_' + 
String(Date.now()));
-  }
+    if (sessionId === null) {
+        sessionId = getSessionId('userAleSessionId', 'session_' + 
String(Date.now()));
+    }
 
-  var script = document.currentScript || (function () {
-    var scripts = document.getElementsByTagName('script');
-    return scripts[scripts.length - 1];
-  })();
+    const script = document.currentScript || (function () {
+        const scripts = document.getElementsByTagName('script');
+        return scripts[scripts.length - 1];
+    })();
 
-  var get = script ? script.getAttribute.bind(script) : function() { return 
null; };
-  settings.autostart = get('data-autostart') === 'false' ? false : true;
-  settings.url = get('data-url') || 'http://localhost:8000';
-  settings.transmitInterval = +get('data-interval') || 5000;
-  settings.logCountThreshold = +get('data-threshold') || 5;
-  settings.userId = get('data-user') || null;
-  settings.version = get('data-version') || null;
-  settings.logDetails = get('data-log-details') === 'true' ? true : false;
-  settings.resolution = +get('data-resolution') || 500;
-  settings.toolName = get('data-tool') || null;
-  settings.userFromParams = get('data-user-from-params') || null;
-  settings.time = timeStampScale(document.createEvent('CustomEvent'));
-  settings.sessionID = get('data-session') || sessionId;
-  settings.authHeader = get('data-auth') || null;
-  settings.custIndex = get('data-index') || null;
-  return settings;
+    const get = script ? script.getAttribute.bind(script) : function () {
+        return null;
+    };
+    settings.autostart = get('data-autostart') === 'false' ? false : true;
+    settings.url = get('data-url') || 'http://localhost:8000';
+    settings.transmitInterval = +get('data-interval') || 5000;
+    settings.logCountThreshold = +get('data-threshold') || 5;
+    settings.userId = get('data-user') || null;
+    settings.version = get('data-version') || null;
+    settings.logDetails = get('data-log-details') === 'true' ? true : false;
+    settings.resolution = +get('data-resolution') || 500;
+    settings.toolName = get('data-tool') || null;
+    settings.userFromParams = get('data-user-from-params') || null;
+    settings.time = timeStampScale(document.createEvent('CustomEvent'));
+    settings.sessionID = get('data-session') || sessionId;
+    settings.authHeader = get('data-auth') || null;
+    settings.custIndex = get('data-index') || null;
+    return settings;
 }
 
 /**
@@ -58,13 +60,13 @@ export function getInitialSettings() {
  * from refreshing the current user session
  *
  */
-export function getSessionId(sessionKey, value){
-  if (window.sessionStorage.getItem(sessionKey) === null) {
-    window.sessionStorage.setItem(sessionKey, JSON.stringify(value));
-    return value;
-  }
+export function getSessionId(sessionKey, value) {
+    if (window.sessionStorage.getItem(sessionKey) === null) {
+        window.sessionStorage.setItem(sessionKey, JSON.stringify(value));
+        return value;
+    }
 
-  return JSON.parse(window.sessionStorage.getItem(sessionKey));
+    return JSON.parse(window.sessionStorage.getItem(sessionKey));
 }
 
 
@@ -74,32 +76,34 @@ export function getSessionId(sessionKey, value){
  * @return {timeStampScale~tsScaler}   The timestamp normalizing function.
  */
 export function timeStampScale(e) {
-  if (e.timeStamp && e.timeStamp > 0) {
-    var delta = Date.now() - e.timeStamp;
-    /**
-     * Returns a timestamp depending on various browser quirks.
-     * @param  {?Number} ts A timestamp to use for normalization.
-     * @return {Number} A normalized timestamp.
-     */
-    var tsScaler;
+    let tsScaler;
+    if (e.timeStamp && e.timeStamp > 0) {
+        const delta = Date.now() - e.timeStamp;
+        /**
+         * Returns a timestamp depending on various browser quirks.
+         * @param  {?Number} ts A timestamp to use for normalization.
+         * @return {Number} A normalized timestamp.
+         */
 
-    if (delta < 0) {
-      tsScaler = function () {
-        return e.timeStamp / 1000;
-      };
-    } else if (delta > e.timeStamp) {
-      var navStart = performance.timing.navigationStart;
-      tsScaler = function (ts) {
-        return ts + navStart;
-      }
+        if (delta < 0) {
+            tsScaler = function () {
+                return e.timeStamp / 1000;
+            };
+        } else if (delta > e.timeStamp) {
+            const navStart = performance.timing.navigationStart;
+            tsScaler = function (ts) {
+                return ts + navStart;
+            }
+        } else {
+            tsScaler = function (ts) {
+                return ts;
+            }
+        }
     } else {
-      tsScaler = function (ts) {
-        return ts;
-      }
+        tsScaler = function () {
+            return Date.now();
+        };
     }
-  } else {
-    tsScaler = function () { return Date.now(); };
-  }
 
-  return tsScaler;
+    return tsScaler;
 }
diff --git a/src/main.js b/src/main.js
index 7bd2094..f1bdfad 100644
--- a/src/main.js
+++ b/src/main.js
@@ -22,15 +22,15 @@ import {attachHandlers} from './attachHandlers.js';
 import {initPackager, packageCustomLog} from './packageLogs.js';
 import {initSender} from './sendLogs.js';
 
-var config = {};
-var logs = [];
-var startLoadTimestamp = Date.now()
-var endLoadTimestamp
+const config = {};
+const logs = [];
+const startLoadTimestamp = Date.now()
+let endLoadTimestamp
 window.onload = function () {
     endLoadTimestamp = Date.now()
 }
 
-export var started = false;
+export let started = false;
 export {defineCustomDetails as details} from './attachHandlers.js';
 export {
     setLogMapper as map,
@@ -61,7 +61,7 @@ if (config.autostart) {
 function setup(config) {
     if (!started) {
         setTimeout(function () {
-            var state = document.readyState;
+            const state = document.readyState;
 
             if (state === 'interactive' || state === 'complete') {
                 attachHandlers(config);
@@ -81,7 +81,7 @@ function setup(config) {
 
 
 // Export the Userale API
-export var version = userAleVersion;
+export const version = userAleVersion;
 
 /**
  * Used to start the logging process if the
diff --git a/src/packageLogs.js b/src/packageLogs.js
index cb7e3a2..59a7e40 100644
--- a/src/packageLogs.js
+++ b/src/packageLogs.js
@@ -16,21 +16,21 @@
  */
 
 import { detect } from 'detect-browser';
-var browser = detect();
+const browser = detect();
 
-export var logs;
-var config;
+export let logs;
+let config;
 
 // Interval Logging Globals
-var intervalID;
-var intervalType;
-var intervalPath;
-var intervalTimer;
-var intervalCounter;
-var intervalLog;
+let intervalID;
+let intervalType;
+let intervalPath;
+let intervalTimer;
+let intervalCounter;
+let intervalLog;
 
-export var filterHandler = null;
-export var mapHandler = null;
+export let filterHandler = null;
+export let mapHandler = null;
 
 /**
  * Assigns a handler to filter logs out of the queue.
@@ -78,16 +78,16 @@ export function packageLog(e, detailFcn) {
     return false;
   }
 
-  var details = null;
+  let details = null;
   if (detailFcn) {
     details = detailFcn(e);
   }
 
-  var timeFields = extractTimeFields(
+  const timeFields = extractTimeFields(
     (e.timeStamp && e.timeStamp > 0) ? config.time(e.timeStamp) : Date.now()
   );
 
-  var log = {
+  let log = {
     'target' : getSelector(e.target),
     'path' : buildPath(e),
     'pageUrl': window.location.href,
@@ -134,12 +134,12 @@ export function packageCustomLog(customLog, detailFcn, 
userAction) {
         return false;
     }
 
-    var details = null;
+    let details = null;
     if (detailFcn) {
         details = detailFcn();
     }
 
-    var metaData = {
+    const metaData = {
         'pageUrl': window.location.href,
         'pageTitle': document.title,
         'pageReferrer': document.referrer,
@@ -156,7 +156,7 @@ export function packageCustomLog(customLog, detailFcn, 
userAction) {
         'sessionID': config.sessionID
     };
 
-    var log = Object.assign(metaData, customLog);
+    let log = Object.assign(metaData, customLog);
 
     if ((typeof filterHandler === 'function') && !filterHandler(log)) {
         return false;
@@ -190,10 +190,10 @@ export function extractTimeFields(timeStamp) {
  * @return boolean
  */
 export function packageIntervalLog(e) {
-    var target = getSelector(e.target);
-    var path = buildPath(e);
-    var type = e.type;
-    var timestamp = Math.floor((e.timeStamp && e.timeStamp > 0) ? 
config.time(e.timeStamp) : Date.now());
+    const target = getSelector(e.target);
+    const path = buildPath(e);
+    const type = e.type;
+    const timestamp = Math.floor((e.timeStamp && e.timeStamp > 0) ? 
config.time(e.timeStamp) : Date.now());
 
     // Init - this should only happen once on initialization
     if (intervalID == null) {
@@ -304,11 +304,11 @@ export function getSelector(ele) {
  * @return {HTMLElement[]}   Array of elements, starting at the event target, 
ending at the root element.
  */
 export function buildPath(e) {
-  var path = [];
+  let path = [];
   if (e.path) {
     path = e.path;
   } else {
-    var ele = e.target
+    let ele = e.target
     while(ele) {
       path.push(ele);
       ele = ele.parentElement;
@@ -324,9 +324,9 @@ export function buildPath(e) {
  * @return {string[]}      Array of string CSS selectors.
  */
 export function selectorizePath(path) {
-  var i = 0;
-  var pathEle;
-  var pathSelectors = [];
+  let i = 0;
+  let pathEle;
+  const pathSelectors = [];
   while (pathEle = path[i]) {
     pathSelectors.push(getSelector(pathEle));
     ++i;
diff --git a/src/sendLogs.js b/src/sendLogs.js
index da43180..9d84706 100644
--- a/src/sendLogs.js
+++ b/src/sendLogs.js
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-var sendIntervalId = null;
+let sendIntervalId = null;
 
 /**
  * Initializes the log queue processors.
@@ -102,10 +102,10 @@ export function sendOnClose(logs, config) {
 
 // @todo expose config object to sendLogs replate url with config.url
 export function sendLogs(logs, config, retries) {
-  var req = new XMLHttpRequest();
+  const req = new XMLHttpRequest();
 
   // @todo setRequestHeader for Auth
-  var data = JSON.stringify(logs);
+  const data = JSON.stringify(logs);
 
   req.open('POST', config.url);
   if (config.authHeader) {

Reply via email to